Обновление системы

Владимир Осинцев aka 0с

Xakep, номер #058, стр. 058-074-1

(http://subscribe.ru/catalog/comp.soft.linux.info)

Это действительно нужно!

Вообще, что такое обновление системы? Если для пользователя Windows это установка нового Service Pack из свежекупленного журнала "X" с диском, то, наверное, для пользователя Linux - это установка новой версии ядра с того же диска. А как же быть с KDE и Gnome? А что тогда с FreeBSD?

Если ты только слышал о RPM-пакетах и дисках с обновлениями твоего дистрибутива, но никогда сам с этим не возился, то эта статья для тебя.

Зачем обновлять?

Обновлять систему нужно, это аксиома. Новые bug-фиксы, security-патчи, мелкие изменения или революционные технологии, новые фичи - все это может быть в следующей версии ядра или системной библиотеки, твоего любимого почтовика или текстового редактора. Программы "Open Source" развиваются быстрее своих закрытых собратьев, поэтому обновляются они чаще. Даже если новая версия Windows выходит раз в 2-3 года, то открытые операционные системы развиваются ежедневно, а точнее, ежечасно.

Зачем из Source?

Я не зря делаю акцент на системы, собранные из исходников, ведь компиляция дает огромные преимущества. Например, мы имеем более гибкий и компактный код, который лишен ненужных кусков, таких, как поддержка специфичных устройств и драйверов. И это не говоря уже о более быстром коде, который эффективно работает именно под нужную архитектуру и нужный процессор. К минусам можно отнести разве что затраты времени на сборку программ, так как на слабых машинах полная сборка системы (ядро и библиотеки, системное и прикладное ПО) может занять несколько суток. Если же твой комп имеет хотя бы 600-700 МГц, то волноваться вообще не о чем. В противном случае следует подумать об апгрейде не системы, а самого компьютера.

Проблемы

Представь, что ты решил установить дистрибутив "Linux From Scratch" (http://linuxfromscratch.org), хотя называть это дистрибутивом не совсем правильно, это, скорее, руководство, которое помогает поэтапно на чистом разделе собрать свою систему с нуля (не зря же название переводится как "Linux Из Ничего"). Для этого тебе понадобится чистый раздел (даже несколько) на диске, около 20-30 тарболов программ и библиотек определенных версий (что составляет немногим более 100 Мб исходников) и уже рабочая система GNU/Linux, из которой мы будем собирать "Linux From Scratch". Создаем файловую систему, где начинаем в строгом порядке (!) компилировать эти 20-30 пакетов: работа однообразная, но ооочень приятная ;). Более подробно об установке LFS ты можешь прочитать в одном из предыдущих номеров ][.

Но вот через некоторое время появляются новые версии софта, и тебе срочно нужно проапгрейдиться. Для этого скачиваем новые исходники и начинаем обновлять. Компилируем новую версию программы - а она вылетает с ошибкой, так как не установлена новая версия какой-нибудь библиотеки, затем компилируем новую версию этой библиотеки, а она не собирается, потому что требует свежую версию уже другой программы, которая тоже при компилировании не собирается и требует… Продолжать? Разные операционные системы/дистрибутивы решают проблему _корректного_ обновления по-разному, но все сводится к тому, что нужна целая система, которая будет автоматизировать всю работу, проверять зависимости и, самое главное, сделает процесс обновления приятным для пользователя. Системы разные, и не все работают так, как хочется нам. Вполне вероятно, что после "обновления" система будет вообще нежизнеспособна. Но хватит теории, возьмемся за дело!

Содержание  Вперед на стр. 058-074-2
ttfb: 3.6110877990723 ms