Часто задаваемые вопросы по Gentoo Linux
Авторы:
Daniel Robbins
Colin Morey
John P. Davis
Eric Stockbridge
Перевод:
Иван Зенков
Сергей Шепшелевич
Редактор:
Андрей Закиров
Этот документ является подборкой вопросов и ответов, собранных в листе
рассылки gentoo-dev и на каналах IRC. Если у вас есть какие-либо вопросы (а
возможно, и ответы), которые вы хотели бы здесь видеть, то, пожалуйста,
свяжитесь с любым из авторов или членом документационной группы.
1.1.2 17 Dec 2002
Введение
Как произносится слово Gentoo и что оно означает?
Gentoo - разновидность маленького, шустрого пингвина. Произносится как
"джен ту" (Буква "g" в слове "gentoo" такая же мягкая как и в слове
"gentle"; от А.Ф. - сиречь "жоннтельмен", по нашински)
Что особенного в Gentoo Linux?
Это быстрый, современный дистрибутив c понятным и гибким дизайном. В
данном отношении он может быть привлекателен для пользователей
Slackware, Linux From Scratch и BSD. В отличие от большинства других
дистрибутивов, Gentoo имеет свою систему пакетов, напоминающую порты в
BSD, и именно это позволяет производить непрерывное обновление
программного обеспечения до наиболее свежих версий.
Установка
В чем различие между пакетами .iso и .tbz2?
Архив .tbz2 содержит минимальный набор системных файлов, необходимый
пользователю для загрузки и установки Gentoo Linux. Образ .iso - это
полный, загрузочный CD, содержащий системное ядро, достаточный набор
необходимых модулей, служебные программы типа mkfs и поддержки сети, а
также пакет .tbz2 с минимальной системой. Большинство пользователей
инсталлируют Gentoo, записывая .iso образ на компакт-диск, загружаясь с
него и устанавливают Gentoo Linux изнутри минимальной Linux среды. Это
возможно, однако, не для пользователей, желающих установить Gentoo Linux
с уже существующей системы. Таким пользователям достаточно только
загрузить .tbz2 файл, установить содержимое на запасном разделе
(удостоверьтесь, что используете флажок p, распаковывая архив!), chroot
и далее установка обычным способом.
Почему файлы .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: укажите:
boot: /rescue ide2=0x180,0x386/
Если вы используете 1.0_rc5 или более ранний загрузочный CD, кроме
размышления о загрузки самого последнего iso образа, вместо rescue выше
напечатайте gentoo.
Я нахожу некоторые нестабильности, используя "-O9
-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:
# /usermod -G users,wheel username
От А.Ф.: пользователям FreeBSD это знакомо, не так ли? А вот в Linux'е с группой wheel я до сих пор не встречался.
Как мне включить 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, добавив эти строки:
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.
Управление пакетами
Они находятся в вашем дереве портов как автоматические скрипты 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 вобрало в себя все лучшее из обоих "миров"; чувствительная система портов с безопасностью встроенного пакетного менеджера.
Как я могу инсталлировать и удалять пакеты?
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://cvs.gentoo.org/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. Здесь
показано как это делается:
$ /emerge cvs/ (если необходимо)
$ /cd /usr/
$ /cvs -d :pserver:anonymous@gentoo.org:/home/anoncvs login/ (нажмите )
$ /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/
Использование
На моей машине установлен openssh, но я могу
использовать его только как root, работать от обычного
пользователя не получается
Скорее всего, это происходит потому, что у обычного пользователя
неправильно выбрана оболочка. Проверьте информацию о пользователе в
файле /etc/passwd и посмотрите, указана ли у него в конце /bin/bash (или какая-нибудь другая оболочка). Если нет, Вы должны выбрать ее сами, используя команду usermod, делается это так:
$ /usermod -s /bin/bash myuser/
Я могу запустить X Window приложения только как root
У /tmp выставлены неверные права доступа (необходимо добавить sticky
бит). Выполните следующею команду как root:
$ /chmod 1777 /tmp/
Как выбрать раскладку для клавиатуры?
Отредактируйте переменную KEYMAP в /etc/rc.conf. После этого
перезагрузите компьютер или перезапустите сценарии keymaps указав:
/etc/init.d/keymaps restart.
DNS работает только у root
/etc/resolv.conf имеет неверные права доступа. Наберите:
$ /chmod 0644 /etc/resolv.conf/
Почему KDE не удается прочитать /etc/profile?
Добавьте --login в первую строку /opt/kde2.1/bin/startkde, так чтоб это выглядело следующим образом:
#!/bin/sh --login
Это было исправлено в недавних версиях KDE.
Могут быть проблемы с использованием 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:
$ /cat /var/log/syslog.d/current | tai64nlocal | less/
Альтернативный метод:
$ /tail -f /var/log/syslog.d/current | tai64nlocal/
Разработка
Куда я могу сообщить об ошибке?
Для ошибок в конкретной программе, свяжитесь с ее автором. В противном случае, используйте наш 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:
$ /setterm -blength 0/
Если вы желаете выключить консольное пищание во время загрузки, вам
нужно поместить эту команду в /etc/conf.d/local.start. Конечно, это
только запретит пищание для текущего терминала. Для того чтобы запретить пищание для других терминалов, выведите командный вывод на целевой терминал:
$ /setterm -blength 0 >/dev/vc/1/
Вам необходимо заменить /dev/vc/1 на терминал для которого вы хотите запретить консольное пищание.
Ресурсы
Могу я найти больше о супервизоре, используемом по умолчанию в 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.