一、系统版本
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