200 лучших программ для Linux

Яремчук Сергей Акимович

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

Введение

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

Использование Linux легально, безопасно, надежно, выгодно и интересно. Компьютер – это не самоцель, а всего лишь инструмент, предназначенный для решения определенных задач. Потратив день на настройку Linux и установку необходимых приложений, пользователь работает, больше не отвлекаясь на борьбу с вирусами, дефрагментацию диска или очистку реестра. Основное, чем привлекателен Linux, – никто не заставляет его использовать, не навязывает дистрибутив, версию, программы и прочее. Вы сами выбираете, что вам больше подходит, благо выбирать есть из чего.

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты

[email protected]

 (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

Глава 1

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

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

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

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

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

Главный девиз UNIX-систем звучит как KISS – Keep It Simple Stupid, то есть «не усложняй». В качестве доказательства такой пример. У автора дома по Linux всего одна книга, которую он смог найти в магазинах в период, когда начал интересоваться системой. Это издание «Использование Linux» Джека Такета. Книге уже семь лет, но большая часть материала действительна до сих пор. В Интернете можно найти много старых книг, и все они в большинстве своем актуальны. Попробуйте применить книгу, написанную о Windows 98 или Windows XP к Vista, – почти весь материал окажется бесполезным.

Разработчик программы для Windows часто вынужден писать с нуля большинство функций, так как все защищено патентами, и либо платишь, либо делаешь все сам.

На это уходит время, разработчику приходится самому разбираться в множестве вопросов либо привлекать людей, которые помогут добавить нужную функциональность, что приводит к удорожанию продукта. Зато программа устанавливается двойным щелчком мыши, так как все компоненты уже включены в дистрибутив. В Linux процесс выглядит несколько иначе.

Программы, библиотеки и прочее распространяются с исходными кодами под лицензией GNU GPL (General Public License – стандартная общественная лицензия), которая ставит только одно условие: если при разработке используется программа с этой лицензией, то и полученный продукт также должен распространяться по лицензии GNU GPL.

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

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

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

Даже после появления пакетов, которые представляли собой уже скомпилированные программы, компиляция долгое время оставалась и для некоторых остается основным средством установки.

Несмотря на обилие пакетных систем, о которых пойдет речь далее, многие пользователи предпочитают самостоятельно собирать программы, так как в репозитариях часто находится устаревшая версия программ, и приходится ждать, когда сборщик займется ею.

Кроме этого, иногда требуется изменить функциональность программы при помощи патчей, не используемых майнтейнером. Последняя причина – это производительность: чтобы пакет работал на максимально большом количестве оборудования, его собирают с оптимизацией под определенный тип процессора – как правило, это i386, то есть под процессор Intel 80386, выпущенный еще в 1985 году. Встречаются сборки i486, i586 (Pentium MMX) и i686 (Pentium Pro), в последнее время появились сборки под 64-битные процессоры. Собирая программу самостоятельно, пользователь может скомпилировать ее под свой тип процессора, под мультипроцессорные системы и прочее. Эксперименты доказывают, что производительность получаемого пакета увеличивается (в зависимости от аппаратного обеспечения) от 10 до 200 % по сравнению с бинарными сборками, поставляемыми с дистрибутивом, и чем новее оборудование, тем больше эффективность такой сборки, хотя она не всегда нужна.

Портежи Gentoo

Параллельно Linux развивается несколько BSD-систем – FreeBSD, OpenBSD и NetBSD, особенностью которых является система портов, позволяющая установить любую программу одной командой. При этом закачка, наложение патчей, компиляция, установка и удаление происходят автоматически. Долгое время эта система была предметом зависти линуксоидов, пока не появились дистрибутивы, использующие аналогичный подход. Самым известным из них является Gentoo (

http://www.gentoo.org/

), в котором применена аналогичная система портежей (portage).

Дистрибутив Gentoo можно полностью собрать самостоятельно либо использовать минимальную систему, в которую затем добавлять программы. Для установки приложений с помощью портежей вначале необходимо скачать и распаковать в каталог /usr снимок дерева портежей.

В дальнейшем следует периодически (не чаще раза в сутки) обновлять дерево портежей командой:

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

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

• менеджеры пакетов, предназначенные непосредственно для управления прекомпилированными программами;

• системы управления репозитариями пакетов, являющиеся надстройкой над пакетными менеджерами, позволяющие автоматизировать установку, обновление, удаление программ и сборку пакетов.

Менеджеры пакетов, в первую очередь, отличаются форматами пакетов. Ранее в Linux существовало три основных формата пакетов:

• rpm – формат, изначально принятый в дистрибутиве RedHat, сегодня применяется в его многочисленных потомках и других дистрибутивах (Fedora, Mandriva, ALTLinux и других);

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

Отдельно хотелось бы отметить наличие утилит, позволяющих конвертировать пакеты из одного формата в другой. Их возможности применения ограничены, так как из пакета одного типа получить полноценный другой тип пакета невозможно. Кроме того, приложения, входящие в состав пакета, могут не работать в другом дистрибутиве из-за различий версий библиотек, неудовлетворенных зависимостей и отличий в организации файловой системы. По этой причине их нельзя использовать для установки важных системных файлов. Однако в некоторых случаях (в первую очередь при установке недвоичных пакетов, например документации, словарей и прочего) их применение оправданно. Это утилиты rpm2cpio, rpm2tgz (

http://www.rpm2tgz.com

) или почти универсальная alien (

http://kitenet.net/programs/alien/

).

Утилита rpm2tgz по умолчанию входит в состав дистрибутива Slackware и клонов и позволяет конвертировать rpm-пакеты в tgz, которые затем можно установить с помощью installpkg.

В результате в текущем каталоге появится пакет с таким же именем, но расширением tgz; установите его.