03.05.2010 Первоначальная настройка Gentoo

Четкого и отработанного плана настройки системы не существует, но попробую подсказать несколько полезных советов.

1. Советуют сразу же удалить ненужные пакеты и почистить все бесхозные зависимости

# emerge -av --depclean


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

2. Апгрейдим портэджи

Этот шаг предстоит делать периодически (но не чаще чем раз в день). При этом обновляется дерево portage (добавляются новые пакеты, новые версии пакетов, удаляются старые).
# emerge --sync (emerge-webrsync)
Если трафик не безлимитный - можно сэкономить используя следующую команду
# emerge-delta-webrsync


из пакета emerge-delta-webrsync.

3. Пересобираем системку и мир (требует времени)

Команда обновит все пакеты поставленные в системе (Stage3):
# emerge -epv world


Бывает, когда система начинает глючить от пакетов из тестовой ветки (~x86), для некоторых пакетов необходим даунгрейд (установка более старого пакета), используем следующую команду:
# emerge -auvDN world


Смотрим USE-флаги, и включаем/отключем что не нужно, с помощью команды ufed или ручками в файле /etc/make.conf используются пакетами, с помощью ufed в другой консоли включаем нужные, отключаем ненужные.

ПРИМЕР:

USE="ssl" - включает SSL, для компилируемых пакетов.
USE="-ssl" - выключает SSL.

После обновления не забываем делать:
# revdep-rebuild (входит в пакет gentoolkit)
# etc-update


Внимание! Перед применением изменений подумайте 10 раз что удалить и что добавить, только после этого принимайте решение.

4. ДОПы

# reboot


Если при загрузке выводит:
"Warning: the current /etc/modules.conf has not been automatically generated" 

выполняем:
# update-modules force


Добавление ssh в автозагрузку:
# rc-update add sshd default


Добавление мыши для консоли в автозагрузку:
# nano /etc/conf.d/gpm
#MOUSE=ps2
MOUSE=imps2
# rc-update add gpm default


Установка elogv для чтения информации, выводимой пакетами во время установки:
# emerge elogv


Пакет для работы с portage:
# emerge eix
# update-eix


Управление частотой процессора, установка работы "по требованию" (для 2х-ядерного процессора с корректно настроенным ядром):
# nano /etc/conf.d/local.start
# echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor


Установка acpid:
# emerge sys-power/acpid
# rc-update add acpid default


Настройка звука (при работающих драйверах в ядре):
# emerge media-sound/alsa-utils
# rc-update add alsasound boot (будет сохранять регяторы громкости при выключении компьютера и восстанавливать при включении)
# /etc/init.d/alsasound start
# alsamixer (снять "mute", настроить громкость)


5. Создание обычного пользователя.

Первое правило: не работать по root'ом.
Во-первых, глупая опечатка может порушить систему.
Во-вторых, уязвимое ПО, запущенное под root'ом может повлиять на безопасность всей системы (актуально и для Windows ;)).
Под root'ом рекомендуется работать через sudo и su.

Создаём пользователя:
# useradd user -m -G users,audio,wheel

Где:
-m : создать home-директорию
-G : включить пользователя в перечисленные группы (users, audio, wheel)

NB: Добавление в группу wheel(руль, баранка) - разрешает пользователю использовать комунду su, без которой пользователь не сможет получить права root. Так же по умолчанию добавление в группу wheel разрешает пользователь использовать команду sudo от имени root(администратора).

Задаём ему пароль:
# passwd user


В /home появится папка с именем пользователя - его домашний каталог.

Второе правило: каждому пользователю - свой логин.

6. Полезная информация.

Некоторые ключи emerge.
# emerge <название-пакета> -ключи

-f - скачать все файлы, необходимые для установки пакета, но ничего не устанавливать.
-fp - вывести на экран ссылки на файлы, которые необходимо скачать для установки пакета.
-pv - просмотр плана установки пакета: какие будут использованы USE-флаги, какие пакеты будут ставиться по зависимостям.
-pvt - тоже самое, только список пакетов будет отображен в виде дерева, в котором можно увидеть какой пакет от какого зависит.
-pa - аналог pv, разница в том, что после вывода информации на экран, выдаётся запрос: начать установку - Yes/No?
-C - удалить пакет из системы.
-uDNvp - ключи для обновления мира:
# emerge -uDNvp world


Про удаление пакетов.
# emerge -C удаляет пакет, но не удаляет пакеты, установленные по зависимостям к данному пакету. Они останутся в системе бесполезным мусором (если от них не зависит какой-нибудь другой пакет). Проверить систему на бесхозные пакеты можно так:
# emerge -av --depclean


Проверить, нужен ли каждый пакет, список которых выведет emerge (зависит ли от него кто-нибудь) можно так:
# equery d <пакет>

Если он нужен, прописать его в world:
# emerge -n <пакет>


Про USE-флаги.
USE-флаги прописываются либо глобально в /etc/make.conf, либо для каждого пакета индивидуально в /etc/portage/package.use. Где их прописывать - дело ваше. Например, для mc необходима такая комбинация флагов: "-ncurses slang". Прописываем в package.use:
# echo "app-misc/mc -ncurses slang" >> /etc/portage/package.use

Для редактирования USE-флагов в make.conf используем ufed. Совсем необязательно пытаться сразу включить кучу, как вам может казаться, нужных флагов. Всему своё время: хотите поставить пакет, смотрите какие флаги пакетом могут использоваться, и решаете, что включать, а что нет. При включении какого-либо флага, к установке могут добавляться другие пакеты, тянущиеся по зависимости, и, в свою очередь, имеющие свой набор USE-флагов.

Про автозагрузку.
Сюда мы добавляли при установке: поднятие сети, старт syslog'a, gpm. Это не аналог меню "Автозагрузка" в Windows. Это скорее старт сервисов при загрузке всей системы. В каждой графической среде (Gnome, KDE, xfce, etc...) автозагрузка программ реализуется по-своему.
# rc-update -s - посмотреть список автозагрузки. rc-status - то же самое, кроме уровня "boot".
# rc-update add <программа> <уровень загрузки> - добавление.
# rc-update del <программа> <уровень загрузки> - удаление. Если не указан уровень, удаляется из всех, где присутствует.


7. Практический пример.

# emerge --sync


Сразу проверяю систему на бесхозные (ненужные) пакеты:
# emerge -av --depclean


Один пакет было предложено удалить, как не используемый никем (sys-libs/pwdb), удалил.
# emerge gentoolkit (сюда входит revdep-rebuild)
# revdep-rebuild (проверка целостности всех библиотек)
# emerge elogv (позволит прочитать сообщения после массовой установки пакетов)


Сразу хочу мышку в консоли:
Настроить конфиг: # nano /etc/conf.d/gpm
Запустить: # /etc/init.d/gpm start
Прописать в автозагрузку: # rc-update add gpm default


Предстоит пересборка system и world, хочу посмотреть все USE-флаги:
# emerge -epv world

На текущий момент USE-флаги в make.conf: USE="sse sse2 ssse3 -ipv6"
Содержимое /etc/portage/package.use:
# не нужно нам поддержку java (gcj) и gtk-шной морды для неё (gtk)
sys-devel/gcc -gcj -gtk
# по-умолчанию используется ncurses, думаю slang помешает
app-editors/nano -slang -spell

Добавление sshd в автозагрузку *если нужно*:
# rc-update add sshd default


Список всех компиляторов (просто интересно):
# gcc-config -l
[1] i686-pc-linux-gnu-4.1.1 *


Пересборка toolchain:
# emerge linux-headers glibc binutils gcc-config gcc --oneshot
* IMPORTANT: 1 config files in '/etc' need updating.

Обновление конфигов:
# etc-update



Список всех компиляторов:
# gcc-config -l
[1] i686-pc-linux-gnu-4.1.2 *


# source /etc/profile (по ходу установки это советуют сделать binutils и gcc)
# elogv (посмотреть сообщения пакетов, к сожалению про "source /etc/profile" там ни слова, и как это побороть я не знаю)

Повторная пересборка с созданием бинарных пакетов (каталог packages должен быть пуст):
# emerge linux-headers glibc binutils gcc-config gcc portage --oneshot -b


# source /etc/profile

Пересборка system с использованием уже собранных бинарных пакетов:
# emerge -ebk system (97 пакетов)
* IMPORTANT: 16 config files in '/etc' need updating.


# etc-update


Пересборка world:
# emerge -ebk world

(не понимаю, почему нельзя было выполнить это сразу, ведь system входит в world и будет опять пересобираться, разве что пакеты будут браться из бинарников, для ускорения процесса. Но не вижу смысла делать сначала emerge -e system, а следом emerge -e world)

* IMPORTANT: 1 config files in '/etc' need updating.

# dispatch-conf
# source /etc/profile


# emerge eix
# update-eix


# cat /proc/cpuinfo
# echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor


Управление частотой процессора, установка работы "по требованию":
# nano /etc/conf.d/local.start
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor


# reboot


* Warning: the current /etc/modprobe.conf has not been automatically generated
* Use "update-modules force" to force (re)generation
# update-modules force
# reboot 


{TAGS}




Вас также может заинтересовать:

Настройка РРТР в GENTOO консольный вариант (PPTP Gentoo-way)
03.06.2010 Настройка сетевого радио сервера Icecast2 на Gentoo
06.05.2010 Настройка Gentoo Router+Printserver+Samba+Communigate Pro(Mail Server)
22.05.2010 Использование PackageSet в Gentoo (Или жизнь после установки Gentoo-Way)
Настройка SVN + TRAC Centos
Настройка виртуальных пользователей и SSL в vsftpd