Архиваторы, используемые в Linux

Материал из Linux.Uz Wiki

Перейти к: навигация, поиск

В Linux имеется множество программ, которые могут быть использованы для создания архивов различных форматов. Эти программы полезны для создания резервных копий документов (backups), передачи файлов по сети, а также для хранения редко используемых файлов в сжатом виде (чтобы не занимали много места на диске). Существуют как консольные, так и графические программы для обработки архивов.


Консольные программы

Консольные программы (gzip, bzip2, tar, zip, lzop, ar, compress, dump и др.) предназначены для работы в режиме командой строки.

gzip это GNU программа сжатия. Она берет один файл и сжимает его. Пример обычного использования выглядит так:

 $ gzip file

Выходной файл будет назван file.gz и почти всегда будет меньше входного. Обратите внимание,что file.gz заменит file. Это значит, что file прекратит свое существование. Останется только его сжатая копия. Обычные текстовые файлы существенно сожмутся, в то время как jpeg-картинки, mp3 и другие подобные файлы почти не сожмутся, так как они уже сжаты. Приведенный выше пример, это нечто среднее между качеством и затраченным временем. Максимальное сжатие может быть получено при помощи такого параметра:

 $ gzip -9 file

Это займет больше времени, зато выходной файл будет максимально сжатым. Распаковывание gzip-файлов может быть выполнено при помощи двух команд, являющихся на самом деле одной программой:

 $ gunzip file.gz

или

 $ gzip -d file.gz

т.к. gunzip это всего лишь символическая ссылка на /bin/gzip.

bzip2 - это альтернативная программа сжатия, использующая алгоритм, отличный от gzip. Главным ее преимуществом является более высокая степень сжатия. Однако, bzip2 более интенсивно использует процессор, а значит сжатие займет больше времени. Использование bzip2 аналогично использованию gzip. Файлы, сжатые bzip2, получают расширение bz2.

tar (tape archiver) берет несколько файлов или каталогов и создает один файл с расширением tar. Это позволяет сжимать целое дерево каталогов, чего нельзя достигнуть при использовании только gzip или bzip2. Пакеты программ, скачанные с интернета, часто имеют расширение tar.gz (т.н. tarball) или tar.bz2. Это означает, что несколько файлов помещены в архив при помощи tar и затем сжаты программами gzip или bzip2. Однако, в современных системах tar может проделывать обе операции разом. Для этого необходимо указать необходимые параметры:

 $ tar -cz archive.tar.gz

или

 $ tar -cy archive.tar.bz2

Параметр -с указывает на создание архива, -z или -y соответственно на сжатие при помощи gzip или bzip2. Разархивировать сжатый архив ничуть не сложнее. Необходимо указать параметр -x (extract):

 $ tar -xz archive.tar.gz

zip архивы очень популярны в мире Windows. Для архивирования применяется команда zip, а для извлечения unzip.

p7zip - это архиватор файлов с высокой степенью сжатия, порт популярного Windows архиватора 7-zip под Linux, позволяющий работать в интерфейсе командной строки. p7zip создает архивы типа: 7z, ZIP, GZIP, BZIP2, TAR. Разархивирует файлы с разрешением: RAR, CAB, ISO, ARJ, LZH, CHM, Z, CPIO, RPM, DEB и NSIS.

Графические программы

Существует также много графических программ для управления архивами (XArchiver, KArchiver, Ark, UPX). Практически в каждом дистрибутиве имеется свой менеджер архивов. Например, в Ubuntu по умолчанию установлена программа File Roller. Эта программа предоставляет графический интерфейс, однако, использует в работе консольные утилиты, описанные выше. При наличии соответствующих утилит поддерживает также файлы rpm и stuff, а также форматы arj, ear, jar, lzh, rar, war, zip, 7z, zoo. File Roller позволяет создавать архивы, в том числе защищенные паролем, просматривать, изменять содержимое, конвертировать форматы архивов.