Журнал LinuxFormat - перейти на главную

LXF71:Первые шаги

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

Содержание

сжимаем при помощи Ark и File Roller

В которой Энди Чэннел детально повествует о замечательных программах для работы с архивами в Linux. Пользователям с медленным Интернетом без этого не обойтись

Все становится большим. офисные пакеты запросто достигают размеров в 60 с лишним мегабайтов, web-сайты напичканы анимацией и звуком, а большинство дистрибутивов своими размерами больше похожи на борцов сумо. Для того, чтобы справиться с большими файлами, вам потребуется По для их сжатия. такое программное обеспечение использует невероятно сложные математические алгоритмы, чтобы «ужать» файлы до таких размеров, чтобы их можно было бы передать по телефонной сети, или же записать на почти заполненный CD.

Сжатые файлы, или архивы, могут иметь разный формат, который определяется по расширению - набору букв, следующих после точки (.) в названии архива. Сжатые файлы отличаются от всех других тем, что могут содержать в себе множество упакованных данных, включая папки, а вовсе не только один файл. расширения, на которые вам следует обратить внимание, это: .zip, .tar.gz, tar.bz, .rar, .jar а также .war и другие. Документы обычно сжимаются в .zip, а программное обеспечение для Linux, которые вы наверняка захотите попробовать создать самостоятельно, обычно хранятся в архивах формата tar.gz или tar.bz – они также известны под названием tarball. они создаются немного сложнее, чем тот же zip, но с именно с этими форматами люди привыкли работать.

С архивами можно выполнять ряд заранее определённых действий. Мы начнем с работы в командной строке, от которой никуда не деться при сборке исходных текстов, после чего взглянем на пару приложений, которые позволят делать эту же работу, но без необходимости запоминать и вводить замысловатые команды.

работаем с tar и gzip

нА ЗАметКу
Работа с файлами .zip

распаковать файлы формата .zip можно из командной строки, набрав:

unzip <название_архива>.zip

Превратить файл в архив формата .zip:

zip <название_архива>.zip <имя_файла>.txt

а все содержимое заданной папки может быть добавлено с помощью команды:

zip –r <название_архива>.zip /<путь к папке>/<имя_папки>

Параметр «-r» обеспечивает добавление всех файлов и папок в архив.

Узнайте больше, набрав man zip в командной строке.

Для начала нам нужно скачать архив (tarball) и сохранить его в любое удобное нам место. я выбрал последнюю версию Gaim и скачал файл gaim-1.5.0.tar.gz с сайта проекта. Имя файла состоит из трех частей: первым идет название приложения и номер версии; затем следует обозначение .tar, которое показывает нам, что архив содержит множество файлов; и третья часть, .gz, говорит об использовании программы gzip при архивации. я сохранил архив размером 8.1Мб в папку /home/gaim.

теперь откроем консоль и перейдем в эту директорию с помощью команды:

cd gaim

Заметьте, нам не пришлось уточнять, что мы должны перейти в /home, так как консоль по умолчанию запускается в домашней папке. Вы можете проверить содержание папки /home/gaim путем набора команды ls или dir. команда, которую мы хотим использовать, означает следующее: tar -<параметр> <имя файла>.tar.gz. Существует несколько параметров команды, которые могут пригодиться:

  • x – извлечение содержимого архива;
  • z – распаковывает архив, сжатый при помощи zip;
  • v – показывает комментарии к происходящему;
  • f – сообщает tar, что файловое имя ;
  • c – создает новый архив;
  • t – показывает содержимое архива.

Для распаковки и извлечения файлов из архива мы воспользуемся следующей командой с четырьмя параметрами:

tar –zxvf gaim-1.5.0.tar.gz

После этого в директории /gaim появится примерно 1000 файлов - содержание архива. Мы можем воспользоваться дополнительным параметром команды tar, чтобы распаковать файлы в другую директорию. Например, команда:

tar –c /tmp –zxvf gaim-1.5.0.tar.gz

извлечет содержимое архива в директорию /tmp. Наша папка Gaim теперь разрослась до размера в 30 Мб дискового пространства.

По логике вещей, этого достаточно, но вы также можете пойти другим путем: с помощью командной строки можно превратить набор файлов и папок в архив tar. Если нам нужно создать новый архив под названием archive.tar и включить в него файлы a.png, b.png и c.png, то находясь в директории, содержащей эти файлы, мы наберем такую команду:

tar –cvf archive.tar a.png b.png c.png

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

gzip archive.tar

Данная команда создаст новый файл с названием archive.tar.gz в той же директории. качество сжатия зависит от многих факторов, в первую очередь от того, какие файлы находятся в архиве и были ли применены различные виды компрессии до этого. Не будет никакой выгоды от сжатия, если, например, вы пытаетесь сжать уже существующий архив. Ни один алгоритм не сможет превзойти сам себя!

Это был трудный способ упаковки и распаковки файлов. к счастью, разработчики Linux придумали неплохие графические приложения, делающие ту же самую работу. как обычно, существует 2 стандартных приложения, с которыми вы можете встретиться. Ark является менеджером архивов KDE, а File Roller – тоже самое, только для Gnome. огромным преимуществом для людей, боящихся командной строки «как огня», является то, что, в общем, работа по добавлению, извлечению и удалению файлов из архивов, делается действительно просто.

сжимаем с Ark

Ark, как это принято, следует традициям любого KDE приложения. У него есть панель меню, позволяющая получить доступ к различным функциям посредством выпадающих списков опций; панель управления, на которой расположены иконки-ярлыки для выполнения стандартных задач; и рабочая область окна, на которой отображено содержимое открытого архива.

Мы можем получить доступ к архиву программы Gaim, который мы скачали ранее, используя опцию меню File > Open и выбрав необходимый файл в окне обозревателя. Подождав немного (анализ может занять некоторое время, в зависимости от размера архива и производительности вашего компьютера), вашему сведению будет представлен список всех файлов в архиве. Если внутри архива есть папки, то программа отобразит их иерархию в виде дерева, так что видны будут не все файлы. Эти каталоги определены, как, впрочем, и можно было ожидать, при помощи косой черты “/”, например вот так: /директория/поддиректория/имя_файла.расширение

Самым очевидным решением будет распаковать все. Вы можете сделать это, убедившись, что в списке файлов архива ничего не выделено, просто выбрать пункт меню Action > Extract, или нажать на кнопку Extract (третья кнопка справа на панели управления). Эти действия сделают тоже самое, что и команда tar –zxvf, которую мы использовали ранее, и в результате все файлы будут извлечены из архива. Удобство состоит, пожалуй, в том, что в Ark гораздо легче указать любой другой целевой каталог для распаковки архива. Просто напишите путь к этому каталогу в поле “Extract To…”, или укажите путь при помощи стандартного диалога выбора. Нажмите OK и файлы будут распакованы.

тем не менее, мы не обязаны распаковывать полностью весь tarball – можно указать ряд файлов и папок для распаковки, при этом, не затрагивая остальное содержимое архива. Это требуется нечасто, если вы работаете с архивами приложений, но в случае, если вам потребуется извлечь из архива только определённые файлы, эта функция придется очень даже кстати. работая с важным архивом, открытым в Ark, вы можете легко выделить отдельные файлы и нажать на кнопку Extract. После распаковки они сохранят структуру каталогов архива. так что если вам потребуется распаковать только файл blist-signals.dox (который находится в /gaim-1.5.0/doc), вам нужно будет найти директорию под названием gaim-1.5.0, которая находится в /home, после чего войти в только что созданную директорию doc – там и располагается распакованный файл.

Непрерывный ряд файлов или папок может быть выделен при помощи клавиши Shift и левой кнопкой мыши, если же требуется выбрать файлы, идущие не по порядку, следует использовать сочетание Ctrl и все той же левой кнопки мыши. кстати, следом за Extract идет кнопка Delete, которая (сюрприз!) может быть использована для удаления файлов из архива. будьте осторожны с этой кнопкой, так как удаленные прямо из архива файлы не будут перемещаться в корзину - их уже будет не восстановить.

Ark интегрирован в оболочку KDE, а это значит, что прямо из обозревателя Konqueror вы можете работать с архивом как с обычной папкой, не утруждая себя сжатием и распаковкой. также есть специальное дополнение (апплет), с помощью которого также можно просматривать архив без распаковки. Это особенно удобно, ели вы, например, упаковали какие-то изображения (фотографии, web-графику и т.п.), содержащие не совсем ясные для вас названия, либо же вы просто забыли, что это за фотографии. Подобным же образом можно работать с XML, HTML, текстовыми файлами и рядом других форматов.

В меню “Action” вы также можете заметить пункты “Open With…” (открыть при помощи…) и “Edit With…” (редактировать с помощью…) – названия вполне понятны. Первый пункт позволяет распаковать выбранный файл и открыть его с помощью определенного приложения. Второй – делает тоже самое, только затем пытается записать изменения прямо в архив. Заметьте, что у многих приложений эта возможность отсутствует.

конечно, распаковка архивов – это только пол-дела. Нам еще понадобится создавать новые архивы и добавлять в них файлы. к счастью, Ark может без труда с этим справиться. Скажем, у нас есть папка (/home/atchive), в которой содержатся 11 файлов, которые нужно сжать. Сначала нам надо запустить приложение Ark и выбрать в меню File > New. Это откроет диалог под названием “New Archive” (новый архив). Здесь все выглядит так же, как и в режиме просмотра файлов при помощи Konqueror. Мы определяем место для нового архива и задаем ему имя. Выбираем тип архива из выпадающего меню, после чего программа автоматически предложит нужное для него расширение. Итак, Ark подготовил архив, и все, что нам остается – добавить в него файлы.

мАЛенЬКие КАртинКи

Наиболее частым форматом сжатия изображений, с которым вы столкнетесь, является JPEG. Этот формат, созданный и названный в честь Joint Photographic Expert Group, был разработан с целью передачи по сети Интернет фотографических изображений. Файлы этого формата имеют расширение .jpg. Формат фактически является стандартом для цифровых фотоаппаратов.

Главная особенность JPEG состоит в том, что высокая степень сжатия сопровождается частичной потерей информации; однако, удалению подвергаются только те данные, которые незаметны человеческому глазу, точно так же, как и кодировщики MP3/OGG удаляют только те звуковые частоты, которые неподвластные восприятию человеческого уха. При сохранении в формате JPEG, пользователю предлагается пойти на компромисс между размером файла и качеством изображения: чем больше качество – тем больше размер файла и тем дольше этот файл будет пересылаться по сети. В программе Gimp есть много способов оптимизировать изображения: можно просто понизить качество картинки, или поступить более изысканно, применив размытие, или удалить EXIF-данных, которые используются в цифровых фотоаппаратах.

JPEG-сжатие достигается при помощи сравнения цветовых областей – если они достаточно похожи друг на друга, то программа обращает эти области в один цвет. Поэтому, сильно сжатые изображения похожи на блоки, а у изображений с большим количеством “чистых “(без подробных оттенков) цветов коэффициент сжатия достаточно велик.

Альтернативным форматом, сжимающим без потери качества, является Portable Network Graphic, который имеет расширение .png. он использует библиотеку сжатия zlib, и был создан в качестве ответа на патент, который был наложен на алгоритм сжатия формата .gif. Этот формат очень удобен для web-графики

(thumbnail)
снимок главы компании Novell Джека Мэссмана справа – сжатая версия оригинальной фотографии слева. выглядит она намного хуже

Дальше, в меню выбираем Action > Add Folder… (добавить папку) для того, чтобы выбрать директорию /archive. В главном окне теперь будут отображены файлы нашего нового архива вместе с дополнительной полезной информацией. Если вы посмотрите на каждую ячейку, то увидите исходный размер файла, его размер после сжатия и степень компрессии в процентах. качество сжатия может зависеть от многих факторов. Файлы с расширением .rtf (Rich Text Format), также как и .xls файлы, которые содержат текстовую информацию, обычно сжимаются более чем на 70%. Файлы изображений, а также те, что содержат внедренную графику, обычно сжимаются менее эффективно.

После того, как вы пройдете этот этап, архив будет отображаться в привычном нам виде: вы сможете распаковывать, удалять, просматривать его содержимое – также как мы делали раньше. Ну и конечно, вы сможете добавлять файлы или директории в созданный архив – процедура точно такая же: Action > Add Folder… (добавить папку) или Action > Add File (добавить файл).

Прежде чем мы двинемся дальше, давайте взглянем на конфигурацию Ark, что позволит нам добиться лучшего взаимодействия программы со средой KDE. Чтобы добраться до нужного нам диалога, выберите в меню пункт “Settings” (Настройки), затем “Configure Ark” (Настроить Ark) … Диалоговое окно настройки очень маленькое и простое в управлении, оно разделено на три секции: General (общие), Addition (Добавление) и Extraction (Извлечение).

  • Общие. Позволяют вам настроить интеграцию с Konqueror, что дает возможность добавлять или извлекать файлы с помощью меню, вызываемого правой кнопкой мыши в Konqueror. Вы также можете настроить Ark для просмотра содержимого архива перед его извлечением. Если эту возможность отключить, Ark будет предлагать для просмотра стандартную для вашей системы программу.
  • Добавление. Используется для настройки добавления файлов в архив. Мы можем, к примеру, настроить приложение таким образом, что старые файлы в архиве будут заменены на обновленные варианты – это полезно для резервного копирования. Вы также можете убедиться, что символические ссылки, не являясь реальными файлами, все же включаются в архив именно как файлы. Это может быть полезно, если у вас есть файлы на удаленном сервере с символическими ссылками, указывающими на вашу домашнюю папку /home. Нет ничего более досадного, чем случайно упаковать десять пустых ссылок на уже не существующие папки!
  • Извлечение. Содержит настройки, влияющие на процесс извлечения файлов. Например, мы можем настроить приложение на сохранение прав доступа к извлеченному файлу, или на замену файлов с одинаковыми именами. тем не менее, многие настройки не распространяются на редкие форматы архивов.

секреты File Roller

File Roller представляет собой менеджер архивов, поставляемый вместе с рабочим окружением Gnome. В некоторых дистрибутивах он помещен в Utilities (Утилиты) > Archiving (Архивирование) > Archive Manager (Архивный менеджер) вместо простого обозначения «File Roller». С первого взгляда, интерфейс по умолчанию удивительно напоминает Ark, к тому же он работает практически по такому же принципу. однако на панели меню оказывается скрытым несколько большее количество достойных внимания опций.

однажды открыв или создав архив, вы заметите, что расположение элементов программы немного изменилось. File Roller не отображает полный путь к имени файла в первой колонке, но показывает его в самой правой части под названием «Location» (Адрес). Вы также заметите отсутствие ячеек с размерами файла «до» и «после» сжатия и колонки, показывающей степень компрессии. качество сжатия можно настроить в меню Archive (Архив)> Properties (Свойства).

Процесс извлечения и создания архивов одинаков и в File Roller, и в Ark, с разницей лишь в том, что функции, расположенные у Ark в меню «Action» (Действие), у File Roller находятся в меню «Edit» (Правка). Не забудьте также, что иконка «Add» (Добавить) на панели инструментов может добавить лишь отдельно выделенные файлы: чтобы добавлять папки, вам нужно открыть меню «Edit» (Правка) > «Add a Folder» (Добавить папку). кроме того, присутствуют стандартные пункты вырезать/копировать/вставить и возможность переименовать файлы внутри архива («Edit» (Правка) > «Rename» (Переименовать)). также есть отдельная функция для переименования всего архива - она расположена в меню «Archive» (Архив).

У данного приложения нет своего собственного дополнения для просмотра архивов, так что при выборе опции «View» (Посмотреть) запустится программа, отвечающая за выбранный тип файла.

У File Roller есть и несколько настроек безопасности. Создав архив, вы можете проверить его на целостность и убедиться, что с файлами все в порядке. Выберите «Archive» (Архив) > «Test Integrity» (Проверка целостности) и дождитесь подтверждения того, что проблем не обнаружено. Вы также можете зашифровать ваш архив и защитить его паролем: это можно легко сделать через «Edit» (Правка) > «Password Entry» (Ввод пароля). теперь, когда вы будете извлекать содержимое архива, система запросит пароль – выберите что-нибудь запоминающееся, так как забытый пароль будет означать, что вы потеряли архив навсегда.

Помните также, что, как и в Ark, однажды удаленный из архива файл восстановить невозможно. тем не менее, если использовать опцию «Move To Wastebasket» (Удалить в мусорную корзину) в меню «Archive» (Архив), весь архив переместится в корзину, и позже может быть восстановлен.

ФормАты АрХивов, поддерЖивАемые проГрАммАми ARK и FILE ROLLER
.a .ar .bz .bz2 .deb .ear .gz .jar .lha .lzo .rar .tar .tar.bz .tar.bz2 .tar.lzo .tar.gz .tar.z .war .z .zip .zoo .7z
Ark
File Roller
Персональные инструменты
купить
подписаться
Яндекс.Метрика