溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

發(fā)布時(shí)間:2022-01-21 11:32:05 來(lái)源:億速云 閱讀:412 作者:柒染 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家分析了Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì)易懂,操作細(xì)節(jié)合理,具有一定參考價(jià)值。如果感興趣的話,不妨跟著跟隨小編一起來(lái)看看,下面跟著小編一起深入學(xué)習(xí)“Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查”的知識(shí)吧。

系統(tǒng)啟動(dòng)異常:

1,部分centos啟動(dòng)黑屏,無(wú)異常報(bào)錯(cuò)的場(chǎng)景,可以fsck一下系統(tǒng)盤

2,根分區(qū)空間滿,以及inode耗盡

3,升級(jí)內(nèi)核或者從老的共享實(shí)例遷移到獨(dú)享規(guī)格導(dǎo)致的啟動(dòng)異常
3.1 手動(dòng)注入驅(qū)動(dòng) (mkinitrd virtio相關(guān)驅(qū)動(dòng) )
3.2 修改grub 的啟動(dòng)順序,優(yōu)先嘗試使用老內(nèi)核啟動(dòng)
3.3 boot目錄下面內(nèi)核的關(guān)聯(lián)文件是否全(下面僅為demo,不同系統(tǒng)內(nèi)核版本文件不一致,部分內(nèi)核版本boot下的i386目錄也是有用的)

config-4.9.0-7-amd64 
initrd.img-4.9.0-7-amd64  
System.map-4.9.0-7-amd64 
vmlinuz-4.9.0-7-amd64

3.4 /boot/grub/device.map里面的hda改成vda

4,fstab/grub中的 uuid不對(duì),可以直接修改為/dev/vda1這種形式嘗試
數(shù)據(jù)盤分區(qū)異常加載起不來(lái)的場(chǎng)景,可以去注釋ftab所有的行,添加類似下面的啟動(dòng)項(xiàng)嘗試,也適用用系統(tǒng)盤快照創(chuàng)建云盤掛載后,uuid一致導(dǎo)致的啟動(dòng)異常,改成非UUID的掛載即可

/dev/vda1 / ext4 defaults 1 1

5,根目錄777(部分目錄777)也會(huì)導(dǎo)致啟動(dòng)異常,或者ssh登陸異常

6,常見(jiàn)的關(guān)鍵目錄缺失,有的是軟鏈,也可以看看對(duì)應(yīng)目錄下面的文件數(shù)量(文件數(shù)量要跟同內(nèi)核版本或者相差不大的版本對(duì)比),簡(jiǎn)單判斷

/bin  /sbin /lib  /lib32 /lib64 /etc /boot /usr/bin /usr/sbin /usr/lib /usr/lib64等目錄或文件缺失for i in /bin  /sbin /lib  /lib32 /lib64 /etc /boot /usr/bin /usr/sbin /usr/lib /usr/lib64 ;do ls -l $i |wc -l ;done

7,影響啟動(dòng)的參數(shù)
如果參數(shù)設(shè)置不當(dāng),是會(huì)導(dǎo)致啟動(dòng)異常的,如/etc/sysctl.conf以及檢查rc.local的配置,profile的檢查

vm.nr_hugepages vm.min_free_kbytes

8,centos的需要selinux需要關(guān)閉,走

# cat /etc/selinux/config   # This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#     enforcing - SELinux security policy is enforced.#     permissive - SELinux prints warnings instead of enforcing.#     disabled - No SELinux policy is loaded.SELINUX=disabled 把這一行改成disabled# SELINUXTYPE= can take one of three values:#     targeted - Targeted processes are protected,#     minimum - Modification of targeted policy. Only selected processes are protected.#     mls - Multi Level Security protection.SELINUXTYPE=targeted
實(shí)戰(zhàn)案例1–grub修復(fù)
背景信息:/boot/grub/grub.conf被誤操作清空,系統(tǒng)啟動(dòng)就進(jìn)入grub狀態(tài)(centos 6.8)

1,find /boot/grub/stage1
顯示為 (hd0,0)
2,確認(rèn)一下內(nèi)核的具體版本ls -l /boot去看
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

3,手動(dòng)設(shè)置grub,具體步驟
grub> root (hd0,0) #是說(shuō)跟分區(qū)在第一塊硬盤的第1個(gè)分區(qū) 實(shí)際對(duì)于前面的find出來(lái)的那個(gè)文件
grub> kernel /boot/vmlinuz-2.6.32-696.3.2.el6.x86_64 ro root=/dev/vda1 #指明內(nèi)核路徑和根分區(qū),注意ro是只讀
grub> initrd /boot/initramfs-2.6.32-696.3.2.el6.x86_64.img #指明initramfs路徑啟動(dòng)系統(tǒng)加載驅(qū)動(dòng)
grub> boot #啟動(dòng)上面指定的系統(tǒng),如果是reboot就等于重啟整個(gè)系統(tǒng)了,剛才的設(shè)置就失效了
如果沒(méi)有報(bào)錯(cuò)的話,即可成功啟動(dòng),進(jìn)入到系統(tǒng)內(nèi)部后需要繼續(xù)執(zhí)行下面的操作
4,mount -e remount,rw / 重新掛載分區(qū)為讀寫
5,service network restart
如果提示eth0 eth2失敗,ifconfig看不到網(wǎng)卡的話
6,lsmod |grep net
看下virtio_net 這個(gè)驅(qū)動(dòng)有沒(méi)有,如果沒(méi)有的話(網(wǎng)卡報(bào)錯(cuò)基本都不會(huì)有)
7,

insmod /lib/modules/2.6.32-696.3.2.el6.x86_64/kernel/drivers/net/virtio_net.ko


8, 重啟網(wǎng)絡(luò)服務(wù),嗨~網(wǎng)通了
9,登陸ssh,找個(gè)同版本系統(tǒng)的grub.conf, 拷貝一份過(guò)來(lái),不然重啟之后又進(jìn)grub了

實(shí)戰(zhàn)案例2–文件丟失類異常處理

背景信息:客戶反饋系統(tǒng)無(wú)法遠(yuǎn)程登陸,實(shí)際系統(tǒng)啟動(dòng)本身就有問(wèn)題
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

根據(jù)報(bào)錯(cuò)信息來(lái)看,是系統(tǒng)內(nèi)讀取user有問(wèn)題,需要掛盤查看
1,掛盤后chroot如下 ihave no name,這里本身就是有問(wèn)題了,說(shuō)明系統(tǒng)內(nèi)缺少了什么文件導(dǎo)致異常
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

2,strace跟蹤一下chroot的過(guò)程,看下丟失的文件

strace -F -ff -t -tt -s 256 -o ch.out chroot /mnt
grep -i "no such" ch.out.pid |grep "so"

Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

3,查看對(duì)應(yīng)文件的關(guān)系(測(cè)試機(jī)補(bǔ)圖)
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

4,確認(rèn)系統(tǒng)上丟了最終的libnss_files-2.12.so,嘗試拷貝一個(gè)

ifconfig eth2 ip netmask maskroute add default gw gwip

Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

5,此時(shí)已經(jīng)可以上網(wǎng)了,去拷貝一個(gè)同版本的文件試試吧

root登錄異常類:

1,/etc/passwd /etc/shadow (用戶名 root polikt dbus等關(guān)鍵用戶存在與否,文件為空,格式亂(dos2unix)

2,/etc/pam.d 目錄下是否有為空的文件及參數(shù)設(shè)置是否正常,如常見(jiàn)的 system-auth passwd

3,/etc/pam.d 下面所有文件里面涉及的so文件,看看文件是否存在,是否為空 /usr/lib64/security

4,查/etc /lib64 /bin /sbin /usr/bin /usr/sbin等目錄有沒(méi)有size為0的文件

5,/etc/profile /etc/profile.d(打印列表) /etc/bashrc /root/.bash_profile /root/.bashrc 等涉及登陸環(huán)境設(shè)置的文件是否異常

6,注意內(nèi)核版本,是否存在新老內(nèi)核,多更換幾個(gè)內(nèi)核試下

7,系統(tǒng)日志也是一個(gè)比較重要的檢查項(xiàng)(后面介紹下無(wú)法登陸怎么檢查)

9,ubuntu1204登陸異常 在/etc/login.defs 里面配置了錯(cuò)誤的ERASECHAR導(dǎo)致,恢復(fù)默認(rèn)0177即可

configuration error - cannot parse erasechar value

10,輸入root后直接login失敗三連,日志如下
找個(gè)同內(nèi)核版本的機(jī)器對(duì)比發(fā)現(xiàn)沒(méi)有/etc/pam.d/login 有一個(gè)login.defs
rpm包校驗(yàn)一下,確認(rèn)login沒(méi)了,手動(dòng)創(chuàng)建一個(gè),內(nèi)容拷貝過(guò)來(lái),好了

[root@iZbp1cabe6lyx26ikmjie2Z pam.d]# rpm -V util-linuxmissing   c /etc/pam.d/login
[root@iZbp1cabe6lyx26ikmjie2Z pam.d]# rpm -ql util-linux|egrep -vi "gz|mo|share"/etc/mtab/etc/pam.d/chfn/etc/pam.d/chsh/etc/pam.d/login/etc/pam.d/runuser/etc/pam.d/runuser-l/etc/pam.d/su/etc/pam.d/su-l

12,/etc/ssh/sshd_config 相關(guān)參數(shù)如 LoginGraceTime/Allowusers/PermitRootLogin

13,問(wèn)題不好確認(rèn)的時(shí)候,可以將shadow密碼字段清空,看看登陸是否正常,可以判斷是否到密碼驗(yàn)證階段了

實(shí)戰(zhàn)案例3–ssh可以登陸root,但是管理終端無(wú)法登陸root用戶
ssh可以登陸,管理終端無(wú)法登陸root,
提示 login in…

cat /var/log/secure
Jun  2 09:26:48 iZbp1begsz1x269nxhtip4Z login: FAILED LOGIN 1 FROM tty1 FOR root, Authentication failure

看日志是login驗(yàn)證模塊的問(wèn)題,檢查相關(guān)模塊的設(shè)置

# cat /etc/pam.d/login #%PAM-1.0auth required pam_succeed_if.so user != root quiet
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       substack     system-auth
auth       include      postlogin
account    required     pam_nologin.so
account    include      system-authpassword   include      system-auth
# pam_selinux.so close should be the first session rulesession    required     pam_selinux.so closesession    required     pam_loginuid.sosession    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user contextsession    required     pam_selinux.so opensession    required     pam_namespace.sosession    optional     pam_keyinit.so force revokesession    include      system-authsession    include      postlogin
-session   optional     pam_ck_connector.so

這一行比較關(guān)鍵

auth required pam_succeed_if.so user != root quiet

禁止本地登陸了,注釋掉即可

實(shí)戰(zhàn)案例4–centos 登陸“卡住”

背景:登陸卡住,需要ctrl +c 才能進(jìn)去,如圖
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

如果一直等的話,會(huì)提示
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

原因:
/etc/profile 里面有 source /etc/profile 引起死循環(huán),注釋即可
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

系統(tǒng)登陸不進(jìn)去了,不掛盤的情況下怎么操作?

阿里云新推出的卸載系統(tǒng)盤功能,可以把系統(tǒng)盤卸載掉,作為數(shù)據(jù)盤掛載到一個(gè)新的機(jī)器,這樣就可以執(zhí)行上面的檢查了
詳見(jiàn):云服務(wù)器ECS卸載和掛載系統(tǒng)盤

場(chǎng)景覆蓋:
Linux系統(tǒng)常見(jiàn)問(wèn)題診斷服務(wù)覆蓋以下場(chǎng)景:
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查
Linux系統(tǒng)常見(jiàn)啟動(dòng)問(wèn)題修復(fù)覆蓋以下場(chǎng)景:
Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查

關(guān)于“Linux系統(tǒng)怎么啟動(dòng)與登錄故障排查”就介紹到這了,更多相關(guān)內(nèi)容可以搜索億速云以前的文章,希望能夠幫助大家答疑解惑,請(qǐng)多多支持億速云網(wǎng)站!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI