Несмотря на то что сегодня на компьютерах пользователей безраздельно господствует Windows, количество установок альтернативных систем не уменьшается, а, наоборот, увеличивается. Если вы держите в руках эту книгу, очевидно, выбор уже сделан – Linux. Одна из проблем, с которой сталкиваются пользователи, желающие установить и, главное, применять в качестве рабочей операционную систему GNU/Linux, – это отсутствие информации по программам. Данное издание как раз поможет ее решить. В нем вы сможете найти замену для привычных по работе в Windows программ. Описания приведены без привязки к какому-то определенному дистрибутиву.
Введение
Сегодня так много говорят об операционной системе GNU/Linux, что создается впечатление, что ее можно увидеть на большинстве домашних компьютеров. Это не так. Установить ее пытаются только некоторые любопытные. Встретив определенные трудности, не все справляются с ними. На этом эксперимент чаще всего заканчивается. Пользователь пытается найти знакомые названия и приложения, которых не оказывается. Проходят путь до конца лишь единицы. На форумах и сайтах можно найти много материалов на тему Windows против Linux. Большая часть критических высказываний по поводу работы Linux написана пользователями, которые так и не смогли дойти до конца и теперь пытаются сделать вывод, основываясь на своих поверхностных знаниях. Проблема таких пользователей как раз и состоит в том, что они так и не поняли смысл UNIX-подобной системы.
Использование Linux легально, безопасно, надежно, выгодно и интересно. Компьютер – это не самоцель, а всего лишь инструмент, предназначенный для решения определенных задач. Потратив день на настройку Linux и установку необходимых приложений, пользователь работает, больше не отвлекаясь на борьбу с вирусами, дефрагментацию диска или очистку реестра. Основное, чем привлекателен Linux, – никто не заставляет его использовать, не навязывает дистрибутив, версию, программы и прочее. Вы сами выбираете, что вам больше подходит, благо выбирать есть из чего.
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты
(издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
Глава 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; установите его.