Gentoo Linux (http://gentoo.org) пожалуй, самый оригинальный и, на мой взгляд, самый хороший дистрибутив, оригинален он тем что дистрибутива, как такового, нет , а нравится он мне тем, что собирается всё из исходников “с нуля” оптимизированно под конкретную систему и своей системой portage. Portage сильно напоминают BSD’шные порты, но сделаны удобнее и функциональнее.
Итак, что же такое portage? Это набор текстовых файлов (ebuild), в которых описаны правила сборки софта и утилита emerge, с помощью которой можно легко управляться с сотней тысяч ebuild. Для установки Gentoo нужен LiveCD (взять можно с любого из зеркал gentoo, например http://mirror.aiya.ru/pub/gentoo/releases/x86/2005.0/installcd/ ). Как видно, LiveCD там не один, а два: minimal и universal, Universal - это диск на котором есть всё для того, чтобы поставить базу и смело грузить ОС с винта, а minimal - это диск, с которого можно загрузиться, подмонтировать разделы, распаковать туда отдельно скачанный stage и portage, сделать chroot в смонтированный раздел и собрать отдельно скачанный загрузчик (lilo или grub), а только потом загрузить ОС с винта. Если скачали minimal cd, то идём ещё на http://mirror.aiya.ru/pub/gentoo/releases/x86/2005.0/stages/ и качаем stage. Stages тоже не один, а целых много - с разной оптимизацией и количеством уже собранного в них софта. Stage 1 - самый маленький stage. Начнём с него, так будет понятно различие между им, stage2 и stage3. Грузимся с LiveCD, монтируем наш раздел для установки Gentoo в приготовленную папку /mnt/gentoo и копируем туда наш stage1 - cp stage*.tar.bz2 /mnt/gentoo, идём в /mnt/gentoo (cd /mnt/gentoo) и распаковываем stage tar xjvf stage*, осталось распаковать portage, которые можно скачать с http://mirror.aiya.ru/pub/gentoo/snapshots/ (качать, конечно, лучше самые новые). Осталось распаковать portage - cp portage-* /mnt/gentoo/usr && cd /mnt/gentoo/usr tar xjvf portage-*. В принципе готово. Делаем chroot /mnt/gentoo, и указываем ключи оптимизации, которые будут использоваться при сборке софта. Идём в /etc и открываем для правки файлик make.conf. Там всё и надо писать. Посмотреть доступные ключи можно в man gcc, могу сказать коротко, что надо поставить свой проц в mcpu (march), указать что у нас i686, а не i386 и указать флаги USE последней строчкой. Последняя строчка при установке у меня выглядела так: USE=”-X -kde -gnome alsa nptl threads f77 gcj objc mmx sse 3dnow” Всё. Можно начинать ставить. cd /usr/portage/scripts && ./bootstrap.sh -f. Ключ -f говорит о том, что весь базовый софт будет качаться из инета, но если есть universal livecd, то можно взять его оттуда и скопировать в папку /mnt/gentoo/usr/portage/distfiles (если такой папки нет, то надо её создать с помощью mkdir). Можно идти за пивом или за кофе (по вкусу), потому что есть около часа свободного времени (зависит от компа). Когда всё скомпилилось, получили мы ни что иное как stage2. Надо из stage2 получить stage3, для этого набираем emerge -f system (если distfiles взяты с livecd, то этого не надо) и ждём, пока скачается всё, что нужно для системы. Как скачается - пишем emerge system и отправляемся опять пить пиво/колу/кофе. Теперь, когда собрана система, у нас ни что иное, как stage3. Ставим ещё парочку нужных утилит, которые почему-то не включены в system: emerge module-init-tools pciutils. Осталось собрать ядро, поставить загрузчик, настроить загрузчик на наше ядро и можно грузить систему c харда. Исходники ядра тоже можно ставить с помощью emerge - gentoo предлагает много разных исходников типа vanilla-sources (стандартные 2.4), development-sources (стандартные 2.6), gentoo-sources (2.4 с патчами gentoo) и т.п., но я ставил по старинке cp linux-2.*.*.tar.bz2 (звёздочки конечно меняем на цифры), cd /usr/src/linux* && make menuconfig. Конфигурим ядро, затем компилим его и инсталлим модули с помощью make && make modules_install, и вот она, долгожданная финишная прямая! Делаем emerge grub (lilo), cp /usr/src/linux*/arch/i386/boot/bzImage /boot && cp /usr/src/linux*/System.map /boot, правим /boot/grub/grub.conf (/etc/lilo.conf) чтобы он грузил наше новое ядро, потом пишем grub. В открывшемся шелле пишем root(hd0,0) - это мы указываем загрузчику, где наше ядро и setup(hd0) установит загрузчик в mbr (если lilo, то просто написать lilo -v). ReboooooT!!! Грузимся с харда и emerge нам в руки! Как пользоваться emerge, написано в man emerge , но кое-что рассказать можно. Для установки программы (например gqview) достаточно написать emerge gqview, а для её удаления - emerge unmerge gqview. Если программы нет в папке /usr/portage/distfiles, то gentoo полезет её качать. Посмотреть, сколько придётся качать и что будет доставлять программа? Пожалуйста! emerge -pv gqview Есть так же флаги USE, которыми можно управлять, используя USE=”-kde” emerge licq. Все доступные флаги для устанавливаемой программы можно посмотреть с помощью всё тех же ключиков -pv. Обновлять gentoo проще простого - для этого достаточно выхода в интернет и emerge sync. Sync обновит всё дерево portage, и после этого можно набрать emerge -pv world, чтобы посмотреть какой софт из того, что установлен, обновился. World можно использовать и для обновления системы, т.е. если написать emerge world, то обновится весь установленный софт. Программы, которые не протестированы джентушниками помечены специальной маской ~, и если всё равно очень хочется поставить новую софтину то придётся написать ACCEPT_KEYWORDS=”~x86″ emerge gqview. В общем, довольно-таки хороший и удобный дистрибутив, запасайтесь терпением, пивом, временем и ставьте а в помощь - EMERGE . Devel - Специально для PcNews.biz devel(at)pcnews.biz |
Дистрибутив Linux Gentoo в последнее время начинает набирать максимальные обороты. Количество пользователей, заинтересованных в использовании системы, собранной “под себя”, заметно увеличивается. Но вот прошел процесс установки системы. Или, может быть, Вы его только начали. Как ни крути, Вам придется освоить принципы работы с системой portage в Gentoo. Рассматривая множество статей о данном дистрибутиве, Вы наверняка встречали команду emerge с различными ключами. Если даже найти пару схожих статей, об установке того же KDE, можно заметить, что кто-то из авторов пишет emerge -av KDE, а кто-то emerge -pv KDE. Так в чем же разница?
Суть системы портежей состоит в том, что в системе есть специальное дерево распределенных по определенному типу приложений. За информацию о каждом приложении, его зависимостях, отвечают маленькие файлики - ebuild. Они представляют собой небольшие скрипты, с описанием процесса установки и контрольными суммами файлов. Кроме того, они также могут содержать инфрмацию о том, какие патчи необходимо наложить на программу перед ее компиляцией. Сами файлы располагаются в директории /usr/portage. Они все удобно распределены по категориям. Например утилиты для работы с сетью лежат в папках “net-”. А приложения, необходимые для работы с php - “dev-php”. Кроме того, в каждом таком каталоге вы найдете еще несколько - для каждого приложения выделен отдельный каталог. В итоге найти необходимое приложение не составит труда. Например, apache мы найдем по адресу /usr/portage/net-www/apache. Но система портежей была бы ничем, если бы не замечательная утилита emerge. emerge emerge - это основная программа в дистрибутиве Gentoo. Именно с её помощью, мы получаем возможность использовать одну из сильнейших сторон Gentoo - систему портежей. Я опишу наиболее популярные команды для данной утилиты: emerge program : при простом вызове emerge с именем программы имеющейся в системе портежей, будет произведена проверка необходимых версий приложений и библиотек, требующихся для нашей программы, а так же установлены ли они в системе. В случае их отсутствия, emerge сначала скачает и скомпилирует все требуемые зависимости и лишь в конце приступит к установке нашей программы. Маленький совет: файлы можно скачать и самостоятельно, сохранив их в папку distfiles, директории /usr/portage. emerge -f program : emerge не будет заниматься компиляцией программы. Система только лишь скачает все необходимые файлы, включая зависимости, для успешной компиляции приложения на данном компьютере. emerge -pv program : вызывая emerge с ключами “-pv”, мы получим список необходимых приложений и библиотек, которые нужно установить для использования данной программы. Кроме того, в конце вывода, мы сможем посмотреть, какой обьем файлов необходимо скачать из Internet. emerge -av program : делает то же самое, что и “-pv”, единственное отличие, к концу вывода добавляется вопрос - хотите ли вы установить данное приложение, и если вы введете клавишу “y”, то emerge скачает и установит необходимые файлы. emerge -b program : система после успешной установки приложения так же создаст бинарный пакет, используя который уже не потребуется по новой компилировать файлы. emerge -B program : то же самое, что и запуск с ключом “-b”, с единственной разницей, что будут созданы только пакеты, устанавливаться в систему они не будут. emerge -k program : данная команда позволяет при наличии в директории /usr/portage/packages, бинарных пакетов, не тратить время на компиляцию пакетов, а установить уже скомпилированные, например с ключем “-b” во время инсталляции программы. emerge -K program : отличие от запуска с ключем “-k”, в том, что при установке если бинарный файл отсутствует в директории packages, то установка будет аварийно остановлена. emerge -g program : скачивается бинарный, уже скомпилированный пакет. Однако найти такой сервер, содержащий скомпилированные пакеты, практически невозможно. emerge -O program : установка пакета, с полным игнорированием всего, что ему требуется. Крайне нежелательно. emerge -o program : будут установлены только необходимые для успешной установки самого приложения файлы. Сам пакет установлен не будет. emerge –resume : позволяет продолжить последний процесс установки приложения, из-за случайно возникшего сбоя. Например, во время внезапного отключения света в доме или разрыва линии модемом. emerge -s program : если вы точно не помните имени программы, можете воспользваться данным параметром - он производит поиск в базе портежей приложений содержащих в своем имени введенное вами слово. emerge sync : собственно основная опция emerge, предназначенная для получения свежего дерева портежей из Сети. emerge unmerge program : удаление пакета из системы. Например, при установке KDE, новая версия будет поставлена “слотом”, и мы получим возможность грузиться в старую и новую версии KDE. Кому-то это удобно, а кому-то нет. Для того, чтобы этого не происходило, можно при помощи данной команды удалить текущую версию приложения. Кроме того, при использовании emerge, есть маленькие нюансы, о которых плохо знают начинающие пользователи Gentoo. При выводе информации с ключами “-av” или другими можно увидеть: [ebuild R ] app-misc/mc-4.6.0-r13 Что означают буквы в квадратных скобках? Я приведу тут наиболее часто встречающиеся обозначения: [blocks B ] app-text/dos2unix (from pkg app-text/hd2u-0.8.0) - dos2unix блокирует установку hd2u. Перед установкой необходимо сначала удалить конфликтующую программу. [ebuild N ] app-games/qstat-25c - программа будет впервые установлена в системе. Предыдущей версии данной программы нет в списке установленных приложений. [ebuild NS ] dev-libs/glib-2.4.7 - данное приложение у вас уже стоит, но новый glib будет установлен в “слот”. Таким образом, можно будет использовать одновременно несколько версий данного приложения. Ближайший пример - KDE. Можно установить в систему 3.2.3, 3.3.2, 3.4.0 и грузиться в каждый из них по выбору. [ebuild R ] sys-apps/sed-4.0.5 - переустановка пакета. Данная версия пакета уже установлена. Произойдет пересборка пакета. [ebuild F ] media-video/realplayer-8-r6 - необходимо загрузить файлы самому, руками. Обычно это происходит с теми сайтами, которые “отдают” файлы только после регистрации у них на сайте. [ebuild f ] media-video/realplayer-8-r6 - файлы уже загружены пользвателем и помещены в /usr/portage/distfiles [ebuild U ] net-fs/samba-2.2.8_pre1 [2.2.7a] - предыдущая версия пакета уже есть в системе. Произойдет обновление пакета. [ebuild UD] media-libs/libgd-1.8.4 [2.0.11] - в системе установлена более новая версия пакета чем та, которую вы хотите установить. Если программа отказывается устанавливаться, ссылаясь на то, что она находится еще в стадии тестирования, т.е. выводит диалог примерно следующего содержания: emerge =kde-3.4.0 Calculating dependencies !!! All ebuilds that could satisfy “=kde-3.4.0″ have been masked. !!! One of the following masked packages is required to complete your request: - kde-base/kde-3.4.0 (masked by: ~x86 keyword) For more information, see MASKED PACKAGES section in the emerge man page or section 2.2 “Software Availability” in the Gentoo Handbook. то побороть эту напасть, можно поставив перед emerge слудющее - ACCEPT_KEYWORDS=”~x86″. В итоге строка примет вид: ACCEPT_KEYWORDS=”~x86″ emerge =”kde-3.4.0″ Как вы еще успели заметить, перед именем необходимой программы стоит знак “=” (равно). Данный прием позволяет установить приложение определенной версии в систему. Кроме того, перед emerge можно поставить и необходимые при компиляции флаги: USE=”mmx sse sse2 3dnow” emerge mplayer Поскольку приложения в Gentoo собираются из исходных кодов, то, как и при ручной сборке, мы можем указать им необходимые нам флаги. Это иногда позволяет включить необходимые нам опции в программе. Например, в данном случае, mplayer собирается с поддержкой расширенных инструкций для процессора Athlon, что в итоге даст некоторый прирост в производительности. Кроме всего прочего, это иногда помогает снять ненужные зависимости. По странному стечению обстоятельств, в Gentoo файловый менеджер Midnight Commander собирается с поддержкой XFree, что в итоге тянет за собой лишние 50-80 мегабайт. Добавив в USE флаг “-X” мы соберем mc без поддержки X-сервера. От этого он хуже работать не станет, и не будет “думать” после ввода mc в консоли. Только учтите - для приложений есть и жесткие USE-флаги, которые снимать нежелательно, они могут серьезно повлиять на работу. Но не emerge единым живы пользователи Gentoo. Хотя, конечно, именно это приложение выполняет львиную долю работы. Рассмотрим такое приложение как equery. equery equery – программа, предназначенная для получения различной информации о пакетах в Gentoo Linux. Ниже кратко рассмотрены варианты ее применения. equery b program : список файлов, принадлежащих пакету. equery k program : проверка контрольных сумм файлов. equery d program : список приложений, содержащих прямые зависимости от данного приложения equery f program : список принадлежащих пакету файлов. equery h program : список приложений, имеющих во флаге USE данный пакет. equery l program : список пакетов совпадающих по имени с введенным. equery s program : вывод размера файлов, содержащихся в пакете. equery u program : выводит список используемых в приложении USE флагов. equery w program : полный путь до ebuild-файла, для данного пакета. Но на этом список интересных приложений не заканчивается. Для просмотра статистики о системе, можно установить пакет genlop. Он занимает мало места, но очень удобен для работы с логом emerge. Установка производится стандартными средствами - emerge genlop. После чего, можно вызвать программу со следующими параметрами: genlop -c : вывод информации о текущем процессе работы emerge. Для получения данных необходимо, чтобы в момент запуска genlop с ключом “-c”, что-то компилировалось при помощи emerge. Самым интересным параметром будет ожидаемое время окончания процесса компиляции приложения. genlop -e program : вывод истории установки какого-либо приложения. Иногда бывает интересно глянуть на то, как часто обновлялось то или иное приложение. genlop -i program : вывод расширенной информации о программе. Включая флаги с которыми компилировалось приложение, среднее время компиляции, а так же, сколько раз оно устанавливалось в систему: genlop -i mc * app-misc/mc Total builds: 4 Global build time: 13 minutes and 48 seconds. Average merge time: 3 minutes and 27 seconds. Info about currently installed ebuild: * app-misc/mc-4.6.0-r13 Install date: Sun Mar 20 06:21:45 2005 USE=”nls ncurses slang -gpm -samba -X -unicode” CFLAGS=”-march=athlon-xp -mfpmath=sse -mmmx -m3dnow -O2 -mcpu=i686 -fomit-frame-pointer -I/usr/include/gssapi” genlop -l : вывод истории установки приложений и библиотек. Имеет вид “дата время >>> имя пакета” genlop -p program : оценочное время сборки того или иного пакета. Процесс довольно долгий. genlop -r : список дат, когда происходило обновление системы протежей при помощи emerge sync. genlop -s program : поиск по имени приложения. genlop -S program : фактически то же самое, но поиск идет с учетом регистра букв. genlop -t program : вывод времени компиляции для каждой установки данного пакета в систему. Иногда бывает интересно посмотреть, как растет время компиляции для каждой новой версии приложения. genlop -u program : вывод аналогичен вызову с параметром “-i”, но так же выводятся и даты удаления пакета. С помощью данных программ можно получить полный контроль над своей системой. А ведь как Linux, так и Gentoo для этого как раз и предназначены Специально для PC News – Виталий Никульшин (ami@tob.ru) |
Предлагаю всем wget -r http://xxx.xx > POST на forum.... ) Для этого блог существует. Попробуй поставь... поработай... и постом сюда свои мнения... Вот это будет интересно. Хотя, по моему, наверное, самый удобный дистр. Но много П№ВА надо для установки. |
тоже слышал что хороший дистрибутив, но сам не ставил...Собирается полностью из исходников, поэтому по времени не быстро |
кажись он стоит на гейм сервере |
С января месяца у меня стоит Gentoo. Раньше был Mandrakelinux. "Гента" лично меня устраивает на 120%, никаких "глюков", зависаний, и тому подобного не было. Скорость работы системы впечатляет.
Конечно, для того чтобы поставить Gentoo, недостаточно быть начинающим пользователем Linux. Но в целом установка и настройка не так уж и сложна, как рассказывают. Полезным плюсом Source-based систем в общем и Gentoo Linux в частности является безошибочная сборка практически любых "сорцов". В RPM-based системах собрать что либо более или менее весомое невозможно, приходится искать пакет под конкретную систему. |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы |