1 安裝新內(nèi)核 ,兩個(gè)內(nèi)核
umount /dev/sr0 ---取消掛載
cd /misc/cd ---換成centos6.8的光盤后掛載
rpm -ivh kernel-2.6.32-642.el6.x86_64.rpm --oldpackage ---降級(jí)安裝內(nèi)核
[root@centos6 boot]#rpm -q kernel
kernel-2.6.32-696.el6.x86_64
kernel-2.6.32-642.el6.x86_64
2 rm -f /bin/rpm ,安裝Rpm包恢復(fù)之 或 cpio
- 方法一:cpio
[root@centos6 app]#which rpm ---查看rpm來源于哪個(gè)文件
/bin/rpm
[root@centos6 app]#rm -f /bin/rpm ---刪除
[root@centos6 app]#rpm ---rpm已無法正常使用
-bash: /bin/rpm: No such file or directory
[root@centos6 app]#rpm2cpio /misc/cd/Packages/rpm-4.8.0-55.el6.x86_64.rpm |cpio -itv ---預(yù)覽包內(nèi)文件
QQ截圖20170803094053.png
[root@centos6 app]#cd / ---因?yàn)閞pm要存放在/bin/rpm,所有進(jìn)入根目錄,并且根目錄已經(jīng)有bin這個(gè)目錄,所以不用-d解包的時(shí)候再創(chuàng)建目錄,直接解包就可以
[root@centos6 /]#rpm2cpio /misc/cd/Packages/rpm-4.8.0-55.el6.x86_64.rpm |cpio -iv ./bin/rpm
./bin/rpm
4007 blocks
[root@centos6 /]#rpm ---rpm可以正常使用
RPM version 4.8.0
Copyright (C) 1998-2002 - Red Hat, Inc.
This program may be freely redistributed under the terms of the GNU GPL
Usage: rpm [-aKfgpWHqVcdilsKiv?] [-a|--all] [-f|--file] [-g|--group] [-p|--package] [-W|--ftswalk] [--pkgid] [--hdrid] [--fileid]
[--specfile] [--triggeredby] [--whatrequires] [--whatprovides] [--nomanifest] [-c|--configfiles] [-d|--docfiles]
[--dump] [-l|--list] [--queryformat=QUERYFORMAT] [-s|--state] [--nofiledigest] [--nomd5] [--nofiles] [--nodeps]
[--noscript] [--comfollow] [--logical] [--nochdir] [--nostat] [--physical] [--seedot] [--xdev] [--whiteout]
[--addsign] [-K|--checksig] [--delsign] [--import] [--resign] [--nodigest] [--nosignature] [--initdb] [--rebuilddb]
[--aid] [--allfiles] [--allmatches] [--badreloc] [-e|--erase <package>+] [--excludedocs] [--excludepath=<path>]
[--fileconflicts] [--force] [-F|--freshen <packagefile>+] [-h|--hash] [--ignorearch] [--ignoreos] [--ignoresize]
[-i|--install] [--justdb] [--nodeps] [--nofiledigest] [--nomd5] [--nocontexts] [--noorder] [--nosuggest] [--noscripts]
[--notriggers] [--oldpackage] [--percent] [--prefix=<dir>] [--relocate=<old>=<new>] [--replacefiles] [--replacepkgs]
[--test] [-U|--upgrade <packagefile>+] [--quiet] [-D|--define 'MACRO EXPR'] [-E|--eval 'EXPR'] [--macros=<FILE:...>]
[--nodigest] [--nosignature] [--rcfile=<FILE:...>] [-r|--root ROOT] [--querytags] [--showrc] [--quiet] [-v|--verbose]
[--version] [-?|--help] [--usage] [--scripts] [--setperms] [--setugids] [--conflicts] [--obsoletes] [--provides]
[--requires] [--info] [--changelog] [--xml] [--triggers] [--last] [--dupes] [--filesbypkg] [--fileclass]
[--filecolor] [--fscontext] [--fileprovide] [--filerequire] [--filecaps]
- 方法二 進(jìn)入rescue模式
1、按ESC進(jìn)入救援模式
QQ截圖20170803095108.png
2、選擇語言
QQ截圖20170803095218.png
3、選擇鍵盤類型
QQ截圖20170803095231.png
4、跳過網(wǎng)絡(luò)
QQ截圖20170803095248.png
5、救援模式操作系統(tǒng)的根是掛載到/mnt/sysimage/
QQ截圖20170803095259.png
QQ截圖20170803095316.png
QQ截圖20170803095331.png
6、進(jìn)入shell
QQ截圖20170803095345.png
7、創(chuàng)建/mnt/cdrom目錄,并將光盤掛載到這個(gè)目錄下
QQ截圖20170803100140.png
8、重新安裝rpm包
QQ截圖20170803100223.png
這里需要注意的是要用--force,因?yàn)橹皇瞧茐牧艘粋€(gè)文件,不是卸載之后重新安裝,所以要用--force進(jìn)行安裝;--root=/mnt/sysimage/ 表示指明操作系統(tǒng)的根在哪個(gè)目錄下
9、切換回真正的根后查看rpm是否安裝成功并退出、重啟
QQ截圖20170803100242.png
QQ截圖20170803100326.png
QQ截圖20170803100344.png
3 /usr/bin/java 找出來自哪個(gè)包
[root@centos7 ~]#ll /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jul 14 11:18 /usr/bin/java -> /etc/alternatives/java
[root@centos7 ~]#ll /etc/alternatives/java
lrwxrwxrwx. 1 root root 71 Jul 14 11:18 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre/bin/java
4 刪除/lib64/libc.so.6 恢復(fù)之
①刪除該文件
glibc-2.12-1.209.el6.x86_64
[root@centos6 ~]#rm -f /lib64/libc.so.6 ---刪除該文件
[root@centos6 ~]#ls
ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
[root@centos6 ~]#cd
[root@centos6 ~]#pwd
/root
[root@centos6 ~]#rpm
rpm: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
[root@centos6 ~]#reboot ---刪除之后發(fā)現(xiàn)好多命令都無法使用了,說明這個(gè)文件是個(gè)庫文件,好多程序都依賴于它,只能手動(dòng)關(guān)電源的方式關(guān)機(jī),然后重啟進(jìn)入救援模式
reboot: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
②進(jìn)入救援模式
QQ截圖20170803164438.png
說明:我們只是破壞了一個(gè)文件,并不是把這個(gè)包都卸載了,所以要用--force強(qiáng)制重新安裝。
QQ截圖20170803164507.png
5 reset.sh
[root@centos7 test]#cat reset.sh
#!/bin/bash
##################################
#Filename:reset.sh
#Description:
#Date:2017-08-01
#Author:zhangdazhi
#Version:2.0
#####################################
cat>>/root/.bashrc<<end
alias cdnet=‘cd /etc/sysconfig/network-scripts/’
alias editnet=‘vim /etc/sysconfig/network-scripts/fcfg-ens33’
alias cdpack='cd /run/media/root/CentOS\ 7\ x86_64/Packages/'
alias p='poweroff'
alias egrep='egrep --color=auto'
alias ct='cd /app/test'
end
cat>>/root/.bash_profile<<end
PATH=$PATH:/app
PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\]"
end
echo "set nu">>.vimrc
name=$1
id $name &> /dev/null &&{ echo $name is exist; }||{ useradd $name;echo $name is created;echo magedu|passwd --stdin $name; }
echo script is finished
unset name;set --
rpm --import RPM-GPG-KEY-CentOS-7
rpm -q tree &>/dev/null ||rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm&>/dev/null
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
cat >> etc/yum.repos.d/base.repo<<end
[base]
name=centos7repo
baseurl=file:///run/media/root/CentOS\ 7\ x86_64/
gpgcheck=0
end
rpm -q autofs &> /dev/null ||yum -q -y install autofs
systemctl start autofs
systemctl enable autofs
rpm -qf /usr/bin/lsb_release &>/dev/null ||yum -q -y install redhat-lsb-core