Стандартным [29] форматом сжатия для систем UNIX является формат программы gzip, разработанный в рамках проекта GNU и соединяющий в себе все лучшее из основных утилит компрессии.
Утилита gzip неразрывно связана с утилитой tar. tar это старая программа, оставшаяся в живых с тех времен, когда компьютерщики сохраняли свои данные на магнитных лентах. В настоящее время дискеты и CD-ROM вытеснили магнитные ленты, но утилита tar все еще используется для создания архивов. Все файлы и каталоги могут быть слеплены в один файл и после этого легко сжаты с помощью утилиты gzip.
Это является причиной, по которой свободное программное обеспечение обычно доступно в виде архива tar, сжатого с помощью программы gzip. Поэтому расширение файла выглядит так: .tar.gz (иногда для краткости .tgz).
Для распаковки этого архива могут быть использованы gzip и tar. Но GNU версия программы tar (gtar) позволяет использовать gzip “на лету” (on-the-fly) , и распаковать и разархивировать файлы из архива одним действием (кстати, это экономит дополнительное место на диске по причине отсутствия промежуточного файла архива).
Формат использования tar выглядит так:
tar <file options> <.tar.gz file> [files] |
Опция <files> необязательна. Если она опущена, то действие будет применено ко всему архиву. Этот аргумент не нужен для извлечения содержимого архива .tar.gz
$ tar xvfz guile-1.3.tar.gz -rw-r--r-- 442/1002 10555 1998-10-20 07:31 guile-1.3/Makefile.in -rw-rw-rw- 442/1002 6668 1998-10-20 06:59 guile-1.3/README -rw-rw-rw- 442/1002 2283 1998-02-01 22:05 guile-1.3/AUTHORS -rw-rw-rw- 442/1002 17989 1997-05-27 00:36 guile-1.3/COPYING -rw-rw-rw- 442/1002 28545 1998-10-20 07:05 guile-1.3/ChangeLog -rw-rw-rw- 442/1002 9364 1997-10-25 08:34 guile-1.3/INSTALL -rw-rw-rw- 442/1002 1223 1998-10-20 06:34 guile-1.3/Makefile.am -rw-rw-rw- 442/1002 98432 1998-10-20 07:30 guile-1.3/NEWS -rw-rw-rw- 442/1002 1388 1998-10-20 06:19 guile-1.3/THANKS -rw-rw-rw- 442/1002 1151 1998-08-16 21:45 guile-1.3/TODO ... |
v verbose. В этом случае имена всех файло, найденных в архиве, будут показаны на экране. Если эта опция опущена, процесс будет происходить без вывода какой-либо информации на экран.
f Это обязательная опция. Без нее tar будет использовать вместо архива стример (то есть устройство /dev/rmt0).
z эту опцию нужно применять к архиву, сжатому gzip (у которых расширение .gz). Если упустить эту опцию, tar сгенерирует ошибку. И наоборот - эта опция не может быть использована с несжатыми архивами.
Программа tar позволяет производить разные действия с архивом (извлекать, читать, создавать, добавлять...). Для этих действий применяются следующие опции:
Формат сжатия bzip2 был разработан для замены gzip. bzip2 делает архивы меньшего размера, чем gzip, но это еще пока не стандарт. Совсем недавно стали попадаться архивы с расширением .tar.bz2.
bzip2 используется также, как gzip посредством вызова команды tar. Разве что нужно заменить опцию z на j. Например:
$ tar xvjf foo.tar.bz2 |
В некоторых дистрибутивах программ вместо этого могут предлагать использовать опцию I:
$ tar xvfI foo.tar.bz2 |
Это же можно записать и длинным способом:
$ tar --use-compress-program=bzip2 -xvf foo.tar.bz2 |
Перед тем как использовать tar, вы должны убедится, что программа bzip2 установлена в каталог, который содержится в переменной окружения PATH.
Теперь, когда вы готовы к распаковке архива, не забудьте получить права root. Вам прийдется делать вещи, которые обычному пользователю делать не положено. Некоторые этапы все же можно делать не имея привилегированных прав, но проще сразу перейти в root на весь процесс установки программы.
Во-первых, зайдите в каталог /usr/local/src и скопируйте туда архив. Вы всегда сможете найти тут архив в случае потери программного обеспечения. Если у вас мало места на жестком диске, после компиляции сохраните исходные коды на дискетах. Вы также можете впоследствии просто удалить исходники, если вы уверены, что всегда сможете получить их в Web.
Правильно отработавшая программа tar, развернув архив, должна создать новый каталог. Зайдите в него. Теперь мы можем продолжить.
UNIX-подобные системы (такие как GNU/Linux и FreeBSD) являются безопасными системами. Это значит, что обычные пользователи не могут произвести действия, угрожающие работоспособности системы (например, отформатировать диск). Также обычный пользователь не имеет доступа к файлам других пользователей. Кстати, это придает системе иммунитет от вирусов.
С другой стороны, root может делать все. Наличие исходных кодов делает возможным проверку программы на наличие злонамеренного кода (вирусы и трояны). Проявите бдительность [30].
Идея состоит в том, чтобы создать пользователя специально для администрирования (например free или admin) путем использования командочки adduser. Этот пользователь должен иметь права на запись в следующих каталогах: /usr/local/src, /usr/local/bin и /usr/local/lib, а также все подкаталоги в /usr/share/man. Мы рекомендуем сделать этого пользователя владельцем этих каталогов или создать группу для него и разрешить этим каталогам запись для этой группы.
Как только все эти предосторожности приняты, вы можете следовать указаниям в разделе “Самый простой способ”.
[29] Все чаще и чаще в новых программах начинают использовать bzip2 - более эффективный компрессор для текстовых файлов (и требующий больших мощностей от компьютера). Смотрите раздел “bzip2”, где описаны особенности этой программы.
[30] В мире BSD существует пословица: “Никогда не доверяйте пакету, к которому у вас нет исходных кодов (Never trust a package you don't have the sources for).”