Читать книгу 200 лучших программ для Linux - Сергей Яремчук - Страница 3

Глава 1
Общие сведения о программах Linux
Особенности программ 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 очень много консольных утилит. Начинающему пользователю непросто освоить все параметры командной строки, ему удобнее, чтобы программа имела понятный и легкий в освоении графический интерфейс. Программист же не создает новый продукт, он берет все консольные утилиты и пишет к ним графическую надстройку – фронт-энд (front-end), который скрывает от пользователя особенности работы консольных программ, часто добавляя новую функциональность. Например, популярный консольный видеопроигрыватель MPlayer имеет несколько таких надстроек – Kplayer, KMplayer, smplayer, Freevo и другие.

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

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


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

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

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

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

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

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

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

Подняться наверх