Ubuntu系统本质是个文件系统,所以备份系统时就像是备份文件,使用tar方式就可以备份系统状态
首先,清理下系统,缩小系统体积
sudo apt-get autoclean
清除旧版本软件缓存
sudo apt-get clean
清除软件缓存
sudo apt-get autoremove
清除不再使用的孤立软件
1.切换到root,sudo su
2.进入根目录,cd /
3.备份系统
tar -cvpzf /media/username/SSD4T/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/run --exclude=/tmp --exclude=/mnt --exclude=/media /
- tar参数
- c: 新建一个备份文档
- v: 显示详细信息
- p: 保存权限,并应用到所有文件
- z: 用gzip压缩备份文档,减小空间
- f: 指定压缩包名称(带路径),只能做最后一个参数
- exclude=
- /proc:一个虚拟文件系统,系统运行的每一个进程都会自动在这个目录下面创建一个进程目录。既然是系统自动创建,也就没必要备份的必要了。
- /tmp:一个临时文件夹,系统的一些临时文件会放在这里。
- /lost+found:系统发生错误时(比如非法关机),可以在这里找回一些丢失文件。
- /media:多媒体挂载点,像u盘、移动硬盘、windons分区等都会自动挂载到这个目录下。
- /mnt:临时挂载点,你可以自己挂载一些文件系统到这里。
- /run:系统从启动以来产生的一些信息文件。
- /home:用户家目录,存放用户个人文件和应用程序。
- /boot:和系统启动相关的文件,像grub相关文件都放在这里,这个目录很重要!
注意
打包过程中,可能遇到下面的问题
tar: Exiting with failure status due to previous errors
这个问题其实不是真正的错误信息, 真正的错误信息混杂在标准输出(stout)中, 重新执行命令并把v参数去掉即可看到真正问题所在。
tar: Removing leading ’/‘ from member names
或
tar: Removing leading ’/‘ from hard link targets
这个问题其实不影响程序的执行,产生的原因是tar在压缩的过程中自动帮我们去掉了路径前的“/”,也就是tar压缩后的包是按照相对路径压缩的。 当我们恢复时, 就需要通过 -C 参数手动指定解压到 “/” 目录, 如:
tar zxvpf ubuntu_20170120_11.tar.bz2 -C /
4.还原系统
sudo su
cd /
tar -xvpzf /media/username/SSD4T/backup.tgz -C /
这个过程只是将压缩文件解压替换已经存在的文件,可想而知,如果在备份系统和还原系统之间添加了文件,那这部分文件并不会被删除,如果想要完全还原成原来的状态,可以先删除所有文件
rm -rf /*
然后再还原
最后,将之前排除掉的目录手动创建下
mkdir proc tmp lost+found media mnt run
参考文章-----------
Ubuntu系统备份
网友评论