一、系統版本
1) CentOS 7.1.1503
2) CentOS 7.2.1511
二、通過tar命令備份當前操作系統
#tar cvpzf /mnt/linuxbackup.tgz--exclude=/proc --exclude=/lost+found --exclude=/mnt/linuxbackup.tgz--exclude=/mnt --exclude=/sys /
命令解釋:
tar:linux常用的打包程序
cvpzf:是tar的參數
c-創建新文檔
v-處理過程中輸出相關信息
p-表示保持相同的權限
z-調用gzip來壓縮歸檔文件,與-x聯用時調用gzip完成解壓縮
f-對普通文件操作
linuxbackup.tgz:要打包成的文件名
--exclude=/proc:排除/proc目錄,不打包這個目錄,后面也同理,記得排除自身打包的文件名
/:表示打包linux根目錄所有文件,當然了排除的文件不包含在內
整個過程理解起來意思就是,創建一個新的文件名linuxbackup.tgz壓縮文件,它保存式從排除了指定目錄后的文件,并且保存原有的權限設 置,這里必須記下你排除的目錄,恢復的時候需要手動創建。具體哪些目錄要排除在外,這個根覺不同的環境和工作需要進行選擇就是了。執行后等待一定時間就可以了,將這個linuxbackup.tgz拷貝到其他地方即可,備份完成了。
重點指出:在打包過程中不要進行任何的操作,否則會修改某些文件,在備份完后tar會提示錯誤,恢復也是一樣。
三、通過YUM命令升級操作系統版本至CentOS 7.2.1511
#mount -t iso9660 -o loop xxx.iso /mnt/iso ###掛載ISO鏡像文件至/mnt/iso
#vim /etc/yum.repos.d/CentOS-Base.repo
[local-source]
name=CentOS-$releasever - Base
baseurl=file:///mnt/iso
gpgcheck=1
enabled=1
gpgkey=file:///mnt/iso/RPM-GPG-KEY-CentOS-7
#yum clean
#yum update -y
四、重啟之后系統順利升級至CentOS 7.2.1511
五、現在將系統恢復至升級之前CentOS 7.1.1503,通過tar命令恢復我們之前備份的文件
# tar xvpfz /mnt/linuxbackup.tgz -C /
等執行完后,別急著重啟系統,要記得創建剛才在備份時候排除的目錄,手動創建,例如上面我們排除,我們需創建
#mkdir /proc
#mdkir /lost+found
#mkdir /mnt
#mkdir /sys
六、重啟系統,發現系統引導卡在最后一步,圖形化界面無法完全顯示,通過SSH連接也被拒。
七、掛載光盤,進入拯救模式,掛載硬盤分區至/mnt,將系統啟動級別修改到3(字符界面)。
#mount /dev/mapper/centos-root /mnt/root
#cd /mnt/root/etc/systemd/system/
#rm default.target
# ln -sf /lib/systemd/system/multi-user.target default.target
###systemd使用鏈接來指向默認的運行級別,由/etc/systemd/system/default.target文件中決定。
八、重啟之后,顯示字符用戶登錄界面,但是用戶無法登錄,提示密碼錯誤。
九、啟動單用戶模式,修改root用戶密碼。
1)啟動系統,按下e鍵進入編輯模式
2)在linux16/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/mapper/centos-root rord.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quietLANG=en_US.UTF-8所在參數行尾添加以下內容:init=/bin/sh
3)按Ctrl+x啟動到shell
4)掛載文件系統為可寫模式:mount–o remount,rw /
5)運行passwd,并按提示修改root密碼。
6)如何之前系統啟用了selinux,必須運行以下命令,否則將無法正常啟動系統:#touch /.autorelabel。因為我是個人實驗系統,所以我直接將SELINUX關閉了。
7)運行命令exec/sbin/init來正常啟動,或者用命令exec /sbin/reboot重啟
十、重啟后通過新密碼登錄成功,系統提示一些錯誤,按照提示一一執行命令修復成功,執行startx啟動圖形化界面成功,系統已成功恢復至CentOS 7.1.1503。
十一、將系統啟動級別恢復到5(圖形化界面)
#systemctl set-default graphical.target