LINUX.ORG.RU
ФорумTalks

«При удалении AmaroK»: пол-KDE установилось вместе с ним, не желаете удалить эти пакеты тоже?


0

1

Два года жду, а вообще, с первого знакомства с Linux. Чтобы пакетные менеджеры запоминали, какие пакеты установились по зависимостям с искомой программой, и при ее удалении, предлагали удалить и их тоже.

Где-то уже подобное реализовали?

Например в Федоре, если ставишь через гуй, удалять надо через терминал, так что да, остатки бывают, впрочем и dnf в каких-то ситуациях не всё выносит, помню такое было, причем autoremove тоже не отрабатывал, но без пруфов, сори.

papin-aziat ★★★★★
()
Ответ на: комментарий от alexmaru

Всегда работает. Если она у тебя много всего сносит, значит ты сначала поставил какой-то метапакет, потом снёс какой-то пакет, от которого зависит этот метапакет, вместе с метапакетом, потом autoremove предложило снести все пакеты, притянутые снесёным метапакетом. В бщем, годы идут, а RTFM остаётся в силе, никак не переводятся те, которые сначала делают, потом думают.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

ага, удаляешь какую-то фигню, которая притащила x11 и gnome, а оно такое - я там grub удалю, ок?

alexmaru
()

не лезь туда она тебя сожрёт! ты чё не понял!? я говорю не лезь! ААААА А АААААА!!!

если вы хотите установить мета-пакет который предполагает кучу зависимостей, при этом вы хотите получить минималистичную версию пакета — пишите билд-скрипты самостоятельно.

и вы сами лично столкнётесь с такой ситуацией, что нужная вам фича не работает, а чтобы она заработала, надо включить ещё один целый пакет в зависимость, в итоге от чего ушли, к тому и пришли.

либо ставьте кде5-мета и не смотрите вниз не смотрите на список пакетов.

вы посмотрите на историю изменений CRUX 3.5 - 3.6, жил да был себе уютненький core, пока в glibc не засунули зависимостью python3 — это «там», наверху постарались, а вместе с python3 до кучи sqlite3 и ещё тройку штук пакетов засунули в зависимости. и где этот уютненький CRUX теперь? а ничего не поделаешь!

Spoofing ★★★★★
()

вы посмотрите на историю изменений CRUX 3.5 - 3.6, жил да был себе уютненький core, пока в glibc не засунули зависимостью python3 — это «там», наверху постарались, а вместе с python3 до кучи sqlite3 и ещё тройку штук пакетов засунули в зависимости. и где этот уютненький CRUX теперь? а ничего не поделаешь!

!!!

…цензурных слов нет.

Этот GNU всё. Закапывайте. Пора валить на BSD?

wandrien ★★
()
Ответ на: комментарий от aplay

Я делаю: apt-get install amarok
И хочу, чтобы после: apt-get remove amarok
Все вернулось обратно. Чтобы apt запоминал список всех подтянутых пакетов при установке программы, и удалял их - при ее удалении. А если появились смежные зависимости поле установки новой программы - просто их пропустил, и удалял уже вместе с той программой. Все просто, очень. В итоге мусора = ноль.

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

Всё именно так и работает. О чем ты ноешь, непонятно.

Если ты притягиваешь опциональную зависимость, а потом удаляешь пакет, который её притянул, то она остаётся для других пакетов, у которых она опциональная. Если таких пакетов нет, то она удалятся.

Поведение настраивается в конфиге.

wandrien ★★
()
Ответ на: комментарий от wandrien

Так не работает, причем нигде.
А иначе он будет сносить те «опциональные» программы, которые я ставил сам/уже были предустановлены.
Нужно конкретно: запоминать список пакетов, которые притянула установка каждой программы. И удалять именно их. Так как иначе, для него совершенно без разницы, притянулась ли та или иная программа по зависимостям, либо же я ее устанавливал сам, и трогать ее совершенно не следует.

Moderators ★★
() автор топика

либо ставьте кде5-мета и не смотрите на список пакетов.

ну вот да, меня всегда поражали эти адепты минимализма, которые мечтают о чистом списке пакетиков и размере системы на пол гига меньше.

есть случаи, когда это необходимо (пк-обрезок с микросд), но в общем случае это героическое наживание себе глупых проблем, целью которого является решение этих проблем.

takino ★★★★★
()
Ответ на: комментарий от Moderators

Ну тебе же сказали - дебианопроблемы. Тот же Арч позволяет удалить прогу аж тремя способами.

  • удалить пакет, оставить все зависимости.
  • удалить пакет, оставить нужные другим пакетам зависимости.
  • удалить пакет и все зависимости к чертям собачьим, даже если это сломает полсистемы.

P.S. Есть еще более хардкорные способы удаления, но там вообще кровькишки, даже расписывать страшно.

qtm ★★★
()
Ответ на: комментарий от Moderators

Ты описал ровно то, что происходит в дебиане, убунте, росе, сусе. федоре, арче и многих других.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от qtm

Что будет, если я поставил Qt, который мне нужен, а потом Qt-программу, которая перестала быть нужна; При удалении ее пакета с зависимостями, удалится и Qt. А если бы был индивидуальный список пакетов, которые подтянулись при ее установке, то Qt бы в нем не было, потому что он был еще до ее установки. Соответственно, в «Списке подтянутых зависимостей» _LPD_ -List of program dependencies- его бы не было, и было удалено ровно то, что с ней подтянулось.

И да, просьба особо буйным не цепляться еще и к Qt, это всего лишь пример, а не холивар

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

а зачем Qt без единой программки на нем?

kott ★★★★★
()
Ответ на: комментарий от ncrmnt

Насколько я понял, LPD нигде не создается, поэтому все это бесполезно.

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

Что будет, если я поставил Qt, который мне нужен, а потом Qt-программу, которая перестала быть нужна

Если Qt требуется хоть одной другой проге, он не удалится. Если он никому не требуется, то его можно оставить принудительно, удалив при этом ненужную прогу. Но я надеюсь ты понимаешь, что пакеты-сироты - это ненужный хлам.

qtm ★★★
()
Ответ на: комментарий от qtm

Сказал же, не цепляться к Qt. Это простой пример. Но надеюсь, основной смысл ты понял. И как я понимаю, такого LPD нет нигде.

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

Что будет, если я поставил Qt, который мне нужен, а потом Qt-программу, которая перестала быть нужна; При удалении ее пакета с зависимостями, удалится и Qt. А если бы был индивидуальный список пакетов, которые подтянулись при ее установке, то Qt бы в нем не было, потому что он был еще до ее установки. Соответственно, в «Списке подтянутых зависимостей» LPD -List of program dependencies- его бы не было, и было удалено ровно то, что с ней подтянулось.

Что ты куришь? Хотя, нет. Не говори. Я не хочу знать про такое дерьмо.

Если ты поставил Qt вручную, то он и будет считаться установленным вручную. Пока ты явно не попросишь его удалить.

Тебе ман с выражением почитать вслух? Давай по порядку. Вот pacman:

       --asdeps
           Install packages non-explicitly; in other words, fake their install reason to be installed as a dependency. This is useful for makepkg and other
           build-from-source tools that need to install dependencies before building the package.

       --asexplicit
           Install packages explicitly; in other words, fake their install reason to be explicitly installed. This is useful if you want to mark a
           dependency as explicitly installed so it will not be removed by the --recursive remove operation.

Вот apt-mark:

       auto
           auto is used to mark a package as being automatically installed, which will cause the package to be removed when no more manually installed
           packages depend on this package.

       manual
           manual is used to mark a package as being manually installed, which will prevent the package from being automatically removed if no other
           packages depend on it.
wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)

это особо и не нужно. диски сейчас дешевые, интернет быстрый, оперативки тоже полно. Вон какую-то ерунду про крузис в vram рассказывают.

arrecck ★★★
()

вы посмотрите на историю изменений CRUX 3.5 - 3.6, жил да был себе уютненький core, пока в glibc не засунули зависимостью python3 — это «там», наверху постарались, а вместе с python3 до кучи sqlite3 и ещё тройку штук пакетов засунули в зависимости. и где этот уютненький CRUX теперь? а ничего не поделаешь!

Я тут сейчас обнаружил. polkit зависит от мозиловского интерпретатора JS.

Нахрена??

[root@ester etc]# pacman -Qi polkit
Название             : polkit
Версия               : 0.117-1
Описание             : Application development toolkit for controlling system-wide privileges
Архитектура          : x86_64
URL                  : https://www.freedesktop.org/wiki/Software/polkit/
Лицензии             : LGPL
Группы               : Нет
Предоставляет        : Нет
Зависит от           : glib2  pam  expat  systemd  js68
Доп. зависимости     : Нет
Требуется            : colord  gconf  lightdm  lxsession  modemmanager  networkmanager  polkit-gnome  rtkit  sysprof  udisks2
                       xfce4-session
Опционально для      : brltty  gparted  gsmartcontrol  systemd
Конфликтует с        : Нет
Заменяет             : Нет
Установленный размер : 1887,02 KiB
Сборщик              : Antonio Rojas <arojas@archlinux.org>
Дата сборки          : Пн 03 авг 2020 14:49:06
Дата установки       : Ср 16 сен 2020 16:20:19
Причина установки    : Установлен как зависимость другого пакета
Установочный скрипт  : No
Проверен             : SHA-256

[root@ester etc]# pacman -Qi js68
Название             : js68
Версия               : 68.12.0-1
Описание             : JavaScript interpreter and libraries - Version 68
Архитектура          : x86_64
URL                  : https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
Лицензии             : MPL
Группы               : Нет
Предоставляет        : Нет
Зависит от           : gcc-libs  readline  zlib  sh
Доп. зависимости     : Нет
Требуется            : polkit
Опционально для      : Нет
Конфликтует с        : Нет
Заменяет             : Нет
Установленный размер : 56,91 MiB
Сборщик              : Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Дата сборки          : Вт 01 сен 2020 22:06:24
Дата установки       : Ср 16 сен 2020 16:20:17
Причина установки    : Установлен как зависимость другого пакета
Установочный скрипт  : No
Проверен             : SHA-256

Давно это с ним?

Нахрена в компонент, отвечающий за аутентификацию и авторизацию, тащить здоровый интерпретатор скриптового языка с кучей потенциальных дыр? И зачем он там нужен?

Я уже нихрена не понимаю в этом гномостеке.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от Moderators

Так я и не цеплялся. Основной смысл в том, что нормальный пакетный менеджер и без всякого оверхеда способен определить нужен системе какой-то пакет или можно его смело сносить. Если же юзер решит, что какой-то пакет ему необходим, то он всегда может запретить пакетному менеджеру его удалять.

Но если тебе позарез нужно чтобы пакетный менеджер НЕ удалял зависимости, поставленные предварительно руками, то как минимум, pacman умеет и это. Apt вроде тоже, но я давно им не пользовался, у меня на него аллергия.

qtm ★★★
()
Ответ на: комментарий от qtm

Ходим по кругу, повторяя одно и тоже. Есть куча программ, которые по зависимостям притягивают вполне себе «самодостаточные» программы, и пока менеджер пакетов не будет держать список LPD, где будет указано, что они установлены зависимостью с таким_то пакетом, то при удалении этого пакета никакие «чистильщики» не помогут.

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

Ты дурной не понимаешь, что «самостоятельность» программ не написана на них самих, а определяется только тобой.

Что ты сказал ставить вручную, то и «самостоятельно». Что не говорил ставить вручную, то просто зависимости.

Проблема, о которой ты так важно рассуждаешь, не существует в реальности.

wandrien ★★
()
Ответ на: комментарий от Moderators

Что будет, если я поставил Qt, который мне нужен, а потом Qt-программу, которая перестала быть нужна; При удалении ее пакета с зависимостями, удалится и Qt.

Какой ПМ так себя ведёт? Чтоб знать.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Это случай удаления пакета со всеми зависимостями, когда apt может снести даже базовые компоненты ОС.

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

Странно, я давно не юзал Демьян, но пакеты на ручняке он не должен удалять, смысла нет. Другое дело метапакеты, вот тут да, улетит полсистемы, в Федоре также, группы удалять надо аккуратно.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Да, установленные вручную конкретные пакеты не должен. Просто как знал, что Qt не есть лучший пример. В особенности объясняя это тем, кто этим apt не пользуется и не видел какие непотребства там порой происходят при удалении пакетов со всеми зависимостями.

Moderators ★★
() автор топика
Ответ на: комментарий от papin-aziat

Да не слушай его, он сегодня курнул что-то не то. apt ведёт себя точно так же, как пакетный менеджер в Федоре и всех остальных дистрибутивах.

wandrien ★★
()
Ответ на: комментарий от wandrien

В rpm отказались от идеи метапакетов, так что какая-то разница есть, там отслеживание основано на файлах, а не пакетах.

ИМХО, apt мутный какой-то по сравнению с dnf, но это оценочное суждение.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

apt мутный, факт. Сам не люблю его.

Но разобраться можно, если нужно. В практическом плане фичи в нём есть.

wandrien ★★
()
Ответ на: комментарий от wandrien

Это из-за этой наркомании:

Rules files are written in the JavaScript programming language and interface with polkitd through the global polkit object (of type Polkit). While the JavaScript interpreter used in particular versions of polkit may support non-standard features (such as the let keyword), authorization rules must conform to ECMA-262 edition 5 (in other words, the JavaScript interpreter used may change in future versions of polkit).

https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html

А вот нафига выбрали для rules JavaScript – история болези умалчивает.

EXL ★★★★★
()
Ответ на: комментарий от Moderators

ты тогда еще не родился. мем уже настолько бородат... Оригинально мем был вообще о «bare» и «raw». А на просторах восточно-европейского комьюнити обрел вид «в ЛФС» и «в слаку»...

Jetty ★★★★★
()
Ответ на: комментарий от Moderators

Смотри, живой пример. Ставлю leafpad, который зависит от gtk2. Больше никому gtk2 не нужен.

Удаляю leafpad и gtk2 удаляется вместе с ним. Логично, правда?

Теперь делаю иначе. Ставлю gtk2. Потом ставлю leafpad.

Снова отдаю команду на удаление leafpad и… Тадам! Gtk2 остается в системе пакетом-сиротой.

Это pacman, если что.

Такое поведение тебе нужно? Оно есть из коробки.

qtm ★★★
()
Ответ на: комментарий от Moderators

Это на филосовский вопрос больше похоже. Вот поставил smplayer, который притянул mpv. Поигрался, понял что smplayer не нужен, хватит mpv. Сносишь smplayer и mpv улетает автоматом, идёшь писать злобный багрепорт. Возможно ПМ должен спрашивать, сносить ли то или это, но… юзкейс не особо насущный ящетаю.

kott ★★★★★
()
Ответ на: комментарий от qtm

Я уже устал писать тут это слово - amarok
Что поделать, это самый распространеннай кейс с которым сталкивались многие, и таким образом лучше поймут.
Ты же уже понял концепцию LPD, что опять?

Moderators ★★
() автор топика
Ответ на: комментарий от kott

Сносишь smplayer и mpv улетает автоматом, идёшь писать злобный багрепорт.

Багрепорт на счёт чего? Система корректно удалил зависимости.

wandrien ★★
()
Ответ на: комментарий от Moderators

Видать сталкивался только ты. Никто ничего не понял.

wandrien ★★
()
Ответ на: комментарий от kott

Мне вообще кажется, что это какая-то психологическая дебианопроблема из-за того, что там медленно ставятся пакеты, плюс к тому в репе каша, и зачастую вообще не очевидно, какое у пакета имя.

Даже если я удалю случайно лишнее, в арче поставить пакет из кэша занимает ровно столько, сколько распаковывается tar-архив.

wandrien ★★
()
Ответ на: комментарий от kott

В моем видении ровно так: ставишь человеку Ubuntu, показываешь центр приложений и говоришь - устанавливай-смотри программы мира Linux. Он играется. Далее, удаляем всю эту кашу установленных программ, и список пакетов приходит в прежний вид. Это кажется нереальным? Именно! Это так не работает. До прихода системы LPD.

Moderators ★★
() автор топика
Ответ на: комментарий от Moderators

До прихода системы LPD.

LSD?

Это кажется нереальным?

Крестись, если кажется.

wandrien ★★
()
Ответ на: комментарий от kott

Истории везде есть, и руками все это расчищать тоже возможно, но мы о другом.

Moderators ★★
() автор топика
Ответ на: комментарий от wandrien

Примерно везде. Это такой наброс или что?

Так это старая методика. Если не знаете как сделать X пишите на лоре «Линукс говно по-тому, что там нету X» и вам, облив говном, расскажут как сделать X.

RiseOfDeath ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.