LINUX.ORG.RU

emerge: обновить всё, что можно обновить без конфликтов

 ,


0

1

Можно ли сказать emerge, чтобы обновляла мир, плюнув на конфликты? Чтобы то, что без конфликтов можно обновить, обновилось, а потом разруливать небольшое число проблемных пакетов?

Или как вы решаете проблему с конфликтами при обновлении мира?

Если обновлять порциями, задавая emerge список пакетов, сообщения о конфликтах от emerge зачастую таковы, что не понятно, как вообще к ним подступиться. В качестве конфликтующих выступают какие-то левые пакеты, которые я не обновляю. Очевидно, какой-то обновляемых тянет зависимость. Но какой? emerge этого не говорит. Разбирайся как хочешь, хоть по одному пакету обновляй. У меня фрустрация, блин.

Вот как такую радость разруливать: http://i.imgur.com/CeJihZI.jpg ?

Ну не передаю я ncurses в списке аргументов emerge -u! Там другие пакеты. Что за фигня вообще?

kinkstarter ()
Ответ на: комментарий от alexanius
       --tree (-t)
              Shows the dependency tree for the given target by indenting dependencies.  This is only really useful in combination
              with --emptytree or --update and --deep.

Я делаю -u без --deep.

kinkstarter ()

Поставь nix/guix и больше не фрустируй

anonymous ()

А никак, мне повезло и у меня такого не бывает. Наверное не использую софт, с которым такая бяка бывает.

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

ты забыл добавить --verbose-conflicts и показать весь выхлоп ниже списка пакетов(начиная со строк с !!! и до упора вниз)

Там описано что и с чем конфликтует. Обновляешь/удаляешь то, что требует старую версию ncurses(например добавляй в запрос к emerge) и всё будет пучком. А, и да, emerge в данном случае(со списком всех пакетов, которые надо притянуть чтобы обновить ncurses) надо запускать БЕЗ ключа -u. Почему так - подумай сам(подсказка - это связано с версиями этих пакетов и preserved libs)

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

На первом скрине с --verbose-conflicts. Смысла в этом большого не оказалось: просто перечисление установленных пакетов, которые зависят от ncurses 5.

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

Смысла в этом большого не оказалось: просто перечисление установленных пакетов, которые зависят от ncurses 5.

Ну если ты не понимаешь что это руководство к действию(что нужно эти пакеты обновить), то тогда ничего не поделаешь...

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

Я уже отчаялся заставить работать @world или @system, теперь обновляю порциями.

Командная строка такая:

emerge -u lsof babl libpcre sqlite orc ntfs3g libwps ntp bind-tools qpdf wgetpaste mercurial cfv libevdev libcmis libmwaw sed e2fsprogs tar flex libgpg-error slang

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

Ну так смотри на выхлоп и добавляй всё что тянет ncurses-5, делов-то. Я так уже 2 десятка серверов обновил и пару десктопов своих(домашний и рабочий) и ничего - живой.

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

Категория вредных советов: обнови ncurses с -O а потом пересобери то, что попадёт в @preserved. И жаловаться на неинформативность emerge это как-то тролльно, даже для лора.

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

И жаловаться на неинформативность emerge это как-то тролльно, даже для лора.

Это общее место, что ли? Я как-то пропустил.

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

Ты первое предложение в моём сообщении пропустил.

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

Это потому, что я уже начал парсить выхлоп emerge с помощью cut/sed и скармливать emerge по одному пакету в цикле.

Добавил --exclude ncurses, поскольку он хотел обновлять ncurses при каждом запуске, неважно, какой пакет ставился.

kinkstarter ()

--exclude package_name будет игнорировать пакет. Обычно помогает, но будет лучше решить саму проблему, а не откладывать

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

Ага, смотри предыдущий комментарий.

emerge упорно тянул лапы к ncurses - укажи ему хоть какой пакет для обновления, с ним, по мнению emerge, должен обновиться и ncurses.

kinkstarter ()

Я бы предложил --ignore-built-slot-operator-deps=y. При первом заходе ncurses все равно обновится, но конфликтов уже не будет, и оставшиеся пакеты пересоберутся позже через @preserved-rebuild

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

не люблю генту, наверное потому что не понимаю

mul4 ★★★★★ ()

по фотке вангую, что поможет добавить --with-bdeps=y

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