LINUX.ORG.RU
решено ФорумAdmin

Восстановление portage

 , ,


0

1

Добрый вечер. Нуждаюсь в помощи по восстановлению работоспособности portage. Понадобилось установить пакет lm-sensors на одной старой gentoo (3.16.5-gentoo), в ответ получал типа такого (взял с другой ветки)

Downloading ‘http://distfiles.gentoo.org/distfiles/sqlite-autoconf-3120000.tar.gz’ –2019-02-17 22:09:41– http://distfiles.gentoo.org/distfiles/sqlite-autoconf-3120000.tar.gz Resolving distfiles.gentoo.org… 140.211.166.134, 156.56.247.195, 64.50.236.52, … Connecting to distfiles.gentoo.org|140.211.166.134|:80… connected. HTTP request sent, awaiting response… 404 Not Found 2019-02-17 22:09:41 ERROR 404: Not Found.

Решил обновить portage, ввел emerge –sync. Вроде пошло обновление, в конце было:

  • IMPORTANT: 7 config files in ‘/etc’ need updating.

  • See the CONFIGURATION FILES section of the emerge man page to learn how to update config files.

  • 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 –oneshot portage’ now.

И много подобных сообщений:

!!! Invalid news item: /usr/portage/metadata/news/2018-04-08-radicale-2-requires-pre-install-migration/2018-04-08-radicale-2-requires-pre-install-migration.en.txt

!!! line 5: News-Item-Format: 2.0

Потом была ошибка с profile, пересоздал симв ссылку. Но при попытке установить что либо или обновить portage, я получаю ошибки: https://pastebin.com/XZYzyup6

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

  1. Можно ли вернуть как было?

  2. Если нет, чем обернется эта проблема? Только тем, что не получится больше ставить/обновлять пакеты? Собирать из исходников можно будет?

[root@master portage]$ emerge –info

Portage 2.2.14 (python 3.3.5-final-0, default/linux/amd64/17.0, gcc-4.8.3, glibc-2.20-r2, 3.16.5-gentoo x86_64)

вообще он тебе писал что не может найти пакет в интернетах, той версии что была раньше, возможно он просто уже отсутствовал. Ты решил обновить у себя дерево ebuild файлов на которой система держится и так как он получил новые пакеты и плюс зависимости, поэтому стал рекомендовать тебе обновить свою систему до актуального состояния. У тебя система работоспособна, просто не совсем понятно как ты будешь устанавливать новые пакеты, т.к. их возможно в интернетах уже нет. Я могу ошибаться в своих выводах.

Если ты хочешь обновится до актуальной версии то я как понимаю обновляться нужно частями, т.е. сначала до обновлений года 18, потом 19, потом 20. Потому что ад зависимостей. Я никогда с этим не сталкивался, но не думаю что это сложно. А что у тебя за машина, и зачем ты туда залез?

SmilePlz ()
Последнее исправление: SmilePlz (всего исправлений: 3)

Он же пишет, что ты обновил дерево ебилдов, а они используют EABI больший, чем твой старый portage может.

Проще развернуть новый stage3 (осторожно), а из него обновить всё остальное. Но можешь stage3 развернуть в другое место, а из него установить portage и toolchain на твою систему (сомневаюсь).

boowai ★★★ ()
Последнее исправление: boowai (всего исправлений: 1)

Можно попытаться вернуть старое дерево на место и потихоньку обновляться до более новых деревьев. Но это не всегда возможно, т.к. для промежуточных состояний на зеркале distfiles уже может не оказаться объёмных патчей к пакктам, которые там хранятся, чтобы само дерево не было слишком жирным. Поэтому быстрее новый stage3, как советовали развернуть. Главное файлы настроек сохранить, которые нужны. Лучше вообще полный бэкап сделать.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)

Тебе надо последовательно обновить portage(и возможно python) до актуальных версий(сам portage - хотя бы до 2.3.99-r2, это как раз ебилд, который сам еще EAPI=5, но сам portage данной версии умеет новые EAPI). Все ебилды lm_sensors в текущем дереве portage требуют минимум EAPI 6, твоя версия portage его не умеет. Можешь попробовать вручную откатить версию EAPI для ебилда lm_sensors, но там геморроя будет много(особенно с зависимостями).

Совет бывалого: обновлять древний portage сначала лучше с USE="-rsync-verify", там меньше зависимостей будет и меньше шанса нарваться на неразрешимую блокировку.

Ошибки с новостями - в ту же степь, там изменился формат новостей, нужен новый portage

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 5)
Ответ на: комментарий от boowai

Но можешь stage3 развернуть в другое место, а из него установить portage и toolchain на твою систему (сомневаюсь).

Чего ты сомневаешься? Распаковываешь stage3 куда-нибудь в /opt/stage3-tmp, указываешь EPREFIX=/ (или /usr, уже не помню, курите маны) и другие переменные портажа, указываешь портажу нужные опции (по большей части вкусовщина, ибо критичное рулится переменными) и обновляешь @system, весь @world обновлять не нужно (по крайней мере не обязательно), а дальше как обычно. Убедившись что всё работает, можно удалить /opt/stage3-tmp, а если не работает, то обратиться за момощью к системному администратору гентушнику с большим пониманием как это всё работает. Свою кандидатуру не предлагаю, я уже больше года не пользуюсь Linux вообще и Gentoo в частности.

Проще развернуть новый stage3 (осторожно), а из него обновить всё остальное.

Поверх его лучше не разворачивать.

EABI

EAPI. B — это про другое.

mord0d ★★★ ()
Ответ на: комментарий от Pinkbyte

Тебе надо последовательно обновить portage(и возможно python) до актуальных версий

Можно просто распаковать (топикстартеру: правильно распаковать, а не абы как!) поверх на живую систему собранный друзьяшками-гентушниками binary package (крайне желательно с теми же юзами, с которыми собран уже установленный), и сразу им же себя принудительно "обновить" (переустановить) (чтобы актуализировать /var/db/pkg и прочее что я мог забыть). Но новичкам лучше так не делать.

mord0d ★★★ ()
Ответ на: комментарий от grem

с теми же юзами

И для той же архитектуры проца, но все очень любят -march=native

В sys-apps/portage навтыкали чего-то компилируемого? Он там весь на Python, достаточно будет собрать его под версию Python, установленную на проблемной машине.

mord0d ★★★ ()
Ответ на: комментарий от mord0d

Тогда, наверное, можно распаковать stage3 и сделать из него quickpkg нужных пакетов. Но опять же такие эксперименты лучше сделав бэкап делать.

Но, учитывая, что @system и @world всё равно обновлять, то лучше новую систему накатить. Я не слишком аккуратно пытался обновить систему 2013 года в январе и быстро её запорол. Переустановить было изначально быстрее.

Windows 7 обновления пару дней ставил себе того же года свежести, иногда фейлясь на некоторых и откатывая назад.

grem ★★★★★ ()
Ответ на: комментарий от grem

Но опять же такие эксперименты лучше сделав бэкап делать.

Бэкапы лучше делать всегда.

Но, учитывая, что @system и @world всё равно обновлять, то лучше новую систему накатить.

Нет, не лучше. Если подсунуть в девственный stage3 сильный кастом /etc/portage/*, то будет очень много проблем при следующей установке/обновлении (любого пакета), которые придётся разруливать руками, если обновлять конфиги порционно, то это затянется на очень долго.

Починить (portage не сломан, но не работает с EAPI >=6) один пакет гораздо проще.

mord0d ★★★ ()
Ответ на: комментарий от SmilePlz

А что у тебя за машина, и зачем ты туда залез?

Машина выполняет много функций, там и бд, и сервера самбы, и главное много самописных программ. Полез потому что в логах стала возникать ошибка mce, хотел начать с проверки температуры. Обновление решил все таки не рассматривать, т.к с этой ос не работал, легко смогу накосячить, и даже в случае удачного обновления далеко не факт что не отвалится что то другое. А на машине реально крутится много всего критичного. Сейчас выбираю между вариантами оставить как есть или попытаться вернуть как было. Я правильно понимаю, что можно найти прежнюю версию дерева, обратно переключить profile и оно будет работать как прежде? Версия profile у меня была 13.0 (сейчас 17.0)

oktavpua ()