Hi-Tech Arduino Компьютеры Интернет
HV-Lab Reference Linux Форум
Справочники Libraries Windows Галерея
Электроника Hardware Hardware Загрузки
Печатные платы Forum Программирование Мини-чат
[ Февр 26, 07:42 ] admin: Форум перешел в разряд архивного.
[ Февр 24, 19:02 ] admin: переехали на новый сервер. Грядут перемены.
[ Фев 20, 08:38 ] кулибин: Переход на SSL был непрост (особенно с абсолютными путями на изображения, но мы его осуществили)
RSS статьи
 
Статьи

Статьи->Linux->Gentoo Linux Часть 1 [ Поиск ]

Gentoo Linux Часть 1 - Краткое пособие по развертыванию базовой системы
Отправил: кулибин, Суббота, 31 Января 2009 22:53

<@insomnia> Нужно выполнить всего три команды, чтобы поставить Gentoo:

<@insomnia> cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6

<@insomnia> это первая

  1. bash.org.ru

Во время плясок с бубном ночи напролет вокруг линухового компьютера невольно начинаешь интересоваться внутренним строением операционной системы. Различные дистрибутивы довольно неповоротливы даже на шустрых машинах. Все дело в их универсальности – поставил и готово. Графические средства настройки (правда половину все равно делаешь ручками), куча полезных и абсолютно ненужных программ – все это пожирает ресурсы системы. Изучить внутреннюю структуру такой ОСи можно лишь постепенно выгребая из нее мусор. Но есть один дистрибутив, который мне давно хотелось поставить.
Gentoo Linux отличается от всех известных читателю дистрибутивов. Основная их задача – донести конечному пользователю полностью готовый к применению продукт, а значит, по мнению разработчиков Gentoo, навязать свое мнение и ограничить пользователя в свободе выбора. Смысл Gentoo – разрешить пользователю делать ему все что заблагорассудится, работать с теми программами, которые он считает необходимыми. Как это сделать не прибегая к изощренным методам искоренения нерадивых программ и установки других? Ответ прост – установить систему по правилу «ничего лишнего » с данным набором программ . «Таких дистрибутивов не существует» скажете вы и ошибетесь. Этот коварный Gentoo – и есть искомый дистриб. Смысл его таков. Вы вручную собираете систему из исходников. Да-да, компиляция абсолютно всех программ. Не подумайте, что придется вручную решать все зависимости. Заимствованная у BSD система портов позволяет громогласной командой «Явись!» (emerge) загрузить и установить необходимый пакет.
Про сборку голыми руками – это к LFS – Linux From Scraches – Линукс из исходников. Тут и зависимости и проблемы с совместимостью и проч. В эти дебри мы лезть не будем.
Как-то раз, прогуливаясь по интернету, забрел я на сайт www.gentoo.org На этом сайте повествуется о замечательных свойствах дистрибутива Gentoo.
Gentoo появился на основе разработок собственного дистрибутива Даниэла Роббинса под названием Enoch Linux. Уже тогда основной целью дистрибутива являлась собственная сборка (подобная LFS), оптимизированная под конкретное аппаратное обеспечение и содержащее минимальный, необходимый пользователю, набор программ. Тесты показывают, что производительность оптимизированных под вашу архитектуру программ увеличивается на 10-200% по сравнению с готовыми сборками, поставляемыми вместе с дистрибутивами. Естественно, что чем старее процессор, тем стандартнее его набор команд, т.е. установка Gentoo Linux оправдана на новых процессорах, позволяя использовать все их возможности по полной программе.
Gentoo Linux доступен на сайте в двух основных вариантах:
Minimal CD, в который включены лишь компоненты, необходимые для успешной инсталляции системы – ядро, утилиты, сетевые утилиты, модули поддержки оборудования.
Live CD – в него входит графический инсталятор, позволяющий еще более простым способом установить дистрибутив.

Я не ставлю своей целью поголовное посвящение обычных пользователей в Гентушников. Это личное дело каждого. Я лишь хочу сломать некоторые стереотипы, а ля «Gentoo это ужасно сложно и т.п.» и показать читателю, что Gentoo– это очередной шаг к пониманию философии СПО.

Сразу оговорюсь – без безлимитного канала интернет, либо при отсутствии в кольце вашего провайдера зеркала (где трафик обычно бесплатен) Gentoo Linux ставить бессмысленно – практически все загружается из интернета. На сайте Gentoo можно загрузить Package CD, содержащий, портеджи и позволяющий существенно уменьшить необходимый трафик. Предлагаю вам загрузить Minimal CD – только с ним вы получите все то превосходство над своей Осью. Мои терзания данной оси начались на Pentium-!!! 830мГц c 256Мб ОЗУ c интегрированной видеокартой. Приготовьте словарик – он вам пригодится – инсталятор, разумеется, на английском языке. Загрузив нужное ядро(вписав gentoo в командной строке) вы запустите загрузку системы с диска. Подключите сетевую карту к интернету – если в вашей сети присутствует dhcp-сервер, то все просто замечательно, если нет – то придется устанавливать параметры сети вручную, при помощи net-setup. Программа спросит вас некоторые параметры, и в завершение вы получите работающее соединение. Когда система загрузится на экране останется исключительно командная строка. Это главный инструмент управления. В пределах данной статьи ничего не будет настроено при помощи графического интерфейса, поднятие графики выходит за пределы данной статьи. Нетерпеливый читатель, надеюсь, разберется в этом вопросе самостоятельно. Итак, приступим.
Для начала приготовим жесткий диск – его необходимо разбить и отформатировать. Для этого существует утилита fdisk. К какой шине подключен ваш жесткий диск? Хард в Линукс «расположен» в /dev/hda, где h – это параметр IDE диска, а s – SCSI или SATA. Если ваш хард висит на IDE0 как Master, то это «а», если на IDE0 как Slave, то это «b» и т.д. Условимся, что путь к моему диску /dev/hda
Вызываем программу командой # fdisk /dev/hda (решетка обозначает, что команда выполняется с правами root, решетку, разумеется, вводить не надо). Мы попадем в простой текстовый интерфейс. При нажатии клавиши m приводится список букв, соответствующих определенным командам. Немного почитав словарь и сделав пару попыток, таки разбиваем хард и сохраняем таблицу разделов на жесткий диск. У вас должно получиться примерно следующее:

Каталог

Размер

Размещение на диске

ФС

/boot

~50Мб.

Начало диска

Ext2, ext3, reiserfs

Своп раздел

100-200% от ОЗУ

Начало диска

Swap

/

1-2Гб

Ближе в началу

Ext2, ext3, reiserfs

/usr

1-10Гб в зависимости от потребностей

Середина диска

Ext2, ext3, reiserfs

/home

Много

Конец диска

Ext2, ext3, reiserfs

Выходим из программы и форматируем разделы командами, в зависимости от типа ФС:

ФС

Команда

ext2

mke2fs /dev/hda<номер раздела>

ext3

mke2fs -j /dev/hda<номер раздела>

reiserfs

mkreiserfs /dev/hda<номер раздела>

Монтируем разделы. Нам необходимо сделать так, чтобы папки на LiveCD незаметным для ядра образом превратились в нам необходимые:
# mount -t <тип ФС> /dev/hda<номер раздела> /mnt/gentoo/<путь>
так делаем с каждым разделом. Не забудем также включить своп-раздел
# swapon /dev/hda<номер раздела>
Командой df -h проверим, все ли правильно мы смонтировали.
Перейдем в «корневой каталог»:
# cd /mnt/gentoo
Загружаем с ближайшего к нас зеркала архив стадии и снимок дерева портеджей при помощи wget:
# wget <сервер>/gentoo/releases/<архитектура>/current/stages/stage3-<архитектура>-2008,0.tar.bz2
# wget <сервер>/gentoo/shapshosts/portage-latest.tar.bz2
Наиболее близким для жителей России зеркалом является зеркало Яндекса. Чтобы не писать длинный путь к нужному файлу попробуйте искать при помощи консольного браузера links. Адрес http://www.gentoo.org/main/en/mirrors2.xml ведет к списку зеркал. После загрузки двух, довольно весомых, архивов Распакуем их:
# tar -xvjpf stage3-i686-2008.0.tar.bz2
# tar -xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr
Конфигурационные файлы.
Первым делом нам необходимо настроить главный конфигурационный файл - /etc/make.conf.
В нем содержится основная информация о том, как производить компиляцию.
Пишем: # nano -w mnt/gentoo/etc/make.conf
CHOST="i686-pc-linux-gnu" – Показывает, под какую систему была скомпилирована система. Этот параметр критичен – его изменение грозит краху системы.
CFLAGS="-O3 -march=pentium3 -mfpmath=sse -pipe" – оптимизация компиляции под конкретную платформу. Цифра 0-3 показывает степень оптимизации. Чем выше значение, тем полнее используются возможности процессора, но при этом компиляция более долгая. Золотая середина – 2. Другие два параметра – привязка к определенной архитектуре. Хотите универсальности – используйте -march=i686, хотите мощи – указывайте ваш процессор. Полное описание параметров настройки gcc можно взять на http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/i386-and-x86_002d64-Options.html
CXXFLAGS="${CFLAGS}"
SYNC="rsync://rsync.gentoo.nnov.ru/gentoo-portage"
GENTOO_MIRRORS="ftp://linuxarchive.nnov.ru/pub/Unix/Gentoo/"
Последние две строки – путь к зеркалу и портеджам. У меня указан сервер, находящийся в моей кольце. В результате время тратится только на установку, а не на загрузку пакетов.
Настройка fstab.
Fstab позволяет настроить правила монтирования разделов при загрузке ОС, либо при ручном монтирование каких-либо устройств:
# nano -w /mnt/gentoo/etc/fstab
В качестве примера привожу свой конфигурационный файл:
/dev/hda6 / reiserfs defaults 0 1
/dev/hda5 none swap sw 0 2
/dev/hda7 /home reiserfs defaults 0 2
proc /proc proc defaults 0 0
/dev/hdc /mnt/cdrom auto user,ro,noauto 0 0
/dev/fd0 /mnt/floppy auto user,noauto,rw,noexec 0 0
левая колонка – это нужный нам раздел. Вторая колонка – точка монтирования в системе. Третья колонка показывает, какая ФС применяется. 4-я колонка вводит дополнительные параметры. Последние две цифры – это уровень дампа и порядковый номер для fsck. Первая указывает принадлежность раздела к системе резервирования данных. Если стоит 1 то система будет участвовать в процессе резервного копирования, если нет – то должен стоять ноль. Вторая цифра показывает, необходимо ли проверять диск на ошибки. 0- не надо, 1(для /) и 2(не для /)- надо. Сохраняем документ.
Настраиваем сеть. Она понадобится нам после загрузки системы с жесткого диска.

  • Файл /mnt/gentoo/etc/resolv.conf содержит информацию о DNS-серверах. Чтобы вручную ее не вводить просто скопируем данные: # cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
  • Файл сетевых параметров /etc/conf.d/net содержит данные для успешного подключения в интернет: # Задаем параметры вручную config_eth0=( " 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255" ) routes_eth0=( "default gw 192.168.0.1" ) # Получаем их автоматически config_eth0=( "dhcp" ) dhcp_eth0="nodns nontp nonis" Выбираем один из двух вариантов в зависимости от наличия dhcp-сервера в сети.

Установка
Монтируем /proc
# mount -t proc none /mnt/gentoo/proc
Монтирование /dev
# mount -o bind /dev /mnt/gentoo/dev
proc – это псевдо-файловая система, которая используется в качестве интерфейса к структурам данных в ядре.
Dev – это директория, содержащая т.н специальные файлы – интерфейсы работы с драйверами ядра.
Для командной строки корневой каталог до сих пор находится на Live-CD. Что ж, исправим это командой:
# chroot /mnt/gentoo /bin/bash
Для полного перемещения в устанавливаемый Gentoo обновим переменные среды:
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"
Осталось самую малость – собрать ядро и установить начальный загрузчик.
Сборка ядра:
# emerge –sync – обновим дерево портеджей, дабы исключить вероятность разных версий. Запомните эту команду – если вдруг при установке новых программ полезут ошибки зависимостей – обновите дерево.
Загружаем исходники ядра:
# USE= «-doc symlink» emerge gentoo-sources
параметр USE – самый функциональный в Gentoo. Используется в make.conf Он указывает, с поддержкой чего будет откомпилирован тот или иной пакет. Не будь бы этого USE, установка Gentoo была бы слишком простой.
До начала компиляции осталось настроить ядро:
# cd /usr/src/linux
# make menuconfig
После небольшого раздумья и компиляции нескольких файлов перед нами предстает окно настройки ядра с псевдографическим интерфейсом. Проштудируйте море информации по поводу настройки ядра Gentoo, а также каждый пункт меню. Добавляйте только те модули, которые вам действительно необходимы. Помните – по умолчанию, включены все необходимые модули. Модули можно добавить в ядро в виде модулей(т.е. Загружаемые при необходимости – при этом размер ядра не увеличится), либо в виде части ядра – тогда модуль всегда будет доступен. Драйвера устройств лучше добавить в ядро, а различные функциональные части – в модуль. Не бойтесь добавлять лишний модуль, а вот удаляйте с некоторым подозрением.
Выходим из меню настройки, сохраняем изменения и...

Компилируем ядро командой

# make && make modules_install && make install

В зависимости от производительности компьютера и степени оптимизации под архитектуру время компиляции может занять разное время – от 5 минут до пары часов. На моих 830 МГц компиляция прошла за ~1 час.

Система готова, однако осталось сделать так, чтобы все крутилось само и не приходилось пользоваться LiveCD.

# rc-update add net.eth0 default – активация сетевого подключения при загрузке системы.(Надеюсь вы подключили драйвер вашей сетевой карты).

# passwd - пароль суперпользователя

# emerge syslog-ng

# rc-update add syslog-ng default устанавливаем и просим при загрузке активировать систему журналирования.

Если ваш провайдер использует dhcp, установите dhcp-клиент:

# emerge dhcpd

Добавлено:

Чтобы время отображалось правильно установите временную зону командой:

# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

И установите правильное время командой

#date MMDDhhmm[YY]

Последний этап – настройка загрузчика. Здесь два варианта – либо LILO либо GRUB. Второй лучше, но я остановился на первом, как самом простом.(более подробно об обоих загрузчиках и их настройке читайте в следующих номерах журнала).

# emerge lilo

# nano -w /etc/lilo.conf

boot=/dev/hda

prompt

timeout=200

default=gentoo

image=/boot/vmlinuz

label=gentoo

read-only

root=/dev/hda1

Теперь всего одна команда отделяет нас от завершения процесса установки Gentoo:

# /sbin/lilo

Теперь загрузчик записан в MBR и при старте компьютера БИОС сможет передать ему управление.

Для перезагрузки системы проделываем несколько важных команд:

# exit

# cd /

# umount /mnt/gentoo/<путь>

и т.д.

# reboot

циферки побежали, компьютер перезагружается и на экране предстает LILO. Это уже хороший знак. Выбираем наше ядро, и...

Здесь возможны два варианта:

либо все будет хорошо, тогда вперед продолжать установку системы, либо Kernel Panic, тогда придется грузиться с CD и производить конфигурацию/компиляцию ядра заново, пока все не станет хорошо.

В итоге мы получили полностью. Работающую базовую систему. Разумеется, необходимо ее обвесить различным программным обеспечением. В следующий раз мы поговорим об установке русской локали, а также установке и конфигурации графического интерфейса.

<продолжение следует>

Артем Кашканов

при написании статьи использовалась информация с

http://ru.gentoo-wiki.com/ и

www.gentoo.org

 

 

Голосов Голосов: 3 - В среднем: 4.33

Добавить комментарий Оценить
Комментарии

Статистика
Всего 205 статей в базе
Наиболее просматриваемые: Arduino и сеть RS485.
Лучшие по оценкам: РЦВМ1 - Релейная Цифровая Вычислительная Машина

Пользователи в разделе статьи: 2 (0 Пользователи 2 Гости и 0 Скрытые пользователи)
Видимые пользователи:


 
 

MKPortal©2003-2008 mkportal.it
MultiBoard ©2007-2009 RusMKPortal
Страница сгенерированна за 0.02191 секунд с 24 обращениями в базу данных

Intel Core i5-3450 2Gb RAM 100Gb HDD 100Mbps Ethernet

© Artem Kashkanov 2005-2016