View previous topic :: View next topic |
Author |
Message |
serg_sk Guru
Joined: 10 Jul 2004 Posts: 315 Location: Ukraine
|
Posted: Fri May 20, 2005 11:31 am Post subject: Удаление пакета с зависимостями |
|
|
Как такое можно осуществить? Например, при установке gdesklets-core он вытянул и поставил около 86 пакетов. Как мне теперь можно удалить gdesklets-core вместе с зависимостями? Порылся в man emerge... видимо у меня плохо с английским. _________________ Sorry for my bad englilsh.
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel. |
|
Back to top |
|
|
Balancer Guru
Joined: 04 Jun 2004 Posts: 465
|
Posted: Fri May 20, 2005 11:47 am Post subject: |
|
|
Насколько я понимаю, emerge этого не умеет.
Нужно искать сторонние утилиты. |
|
Back to top |
|
|
serg_sk Guru
Joined: 10 Jul 2004 Posts: 315 Location: Ukraine
|
Posted: Fri May 20, 2005 11:48 am Post subject: |
|
|
Balancer wrote: | Насколько я понимаю, emerge этого не умеет.
Нужно искать сторонние утилиты. |
Какие например? Я бы и сам потер по одному, если бы у меня полный список был, мне не в лом _________________ Sorry for my bad englilsh.
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel. |
|
Back to top |
|
|
Double Apprentice
Joined: 23 Apr 2004 Posts: 250
|
Posted: Fri May 20, 2005 11:56 am Post subject: |
|
|
serg_sk wrote: | Balancer wrote: | Насколько я понимаю, emerge этого не умеет.
Нужно искать сторонние утилиты. |
Какие например? Я бы и сам потер по одному, если бы у меня полный список был, мне не в лом |
список есть в /var/log/emerge.log |
|
Back to top |
|
|
serg_sk Guru
Joined: 10 Jul 2004 Posts: 315 Location: Ukraine
|
Posted: Fri May 20, 2005 12:24 pm Post subject: |
|
|
Double wrote: | serg_sk wrote: | Balancer wrote: | Насколько я понимаю, emerge этого не умеет.
Нужно искать сторонние утилиты. |
Какие например? Я бы и сам потер по одному, если бы у меня полный список был, мне не в лом |
список есть в /var/log/emerge.log |
Я знаю, но недавно сделал cat /dev/null > /var/log/emerge.log, ибо он был слишком большой. _________________ Sorry for my bad englilsh.
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel. |
|
Back to top |
|
|
Balancer Guru
Joined: 04 Jun 2004 Posts: 465
|
Posted: Fri May 20, 2005 12:29 pm Post subject: |
|
|
Code: |
emerge gentoolkit
qpkg -I -nc gdesklets-core
|
Получишь полный список пакетов, от которых твой зависит.
Кстати, я только сейчас сообразил, что автоматически удалить все пакеты, от которых зависит данный нельзя. Он удалит всё до уровня system Нужно учитывать зависимости и других пакетов - задача не шибко тривиальная.
Удалить все пакеты, от которых зависит твой:
Code: | qpkg -I -nc gdesklets-core | xargs emerge -C |
По идее - нужно збрасывать вывод qpkg в файл, править его ручками, и уже его скармливать xargs emerge -C |
|
Back to top |
|
|
Double Apprentice
Joined: 23 Apr 2004 Posts: 250
|
Posted: Fri May 20, 2005 12:29 pm Post subject: |
|
|
serg_sk wrote: | Double wrote: | serg_sk wrote: | Balancer wrote: | Насколько я понимаю, emerge этого не умеет.
Нужно искать сторонние утилиты. |
Какие например? Я бы и сам потер по одному, если бы у меня полный список был, мне не в лом |
список есть в /var/log/emerge.log |
Я знаю, но недавно сделал cat /dev/null > /var/log/emerge.log, ибо он был слишком большой. |
ОО! большой это сколько интересно?
>/var/log/emerge.log покороче будет |
|
Back to top |
|
|
serg_sk Guru
Joined: 10 Jul 2004 Posts: 315 Location: Ukraine
|
Posted: Fri May 20, 2005 12:37 pm Post subject: |
|
|
Ок. Будем пробовать _________________ Sorry for my bad englilsh.
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel. |
|
Back to top |
|
|
YD Guru
Joined: 30 Oct 2004 Posts: 466 Location: Riga, Latvia
|
Posted: Fri May 20, 2005 5:27 pm Post subject: |
|
|
Balancer не поможет.
У emerge есть опция --depclean, после удаления пакета можно ей воспользоваться, только очень аккуратно. |
|
Back to top |
|
|
serg_sk Guru
Joined: 10 Jul 2004 Posts: 315 Location: Ukraine
|
Posted: Fri May 20, 2005 7:00 pm Post subject: |
|
|
Code: | qpkg -I -nc gdesklets-core |
Выдал мне только одно название, тобишь gdesklets-core Но с его помощью я узнал все что у меня установлено, вообщем потыкаю сначала через emerge --depclean с ключиком -p А потом остальное вручную _________________ Sorry for my bad englilsh.
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel. |
|
Back to top |
|
|
hlroad Tux's lil' helper
Joined: 28 Sep 2004 Posts: 105
|
Posted: Fri May 20, 2005 8:37 pm Post subject: |
|
|
Собственно там есть две опции для таких целей:
emerge --depclean
и
emerge --purge
После первой система перехиодит в маловменяемое состояние с вероятностью 50%, после второй - с вероятностью 100% (ибо она выкашивает всякие automake и autoconf'ы).
Собственно со слотованными пакетами вообще бяда: ведь в portage указано какие слоты подходят для того или иного пакета, но не указано какие именно были использованы в данной конкретной инкарнации! |
|
Back to top |
|
|
YD Guru
Joined: 30 Oct 2004 Posts: 466 Location: Riga, Latvia
|
Posted: Fri May 20, 2005 10:05 pm Post subject: |
|
|
Может --prune, а не purge?
так --depclean не надо запускать, только с -pv. А потом ручками составить список ненужного. |
|
Back to top |
|
|
hlroad Tux's lil' helper
Joined: 28 Sep 2004 Posts: 105
|
Posted: Sat May 21, 2005 12:57 am Post subject: |
|
|
YD wrote: | Может --prune, а не purge?
|
Oops. Конечно. Просто на давно стоящей системе может быть куча пакетов, которые, в общем-то, никому не нужны, но которые --depclean не покажет (скажем штук 10 phpBB ). Но поскольку --prune всегда сносит что-то поленое, то...
YD wrote: | так --depclean не надо запускать, только с -pv. А потом ручками составить список ненужного. |
Угу. Хотя в теории ничего лишнего удалиться не должно, но... Но тут хотя бы иногда все правильно срабатывает... |
|
Back to top |
|
|
fank l33t
Joined: 16 Oct 2004 Posts: 794 Location: Minsk, Belarus
|
Posted: Sat May 21, 2005 5:07 pm Post subject: |
|
|
после минутного размышления я пришёл к выводу, что удаление "остатков" пакета может быть автоматизировано и должно происходить в 2 стадии
1. Определение всех зависимостей от удаляемого пакета
2. Определение для каждого пакета, определённого в п.1 его "нужности" для дальнейшей работы системы, то есть проверка, зависит ли хотя бы один пакет в системе от данного |
|
Back to top |
|
|
Balancer Guru
Joined: 04 Jun 2004 Posts: 465
|
Posted: Sat May 21, 2005 6:26 pm Post subject: |
|
|
fank wrote: | то есть проверка, зависит ли хотя бы один пакет в системе от данного |
Нужно или заводить БД со связями _всех_ пакетов, или ЖУУТКО тормозить
Наверное, по хорошему, нужно работать с базой того же esearch |
|
Back to top |
|
|
serg_sk Guru
Joined: 10 Jul 2004 Posts: 315 Location: Ukraine
|
Posted: Sat May 21, 2005 6:35 pm Post subject: |
|
|
Вообщем вывод такой, что emerge не очень комфортен при удалении Нужно держать список всего установленного, и если нужно снести все с зависимостями, то смотреть по списку и удалять. Или как говорил Balancer нужна база данных _________________ Sorry for my bad englilsh.
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel. |
|
Back to top |
|
|
hlroad Tux's lil' helper
Joined: 28 Sep 2004 Posts: 105
|
Posted: Sat May 21, 2005 8:26 pm Post subject: |
|
|
serg_sk wrote: | Вообщем вывод такой, что emerge не очень комфортен при удалении Нужно держать список всего установленного, и если нужно снести все с зависимостями, то смотреть по списку и удалять. Или как говорил Balancer нужна база данных |
Ага - как зайцу стоп-сигнал она нужна. Список всего установленного имеется в /var/db/pkg, однако. Зависимости там тоже есть. Собственно на основании этой информации --depclean и работает. Но... не все зависимости там описаны, да. Скажем в файле kdelibs-3.4.0-r2.ebuild нписано:
Code: |
RDEPEND="
...
openexr? ( >=media-libs/openexr-1.2 )
..."
|
А вот в kdelibs-3.3.2-r9.ebuild такой строчки нету. Значит ли это, что openexr можно снести если используется KDE 3.3.2 ? Чёрта с два: это ошибка в .ebuild'е: если openxr установлен, то kdelibs 3.3.2 его находит и использует! Возможно когда-то эту ошибку и исправят, но... установленных пакетов это уже не коснется. А что касается слотовых пакетов - там вообще швах. Скажем если у меня стоит mod_perl 2.0.0rc6, perl 5.8.5 и perl 5.8.6. Могу я какой-нибудь из perl'ов снести ? А это зависит от того, в каком порядке всё это ставилось... В базе в любом случае будет одна и та же информация записана - за исключением списка файлов, конечно.
Короче обучать emerge автоматически что-то сносить - это работка примерно такого же уровня сложности, как и обучение его автоматически чего-то ставить. Но поскольку нужда в ней на два порядка маньше, то... имеем то, что имеем. |
|
Back to top |
|
|
EdiG n00b
Joined: 05 Apr 2005 Posts: 62 Location: Russia/Moscow
|
Posted: Sun May 22, 2005 9:07 am Post subject: |
|
|
Проще делать так
Code: |
emerge -pv kde >> kde |
потом просто меньше проблем с удалением будет |
|
Back to top |
|
|
fank l33t
Joined: 16 Oct 2004 Posts: 794 Location: Minsk, Belarus
|
Posted: Sun May 22, 2005 1:20 pm Post subject: |
|
|
вообще говоря, это при большом желании можно сделать при помощи двух-трёх стандартных команд вроде emerge, equery и небольшого шелл-скрипта
если вызывать equery с ключом d, то будут показаны зависящие пакеты от данного
дальше, надеюсь, понятно? |
|
Back to top |
|
|
hlroad Tux's lil' helper
Joined: 28 Sep 2004 Posts: 105
|
Posted: Sun May 22, 2005 9:26 pm Post subject: |
|
|
fank wrote: | вообще говоря, это при большом желании можно сделать при помощи двух-трёх стандартных команд вроде emerge, equery и небольшого шелл-скрипта
если вызывать equery с ключом d, то будут показаны зависящие пакеты от данного
дальше, надеюсь, понятно? |
Совершенно непонятно. Чем это --depclean будет отличаться, спрашивается ? И сможет ли твой скриптик разобраться с чдесами типа таких:
Code: |
ruby-1.8.2-r1.ebuild :
RDEPEND="...
>=dev-ruby/ruby-config-0.3
..."
ruby-config-0.3.ebuild:
PDEPEND="virtual/ruby"
|
--depclean не может . Ибо вместо норального алгоритми сборки мусора, похоже, refcounting использует... |
|
Back to top |
|
|
GreenDragon Guru
Joined: 31 Jul 2003 Posts: 319
|
Posted: Tue May 24, 2005 7:21 am Post subject: |
|
|
serg_sk wrote: | Code: | qpkg -I -nc gdesklets-core |
|
Не совсем в тему
Code: | * The qpkg and etcat tools are deprecated in favor of equery and
* are no longer installed in /usr/bin in this release. |
|
|
Back to top |
|
|
bukazoid Tux's lil' helper
Joined: 21 Jan 2005 Posts: 86
|
Posted: Tue Jun 07, 2005 10:06 am Post subject: |
|
|
equery depgraph <имя пакета>
рисует дерево зависимостей
те что без зелёного были установлены как зависимости.
add
с emerge как с транзакциями в SQL работать можно ?
типа как бы удалил пакет с зависимостями ....
зделал emerge -D world ... посмотрел что нужного удалил ....
принял конечные изменения, в итоге нужные пакеты не были удалены
впринципе интересуют возможности отката ... |
|
Back to top |
|
|
YD Guru
Joined: 30 Oct 2004 Posts: 466 Location: Riga, Latvia
|
Posted: Tue Jun 07, 2005 1:46 pm Post subject: |
|
|
FEATURES="buildpkg" или quickpkg
Самый надёжный откат :> |
|
Back to top |
|
|
|