Чистка зависимостей (world есть в Федоре?)
Модератор: Модераторы разделов
-
Eronex
- Сообщения: 106
- ОС: Ubuntu
Чистка зависимостей
Бвало в Дебиане удаляешь пакет, KDE например, а вместе с ним предлагается очистить остальной хлам, который тянулся зависимостями. Как нечто подобное сделать в Федоре? Пользуюсь yum'ом.
-
BIgAndy
- Сообщения: 1923
-
Vascom
- Сообщения: 1699
- ОС: Fedora 32
Re: Чистка зависимостей
Ещё есть утилита package-cleanup из пакета yum-utils.
-
Eronex
- Сообщения: 106
- ОС: Ubuntu
Re: Чистка зависимостей
Хорошо. Делаю:
Код: Выделить всё
# 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
-
arkhnchul
- Сообщения: 2284
- Статус: Толчковый инженер
- ОС: Debian, Fedora
Re: Чистка зависимостей
в смысле не та область? package-cleanup --leaves выводит список пакетов, поставленных как зависимости и больше не нужных ни одному пакету. Делаем yum remove `package-cleanup --leaves` и все. Там возможны косяки конечно, но не такие иж серьезные.
Losing is fun!
-
Ali1
- Сообщения: 2250
Re: Чистка зависимостей
Только будьте осторожны с yum remove `package-cleanup --leaves`
PS лучше yum erase --remove-leaves название_пакета
Живет в yum-plugin-remove-with-leaves.noarch
Код: Выделить всё
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-managerUnable 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: Чистка зависимостей
весьма странная вещь кстати. У меня он тоже порывается удалить libvirt. лечится принуительной установкой.
Losing is fun!
-
Eronex
- Сообщения: 106
- ОС: Ubuntu
Re: Чистка зависимостей
Да совсем не та область!
Код: Выделить всё
# 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Код: Выделить всё
# 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: Чистка зависимостей
А откуда система узнает, что это лишнее?
Если вы знаете что именно лишнее, то удалите это явно.
Если вы знаете что именно лишнее, то удалите это явно.
-
oper777
- Сообщения: 411
- ОС: gentoo
Re: Чистка зависимостей
Например в Gentoo имеется список пакетов, установленных непосредственно пользователем. Называется world.
Пакеты, установленные по зависимостям, не попадают в этот список. Поэтому при вызове emerge --depclean система проверяет, есть ли пакеты, которых нет в world и которые не являются зависимостями пакетов из world.
В Mandriva тоже есть подобный механизм, urpme --auto-orphans.
В Fedora/Centos такого не нашел. (не считая этого странного плагина remove-leaves)
-
sol13
- Сообщения: 54
- ОС: Debian Wheezy
-
Eronex
- Сообщения: 106
- ОС: Ubuntu
Re: Чистка зависимостей
Подведём итор: в Федоре нереализуема очистка от лишних неявно установленных пакетов.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Чистка зависимостей
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
ffldove
- Сообщения: 480
- Статус: Keep It Simple, Stupid
- ОС: RFRemix 14
Re: Чистка зависимостей
Это немного не то что хочет топикстартер (если я правильно понял).
Если использовать --remove-leaves с самого начала то лишних зависимостей не будет, если была когда то установлена зависимость и не удалена, то --remove-leaves ее не найдет.
I learned something today
-
Eronex
- Сообщения: 106
- ОС: Ubuntu
Re: Чистка зависимостей
Всё правильно Вы поняли
Думаю корень проблемы в том, что нету списка явно установленных пакетов в Федоре. Тогда вопрос: а будет ли когда нибудь?
-
Vascom
- Сообщения: 1699
- ОС: Fedora 32
Re: Чистка зависимостей
eronex писал(а): ↑26.10.2010 16:54Всё правильно Вы поняли
Думаю корень проблемы в том, что нету списка явно установленных пакетов в Федоре. Тогда вопрос: а будет ли когда нибудь?
Это надо у разработчиков rpm и yum спрашивать. Или создать такой плагин для yum. Например можно запостить это в багзиллу.
-
landgraf
- Сообщения: 2143
- Статус: *бунту ненавистник
- ОС: linux
Re: Чистка зависимостей
oper777
A в gentoo если установлено новое ядро (по обноаленияи), а собрано и загружено старое что произойдет?
Правильно, сорцы рабочего ядра будут снесены, если версия явно не указана в world. Так что тоже не все гладко.
A в gentoo если установлено новое ядро (по обноаленияи), а собрано и загружено старое что произойдет?
Правильно, сорцы рабочего ядра будут снесены, если версия явно не указана в world. Так что тоже не все гладко.
-
oper777
- Сообщения: 411
- ОС: gentoo
Re: Чистка зависимостей
Конечно. В мире нет ничего идеального.
Поэтому при удалении с помощью depclean можно воспользоваться ключом -p (pretend) или -a (ask). А при необходимости оставить сорцы ядра, этот пакет можно указать принудительно в package.provided.