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

Шрифт
Интервал

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

Каждый улучшает только свою часть продукта. Так, в Linux очень много консольных утилит. Начинающему пользователю непросто освоить все параметры командной строки, ему удобнее, чтобы программа имела понятный и легкий в освоении графический интерфейс. Программист же не создает новый продукт, он берет все консольные утилиты и пишет к ним графическую надстройку – фронт-энд (front-end), который скрывает от пользователя особенности работы консольных программ, часто добавляя новую функциональность. Например, популярный консольный видеопроигрыватель MPlayer имеет несколько таких надстроек – Kplayer, KMplayer, smplayer, Freevo и другие.

Однако чтобы такая программа заработала, необходимо установить все остальные компоненты и библиотеки, которые она использует. Например, для популярной утилиты записи дисков K3B потребуется установить 48 библиотек и программ (рис. 1.1).

Рис. 1.1. Список зависимостей пакета K3B


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

Зависимости бывают двух видов:

• жесткая (hard): обязательная, без нее программа, скорее всего, не будет работать;

• мягкая (soft): рекомендуемая, без нее программа работать будет, но, установив такой пакет, можно добавить приложению функциональность (например, работу с некоторым форматом файлов).

Именно поэтому, скачав всего один пакет, установить программу часто не получается.

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

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

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

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

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

Примечание

Первые прекомпилированные наборы появились в дистрибутиве SLS Linux, который в начале 90-х годов был самым популярным дистрибутивом. Его создатели сочли неудобным самостоятельнную сборку приложений, поэтому пользователям были предложены не только само ядро Linux и основные утилиты, но и набор разнообразного программного обеспечения с простой программой установки. Все это поставлялось уже в скомпилированном виде, исходный текст прилагался только для самых основных компонентов вроде ядра. Кстати, основой популярных сегодня дистрибутивов Slackware и Debian послужил именно SLS.

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

Примечание

Человека, который отвечает за сборку пакета, называют maintainer, в Интернете часто можно встретить это слово в русской транскрипции – майнтейнер, или сборщик. Он отвечает за то, что пакет протестирован, работоспособен и его установка не вызовет сложностей. В процессе сборки он может использовать патчи (англ. patch – «заплатка»), изменяющие функциональность или устраняющие найденные ошибки. Однако таких людей мало, и все пакеты отслеживать трудно, поэтому проекты постоянно привлекают добровольцев.

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


Еще от автора Сергей Акимович Яремчук

Защита вашего компьютера

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


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


Рекомендуем почитать
Безопасность информационных систем

В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).


Linux программирование в примерах

В книге рассмотрены вопросы, связанные с программированием под Linux: файловый ввод/вывод, метаданные файлов, основы управления памятью, процессы и сигналы, пользователи и группы, вопросы интернационализации и локализации, сортировка, поиск и многие другие. Много внимания уделено средствам отладки, доступным под GNU Linux. Все темы иллюстрируются примерами кода, взятого из V7 UNIX и GNU. Эта книга может быть полезна любому, кто интересуется программированием под Linux.


Ubuntu Linux: базовый курс

Если вы читаете эту книгу, значит вы подумываете о том, как бы поставить и попробовать Ubuntu. Наверняка, вы не захотите сразу отказываться от Windows и поставите Ubuntu, как вторую ОС (операционную систему).Возможно, вы как и я долго метались от дистрибутива к дистрибутиву и решали, какой же установить. Уверяю вас, вы сделали правильный выбор. Данная книга проведёт небольшую, но базовую экскурсию на тему установки и настройки.Я уверен, что вы найдёте эту книгу интересной для себя. Если у вас возникают какие-либо вопросы, я могу осветить их в новой версии этой книги.


Свободные программы и системы в школе

Курс лекций, включенных в брошюру, знакомит читателя с популярными свободными программами и системами, полезными при преподавании информатики в средней школе. В обзор вошли основы открытых операционных систем, сведения о пакете «офисных» программ OpenOffice.org, коммуникационном пакете Mozilla, графическом редакторе GIMP, современных графических средах GNOME и KDE и других программах.Для преподавателей информатики и методистов, а также для студентов и аспирантов соответствующих специальностей.© 2002-3, Максим Отставнов.© 2002, Андрей Добровольский (раздел 3.1).Использован текст лекций, публиковавшихся автором в приложении к газете «Первое сентября» «Информатика» (http://inf.1september.ru) в 2002-3 г., материалы брошюры «Прикладные свободные программы в школе» (М.: 2003 г.), а также фрагменты статей, ранее публиковавшихся в журналах «Компьютерра» и «Домашний компьютер».Материалы, представленные в этой книге, также доступны в Интернет на странице www.otstavnov.com/fsft на условиях Свободной лицензии ГНУ на документацию (GNU FDL)


Перспективы свободного программного обеспечения в сфере государственного управления и бюджетном секторе

n1`Глава 2 из отчета Фонда Новая экономика Министерству экономического развития и торговли по теме «Анализ результатов и разработка предложений по созданию механизмов поддержки (в том числе за счет средств федерального бюджета) проектов по использованию ИКТ в экономике, социальной сфере, государственном управлении на региональном и муниципальном уровнях власти». Работа выполнена в рамках ФЦП «Электронная Россия». Дается очерк перспектив модели коммерческого программного обеспечения, известной как свободное программное обеспечение (СПО), в части удовлетворения потребности государственных органов и организаций в компьютерных программах, в сравнении с альтернативной (несвободной) моделью.


64 килобайта о Фидо

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