Gentoo Logo

Gentoo Linux: вопросы и ответы

Content:

1. Введение

Как произносится слово Gentoo и что оно означает?

Gentoo - разновидность маленького и быстрого пингвина. Произносится как "джен ту" (Буква "g" в слове "gentoo" такая же мягкая, как и в слове "gentle")

Что особенного в Gentoo Linux?

Это быстрый, современный дистрибутив c понятным и гибким дизайном. В данном отношении он может быть привлекателен для пользователей Slackware, Linux From Scratch и BSD. В отличие от большинства других дистрибутивов, Gentoo имеет свою систему управления пакетами, напоминающую порты в BSD, и именно это позволяет производить непрерывное обновление программного обеспечения до наиболее свежих версий.

2. Установка

В чем различие между пакетами .iso и .tbz2?

Архив .tbz2 содержит минимальный набор системных файлов, необходимый пользователю для загрузки и установки Gentoo Linux. Образ .iso - это полный, загрузочный CD, содержащий системное ядро, достаточный набор необходимых модулей, служебные программы типа mkfs и поддержки сети, а также пакет .tbz2 с минимальной системой. Большинство пользователей инсталлируют Gentoo, записывая .iso образ на компакт-диск, загружаясь с него и устанавливая Gentoo Linux изнутри минимальной Linux-среды. Для пользователей, однако, возможно установить Gentoo Linux из ранее существующего (иного) дистрибутива Linux. Таким пользователям достаточно только загрузить .tbz2 файл, установить содержимое на запасном разделе (удостоверьтесь, что при распаковке архива используется опция p, обеспечивающая сохранение прав доступа), выполнить chroot и далее установить Gentoo обычным способом.

Почему файлы .iso и .tbz2 иногда имеют разные номера -r (ревизии)?

Минимальный системный .tbz2 пакет подвергается пересмотру только после существенных изменений в ядре Gentoo Linux (например, после изменения базового состава или создания нового профиля), именно поэтому обновляется .tbz2 относительно редко. Образ .iso, наоборот, модифицируется всякий раз, когда разработчики обнаруживают, что кто-то имеет аппаратные средства, на которых текущий .iso не загружаться. Так как новые модули и исправления появляются постоянно, скорее всего, этот принцип в ближайшее время не изменится.

У меня портативный компьютер Sony Super-Slim VAIO, и Gentoo Linux CD не может найти мой PCMCIA ATAPI CD-ROM.

Удостоверьтесь, что CD-ROM подключен ко второму IDE порту (он "не активируется", если привод не подсоединен на момент начальной загрузки), после чего в строке isolinux boot: укажите:

Code Listing 2.1

boot: rescue ide2=0x180,0x386

Если вы используете 1.0_rc5 или более ранний загрузочный CD, кроме размышления о получении самого последнего iso-образа, вместо rescue выше напечатайте gentoo.

Я нахожу некоторые нестабильности, используя "-O3 -ffast-math -fomit-frame-pointer" для оптимизации. Что это дает?

Когда Вы используете любые флаги оптимизации, кроме -O3, в действительности, Вы берете на себя риск разрушить пакеты. Чрезмерно агрессивная оптимизация иногда заставляет компилятор упрощать ассемблерный код до меньшей функциональности, чем без нее. Loc-Dog (на IRC) использует -O3 -mcpu=i686 -march=i686 -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -maling-functions=4, - это пример того, сколько я бы мог поместить в глобальные настройки оптимизации. Лучше использовать ультра-высокую оптимизацию только для определенных пакетов, где Вы действительно нуждаетесь в тех дополнительных 2% производительности (графические приложения и различные программы мультимедиа), и где Вы легко можете проверить пакет, чтобы гарантировать, что он не был оптимизирован в забытии.

Каков пароль root-оператора принят по умолчанию сразу после инсталляции?

По умолчанию пароля нет; нажмите enter.

Как мне изменить пароль root (или другого пользователя)?

Используйте passwd, чтобы изменить свой пароль. Дополнительные опции, пожалуйста, посмотрите в man passwd, сразу после того как Вы завершили установку.

Как мне добавить простого пользователя?

Каждый, кажется, знает, что он не должен использовать root повседневно, и хочет узнать, как можно добавить нормального пользователя?

Команда adduser gentoo создаст пользователя по имени gentoo. Следующий шаг - это дать новому ользователю пароль, и с этим отлично справится passwd.

Почему пользователи не могут использовать команду su?

Из-за соображения безопасности пользователи могут использовать команду su, только если они состоят в группе wheel. Добавить пользователя username в группу wheel можно, выполнив как root:

Code Listing 2.2

# usermod -G users,wheel username

Как мне включить devfs?

Если Вы используете 1.0_rc5 и выше, Вы не должны специально ничего делать, чтобы заставить devfs работать; все уже готово (Вы удостоверились, что поддержка devfs встроена в ядро, не так ли?). Однако, если Вы используете версию Gentoo Linux до 1.0_rc5, добавьте devfs=mount к вашим опциям начальной загрузки ядра в GRUB, так чтобы получилось что-то вроде kernel /boot/boot/bzImage devfs=mount foo=bar. Ядро тогда установит /dev как файловую систему devfs автоматически во время загрузки.

Как мне выключить devfs?

В Gentoo Linux 1.0_rc6 и выше вы можете отключить devfs, передав ядру параметр gentoo=nodevfs.

Как добиться того, чтобы устройство /dev/mouse не исчезало после перезагрузки (при использовании devfs)?

Если у вас 1.0_rc6 и выше, тогда просто используйте ln -s, создав тем самым символическую ссылку /dev/mouse, которая будет сохраняться между перезагрузками.

Для остальных пользователей желательно отредактировать /etc/devfsd.conf, добавив эти строки:

Code Listing 2.3

REGISTER        ^misc/psaux$    CFUNCTION GLOBAL symlink misc/psaux mouse
UNREGISTER      ^misc/psaux$    CFUNCTION GLOBAL unlink mouse

Если вы используете в качестве мыши PS/2 не устройство /dev/misc/psaux, а какое-либо другое, измените строки misc/psaux выше. После чего выполните killall -HUP devfsd, чтобы devfs перечитал свой конфигурационный файл.

GRUB не может найти стадию x.y

Во время инсталляции grub файлы начальной загрузки копируются в /boot/grub (/boot/boot/grub в Gentoo Linux 1.0_rc5 и старше). Grub автоматически просматривает каталог /boot/grub на разделе начальной загрузки (Мы строго рекомендуем не монтировать автоматически раздел начальной загрузки /boot, так вам будет сложнее случайно затереть ядро и загрузочную информацию). Вышеупомянутая ошибка вообще является результатом (а) отказа от использования отдельного раздела начальной загрузки, (б) забывчивости примонтировать загрузочный раздел к /boot перед распаковкой пакета установки или запуском emerge --usepkg system, (c) отсутствием опции notail при монтировании загрузочного раздела в ReiserFS. Вы можете получить более подробную информацию о GRUB, включая руководство по отладке через командную строку GRUB, прочитав IBM developerWorks Grub tutorial.

Мой ASUS CUV4X-D не загружается, виснет на различных стадиях загрузки ядра и определения аппаратных средств.

Отключите MPS 1.4 (multi-processor-system) в BIOS, или переключите к 1.1. Используя эту опцию, Вы только переключаете версии MPS. "Multi-processor-system" будет все еще работать должным образом. Чтобы в этом удостовериться, загрузите Gentoo Linux со следующей загрузочной опцией - noapic.

3. Управление пакетами

В каком формате хранятся пакеты?

Они находятся в вашем дереве портов как автоматические скрипты ebuild; мы делаем дистрибутив, базирующийся на портах, и это означает, что мы предоставляем скрипты (файлы .ebuild) и специальную систему (Portage), c помощью которой вы можете компилировать приложения из исходников. Мы же в основном компилируем бинарники только для релизов и дополнений. Development HOWTO подробно охватывает содержание ebuild-скриптов. Для полных ISO-релизов создается подборка бинарных пакетов в усовершенствованном формате .tbz2 (совместимый .tar.bz2 с дополнительной информацией, присоединенной к концу файла).

Почему написана новая система Portage вместо использования BSD-реализации?

Одной фразой - "потому что Portage гораздо лучше по нескольким причинами". Один из принципов при создании дизайна синтаксиса - .ebuild должен делать то, что делали бы вы, устанавливая программу вручную, это позволяет Portage быть легким в изучении и гибким в настройке под ваши требования. Также у нас есть "fake" инсталляция в стиле OpenBSD, безопасное удаление, системные профили, маскирование пакетов, настоящая система зависимостей и много других полезных вещей.

Чем это все отличается от Debian apt или BSD портов?

Система Portage лучше apt и портов. Опция USE, полная система зависимостей, безопасная инсталляция и удаление, и настоящая база данных пакетов. Думаю, система Portage вобрала в себя все лучшее из обоих "миров"; она объединяет чувствительность системы BSD-портов с безопасностью пакетных менеджеров Linux.

Как я могу инсталлировать и удалять пакеты?

Portage User Guide (Руководство пользователя Portage) расскажет о том, как обновлять Portage, инсталлировать и удалять пакеты.

Как задать глобальную конфигурацию для сборки пакетов?

Файл /etc/make.conf может быть модифицирован для переопределения глобальных и специфических для профиля опций, по умолчанию используемых для компиляции и скачивания пакетов. Большинство общих опций следующие:

Опция Описание
СHOST устанавливает основную HOST переменную для компиляции, например i686-pc-linux-gnu.
CFLAGS опции для gcc при компилировании программ, написанных на C (*.c файлы)
CXXFLAGS опции для gcc при компилировании программ, написанных на C++ (*.c, *.cpp и т.д. файлы)
USE позволяет установить список дополнительных компонентов, поддержку которых вы бы хотели встроить в ту или иную программу. Например, если в строке USE написать gnome, тогда, скажем, xchat будет скомпилирован с поддержкой GNOME. Все другие зависимости также можно указать в USE.
GENTOO_MIRRORS список ссылок на текущие зеркала пакетов Gentoo. Система Portage попытается просмотреть их перед посещением официального SRC_URL. Для пропуска системой Portage просмотра зеркал выставите значение этой переменной в "".

Что случилось с /etc/make.defaults?

Начиная с версии Portage 1.5, файл /etc/make.defaults считается устаревшим. Если у вас установлен пакет portage 1.5-r1 и выше, вы можете безопасно удалить этот файл. Он был заменен файлом, содержащем определенные системные настройки по умолчанию, /etc/make.profile/make.defaults (/etc/make.profile должен быть ссылкой на /usr/portage/profiles/default). Приоритетный порядок различных файлов конфигурации следующий (самый высокий - первый):

  1. Переменные среды.
  2. /etc/make.conf, для использования вами.
  3. /etc/make.profile/make.defaults, для определения конфигурационных значений по умолчанию.
  4. /etc/make.globals, для глобальных значений по умолчанию (параметры настройки не указанные в другом месте, берутся отсюда).

Есть ли способ обновления всех установленных пакетов сразу? (apt-get, make world)

ДА! Наберите emerge --update (предварительно использовав опцию --pretend) для обновления всех основных пакетов системных программ, а emerge --update world (опять используйте сначала с опцией --pretend) обновит все пакеты в системе.

При обновлении пакета, используя emerge или ebuild, как мне избежать затирания моих конфигурационных файлов?

Portage теперь по умолчанию включает поддержку управления конфигурационными файлами. Для дополнительной информации наберите emerge --help. Простой (даже очень) ответ - если конфигурационный файл foo устанавливается куда-нибудь, например в /etc, а там foo уже существует, тогда новый foo будет переименован в ._cfgxxxx_foo и положен в том же каталоге где и старый. Полезный инструмент для обновления и изучения защищенных конфигурационных файлов - etc-update в настоящие время поставляется в app-admin/gentoolkit.

Я хочу выполнить ./configure самостоятельно. Могу я это сделать?

Да, но это обычно не используется. Сначала, следуя man ebuild, сделайте ebuild foo-x.y.z.ebuild unpack. Затем - cd /var/tmp/portage/foo-x.y.z/work. После чего можете вручную выполнить ./configure и пройти все последующие шаги самостоятельно (Так как Portage не пропускает выбор конфигурации и формирует шаги, две эти вещи вы должны сделать сами). Для окончательного завершения Portage инсталляции (так, чтобы вы могли легко удалить пакет позже), вы должны проделать нижеследующие операции и тогда он будет зарегистрирован в Portage как возможная зависимость). Сначала вы должны выполнить touch /var/tmp/portage/foo-x.y.z/.compiled (трюк, после которого Portage думает, что это он завершил компиляцию), затем выполнить ebuild ebuild foo-x.y.z.ebuild merge.

Что делать, если у меня не работает rsync?

Если Вы - за системой сетевой защиты, которая не разрешает rsync трафик, можете просто загрузить ежедневный /usr/portage архив с http://gentoo.oregonstate.edu/snapshots. После чего распакуйте его (используя tar xvjf portage-foo.tbz2) в каталог /usr.

Как мне использовать emerge за системой сетевой защиты?

Отредактируйте настройки PROXY в файле /etc/make.conf. Если это не помогло, подправьте /etc/wget/wgetrc и измените настройки http_proxy и ftp_proxy, соответственно.

Могу я запустить rsync из другой операционной системы?

Есть программа unison, работающая под UNIX и Win32, доступная по адресу http://www.cis.upenn.edu/~bcpierce/unison/.

Дома у меня только медленное модемное соединение. Я могу загрузить исходники где-нибудь еще и добавить их в свою систему?

Конечно. Запустите emerge --pretend [имя пакета], чтобы посмотреть какие пакеты должны быть установлены. После этого загрузите исходники и перенесите их на любом носителе домой. Поместив их в /usr/portage/distfiles и запустив emerge [имя пакета], Вы увидите, как компилируются только что добавленные вами исходные файлы

Исходники установленных программ .tar.gz накапливаются в /usr/portage/distfiles, занимая ценное пространство. Их можно безопасно удалить?

Да, вы можете удалить эти файлы. Но если у вас медленная модемная связь, то лучше было бы создать архив, конечно если это возможно. Часто несколько ebuild-скриптов бывают выпущены для одной и той же версии программного обеспечения - если Вы удалили архив и собираетесь модернизировать программу, она будет заново загружена из Интернета.

Как мне сопровождать свои собственные ebuild-скрипты без удаления из (r)sync?

Самый простой метод - это использовать, вместо rsync, анонимный CVS и поддерживать ваши локальные ebuild-скрипты в /usr/portage/local. Здесь показано как это делается:

Code Listing 3.1

# emerge cvs (если необходимо)
# cd /usr
# cvs -d :pserver:anonymous@gentoo.org:/home/anoncvs login (нажмите <enter>)
# cvs -d :pserver:anonymous@gentoo.org:/home/anoncvs get gentoo-x86
# cp /usr/portage/distfiles/* gentoo-x86/distfiles/
# cp -a /usr/portage/packages/* gentoo-x86/packages/
# mv portage portage.old
# ln -s gentoo-x86 portage
# mkdir /usr/portage/local
# echo local >> /usr/portage/profiles/categories
# cp /etc/make.conf /etc/make.conf.orig
# sed -e 's/#SYNC="cvs/SYNC="cvs/' /etc/make.conf.orig > /etc/make.conf

4. Использование

На моей машине установлен openssh, но я могу использовать его только как root, работать от обычного пользователя не получается.

Скорее всего, это происходит потому, что у обычного пользователя неправильно выбрана оболочка. Проверьте информацию о пользователе в файле /etc/passwd и посмотрите, указана ли у него в конце /bin/bash (или какая-нибудь другая оболочка). Если нет, Вы должны выбрать ее сами, используя команду usermod, делается это так:

Code Listing 4.1

# usermod -s /bin/bash myuser

Приложения системы X Window я могу запустить только как root.

У /tmp выставлены неверные права доступа (необходимо добавить sticky бит). Выполните следующею команду как root:

Code Listing 4.2

# chmod 1777 /tmp

Как выбрать раскладку для клавиатуры?

Отредактируйте переменную KEYMAP в /etc/rc.conf. После этого перезагрузите компьютер или перезапустите сценарий keymaps, указав: /etc/init.d/keymaps restart.

DNS работает только у root.

Файл /etc/resolv.conf имеет неверные права доступа. Наберите:

Code Listing 4.3

# chmod 0644 /etc/resolv.conf

Почему KDE не удается прочитать /etc/profile?

Добавьте --login в первую строку /opt/kde2.1/bin/startkde, что бы это выглядело следующим образом:

Code Listing 4.4

#!/bin/sh --login

Это было исправлено в недавних версиях KDE.

5. Эксплуатация

Могут быть проблемы с использованием ReiserFS - как их исправить?

Если раздел с RaiserFS испорчен, попробуйте загрузиться с Gentoo Linux CD и запустить reiserfsck --rebuild-tree, указав разрушенный раздел. Это должно восстановить файловую систему, но возможны потери некоторых файлов и директорий.

Как мне посмотреть метку времени в /var/log/syslog.d и т.д. на системе re-1.0_rc5 Gentoo Linux?

Чтобы посмотреть мультилог (в Gentoo Linux 1.0_rc5 и старше), передайте текущий log-файл команде tai64nlocal:

Code Listing 5.1

# cat /var/log/syslog.d/current | tai64nlocal | less

Альтернативный метод:

Code Listing 5.2

# tail -f /var/log/syslog.d/current | tai64nlocal

6. Разработка

Куда я могу сообщить об ошибке?

Для устранения ошибок в конкретной программе свяжитесь с ее автором. В противном случае, используйте наш Bugzilla bug tracker на http://bugs.gentoo.org. Вы также можете посетить нас в #gentoo на OpenProjects сети IRC.

Как часто делаются новые релизы?

Новые релизы анонсируются в списке рассылки gentoo-announce, в реальности же сами пакеты обновляются почти сразу после того, как их главные авторы выпустили новый релиз. Что касается релизов CD, то это происходит всякий раз, когда случаются основные обновления или добавление модулей.

Я хочу добавить новый пакет в Portage, как мне это сделать?

Зайдите на http://bugs.gentoo.org и пошлите сообщение об ошибке, напечатав "ebuild" и присоединив ваш ebuild-скрипт к отчету об ошибке.

Как мне добавить вопрос или ответ в этот FAQ?

Пошлите новый отчет об ошибке на http://bugs.gentoo.org, добавив его в "Docs-user".

make -f Makefile.cvs на приложениях KDE выдает ошибку "invalid unused variable"

Перед выполнением make -f Makefile.cvs, для любого KDE приложения, экспортируйте переменную WANT_AUTOMAKE_1_4=1. Для KDE2 WANT_AUTOCONF_2_1=1, а для KDE3 WANT_AUTOCONF_2_5=1.

Мои колонки пищат как сумасшедшие во время компиляции браузера Mozilla. Как я могу запретить пищание в консоли?

Консольное пищание может быть выключено используя setterm:

Code Listing 6.1

# setterm -blength 0

Если вы желаете выключить консольное пищание во время загрузки, вам нужно поместить эту команду в /etc/conf.d/local.start. Конечно, это запретит пищание только для текущего терминала. Для того чтобы запретить пищание для других терминалов, выведите командный вывод на целевой терминал:

Code Listing 6.2

# setterm -blength 0 >/dev/vc/1

Вам необходимо заменить /dev/vc/1 на терминал для которого вы хотите запретить консольное пищание.

7. Ресурсы

Могу я найти больше о супервизоре, используемом по умолчанию в Gentoo Linux 1.0_rc5 и старше?

http://cr.yp.to/daemontools.html

Могу я найти больше информации о Gentoo Linux?

Официальная документация может быть найдена на http://www.gentoo.org, общая информация по Linux - на http://www.linuxdoc.org

Могу я купить CD c Gentoo Linux?

Да! Свежие CDR доступны по 5$ USD на Cheapbytes.

Свежие диски по доступной цене так же можно приобрести на tuxcds. Часть свой прибыли эти люди отправляют проекту Gentoo, так что покупайте диски, пока они горячие!

Почему при нажатии на "ответить" в почтовой рассылке Gentoo, ответ отправляется не всему листу рассылки, а только конкретному автору?

Администраторы списка рассылки решили минимизировать изменения, вносимые в заголовок письма, то есть было решено не изменять заголовок для направления ответов в список рассылки. Одна из причин такого решения заключается в следующем: если почтовый ящик одного из подписчиков переполняется, то все подписанные на рассылку люди получают ненужные предупреждения каждый раз, когда кто-то посылает свои сообщения в рассылку. Большинство графических почтовых клиентов могут посылать ответ сразу всем участникам (reply to all), такой способ отправки сообщения гарантирует доставку ответа и в список рассылки, и автору первичного сообщения. Большинство пользователей текстовых почтовых программ знают способы отправки ответа "сразу всем", в программе Pine используйте опцию "reply to group". Способ настройки аналогичной функциональности в Mutt вы можете найти в неофициальной документации по адресу forums.gentoo.org. Некоторым не нравится такая организация списка рассылки, но она была тщательно и аргументированно обсуждена в свое время, и администраторы списка рассылки приняли существующее решение. Обсуждение этой ситуации в рассылке иногда ведет к вежливому объяснению вопроса, хотя людям надоедают однообразные вопросы и в ответ вы получаете совет в достаточно резкой форме - проверить архивы рассылки. Администраторы сожалеют о возможных неудобствах, но считают, что в сложившейся ситуации принятое решение предпочтительней альтернативных вариантов по ряду причин, часть из которых изложена выше. (Есть множество других аргументов в пользу и той и другой стороны, и, как вы, возможно, догадываетесь, администраторы почти наверняка их знают)

В этом FAQ нет ответа на мой вопрос. Что мне делать?

Верный шаг - посмотреть документацию. Если это не помогло, посетите различные списки рассылки, перечисленные на Google. Для поиска в списке рассылки, используя Google, введите "lists.gentoo.org foo" для поиска "foo". Если все это не привело к нужному результату, пообщайтесь с поклонниками Gentoo, посетив наc на irc: #gentoo, сервер irc.freenode.net.



Print

Updated 17 Dec 2002

Summary: Этот документ является потборкой вопросов и ответов, собранных в листе рассылки gentoo-dev и на каналах IRC. Если у вас есть какие-либо вопросы (а возможно, и ответы), которые вы хотели бы здесь видеть, то, пожалуйста, свяжитесь с любым из авторов или членом документационной группы.

Daniel Robbins
Chief Architect

Colin Morey
Reviewer

John P. Davis
Editor

Eric Stockbridge
Editor

Иван Зенков
Переводчик

Сергей Шепшелевич
Переводчик

Андрей Закиров
Редактор

Алексей Федорчук
Редактор

Donate to support our development efforts.

Tek Alchemy

Tek Alchemy offers dedicated servers and other hosting solutions running Gentoo Linux.

php|architect

php|architect is the monthly magazine for PHP professionals, available worldwide in print and electronic format. A percentage of all the sales will be donated back into the Gentoo project.

The Gentoo Linux Store
SevenL.net

Seven L Networks provides customizable Dedicated Servers for your customized Gentoo install. Colocation and other hosting services are also provided.

$99/mo dedicated servers

No BS Dedicated Gentoo Linux Servers from vr.org.

Copyright 2001-2005 Gentoo Foundation, Inc. Questions, Comments, Corrections? Email www@gentoo.org.