文件压缩与打包
压缩文件的指令介绍:
压缩文件通常分为:
常用后缀名 | 压缩命令 | 备注 |
---|---|---|
.zip | zip | 不常用,用gzip取代 |
.gz | gzip | 常用.可以解开zip,gzip,可用zcat命令读出 |
.bz2 | bzip2 | 花费时间要久,但压缩效率更高 |
.xz | xz | xz压缩比很高,但花费时间大约为gzip的10倍 |
文件常用指令:
gzip/bzip2/xz 文件档名 压缩文件
gzip/bzip2/xz -d 文件档名 解压缩文件
打包文件的指令介绍
前一小节谈到的指令大多仅能针对单一文件来进行压缩,虽然 gzip, bzip2, xz 也能够针对目录来进行
压缩,不过, 这两个指令对目录的压缩指的是『将目录内的所有文件 "分别" 进行压缩』
打包指令介绍:
文件打包指令 | 说明 | 文件后缀 |
---|---|---|
tar -z | 通过gzip压缩 | .tar.gz |
tar -j | 通过bzip2压缩 | .tar.bz2 |
tar - J | 通过xz压缩 | .tar.xz |
tar -c | 建立打包文件 | |
tar -v | 显示过程文件 | |
tar -p | 保留原先文件的权限 |
常用打包指令:
需求 | 指令 |
---|---|
压缩 | tar -jcv -f filename.tar.bz2 要被压缩的文件 |
查询 | tar -jtv -f filename.tar.bz2 |
解压缩 | tar -jxv -f filename.tar.bz2 -C 解压的目录 |
其他指令分析;
只解开一个档名:
tar -jxv -f 打包檔.tar.bz2 待解开档名
tar -jxv -f /root/etc.tar.bz2 etc/shadow
打包某目录,但不含该目录下的某些文件之作法
tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc* /etc /root
仅备份比某个时刻还要新的文件 :
tar -jcv -f /root/etc.newer.then.passwd.tar.bz2 --newer-mtime="2015/06/17" /etc/*
将 /etc 整个目录一边打包一边在 /tmp 解开
tar -cvf - /etc | tar -xvf -
备份好的SElinux权限问题
解决方式:
1.透过各种可行的救援方式登入系统,然后修改 /etc/selinux/config 文件,将 SELinux 改成 permissive 模式,
重新启动后系统就正常了;
2 . 在第一次复原系统后,不要立即重新启动!先使用 restorecon -Rv /etc 自动修复一下 SELinux 的类型即可。
3.透过各种可行的方式登入系统,建立 /.autorelabel 文件,重新启动后系统会自动修复 SELinux 的类型,并
且又会再次重新启动,之后就正常了!
xfsdump文件备份:
xfsdump 不支援没有挂载的文件系统备份!所以只能备份已挂载的!
xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
xfsdump 只能备份 XFS 文件系统啊!
xfsdump 备份下来的数据 (文件或储存媒体) 只能让 xfsrestore 解析
xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统
例子:
df -h /boot
xfsdump -l 0 -L boot_all -M boot_all -f /srv/boot.dump /boot