Рис. 1.2. Утилита для работы с пакетами в Slackware pkgtool
 
   В последних версиях канадского дистрибутива Vector Linux (веб-сайт http://www.vectorlinux.com/), основой для которого послужил Slackware, формат пакетов tar.gz заменен на tlz. Последний почти ничем не отличается от традиционного, только в нем вместо программы-архиватора GZIP использован упаковщик LZMA. Хотя пакеты для Slackware Vector Linux также поддерживает. Для установки в контекстном меню в Vector Linux следует выполнить команду Actions → VectorLinux Package → Install (Действия → Пакет VectorLinux → Установить).
   Для работы с deb-пакетами используется утилита dpkg, основные параметры которой практически совпадают с rpm. Например, для установки deb-пакета следует выполнить команду dpkg –i package_name.deb, для удаления пакета dpkg вызывается с ключом –r (или –remove), получить список установленных пакетов поможет ключ –l (–list), ключи –force и –ignore-depends помогут проигнорировать проблемы, возникшие при установке или удалении пакета. В дистрибутиве Kubuntu такой пакет можно установить из контекстного меню файлового менеджера Konqueror, выполнив команду Kubuntu Package Menu → Install Package (Меню пакета Kubuntu → Установить пакет) (рис. 1.3).
   Рис. 1.3. Установка пакета в Linux Kubuntu
 
   В составе Kubuntu есть графическая утилита gdebi, позволяющая устанавливать отдельные пакеты. Все просто, хотя не совсем удобно, так как если пакет требует для работы других пакетов, то их также придется предварительно скачать и установить одним списком, а таких пакетов может быть десяток, которые в свою очередь, потребуют еще несколько. В таком случае установка крайне неудобна. Кроме того, искать их по всем сайтам Интернета также непросто, поэтому разработчики собрали все пакеты в одном месте, а специальные программы отслеживают зависимости, поэтому установка приложений в Linux даже проще, чем в Windows. Инсталляция индивидуальных пакетов сегодня применяется в тех случаях, когда нужного пакета нет в репозитарии, а также для экономии трафика (когда необходимый пакет уже есть, его незачем скачивать повторно).
Системы управления пакетами
   В последнее время наибольшее распространение получили системы управления пакетами, которые обеспечивают пользователя единым интерфейсом для поиска, установки, обновления и удаления. Наиболее известным является APT. Появившийся сначала в дистрибутиве Debian и изначально рассчитанный на работу с пакетами в формате deb, он быстро стал универсальным средством управления программами, в том числе и с пакетами в других форматах rpm (в дистрибутивах ALTLinux и Connectiva). Порт APT для работы с tgz-пакетами Slackware называется slapt-get и сегодня имеет несколько графических надстроек вроде Gslapt (рис. 1.4), хотя есть и другие варианты – swaret или slackpkg.
   Рис. 1.4. Gslapt – графический интерфейс к slapt-get
 
   Менее распространены другие системы управления пакетами – urpmi (Mandriva) и yum (Red Hat/Fedora и ASPlinux). Они ориентированы на работу с rpm-пакетами и широкого распространения не получили. Подробно рассматриваться эти системы не будут, тем более что после установки дистрибутива они, как правило, готовы к работе, а пользователю предоставлен понятный графический интерфейс. Например, программа установки приложений в дистрибутиве Mandriva выглядит так (рис. 1.5).
   Рис. 1.5. Установка приложений в Mandriva
 
   Так же просто устанавливаются приложения и в дистрибутивах RedHat/Fedora/ASPLinux (рис. 1.6).
   Рис. 1.6. Менеджер пакетов в дистрибутиве Fedora
 
   По причине большей распространенности и так как в комплекте данной книги идет дистрибутив Kubuntu, в котором для установки приложений используется APT, более подробно остановимся на работе с этой системой.
Работа с apt-get в Ubuntu
   Все, что будет описано в данном разделе, практически полностью действительно и для других систем, использующих APT, – Debian, MEPIS, Linspire/Freespire, ALTLinux и клонов APT вроде slapt-get.
   Описание репозитариев. Пакеты в репозитарии структурированы по назначению, платформе и прочим характеристикам. Список известных дистрибутиву репозитариев приведен в файле /etc/apt/sources.list. Заглянем внутрь (рис. 1.7).
   Рис. 1.7. Список репозитариев, выведенный утилитой Synaptic
   $ cat /etc/apt/sources.list
   #deb cdrom:[Kubuntu 7.04 _Feisty Fawn_ – Beta i386 (20070322.1)]/ feisty main restricted
   deb http://ua.archive.ubuntu.com/ubuntu/ feisty main restricted
   deb-src http://ua.archive.ubuntu.com/ubuntu/ feisty main restricted
   deb http://ua.archive.ubuntu.com/ubuntu/ feisty-updates main restricted
   deb http://ua.archive.ubuntu.com/ubuntu/ feisty universe multiverse
   deb http://ua.archive.ubuntu.com/ubuntu/ feisty-backports main restricted universe multiverse
   deb http://security.ubuntu.com/ubuntu feisty-security main restricted
   Рассмотрим, что получилось. Первая строка указывает на CD-ROM, точнее, на конкретный диск с указанной меткой. Для добавления любого другого диска с пакетами (он должен иметь специальную структуру, о чем будет рассказано далее) достаточно вставить его в привод и набрать в консоли команду sudo apt-cdrom add – программа попросит вставить диск, после чего нужно нажать Enter. Далее в файле описываются репозитарии, находящиеся на различных узлах в Интернете. В первой строке указан тип пакета (deb указывает, что будут загружаться пакеты с уже скомпилированными программами; а deb-src означает, что будут использоваться пакеты с исходными текстами). Периодически необходимо обновлять список пакетов, имеющихся в репозитариях. Это делается командой sudo apt-get update.
   При большом количестве записей суммарный объем скачанных файлов может превышать 10 Мбайт, поэтому, если не планируется самостоятельная сборка/пересборка пакетов, строки, содержащие deb-src, можно закомментировать, поставив в начале знак #. Таким образом можно уменьшить нагрузку на канал и время обновления списка.
   Следующая запись означает зеркало, с которого будут загружаться обновления. Официальный репозитарий Ubuntu располагается по адресу http://archive.ubuntu.com/ubuntu/. При установке дистрибутива в зависимости от региона автоматически выбирается одно из многочисленных зеркал репозитария. Например, украинское зеркало имеет адрес http://ua.archive.ubuntu.com/ubuntu/, российское вместо ua использует ru, поэтому, читая зарубежные материалы, следует переносить их на местные реалии. Например, если в статье говорится, что для установки нужно добавить в список сервер http://gb.archive.ubuntu.com/ubuntu/, это не значит, что нужно выполнять такой совет. У вас уже использовано локальное зеркало. Хотя здесь все не так просто, как кажется.
   Во-первых, зеркала обновляются не мгновенно, а через некоторый период времени. Хотя это нестрашно. Интересней скорость доступа к зеркалу. Так, команда traceroute показывает 14 промежуточных узлов в случае с вариатом ua, при этом сам сервер находится в Лондоне, IP-адрес совпадает с официальным archive.ubuntu.com, а пакет проходит чуть менее шести тысяч километров, то есть фактически украинское зеркало совпадает с официальным репозитарием. Причем скорость закачки днем в случае автора равна приблизительно 128 Кбайт/сек, а ночью – в два раза ниже. При установке пакетов с итальянского сервера с префиксом gb пакет пройдет 12 узлов и на тысячу километров меньше. Польский (pl) сервер «находится» от автора в 6126 километрах, через 14 промежуточных узлов, но отклик отличный. Полный список репозитариев можно найти по адресу https://wiki.ubuntu.com/Mirrors?action=show&redirect=Archive.
   Следующей строкой идет название версии дистрибутива: для 7.04 это feisty, 6.10 – edgy, 6.06 – dapper. Такая строка показывает, что будут использованы основные и тщательно протестированные пакеты, собираемые самими разработчиками. К названию дистрибутива может быть добавлено одно из четырех окончаний:
   • backports – не протестированные, но часто очень полезные пакеты;
   • proposed – предлагаемые, но пока не протестированные обновления;
   • security – обновления безопасности;
   • updates – обновления, прошедшие стадию proposed.
   Таким образом, на каждый дистрибутив приходится пять возможных значений. В большинстве домашних систем использование всех категорий пакетов не является рациональным, часто кроме обязательного main достаточно оставить только backports.
   Последняя позиция, представлена еще четырьмя характеристиками, которые можно поместить в одной строке:
   • main – пакеты со свободной лицензией, поддерживаемые разработчиками Ubuntu;
   • universe – пакеты со свободной лицензией, поддерживаемые сторонними разработчиками;
   • multiverse – пакеты с несвободной лицензией, поддерживаемые сторонними разработчиками;
   • restricted – пакеты с несвободной лицензией, которые не могут быть изменены, например двоичные драйверы.
   Набрав в строке веб-браузера указанный адрес, можно обнаружить, что последние два компонента в описании репозитария являются подкаталогами каталога dists (рис. 1.8).
   Рис. 1.8. Репозитарий Ubuntu
 
   Продвигаясь далее, можно найти еще каталоги, соответствующие архитектуре и локализации, но добавлять тип архитектуры и локализацию в описание репозитария не нужно – эти данные будут получены автоматически по текущим настройкам системы. Возникает вопрос, что делать, если была установлена версия системы под i386, а на компьютере установлен процессор AMD64. Загружать пакеты под свой тип процессора просто. Нужно открыть в любом текстовом редакторе файл /etc/apt/apt.conf.d/01ubuntu и в секции APT добавить следующую строку:
   Architecture «amd64»
   Либо в любом месте добавить
   APT::Architecture «amd64»
   Затем необходимо сохранить изменения, обновить список пакетов и попробовать получить небольшой файл; если пакет имеет в названии amd64, все сделано верно. Теперь можно обновить всю систему, для чего следует выполнить всего одну команду:
   $ sudo apt-get dist-upgrade
   Примеры всех параметров этого файла можно найти в каталоге /usr/share/doc/apt/examples. Сами пакеты находятся на сайте в другом подкаталоге (pool) и рассортированы по несколько иному принципу, но, так как менеджер пакетов скрывает эту структуру, не будем вдаваться в подробности.
   Утилита APT проста в использовании. Например, чтобы найти программу, проигрывающую MP3-файлы, достаточно выполнить команду sudo apt-cache search mp3. В результате будет выведен список всех пакетов. Для установки любого пакета достаточно ввести sudo apt-get install имя_пакета; если пакет необходимо обновить, вместо install используется update. При наличии соединения с Интернетом все остальное утилита сделает сама. При желании самостоятельно скомпилировать пакет, который имеется в репозитарии, чтобы не разбираться с зависимостями, вначале выполните следующую команду:
   $ sudo apt-get build-dep имя_пакета
   Затем скомпилируйте новую версию программы (./configure; make), но вместо команды для установки make install используйте команду apt-get install checkinstall, которая создаст новый пакет и затем установит его.
   Добавление репозитариев. Добавить новый репозитарий можно несколькими способами. Самый простой – открыть в любом текстовом редакторе (через sudo) файл /etc/apt/sources.list и вписать нужную строку. Причем следует помнить, что чем ближе запись к началу файла, тем большим преимуществом будет обладать этот репозитарий.
   В составе дистрибутива Kubuntu имеется понятный графический интерфейс к apt-get – Adept (рис. 1.9). В его окне достаточно выбрать нужное приложение, и оно будет автоматически установлено.
   Рис. 1.9. Adept – программа для установки приложений в Kubuntu
 
   Для того чтобы добавить репозитарий с его помощью, выполните команду Вид → Управление репозитариями, перейдите на вкладку Third-party Software (Компонент третьей стороны), нажмите кнопку Add (Добавить) и вставьте нужную строку. Здесь же на других вкладках включается автоматическое обновление списка пакетов, выбираются категории пакетов основного репозитария и используемое зеркало. Страница Authentication (Аутентификация) предназначена для загрузки GPG-ключей, необходимых для проверки подписи пакетов. Последнее делать необязательно, пакеты будут устанавливаться и без этого, но так вы будете уверены, что их собрал именно тот человек, с чьего ресурса они получены, да и менеджер пакетов не будет задавать лишних вопросов. Месторасположение файлов ключей обычно указывается на главной странице ресурса. Его можно добавить и в командной строке. Например:
   $ wget http://seveas.imbrandon.com/1135D466.gpg -O– | sudo aptkey add -
   В более распространенном графическом фронт-энде к apt-get Synaptic (рис. 1.10) репозитарий добавляется через команду Settings → Repositories (Настройки → Репозитарии) (см. рис. 1.7).
   Рис. 1.10. Программа для установки приложений Synaptic
 
   После того как репозитарии добавлены, следует обновить список пакетов. В консоли это делается командой:
   $ sudo apt-get update
   В Synaptic достаточно нажать кнопку Reload (Перезагрузить), в Adept – Получить обновления.
   Информация о репозитариях и пакетах собирается в каталоге /var/lib/apt/lists в виде файлов, имена которых соответствуют названию архива.
   $ ls /var/lib/apt/lists ua.archive.ubuntu.com_ubuntu_dists_feisty-backports_main_binaryi386_Packages
   Заглянув в этот каталог, можно получить информацию о любом пакете. Впрочем, смотреть необязательно – это сделают утилиты. Например, введя sudo apt-cache showpkg gcc-4.1, можно узнать все о пакете gcc.
   Создание локального репозитария. Создать локальную копию репозитария можно одной командой (требуется пакет debmirror):
   $ /usr/bin/debmirror –nosource -m –passive
   –host=archive.ubuntulinux.org –root=ubuntu –method=ftp
   –progress –dist=feisty,feisty-security,
   feisty-updates,feisty-backports –ignore-release-gpg
   –section=main,restricted,multiverse,universe
   –arch=i386,amd64
   Большая часть параметров понятна из объяснений выше, трафик составит не один гигабайт и потребует много свободного места на диске. Чаще возникает необходимость создать свой репозитарий из уже скачанных файлов и пользоваться им как обычно, с помощью apt-get. Для создания списка пакетов понадобится утилита dpkg-scanpackages, входящая в состав dpkg-dev. Установите:
   $ sudo apt-get install dpkg-dev
   Теперь создайте каталог, в который скопируйте все пакеты.
   $ mkdir archives
   Перейдите в образованный каталог.
   $ cd archives
   Выполните следующую команду:
   $ dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
   По окончании работы утилиты будет выдан список пакетов и их количество; чтобы добавить новый репозитарий в файл sources.list, нужно прописать путь к созданному каталогу, например:
   deb file:/home/grinder/archives ./
   Сохраните изменения и введите sudo apt-get update; если в /var/lib/apt/lists добавился новый каталог, все было сделано верно. Теперь можно копировать этот каталог на другие системы. При добавлении в него пакетов процедуру придется повторить. В Интернете можно найти достаточно описаний того, как перенести свой репозитарий на CD/DVD. Существует вариант проще – использовать утилиту APTonCD (aptoncd.sourceforge.net) (рис. 1.11). Сначала установите ее следующей командой:
   $ sudo apt-get install aptoncd
   Рис. 1.11. Окно программы APTonCD
 
   Теперь можно вызвать ее через меню Система. Пользоваться программой просто. На вкладке Create (Создать) нужно нажать кнопку Create APTonCD (Создать APTonCD) – будет просканирован каталог /var/cache/apt/archives, и все файлы будут добавлены в проект. Далее нажмите кнопку Add Package (Добавить пакет) и укажите пакеты, находящиеся отдельно. Нажмите кнопку Options (Параметры) и в списке Medium Type (Тип носителя) выберите тип образа – CD или DVD, а в поле Destination Folder (Папка назначения) укажите каталог, куда будет помещен готовый ISO-образ.
   Нажмите OK – программа создаст образ и появится диалоговое окно, предлагающее сразу записать его на носитель. На вкладке Restore (Восстановить) можно скопировать (то есть восстановить) все файлы и добавить CD-ROM.

http://www.rpm2tgz.com) или почти универсальная alien (http://kitenet.net/programs/alien/).
   Утилита rpm2tgz по умолчанию входит в состав дистрибутива Slackware и клонов и позволяет конвертировать rpm-пакеты в tgz, которые затем можно установить с помощью installpkg.
   $ rpm2tgz package.rpm
   В результате в текущем каталоге появится пакет с таким же именем, но расширением tgz; установите его.
   # installpkg package.tgz
   Программа alien позволяет конвертирование между Redhat (rpm), Debian (deb), Slackware (tgz) и другими форматами. В Ubuntu она устанавливается командой:
   $ sudo apt-get install alien
   Теперь, чтобы конвертировать rpm-пакет в deb, выполните такую команду:
   $ alien –to-deb package.rpm
   Для конвертирования deb в rpm – следующую:
   $ alien –to-rpm package.deb

http://www.openoffice.org/, русскоязычную сборку можно скачать с http://ru.openoffice.org/. Существуют и альтернативные сборки, например http://www.i-rs.ru/. Последние две предпочтительнее, так как в их комплект входят дополнительные словари для проверки орфографии, которые в других придется устанавливать отдельно. Проблем при установке обычно не возникает, хотя в большинстве дистрибутивов Linux OpenOffice.org уже есть.
   Примечание
   При первом запуске любого приложения из состава OpenOffice.org будет предложено зарегистрироваться, указав сведения о себе. Этот шаг можно пропускать, отказавшись от регистрации или отметив, что вы уже являетесь зарегистрированным пользователем.
   В пакет OpenOffice.org входит несколько программ:
   • OpenOffice.org Writer – для работы с текстовыми документами и по совместительству редактор веб-документов, этикеток и визитных карточек, аналог Microsoft Word (рис. 2.1);
   • OpenOffice.org Calc – для работы с электронными таблицами, аналог Microsoft Excel;
   • OpenOffice.org Draw – для создания и редактирования изображений;
   • OpenOffice.org Impress – для создания презентаций, аналог Microsoft PowerPoint;
   • OpenOffice.org Base – для создания баз данных, поддерживающая не только Microsoft Access, но еще и девять различных баз данных; к сожалению, формат Base не будет понят Microsoft Access, несмотря на простой с виду интерфейс; очень удобная программа с большим количеством функций;
   • OpenOffice.org Math – вспомогательная программа для работы с математическими формулами, аналог Microsoft Equation, его можно вызвать как из меню другого приложения, так и в качестве самостоятельной утилиты.
   Рис. 2.1. OpenOffice.org Writer
 
   Кроме этого, в состав пакета входит и небольшая утилита quickstarter. С ее помощью можно быстро запустить приложения OpenOffice из панели задач. Из репозитария пакетов Kubuntu командой sudo apt-get install oooqs2-kde можно установить апплет аналогичного назначения oooqs2-kde.
   Примечание
   В составе дистрибутива Kubuntu все компоненты OpenOffice.org (за исключением Math и Draw) есть и устанавливаются по умолчанию вместе с системой, интерфейс не локализован, но, чтобы вместо английских меню выводились русские названия и переведенная справочная документация, следует установить пакеты openoffice.org-l10n-ru, openoffice.org-help-ru.
   Любая программа, входящая в пакет, весьма функциональна и удобна в использовании. Интерфейс очень похож на Microsoft Word, кнопки на панели инструментов расположены аналогично, заголовки идентичны, и при некоторых темах оформления KDE определить, что именно запущено – Calc (рис. 2.2) или Excel, – непросто. Различаются только значки, и в некоторых дистрибутивах вроде SUSE для оформления использована собственная тема. Пользователи со стажем быстро найдут отличия в содержании пунктов меню, но практика показывает, что к изменениям можно быстро привыкнуть и даже считать, что OpenOffice.org удобнее, чем Word.
   Рис. 2.2. Окно OpenOffice.org Calc
 
   Первое, что обращает на себя внимание при знакомстве с панелью инструментов, – это наличие кнопки экспорта файла в формат PDF. Это полезная и весьма востребованная функция, так как она избавляет от необходимости дополнительно использовать программу-конвертер. Функции для форматирования документов и работы со шрифтами аналогичны продукту от Microsoft. Кстати, возможность предварительного просмотра шрифтов в раскрывающемся списке на панели инструментов сначала появилась во Writer.
   Дать оценку остальной функциональности сложнее, так как пользователи выполняют разные задачи, у всех свои привычки и требования, поэтому в обзорах можно встретить иногда диаметрально противоположные мнения о продуктах, входящих в состав OpenOffice.org. Однако среднестатистический пользователь вряд ли найдет большое количество недостатков, а учитывая цену OpenOffice.org, можно закрыть глаза на некоторые из них (например, то, что Writer проверяет правописание отдельных слов (при наличии словарей, которые входят в пакет myspell-ru), а несогласованные предложения – нет).
   Может также не понравиться отсутствие возможности нарисовать таблицу. Ее можно создавать только по стандарту, выбрав нужное количество строк и столбцов. Некоторые пользователи решают эту проблему путем импорта таблицы из Calc или выполнением команды Таблица → Разбить ячейки. Другие возможности в работе с таблицами сделаны даже лучше, чем в Word. Например, таблица в таблице, рисунок с помощью встроенных средств и другие объекты создаются просто и без потери форматирования. Аналогично упрощена процедура добавления различных объектов вроде рисунков, звука и прочего в документ, хотя объектов в галерее (команда Сервис → Галерея) меньше, чем в Word.
   Количество функций в Calc не уступает Excel, реализовано автоматическое распознавание зависимостей между ячейками, и есть удобный фильтр, позволяющий отобрать данные по некоторому критерию, что можно использовать, например, для удаления только чисел.
   Совет
   По умолчанию каждый компонент OpenOffice.org сохраняет документы в своем формате, поэтому при переносе на другой компьютер следует убедиться, что данный файл будет прочитан. Выполнив команду Сервис → Параметры → Загрузка/Сохранение → Общие и в списке Тип документа выбрав пункт Всегда сохранять как, можно указать, в каком из форматов всегда сохранять выбранный тип документов.