LinuxForum.Fans
Тема

Объясните принцип работы с пакетными менеджерами.

Автор: DarkDigger 15 сообщений 2060 просмотров
#315983

В общем я запутался... Приведу пример с Fedora и его yum.
Например захотел какую-то прогу, пишу в консоле:
yum install PROGA
Мне в ответ установите ещё 10 зависимостей. Да не вопрос! Проходит месяц, Прога надоела/нашёл более лучшею, пишу
yum remove PROGA. Прога удалилась, но те 10 зависимых пакетов-то остались. И нужны они были только для PROGA...Или для ново установленных других. Прошёл год, перепробовал 100 разных прог, часть удалил, часть осталось, сколько ненужных пакетов в системе? Есть конечно выход записывать все доп пакеты...
Это правильно и забить, пусть будут в системе и участвовать в обновлениях? Или нет? Объясните пожалуйста...

#315988
"DarkDigger" написал:
Это правильно и забить

Сейчас поступаю именно так. Плюс интернеты позволяют.
Системе от этого всё равно ни жарко ни холодно.

Если поставить и вскоре удалить, то зависимости можно и записать куда-нибудь в текстовый файл.

#315989
text
# slackpkg info package
# slackpkg clean-system

не дают забивать на ненужные пакеты :)

#315991

verg, как-то не верится, что rpm-based менеджеры пакетов не могут «чистить» систему от «мусора».
P.S. В Gentoo это просто ;)

#315992
"Lupo Alberto" написал:
verg, как-то не верится, что rpm-based менеджеры пакетов не могут «чистить» систему от «мусора».

Могут. Правда только те у кого это заведено или кому это нужно.


Например во всяких мандривах/магеях решает команда:

text
# urpme --auto-orphans

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


В openSUSE этим просто не заморачиваются. (замечено)
Хотя и имеется команда, которая выполняет эту работу:

text
# zypper remove --clean-deps ПАКЕТ
#315995

Пример для openSUSE (пакет deluge):

text
# zypper remove deluge
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Разрешение зависимостей пакетов...

Будет УДАЛЁН следующий пакет: deluge

1 пакет для удаления. После этой операции будет освобождено 10,9 MiB. Продолжить? [y/n/?] (y): n

text
# zypper remove --clean-deps deluge
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Разрешение зависимостей пакетов...

Будут УДАЛЕНЫ следующие пакеты: deluge libmikmod2 libSDL_image-1_2-0 libSDL_mixer-1_2-0 libSDL_ttf-2_0-0 libtorrent-rasterbar6 python-Beaker python-chardet python-distribute python-libtorrent-rasterbar python-Mako python-MarkupSafe python-notify python-pam python-pygame python-pyOpenSSL python-pyserial python-Twisted python-xdg python-zope.interface

20 пакетов для удаления. После этой операции будет освобождено 48,2 MiB. Продолжить? [y/n/?] (y): n

#315997
"verg" написал:
Пример для openSUSE (пакет deluge)

Вот в этом и проявляется «кошмар зависимостей». Если удалять пакеты с зависимостями, то удаляются и пакеты, от которых зависит еще что-то - а в примере наверняка от питоньих пакетов еще что-то зависит. Ну, да вы и сами правильно заметили:

и имеется возможность сломать систему
А рекурсивно проверять зависимости не получится - тогда (теоретически) возможна такая ситуация, что невозможно что-то удалить - зависмости слишком хитро перекрещиваются, в такой ситуации снос половины системы - дело очень вероятное...
#315998
"verg" написал:
просто не заморачиваются. (замечено)

В том числе и из-за того, что об этой команде не трубят при удобном случае.
Жизнь в неведении =) И тем про сломанные системы из-за удалённых зависимостей нет.

#316022

Спасибо за ответы. В федоре надо доустановить
yum install yum-plugin-remove-with-leaves
и пользоваться
yum remove --remove-leaves pkgname
Стрёмно что-то :)
Интересно, что подразумевается под "осиротевшими" пакетами. Пакеты от которых не зависят другие?

#316023

DarkDigger, пакеты, просто висящие в системе без надобности (например, библиотеки удалённого verg deluge)

#316024
"DarkDigger⇓" написал:
Интересно, что подразумевается под "осиротевшими" пакетами. Пакеты от которых не зависят другие?

Те, которые ставились не как самостоятельные пакеты, а как зависимости, IMHO.

#316026

Дык это вряд ли можно выяснить)
Я кстати не думал что это решаемо. Навеяло тем что искал одну прогу и устанавливал/удалял много вариантов. И прозрел от количества установленных доп пакетов)

#316029
"verg" написал:
Только ей пользоваться не все могут сразу правильно и имеется возможность сломать систему

Лучше её в контексте urpmq вызывать сначала. У меня оно однажды предлагало вынести Xfce, при сносе какой-то мелочи.

#316049
DarkDigger написал:
В общем я запутался... Приведу пример с Fedora и его yum.
Например захотел какую-то прогу, пишу в консоле:
yum install PROGA
Мне в ответ установите ещё 10 зависимостей. Да не вопрос! Проходит месяц, Прога надоела/нашёл более лучшею, пишу
yum remove PROGA. Прога удалилась, но те 10 зависимых пакетов-то остались. И нужны они были только для PROGA...Или для ново установленных других. Прошёл год, перепробовал 100 разных прог, часть удалил, часть осталось, сколько ненужных пакетов в системе? Есть конечно выход записывать все доп пакеты...
Это правильно и забить, пусть будут в системе и участвовать в обновлениях? Или нет? Объясните пожалуйста...

http://www.ibm.com/developerworks/ru/library/l-lpic1-v3-102-5/
Может здесь ответ? *WALL*

Войдите или зарегистрируйтесь, чтобы ответить.