Linux Deepin Note


系统备份及还原

深度操作系统,是一个Linux发行版,由武汉深之度科技有限公司开发。Deepin系统不仅仅注重系统和桌面环境的开发,同时还注重配套的基础软件开发,目前Deepin系统已经拥有相当多深度特色应用并与许多第三方厂商合作推出热门应用的Linux版本。以上来自维基百科,总的来说Deepin界面很漂亮,对新手也很友好,但就是有点不稳定加上我又爱折腾,所以有时会崩溃,所以进行系统备份还是很有必要的。

备份系统前我们先了解下Linux文件系统的目录结构,清楚哪些文件夹需要备份,哪些不需要。



备份过程

切换到root

1
sudo su

进入根目录

1
cd /

执行打包命令

1
tar -cvpzf /media/ldy/6482108A82/backup1.tgz --exclude=/proc --exclude=/lost+found --exclude=/tmp --exclude=/sys --exclude=/media --exclude=/home /

命令解释:

tar:linux常用的打包程序
cvpzf:式tar的参数

  • c­创建新文档
  • v­处理过程中输出相关信息
  • p­表示保持相同的权限
  • z­调用gzip来压缩归档文件,与­x联用时调用gzip完成解压缩
  • f­对普通文件操作

/media/ldy/6482108A82/backup1.tgz:表示打包到你挂载的硬盘里并命名为backup1.tgz

­­exclude=/proc:排除/proc目录,不打包这个目录,后面也同理,为什么排除参考上面的Linux文件系统的目录结构,为什么排除/home,因为我把/home新分了一区,在重装系统的时候选择不格式化/home分区即可保留数据

/:表示打包linux根目录所有文件,当然了排除的文件不包含在内

恢复过程(还未实践)

切换到root

1
sudo su

进入根目录

1
cd /

解压恢复系统

1
tar xvpfz linuxbackup.tgz -C /

等执行完后,别急着重启系统,要记得创建刚才在备份时候排除的目录,手动创建,例如上面我们排除,我们需创建

1
2
3
4
5
6
mkdir proc  
mdkir lost+found
mkdir mnt
mkdir sys
mkdir tmp
mkdir media

fsck命令

前两天由于笔记本突然掉电,导致/home分区损坏,开机出现:

1
Cannot open access to console , the root account is locked.

解决方法

用deepin安装u盘启动,出现选择安装语言的界面时,按ctrl+alt+F1,进入tty,然后输入startx,进入live cd模式,挂载硬盘的根分区,然后修改/etc/fstab文件,把里面的/home分区里的启动项注释掉,如下所示。mount 命令在开始时会读取这个文件,确定设备和分区的挂载选项,注释掉后开机就不会挂载/home分区。

1
2
3
4
5
6
7
8
# /dev/sda2
UUID=79813e75-eab0-42e4-b77c-daba9a9b7d01 / ext4 rw,relatime,data=ordered 0 1

# /dev/sda6
#UUID=8b23af2a-2fd6-426e-8e63-f791378d8485 /home ext4 rw,relatime,data=ordered 0 2

# /dev/sda5
UUID=730d40c7-946a-478e-bde9-9501ba156103 none swap defaults 0 0

修改后退出liveCD模式进入原系统,因为没有挂载损坏的/home分区,所以能进入系统,但是是不能进入图形界面的,进入文字界面执行下述命令修护损坏的/home分区,其中/dev/sda6为/home分区所在的设备名,设备名可以通过fdisk -l查看。

1
sudo fsck -y /dev/sda6

修复成功后,取消/etc/fstab的注释,重启即可。

双硬盘开机挂载

前面已经介绍过/etc/fstab文件,要开机加载其他硬盘修改这个文件就可以。

UUID

所有分区和设备都有唯一的 UUID。它们由文件系统生成工具 (mkfs.*) 在创建文件系统时生成。
lsblk -f命令将显示所有设备的 UUID 值。/etc/fstab 中使用 UUID= 前缀:

1
2
3
4
5
6
7
8
/etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>

tmpfs /tmp tmpfs nodev,nosuid 0 0

UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 / ext4 defaults,noatime 0 1
UUID=03ec5dd3-45c0-4f95-a363-61ff321a09ff /home ext4 defaults,noatime 0 2
UUID=4209c845-f495-4c43-8a03-5363dd433153 none swap defaults 0 0

各段含义

<file systems> :要挂载的分区或存储设备.

<dir><file systems>的挂载位置。

<type> 要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto。 设置成auto类型,mount 命令会猜测使用的文件系统类型,对 CDROM 和 DVD 等移动设备是非常有用的。

<options> 挂载时使用的参数,使用默认参数defaults即可。

<dump>dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 应设为 0。

<pass> fsck 读取 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。

实例

比如我要开机自动挂载/dev/sdb5这个设备,在/etc/fstab后面加入下面内容即可。

1
2
# /dev/sdb5
UUID=6482108A821062BA /media/ldy/6482108A82 ntfs defaults 0 0