Записки Вовика

Программа tar. Знакомство.

Просмотров: 794Комментарии: 0
Заметки*nix

Программа tar для начинающих пользователей nix-систем после перехода с винды и привычных zip и rar кажется сущим адом. Логика ее использования и понимание параметров производит поначалу удручающее впечатление. Однако освоив эту программу мы получаем в руки очень мощный и многофункциональный инструментарий. Некоторая сложность и запутанность данной программы связаны с тем, что tar весьма древняя программа и изначально предназначалась для создания архивов на ленточных устройствах (tape archive).

Следует понимать, что эта программа не архивирует (сжимает) данные, а объединяет указанные файлы в один файл. Сжатие возможно, но выполняется сжатие уже полученного объединенного файла и выполняется сторонними утилитами. Зачем же тогда нужен tar? Дело в том, что tar может записывать в архив информацию о всех атрибутах добавляемых файлов и каталогов (пути, владельцы, права доступа, временные метки) и все это можно очень гибко настраивать.

Какие же задачи удобно решать применяя tar?

Бекапирование. При бекапировании директорий с установленными программами или директорий веб-сервера крайне важно сохранить владельцев файлов и права доступа к ним. Для бекапирования tar часто используется совместно с rsync. Также после создания архива можно его зашифровать, например, утилитой gpg, чего не сделаешь если имеешь кучу файлов и папок.

Перенос структуры файлов. При необходимости переноса массива файлов между компьютерами или каталогами. Структуру файлов можно перенести как с сохранением абсолютных путей файлов, так и относительных. Перенос данных между компьютерами может очень усложниться если нужно перенести десятки тысяч мелких файлов в тысячах каталогов. В этом случае FTP сервер просто сойдет с ума. SSH с этим справится немного лучше, но тоже даже не приблизится к отметке удовлетворительного сервиса. Если же запаковать всю эту структуре в один файл, то перенос его решается очень легко. Распаковка такого архива происходит гораздо быстрее упаковки. Вот конкретный пример сегодняшнего дня. Имеем почти 4 тыс каталогов, в которых находится всего 190 тыс файлов. Суммарный объем 90 Мб. Упаковка в tar заняла 10 минут, архив получился 230 Мб. Распаковка архива заняла 20 секунд. Копирование по ssh заняло бы без архивации часы, даже не представляю сколько.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question


Комментарий будет опубликован после проверки

     

  

(обязательно)