Базова установка Gentoo Linux

Базова установка Gentoo Linux

У цій статті я опишу базову установку Gentoo Linux із stage3. Стаття розрахована на людину, знайому з Linux. Для спрощення все описуватиметься для самотньої машини з одним чистим жорстким диском і прямим доступом до мережі. Докладніша офіційна документація доступна тут: http://www.gentoo.org/doc/en/handbook/index.xml. Слід зазначити, деякі моменти там не зовсім актуальні. При знаходженні відмінностей у моїй статті та офіційній документації можна вважати мою версію більш актуальною.

Для початку вам знадобляться minimal-cd, stage3 і portage-latest.Minimal-cd – це завантажувальний iso-образ, завантажившись з якого ми будемо встановлювати систему.Stage3 - це архів, що містить базову систему з встановленими emerge (пакетний менеджер Gentoo), gcc і базовим набором утиліт, необхідних для роботи всього цього.Portage-latest – новий архів дерева пакетів. Завантажити архіви можна зі сторінки завантаження Gentoo. Перейдіть на Gentoo Mirrors і виберіть сервер, що знаходиться ближче до вас (в Україні буде логічно використовувати дзеркала Yandex або Corbina). Далі перейдіть в каталог releases//current-iso/, де необхідно завантажити install--minimal-.iso і stage3--.tar.bz2. – архітектура вашого процесора, – дата збирання образів. Тепер поверніться назад у корінь дзеркала та перейдіть до каталогу snapshots. Звідти потрібно завантажити файл portage-latest.tar.bz2. Для зручності роботи найкраще покласти файли stage3 і portage-latest всередину iso-образу, після чого записати образ на болванку.

Зауважте, що під час інсталяції знадобиться з'єднання з Інтернетом для завантаження вихідних програм.

  • натискаємоn, щоб створити новий розділ,
  • p, щобстворити primary розділ,
  • 1, тому що ми створюємо перший розділ,
  • далі просто тиснемо Enter, щоб розділ був із самого початку диска і
  • нарешті вказуємо розмір розділу, наприклад+1024M.

Тепер створимо розділ для кореневої файлової системи:

  • n,
  • p,
  • 2 (ми створюємо другий розділ),
  • просто тиснемо Enter, щоб розділ йшов слідом за першим,
  • просто тиснемо Enter, щоб розділ зайняв залишок жорсткого диска.

Залишилося тільки змінити тип swap-розділу:

  • натискаємоt для зміни типу розділу,
  • натискаємо1 для зміни типу першого розділу,
  • вводимо код типу розділу82

Щоб перевірити наші зміни, натискаємоp і бачимо приблизно таке:

Якщо все гаразд, натискаємоw для запису змін на диск.

Описаний спосіб розбивки є базовим. Краще було б створити окремі розділи для /boot, /var, /usr і т.д., але це виходить за рамки статті.

Запускаємо наші розділи у роботу:

Стаття написана з розрахунком використання файлової системи ReiserFS. Звичайно ж, ви можете використовувати будь-яку іншу ФС за бажанням, наприклад ext4.

Розпаковуємо базову систему:

Тепер потрібно налаштувати з'єднання з мережею. За умовою завдання ми маємо прямий доступ до мережі, тому для налаштування достатньо запустити net-setup eth0.

Робимо chroot в нашу нову систему:

Докладніше про оптимізацію збирання ви можете почитати: Оптимізація збирання в Gentoo (make.conf).

Тепер необхідно вказати локалі, що використовуються у файлі /etc/locale.gen. Достатньо вказати основні:

Після цього потрібно запустити locale-gen.

Тепер, по тру-генту-вей , треба перезбирати system (emerge -av system) два чи навіть три рази, але це піде багато годин, а приріст продуктивності буде незначний. System - щось подібне до віртуального списку пакетів, що включає компілятор, основні системні бібліотеки та утиліти.

Базові конфігураційні файли різних сервісів перебувають у каталозі /etc/conf.d/. Підправимо деякі з них.

У/etc/conf.d/clock вкажемо:

  • CLOCK="local" - щоб залізний час збігався із системним.
  • TIMEZONE="Europe/Moscow" — наша тимчасова зона, варіанти можна переглянути в /usr/share/zoneinfo/.
  • CLOCK_SYSTOHC="yes" — синхронізувати залізний годинник із системним. Адже ви збираєтесь регулярно оновлювати час у системі?

Зробіть cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime . Замість Europe/Moscow використовуйте тимчасову зону.

У/etc/conf.d/consolefont вкажемо шрифт, який нормально відображає українські літери:

  • CONSOLEFONT="Cyr_a8x16" — варіанти можна переглянути в /usr/share/consolefonts. Наприклад, зі шрифтом Cyr_a8x8 на екрані поміститься набагато більше тексту, але літери будуть плескаті.

У/etc/conf.d/hostname вкажіть ім'я своєї машини:

У/etc/conf.d/keymaps введіть такі опції:

  • KEYMAP="-u ruwin_ct_sh-UTF-8" — перемикання Ctrl+Shift. Варіанти у /usr/share/keymaps.
  • SET_WINDOWKEYS="yes"
  • DUMPKEYS_CHARSET="koi8-r"

Для русифікації інтерфейсу створіть файл/etc/env.d/02locale із вмістом:

LC_NUMERIC="POSIX" потрібен для того, щоб у десяткових дробах використовувалася точка, а не кома.

Тепер редагуємо/etc/fstab, вказуємо наші розділи. Наразі вміст цього файлу — приклад.Видаліть рядок з /dev/BOOT, замініть ROOT на sda2, SWAP на sda1, ext3 на reiserfs. Після цього у файлі мають бути приблизно такі рядки:

Наберітьpasswd, щоб встановити пароль користувача root нової системи.

Тепер новій системі потрібне ядро. Є три варіанти - зібрати і налаштувати ядро ​​з вихідних (переважний), зібрати ядро ​​за допомогою genkernel, скопіювати ядро ​​з LiveCD.

Щоб визначитися з наявним у вас обладнанням, встановіть пакети sys-apps/pciutils та sys-apps/usbutils (lspci та lsusb відповідно).

Тепер потрібно встановити завантажувач та утиліти файлової системи:

На 64-бітових системах grub тягне за собою пакет app-emulation/emul-linux-x86-baselibs, який багато важить. Містить він бінарні 32-бітові бібліотеки. Позбутися їх можна, зібравши grub з відключеним USE-прапором "ncurses". Для цього необхідно передати emerge USE="-ncurses". Просто пропишіть USE-прапори /etc/portage/package.use, як описано тут.

Якщо ви використовували genkernel:

Далі потрібно встановити завантажувач grub:

Встановимо syslog, cron та logrotate:

Наша система готова! Виходимо з chroot-оточення та розмонтуємо розділ.

Якщо планується робота в мережі, варто встановити пакети:

  • bind-tools – утиліти nslookup, dig,
  • iproute2 - утиліти ip, tc,
  • iptables - файрволл,
  • netkit-telnetd - telnet,
  • mtr, traceroute – трасування.

Для моніторингу роботи системи можуть бути корисні пакети:

  • htop – набагато функціональніший аналог top,
  • iotop – використання i/o процесами у вигляді top,
  • strace – утиліта діагностики та налагодження процесів.

І нарешті, для зручності роботи пакети:

  • mc –легендарний файловий менеджер,
  • screen – консольний віконний менеджер, корисний для запуску процесів на тлі.

Не забувайте регулярно оновлюватись. Робиться це просто:

  • emerge - sync - оновить дерево пакетів.
  • emerge -uavDN world – відобразить список пакетів, що оновлюються, версії, USE-прапори та запропонує оновити їх.