Сергей Акимович Яремчук 200 лучших программ для Linux



Pdf просмотр
страница1/2
Дата11.12.2016
Размер1.87 Mb.
Просмотров293
Скачиваний0
ТипРеферат
  1   2

Сергей Акимович Яремчук
200 лучших программ для Linux
Текст предоставлен издательством
http://www.litres.ru/pages/biblio_book/?art=183736
200 лучших программ для Linux: Питер; Санкт-Петербург; 2008
ISBN 978-5-388-00068-2
Аннотация
Несмотря на то что сегодня на компьютерах пользователей безраздельно господствует Windows, количество установок альтернативных систем не уменьшается, а,
наоборот, увеличивается. Если вы держите в руках эту книгу, очевидно, выбор уже сделан
– Linux. Одна из проблем, с которой сталкиваются пользователи, желающие установить и,
главное, применять в качестве рабочей операционную систему GNU/Linux, – это отсутствие информации по программам. Данное издание как раз поможет ее решить. В нем вы сможете найти замену для привычных по работе в Windows программ. Описания приведены без привязки к какому-то определенному дистрибутиву.
Диск с примерами программ прилагается только к печатному изданию книги.

С. А. Яремчук. «200 лучших программ для Linux»
3
Содержание
Введение
4
Глава 1 5
Особенности программ Linux
6
Установка программ в Linux
8
Компиляция программ
8
Портежи Gentoo
10
Пакетные системы
11
Конвертеры пакетов
25
Глава 2 27
Пакет OpenOffice.org
28
Офисный пакет KОffice
33
Компоненты GNOME Office
42
Текстовые редакторы
47
Редактор Kate
47
Редактор Gedit
49
Редактор TEA
50
Глава 3 51
Программы для просмотра видео
52
Поддержка MP3 и видео в Kubuntu
52
Видеопроигрыватель MPlayer
55
Видеопроигрыватель Xine
59
Музыкальные проигрыватели
62
Конец ознакомительного фрагмента.
64

С. А. Яремчук. «200 лучших программ для Linux»
4
Сергей Акимович Яремчук
200 лучших программ для Linux

Введение

Сегодня так много говорят об операционной системе GNU/Linux, что создается впечат- ление, что ее можно увидеть на большинстве домашних компьютеров. Это не так. Устано- вить ее пытаются только некоторые любопытные. Встретив определенные трудности, не все справляются с ними. На этом эксперимент чаще всего заканчивается. Пользователь пыта- ется найти знакомые названия и приложения, которых не оказывается. Проходят путь до конца лишь единицы. На форумах и сайтах можно найти много материалов на тему Windows против Linux. Большая часть критических высказываний по поводу работы Linux написана пользователями, которые так и не смогли дойти до конца и теперь пытаются сделать вывод,
основываясь на своих поверхностных знаниях. Проблема таких пользователей как раз и состоит в том, что они так и не поняли смысл UNIX-подобной системы.
Использование Linux легально, безопасно, надежно, выгодно и интересно. Компьютер
– это не самоцель, а всего лишь инструмент, предназначенный для решения определенных задач. Потратив день на настройку Linux и установку необходимых приложений, пользо- ватель работает, больше не отвлекаясь на борьбу с вирусами, дефрагментацию диска или очистку реестра. Основное, чем привлекателен Linux, – никто не заставляет его использо- вать, не навязывает дистрибутив, версию, программы и прочее. Вы сами выбираете, что вам больше подходит, благо выбирать есть из чего.

От издательства

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты dgurski@minsk.piter.com
(издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.

С. А. Яремчук. «200 лучших программ для Linux»
5

Глава 1
Общие сведения о программах Linux

Особенности программ Linux
• Установка программ в Linux
Linux – это не программа, а операционная система со своими принципами построе- ния и особенностями. Здесь все не так, как в Windows: например, в Linux нет привычных обозначений дисков С:, D:, любой компонент, в том числе и графическую среду, можно без последствий заменить альтернативным вариантом, и еще много другого, к чему придется привыкнуть. Одна из первых проблем, с которой столкнется любой пользователь, – порядок установки, обновления и удаления программ, в процессе чего выясняется, что скачать файл и дважды щелкнуть на нем кнопкой мыши в большинстве случаев недостаточно. Какой файл качать, что еще нужно сделать, чтобы программа установилась и, главное, работала? Обо всем по порядку.

С. А. Яремчук. «200 лучших программ для Linux»
6

Особенности программ Linux

Главный девиз UNIX-систем звучит как KISS – Keep It Simple Stupid, то есть «не услож- няй». В качестве доказательства такой пример. У автора дома по Linux всего одна книга,
которую он смог найти в магазинах в период, когда начал интересоваться системой. Это издание «Использование Linux» Джека Такета. Книге уже семь лет, но большая часть мате- риала действительна до сих пор. В Интернете можно найти много старых книг, и все они в большинстве своем актуальны. Попробуйте применить книгу, написанную о Windows 98
или Windows XP к Vista, – почти весь материал окажется бесполезным.
Разработчик программы для Windows часто вынужден писать с нуля большинство функций, так как все защищено патентами, и либо платишь, либо делаешь все сам.
На это уходит время, разработчику приходится самому разбираться в множестве вопро- сов либо привлекать людей, которые помогут добавить нужную функциональность, что при- водит к удорожанию продукта. Зато программа устанавливается двойным щелчком мыши,
так как все компоненты уже включены в дистрибутив. В Linux процесс выглядит несколько иначе.
Примечание
GNU – это рекурсивная аббревиатура от GNU's Not UNIX (GNU – не
UNIX).
Программы, библиотеки и прочее распространяются с исходными кодами под лицен- зией GNU GPL (General Public License – стандартная общественная лицензия), которая ста- вит только одно условие: если при разработке используется программа с этой лицензией, то и полученный продукт также должен распространяться по лицензии GNU GPL.
Примечание
Слово free («свободный») в английском языке имеет несколько значений, в том числе и «бесплатный».
На сайте проекта GNU (
http://www.gnu.org/home.ru.html
) дано пояснение английского слова free. По их мнению, программное обеспечение – это предмет свободы, а не цены, и,
чтобы понять идею, свободное программное обеспечение не нужно ассоциировать с бес- платным мороженым, то есть свободное не обязательно должно быть бесплатным. Свобод- ное программное обеспечение позволяет пользователям свободно запускать, копировать,
распространять, изучать, изменять и улучшать программное обеспечение. Более точно это раскрыто в четырех типах свободы для пользователей программного обеспечения:
• свободно запускать программы для любых целей (свобода 0);
• свободно изучать, как работает программа, и иметь возможность свободно адаптиро- вать ее под свои нужды (свобода 1); доступ к исходным кодам является непременным усло- вием;
• свободно распространять копии, чтобы помочь тем, кто интересуется свободным про- граммным обеспечением (свобода 2);
• свободно улучшать программы и делать улучшения доступными для других; из этого извлекает пользу все сообщество (свобода 3); доступ к исходным кодам является непремен- ным условием.
Такой подход дает программисту простоту и быстроту разработки. Он использует уже готовые компоненты, не вникая в суть их работы, и создает новый продукт.
Каждый улучшает только свою часть продукта. Так, в Linux очень много консольных утилит. Начинающему пользователю непросто освоить все параметры командной строки,
ему удобнее, чтобы программа имела понятный и легкий в освоении графический интер-

С. А. Яремчук. «200 лучших программ для Linux»
7
фейс. Программист же не создает новый продукт, он берет все консольные утилиты и пишет к ним графическую надстройку – фронт-энд (front-end), который скрывает от пользова- теля особенности работы консольных программ, часто добавляя новую функциональность.
Например, популярный консольный видеопроигрыватель MPlayer имеет несколько таких надстроек – Kplayer, KMplayer, smplayer, Freevo и другие.
Однако чтобы такая программа заработала, необходимо установить все остальные ком- поненты и библиотеки, которые она использует. Например, для популярной утилиты записи дисков K3B потребуется установить 48 библиотек и программ (рис. 1.1).
Рис. 1.1. Список зависимостей пакета K3B
Такие пакеты называются зависимостями. Большинство из них, вероятно, уже есть в системе, но если не будет хотя бы одного, то установить программу будет проблематично либо после установки она не будет иметь полную функциональность.
Зависимости бывают двух видов:
• жесткая (hard): обязательная, без нее программа, скорее всего, не будет работать;
• мягкая (soft): рекомендуемая, без нее программа работать будет, но, установив такой пакет, можно добавить приложению функциональность (например, работу с некоторым фор- матом файлов).
Именно поэтому, скачав всего один пакет, установить программу часто не получается.
Есть еще одна проблема, о которой необходимо знать. В отличие от Windows, релизов которой не так много, дистрибутивов Linux огромное количество. Они отличаются не только названием, так как Linux – это только ядро, разрабатываемое под руководством Линуса
Торвальдса, а все остальное – это что-то вроде набора «Сделай сам». Эти наборы хороши,
но часто не только не совместимы между собой, но и для каждой новой версии одного и того же дистрибутива потребуется специально собранный пакет. Не будем вдаваться в подробно- сти, тем более что не все так плохо, так как в популярных решениях используются пакетные системы, скрывающие такие особенности, но об этом просто нужно знать.

С. А. Яремчук. «200 лучших программ для Linux»
8

Установка программ в Linux

Изначально Линус Торвальдс предоставлял пользователям только ядро, а остальное они компилировали сами. Сейчас ситуация полностью изменилась, и в современных дис- трибутивах для установки программы достаточно одного щелчка кнопкой мыши.

Компиляция программ

Даже после появления пакетов, которые представляли собой уже скомпилированные программы, компиляция долгое время оставалась и для некоторых остается основным сред- ством установки.
Примечание
Первые прекомпилированные наборы появились в дистрибутиве
SLS Linux, который в начале 90-х годов был самым популярным дистрибутивом. Его создатели сочли неудобным самостоятельнную сборку приложений, поэтому пользователям были предложены не только само ядро Linux и основные утилиты, но и набор разнообразного программного обеспечения с простой программой установки. Все это поставлялось уже в скомпилированном виде, исходный текст прилагался только для самых основных компонентов вроде ядра. Кстати, основой популярных сегодня дистрибутивов Slackware и Debian послужил именно SLS.
Несмотря на обилие пакетных систем, о которых пойдет речь далее, многие пользо- ватели предпочитают самостоятельно собирать программы, так как в репозитариях часто находится устаревшая версия программ, и приходится ждать, когда сборщик займется ею.
Примечание
Человека, который отвечает за сборку пакета, называют maintainer,
в Интернете часто можно встретить это слово в русской транскрипции –
майнтейнер, или сборщик. Он отвечает за то, что пакет протестирован,
работоспособен и его установка не вызовет сложностей. В процессе сборки он может использовать патчи (англ. patch – «заплатка»), изменяющие функциональность или устраняющие найденные ошибки. Однако таких людей мало, и все пакеты отслеживать трудно, поэтому проекты постоянно привлекают добровольцев.
Кроме этого, иногда требуется изменить функциональность программы при помощи патчей, не используемых майнтейнером. Последняя причина – это производительность:
чтобы пакет работал на максимально большом количестве оборудования, его собирают с оптимизацией под определенный тип процессора – как правило, это i386, то есть под про- цессор Intel 80386, выпущенный еще в 1985 году. Встречаются сборки i486, i586 (Pentium
MMX) и i686 (Pentium Pro), в последнее время появились сборки под 64-битные процес- соры. Собирая программу самостоятельно, пользователь может скомпилировать ее под свой тип процессора, под мультипроцессорные системы и прочее. Эксперименты доказывают,
что производительность получаемого пакета увеличивается (в зависимости от аппаратного обеспечения) от 10 до 200 % по сравнению с бинарными сборками, поставляемыми с дис- трибутивом, и чем новее оборудование, тем больше эффективность такой сборки, хотя она не всегда нужна.
Установка программ, распространяющихся в виде исходных файлов, вызывает трудно- сти у большинства начинающих пользователей Linux, хотя считается, что это один из основ-

С. А. Яремчук. «200 лучших программ для Linux»
9
ных навыков, необходимых для работы. Это несколько устаревшее мнение, но попробуем разобраться.
Внимание!
Для самостоятельной компиляции программ потребуются компилятор
GCC, GNU Make и прочие утилиты. В некоторых дистрибутивах они по умолчанию не устанавливаются. И чтобы установить их, в Kubuntu необходимо выполнить команду sudo apt-get install build-essential.
Как правило, исходные файлы заархивированы в так называемый тарболл (tarball).
Архив, в зависимости от программы, которая использовалась при его создании, имеет суффикс .tar.gz или .tar.bz2 и имя типа program-х.хх, где program– это название программы,
а х.хх – версия.
В общем виде процесс установки выглядит так. Сначала распаковывается архив с помощью графической программы или команд:
tar xzvf program-х.хх.tar.gz tar xjvf program-х.хх.tar.bz2
Затем следует перейти в образовавшийся каталог. В нем можно найти файлы с именами
INSTALL или README, в которых кратко описан процесс установки, сказано о зависимо- стях программы, даны описание программы и инструкции по сборке.
В общих случаях достаточно выполнить команду ./configure без дополнительных пара- метров. Сценарий самостоятельно найдет все программы и библиотеки и, если все в порядке,
создаст makefile, необходимый для компиляции программы. Однако в случае, если сценарий что-то не найдет, последует сообщение об ошибке – внимательно прочитайте его и поста- райтесь понять, в чем дело.
Внимание!
В дальнейшем при описании консольных команд будет использоваться знак доллара ($), что означает, что для выполнения этой команды достаточно прав обычного пользователя, или знак решетки (#), что требует прав root.
Скорее всего, в сообщении будет сказано, что отсутствует какой-то файл или библио- тека либо имеющаяся версия устарела. В этом случае придется искать и устанавливать недо- стающее. Однозначного совета дать невозможно, здесь потребуется некоторый опыт. В слу- чае если сообщение об ошибке непонятное, лучше поискать ответ на различных форумах
– велика вероятность, что кто-то уже столкнулся с похожей проблемой и нашел ее удач- ное решение. Задавая вопрос, вставьте в него текст сообщения и укажите название и вер- сию устанавливаемой программы и используемого дистрибутива. Для получения справки о дополнительных параметрах сценария следует использовать ключ –help.
$ ./configure –help
Наиболее часто используемым параметром является –prefix, с помощью которого указывается отличный от используемого по умолчанию каталог для установки программ
(обычно /usr/local/). В некоторых случаях такого сценария нет, а есть уже готовый makefile. В
этом случае сразу переходите ко второму этапу – выполните команду make, которая скомпи- лирует программу; если работа make завершилась без ошибок, устанавливайте приложение
(при этом устанавливаются не только двоичные файлы, но и документация):
# make install
Для выполнения последнего шага понадобятся права суперпользователя (root), кото- рые можно получить, выполнив команду su или sudo:

С. А. Яремчук. «200 лучших программ для Linux»
10
$ sudo make install
В дистрибутиве Kubuntu, чтобы пользователь мог выполнить команду sudo, он должен входить в группу admin. Первый созданный при установке пользователь заносится в нее автоматически. Для удаления установленной таким образом программы следует использо- вать команду make uninstall, хотя часто разработчики не используют в сценариях эту воз- можность.

Портежи Gentoo

Параллельно Linux развивается несколько BSD-систем – FreeBSD, OpenBSD и
NetBSD, особенностью которых является система портов, позволяющая установить любую программу одной командой. При этом закачка, наложение патчей, компиляция, установка и удаление происходят автоматически. Долгое время эта система была предметом зависти линуксоидов, пока не появились дистрибутивы, использующие аналогичный подход. Самым известным из них является Gentoo (
http://www.gentoo.org/
), в котором применена аналогич- ная система портежей (portage).
Примечание
Дистрибутив Gentoo (произносится как «дженту») был назван в честь пингвина Pygoscelis papua, которому принадлежит рекорд скорости плавания
(27 километров в час), что выражает основные свойства дистрибутива.
Дистрибутив Gentoo можно полностью собрать самостоятельно либо использовать минимальную систему, в которую затем добавлять программы. Для установки приложений с помощью портежей вначале необходимо скачать и распаковать в каталог /usr снимок дерева портежей.
$ wget –c http://adelie.polymtl.ca/snapshots/portagelatest.tar.bz2
$ tar -xvjf portage-latest.tar.bz2 -C /usr
В дальнейшем следует периодически (не чаще раза в сутки) обновлять дерево порте- жей командой:
# emerge –sync
Пользоваться портежами просто. Например, чтобы найти пакет, в котором содержится слово pdf, выполняется такая команда:
$ emerge –search pdf
Выбираете по описанию то, что нужно, и устанавливаете, используя имя пакета:
# emerge gnumeric
Для загрузки только исходного кода без установки пакета выполняется:
# emerge –fetchonly gnumeric
Удаляется пакет также просто:
# emerge –unmerge gnumeric
Настройка оптимизации Gentoo производится в переменных (CHOST, CFLAGS,
CXXFLAGS и USE) в файле /etc/make.conf. Для более детальной настройки необходимо посмотреть некоторые значения в файлах /etc/make.globals, /etc/make.profile/make.defaults и переопределить их в /etc/make.conf.
В первую очередь это переменная USE. Смысл ее заключается во включении и выклю- чении различных параметров, которые обычно используются при конфигурировании коман-

С. А. Яремчук. «200 лучших программ для Linux»
11
дой ./configure при обычной компиляции программы из исходных текстов, то есть –enable/
disable или –with/without. Например, закомментированная переменная USE такого содержа- ния
USE="X gtk gnome -alsa"
соответствует
./configure –with-x –with-gtk –with-gnome –without-alsa.
Строка CHOST='i686-pc-linux-gnu' указывает на используемую архитектуру. Все современные процессоры соответствуют данному описанию; если у вас более ранняя модель вроде Pentium Pro, измените ее на меньшую (i586, i486 или i386). С помощью CFLAGS ком- пилятору сообщается, какой процессор используется и какой требуется уровень оптимиза- ции, после чего компилятор в соответствии с установленной моделью собирает пакеты под указанную модель процессора:
CFLAGS="-march=pentium4 -O3 -pipe "
Примечание
Для получения информации о процессоре введите cat /proc/cpuinfo.
Можно использовать флаг -mcpu=, который оптимизирует программу под указанный процессор без потери совместимости с другими процессорами. Флаг -march= требует более осторожного обращения, так как оптимизированная с ним программа будет работать только на указаном процессоре без совместимости с более старыми типами, однако при этом будет достигнута максимальная производительность.
Более подробно о параметрах make.conf можно почитать в документации
Gentoo (
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml
, русский перевод – http://
www.gentoo.org/doc/ru/handbook/
).
В Gentoo есть и прекомпилированные пакеты – пакаджи (англ. package – «пакет»),
которые пользователь может собрать самостоятельно, используя ключи –buildpkg или –
buildpkgonly при выполнении команды emerge. После этого собранный пакет устанавлива- ется командой:
# emerge –usepkg –getbinpkg gnumeric
Пакаджи официально не поддерживаются, но их удобно использовать в случае, когда необходимо установить программу, которая долго компилируется на несколько компьюте- ров.
Gentoo – это не единственная подобная система. Система портов используется в дис- трибутивах CRUX, Archlinux, Sorcerer и SourceMage, в которых она сосуществует с разви- тыми средствами пакетного менеджмента.

Пакетные системы

Рассказ о системах управления пакетов может занять продолжительное время – на сегодня существует около 20 различных систем с вариантами. Практически каждый дис- трибутив имеет свои особенности, исключений здесь больше, чем правил. Это вносит пута- ницу и не способствует большей популярности Linux, но обычно достаточно выбрать свой дистрибутив и освоить принятую в нем систему установки. Средства управления пакетами можно разделить на две категории:
• менеджеры пакетов, предназначенные непосредственно для управления прекомпили- рованными программами;

С. А. Яремчук. «200 лучших программ для Linux»
12
• системы управления репозитариями пакетов, являющиеся надстройкой над пакет- ными менеджерами, позволяющие автоматизировать установку, обновление, удаление про- грамм и сборку пакетов.
Менеджеры пакетов, в первую очередь, отличаются форматами пакетов. Ранее в Linux существовало три основных формата пакетов:
• rpm – формат, изначально принятый в дистрибутиве RedHat, сегодня применяется в его многочисленных потомках и других дистрибутивах (Fedora, Mandriva, ALTLinux и дру- гих);
• deb – формат пакетов, появившийся в дистрибутиве Debian и производных, самым известным из которых является Ubuntu;
• tar.gz – формат пакетов, появившийся в дистрибутиве Slackware.
Сегодня этот список значительно шире. Первые два типа содержат информацию, в которой указаны зависимости этого пакета. Пакеты tar.gz (по сути, это обычные архивы)
таких данных не содержат, поэтому пользователи Slackware вынуждены самостоятельно заботиться о зависимостях. Хотя отсутствие информации о зависимостях абсолютно не пре- пятствует контролю над ними. Это можно возложить на внешние программы, а управление такими пакетами часто оказывается даже более гибким, чем теми, в которых такая инфор- мация имеется.
Для управления каждым типом пакетов используется своя программа. При установке с их помощью приложение создаст необходимые каталоги, распределит по ним файлы и поставит нужные ссылки. Программы используются не только для установки нового пакета,
но и для обновления, получения списка установленных пакетов и информации о них, а также для деинсталляции пакетов, если в них отпала необходимость.

Установка пакетов

Для установки rpm-пакетов используется одноименная консольная утилита. Сам пакет имеет такой формат: – smplayer-0.5.29-alt1.i586.rpm, где:
• smplayer – название программы;
• 0.5.29 – версия программы;
• alt1 – необязательное поле, показывающее дистрибутив, для которого собран этот пакет (это очень важный параметр, так как пакет, собранный для другого дистрибутива или другого релиза одного и того же дистрибутива, может не работать в вашем; в данном примере это AltLinux, для Fedora 7 здесь будет указано fc7, для Mandriva 2008.0 – mdv2008.0; если этого поля нет, возможно, пакет универсален и подходит для всех дистрибутивов, использу- ющих RPM);
• i586 – показывает, под какой тип процессора собран этот пакет: для 64-битных систем будет указано x86_64, а если в пакете находятся исходные тексты, которые затем нужно будет компилировать, то src.
Частично такой подход используется и в других пакетных форматах, поэтому далее рассматриваться не будет.
Синтаксис использования rpm при работе из командной строки следующий:
rpm [параметры] название_пакета(ов)
В качестве параметров здесь используется один или несколько флагов, указывающих,
что нужно сделать с пакетом. С флагами разберемся по порядку. При необходимости уста- новить пакет выполните следующую команду:
# rpm -i package_name

С. А. Яремчук. «200 лучших программ для Linux»
13
Примечание
Не забывайте про автодополнение имен файлов и команд, работающее при нажатии клавиши Тав, – это уменьшает количество ошибок и ускоряет ввод длинных имен файлов.
В случае если пакетов в каталоге много, проще воспользоваться маской. Например,
набрав rpm -i perl*, вы установите все программы, чье название начинается с perl. Флаг -i не дает отображения информации о ходе установки. Флаги -v и -h служат для индикатора процесса выполнения. Теперь команда для установки выглядит так:
rpm -ivh package_name
В случае если такой пакет уже установлен, вы получите сообщение об этом и установка прервется – тогда нужно использовать ключ -U (–upgrade).
# rpm -Uvh package_name
Примечание
Для получения информации обо всех параметрах любой консольной команды Linux используйте ключ –help.
Бывают ситуации, когда пакет не устанавливается. Причины могут быть разные; если при переинсталляции пакета система не хочет устанавливать его заново или не хватает библиотек, воспользуйтесь параметром –force. Правда, его использование может привести к тому, что данная программа не будет работать или могут повредиться важные файлы,
поэтому рекомендуется сначала разобраться, а потом устанавливать пакет таким способом.
Для удаления пакета воспользуйтесь командой rpm -e package_name (при этом достаточно указать только имя (например, xmms), и он будет удален). Как и при установке, параметр
-v (а лучше -vv) покажет процесс удаления пакета, а если есть необходимость в безогово- рочной деинсталляции, то есть несмотря на наличие в системе пакетов, зависящих от дан- ного, воспользуйтесь дополнительно параметром -nodeps. Для получения информации обо всех установленных в системе пакетах наберите rpm -qa, а об отдельном пакете – rpm -q package_name. Наиболее полную информацию вы сможете получить, набрав rpm -qpi, а спи- сок файлов, которые установит пакет, можно посмотреть при помощи команды rpm –qpl.
Примечание
Многие операции можно проделать с помощью файлового менеджера
Midnight Commander: установив курсор на файл и нажав F3 (просмотр), вы увидите информацию о пакете; зайдя в пакет, нажав клавишу Enter и выбрав файл INSTALL, можно установить выбранный пакет.
Последний рассматриваемый режим работы программы rpm – проверка целостности пакета. Для этого нужно ввести rpm -V package_name, а для проверки всех пакетов в системе
– добавить -a.
Для установки пакета не обязательно работать в командной строке: в сегодняшних дис- трибутивах система установки интегрирована в графические среды, и, чтобы установить скачанный пакет, достаточно выбрать в контекстном меню пункт вроде Открыть в Software
Installer (так он называется в Mandriva Linux).
Все программы управления пакетами Slackware находятся в пакете pkgtools. Для его установки выполняется такая команда:
# installpkg package_name.tgz

С. А. Яремчук. «200 лучших программ для Linux»
14
Обратите внимание, что пакеты для Slackware имеют расширение архива, созданного утилитой tar и сжатой bzip, и, по сути, им и являются. При этом пакет устроен таким образом,
что может быть развернут в корневом каталоге файловой системы.
Для модернизации и удаления пакетов применяется соответственно upgradepkg или removepkg. При вводе pkgtool вы получите графический интерфейс к этим утилитам (рис.
1.2).
Рис. 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).

С. А. Яремчук. «200 лучших программ для Linux»
15
Рис. 1.3. Установка пакета в Linux Kubuntu
В составе Kubuntu есть графическая утилита gdebi, позволяющая устанавливать отдельные пакеты. Все просто, хотя не совсем удобно, так как если пакет требует для работы других пакетов, то их также придется предварительно скачать и установить одним списком,
а таких пакетов может быть десяток, которые в свою очередь, потребуют еще несколько. В
таком случае установка крайне неудобна. Кроме того, искать их по всем сайтам Интернета также непросто, поэтому разработчики собрали все пакеты в одном месте, а специальные программы отслеживают зависимости, поэтому установка приложений в Linux даже проще,
чем в Windows. Инсталляция индивидуальных пакетов сегодня применяется в тех случаях,
когда нужного пакета нет в репозитарии, а также для экономии трафика (когда необходимый пакет уже есть, его незачем скачивать повторно).

Системы управления пакетами

В последнее время наибольшее распространение получили системы управления паке- тами, которые обеспечивают пользователя единым интерфейсом для поиска, установки,
обновления и удаления. Наиболее известным является APT. Появившийся сначала в дистри- бутиве Debian и изначально рассчитанный на работу с пакетами в формате deb, он быстро стал универсальным средством управления программами, в том числе и с пакетами в дру- гих форматах rpm (в дистрибутивах ALTLinux и Connectiva). Порт APT для работы с tgz- пакетами Slackware называется slapt-get и сегодня имеет несколько графических надстроек вроде Gslapt (рис. 1.4), хотя есть и другие варианты – swaret или slackpkg.

С. А. Яремчук. «200 лучших программ для Linux»
16
Рис. 1.4. Gslapt – графический интерфейс к slapt-get
Менее распространены другие системы управления пакетами – urpmi (Mandriva) и yum
(Red Hat/Fedora и ASPlinux). Они ориентированы на работу с rpm-пакетами и широкого рас- пространения не получили. Подробно рассматриваться эти системы не будут, тем более что после установки дистрибутива они, как правило, готовы к работе, а пользователю предо- ставлен понятный графический интерфейс. Например, программа установки приложений в дистрибутиве Mandriva выглядит так (рис. 1.5).

С. А. Яремчук. «200 лучших программ для Linux»
17
Рис. 1.5. Установка приложений в Mandriva
Так же просто устанавливаются приложения и в дистрибутивах RedHat/Fedora/
ASPLinux (рис. 1.6).

С. А. Яремчук. «200 лучших программ для Linux»
18
Рис. 1.6. Менеджер пакетов в дистрибутиве Fedora
По причине большей распространенности и так как в комплекте данной книги идет дистрибутив Kubuntu, в котором для установки приложений используется APT, более подробно остановимся на работе с этой системой.

Работа с apt-get в Ubuntu

Все, что будет описано в данном разделе, практически полностью действительно и для других систем, использующих APT, – Debian, MEPIS, Linspire/Freespire, ALTLinux и клонов
APT вроде slapt-get.
Описание репозитариев. Пакеты в репозитарии структурированы по назначению,
платформе и прочим характеристикам. Список известных дистрибутиву репозитариев при- веден в файле /etc/apt/sources.list. Заглянем внутрь (рис. 1.7).

С. А. Яремчук. «200 лучших программ для Linux»
19
Рис. 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, поэтому, читая зару- бежные материалы, следует переносить их на местные реалии. Например, если в статье

С. А. Яремчук. «200 лучших программ для Linux»
20
говорится, что для установки нужно добавить в список сервер 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).

С. А. Яремчук. «200 лучших программ для Linux»
21
Рис. 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. При наличии соединения с Интернетом все остальное утилита сделает сама. При

С. А. Яремчук. «200 лучших программ для Linux»
22
желании самостоятельно скомпилировать пакет, который имеется в репозитарии, чтобы не разбираться с зависимостями, вначале выполните следующую команду:
$ 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-ключей, необходимых для проверки подписи пакетов. Последнее делать необязательно, пакеты будут устанавливаться и без этого, но так вы будете уверены, что их собрал именно тот человек, с чьего ресурса они получены, да и менеджер пакетов не будет задавать лишних вопросов. Месторасположение файлов клю- чей обычно указывается на главной странице ресурса. Его можно добавить и в командной строке. Например:

С. А. Яремчук. «200 лучших программ для Linux»
23
$ 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

С. А. Яремчук. «200 лучших программ для Linux»
24
–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

С. А. Яремчук. «200 лучших программ для Linux»
25
Рис. 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.

Конвертеры пакетов

Отдельно хотелось бы отметить наличие утилит, позволяющих конвертировать пакеты из одного формата в другой. Их возможности применения ограничены, так как из пакета одного типа получить полноценный другой тип пакета невозможно. Кроме того, приложе- ния, входящие в состав пакета, могут не работать в другом дистрибутиве из-за различий версий библиотек, неудовлетворенных зависимостей и отличий в организации файловой системы. По этой причине их нельзя использовать для установки важных системных файлов.
Однако в некоторых случаях (в первую очередь при установке недвоичных пакетов, напри- мер документации, словарей и прочего) их применение оправданно. Это утилиты rpm2cpio,
rpm2tgz (
http://www.rpm2tgz.com
) или почти универсальная alien (
http://kitenet.net/programs/
alien/
).
Утилита rpm2tgz по умолчанию входит в состав дистрибутива Slackware и клонов и позволяет конвертировать rpm-пакеты в tgz, которые затем можно установить с помощью installpkg.

С. А. Яремчук. «200 лучших программ для Linux»
26
$ 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

С. А. Яремчук. «200 лучших программ для Linux»
27



Поделитесь с Вашими друзьями:
  1   2


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал