Linux系统有系统还原这一说吗?

梅宜明


应邀回答行业问题

对于Linux系统,没有系统还原一说。对于windos系统有系统还原点还原,还有GHOST还原。Linux大多是做为服务器操作做系统,它做为企业业务系统的载体,为用户提供服务,业务数据最为重要,需要经常备份。

目前虚拟化、云平台盛行,只要业务数据不丢失,几秒钟就可以复制一个操作系统,所以操作系统备份就显得不重要了。

当然可以选择性备份系统配置文件,在需要时快速换还原,比较常用的就是tar命令。如果非要对Linux系统做备份,可以使用dd命令,它可以直接读取磁盘,类似于磁盘拷贝,我简单说明下使用方法。

dd备份还原Linux系统

Linux中dd命令系统是默认安装的,它可以对磁盘的某一个分区或者磁盘的一个偏移范围进行克隆,这里对整块硬盘进行克隆,我们需要mount一块比原始硬盘更大的磁盘,才能使用这个命令,对于原始硬盘来说既读取又写入,那样就会乱套了。

从命令可以简单理解,if就是原始文件,of就是目标文件,bs就是每个块1M,count读取5000个块,那么备份的数据就是5G。

#dd if=/dev/vda of=/mnt/img.bin bs=1M count=5000

这样写比较占用空间,可以在备份的同时把镜像文件直接压缩,就可以节省不少空间。

#dd if=/dev/vda | gzip >/mnt/img.gz

我们利用管道符号,将输出的字符传递给gzip做为压缩的原始数据,最后得到压缩包。当然我们备份的硬盘如果是一块新硬盘,得到的镜像会比较小。如果是使用过很长时间的硬盘,即使压缩也不会节省多少空间,因为磁盘连续字符比较少。

备份完了就需要还原,同理可以使用gzip解压,这里要注意在解压缩时,需要保留原始文件使用-c参数,dd参数of做为输出接收解压后的数据,命令如下:

#gzip -dc /mnt/img.gz | dd of=/dev/vda

至此,使用dd备份还原Linux系统完毕,当然dd命令还有很多用法,比如测试硬盘I/O、擦除硬盘数据等。

  • 在不同块下写1G数据测试磁盘I/O

#dd if=/dev/urandom of=test.binbs=4k count=256000#dd if=/dev/urandom of=test.bin bs=8k count=128000#dd if=/dev/urandom of=test.bin bs=1M count=1000#dd if=/dev/urandom of=test.bin bs=4M count=256
  • 擦除不用硬盘的数据,防止被恶意读取照片什么的。

#dd if=/dev/urandom of=/dev/vda bs=4M

tar备份文件

比如我们要备份linux系统/etc/、/boot目录,进入/目录执行:

#tar -zcvf system.tar.g /etc/ /boot

还原时进入更目录执行:

#tar -zxvf system.tar.gz

tar 用法还有很多,在上图的图片中已经详细说明了,有感兴趣的可查一下。

总结,Linux系统想要使用类似windos一键还原的功能,那就使用dd命令整盘拷贝吧。

以上希望能够帮助到,欢迎评论留言。


IT大叔Cc


Linux也有类似的系统还原工具,我用的是timeshift,图形界面,操作相对简单,不需要特别设置很多参数。对于初学者来说还是很实用的。dd和tar备份有点麻烦。

具体安装使用可以自行搜索(适用于Debian、Ubuntu和衍生Linux系统)。



山204131956


昨天装deepin,发现高级启动选项里有个recovery启动,从字面上理解,选择这个应该就是还原系统了。不知道对不对,有待以后去验证。


逍遥游ing


Linux 下面的系统还原都是企业级的还原软件,很多还有传统的磁带备份支持功能。Linux 本身的设计就是只有管理员(Linux 下面叫根用户)才能操控整个网络,用户使用计算机时,只能修改自己个人目录的文件,所以一般不需要系统级别的备份,都是数据备份为主。 如果楼主你想备份系统,传统的 tar 命令或者 dd 命令就可以了。前者是文件级别的备份,后者是基于整个存储器设备数据流的备份。


分享到:


相關文章: