文件壓縮與打包 壓縮文件的指令介紹: 壓縮文件通常分為: 常用尾碼名 壓縮命令 備註 .zip zip 不常用,用gzip取代 .gz gzip 常用.可以解開zip,gzip,可用zcat命令讀出 .bz2 bzip2 花費時間要久,但壓縮效率更高 .xz xz xz壓縮比很高,但花費時間大約為g ...
文件壓縮與打包
壓縮文件的指令介紹:
壓縮文件通常分為:
常用尾碼名 | 壓縮命令 | 備註 |
---|---|---|
.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