installierte, nur vorgeschlagene Pakete auflisten

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
wheezytester

installierte, nur vorgeschlagene Pakete auflisten

Beitrag von wheezytester » 24.06.2014 00:19:33

Hallo,

wie kann ich diejenigen installierten Pakete auflisten, die nur aufgrund von vorgeschlagenen Abhängigkeiten installiert sind? Also von keinem Paket zwingend benötigt werden aber trotzdem mit autoremove nicht entfernt werden.

Beste Grüße

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von Blackbox » 24.06.2014 02:06:49

Hallo,

ich würde es anders herum konfigurieren, so, dass vorgeschlagene Pakete nur angezeigt, aber nicht automatisch installiert werden.

Dazu ist die Datei:

Code: Alles auswählen

/etc/apt/apt.conf
notwendig, diese musst du gegebenenfalls selber erstellen und mit deinen Wunschparametern befüllen.

Hilfestellung kann erst einmal die Manualpage geben.

Code: Alles auswählen

man apt.conf
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

pferdefreund
Beiträge: 3792
Registriert: 26.02.2009 14:35:56

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von pferdefreund » 24.06.2014 06:28:37

Ist schon wahr mit der apt.conf - hilft aber nicht, wenn ein System schon Jahre alt ist und man mal aufräumen will. Werde mich auch mal damit befassen - vermutlich geht das irgendwie mit dpkg, aptitutude, apt-get oder sonst was in der Richtung.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von peschmae » 24.06.2014 09:11:27

Ich bin mir nicht sicher, ob das überhaupt so getrennt vermerkt wird, oder ob die Pakete dann einfach als "vom User installiert" gelten.

Ich mache bei mir eine Kombination aus er von @Blackbox vorgeschlagenen konfiguration und zwischendurch mal Debiandebfoster laufen lassen.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

wheezytester

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von wheezytester » 24.06.2014 11:44:44

Blackbox hat geschrieben:Hallo,
ich würde es anders herum konfigurieren, so, dass vorgeschlagene Pakete nur angezeigt, aber nicht automatisch installiert werden.
Das ist doch IMHO das Standardverhalten.
pferdefreund hat geschrieben:Ist schon wahr mit der apt.conf - hilft aber nicht, wenn ein System schon Jahre alt ist und man mal aufräumen will. Werde mich auch mal damit befassen - vermutlich geht das irgendwie mit dpkg, aptitutude, apt-get oder sonst was in der Richtung.
Genau darum geht es mir. Ich will mal wieder ausmisten. Ich habe mein System so oft umgekrempelt, dh. verschiedenste Desktop-Umgebungen installiert, dann deinstalliert, so dass ich viele Paketleichen installiert habe die ich eigentlich nicht brauche. Normalerweise zeigt synaptic ja die nicht mehr benötigten Pakete im Statuseintrag "automatisch entfernbar" an, welche ich auch regelmäßig entferne.

Mir sind aber in letzter Zeit öfters Pakete aufgefallen, die unter (automatisch) "Installiert" aufgelistet waren, und nach manuellem Entfernen, kein weiteres abhängiges Paket deinstallieren wollten. Nach genauerem hinsehen waren das immer Pakete die von einem bereits installierten Paket unter "vorgeschlagene Abhängigkeiten" aufgelistet waren.
peschmae hat geschrieben:Ich bin mir nicht sicher, ob das überhaupt so getrennt vermerkt wird, oder ob die Pakete dann einfach als "vom User installiert" gelten.
Ich mache bei mir eine Kombination aus er von @Blackbox vorgeschlagenen konfiguration und zwischendurch mal Debiandebfoster laufen lassen.
MfG Peschmä
Debfoster habe ich mir mal angeschaut, werde aber noch nicht ganz schlau daraus.

Beste Grüße
wheezytester

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von smutbert » 24.06.2014 13:25:20

Ein kleines Skript kann die Pakete ausgeben, die von anderen installierten Paketen nur empfohlen oder vorgeschlagen werden. Ich habe da ein kleines häßliches Skript geschrieben, das genau das macht:

Code: Alles auswählen

#!/bin/bash

for paket in $(apt-mark showauto)
do
	if [ "$(apt-cache --installed --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances rdepends ${paket} | wc -l)" -eq "2" ]
	then
		if [ "$(apt-cache --installed --no-depends --no-conflicts --no-breaks --no-replaces --no-enhances rdepends ${paket} | wc -l)" -eq "2" ]
			then
				echo "${paket} wird vermutlich wegen indirekter Abhängigkeiten (provides) benötigt"
			else
				#apt-cache --installed --no-depends rdepends ${paket}
				paketliste+=("${paket}")
			fi
	fi
done

echo -e "\nfolgende Pakete könnten vielleicht deinstalliert werden:\n${paketliste[@]}"
Was das Skript macht ist schnell erklärt:
Es geht von der Liste automatisch installierter Pakete aus und überprüft ob in den reverse-depends installierte Pakete vorkommen, die Pakete also wirklich notwendig sind. Bei den offensichtlich nicht notwendigen Pakete überprüft es ob es installierte Empfehlungen oder Vorschläge gibt (eigentlich muss es das ja, aber es gibt auch indirekte Abhängigkeiten → siehe "Aber Achtung!") und gibt zum Schluß eine Liste der nicht notwendigen Pakete aus.

Aber Achtung!
Neben dem Schönheitsfehler, dass das Durchforsten der reverse-depends recht lange dauert, hat mein Skript auch noch den Nachteil, dass es mitunter einzelne Pakete auflistet, die sich gar nicht nebenwirkungsfrei deinstallieren lassen und zwar wenn es zB um Abhängigkeiten von "provides"-Paketen geht.

Ein Beispiel:
Debianclaws-mail-pgpmime ist bei mir automatisch installiert und es hängt kein Paket direkt davon ab, aber ich habe auch das Paket Debianclaws-mail-pgpinline installiert, das von claws-mail-pgpcore abhängt. Dieses Paket existiert aber gar nicht, sondern wird von Debianclaws-mail-pgpmime zur Verfügung gestellt.
Gerade dieses Beispiel filtere ich in meinem Skript heraus, indem ich auf installierte Empfehlungen überprüfe, würde aber zusätzlich ein weiteres Paket Debianclaws-mail-pgpmime empfehlen oder vorschlagen, dann würde mein Skript das Paket auflisten obwohl man es nicht deinstallieren kann ohne weitere Pakete zu deinstallieren.

So eine Konstellation ist hoffentlich selten, aber vertraut der Liste keinesfalls blind!

Wollte man solche indirekten Abhängigkeiten ebenfalls komplett berücksichtigen, müsste man wohl deutlich mehr Aufwand treiben, weil es nicht genügen würde einfach nur die reverse-depends zu durchforsten, aber zumindest bekommt man einen Anhaltspunkt welche Pakete man vielleicht gar nicht (mehr) benötigt.


und wenn ihr mein Skript ausführt, tut es bitte nicht als root! Ich bin mir zwar nicht bewußt irgendwelche potentiell gefährlichen Befehle eingebaut zu haben, aber man weiß ja nie.
Zuletzt geändert von smutbert am 25.06.2014 14:03:50, insgesamt 1-mal geändert.

wheezytester

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von wheezytester » 25.06.2014 13:54:45

smutbert hat geschrieben:Ein kleines Skript kann die Pakete ausgeben, die von anderen installierten Paketen nur empfohlen oder vorgeschlagen werden. Ich habe da ein kleines häßliches Skript geschrieben, das genau das macht:
Danke, das hilft schon mal sehr weiter. Bin die Liste manuell durchgegangen und habe Verzichtbares deinstalliert oder Benötigtes auf manuell installiert gesetzt. Pakete bei denen ich unsicher bin ob sie mein System bei einer Entfernung zerschießen könnten lasse ich wie sie sind.

Allerdings scheint das Skript nicht alles zu finden. Bei mir ist zum Beispiel das Paket console-setup installiert und als automatisch markiert. Eine Deinstallation ließe sich ohne weitere übergeordnete Abhängigkeiten deinstallieren, so dass es vom oben genannten Skript eigentlich aufgelistet werden müsste. Tut es aber nicht.

Beste Grüße
wheezytester

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von smutbert » 25.06.2014 14:08:17

console-setup wäre bei dir problemlos deinstallierbar? Ohne console-setup hat man auf den VTs keine richtige Tastaturbelegung, UTF8 funktioniert wahrscheinlich nicht und wahrscheinlich noch so einiges mehr.

Aber egal du hast einen weiteren Bug gefunden :THX:
Es gibt ein paar weitere Felder, die mein Skript nicht richtig berücksichtigt (conflicts, replaces, enhances, breaks). Ich habe jetzt im Skript im vorigen Post die beiden apt-cache-Befehle angepaßt und damit sollte bei dir console-setup in der Liste auftauchen — deinstallieren würde ich es an deiner Stelle trotzdem nicht, ich würde es eher als manuell installiert markieren entweder mit synaptic oder auf der Kommandozeile:

Code: Alles auswählen

apt-mark manual console-setup

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von Inkodiktus » 05.07.2014 19:42:25

Der allgemeine Tipp hier ist, mach von Anfang an richtig und installiere was du brauchst.
Hattest du keine eigene Partition für Home?
Sonst würde ich zu einer raten, da so etwas immer besser ist, wenn man grad keine Ahnung hat, was es nun hat.

Zum Script, ist nicht schlecht, zeigt aber das:

Code: Alles auswählen

alsa-utils aspell-de aspell-de-alt ca-certificates cmus-plugin-ffmpeg colord enchant feh fonts-droid fonts-vlgothic freepats geoip-database ghostscript gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gtk2-engines hunspell-en-us ingerman javascript-common libaacs0 libglib2.0-data libgphoto2-l10n libgtk2.0-bin libjpeg-progs libjs-jquery libpam-ck-connector libpaper-utils libsane-extras libsasl2-modules libvisual-0.4-plugins lsb-release myspell-de-de openssh-blacklist openssh-blacklist-extra os-prober sane-utils tcpd ttf-dejavu unzip wngerman xfonts-terminus xml-core xserver-xorg-input-wacom
kann ich das alles deinstallieren?
Habe/benutze keine Wacom. Unzip würde ich schon gerne benutzen. :)
Ich habe aber keinen Scanner.
ffmpeg benutze ich zum Desktop aufnehmen und konvertieren.
Java benutze ich gar nicht, eigentlich.

kannst du mir raten oder muss ich selber alles ausprobieren und es deinstallieren?
Wird es dann nicht gleich alles deinstalliert?

Danke und Gruß
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von smutbert » 06.07.2014 10:57:10

Von den Abhängigkeiten her sollten sich diese Pakete problemlos deinstallieren lassen, aber sie werden eben von anderen Paketen, zT nicht ohne Grund, empfohlen oder vorgeschlagen. Ich tue mir natürlich schwer vorherzusagen, ob dir ein bestimmtes Paket fehlen würde und ich denke mit den Paketbeschreibungen kannst du dir das meiste selbst zusammenreimen, aber bei ein paar kann ich dir vielleicht helfen:
  • aspell-de aspell-de-alt ingerman wngerman sind deutsche Wörterbücher für die Rechtschreibkorrektur und hunspell-en-us ist ein englisches Wörterbuch. Ich würde alle installiert lassen.
  • libsane-extras sane-utils ersteres bietet Scannertreiber für einige eher seltene Modelle zweiteres saned (den Server zum Scannen über das Netzwerk) und einige weitere tools, die man normalerweise nicht benötigt.
    Ohne scanner kannst du eigentlich alles, was mit sane zu tun hat deinstallieren - auch Pakete, die nicht in dieser Liste sind.
  • libpam-ck-connector würde ich speziell unter Wheezy installiert lassen - unter jessie wird es vielleicht bald überflüssig.
  • colord das ist ein Dämon für das Farbmanagement
  • gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad wirst du wahrscheinlich behalten wollen, weil dir sonst vielleicht einige Video-/Audio-Codecs fehlen.
  • alsa-utils
    Da ist zB der alsamixer drin. Solange auf der grafischen Oberfläche alles funktioniert braucht man den vielleicht nicht, aber bei Problemen oder wenn man ein Skript schreiben will, das etwas mit Audio zu tun hat, will man diese Tools schon behalten.
  • os-prober
    Der erstellt Menüeinträge für andere installierte Betriebssysteme. Ich erstelle die lieber selbst manuell, aber wenn du das nicht willst, kannst du in deinstallieren.
  • gtk2-engines
    Engines und Themes für gtk2 - ohne kann es passieren, dass gtk2-Anwendungen etwas häßlich aussehen.
  • ghostscript
    Braucht man für pdf und Postscript. Darauf komplett zu verzichten halte ich fast für unmöglich.
Den Wacom Treiber brauchst du natürlich nicht, wenn du kein so ein Grafiktablett hast. Bei den Schriftarten (fonts-…, xfonts-…, ttf-…) musst du es wissen, aber wenn nach der Deinstallation eine Anwendunge häßlich oder ungewohnt aussieht, kannst du sie ja wieder installieren.

Dass du unzip behalten willst, hast du ja schon selbst festgestellt.

Das Skript zeigt übrigens, wie gesagt, nur automatisch installierte Pakete an. Du könntest also die Pakete, die du behalten willst, als manuell installiert markieren, dann kommt garantiert niemand mehr auf die Idee sie automatisch zur Deinstallation vorzuschlagen. Für die Pakete, die ich behalten würde, könnte ein entsprechender Befehl so aussehen:

Code: Alles auswählen

apt-mark manual alsa-utils aspell-de aspell-de-alt hunspell-en-us ingerman libpam-ck-connector myspell-de-de ttf-dejavu unzip wngerman xfonts-terminus gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad ghostscript
Diese Pakete und deren Abhängigkeiten tauchen danach nicht mehr in der Ausgabe meines Skripts auf, was die Liste bereits etwas übersichtlicher machen sollte.
Zuletzt geändert von smutbert am 07.07.2014 18:25:59, insgesamt 1-mal geändert.

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: installierte, nur vorgeschlagene Pakete auflisten

Beitrag von Inkodiktus » 07.07.2014 17:53:57

smutbert: besten dank! :THX:
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

Antworten