LINUX.ORG.RU

apt autoremove предлагает снести xfce

 , , ,


1

1

Всем привет! Вывод

pc@pc:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.2 (stretch)
Release:	9.2
Codename:	stretch
Дело вот в чем. После удаления стандартного файлового менеджера Thunar в xfce(не переношу его), с последующей заменой на nemo. После каждого действия с apt, он предлагает мне снести xfce полностью.
pc@pc:~$ sudo apt-get upgrade
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Расчёт обновлений… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  baloo-kf5 catdoc cups-client cups-pk-helper dns-root-data dnsmasq-base
  espeak-ng-data evince-gtk exfalso fonts-font-awesome gimp-data
  gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0 gir1.2-cogl-1.0
  gir1.2-coglpango-1.0 gir1.2-gnomekeyring-1.0 gir1.2-gst-plugins-base-1.0
  gir1.2-gstreamer-1.0 gir1.2-gtkclutter-1.0 gir1.2-gtksource-3.0
  gir1.2-json-1.0 gir1.2-keybinder-3.0 gir1.2-notify-0.7
  gir1.2-packagekitglib-1.0 gir1.2-wnck-3.0 gnome-orca gstreamer1.0-alsa
  gstreamer1.0-pulseaudio gtk2-engines-xfce hddtemp iputils-arping
  kactivities-bin kactivitymanagerd kinit kio-extras kio-extras-data
  kpackagelauncherqml kpackagetool5 libamd2 libatk-adaptor libbabl-0.1-0
  libburn4 libcamd2 libccolamd2 libcholmod3 libclutter-1.0-0
  libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0
  libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libdolphinvcs5
  libdotconf0 libenca0 libepub0 libespeak-ng1 libexiv2-14 libgegl-0.3-0
  libgimp2.0 libgjs0e libglib2.0-bin libgnome-autoar-0-0
  libgnome-autoar-common libgnome-keyring-common libgnome-keyring0
  libgpod-common libgpod4 libgtksourceview-3.0-1 libgtksourceview-3.0-common
  libgtksourceview2.0-0 libgtksourceview2.0-common libical2 libilmbase12
  libiptcdata0 libisofs6 libjim0.76 libjs-modernizr libjs-sphinxdoc
  libjs-underscore libjte1 libkeybinder-3.0-0 libkf5activities5 libkf5baloo5
  libkf5balooengine5 libkf5baloowidgets-bin libkf5baloowidgets5
  libkf5declarative-data libkf5declarative5 libkf5dnssd-data libkf5dnssd5
  libkf5filemetadata-bin libkf5filemetadata-data libkf5filemetadata3
  libkf5idletime5 libkf5js5 libkf5kcmutils-data libkf5kcmutils5
  libkf5khtml-bin libkf5khtml-data libkf5khtml5 libkf5package-data
  libkf5package5 libkf5pty-data libkf5pty5 libkf5quickaddons5 liblmdb0
  liblouis-data liblouis12 libmbim-glib4 libmbim-proxy libmetis5 libmm-glib0
  libmozjs-24-0 libmusicbrainz5-2 libmusicbrainz5cc2v5 libndp0 libnma0
  libopenexr22 libpackagekit-glib2-18 libpcaudio0 libpoppler-qt5-1
  libqmi-glib5 libqmi-proxy libqrencode3 libqt5quickwidgets5 libraw15
  libreoffice-gtk2 libsgutils2-2 libsonic0 libspeechd2 libssh-4 libstemmer0d
  libswscale4 libtagc0 libteamdctl0 libtidy5 libtracker-sparql-1.0-0
  libumfpack5 libunique-1.0-0 libwmf0.2-7 libwnck-3-0 libwnck-3-common
  libxfce4panel-2.0-4 libxfce4ui-utils libzip4 mobile-broadband-provider-info
  modemmanager mousepad network-manager network-manager-gnome orage packagekit
  packagekit-tools policykit-1-gnome python-chardet python-feedparser
  python-libxml2 python-musicbrainzngs python-mutagen python-pkg-resources
  python-pyinotify python-utidylib python3-brlapi python3-cairo
  python3-chardet python3-cups python3-cupshelpers python3-dbus python3-louis
  python3-pkg-resources python3-pyatspi python3-requests python3-six
  python3-smbc python3-speechd python3-urllib3 python3-xdg quodlibet ristretto
  speech-dispatcher speech-dispatcher-audio-plugins
  speech-dispatcher-espeak-ng sphinx-rtd-theme-common system-config-printer
  system-config-printer-common system-config-printer-udev usb-modeswitch
  usb-modeswitch-data xarchiver xbrlapi xfburn xfce4-appfinder
  xfce4-battery-plugin xfce4-clipman xfce4-clipman-plugin xfce4-cpufreq-plugin
  xfce4-cpugraph-plugin xfce4-datetime-plugin xfce4-diskperf-plugin
  xfce4-fsguard-plugin xfce4-genmon-plugin xfce4-mailwatch-plugin
  xfce4-mount-plugin xfce4-netload-plugin xfce4-notes xfce4-notes-plugin
  xfce4-power-manager xfce4-power-manager-data xfce4-power-manager-plugins
  xfce4-pulseaudio-plugin xfce4-screenshooter xfce4-sensors-plugin
  xfce4-smartbookmark-plugin xfce4-systemload-plugin xfce4-taskmanager
  xfce4-timer-plugin xfce4-verve-plugin xfce4-wavelan-plugin
  xfce4-weather-plugin xfce4-whiskermenu-plugin xfce4-xkb-plugin xsane
  xsane-common
Для их удаления используйте «sudo apt autoremove».
Установка Thunar по новой не помогает. Как это вылечить? Заранее спасибо! Всем мир!

ты удалил thunar, от которого зависит метапакет xfce4, следовательно он будет удалён
а так как всё остальное имеет флаг автоматической установки по зависимости, будет удалено в след за xfce4
тебе надо пометить все эти пакеты как установленные вручную.
наиболее быстрый способ:

sudo aptitude unmarkauto '?reverse-depends(^xfce4$)'
потом удаляй thunar

Deleted ()
Последнее исправление: hellcat (всего исправлений: 1)
Ответ на: комментарий от massimus

Других пакетных менеджеров при тех же репозиториях быть не может принципиально?

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

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

угадай, какой у тебя дистрибутив после этих действий?

Да мне накласть, как это будет называться. Что ты так задрачиваешься на слово «дистрибутив»? «дистрибутив — это пакетный менеджер и репозиторий», «какой у тебядистрибутив»... Если уж на то пошло, у меня вообще не дистрибутив, у меня установленная система минус то, что мне не нужно, плюс то, чего в дистрибутиве нет. Слово distribute в словарике глянь.

есть формат deb пакетов, хочешь улучшений — делай другой формат

А есть формат rpm, и для него точно есть несколько пакетных менеджеров (в том числе apt в альте, как я уже упоминал). Чем deb такой особенный, что под него ничего кроме апта быть не может? Ты вот прям стопицоттыщепроцентно уверен, что не может? А если найду?

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

Чем deb такой особенный

тем, что любая реализация менеджера для deb пакетов будет работать с форматом deb пакетов Карл.
граф зависимостей, хуки, скрипты — всё это не из астрала берётся и не будет зависеть от того, что ты используешь apt или напишешь свой yapt. результат будет один и тот же.

system-root ★★★ ()
Ответ на: комментарий от meliafaro

Апт такой апт.

А ваш пакетный менеджер что, не удаляет пакеты, ранее притянутые по зависимостям, но более никому не нужные? Копите мусор?

anonymous ()

Идиотская реализация метапакетов в debian/ubuntu, если хочешь получить нормалную систему - нужно ставить с netinstall'а и вручную накатывать нужные пакеты, не пользуясь метапакетами.

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

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

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

Они одинакого работают - apt autoremove package тоже удаляет пакет и его зависимости (которые не требуются другим установленным пакетам).

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

В дебиане/убунте когда ты ставишь метапакет получается помойка - ты не можешь удалить те пакеты, которые прописаны в его «важных» зависмостях - тогда удалится весь метапакет. Если же удаляешь пакет из рекомендуемых зависимостей - удаляется только он, а то что он притащил в систему - нет. На счет последнего не совсем уверен, возможно вмновата кривая реализация установки с livecd (маркировка пакетов). Например, если удалить transmission-gtk - transmission-common и еще несколько не нужных пакетов останутся в системе, autoremove их не обнаружит.

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

Никакого метапакета не ставиться - только выбранные пакеты и их зависимости.

Неправильно выразился - метапакет, наверное, ставится, но суть, думаю, ясна.

anonymous ()

Была похожая история с Apt'ом, только наоборот. Он забывал удалить зависимости. Например, я установил пакет, с ним установилось еще 3 пакета как зависимости. Удаляю пакет, а по зависимостям удаляется только один пакет и 2 остаются в системе. Оказалось, проблема в дефолтных настройках.

Решение тут: https://unix.stackexchange.com/questions/55425/aptitude-doesnt-remove-automat...

Tuxman ()
Ответ на: комментарий от anonymous

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

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

если моск применять, все ок.

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

но вообще, спасибо, провернул предложенное (только apt-mark'ом без aptitiude), предварительно перемаркировав все на auto, теперь зависимости корректно удаляются.

anonymous ()
Ответ на: комментарий от system-root

ты можешь хоть emerge в дебиан вкарячить и мир пересобрать, только вот угадай, какой у тебя дистрибутив после этих действий?

После такого изврата, дистрибутив твой станет как минимум слакой, а как максимум просто помойкой.

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

Была похожая история с Apt'ом, только наоборот. Он забывал удалить зависимости.

кроме зависимостей в deb ещё бывает suggestion и recommend
так вот, они по умолчанию ставятся и не удаляются

Deleted ()
Ответ на: комментарий от Tuxman

можно добавить и recommends:

Apt::AutoRemove::RecommendsImportant "false";
Apt::AutoRemove::SuggestsImportant "false";

Он забывал удалить зависимости

в основном, поправка была к тому, что это - не зависимости

Deleted ()
Ответ на: комментарий от massimus

Это будет уже не дебиан.

Смотри: дистрибутив — по русски поставка. За поставку отвечает в первую очередь ПМ. Нет АПТ, не дебиана.

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

mandala ★★★★ ()