LINUX.ORG.RU

Gentoo.Как найти пакеты, которые могли остаться после апгрейда системы?

 , ,


0

1

Перед апгрейдом я сделал:

emerge -C $(cat world)
emerge -c

Возможно правильней было сделать?

emerge -C @world
emerge -c

В общем я сделал первый вариант, потом

emerge --sync
далее пересобрал libc, binutils, gcc, переключился на нужные версии и собрал еще раз gcc, libc, binutils и пересобрал @system, потом установил нужные пакеты

Так вот, у меня есть подозрение, что не все пакеты удалились после

emerge -C $(cat world)
emerge -c

Как бы это проверить? Может можно прочекать как-то это?

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

Почему я пытался удалить все пакеты? Потому что emerge –sync не делал год. После синка было столько блокировок, что это можно было разруливать неделю. Проще было удалить весь @world, обновить @system и поставить все нужные пакеты

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

Заметь, что этот человек ещё и мнение имеет

гента в дефолтном виде - говна кусок. Неюзабельная в 99.9(9)% кейсов.

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

Давай ты сделаешь топик, в котором это всё можно будет обговорить. Пригласишь в новый топик меня и мы обсудим это утверждение. Не захламляй мусорными сообщениями топик

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

Тогда проще было сделать emerge -e @world.

В любом случае, снёс ты все пакеты, поставил обратно. Что ещё тебе нужно? Зачем этот топик?

eternal_sorrow ★★★★★
()
Ответ на: комментарий от serg002
mv world{,_bkp}
emerge -av --depclean

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

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

Давай ты не будешь вытворять с системой дичь, а я не буду комментировать твои действия и писанину?

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

Он не снёс зависимости, которые могут блокировать установку друг друга ;)

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

Ну вот! Из-за того, что я не сделал -e world - могли остаться мусорные пакеты. Вот я и спрашиваю, как быть в этом случае. Топик еще раз прочитай

serg002 ★★★
() автор топика
  1. Проверить содержимое world, в нем не должно быть ничего лишнего (например, библиотек, если они не нужны тебе лично для сборки софта не из потрежа)
  2. emerge -auDU @world
  3. Если предлагают выполнить emerge @preserved-rebuild, сделай
  4. emerge --depclean -a
annulen ★★★★★
()
Ответ на: комментарий от serg002

Какие мусорные пакеты? Откуда он возьмутся? Кроме тех что в @system и @world и их зависимостей, никаких пакетов в системе нет.

хотя есть конечно world_sets

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

Если удалять unmerge’м, как делает ТС, то удаляется только указанный пакет, а все его зависимости остаются в системе

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

Кстати, а другого способа удалять и нет. У portage нет команды «удалить пакет и все его зависимости, если они не нужны другим пакетам». Ты в любом случае сперва удаляешь пакет, а потом подчищаешь за ним зависимости.

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

Скорее всего ничего не выйдет и проще заново накатить будет, потому что помимо пакетов из workd и их зависимостей, есть пакеты предоставляемые выбранным профилем

Почему? Летом, кажется, обновлял генту спустя год-полтора, особых проблем с @system не было, а @world в половину случаев достаточно было снести, обновить блокирующую часть пакетов и поставить заново

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

Пока такие как вы, с мнениями, будут комментировать такие топики, всё так и будет продолжаться. Переустановить винду^W генту будет проще, чем обновить.

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

Ты в любом случае сперва удаляешь пакет, а потом подчищаешь за ним зависимости.

emerge –depclean $package сразу удаляет и пакет, и зависимости

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

Этим нужно заниматься. У меня там была простыня из 100-200 пакетов. В это нужно вникать, что там что блокирует. Быстрей и проще удалить всё и поставить заново. Естественно не вручную, а с помощью скрипта, где все нужные имена пакетов есть и который нужные конфиги сразу копирует

PS: я же с @system всё это разруливал, а не начисто ставил

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

Зависит, например, от того, насколько сильно поменялись EAPI, дефолтные версии python.

Но хорошо, что получилось. Просто по времени всё равно не быстрее разворачивания свежего stage выходит. Разве что конфиги бэкапить предварительно не нужно.

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

Нет. Попробуй сам. Эта команда удаляет только пакет, которые ты указал, но не зависимости. Разница с --unmerge только в том, что эта команда не удалит пакет, если он является зависимостью для другого установленного пакета.

eternal_sorrow ★★★★★
()

Насколько помню в merge sync можно указать на какую дату синхронизировать, т.е если допустим осталась прошлое обновление от 15152022 можно синхронизировать на нее(но это сильно врятли), из вариантов обновить то что можно обновить через skipfirs, а так да лучше накатить новую систему с бэкапом etckeeper

SPRATAY ★★
()

слабака, неосилятора кусок! я полтора года не обновлялся и руками все проблемы разрулил.

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

Да кстати хороший вариант, и постепенно обновлять

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

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

Не могут, а обязательно протухнут. Через пол года я не смог выкачать kernel-bin. Остальное не проверял. Этж гента, этж пердолинг релиз

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

Респект конечно. Но мне работать надо, а не становится специалистом по разруливанию портаж проблем

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

Ну уж чего-чего, а без kernel-bin обойтись можно. Ты бы еще сказал, что тебе libreoffice-bin систему обновить не дает.

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

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

Но ведь Gentoo - это как раз про второе, а про первое - Ubuntu всякие.

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

Да. Да. Да. И еще раз да! Гентушники сделали всё, чтобы ее применять в проде было невозможно

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

макоси - для инопланетянм, винду по работе терпеть приходится, а дома уже более 20-ти лет Linux. Брат жив. пет проекты пишутся, почта читается, игры играются и ничего не ломается.

Генту был, пока не повзрослел, но недолго - ровно до тех пор пока не надоело пердолиться ).

А вот что заставляет использовать этот мета дистр для работы в офиcе - не понятно в корне.

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

А вот что заставляет использовать этот мета дистр для работы в офиcе - не понятно в корне.

Если привык, то генту использовать и для работы удобно. Столкнулся с багом в системе, на него выпустили патч, закинул его в etc и не ждешь обновление ПО. Кучу времени экономит.

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

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

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

Гентушники сделали всё, чтобы ее применять в проде было невозможно

голосом Дроздова: Знакомьтесь, друзья, serg002 - яркий представитель прода.

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

Угу. Были проблемы с libtorrent 2.0, просто собираешь qbittorrent с 1.2. На днях были проблемы с gmime, старой версии в системе не было, просто закинул патч в etc (который еще не попал в релиз). В ksshaskpass кривые регекспы, поправил, закинул в etc.

Быстро привыкаешь к тому, что все делается легко и по щелчку пальцев.

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

пока не надоело пердолиться

Да что вы там с системой такое вытворяете? Я дома пару раз в неделю включаю комп, запускаю обновления, по завершению выключаю.

Аналогично на ноуте с Mint - включил, обновил, выключил.

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

Я работаю программистом. И вижу технологические процессы. С радостью использовал бы генту в проде, если бы это было возможно. Но увы

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

Да что вы там с системой такое вытворяете?

Я не помню какие именно проблемы возникали 20 лет назад. Скорее всего надо было или какую-то не очень знакомую программу поставить, которой что-то там не хватало, либо пропустил несколько обновлений, и всё поплыло (как у ТС).

Аналогично на ноуте с Mint - включил, обновил, выключил.

Вот именно. Минт открыл через год - он благополучно обновился, и ты спокойно работаешь, в отличие от…

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

Но, согласись, обновляться раз в год - это ни разу не «прод».

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

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

Я вообще не понимаю, зачем ты её пытаешься использовать. Ты правда делаешь какие-то странные вещи с системой, не очень то понимая, что при этом происходит. Пример этого - данная тема: ты удалил пакеты, но не удалил зависимости. Да, возможно , это снимает некоторые блокировки, но раз уж они тоже будут обновляться, то можно и их снести. Как это сделать с помощью опции --depclean здесь уже несколько человек писали.

потом установил нужные пакеты

Эта фраза выглядит так, что то, что до этого было в файле world частично уже не нужно, но его ты так и не почистил, поэтому при следующем обновлении @world они будут заново установлены. Удобнее использовать https://wiki.gentoo.org/wiki//etc/portage/sets , а файл world держать пустым.

Не надо ожидать, что пакетный менеджер работает так же как в deb- или rpm-based дистибутивах: в gentoo при удалении пакета он самостоятельно не станет удалять осиротевшие зависимости; при удалении отдельной зависимости, не удалит зависящий от неё пакет.

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