четвер, 17 жовтня 2013 р.

Sabayon: обновление

Есть у меня девненько установленный linux Sabayon. Ставил его где-то в 2010. Сейчас появилась необходимость обновить его.

"Нахрапом", по-простому не получается :(

1. Обновление репозитаривев.
Старый список не доступен для обновления :(
sabayon root# equo update
>>  @@ Синхронизация репозитория ...
>>   # Sabayon Linux Official Repository
>>   # Repository URL: http://svn.sabayonlinux.org/entropy/standard/sabayonlinux.org/database/x86/5
>>   # Repository local path: /var/lib/entropy/client/database/x86/sabayonlinux.org/standard/x86/5
>>   # Repository API: 2
>>     Downloading repository ...
>>     Внимание: repository does not exist online.
>>     [F]: 0.0/0.0 kB <->   0% [>         ] => 0.0b/сек. : ЕТА: 0s
Все правильно -  домен за 2 года "ищез":
nslookup svn.sabayonlinux.org
Server:        8.8.8.8
Address:    8.8.8.8#53

** server can't find svn.sabayonlinux.org: NXDOMAIN
Хорошо, что "под рукой" есть точно такая же машинка с живым Сабайоном. Меняю старые сведения о репозитории на новые. В файле  /etc/entropy/repositories.conf отключаю старй репозиторий:
# Sabayon Linux Official Repository
#repository|sabayonlinux.org|Sabayon Linux Official Repository|http://svn.sabayonlinux.org/entropy|http://svn.sabayonlinux.org/entropy#bz2
#repository|sabayonlinux.org||http://mirrors.cs.wmich.edu/sabayon/entropy|
#repository|sabayonlinux.org||http://ftp.cc.uoc.gr/mirrors/linux/SabayonLinux/entropy|
#repository|sabayonlinux.org||http://mirror.dun.nu/sabayonlinux/entropy|
#repository|sabayonlinux.org||http://mirror.holland.sabayonlinux.org/entropy|
#repository|sabayonlinux.org||http://cross-lfs.sabayonlinux.org/entropy|
#repository|sabayonlinux.org||http://ftp.surfnet.nl/pub/os/Linux/distr/sabayonlinux/entropy|
#repository|sabayonlinux.org||http://na.mirror.garr.it/mirrors/sabayonlinux/entropy|
заменяю их строками с "живого" Сабайона:
# Sabayon Linux Official Repository
repository|sabayonlinux.org|Sabayon Linux Official Repository|http://cerberus.itti.ifce.edu.br/entropy|http://pkg.sabayon.org,sabayon.org
repository|sabayonlinux.org||http://riksun.riken.go.jp/pub/pub/Linux/sabayon/entropy|
repository|sabayonlinux.org||http://ftp.sh.cvut.cz/MIRRORS/sabayon/entropy|
repository|sabayonlinux.org||http://ftp2.cz.freebsd.org/pub/sabayon/entropy|
repository|sabayonlinux.org||http://debian.mirror.dkm.cz/sabayon/entropy|
repository|sabayonlinux.org||http://mirror.us.sabayon.org/sabayon/entropy|
repository|sabayonlinux.org||http://mirror.umoss.org/sabayonlinux/entropy|
repository|sabayonlinux.org||ftp://ftp.klid.dk/sabayonlinux/entropy|
repository|sabayonlinux.org||http://ftp.fsn.hu/pub/linux/distributions/sabayon/entropy|
repository|sabayonlinux.org||ftp://ftp.fsn.hu/pub/linux/distributions/sabayon/entropy|
repository|sabayonlinux.org||http://mirrors.cs.wmich.edu/sabayon/entropy|
repository|sabayonlinux.org||http://ftp.surfnet.nl/pub/os/Linux/distr/sabayonlinux/entropy|
repository|sabayonlinux.org||ftp://ftp.nluug.nl/pub/os/Linux/distr/sabayonlinux/entropy|
repository|sabayonlinux.org||http://ftp.cc.uoc.gr/mirrors/linux/SabayonLinux/entropy|
repository|sabayonlinux.org||http://mirror.dun.nu/sabayonlinux/entropy|
repository|sabayonlinux.org||http://ftp.rnl.ist.utl.pt/pub/sabayon ftp://ftp.rnl.ist.utl.pt/pub/sabayon|
repository|sabayonlinux.org||http://mirror.internode.on.net/pub/sabayonlinux/entropy|
repository|sabayonlinux.org||http://cross-lfs.sabayonlinux.org/entropy|
repository|sabayonlinux.org||http://na.mirror.garr.it/mirrors/sabayonlinux/entropy|
Теперь должен пройти equo update. Запускаю, - поехали!!
Всего пару секунд радостного настроения и -- на тебе :(
equo update
>>  @@ Синхронізація репозиторію ...
>>   # Sabayon Linux Official Repository
>>   # Repository URL: http://pkg.sabayon.org/standard/sabayonlinux.org/database/x86/5
>>   # Repository local path: /var/lib/entropy/client/database/x86/sabayonlinux.org/standard/x86/5
>>   # Repository API: 2
>>     Downloading repository ...
>>     Завантаження контрольної суми packages.db.dumplight.bz2.md5 ...
>>     packages.db.meta: ура, є!.
>>       << розпакований мета-файл: 00-sabayon.package.keywords
>>       << розпакований мета-файл: 00-sabayon.package.mask
>>       << розпакований мета-файл: 00-sabayon.package.unmask
>>       << розпакований мета-файл: 00-sabayon.package.use
>>       << розпакований мета-файл: eapi
>>       << розпакований мета-файл: make.conf
>>       << розпакований мета-файл: make.profile
>>       << розпакований мета-файл: packages.db.critical
>>       << розпакований мета-файл: packages.db.fallback_mirrors
>>       << розпакований мета-файл: packages.db.keywords
>>       << розпакований мета-файл: packages.db.lic_whitelist
>>       << розпакований мета-файл: packages.db.mask
>>       << розпакований мета-файл: packages.db.mirrors
>>       << розпакований мета-файл: packages.db.post_update.sh
>>       << розпакований мета-файл: packages.db.post_upgrade.sh
>>       << розпакований мета-файл: packages.db.restricted
>>       << розпакований мета-файл: packages.db.revision
>>       << розпакований мета-файл: packages.db.system_mask
>>       << розпакований мета-файл: packages.db.webservices
>>       << розпакований мета-файл: parent
>>       << розпакований мета-файл: signature.asc
>>     packages.db.meta.asc: ура, є!.
>>     notice.rss: ура, є!.
>>     Перевірка репозиторію: 2814
>>     Downloaded repository status: Гаразд
>>     GPG key already installed for: sabayonlinux.org
>>     Make sure to verify the imported key and set an appropriate trust level:
>>     $ gpg --homedir '/etc/entropy/client-gpg-keys' --edit-key '6EF0055F8538092B13B449EC691428D9EE88C3A7'
>>     @@ Verified GPG signature of: packages.db.meta
>>     @@ Verified GPG signature of: packages.db.dumplight.bz2
>>     Розпакування бази даних у packages.db.dumplight ...
>>     Додається обсяг завантаженого packages.db.dumplight, зачекайте, будь-ласка ...
>>     Індексування мета-інформації репозиторію ...
>> Hi. My name is Bug Reporter. I am sorry to inform you that Equo crashed. Well, you know, shit happens.
>> Але при цьому Ви могли б дещо посприяти тому, щоб Equo став меншглючною програмою.
>> -- EVEN IF I DON'T WANT YOU TO SUBMIT THE SAME REPORT MULTIPLE TIMES --
Индексирование.... Ну, правильно, - формат баз, скорее всего, поменялся, а наш старенький equo ни сном, ни духом....

Пробую зайти с другой стороны. Так как Сабайон - бинарный дистрибутив на базе Gentoo, обновим пакеты "основного дистрибутива:
emerge --sync
>>> Starting rsync with rsync://88.198.51.10/gentoo-portage...
>>> Checking server timestamp ...
Welcome to swan.gentoo.org / rsync.gentoo.org
...
 
Ждем... Наконец-то.
По просьбам обновления делаю
emerge portage

!!! Your current profile is deprecated and not supported anymore.
!!! Use eselect profile to update your profile.
!!! Please upgrade to the following profile if possible:
        default/linux/x86/13.0/desktop
А... ну да:
ls -l /etc | grep make.profile
lrwxrwxrwx  1 root    root        54 бер 19  2010 make.profile -> ../usr/portage/profiles/default/linux/x86/10.0/desktop
lrwxrwxrwx  1 root    root        56 бер 30  2009 make.profile.entropy_old -> ../usr/portage/profiles/default-linux/x86/2007.0/desktop
Поправляю профиль:
mv /etc/make.profile /etc/make.profile.old;ln -s ../usr/portage/profiles/default/linux/x86/13.0/desktop /etc/make.profile
ls -l /etc | grep make.profile
lrwxrwxrwx  1 root    root        54 жов 17 11:07 make.profile -> ../usr/portage/profiles/default/linux/x86/13.0/desktop
lrwxrwxrwx  1 root    root        56 бер 30  2009 make.profile.entropy_old -> ../usr/portage/profiles/default-linux/x86/2007.0/desktop
lrwxrwxrwx  1 root    root        54 бер 19  2010 make.profile.old -> ../usr/portage/profiles/default/linux/x86/10.0/desktop
Повторно
time emerge portage
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5': '/usr/portage/profiles/default/linux/x86/13.0/eapi'
!!! If you have just changed your profile configuration, you should revert
!!! back to the previous configuration. Due to your current profile being
!!! invalid, allowed actions are limited to --help, --info, --sync, and
!!! --version.
Рано :( Обновим пакеты с новым профилем:
emerge --sync
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5': '/usr/portage/profiles/default/linux/x86/13.0/eapi'
>>> Starting rsync with rsync://209.177.148.226/gentoo-portage...
>>> Checking server timestamp ...
Welcome to magpie.gentoo.org / rsync.gentoo.org
emerge -uav portage
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5': '/usr/portage/profiles/default/linux/x86/13.0/eapi'
!!! If you have just changed your profile configuration, you should revert
!!! back to the previous configuration. Due to your current profile being
!!! invalid, allowed actions are limited to --help, --info, --sync, and
!!! --version.
Опять никак :( Что же делать??
Попытка №3
mv /etc/make.profile /etc/make.profile.new; mv /etc/make.profile.old /etc/make.profile
emerge -av1 portage 
emerge: there are no ebuilds to satisfy "dev-lang/python:2.7".
(dependency required by "sys-apps/portage-2.2.7" [ebuild])
(dependency required by "portage" [argument])
Требует python-2.7.
Нашел подсказку
"Это значит что Вы давно не обновляли систему и версия портежей устарела настолько, что не умеет работать с EAPI 5. Отредактируйте файл, на который он ругается, вписав 4, вместо 5. Обновите портежи emerge portage, после этого верните значение 5."
Пробую:
emerge -av1 portage
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5': '/usr/portage/profiles/default/linux/x86/13.0/eapi'
!!! If you have just changed your profile configuration, you should revert
!!! back to the previous configuration. Due to your current profile being
!!! invalid, allowed actions are limited to --help, --info, --sync, and
!!! --version.
mcedit /usr/portage/profiles/default/linux/x86/13.0/eapi
emerge -av1 portage
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '4': '/usr/portage/profiles/default/linux/x86/13.0/eapi'
!!! If you have just changed your profile configuration, you should revert
!!! back to the previous configuration. Due to your current profile being
!!! invalid, allowed actions are limited to --help, --info, --sync, and
!!! --version.
mcedit /usr/portage/profiles/default/linux/x86/13.0/eapi

emerge -av1 portage
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5': '/usr/portage/profiles/eapi-5-files/eapi'
!!! If you have just changed your profile configuration, you should revert
!!! back to the previous configuration. Due to your current profile being
!!! invalid, allowed actions are limited to --help, --info, --sync, and
!!! --version.
mcedit /usr/portage/profiles/eapi-5-files/eapi

emerge -av1 portage
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '4': '/usr/portage/profiles/eapi-5-files/eapi'
!!! If you have just changed your profile configuration, you should revert
!!! back to the previous configuration. Due to your current profile being
!!! invalid, allowed actions are limited to --help, --info, --sync, and
!!! --version.
mcedit /usr/portage/profiles/eapi-5-files/eapi
В результете, получилось, что нужно установить "3" вместо "5" в двух файлах.

После некоторых "экспериментов" с подстановками разных профилей пришёл к выводу, что для обновления portage крайне необходимы последние версии python:2.7 и python:3.2. Но они устанавливаются при EAPI=5. Выход следующий: "обмануть пакеты о требуемом EAPI, установить, переключиться на python:2.7, обновиться, снова установить с правильным EAPI:
mcedit /usr/portage/dev-lang/python/python-2.7.5-r3.ebuild mcedit /usr/portage/dev-lang/python/python-3.2.5-r3.ebuild
EAPI="4" меняем на EAPI="3"
cd /usr/portage/dev-lang/pythonebuild python-2.7.5-r3.ebuild digestebuild python-3.2.5-r3.ebuild digest
Далее устанавливаем:
emerge -av1 python:2.7 --nodeps
emerge -av1 python:3.2 --nodeps
Сразу же будет ошибка, что сумма не совпадает, - подмениваем суммы в Manifest.
После этих манипуляций python устанавливается. Далее
eselect python list
Available Python interpreters:
  [1]   python2.5
  [2]   python2.6 *
  [3]   python2.7
eselect python set 3
Питон установлен, теперь обновляемся, устанавливаем правильный portage и снова устанавливаем питоны:
emerge --sync
emerge -av1 python:2.7 --nodeps
emerge -av1 python:3.2 --nodeps
emerge -av1 portage
Всё, установлен нормальный portage.
Следующим шагом нужно обновить equo и entropy. Но, т.к. установленная система очень и очень старая обновить entropy с первого раза не удаётся:
emerge -av1 equo

 * IMPORTANT: 4 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] dev-python/python-exec-2.0-r1:2  PYTHON_TARGETS="(jython2_5) (jython2_7) (pypy2_0) (python2_6) (python2_7) (python3_2) (python3_3)" 79 kB
[ebuild     U  ] sys-apps/entropy-218::sabayon [0.99.50.2::sabayon] PYTHON_SINGLE_TARGET="python2_7%*" PYTHON_TARGETS="python2_7%*" 17,996 kB
[ebuild     U  ] app-admin/equo-218::sabayon [0.99.50.2::sabayon] USE="(-bash-completion%*)" PYTHON_SINGLE_TARGET="python2_7%*" PYTHON_TARGETS="python2_7%*" 0 kB

Total: 3 packages (2 upgrades, 1 new), Size of downloads: 18,075 kB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-apps/entropy:0

  (sys-apps/entropy-218::sabayon, ebuild scheduled for merge) pulled in by
    ~sys-apps/entropy-218[python_targets_python2_7(-)?,python_single_target_python2_7(+)?] required by (app-admin/equo-218::sabayon, ebuild scheduled for merge)

Для "надёжности" удалим все три программы
emerge --unmerge sys-apps/entropy  app-admin/equo app-admin/sulfur
и установим equo и entropy "с нуля":
emerge -av  sys-apps/entropy  app-admin/equo
Наконец-то имеем полноценную equo для обновления системы!

Здесь должен был быть "хэппи энд", но, после вполне успешного "equo up", последующий "equo u" оставленный на ночь преподнёс массу сюрпризов :(. Спасает только то, что удалённая машинка не выключается, но браузеры уже не запускаются, equo работать не хочет и все программки требуют разные версии glibc ((.

Python 2.7 тоже не работает, "переключился" на python:2.6. Сборка любой программки подвисает на обработке gtkconfig (не помню), затем идут ошибки и, в конце, нехватка памяти :(.

Все, удаленную машинку перезагрузили и доступ утрачен :(

Немає коментарів:

Дописати коментар