thiago_alvarez
@thiago_alvarez
Student

Архивирование и сжатие в линукс?

Зачем вообще нужно архивировать файлы?
Раньше думал, что архивировать с tar нужно для того, чтобы собрать все файлы в один файл, а уже удобно потом их сжимать.
Но ведь можно сразу одной командой сжать сразу множество файлов, без архивации.
Просветите плз
  • Вопрос задан
  • 841 просмотр
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
tar изначально был сделан для упаковывания файлов и каталогов в ленточный архив (одним потоком).

gzip это потоковый архиватор, он не знает про файлы, он пакует поток. На ходу. Быстро. Он не анализирует файл целиком, поэтому алгоритм, который используется в gzip, сейчас используется практически везде (в модемах, в сетевых карточках и так далее).

исторически сложилось так, что для упаковки с компрессией нескольких файлов, использовали связку tar+gzip, что стало стандартом де-факто.
В современном мире, стандарт бывает важнее нескольких процентов сжатия, поэтому .tgz - вполне популярное и надежное решение, которое будет работать на любом линукс. А вот zip есть далеко не везде. Вы видимо не сталкивались с урезанными версиями линуксов в embedded, да и даже в RHEL7 в стандартную поставку он не входит, надо ставить отдельно.

Ну и напоследок - tar умеет хранить posix права доступа, а zip или rar - нет. Поэтому .tgz формат еще надолго останется с нами.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@pfg21
ex-турист
сжатие без архивации менее эффективно, хотя удобнее в доступе.
для холодного бекапа или пакетирования данных удобнее держать все в одном комплекте.

жаль что в tar и cpio нет индекса файлов.
надо поковырять рар5, туда кажись *никс атрибуты файла завезли.
Ответ написан
Комментировать
Zoominger
@Zoominger
System Integrator
В чём проблема одной командой заархивировать в tar, а потом в gzip или bzip2?
tar -cvjf arc.tar.bz2 /path
например.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы