zed.0xff.me

Заметки о линуксе, Ruby, Rails & so on.

Gentoo: миграция no-multilib -> multilib

Если при устновке/конфигурации amd64 генты был установлен профиль no-multilib, то официальная документация говорит нам:
bq{background:#ffbbbb}. Warning: Currently you cannot switch from a no-multilib to a multilib-enabled profile, so think over your decision twice before you use the no-multilib profile.

Но при наличии навыка гугления можно нарыть следующую линку: Howto switch to multilib, где описывается следующий грязный хак:

  1. распаковка “родного” amd64 stage3
  2. chroot в него
  3. заворачивание “родных” gcc и glibc в бинарные пакеты
  4. chroot оттуда :)
  5. мерж бинарных пакетов в целевую систему
  6. обновление gcc и glibc до последних/нужных стандартным emerge’м

Чем мы сейчас и займемся :)

Шаг №1. Меняем профиль.

(старый профиль ссылался на ../usr/portage/profiles/default/linux/amd64/2008.0/no-multilib)

1
2
3
cd /etc
rm make.profile
ln -s ../usr/portage/profiles/default/linux/amd64/2008.0/server make.profile

Шаг №2. Разворачиваем stage3

(не забываем заменить /path/to/ на реальный путь к stage3)

1
2
3
4
5
6
7
8
9
mkdir /mnt/gentoo
cd /mnt/gentoo
tar xvjpf /path/to/stage3-amd64-2008.0.tar.bz2
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
mount -o bind /usr/portage /mnt/gentoo/usr/portage
cp -r /usr/portage /mnt/gentoo/usr
chroot /mnt/gentoo /bin/bash
env-update

(если всё прошло без ошибок – то мы находимся внутри chroot-а свежераспакованного stage3)

Шаг №3. Заворачиваем glibc и gcc в бинарные пакеты

1
2
3
quickpkg glibc
quickpkg gcc
exit

(если всё прошло без ошибок – то должны создаться пакеты /usr/portage/packages/sys-devel/gcc-4.1.2.tbz2 и /usr/portage/packages/sys-libs/glibc-2.6.1.tbz2)
(версии могут отличаться если stage3 был не 2008.0)

Шаг №4. Ставим gcc и glibc из бинарных пакетов в целевую систему

1
emerge -Ktva glibc gcc

Шаг №5. Обновляем gcc и glibc до свежих

1
emerge -tva1 glibc gcc

Шаг №6. Cleanup

(выполнять только если все предыдущие шаги прошли успешно :)

1
2
3
4
umount /mnt/gentoo/proc
umount /mnt/gentoo/dev
umount /mnt/gentoo/usr/portage
rm -rf /mnt/gentoo

Шаг №7. Profit!! :)

Можем себя поздравить, всё прошло успешно! :) справедливость multilibность восстановлена! :)

PS: перевод “Howto switch to multilib” не дословный! Отражены некоторые вещи, отражающие более современную действительность и (imho) более системный подход.

  1. Stas's Gravatar Stas says:

    Присоединяюсь. Ибо очень хороший пост. Даже добавил в закладки. :) Кстати, рекомендую Toodoo

  2. Joker's Gravatar Joker says:

    Хмм... а можно у вас брать посты с рсс канала? Ссылку на вас обязательно поставлю.

  3. Sergei's Gravatar Sergei says:

    Уже не первую неделю вас читаю. Но более всего нравицца ваш стиль изложения. Чем-то даже на Каганова похоже. Буквально на раз все прочитываю.

  4. John's Gravatar John says:

    Хотел спросить, а может быть вы напишете про кризис? Что будет потом, что делать... А то меня уволили, не знаю что делать дальше. =(

  5. Ivan's Gravatar Ivan says:

    Долго писал, а затем подумал, а нафига надрываться? Короче, нужно писать более полезные посты. Вот буквально прошлый - супер. Этот - уже не так. Держите планку!

  6. Mark's Gravatar Mark says:

    Как вижу тут многие говорят, что вы хорошо излагаете свои мысли. Так вот, как копирайтер говорю - уровень у вас как у более-менее толкового писателя!

  7. Petja's Gravatar Petja says:

    Все просто великолепно, только, наверное, стоит обновляться почаще! :)

  8. Roman's Gravatar Roman says:

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

  9. Jeka's Gravatar Jeka says:

    Хмм... а это только у меня сайт лежал последние три часа? И не в первый раз это %)

  10. Andrey Zaikin's Gravatar Andrey Zaikin says:

    спасибо за поддержку! :)
    буду стараться дальше.
    но я далекооо не писатель.. кодописатель скорее.. или кодокопатель :)

  11. Andrey Zaikin's Gravatar Andrey Zaikin says:

    про кризис ничего сказать, к сожалению, не могу.. :(
    т.к. я не экономист, не политик, не политолог и пр.
    так что сам не особо ориентируюсь в ситуации и жду что будет дальше.

  12. Andrey Zaikin's Gravatar Andrey Zaikin says:

    Joker : рсс брать - можно :)
    а ссылочку на меня ставить - нужно :)

  13. Sminyncoscish's Gravatar Sminyncoscish says:

    Спасибо ради хорошую статью. По-больше б таких статей.

  14. Lexa's Gravatar Lexa says:

    Эмм.. а можно ли у вас брать посты с RSS? Ссылку на источник обязательно поставлю.

  15. Dmitry's Gravatar Dmitry says:

    Присоединяюсь. Весьма и весьма хороший пост. Добавил в закладки. Кстати, рекомендую для этих целей бобрдобр :)

  16. Petja's Gravatar Petja says:

    Вот вы - умный человек. Подскажите, пожалуйста, как можно подзаработать денег летом? К примеру, сейчас пытаюсь раскрутить свой сайт. Но он приносит одни копейки =( Заранее спасибо за ответ :) Ах да - мне 15 лет.

  17. Andrey Zaikin's Gravatar Andrey Zaikin says:

    Lexa : можно

  18. Материалы для саморазвития's Gravatar Материалы для саморазвития says:

    Спасибо за статью оказалась очень полезной.

  19. Dmitry's Gravatar Dmitry says:

    Благодарю. Как и всегда - отличный пост!

  20. PriersKef's Gravatar PriersKef says:

    Интересно было почитать, спасибо.

Post a comment


(lesstile enabled - surround code blocks with ---)