Gentoo - короткий мануал по установці gentoo gnu

Отже, ви вирішили встановити Gentoo і не знаєте з чого почати, при цьому читання мінлива вас відлякує своєю кількістю і складністю. В даному мануале я постараюся коротко описати весь процес установки системи, і постараюся написати простою мовою.

Наступне що нам належить вибрати це Stage. Stage це звичайний архів, який містить початкову структуру каталогів Linux, а також деякі файли. Справа в тому, що Gentoo відрізняється сильною оптимізацією роботи під конкретний комп'ютер, тому, є можливість встановити «все з нуля». Всього існує три Stage. Наприклад Stage1 є самий базовий варіант, що містить мінімальний набір команд, такі як chroot і т.п. Якщо почитати мануали а офіційному сайті Gentoo, то там радять проводити встановлення з Stage 3, тому що установка системи з stage1 і stage2, на машину кінцевого користувача, більше не підтримується. Якщо вам цікава моя думка, то я завжди використовую Stage 1, і весь наступний мануал буду писати саме по збірці з цього stage.
Так само stage буває для різних профілів і різних архітектур. Stage збирається для деякого числа певних архітектур процесорів. Архітектура процесора - це загальна назва ідей, набір інструкцій і регістрів, підтримуваних процесором. Ім'я архіву містить назву типу архітектури процесора, для якої він зібраний. Щоб правильно вибрати Stage, ви повинні знати тип архітектури вашого процесора. Дану інформацію можна отримати, наприклад, з сайту виробника процесора або в загальнодоступних енциклопедіях.

Наступний пакет який потрібно мати перед початком установки це Portage. У Gentoo існує спеціальна система Portage, яка відповідає за установку, оновлення, відстеження залежностей, обслуговування та видалення пакетів. Система досить часто оновлюється, адже вона містить скрипти для установки певних версія програм. Portage є архів містить в собі базу з інформацією про доступні, на поточний момент пакетах. Скачіваемсамий свіжий Portage. Версія даного архіву визначається датою випуску. На офіційних дзеркалах архів знаходиться в каталозі snapshots. Для керуванням пакетів використовується універсальний скрипт - emerge. Це команда з допомогою якої виконуються всі операції пов'язані з управлінням, а так же оновленням пакетів. Наприклад для установки Apache потрібно всього лише ввести emerge apache і систеиой сама завантажить і встановить останню (за даними з локального Portage) версію apache.

Установка Gentoo проводиться з під уже існуючої системи Gentoo - livecd відповідний профілю тієї системи яку ми будемо збирати. На завантажувальному диску вже встановлений компілятор і бібліотеки, а так же базові команди які нам можуть знадобитися для складання нашої майбутньої системи. Звичайно ж вибирати livecd варто з таким же профілем і такий же архітектурою що і Stage.

Отже, для початку установки нам знадобитися. Завантажувальний livecd, архів Stage 1, архів Portage. Записуємо це все на один диск і можна приступити до установки.

Як тільки закінчиться завантаження livecd ми потрапляємо в консоль. Насамперед що ми зробимо, це розіб'ємо жорсткий диск на розділи.
На даному етапі я зупинятися не буду, тому що в інтернеті і на форумі повно тим з даного питання.

# Cfdisk / dev / sda

Припустимо що ваша таблиця розділів виглядає так:

Файлова система Тип Точка монтування

/ Dev / sda1 swap -
/ Dev / sda5 reiserfs /
/ Dev / sda6 reiserfs / var
/ Dev / sda7 Ext2 / boot
/ Dev / sda8 reiserfs / usr / portage

SWAP - mkswap / dev / sda1
Ext2 - mke2fs / dev / sda1
Ext3 - mke2fs -j / dev / sda1
ReiserFS - mkreiserfs / dev / sda1
JFX - mkfs.jfs / dev / sda1
XFS - mkfs.xfs / dev / sda1

Як видно з моєї таблиці розділів на жорсткому диску, мій вибір припав на ReiserFS, так як він досить швидко працює з великою кількістю маленьких файлів.

Після успішного форматування, монтуємо кореневої каталог і створюємо на кореневому розділі парочку каталогів, для монтування інших розділів.

# Mount / dev / sda5 / mnt / gentoo
# Cd / mnt / gentoo
# Mkdir boot
# Mkdir var
# Mount / dev / sda6 / mnt / gentoo / var

Тепер у нас є дерево нашої майбутньої системи. Монтуємо до вийшов каталогам інші файлові системи:

# Mkdir / mnt / gentoo / usr / portage
# Mount / dev / sda7 / mnt / gentoo / boot
# Mount / dev / sda8 / mnt / gentoo / usr / portage
# Mount / dev / sda6 / mnt / gentoo / var
# Swapon / dev / sda1
# Mount t proc none / mnt / gentoo / proc

Розпаковуємо знімок дерева Portage.

Прийшов час вказати параметри збірки. Так як Gentoo відрізняється від інших дистрибутивів оптимізацією, існує конфігураційний файл де і виставляються всі ці настройки. Всі параметри за замовчуванням знаходяться в /etc/make.globals, але додавати зміни потрібно в /etc/make.conf. Так само тут вказуються так звані USE прапори, призначені для позначення глобальних залежностей для збирання пакетів. Наприклад при складанні якого-небудь пакета в залежності потрапляє KDE, хоча нам його встановлювати не потрібно. Ми просто додаємо в USE параметр -kde і все залежності пов'язані з KDE будуть автоматично відкинуті.

# Nano w /mnt/gentoo/etc/make.conf

Отже, система готова до збірки, тепер ми можемо перейти під нашу майбутню систему і почати збірку.

# Chroot / mnt / gentoo / bin / bash
# Env-update
# Source / etc / profile

Приступимо до збірки Stage 1.

# Cd / usr / portage
# Scripts / bootstrap.sh

Цей процес може зайняти кілька годин. Після успішної збірки Stage приступимо до складання системних пакетів. P.S. Залежно пакетів які будуть встановлені можна подивитися у вигляді списку, додавши в команду префікс --pretend. Наприклад emerge --pretend system. Таким чином ви можете точно простежити які пакети будуть встановлені і відрегулювати USE прапори в /etc/make.conf.

# Emerge system

Процес складання можна перервати, і запустити знову. Встановлені пакети вже будуть внесені в базу, і будуть реально встановлені. Потрібно всього лише ввести emerge system ще раз.

Розпаковуємо вихідні коди ядра:

# Emerge gentoo-sources

# Cd / usr / src / linux
# Make menuconfig
# make make modules_install

Копіюємо образ ядра в завантажувальний розділ.

# Cp / usr / src / linux / arch / i386 / boot / bzImage / boot / bzImage
# Cp /usr/src/linux/System.map / boot

Після складання ядра встановимо деякі утиліти, на випадок якщо вони якимось чином не були в system. P.S. Так як в своєму варіанті я використовую ReiserFS я встановлюю утиліти для даної файлової системи.

# Emerge udev
# Emerge reiserfsprogs

Тепер відредагуємо таблицю монтування fstab.

# Nano w / etc / fstab

таблиця виглядає так:

/ Dev / sda7 / boot ext2 noauto, noatime 1 + 1
/ Dev / sda5 / reiserfs noatime 0 0
/ Dev / sda1 none swap sw 0 0
/ Dev / sda8 / usr / portage reiserfs noatime 0 0
/ Dev / sda6 / var reiserfs noatime 0 0
tmpfs / tmp tmpfs defaults 0 0

Встановлюємо журнал і планувальник завдань.

# Emerge syslog-ng
# Rc-update add syslog-ng default
# Emerge vixie-cron
# Rc-update add vixie-cron default

P.S. Для того щоб додати init скрипт в рівні завантаження, використовується утиліта rc-update, використання якої ми бачимо вище.

# Emerge lilo
# Nano w /etc/lilo.conf

Мій варіант конфіга завантажувача виглядає так:

boot = / dev / sda
prompt
timeout = 150
image = / boot / bzImage
root = / dev / sda5
label = Gentoo
read-only

Для того щоб зробити запис в MBR:

# lilo

Створимо нового користувача.

# Useradd -m -G users, wheel, audio -s / bin / bash john

Ну і найголовніше, це не забути встановити пароль для root. P.S. Заодно можна встановити пароль і користувачеві.

# passwd

Ну ось мінімальний набір програм для роботи в системі був встановлений. Тепер під систему можна завантажитися. Якщо система при завантаженні видає будь-які помилки або відмовляється завантажуватися, то швидше за все ви щось зробили не так.

Виходимо з системи:

Ребут з під livecd:
код:

Оновлення вже встановленої системи.
Так як база скриптів portage оновлюється безперервно, є можливість мати постійно свіжий набір пакетів. Для того щоб синхронізувати дерево Portage з офіційним деревм введемо команду:
код:

Після успішної синхронізації, потрібно зібрати нові пакети і видалити старі. Для цього пересоберем пакети входять до system і world.
код:

# Emerge system
# Emerge world
# Emerge --update --newuse --deep world

Наступна команда контролює цілісність пакетів і відповідні до них бібліотеки:

Наступна команда чистить систему від сміття. Наприклад ви видалили якийсь пакет, а після нього залишилися залежності. Виконавши цю команду ви автоматично видаліть всі "непотрібні" пакети. P.S. Використовуйте гранично акуратно.

P.S. У даній статті не прагнули охопити весь процес установки, це дуже короткий і стислий варіант. Якщо щось не зрозуміло або щось вказано некоректно пишіть, виправимо.

Схожі статті