Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #31, ИЮНЬ 2003 г.

СОФТВАРНЫЙ МИР В LINUX: апдейтим систему без проблем!

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #031, стр. 031-016-1


(forb@real.xakep.ru)

Являясь поклонником операционки Windows, ты, наверное, знаешь, как просто устанавливается софт. Весь процесс установки сводится к двум-трем щелчкам мыши по исполняемому инсталлятору и паре диалоговых кнопок OK. В Linux все гораздо сложнее и интереснее одновременно. Если ты желаешь познать весь волнующий душу процесс установки софта под Linux, то данная статья будет для тебя очень ценным мануалом. В противном случае, мой тебе совет - оставайся поклонником форточек и с гордостью переворачивай страницу журнала, и да поможет тебе Microsoft :). Однако не забывай, что ты никогда не знаешь, что творит инсталлятор на твоей тачке (уже давно не секрет, что некоторые злодеи подсовывают юзверю под видом инсталляшки крутой софтины деструктивный код). В общем, ты - не хозяин положения.

Linux, как и любая уважающая себя система, позволяет пользователю устанавливать программное обеспечение, или попросту софт. Этот самый софт распространяется двумя способами: бинарниками, подогнанными под конкретную систему, или source кодом (попросту сорцами), которые собираются на месте при помощи makeutils.

ЧТО ТАКОЕ RPM И С ЧЕМ ЕГО ЕДЯТ

В первую очередь, остановимся на бинарном софте. Всю неблагодарную работу по распаковке и установке этого вида программного обеспечения выполняет /bin/rpm. RPM расшифровывается как RedHat Packet Manager, но не стоит думать, что он актуален только лишь для дистрибутива RedHat. На самом деле, rpm-инсталлер имеет место практически на всех видах Linux.

Изначально система собирается с помощью RPM. Распаковывая и устанавливая бинарники, содержащиеся на CD, инсталлер приводит Linux к рабочему состоянию. Перед установкой очередного пакета manager проверяет его на зависимость от других пакетов. К примеру, инсталлятор откажется устанавливать пакет mc, если в системе отсутствует ncurses. Для справки, проверку на зависимость можно игнорировать параметром -nodeps, но о фатальных последствиях этого ключика я тактично умолчу :). Хотя я не раз встречал людей, собиравших серьезные вещи с -nodeps и делавших при этом роковую ошибку.

Видя удобство и привлекательность rpm-пакетов по сравнению с обычными сорцами, пользователи устанавливают именно их. Но их выбор чреват большими проблемами. Дело в том, что нельзя с полной уверенностью доверять RPM, ибо только сборка сорцов гарантирует стабильность в работе приложений. Например, юзер установил новое ядро через rpm-пакет, а на следующий день оно наградило систему kernel panic'ом. Вывод - придерживайся установки из сорцов.

К слову говоря, Linux не единственная операционка, включающая в себя поддержку бинарных пакетов. FreeBSD, например, имеет аналоговый pkg_add, SunOS - pkgadd и т.д. Если сравнивать с форточками, то бинарные пакеты - единственный вид софта под Вынь. Ведь MicroSoft уже много лет хранит source code системы в строжайшей тайне :).

СОФТ ИЗ СОРЦОВ - НАШ ВЫБОР!

Согласно GNU Licence, весь софт в Linux распространяется только открытым кодом. Как правило, он пишется на языке C, реже C++. Как ты, наверное, знаешь, лучше всего сжимается чистый текст, поэтому вся иерархия сишных файлов запаковывается в архив.

Содержание  Вперед на стр. 031-016-2