Щя мы установим гнома
Всё началось с того, что в один прекрасный день я решил установить новую версию Gnome-2.6.0 взамен исправно работавшей на моём компьютере версии 2.4.0. Сказано - сделано и, дождавшись вечера (ночной тариф по модемному соединению до сих пор остаётся наиболее выгодным), я отправился на FTP-сервер разработчиков этой графической оболочки. Количество необходимых для установки файлов (около 75) меня неприятно удивило, но отступать уже не хотелось. Несколько часов ожидания - и на мой компьютер загружены все необходимые тарболы.
Надо сказать, что до последнего времени мне не приходилось устанавливать такое количество программ из исходников. Единичные установки не в счёт. А тут - огромная куча пакетов, которые при этом ещё и тесно связаны друг с другом. На тот момент я не нашёл описания последовательности установки, поэтому использовал метод “научного тыка: устанавливал пакеты, которые требуются для удовлетворения зависимостей, а дальше - как придётся. Естественно, что-то было упущено, что-то не так установилось - в общем, Gnome работал, но не совсем качественно. Если к этому прибавить переустановку системы, из-за чего весь процесс установки Gnome, который с небольшими перерывами занимал около трёх дней, приходилось делать заново, то можно понять, почему в душу начинали закрадываться сомнения: а стоит ли вообще связываться с установкой такого объёма файлов или лучше подождать, когда пойдут первые RPM-пакеты?
Но так случилось, что в форуме один из пользователей выложил ссылку на страницу, где весь порядок установки пакетов был разложен по полочкам, и на этой странице оказалась неприметная ссылочка на проект Garnome, который оказался тем, о чём я и мечтал - эта программа позволяет производить весь процесс установки в автоматическом режиме. Вообще, я был почти уверен, что нечто подобное должно быть в природе: любому надоест каждый раз набирать в консоли однотипные команды, ожидая потом завершения компиляции, чтобы повторить весь процесс для следующего тарбола. Итак, воспрявший духом, я отправился на сайт разработчиков и загрузил архив Garnome-2.5.92.
Необходимые ресурсы
Авторы программы указывают, что для компиляции Gnome с помощью Garnome потребуется около 1,3 Гб свободного дискового пространства, но предупреждают, что эта цифра может изменяться. И очень правильно делают: Gnome с каждой версией становится всё массивнее, поэтому компиляция базовых пакетов для Gnome-2.7.4, например, потребует уже около 3 Гб. Если же вы планируете одновременно ставить и такие “сопутствующие” программы, как Gimp или Evolution, то смело прибавляйте ещё 1-2 Гб. Дело в том, что во время компиляции создаётся огромное количество вспомогательных файлов, поэтому каталог исходников Gimp-2.1.3, например, разрастается до 600 Мб. Также нужно предусмотреть и свободное место для устанавливаемых бинарных файлов. Установка базовых пакетов потребует около 400 Мб. Для дополнительных программ придётся выделить ещё некоторое количество: один Gimp занимает около 100 Мб.
И второй ресурс - время. Компиляция и установка базовых пакетов на моём видавшем виды Celeron 466 с 256 Мб оперативки заняла примерно 14 часов непрерывной работы. Это, конечно, не три дня, но тоже ощутимая цифра. Прибавьте к этому ещё время на скачивание тарболов: если локального архива у вас нет, то загрузка из сети с модемным подключением прибавит ещё несколько часов.
Кстати, о загрузке. Если вы обладатель выделенной линии, то можете начинать установку и не беспокоиться ни о чём: программа будет обращаться в сеть по мере надобности. Но, именно по этой причине, советую обладателям модемов скачать все необходимые пакеты заблаговременно: после загрузки каждого тарбола будет начинаться компиляция и всё это время подключение будет простаивать (а время-то идёт! Деньги тратятся впустую). Если же все файлы будут расположены на локальном диске, то можно будет запустить Garnome и смело пойти заниматься своими делами.
Первоначальная настройка
Компьютеры - как люди: трудно найти два абсолютно одинаковых набора аппаратных средств и программного обеспечения. Поэтому любая программа требует внимательного индивидуального подхода, особенно в Linux, где разнообразие дистрибутивов создаёт некоторые проблемы, не позволяющие использовать стандартные настройки. Но предварительно давайте ещё ознакомимся с внутренним строением программы.
Итак, распаковываем тарбол:
tar xjvf /путь_к_тарболу/garnome-2.5.92.tar.bz2
В распакованном каталоге можно увидеть следующие папки и файлы:
Как видно на скриншоте, все программы разделены на группы, что очень удобно при выборе необходимой комплектации. Из этого богатого списка (в котором представлены приложения Gnome на все случаи жизни) для нас важны в первую очередь каталоги desktop и platform, но можно также обратить внимание и на остальные: в них могут оказаться программы, необходимые в работе. В частности, убедитесь, что программы, находящиеся в каталоге /garnome-2.5.92/bootstrap, в большинстве своём уже установлены в вашей системе: они необходимы для компиляции любых исходников. Из файлов для нас важен gar.conf.mk, содержащий основные настройки Garnome.
Итак, займёмся собственно настройками. Прежде всего, внимательно ознакомьтесь с содержанием файла README: в нём собрана очень полезная информация, которая практически полностью решает все вопросы, могущие возникнуть в процессе установки Gnome. После увлекательного чтения на почти родном английском языке заходим в каталог с распакованными файлами и открываем gar.conf.mk. Находим в нём строку:
#GARCHIVEDIR = /home/jdub/src/cvs/gnome/garnome/DOWNLOAD
Если у вас уже есть скачанные из сети файлы, то можете раскомментировать эту строку и вписать путь к каталогу, в котором находятся локальные файлы. Например:
GARCHIVEDIR = /home/ilya/Gnome-2.7.4
Это позволит программе установки обращаться и к вашему локальному хранилищу архивов. Для того, чтобы указать каталог, в котором будут накапливаться во время компиляции рабочие исходники, находим и редактируем следующую строку:
#WORKROOTDIR = /tmp/garnome-work/$(GARNAME)
например, на
WORKROOTDIR = /home/ilya/garnome-work/$(GARNAME)
Кроме того, в этом же файле можно указать и параметры конфигурирования, являющиеся общими для всех архивов. В моём случае пришлось сделать такие изменения:
# Directory config for the "main" image
main_prefix ?= $(HOME)/garnome
заменил на
main_prefix ?= /usr
и
main_mandir = $(main_prefix)/man
на
main_mandir = $(main_prefix)/share/man
А теперь ложка дёгтя. Каждый каталог с названием программы включает в себя два файла: Makefile и checksums. В первом указываются необходимые зависимости и особенности компиляции. Во втором сохранена информация об архиве, состоящая из контрольной суммы и версии. По умолчанию данные файлов уже указаны, но... тех, которые были новыми на момент создания программы. Естественно, если с того времени уже вышли новые версии программ, то Garnome о них просто не знает. Именно поэтому мне пришлось вручную править контрольные суммы и версии программ в каждом случае. Занятие довольно нудное, но я не смог заставить Garnome автоматически скачивать и вписывать самые последние версии пакетов, выложенные на FTP разработчиков Gnome. Кроме необходимых исправлений в checksums, не забывайте поправить и номер версии программы в Makefile.
Впрочем, на этом ручная правка может быть не закончена. Несмотря на то, что все зависимости пакетов уже указаны, ваш выбор устанавливаемых компонентов может нарушить их последовательность. Криминала в этом нет, но во время компиляции возможны остановки по причине отсутствия некоторых программ. Обычно это происходит в момент конфигурирования исходников, но случается такая неприятность и во время компиляции. В таком случае внимательно посмотрите в консоли, из-за чего произошла остановка и, если причина – отсутствие какой-нибудь программы, установите её (если она не входит в состав Gnome) или впишите необходимую зависимость в файл Makefile компилируемой в данный момент программы. Тогда прежде будет установлен отсутствующий компонент, а затем и текущая программа. Вообще, вопросы различного плана могут возникать на первых порах, но при правильном их решении в дальнейшем Garnome будет работать без запинок.
Ещё один важный момент - выбор устанавливаемых компонентов. Как правило, для начала нет необходимости устанавливать абсолютно все программы, присутствующие в каталогах Garnome - достаточно установить только базовые приложения и библиотеки, плюс программы, которые вы действительно хотите использовать. Особенно это касается каталога /garnome-2.5.92/office/: компиляцию программ, которые в нём находятся, нужно запускать отдельно, но мне, например, не нужны абсолютно все приложения. Выход прост: удалите папки с названиями пакетов, которые вам не нужны, оставив только необходимые. Но предварительно проверьте, чтобы на удаляемые программы не было ссылок в Makefile оставляемых программ, иначе компиляция прервётся.
Компиляция и установка
Итак, все поправки внесены и можно начинать установку. Автор советует начинать компиляцию с каталога desktop, но, если ранее у вас не был установлен Gnome, то я бы предложил начинать с platform - в этой папке находятся основные программы, необходимые для графической оболочки. Правда, после этого придётся стартовать Garnome снова уже в каталоге desktop - автоматический переход не получится. Впрочем, возможно я и перестраховываюсь лишний раз: для установки программ из каталога desktop платформные пакеты устанавливаются в процессе удовлетворения зависимостей. Для запуска Garnome откройте root-консоль, войдите в каталог программы и выполните следующие команды:
cd desktop //для компиляции программ из этого каталога
или
cd platform //для компиляции платформных программ
make paranoid-install
На этом ваши функции закончены - дальше Garnome всё сделает сам. Если происходит остановка компиляции - устраняйте неисправность и повторяйте запуск: те программы, которые уже установлены, будут пропущены и компиляция начнётся с места остановки.
В случае, если вам требуется только обновить некоторые программы, то достаточно внести соответствующие коррективы в файлы Makefile и checksums и запустить Garnome в каталоге, содержащем новые версии программ.
Запуск Gnome
После установки всех программ необходимо дать понять вашей операционной системе, что появилась новая графическая оболочка, с которой можно начинать работу. В файле README есть подробная инструкция и пример стартового скрипта. Я этот способ не пробовал, поэтому ничего сказать не могу: если вам не подойдёт мой вариант, который описан ниже, то придётся экспериментировать самостоятельно.
Как правило, во всех современных операционных системах Linux применяется графический менеджер сессий, который позволяет выбирать ту оболочку, которая вам больше понравится (естественно, при условии, что они у вас установлены). Если у вас уже был установлен Gnome, то никаких дополнительных действий не потребуется: при установке новой версии все старые файлы этой графической оболочки заменяются новыми и запуск происходит в обычном режиме. Если же Gnome вы установили впервые, то возможно несколько вариантов.
На моём компьютере установлена система Mandrake-10.0, имеющая собственный менеджер сессий, поэтому и необходимость в написании скрипта для Gnome в моём случае отсутствует. Мне было достаточно создать в каталоге /usr/share/apps/kdm/sessions/ следующий файл с названием 03Gnome.desktop:
[Desktop Entry]
Encoding=UTF-8
Name=Gnome
Comment=The Gnome Desktop Environment
TryExec=/usr/bin/gnome-session
Exec=Gnome
Icon=
Type=Application
После перезапуска операционной системы в меню выбора графической оболочки появился соответствующий пункт. Выбираем его и оказываемся в царстве Gnome.
Но на этом работа не закончена – после постройки дома всегда остаётся строительный мусор. После установки новой графической оболочки происходит то же самое: зачем вам, например, эти гигабайты скомпилированных исходников? Следовательно, нужно в системе навести чистоту и порядок.
Приборка после установки
Для начала – грубая очистка. Можно полностью удалить всё содержимое каталога, в котором находятся рабочие исходники (WORKROOTDIR). В нашем случае - это /home/ilya/garnome-work/. Они нам не понадобятся даже при повторной установке тех же самых версий: распаковка архивов и обработка файлов всегда будет повторяться в полном объёме. Если вы ограничены в свободном дисковом пространстве - лишние 2-3 Гб будут очень кстати. Но это ещё не всё.
При установке каждой программы, одновременно в систему помещаются и несколько десятков файлов с переводами интерфейса приложения на другие языки. Уверен, что вы никогда не будете пытаться работать с японским или бразильским интерфейсом. Следовательно, от них можно спокойно избавиться. В MDK-10.0 эти файлы помещаются в каталог /usr/share/locale/. Войдите в него (или в тот, где хранятся переводы в вашей операционной системе) и удалите все каталоги, кроме установленных в вашей системе локалей (например, оставьте только те, что связаны с английским и русским языком). В моём случае система “полегчала” ещё на 90 Мб.
Есть и ещё один скрытый резерв. Если вы устанавливали новую версию Gnome поверх старой, то в большинстве случаев новые библиотеки установятся рядом со старыми.
Находятся они, как правило, в каталоге /usr/lib/. Войдите в него и удалите все старые версии библиотек. Это позволит освободить ещё несколько десятков мегабайт дискового пространства. Только убедитесь, что расположенные рядом одноимённые символические ссылки указывают именно на новую версию библиотеки (впрочем, я ещё ни разу не сталкивался со случаями, когда это было не так).
В общем и целом, на данном этапе установка Gnome закончена. Можно осваивать новую графическую среду и постепенно наполнять её полезными программами и утилитами.