cpio VS tar - какое лучшее архивное решение для сжатия сотен каталогов в один файл

472
maihabunash

в моей машине с Linux в каталоге / var / Recording.

У меня есть сотни каталогов, и в каждом каталоге есть также каталоги, и файлы содержат жесткие ссылки и программные ссылки.

Я хочу сжать все каталоги в каталоге / var / Recording, чтобы создать один сжатый файл.

С помощью какой команды я могу создать лучший сжатый файл? - tar или cpio (что касается жестких ссылок и файлов программных ссылок).

во-вторых, какой правильный синтаксис команды tar / cpio?

 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1034 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1033 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1038 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1037 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1036 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1041 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1040 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1039 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1044 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1043 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1042 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1047 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1046 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1045 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1049 drwxr-x--- 2 root root 4096 Nov 22 18:57 458ca4e8-0edf-4204-9f9b-9c3dc02953c5.1048 . . . . . 
1
Интересное обсуждение поведения tar и cpio в отношении жестких ссылок. Может по-прежнему использовать любой из них, но это хороший фон для внутренних органов: https://github.com/libarchive/libarchive/wiki/Hardlinks glallen 9 лет назад 0

1 ответ на вопрос

0
R Schultz

I'm a fan of tar. It will preserve hardlinks and softlinks. The command you can use for your situation is as follows.

cd /var tar cvzf ~/Recording.tgz Recording 

That creates a gzipped file called Recording.tgz with verbose output of the directory Recording. Paths will be preserved. There are lots of options that go with tar that you can review in the man pages. To restore your files, change to the directory were you want to put them and run tar again using the following command.

tar xvzf ~/Recording.tgz 

To see what the file has in it prior to untarring, simply type

tar tvzf ~/Recording.tgz 
Не могли бы вы объяснить, почему вы выбираете tar, а не cpio? maihabunash 9 лет назад 0
Поскольку cpio также может создавать tar-архивы, я не уверен, что это важно, кроме IMO, он гораздо более широко используется в сети и т. Д. Когда вы загружаете пакет, вы не видите много файлов .cpio вокруг, но .tar и .tgz. файлы вокруг. Более широкая база пользователей означает, что есть большая группа людей, от которых можно получить помощь, если она вам понадобится, и больше шансов на устранение ошибок в случае их возникновения. Вокруг может быть большая группа пользователей cpio, я просто этого не видел. Кроме того, глядя на справочную страницу по cpio, tar кажется более простым в использовании. Хотя это может быть 20 лет предвзятости. :) R Schultz 9 лет назад 0

Похожие вопросы