Установка GENTOO из live-usb Ubunto

Итак, я тут полазил по форуму и решил описать процесс установки Генту из под лайф-сд Убунту.
Сразу скажу, я новичек в линуксе. Но как юзер компа- немного продвинутый. На вопрос, нужен ли мне линукс и генту - да, нужен. Есть куча времени и есть желание разобраться в этом звере.Архитектура х86
Цель этого документа - решение проблем, возникающих при установке и настройке Генту, не освещенных в хандбуке и сложные в поиске гугля для русскоязычных.
Для установки использовал хандбук на русском языке.
Итак.
1. Загрузился с лайф-сд Убунту. Сеть работает, диски работают.
2. Создаем раздел бут, корневую папку и свап раздел

sudo fdisk /dev/sda
Command (m for help): p

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000547db

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1      125000       62500   83  Linux
/dev/sda2          125001     7812500     3843750   82  Linux swap / Solaris
/dev/sda3         7812501    91698580    41943040   83  Linux
/dev/sda4        91698581   625142447   266721933+   5  Extended
/dev/sda5        91700629   175586708    41943040   83  Linux
/dev/sda6       175588757   301417876    62914560   83  Linux
/dev/sda7       301419925   427249044    62914560   83  Linux
/dev/sda8       427251093   553080212    62914560   83  Linux
/dev/sda9       553082261   625142446    36030093   83  Linux

Command (m for help): 

Как видно, наделал я тут дисков, но использовать под Генту собираюсь /dev/sda1 - как бут, /dev/sda2 - как свап (4Гб)б, /dev/sda3 - корневой каталог, как и написано в хандбуке.
3. Создаем файловые системы и подключаем свап

sudo mkfs.ext2 /dev/sda1
sudo mkfs.ext3 /dev/sda3
sudo mkswap /dev/sda2
sudo swapon /dev/sda2

4. Монтируем диски

sudo mkdir /mnt/gentoo
sudo mount /dev/sda3 /mnt/gentoo
sudo mkdir /mnt/gentoo/boot
sudo mount /dev/sda1 mnt/gentoo/boot

5. Установка файлов.
Дату Убунту усмотрела сама и правильную и время тоже, поэтому этот пункт я пропускаю
Скачиваем стаж3 с зеркала. Тут все четко. Мы же в убунту: открыли мозилу, нашли зеркало, скачали в папку Даунлоадс и скопировали в /mnt/gentoo

sudo cp /home/ubuntu/Downloads/stage*.* /mnt/gentoo
cd /mnt/gentoo

Входим в папку с архивом
Распаковываем архив

sudo tar xvjpf stage3-*.tar.bz2

Настройка параметров компиляции:

sudo nano -w /mnt/gentoo/etc/portage/make.conf
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="${CFLAGS}"

CHOST="i686-pc-linux-gnu"

USE="bindist"

И вот тут встает первый вопрос: нужно ли на этой стадии что-то записывать в USE? Ведь если выбрать профайл, то в USE будут прописаны все нужные для профайла флаги. А в хандбуке на этой стадии никаких флагов в ЮЗ не записывают, поэтому просто добавляю по примеру хандбука :

MAKEOPTS="-j3" #для моего процессора Интел Дуал Кор

Сохранились и забылись.
6. Установка базовой системы Генту.
Начнем сначал - установим зеркала в make.conf. Нам советуют mirrorselect

mirrorselect -i -o >>/mnt/gentoo/etc/portage/make.conf
bash: /mnt/gentoo/etc/make.conf: Permission denied

и "О!Боже!!!" Пробуем с sudo -то же самое. В чем же проблема? Главное - поменьше эмоций. Оказывается нет такой утилиты mirrorselect. Ведь можно записать и руками:

sudo nano -w /mnt/gentoo/etc/portage/make.conf #open make.conf
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/" #записываем зеркало
#и переменную синхронизации
SYNC="rsync://rsync.fi.gentoo.org/gentoo-portage"

Сохраняем.
Копируем сведения о DNS

sudo cp -L /etc/resolv.conf /mnt/gentoo/etc/

Хотя я вот заглянул в этот файл, а там как-то не очень много информации, можно было и от руки такое написать.

nano /mnt/gentoo/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

Дальше. Монтирование Файловых систем и переход в среду генту

sudo mount -t proc none /mnt/gentoo/proc
sudo mount --rbind /sys /mnt/gentoo/sys
sudo mount --rbind /dev /mnt/gentoo/dev
sudo chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"

Вот тут возникает еще вопрос: export PS1="(chroot) $PS1" - вот эта строчка обязательна? По-мойму, нет.
Дальше.
Настройка Portage. И кстати, там в листинге опечатка. Странно, что никто не исправляет. Вместо "emerge-webrsync" написали "emerge-webrync". Но мы-то умные, поэтому запускаем emerge-webrsync и обновление тоже сделаем, раз уж тут.

mkdir /usr/portage
emerge-webrsync
emerge --sync --quiet

Получили сообщение
An update to portage is available. It is _highly_ recommended
* that you update portage now, before any other packages are updated.

* To update portage, run 'emerge portage' now.
Запустили команду emerge --oneshot portage
вот с этого места непонятки:

Total: 48 packages (48 new), Size of downloads: 218,056 kB

 * Error: circular dependencies:

(sys-libs/ncurses-5.9-r2::gentoo, ebuild scheduled for merge) depends on
 (sys-libs/gpm-1.20.6::gentoo, ebuild scheduled for merge) (buildtime)
  (sys-libs/ncurses-5.9-r2::gentoo, ebuild scheduled for merge) (buildtime)

It might be possible to break this cycle
by applying the following change:
- sys-libs/ncurses-5.9-r2 (Change USE: -gpm)

Note that this change can be reverted, once the package has been installed.

Note that the dependency graph contains a lot of cycles.
Several changes might be required to resolve all cycles.
Temporarily changing some use flag for all packages might be the better option.

Если я правильно понял, в USE нужно вписать -gpm. Вписал. Теперь ЮЗ выглядит так:USE="bindist -gpm"
Пробую снова. Выдает:

Total: 45 packages (45 new), Size of downloads: 211,819 kB

 * Error: circular dependencies:

(sys-devel/gcc-4.6.3::gentoo, ebuild scheduled for merge) depends on
 (sys-libs/glibc-2.15-r3::gentoo, ebuild scheduled for merge) (buildtime)
  (sys-devel/gcc-4.6.3::gentoo, ebuild scheduled for merge) (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

Можно мне этот шаг пропустить?
Не знаю... Но пропускаю, т.к. думаю, пусть загружу систему сначала, а потом уже обновлю.
7. Выбор профиля.
Вот наконец мы приблизились к ЮЗ флагам. Итак, выполняем

eselect profile list
vailable profile symlink targets:
  [1]   default/linux/x86/10.0 *
  [2]   default/linux/x86/10.0/selinux
  [3]   default/linux/x86/10.0/desktop
  [4]   default/linux/x86/10.0/desktop/gnome
  [5]   default/linux/x86/10.0/desktop/kde
  [6]   default/linux/x86/10.0/developer
  [7]   default/linux/x86/10.0/server
  [8]   default/linux/x86/13.0
  [9]   default/linux/x86/13.0/selinux
  [10]  default/linux/x86/13.0/desktop
  [11]  default/linux/x86/13.0/desktop/gnome
  [12]  default/linux/x86/13.0/desktop/kde
  [13]  default/linux/x86/13.0/developer
  [14]  hardened/linux/x86
  [15]  hardened/linux/x86/selinux
  [16]  hardened/linux/uclibc/x86

и выбираем себе профайл, какой нам больше нравится. Я выбрал 12. В хандбуке пишет, что выбирая профайл конфигурируются флаги ЮЗ, наиболее подходящие под этот профайл. Я хочу с поддержкой КДЕ. А вот разница между 10 и 13 никто не объясняет. Вот я и думаю, чем больше - тем лучше.

eselect profile set 12

Почитали про ЮЗ. В файле ничего не изменили, ведь уже выбрали профиль с поддержкой КДЕ. А там все уже включено, надеюсь.
Настроил часовой пояс.

cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
 echo "Europe/Brussels" > /etc/timezone

Выбираю ядро gentoo-sources, как и советуют для х86 в хандбуке

emerge gentoo-sources

И "О, Боже!!!" та же ошибка с зацикленными пакетами.

Total: 365 packages (365 new), Size of downloads: 1,301,232 kB

 * Error: circular dependencies:

(sys-libs/glibc-2.15-r3::gentoo, ebuild scheduled for merge) depends on
 (sys-devel/gcc-4.6.3::gentoo, ebuild scheduled for merge) (buildtime)
  (sys-libs/glibc-2.15-r3::gentoo, ebuild scheduled for merge) (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

The following USE changes are necessary to proceed:
#required by dev-db/virtuoso-server-6.1.6, required by dev-libs/soprano-2.8.0[virtuoso], required by kde-base/kdelibs-4.9.5[semantic-desktop], required by kde-base/kdesu-4.9.5[handbook], required by kde-base/khelpcenter-4.9.5
>=sys-libs/zlib-1.2.7 minizip

Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT).

Из сообщения понимаю, что ">=sys-libs/zlib-1.2.7 minizip" нужно записать в ЮЗ и как-то решить вопрос с зацикливанием. В общем пошел гуглить, как расциклиться.

> хандбук на русском

> хандбук на русском языке
http://gentoo.org/doc/ru/handbook/handook.xml. хандук, судя по всему, вовремя выпилили из-за многочисленных фейлов

> нужно ли на этой стадии что-то записывать в USE
по идее — сначала выбираете профиль и доп флаги, потом уже собираете. Если флаги меняете — пересобираете.

> export PS1="(chroot) $PS1" - вот эта строчка обязательна? По-мойму, нет.
бегая по консолям, это даст наглядность где chrooted а где нет. Можно забить, конечно.

По поводу сборки из-под «некоего окружения». Даже sysrescuecd требует маленького шаманства, ЕМНИП export path= после chrooting. Какие шаманства потребуются для бубунтолайва, пока неизвестно. Описанные вами ошибки с зависимостями повторяемы? А в других окружениях? Нет ли банальной ошибки при установке?

>http://gentoo.org/doc/ru/han

>http://gentoo.org/doc/ru/handbook/handook.xml. хандук, судя по всему, вовремя выпилили из-за многочисленных фейлов
Ссылку исправил. http://gentoo.org/doc/ru/handbook/handbook.xml
>Описанные вами ошибки с зависимостями повторяемы?
Повторяются при попытке установить ядро-сурс и обновлении.
> А в других окружениях? Нет ли банальной ошибки при установке?
Решил портажи стереть и заново их запустить.
Стер папку /usr/portage.
Теперь создал заново папку /usr/portage
и делаю emerge webrsync. то же самое. Зацикливается на попытке установить что-либо.

Все пройдет!!! И это тоже пройдет...

cowboy написал(а): Ссылку

cowboy написал(а):
Ссылку исправил.

Правильный ответ: http://gentoo.ru/content/hochu-ustanovit-gentoo-s-chego-nachat

cowboy написал(а):
>Описанные вами ошибки с зависимостями повторяемы?
Повторяются при попытке установить ядро-сурс и обновлении.

Разрулить ручками не пробовал?

cowboy написал(а):
и делаю emerge webrsync. то же самое. Зацикливается на попытке установить что-либо.

Вариант с проверить на воспроизводимость с sysrescuecd не рассматривается?

:wq
--
Live free or die

Ты довольно бездумно

Ты довольно бездумно скопипастил команды, даже не пытаясь понять их суть. Вот несколько довольно сильных ляпов, если отбросить то что ты воспользовался вопиюще старым русским Handbook'ом

cowboy написал(а):
Итак, я тут полазил по форуму и решил описать процесс установки Генту из под лайф-сд Убунту.

установка из под любого livecd мало чем отличается, как и сказано в Handbook

cowboy написал(а):
Цель этого документа - решение проблем, возникающих при установке и настройке Генту, не освещенных в хандбуке и сложные в поиске гугля для русскоязычных.

Смысла тут немного. Даже если бы в этом опусе не было такой прорвы ошибок - он всё равно устареет со скоростью света, и поддерживать его никто не будет, ведь это даже не wiki

cowboy написал(а):
Настройка параметров компиляции:

sudo nano -w /mnt/gentoo/etc/portage/make.conf
CFLAGS="-O2 -march=i686 -pipe"

И вот тут встает первый вопрос: нужно ли на этой стадии что-то записывать в USE? Ведь если выбрать профайл, то в USE будут прописаны все нужные для профайла флаги. Сохранились и забылись.

Хм, а архитектура тойже и осталась? Какой была бинарная убунта так и стала Gentoo?

cowboy написал(а):
Начнем сначал - установим зеркала в make.conf. Нам советуют mirrorselect

mirrorselect -i -o >>/mnt/gentoo/etc/portage/make.conf
bash: /mnt/gentoo/etc/make.conf: Permission denied

и "О!Боже!!!" Пробуем с sudo -то же самое. В чем же проблема? Главное - поменьше эмоций. Оказывается нет такой утилиты mirrorselect. Ведь можно записать и руками:

sudo nano -w /mnt/gentoo/etc/portage/make.conf #open make.conf
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/" #записываем зеркало
#и переменную синхронизации
SYNC="rsync://rsync.fi.gentoo.org/gentoo-portage"

Ты точно понимаешь зачем нужен mirrorselect? Почему ты выбрал эти зеркала?

cowboy написал(а):
Копируем сведения о DNS

sudo cp -L /etc/resolv.conf /mnt/gentoo/etc/

Хотя я вот заглянул в этот файл, а там как-то не очень много информации, можно было и от руки такое написать.

nano /mnt/gentoo/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

Ты точно понимаешь что ты делаешь? handbook рассчитан на gentoo live cd, там этот файл выглядит по-другому...

cowboy написал(а):
Вот тут возникает еще вопрос: export PS1="(chroot) $PS1" - вот эта строчка обязательна? По-мойму, нет.

Хех...

cowboy написал(а):
Запустили команду emerge --oneshot portage
вот с этого места непонятки:

Total: 48 packages (48 new), Size of downloads: 218,056 kB

 * Error: circular dependencies:

(sys-libs/ncurses-5.9-r2::gentoo, ebuild scheduled for merge) depends on
 (sys-libs/gpm-1.20.6::gentoo, ebuild scheduled for merge) (buildtime)
  (sys-libs/ncurses-5.9-r2::gentoo, ebuild scheduled for merge) (buildtime)

It might be possible to break this cycle
by applying the following change:
- sys-libs/ncurses-5.9-r2 (Change USE: -gpm)

Note that this change can be reverted, once the package has been installed.

Note that the dependency graph contains a lot of cycles.
Several changes might be required to resolve all cycles.
Temporarily changing some use flag for all packages might be the better option.

Если я правильно понял, в USE нужно вписать -gpm. Вписал. Теперь ЮЗ выглядит так:USE="bindist -gpm"

Нет, понял не правильно.

cowboy написал(а):
Пробую снова. Выдает:

Total: 45 packages (45 new), Size of downloads: 211,819 kB

 * Error: circular dependencies:

(sys-devel/gcc-4.6.3::gentoo, ebuild scheduled for merge) depends on
 (sys-libs/glibc-2.15-r3::gentoo, ebuild scheduled for merge) (buildtime)
  (sys-devel/gcc-4.6.3::gentoo, ebuild scheduled for merge) (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

Можно мне этот шаг пропустить?
Не знаю... Но пропускаю, т.к. думаю, пусть загружу систему сначала, а потом уже обновлю.

Да, шаг "установка Gentoo" можно пропустить. Получится уютная понятная Ubuntu

cowboy написал(а):
Настроил часовой пояс.

cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
 echo "Europe/Brussels" > /etc/timezone

Ты прямо в Брюсселе и живёш? Завидую...

cowboy написал(а):
Выбираю ядро gentoo-sources, как и советуют для х86 в хандбуке

emerge gentoo-sources

И "О, Боже!!!" та же ошибка с зацикленными пакетами.

А кудаб ей деться? Её же никто и не разрулил... несмотря на то что каждый раз в твоём случае portage подсказывает как именно её разрулить. Но ты похоже не в состоянии прочитать что он тебе пишет.

env-update

Я, надеюсь не один заметил про отсутствие этой команды (или плохо смотрел)?
Всё-таки переменные среды - весчь далеко не последняя при таких вводных...

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".