• свободно запускать программы для любых целей (свобода 0);
• свободно изучать, как работает программа, и иметь возможность свободно адаптировать ее под свои нужды (свобода 1); доступ к исходным кодам является непременным условием;
• свободно распространять копии, чтобы помочь тем, кто интересуется свободным программным обеспечением (свобода 2);
• свободно улучшать программы и делать улучшения доступными для других; из этого извлекает пользу все сообщество (свобода 3); доступ к исходным кодам является непременным условием.
Такой подход дает программисту простоту и быстроту разработки. Он использует уже готовые компоненты, не вникая в суть их работы, и создает новый продукт.
Каждый улучшает только свою часть продукта. Так, в 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.
Несмотря на обилие пакетных систем, о которых пойдет речь далее, многие пользователи предпочитают самостоятельно собирать программы, так как в репозитариях часто находится устаревшая версия программ, и приходится ждать, когда сборщик займется ею.
Примечание
Читать дальше
Конец ознакомительного отрывка
Купить книгу