LINUX.ORG.RU

тотальный segfail в Gentoo после обновления Glibc с 2.14 до 2.17

 , , ошибка сегментации


0

1

Здравствуйте.

Два года не делал -uDN world. Пару недель назад поверхностно обновил любимые программы. Потом поставил google-crhome. Он не запустился, потому что у меня Glibc 2.14. Обновил до 2.17 и система убилась. Ошибки такие же, как здесь: http://www.gossamer-threads.com/lists/gentoo/user/282393?do=post_view_threaded Что я имею сейчас? Gentoo полностью парализована. Питон не работает (я пробовал переключаться через eselect - все Питоны сломаны), соответственно emerge и revdep-rebuild не работает, не запускаются все программы (вылетают с ошибкой: «ошибка сегментации»), Иксы не грузятся. Я почитал иноязычные форумы. Можно поставить бинарный Питон. А что я буду делать дальше? Как потом разрешить тотальный segfailing? Откатиться до старого Glibc или пытаться пытаться компилировать новый, или ставить бинарный Glibc - не факт, что это все поможет, судя по форумам.

Вот в этой теме решалась такая же проблема http://forums.gentoo.org/viewtopic-t-920108.html Автор перепробовал все, но ничего не помогло. В результате он сделал вот что: «Wouldn’t be easier just save /etc/, /var/lib/portage/world and unpack fresh stage3 on cleaned partitions, then move /etc and /var/lib/portage/world to their places and make emerge -NuDave @world? »

Через месяц она написал, что «So I did as I wrote – cleaned partitions except boot, unpacked fresh stage3 and returned old /etc and /var/lib/portage/world, then did recompile kernel with modules and emerge -NuDaveb @world. And it works. I checked all my memory with memtest86+ and it didn’t find any errors on two passes.»

Стоит ли мне сделать то же самое? Есть здесь какие-нибудь нюансы?

Ответ на: комментарий от pelleasnn

Я так понял, что в самом простом случае, это можно сделать с помощью tar?

Да.

Архивировать не нужно /dev, /proc, /sys и некоторые другие.

Не нужно. Но они у тебя и не будут примонтированы при загрузке с LiveCD/LiveUSB, так что бэкапь всё. Да и сами каталоги /dev, /proc, /sys надо оставить, а то куда потом монтировать псевдоФС?

Правда, есть внешний хард 1 тб, но его я не хочу использовать для бэкапа.

Может, рискнуть без бэкапа?

Почему? Сложно сделать бэкап в один tar-архив, а потом удалить архив?

Вообще насколько велик риск, что система ещё больше поломается?)

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

Можно дать и другой ответ. Вероятность — 50%. Либо сломается, либо нет.

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

У меня стоят три версии gcс. Надеюсь, один из них по-прежнему работает.

pelleasnn
() автор топика
Ответ на: комментарий от Chaser_Andrey

Развивай эрудицию и мышление

Это установкой генты что ли ?
Я знаю что такое rolling-release, но ты ему приписываешь такие свойства что если не обновлять больше «недели или месяца» то он сломается. Причем это не просто норма, а он должен сломаться потомучто это rolling-release!

pony
()
Ответ на: комментарий от Chaser_Andrey

но можно же было задействовать тындырбокс
распаковать в корень питон/бинутилс/гцц и айда играть в бога пересобирая мир

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

поняшка, он тут уже одному неучу расписал почему необходимо хотя бы раз в месяц-два обновляться.
неужели ты настолько отупел от литл-выродков, что не способен прочитать 1 пост!?

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

Я давно написал пост просто он не отправился потому что ип забанен. Сейчас вернулся на вкладку и переотправил.

pony
()

Тотальный segway?

anonymous
()
Ответ на: комментарий от Chaser_Andrey

Почему? Сложно сделать бэкап в один tar-архив, а потом удалить архив?

Стыдно признаться, но я слабо себе представляю, как через консоль примонтировать внешний диск. Раньше это делали за меня наутилус и крусейдер. Локальные диски называются в духе - afg099578343, я пока не знаю, как с ними обращаться вручную. И ещё момент. Все локальные диски забыты почти полностью (800 gb). Есть пустой диск 200 gb, но его я ни разу не включал, даже не знаю, как его найти... Ладно, разберусь.

pelleasnn
() автор топика

So I did as I wrote – cleaned partitions except boot, unpacked fresh stage3 and returned old /etc and /var/lib/portage/world, then did recompile kernel with modules and emerge -NuDaveb @world. And it works.

А все-таки объясните мне, чем плох этот способ решения проблемы? Просто перекомпилировать все и вся. Ведь в любом случае мне придется это делать.

pelleasnn
() автор топика
Ответ на: комментарий от pony

ты ему приписываешь такие свойства что если не обновлять больше «недели или месяца» то он сломается. Причем это не просто норма, а он должен сломаться потомучто это rolling-release!

Ложь. Я не утверждал, что оно обязательно сломается.

Но есть высокая вероятность. Понимаешь разницу между «высокая вероятность» и «обязательно»?

Объясню на пальцах:

С высокой вероятностью ты не выиграешь в популярную лотерею
С высокой вероятностью ты упадешь нахрен, если попытаешься без подготовки пойти по канату между домами.
С высокой вероятностью новичек не посадит пассажирский авиалайнер в ручном режиме
С высокой вероятностью ты не сможешь без плясок с бубном обновить Gentoo нескольколетней давности.
С высокой вероятностью регулярные апдейты системы уберегут тебя от многих проблем, которые я написал в посте выше, адресованому iZEN'у.
С высокой вероятностью ты сейчас пытаешься троллить.

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

По сути, это установка с нуля.

/var/lib/portage/world - просто список вручную установленных пакетов. Ну и бэкап конфигов, подумаешь.

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

Ты так говоришь, будто конпеляние генты сравнимо с управлением лайнером или хождением по канату.

anonymous
()
Ответ на: комментарий от Chaser_Andrey

По сути, это установка с нуля.

/var/lib/portage/world - просто список

Да, я так и понял. Мне понравился этот метод, потому что он более дубовый что ли. Вы и Мегабакс предлагаете хирургические методы. Но ведь в результате мне все равно придется делать полную пересборку посредством -е world и -uDN world (я почитал ещё темы об обновлении Glibc. Часто встречается рекомендация полностью пересобирать систему после обновления этой библиотеки), то есть я не выиграю время, если последую вашим советам. Тогда почему не включить компилятор и пусть он пашет целые сутки. После распаковки /usr из stage3 я сразу, без танцев с бубном, получу рабочий emerge.

pelleasnn
() автор топика
Ответ на: комментарий от pelleasnn

чем плох этот способ решения проблемы

В твоём случае — почти ничем.

Но, во-первых, не грохни случайно нужные данные (в /home, например, если он на том же разделе).

Во-вторых, вдруг у тебя были нужные данные в /var.

В-третьих, я бы в таком случае порекомендовал бы не переписывать тупо все конфиги в /etc, а только изменять нужные параметры, которые ты сам лично правил. Зачем затирать новые конфиги старьем?

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

Так может не стоит повторять ошибок а поставить сразу нормальный дистрибутив ?

pony
()
Ответ на: комментарий от pelleasnn

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

/dev/sdb3               on  /var                      type  reiserfs     (rw,relatime,notail)
/dev/sdb2               on  /var/trash3               type  reiserfs     (rw,relatime,notail)
portage                 on  /var/tmp/portage          type  tmpfs        (rw,size=6300M)
/var/portage_main_tree  on  /usr/portage              type  none         (rw,bind)
/var/linux-sources      on  /usr/src                  type  none         (rw,bind)
это так - для примера :3.
как думаешь, какой путь я изберу: распаковку stage3 или «хирургию»?

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

/home находится на отдельном диске.

Про ценные данные в /var. Торрент-клиент Transmission вроде бы там хранит информацию о загрузках (у меня в очереди стоят примерно 200 торрентов). Не знаю, что еще есть в /var.

/etc Я уже не вспомню, что я там правил. Надо сберечь /etc/portage/, make.conf и др. Ядро при загрузке мне пишет всякий раз, что надо удалить /etc/conf.d/rc. А в целом ничего же страшного не будет, если собрать со старым etc?

pelleasnn
() автор топика
Ответ на: комментарий от megabaks

это так - для примера :3.

как думаешь, какой путь я изберу: распаковку stage3 или «хирургию

Выберите хирургический путь? Хотите сказать, что моя проблема - цветочки? Ну да) Для вас, цветочки, но вы же опытный гентушник.

pelleasnn
() автор топика
Ответ на: комментарий от anonymous

Ну да и там тоже, разумеется. Просто хочется перестраховаться.

pelleasnn
() автор топика
Ответ на: комментарий от pelleasnn

дело не в опытности/скилах.
дело в подходе к выбору оптимального пути.
мне, при наличии твоих проблем, проще выбрать хирургию, ибо в случае выбора апокалипсиса я в итоге получу то же самое, но трудозатрат это потребует в овер_дохрена_какой_степени

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

в результате мне все равно придется делать полную пересборку посредством

4.2 схема такая

  • подчищаешь world от барахла
  • пробудешь сделать
    -pvuDN --with-bdeps=y world
    . при огромном апгрейде например с 2012 года до 2014 тебе навалит 9000 проблем
  • берешь группу пакетов сортированные по времени установки
    sudo emerge -pv1 $(eix "-I*" --format "<installedversions:DATESORT>" | sort -n | cut -f3 | awk "NR > 0 && NR < 10" | tr "\n" " ")
    и меняя промежуток NR > 0 && NR < 10 начинаешь потихоньку, помаленьку обновляться.
  • доводишь систему до возможности выполнить
    -pvuDN --with-bdeps=y world
  • чистишь
    --depclean
punya ★★
()
Ответ на: комментарий от punya

начнём с того, что он сломал себе питон...на этом и закончим :3
для него главное сейчас восстановить работоспособность питона/портажа/компилятора и прочего тулчейна_и_ко.
остальное это уже совсем другая история

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

Не обновлялся больше месяца ? --- ПРИШЛО ВРЕМЯ ПЕРЕУСТАНАВЛИВАТЬ ГЕНТУ

Похоже на то. Даже Windows себе такого не позволяет. ;)

На FreeBSD всё-таки приходится перекомпилировать большую часть десктопного ПО, если выходит новые версии библиотек icu, png, jpeg. Но это раз-два в год, и об этом чётко прописано в /usr/ports/UPDATING.)

А тут Gentoo с непонятными заморочками на тему: почему оно ВСЁ сегфолтится? И с флешки приходится подставлять «нужные» файлы старых версий glibc заместо обновлённых, чтобы как-то привести систему во вменяемое состояние. Очевидно, база данных установленного ПО летит ко всем чертям — она же учитывает по CRC все установленные файлы в системе, а тут её наёппывают левыми файлами с флешки.

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

Gentoo с непонятными заморочками

для клинических бсдунов мир по эту сторону гробовой доски вообще очень сложен и непонятен

anonymous
()

переустановил Генту

Но возникла новая проблема. После того, как я собрал ядро и перезагрузился, я сразу попробовал установить gentoolkit - не получилось. Я не придал этому значения, думал, позднее сделаю. Для начала выполнил ночью emerge fluxbox. Успешно. Проблема теперь в том, что не собирается gdbus-codegen, а он требуется почти для всех пакетов. Сборка завершается так:

F: rename S: deny

P /usr/lib/python3.3/distutils/_pycasche_/.. и тд

A /usr/lib/python3.3/distutils/.. и тд

B /usr/lib/python/var/log/sandbox-32229.log...............

Сборка gentoolkit и некоторых пакетов, имеющих отношение к Питону, обрывается на этих же строчках. Может какой-то важный системный пакет нужно поставить? Когда я за-chroot-cя в свежераспакованный stage3, у меня не работал emerge. Он вообще не отвечал. Я догадался проверить eselect python, и оказалось, что оба Питона были не активны. Может, и сейчас такая же глупая проблема?

pelleasnn
() автор топика
Ответ на: переустановил Генту от pelleasnn

Может быть, не надо было использовать старый /etc.

gdbus-codegen компилируется успешно, но почему-то не устанавливается. В середине лога есть указание на /var/log/sandbox1369.log

pelleasnn
() автор топика
Ответ на: комментарий от iZEN

На свободное и зашкварившееся, это немного разные вещи.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.