LINUX.ORG.RU

автогенерация сетов

 , ,


0

1

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

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

я прикинул такую схему: перед началом установки во временный файл сохраняется вывод eix-installed -a, после завершения всех операций снова выполняется eix-installed -a, и дифф между новым выводом и временным файлом и будет этим самым сетом

но есть проблема: если одновременно запустить несколько экземпляров emerge, устанавливающих разные пакеты, то в эти автосеты попадут левые зависимости из параллельных установок

как этого избежать?


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

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

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

примеры таких пакетов? gentoo-sources?

anonymous
()

Фишка - если в paludis делать pretend uninstall, то он ещё и выведет пакеты, которые станут независимыми и при этом не включёными в world. Довольно полезно, так как позволяет систему держать полностью очищенной от «осиротевших» пакетов.

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

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

kostik87 ★★★★★
()

Почитал тред. У тебя и правда кривая система. Наведи порядок и используй emerge --depclean.

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

Еще:
- В Gentoo есть генерация сетов налету; то есть не файл с перечнем пакетов, а именно генерация - «динамические сеты». Типичные примеры - @preserved-rebuild и @smart-live-rebuild.
- В Gentoo работа с сетами поставлена отлично.

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

Наведи порядок и используй emerge --depclean

я не хочу наводить порядок, я хочу сеты

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

да, но это легко решаемо

В Gentoo работа с сетами поставлена отлично

нет - во многих конфигах можно прописывать только отдельные пакеты (в package.accept_keywords, например, сеты не пропишешь)

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

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

да, но это легко решаемо

Зачем решать то, что уже давно решено?

сеты не пропишешь

Уверен? Пробовал?
(я не знаю)

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

Зачем решать то, что уже давно решено?

если и решено, то неправильно

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

Define «сет».

Пользуйся emerge --depclean (а если ебилд неправильно подтягивает зависимости - делай багрепорт), не надо строить из себя такого особенного, которому это не подходит.

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

мне не надо

Вообще не вариант, portage довольно капризный менеджер пакетов, если не держать систему в порядке, потом чёрт ногу сломит в ней, проще переустановить систему будет, чем починить зависимости.

Если emerge --depclean ругается, значит нужно сделать emerge -uDN @world без вариантов.

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

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

emerge --depclean

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

ему через раз зависимости в моей системе не нравятся

Если ты в world файл пакеты не пишешь нужные тебе, то это не проблема --depclean, а твоя.

Зависимости он нормально отслеживает.

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

ему-ей этого не надо. ему-ей надо как в Винде.

Deleted
()

А вообще есть у меня для тебя альтернативное решение - форкни и допиши app-portage/demerge

Pinkbyte ★★★★★
()

автоматическая генерация сета

Это есть, но не для пользователя, а для системы.

перед началом установки во временный файл сохраняется вывод eix-installed -a, после завершения всех операций снова выполняется eix-installed -a, и дифф между новым выводом и временным файлом и будет этим самым сетом

Ты можешь сделать такую обёртку сам, но профита от этого не будет.

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

Зачем так делать?

сеты так криво реализованы

Сеты реализованы нормально, просто ты хочешь от них не того, для чего они предназначены.

emerge --depclean

ему через раз зависимости в моей системе не нравятся

На rolling-release нужно своевременно обновляться, чтобы не возникало таких и более сложных проблем.

Значит у Тебя кривая система.

это значит, что depclean не подходит

Это значит, что у тебя кривые руки и ты что-то делаешь (или хочешь делать) не так.

мне не надо

В таком случае свои хотелки реализовывай сам.

я не хочу наводить порядок, я хочу сеты

Продолжай хотеть. Под тебя одного никто подстраиваться не будет.

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

Под тебя одного никто подстраиваться не будет

а я кого-то просил? вместо своей простыни лучше бы на сабжевый вопрос ответил

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

штатное средство на этих задачах избыточно, мне не нужно елозить по всему /var/db/pkg десятки секунд

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

лучше бы на сабжевый вопрос ответил

Тебе уже дали верный ответ, но ты его отверг.

r3lgar ★★★★★
()
Ответ на: Анонимус не забывает! от anonymous

тогда я пропатчил portage, чтобы он сам каждый устанавливаемый пакет вносил в сет, но постоянно патчить portage неохота, тем более, что этот патч я где-то потерял

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