Чистка зависимостей (world есть в Федоре?)

Cent OS, Scientific Linux

Модератор: Модераторы разделов

Аватара пользователя
Eronex
Сообщения: 106
ОС: Ubuntu

Чистка зависимостей

Сообщение Eronex »

Бвало в Дебиане удаляешь пакет, KDE например, а вместе с ним предлагается очистить остальной хлам, который тянулся зависимостями. Как нечто подобное сделать в Федоре? Пользуюсь yum'ом.
Спасибо сказали:
BIgAndy
Сообщения: 1923

Re: Чистка зависимостей

Сообщение BIgAndy »

eronex писал(а): ↑
12.10.2010 10:08
Бвало в Дебиане удаляешь пакет, KDE например, а вместе с ним предлагается очистить остальной хлам, который тянулся зависимостями. Как нечто подобное сделать в Федоре? Пользуюсь yum'ом.

yum remove сделает все автоматом ..
yum deplist -расскажет
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Чистка зависимостей

Сообщение Vascom »

Ещё есть утилита package-cleanup из пакета yum-utils.
Спасибо сказали:
Аватара пользователя
Eronex
Сообщения: 106
ОС: Ubuntu

Re: Чистка зависимостей

Сообщение Eronex »

BIgAndy писал(а): ↑
12.10.2010 10:13
eronex писал(а): ↑
12.10.2010 10:08
Бвало в Дебиане удаляешь пакет, KDE например, а вместе с ним предлагается очистить остальной хлам, который тянулся зависимостями. Как нечто подобное сделать в Федоре? Пользуюсь yum'ом.

yum remove сделает все автоматом ..
yum deplist -расскажет

Хорошо. Делаю:

Код: Выделить всё

# yum remove eclipse-cdt
Загружены модули: presto, refresh-packagekit
Подготовка к удалению
Разрешение зависимостей
--> Проверка сценария
---> Пакет eclipse-cdt.i686 1:6.0.2-5.fc13 помечен для удаления
--> Проверка зависимостей окончена

Зависимости разрешены

==============================================================================
 Пакет                          Архитектура             Версия                             Репозиторий                 Размер
==============================================================================
Удаление:
 eclipse-cdt                    i686                    1:6.0.2-5.fc13                     @updates                     29 M

Результат операции
==============================================================================
Remove        1 Package(s)

Будет установлено: 29 M
Продолжить? [y/N]:

Потом:

Код: Выделить всё

# yum deplist eclipse-cdt
Загружены модули: presto, refresh-packagekit
Поиск зависимостей:
пакет: eclipse-cdt.i686 1:6.0.2-5.fc13
  зависимость: automake
   provider: automake.noarch 1.11.1-1.fc13
  зависимость: gdb
   provider: gdb.i686 7.1-18.fc13
   provider: gdb.i686 7.1-34.fc13
  зависимость: eclipse-rse >= 3.0
   provider: eclipse-rse.noarch 3.1.1-3.fc13
  зависимость: gcc-c++
   provider: gcc-c++.i686 4.4.4-2.fc13
   provider: gcc-c++.i686 4.4.4-10.fc13
  зависимость: make
   provider: make.i686 1:3.81-18.fc12
   provider: make.i686 1:3.81-19.fc13
  зависимость: libtool
   provider: libtool.i686 2.2.6-20.fc13
  зависимость: eclipse-platform >= 1:3.5.0
   provider: eclipse-platform.i686 1:3.5.2-1.fc13
   provider: eclipse-platform.i686 1:3.5.2-2.fc13
  зависимость: eclipse-platform
   provider: eclipse-platform.i686 1:3.5.2-1.fc13
   provider: eclipse-platform.i686 1:3.5.2-2.fc13
  зависимость: autoconf
   provider: autoconf.noarch 2.65-1.fc13
пакет: eclipse-cdt.i686 1:6.0.1-7.fc13
  зависимость: automake
   provider: automake.noarch 1.11.1-1.fc13
  зависимость: gdb
   provider: gdb.i686 7.1-18.fc13
   provider: gdb.i686 7.1-34.fc13
  зависимость: eclipse-rse >= 3.0
   provider: eclipse-rse.noarch 3.1.1-3.fc13
  зависимость: gcc-c++
   provider: gcc-c++.i686 4.4.4-2.fc13
   provider: gcc-c++.i686 4.4.4-10.fc13
  зависимость: make
   provider: make.i686 1:3.81-18.fc12
   provider: make.i686 1:3.81-19.fc13
  зависимость: eclipse-platform >= 1:3.5.0
   provider: eclipse-platform.i686 1:3.5.2-1.fc13
   provider: eclipse-platform.i686 1:3.5.2-2.fc13
  зависимость: eclipse-platform
   provider: eclipse-platform.i686 1:3.5.2-1.fc13
   provider: eclipse-platform.i686 1:3.5.2-2.fc13
  зависимость: autoconf
   provider: autoconf.noarch 2.65-1.fc13

Вот это, eclipse-platform.i686 -- свободная зависимость, чего не скажешь о gcc-c++.i686. К сожалению, я так и не увидел чёткой схемы получения списка готовых к очистке пакетов.
Спасибо сказали:
Аватара пользователя
Eronex
Сообщения: 106
ОС: Ubuntu

Re: Чистка зависимостей

Сообщение Eronex »

Vascom писал(а): ↑
12.10.2010 10:42
Ещё есть утилита package-cleanup из пакета yum-utils.

Спасибо, но не та область задачь.

Нужно что-то наподобие emerge -av --depclean, или aptitude'ной разрешаловки зависимостей, которая помечает на удаление неиспользуемые больше пакеты.
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Чистка зависимостей

Сообщение arkhnchul »

в смысле не та область? package-cleanup --leaves выводит список пакетов, поставленных как зависимости и больше не нужных ни одному пакету. Делаем yum remove `package-cleanup --leaves` и все. Там возможны косяки конечно, но не такие иж серьезные.
Losing is fun!
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: Чистка зависимостей

Сообщение Ali1 »

Только будьте осторожны с yum remove `package-cleanup --leaves`

Код: Выделить всё

package-cleanup --leaves
Загружены модули: presto, refresh-packagekit
....
libvirt-0.8.2-1.fc12.x86_64
....
[ali@aliCQ ~]sudo yum remove libvirt-0.8.2-1.fc12.x86_64
......

Удалено:
  libvirt.x86_64 0:0.8.2-1.fc12

Готово!
[ali@aliCQ ~]$ sudo virt-manager


Unable to open connection to hypervisor URI 'qemu:///system':
не удалось подключиться к «/var/run/libvirt/libvirt-sock». Возможно, надо запустить libvirtd: Нет такого файла или каталога


PS лучше yum erase --remove-leaves название_пакета
Живет в yum-plugin-remove-with-leaves.noarch
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Чистка зависимостей

Сообщение arkhnchul »

весьма странная вещь кстати. У меня он тоже порывается удалить libvirt. лечится принуительной установкой.
Losing is fun!
Спасибо сказали:
Аватара пользователя
Eronex
Сообщения: 106
ОС: Ubuntu

Re: Чистка зависимостей

Сообщение Eronex »

arkhnchul писал(а): ↑
12.10.2010 11:07
в смысле не та область? package-cleanup --leaves выводит список пакетов, поставленных как зависимости и больше не нужных ни одному пакету. Делаем yum remove `package-cleanup --leaves` и все. Там возможны косяки конечно, но не такие иж серьезные.

Да совсем не та область! :)

Код: Выделить всё

# package-cleanup --leaves
Загружены модули: presto, refresh-packagekit
libdwarf-0.20100629-1.fc13.i686
libertas-usb8388-firmware-5.110.22.p23-4.fc13.noarch
libqalculate-devel-0.9.7-2.fc13.i686
libsane-hpaio-3.10.6-1.fc13.i686
libtool-2.2.6-20.fc13.i686
libxml-devel-1.8.17-24.fc12.i686
xcalib-0.8-7.fc12.i686

А лишнего ещё как минимум вот это, после удаления eclipse-cdt:

Код: Выделить всё

# yum list *eclipse*
Загружены модули: presto, refresh-packagekit
Установленные пакеты
eclipse-emf.noarch                                            2.5.0-4.fc12                                           @fedora
eclipse-platform.i686                                         1:3.5.2-2.fc13                                         @updates
eclipse-rcp.i686                                              1:3.5.2-2.fc13                                         @updates
eclipse-rse.noarch                                            3.1.1-3.fc13                                           @fedora
eclipse-swt.i686                                              1:3.5.2-2.fc13                                         @updates
icu4j-eclipse.i686                                            1:4.0.1-5.fc13                                         @fedora
tomcat5-jasper-eclipse.noarch                                 5.5.27-7.4.fc12                                        @fedora
и это, после удаления ufraw:

Код: Выделить всё

# yum list *dcraw*
Загружены модули: presto, refresh-packagekit
Доступные пакеты
dcraw.i686                                                     9.04-1.fc13                                            updates
gallery2-dcraw.noarch                                          2.3.1-1.fc13                                           fedora


И много ещё чего лишнего в системе, а способ очистки пока к сожалению не нашёл :(
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Чистка зависимостей

Сообщение Vascom »

А откуда система узнает, что это лишнее?
Если вы знаете что именно лишнее, то удалите это явно.
Спасибо сказали:
Аватара пользователя
oper777
Сообщения: 411
ОС: gentoo

Re: Чистка зависимостей

Сообщение oper777 »

Vascom писал(а): ↑
24.10.2010 20:00
А откуда система узнает, что это лишнее?
Если вы знаете что именно лишнее, то удалите это явно.


Например в Gentoo имеется список пакетов, установленных непосредственно пользователем. Называется world.
Пакеты, установленные по зависимостям, не попадают в этот список. Поэтому при вызове emerge --depclean система проверяет, есть ли пакеты, которых нет в world и которые не являются зависимостями пакетов из world.

В Mandriva тоже есть подобный механизм, urpme --auto-orphans.

В Fedora/Centos такого не нашел. (не считая этого странного плагина remove-leaves)
Спасибо сказали:
Аватара пользователя
sol13
Сообщения: 54
ОС: Debian Wheezy

Re: Чистка зависимостей

Сообщение sol13 »

oper777 писал(а): ↑
25.10.2010 10:46
Vascom писал(а): ↑
24.10.2010 20:00
А откуда система узнает, что это лишнее?
Если вы знаете что именно лишнее, то удалите это явно.


В Mandriva тоже есть подобный механизм, urpme --auto-orphans.


но он тоже порой некорректно работает, удаляет порой нужные пакеты.
Спасибо сказали:
Аватара пользователя
Eronex
Сообщения: 106
ОС: Ubuntu

Re: Чистка зависимостей

Сообщение Eronex »

Подведём итор: в Федоре нереализуема очистка от лишних неявно установленных пакетов.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Чистка зависимостей

Сообщение sash-kan »

Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
ffldove
Сообщения: 480
Статус: Keep It Simple, Stupid
ОС: RFRemix 14

Re: Чистка зависимостей

Сообщение ffldove »


Это немного не то что хочет топикстартер (если я правильно понял).
Если использовать --remove-leaves с самого начала то лишних зависимостей не будет, если была когда то установлена зависимость и не удалена, то --remove-leaves ее не найдет.
I learned something today
Спасибо сказали:
Аватара пользователя
Eronex
Сообщения: 106
ОС: Ubuntu

Re: Чистка зависимостей

Сообщение Eronex »

ffldove писал(а): ↑
26.10.2010 16:49

Это немного не то что хочет топикстартер (если я правильно понял).
Если использовать --remove-leaves с самого начала то лишних зависимостей не будет, если была когда то установлена зависимость и не удалена, то --remove-leaves ее не найдет.
Всё правильно Вы поняли :)
Думаю корень проблемы в том, что нету списка явно установленных пакетов в Федоре. Тогда вопрос: а будет ли когда нибудь?
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Чистка зависимостей

Сообщение Vascom »

eronex писал(а): ↑
26.10.2010 16:54
ffldove писал(а): ↑
26.10.2010 16:49

Это немного не то что хочет топикстартер (если я правильно понял).
Если использовать --remove-leaves с самого начала то лишних зависимостей не будет, если была когда то установлена зависимость и не удалена, то --remove-leaves ее не найдет.
Всё правильно Вы поняли :)
Думаю корень проблемы в том, что нету списка явно установленных пакетов в Федоре. Тогда вопрос: а будет ли когда нибудь?

Это надо у разработчиков rpm и yum спрашивать. Или создать такой плагин для yum. Например можно запостить это в багзиллу.
Спасибо сказали:
Аватара пользователя
landgraf
Сообщения: 2143
Статус: *бунту ненавистник
ОС: linux

Re: Чистка зависимостей

Сообщение landgraf »

oper777
A в gentoo если установлено новое ядро (по обноаленияи), а собрано и загружено старое что произойдет?
Правильно, сорцы рабочего ядра будут снесены, если версия явно не указана в world. Так что тоже не все гладко.
Спасибо сказали:
Аватара пользователя
oper777
Сообщения: 411
ОС: gentoo

Re: Чистка зависимостей

Сообщение oper777 »

landgraf писал(а): ↑
17.11.2010 08:59
oper777 Так что тоже не все гладко.


Конечно. В мире нет ничего идеального.

Поэтому при удалении с помощью depclean можно воспользоваться ключом -p (pretend) или -a (ask). А при необходимости оставить сорцы ядра, этот пакет можно указать принудительно в package.provided.
Спасибо сказали: