Memo/Linux/Archiver

http://dexlab.net/pukiwiki/index.php?Memo%2FLinux%2FArchiver
 

Archiver

  • デファクトスタンダート
    • gzip, bzip2, xz
    • 圧縮済みファイルを展開せずに扱うXcat, Xless, Xgrep, Xdiff等のコマンドがあるので便利
  • 新しい形式
    • lz4

tarで存在しない/読めない場合に無視する

  • tarは通常、ファイルが存在しない/読めない場合、 exit code:2で終了する
  • --ignore-failed-read: ファイルが存在しない/読めない場合は無視する
  • jenkinsの例: Memo/Jenkins#se54d7fd

xz

  • CentOS 7:
    1. rpm -ql xz | grep bin
    2. /usr/bin/unxz
    3. /usr/bin/xz
    4. /usr/bin/xzcat
    5. /usr/bin/xzcmp
    6. /usr/bin/xzdec
    7. /usr/bin/xzdiff
    8. /usr/bin/xzegrep
    9. /usr/bin/xzfgrep
    10. /usr/bin/xzgrep
    11. /usr/bin/xzless
    12. /usr/bin/xzmore

bzip2

  • CentOS 7:
    1. rpm -ql bzip2 | grep bin
    2. /usr/bin/bunzip2
    3. /usr/bin/bzcat
    4. /usr/bin/bzcmp
    5. /usr/bin/bzdiff
    6. /usr/bin/bzgrep
    7. /usr/bin/bzip2
    8. /usr/bin/bzip2recover
    9. /usr/bin/bzless
    10. /usr/bin/bzmore

gzip

  • CentOS 7:
    1. rpm -ql gzip | grep bin
    2. /usr/bin/gunzip
    3. /usr/bin/gzexe
    4. /usr/bin/gzip
    5. /usr/bin/zcat
    6. /usr/bin/zcmp
    7. /usr/bin/zdiff
    8. /usr/bin/zegrep
    9. /usr/bin/zfgrep
    10. /usr/bin/zforce
    11. /usr/bin/zgrep
    12. /usr/bin/zless
    13. /usr/bin/zmore
    14. /usr/bin/znew

lzma形式 解凍圧縮

  • CentOS5.4で、「lzma」「unlzma」を使えるように
    1. yum install xz-lzma-compat
  • .lzma圧縮
    1. lzma [ファイル名]
  • .lzma解凍
    1. unlzma [ファイル名].lzma
  • .tar.lzma圧縮
    • tar 1.19以下
      1. tar cfv - [ファイルやディレクトリ...] | lzma > [ファイル名].tar.lzma
    • tar 1.20以上
      1. tar cvf [ファイル名].tar.lzma --lzma [ファイルやディレクトリ...]
  • .tar.lzma解凍
    • tar 1.19以下
      1. lzcat [ファイル名].tar.lzma | tar xfv -
    • tar 1.20以上
      1. tar xvf [ファイル名].tar.lzma --lzma

zip圧縮展開

  • 圧縮
    • 圧縮するディレクトリに絶対パスを用いると、絶対パスのまま圧縮されるので注意。
      1. cd /home/;zip -qr9 taro.zip taro/
  • 展開
    1. unzip taro.zip -d taro
  • 複数ファイル展開
    1. find . -name "*.zip" -exec unzip {} \;

tarによるバックアップ

  • シンボリックリンクを追跡して圧縮 : 'h' オプション
    1. tar cfzh /tmp/backup.tar.gz backup/
  • 普通の場合
    • バックアップ
    • 圧縮先パスに絶対パスを用いると絶対パスのまま圧縮されるので注意。
      1. tar cvfz /mnt/mo/home_taro_backup.tar.gz taro
    • logというファイルを除外したければ、--exclude=log を付ける
      • File not found: "exclude.list" at page "Memo/Linux/Archiver"[添付]
    • バージョン管理ファイル(CVS, RCS, SCCS, SVN, Arch, Bazaar, Mercurial, Darcs) を除外したい場合 --exclude-vcs を付ける
  • 除外を複数指定。「fX」の順序も厳密にこの順。 exclude.list に1行毎に書く。
    1. tar cvfz dir.tar.gz dir -X exclude.list
  • リストア
    1. tar xvfz /mnt/mo/home_taro_backup.tar.gz
  • 許可情報(オーナー、パーミッション)も保存する場合
    • バックアップ
      1. tar cvfzp /mnt/mo/home_taro_backup.tar.gz taro
  • 絶対パスにリストア
    1. tar xvfzp /mnt/mo/home_taro_backup.tar.gz
    • 相対パスにリストア
      1. tar xvfzp /mnt/mo/home_taro_backup.tar.gz -C .
    • 「-o」もしくは「--no-same-owner」でrootユーザで展開した場合でも、root:rootにできる
  • /etcなどの重要なディレクトリの場合
    • バックアップ
      1. tar --same-owner -cvfzp /mnt/mo/etc-backup.tar.gz /etc
    • リストア:lilo.confを戻す
      1. cd /tmp
      2. tar --same-owner -xvfzp /mnt/mo/etc-backup.tar.gz
      3. cd /etc
      4. mv lilo.conf lilo.conf.bak
      5. cp /tmp/etc/lilo.conf .

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-12-05 (火) 15:52:13 (201d)