Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Удаление пакета с зависимостями
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
serg_sk
Guru
Guru


Joined: 10 Jul 2004
Posts: 315
Location: Ukraine

PostPosted: Fri May 20, 2005 11:31 am    Post subject: Удаление пакета с зависимостями Reply with quote

Как такое можно осуществить? Например, при установке gdesklets-core он вытянул и поставил около 86 пакетов. Как мне теперь можно удалить gdesklets-core вместе с зависимостями? Порылся в man emerge... видимо у меня плохо с английским.
_________________
Sorry for my bad englilsh. :)
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel.
Back to top
View user's profile Send private message
Balancer
Guru
Guru


Joined: 04 Jun 2004
Posts: 465

PostPosted: Fri May 20, 2005 11:47 am    Post subject: Reply with quote

Насколько я понимаю, emerge этого не умеет.

Нужно искать сторонние утилиты.
Back to top
View user's profile Send private message
serg_sk
Guru
Guru


Joined: 10 Jul 2004
Posts: 315
Location: Ukraine

PostPosted: Fri May 20, 2005 11:48 am    Post subject: Reply with quote

Balancer wrote:
Насколько я понимаю, emerge этого не умеет.

Нужно искать сторонние утилиты.

Какие например? Я бы и сам потер по одному, если бы у меня полный список был, мне не в лом :)
_________________
Sorry for my bad englilsh. :)
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel.
Back to top
View user's profile Send private message
Double
Apprentice
Apprentice


Joined: 23 Apr 2004
Posts: 250
Location: Kislovodsk, Russia

PostPosted: Fri May 20, 2005 11:56 am    Post subject: Reply with quote

serg_sk wrote:
Balancer wrote:
Насколько я понимаю, emerge этого не умеет.

Нужно искать сторонние утилиты.

Какие например? Я бы и сам потер по одному, если бы у меня полный список был, мне не в лом :)

список есть в /var/log/emerge.log
Back to top
View user's profile Send private message
serg_sk
Guru
Guru


Joined: 10 Jul 2004
Posts: 315
Location: Ukraine

PostPosted: Fri May 20, 2005 12:24 pm    Post subject: Reply with quote

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
View user's profile Send private message
Balancer
Guru
Guru


Joined: 04 Jun 2004
Posts: 465

PostPosted: Fri May 20, 2005 12:29 pm    Post subject: Reply with quote

Code:

emerge gentoolkit

qpkg -I -nc gdesklets-core


Получишь полный список пакетов, от которых твой зависит.

Кстати, я только сейчас сообразил, что автоматически удалить все пакеты, от которых зависит данный нельзя. Он удалит всё до уровня system :D Нужно учитывать зависимости и других пакетов - задача не шибко тривиальная.

Удалить все пакеты, от которых зависит твой:
Code:
qpkg -I -nc gdesklets-core | xargs emerge -C


По идее - нужно збрасывать вывод qpkg в файл, править его ручками, и уже его скармливать xargs emerge -C
Back to top
View user's profile Send private message
Double
Apprentice
Apprentice


Joined: 23 Apr 2004
Posts: 250
Location: Kislovodsk, Russia

PostPosted: Fri May 20, 2005 12:29 pm    Post subject: Reply with quote

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
View user's profile Send private message
serg_sk
Guru
Guru


Joined: 10 Jul 2004
Posts: 315
Location: Ukraine

PostPosted: Fri May 20, 2005 12:37 pm    Post subject: Reply with quote

Ок. Будем пробовать :)
_________________
Sorry for my bad englilsh. :)
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel.
Back to top
View user's profile Send private message
YD
Guru
Guru


Joined: 30 Oct 2004
Posts: 466
Location: Riga, Latvia

PostPosted: Fri May 20, 2005 5:27 pm    Post subject: Reply with quote

Balancer не поможет.

У emerge есть опция --depclean, после удаления пакета можно ей воспользоваться, только очень аккуратно.
Back to top
View user's profile Send private message
serg_sk
Guru
Guru


Joined: 10 Jul 2004
Posts: 315
Location: Ukraine

PostPosted: Fri May 20, 2005 7:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
hlroad
Tux's lil' helper
Tux's lil' helper


Joined: 28 Sep 2004
Posts: 105

PostPosted: Fri May 20, 2005 8:37 pm    Post subject: Reply with quote

Собственно там есть две опции для таких целей:

emerge --depclean

и

emerge --purge

После первой система перехиодит в маловменяемое состояние с вероятностью 50%, после второй - с вероятностью 100% (ибо она выкашивает всякие automake и autoconf'ы).

Собственно со слотованными пакетами вообще бяда: ведь в portage указано какие слоты подходят для того или иного пакета, но не указано какие именно были использованы в данной конкретной инкарнации!
Back to top
View user's profile Send private message
YD
Guru
Guru


Joined: 30 Oct 2004
Posts: 466
Location: Riga, Latvia

PostPosted: Fri May 20, 2005 10:05 pm    Post subject: Reply with quote

Может --prune, а не purge?

так --depclean не надо запускать, только с -pv. А потом ручками составить список ненужного.
Back to top
View user's profile Send private message
hlroad
Tux's lil' helper
Tux's lil' helper


Joined: 28 Sep 2004
Posts: 105

PostPosted: Sat May 21, 2005 12:57 am    Post subject: Reply with quote

YD wrote:
Может --prune, а не purge?

Oops. Конечно. Просто на давно стоящей системе может быть куча пакетов, которые, в общем-то, никому не нужны, но которые --depclean не покажет (скажем штук 10 phpBB :)). Но поскольку --prune всегда сносит что-то поленое, то...
YD wrote:
так --depclean не надо запускать, только с -pv. А потом ручками составить список ненужного.

Угу. Хотя в теории ничего лишнего удалиться не должно, но... Но тут хотя бы иногда все правильно срабатывает...
Back to top
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Sat May 21, 2005 5:07 pm    Post subject: Reply with quote

после минутного размышления я пришёл к выводу, что удаление "остатков" пакета может быть автоматизировано и должно происходить в 2 стадии
1. Определение всех зависимостей от удаляемого пакета
2. Определение для каждого пакета, определённого в п.1 его "нужности" для дальнейшей работы системы, то есть проверка, зависит ли хотя бы один пакет в системе от данного
Back to top
View user's profile Send private message
Balancer
Guru
Guru


Joined: 04 Jun 2004
Posts: 465

PostPosted: Sat May 21, 2005 6:26 pm    Post subject: Reply with quote

fank wrote:
то есть проверка, зависит ли хотя бы один пакет в системе от данного


Нужно или заводить БД со связями _всех_ пакетов, или ЖУУТКО тормозить :)

Наверное, по хорошему, нужно работать с базой того же esearch :)
Back to top
View user's profile Send private message
serg_sk
Guru
Guru


Joined: 10 Jul 2004
Posts: 315
Location: Ukraine

PostPosted: Sat May 21, 2005 6:35 pm    Post subject: Reply with quote

Вообщем вывод такой, что emerge не очень комфортен при удалении :) Нужно держать список всего установленного, и если нужно снести все с зависимостями, то смотреть по списку и удалять. Или как говорил Balancer нужна база данных :)
_________________
Sorry for my bad englilsh. :)
irc.freenode.net #fluxbox-ru - Fluxbox russian speaking channel.
Back to top
View user's profile Send private message
hlroad
Tux's lil' helper
Tux's lil' helper


Joined: 28 Sep 2004
Posts: 105

PostPosted: Sat May 21, 2005 8:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
EdiG
n00b
n00b


Joined: 05 Apr 2005
Posts: 62
Location: Russia/Moscow

PostPosted: Sun May 22, 2005 9:07 am    Post subject: Reply with quote

Проще делать так
Code:

emerge -pv kde >> kde

потом просто меньше проблем с удалением будет
Back to top
View user's profile Send private message
fank
l33t
l33t


Joined: 16 Oct 2004
Posts: 794
Location: Minsk, Belarus

PostPosted: Sun May 22, 2005 1:20 pm    Post subject: Reply with quote

вообще говоря, это при большом желании можно сделать при помощи двух-трёх стандартных команд вроде emerge, equery и небольшого шелл-скрипта
если вызывать equery с ключом d, то будут показаны зависящие пакеты от данного
дальше, надеюсь, понятно?
Back to top
View user's profile Send private message
hlroad
Tux's lil' helper
Tux's lil' helper


Joined: 28 Sep 2004
Posts: 105

PostPosted: Sun May 22, 2005 9:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
GreenDragon
Guru
Guru


Joined: 31 Jul 2003
Posts: 319

PostPosted: Tue May 24, 2005 7:21 am    Post subject: Reply with quote

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
View user's profile Send private message
bukazoid
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2005
Posts: 86

PostPosted: Tue Jun 07, 2005 10:06 am    Post subject: Reply with quote


equery depgraph <имя пакета>

рисует дерево зависимостей
те что без зелёного были установлены как зависимости.
add
с emerge как с транзакциями в SQL работать можно ?
типа как бы удалил пакет с зависимостями ....
зделал emerge -D world ... посмотрел что нужного удалил ....
принял конечные изменения, в итоге нужные пакеты не были удалены :)
впринципе интересуют возможности отката ...
Back to top
View user's profile Send private message
YD
Guru
Guru


Joined: 30 Oct 2004
Posts: 466
Location: Riga, Latvia

PostPosted: Tue Jun 07, 2005 1:46 pm    Post subject: Reply with quote

FEATURES="buildpkg" или quickpkg
Самый надёжный откат :>
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum