4.5.2. gzip и compress
В отличие от архивирующих программ для MS-DOS, tar
не компрессирует автоматически файлы в процессе
архивирования. Поэтому, если вы архивируете два
одно-мегабайтных файла, результирующий архивный
файл будет размером два мегабайта. Команда gzip
может использоваться для компрессирования файла
(компрессируемый файл не обязан быть tar-файлом)
Команда
# gzip -9 backup.tar
скомпрессирует backup.tar и оставит вас
наедине с backup.tar.gz, скомпрессированной
версией файла. Опция -9 говорит команде gzip,
что следует использовать максимальную возможную
компрессию.
Команда gunzip может быть использована для
раскомпрессирования "зазипованного" файла.
С аналогичным эффектом вы можете использовать "gzip
-d".
gzip - сравнительно новый инструмент в
кругах, приближенных к UNIX. Долгие годы вместо
этого использовалась команда compress.
Однако, по нескольким причинам (тут и патентные
дрязги относительно алгоритма, и то, что gzip
значительно эффективнее) compress оказался не
у дел.
Обработанные командой compress файлы
заканчивались расширением .Z. Например, backup.tar.Z
- это компрессированная версия файла backup.tar,
а backup.tar.gz - зазипованная версия. (Чтобы еще
надежнее запутать дело, для обозначения
зазипованных файлов некоторое время
использовалось расширение .z (маленькая "z").
В настоящее время (прим. переводчика: это для
современников автора) официальное расширение -
.gz.
Команда uncompress используется для
развертывания файла, который был обработан
командой compress. Но команда gunzip тоже
знает, как обращаться с такими файлами.
4.5.3. Можно вместе
Чтобы заархивировать и скомпрессировать
группу файлов, вы можете использовать команды:
# tar cvf backup.tar /etc
# gzip -9 backup.tar
Результат будет backup.tar.gz. Для распаковки
этого файла используйте обратную
последовательность команд:
# gunzip backup.tar.gz
# tar xvf backup.tar
Разумеется, всегда следует убедиться перед
распаковкой файла, что вы в нужном каталоге.
Вы можете опереться на некоторую
сообразительность UNIX, позволяющего сделать это
одной командой (прим. переводчика: Верно, но
сказать - одной "командной строкой" - было бы
честнее, да и проще описывать работу этой
конструкции).
# tar cvf - /etc | gzip -9c > backup.tar.gz
Здесь мы посылаем tar-файл,
сформированный из /etc, в файл "-",
который представляет стандартный выход.
Результат по конвейеру поступает на вход команды
gzip, которая компрессирует этот файл и
результат сохраняет в backup.tar.gz. Опция -c
команды gzip говорит, что выход команды gzip
посылает результат на стандартный выход, который
перенаправляется на backup.tar.gz.
Единственная составная команда, используемая
для распаковки этого архива, будет:
# gunzip -c backup.tar.gz | tar xvf -
Опять, команда gunzip раскомпрессирует
содержимое файла backup.tar.gz и посылает
результирующий файл на стандартный выход. Он по
конвейеру передается команде tar, которая
читает файл "-", что в данном случае
олицетворяет стандартный выход.
К счастью, команда tar также содержит
опцию z, автоматически
компрессируя-раскомпрессируя файлы, используя
алгоритм компрессии gzip.
Например, команда (прим. переводчика: одна)
# tar cvfz backup.tar.gz /etc
эквивалентна
# tar cvf backup.tar /etc
# gzip backup.tar
Как и команда
# tar xvfz backup.tar.Z
может быть использована вместо
# uncompress backup.tar.Z
# tar xvf backup.tar
За дополнительной информацией обратитесь к
Руководству по tar и gzip.
4.6. Использование дискет и осуществление резервирования
Дискеты часто используются как средство
резервирования. Если у вас нет ленты (стриммера),
можно использовать дискеты (хотя они медленнее и,
в некотором смысле, менее надежны).
Вы можете использовать дискеты также для
хранения отдельных файловых систем - в этом
случае вы должны монтировать (mount) дискету
для получения доступа к ее данным.
[ Назад | Оглавление | Далее ]
|