Книга: Основы программирования в Linux
Другие утилиты распространения
Другие утилиты распространения
Программы Linux и исходный код обычно распространяются в виде файлов с именами, в которые включен номер версии, и расширениями tar.gz или tgz. Это сжатые программой gzip
файлы TAR (tape archive, архивы лент), также называемые "tarballs" (клубки архивов tar). Если применить обычную команду tar
, обрабатывать эти файлы придется в два этапа. Приведенный далее код создает сжатый программой gzip
файл TAR вашего приложения:
$ tar cvf myapp-1.0.tar main.c 2.c 3.c *.h myapp.1 Makefile5
main.c
2.c
3.c
a.h
b.h
c.h
myapp.1
Makefile5
$
Теперь у вас есть файл TAR:
$ ls -l *.tar
-rw-r--r-- 1 neil users 10240 2007-07-09 11:23 myapp-1.0.tar
$
Сделать его меньше можно с помощью программы сжатия gzip
:
$ gzip myapp-1.0.tar $ ls -l *.gz
-rw-r--r-- 1 neil users 1648 2007-07-09 11:23 myapp-1.0.tar.gz
$
Как видите, в результате впечатляющее уменьшение размера. Файл tar.gz можно в дальнейшем переименовать, оставив просто расширение tgz.
$ mv myapp-1.0.tar.gz myapp_v1.tgz
Практика задания имен, заканчивающихся точкой и тремя символами, — уступка программному обеспечению, работающему в ОС Windows, которое в отличие от программ для ОС Linux и UNIX сильно зависит от наличия корректного расширения файла. Для того чтобы получить свои файлы обратно, удалите сжатие и опять извлеките их из файла, полученного с помощью tar
:
$ mv myapp_v1.tgz myapp-1.0.tar.gz
$ gzip -d myapp-1.0.tar.gz
$ tar xvf myapp-1.0.tar
main.с
2.c
3.c
a.h
b.h
c.h
myapp.1
Makefile5
$
С версией GNU программы tar все еще проще — вы можете создать сжатый архив за один шаг:
$ tar zcvf myapp_v1.tgz main.c 2.c 3.c *.h myapp.1 Makefile5
main.c
2.c
3.c
a.h
b.h
c.h
myapp.1
Makefile5
$
Также легко вы можете развернуть файл:
$ tar zxvf myapp_v1.tgz
main.c
2.с
3. с
a. h
b. h c.h
myapp.1
Makefile5
$
Если хотите увидеть содержимое архива, не извлекая его, следует вызвать программу tar
с несколько иной опцией: tar ztvf
.
В предыдущих примерах мы применяли tar
, описывая только необходимые опции. Теперь дадим краткий обзор команды и нескольких самых популярных опций. Как вы видели в примерах, у команды следующая базовая синтаксическая запись:
tar [опции] [список_файлов]
Первый элемент списка файлов — выходной файл, и хотя мы работали с файлами, он может быть и устройством. Другие элементы списка в зависимости от опций команды добавляются в новый или существующий архив.
Список файлов также может включать каталоги, в этом случае по умолчанию в файл включаются все подкаталоги. Если вы извлекаете файлы, нет необходимости задавать имена, т.к. программа tar
сохраняет полные пути.
В этом разделе использовалось шесть комбинаций разных опций:
? с
— создает новый архив;
? f
— определяет, что выходной файл — не устройство, а файл;
? t
— перечисляет содержимое архива без реального извлечения элементов;
? v
(verbose) — по ходу выполнения tar выводит сообщения;
? х
— извлекает файлы из архива;
? z
— пропускает архив GNU tar через программу gzip (сжимает его или убирает сжатие).
У команды tar
есть еще множество опций, позволяющих улучшить управление действиями команды и создаваемыми ею архивами. Дополнительную информацию о программе tar
см. на страницах интерактивного справочного руководства.
- Другие инструменты для осуществления резервного копирования
- Другие изменения в 7-й версии InterBase
- Датчик расположения и другие датчики
- 6.4 Другие файловые системы
- Утилиты для диагностики жесткого диска
- Другие предикаты сравнения
- В моей системе нет утилиты Настройка системы (msconfig). Где ее взять?
- Я установил программу и не хочу, чтобы другие пользователи о ней знали. Как скрыть ее?
- Можно ли интегрировать в пакет установки Windows Service Pack и другие обновления, чтобы потом не приходилось их устанав...
- Другие варианты подключения
- Как из-под учетной записи пользователя (без администраторских привилегий) включать и отключать оборудование и выполнять ...
- Хочу создать обучающий ролик и показывать менее опытным пользователям, как решать ту или иную проблему. С помощью какой ...