linux_joy
Anmeldungsdatum: 6. Februar 2008
Beiträge: 636
|
Hallo! 1) Als Ergänzung zum Befehl list hätte ich hier noch die Option --all-versions (Kurzform: -a ) für "alle verfügbaren Versionen". 2) Als Ergänzung zum Abschnitt "Vergleiche apt-get/apt" (welchen man dann wohl auch entsprechend umbenennen bzw. erweitern sollte) hätte ich hier noch diese Gegenüberstellung aus Die Debian-Paketverwaltungswerkzeuge, Abschnitt "8.1.2 APT", welche zusätzlich apt-cache mit einbezieht: (...) Seit Debian Jessie gibt es für einige häufig verwendete apt-get- und apt-cache-Befehle ein entsprechendes Äquivalent, das neue Binärprogramm apt. Das bedeutet, dass bekannte Befehle wie apt-get update, apt-get install, apt-get remove, apt-cache search oder apt-cache show jetzt auch einfach über apt aufgerufen werden können, also mit Befehlen wie apt update, apt install, apt remove, apt search oder apt show. Hier ein Überblick über die alten und neuen Befehle: apt-get update → apt update apt-get upgrade → apt upgrade apt-get dist-upgrade → apt full-upgrade apt-get install package → apt install package apt-get remove package → apt remove package apt-get autoremove → apt autoremove apt-cache search string → apt search string apt-cache policy package → apt list -a package apt-cache show package → apt show package apt-cache showpkg package → apt show -a package
Das Werkzeug apt vereint Funktionalitäten von apt-get und apt-cache und hat eine nette farbige Ausgabedarstellung, somit ist es für den Benutzer angenehmer zu bedienen. Zur Verwendung in Skripten oder in fortgeschrittenen Anwendungsfällen könnte apt-get trotzdem noch empfehlenswert oder nötig sein. (...)
3) Als neuen Befehl (ich weiß jetzt nicht, ob er hier hinein oder woandershin gehört), hätte ich hier noch auto-apt aus APT Howto, Abschnitt "5.3 Pakete nach Bedarf installieren ":
Sie kompilieren gerade ein Programm, und es gibt einen Fehler, da eine .h Datei gebraucht wird, die Sie nicht haben. Das Programm auto-apt kann Sie vor solchen Szenarios bewahren. Es fragt, ob es die benötigten Pakete installieren soll, nachdem es den betroffenden Prozess gestoppt hat und führt ihn fort, wenn die relevanten Pakete installiert sind. Der Befehl sieht folgendermassen aus: root@linux # auto-apt run Kommando Wobei Kommando das Kommando ist, das ausgeführt werden soll und evtl. nicht vorhandene Dateien benötigt. Beispiel: root@linux # auto-apt run ./configure Es wird fragen, ob die benötigten Pakete installiert werden sollen, und apt-get automatisch aufrufen. Wenn X läuft, ersetzt eine grafische Oberfläche die übliche Text-Oberfläche. Auto-apt funktioniert mit einer Datenbank welche aktuell gehalten werden muss, um effektiv zu funktionieren. Das erreicht man mit den Kommandos auto-apt update, auto-apt updatedb und auto-apt update-local.
|
seriousness
Anmeldungsdatum: 22. Juni 2009
Beiträge: 198
|
Hallo, unter Ubuntu Studio 20.04 gibt es eine neue Option, die noch nicht in der Manpage dokumentiert ist. Sie lautet apt autopurge und entspricht dem Aufruf apt autoremove --purge . Rechtfertigt das eine Ergänzung des Wikis?
|
noisefloor
Ehemaliger
(Themenstarter)
Anmeldungsdatum: 6. Juni 2006
Beiträge: 28316
|
Hallo, die Frage ist eher, warum es nicht dokumentiert ist. Vergessen? Unwahrscheinlich, aber nicht unmöglich. "Inoffizieller" Befehl, der jederzeit wieder "weg" sein kann? Könnte sein. Von daher würde ich es _nicht_ aufnehmen wollen. Zumal das ja jetzt auch nix ist, was neu ist. Man tippt halt nur ein paar Zeichen weniger. Gruß, noisefloor
|
BillMaier
Supporter
Anmeldungsdatum: 4. Dezember 2008
Beiträge: 6389
|
noisefloor schrieb:
Von daher würde ich es _nicht_ aufnehmen wollen.
+1 apt dist-upgrade macht auch irgendwas , ist aber nicht dokumentiert und steht deshalb genau so auch im Artikel. Und wenn es nicht dokumentiert ist, sollte man in diesem Fall die Finger davon lassen. Denn das, was dokumentiert ist, reicht schon, um einem auf die Füße zu fallen. wers nicht glaubt: 9277411 ff Schöne Grüße!
|
HasserDesErfolges
Anmeldungsdatum: 19. August 2010
Beiträge: 138
|
https://www.it-swarm.com.de/de/command-line/apt-full-upgrade-vs-apt-get-dist-upgrade/960928343/ finde ich historisch interessant. "1) dist-upgrade wird in Debian (nicht Ubuntu) verwendet. Es ist Teil des Prozesses, von einer Version zur nächsten zu migrieren, z. B. von Stretch zu Buster. Der nächste Befehl in Ubuntu ist do-release-upgrade. 2) Zu Beginn der Ubuntu-Entwicklung vor einem Jahrzehnt tauchte ein zweiter Grund für die Verwendung von dist-upgrade auf: Kernel-Upgrades fielen nicht unter eine normale upgrade -Definition für die Zeit (den Paketnamen einer Abhängigkeit) Änderungen), so war es für viele Jahre üblich, dist-upgrade in Ubuntu zu verwenden, um Kernel-Pakete zu aktualisieren. Dieses Kernel-Workflow-Problem wurde vor Jahren mit der Einführung von full-upgrade behoben, aber viele ältere Benutzer haben immer noch die Angewohnheit, dist-upgrade zu verwenden, und geben den veralteten Rat an Ihre Kinder weiter. Seit 2016 war dist-upgrade ein Anachronismus in Ubuntu, nur weil apt-Pakete ohne viel Patching von Debian nach Ubuntu synchronisiert werden - niemand hat einen guten Grund gefunden, den Befehl während der Synchronisierung zu entfernen."
|
UlfZibis
Anmeldungsdatum: 13. Juli 2011
Beiträge: 2726
|
Im Artikel steht im Zusammenhang mit dist-upgrade und full-upgrade : Bei nicht mehr benötigten Abhängigkeiten werden gegebenenfalls auch Pakete entfernt.
Das ist nicht meine Erfahrung. Nicht mehr benötigte Abhängigkeiten werden lediglich aufgelistet und sudo apt autoremove empfohlen. Vermutlich ist eher folgendes gemeint: Bei Abhängigkeits-Konflikten werden gegebenenfalls auch für weniger wichtig gehaltene Pakete entfernt.
In man apt steht dazu: full-upgrade (apt-get(8))
full-upgrade verrichtet die Funktion von »upgrade«, wird aber auch installierte Pakete
entfernen, falls dies erforderlich ist, um ein Upgrade des Systems als Ganzes
durchzuführen.
In man apt-get jedoch: dist-upgrade
dist-upgrade enthält zusätzlich zu der Funktion von upgrade einen intelligenten
Mechanismus zur Auflösung von geänderten Paketabhängigkeiten in den neuen
Paketversionen. apt-get hat ein »intelligentes« Konfliktauflösungssystem und es wird
versuchen, Upgrades der wichtigsten Pakete, wenn nötig zu Lasten der weniger wichtigen,
durchzuführen. Aufgrunddessen könnte der dist-upgrade-Befehl einige Pakete entfernen.
Die /etc/apt/sources.list-Datei enthält eine Liste von Orten, von denen gewünschte
Paketdateien abgerufen werden. Siehe auch apt_preferences(5) für einen Mechanismus zum
Außerkraftsetzen der allgemeinen Einstellungen für einzelne Pakete. Da könnte es also Unterschiede zu geben, oder die man-Dokumentation ist unvollständig.
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 7816
|
UlfZibis schrieb: […] In man apt steht dazu: […]
In man apt-get jedoch: […] Da könnte es also Unterschiede zu geben
Die beiden Programme apt und apt-get unterscheiden sich vor allem in den Voreinstellungen, mit denen die einzelnen Befehle aufgerufen werden. Will heißen: apt X und apt-get X führen zwar beide denselben Code X aus, jedoch in unterschiedlichen Programmumgebungen und deshalb werden sich auch die Ergebnisse unterscheiden. Somit kann/darf man Erfahrungen, die man z.B. mit apt-get X gemacht hat, nicht auf apt X übertragen und umgekehrt! Was apt bzw apt-get machen, steht in der jeweiligen Manpage. Wenn dort etwas unterschiedliches steht, dann verhalten sich die beiden Befehle auch gewollt unterschiedlich. Wenn ein Befehl für apt nicht dokumentiert ist, kann es sein, dass er an apt-get (oder an ein anderes APT-Familienmitglied) weitergereicht wird, daraus folgt aber nicht, dass es zu selben Ergebnis führen wird als beim direkten Aufruf, sondern es geschieht – Überraschung! – etwas undokumentiertes.
Im Wiki bitte keine Vermutungen, sondern entweder durch offizielle Dokumentation belegte Aussagen oder Berichte über Ergebnisse eigener sorgfältiger Experimente.
|
von.wert
Anmeldungsdatum: 23. Dezember 2020
Beiträge: 7756
|
kB schrieb:
Im Wiki bitte keine Vermutungen
ACK
|
UlfZibis
Anmeldungsdatum: 13. Juli 2011
Beiträge: 2726
|
kB schrieb: Die beiden Programme apt und apt-get unterscheiden sich vor allem in den Voreinstellungen, mit denen die einzelnen Befehle aufgerufen werden. Will heißen: [.....]
Das ist mir alles bekannt, doch darum geht's mir nicht. Im man steht zu beiden Befehlen nichts davon, dass bei nicht mehr benötigten Abhängigkeiten Pakete entfernt werden. Und in der praktischen Anwendung kann ich auch beobachten, dass die davon betroffenen Pakete, also die zu denen keine Abhängigkeiten mehr bestehen, tatsächlich auch nicht entfernt werden, sondern nur zum Entfernen vorgeschlagen werden. Tatsächlich entfernen die beiden Befehle aber ggf. Pakete, die apt aufgrund "»intelligentem« Konfliktauflösungssystem" für weniger wichtig hält, egal, ob sie für den User wichtig und nötig sind. So habe ich z.B. schon gesehen, dass dist-upgrade eine ganze Latte von Paketen, die für mich wichtig und nötig sind, deinstallieren wollte, um FFMPEG zu aktualisieren.
In man apt-get jedoch: […] Da könnte es also Unterschiede zu geben.
Das sollte lediglich ein ergänzender Hinweis sein, dass apt full-upgrade und apt-get dist-upgrade möglicherweise was leicht verschiedenes machen, obwohl im Wiki beides so behandelt wird, als würden sie dasselbe machen. Genauso kann es aber auch sein, dass sie tatsächlich dasselbe machen, und nur die jeweiligen Erklärungen in man unterschiedlich detailliert sind.
|
noisefloor
Ehemaliger
(Themenstarter)
Anmeldungsdatum: 6. Juni 2006
Beiträge: 28316
|
Hallo,
dass dist-upgrade eine ganze Latte von Paketen, die für mich wichtig und nötig sind, deinstallieren wollte, um FFMPEG zu aktualisieren.
Dann standen die Pakete ziemlich sicher im Konflikt. Dann entfernt die Paketverwaltung die, nach Rückfrage. Gruß, noisefloor
|
UlfZibis
Anmeldungsdatum: 13. Juli 2011
Beiträge: 2726
|
noisefloor schrieb: Dann standen die Pakete ziemlich sicher im Konflikt. Dann entfernt die Paketverwaltung die,
Genau so war es. Genau diese Bedingung für das Entfernen von Paketen steht aber nicht im Wiki. Da steht stattdessen "nicht benötigt", was ich aus oben näher erläuterten Gründen 1. für falsch und 2. für nicht zutreffend erachte. Deshalb mein Korrekturvorschlag: Bei Abhängigkeits-Konflikten werden gegebenenfalls auch für weniger wichtig gehaltene Pakete entfernt.
Oder: Bei Abhängigkeits-Konflikten werden gegebenenfalls auch Pakete entfernt, die für weniger wichtig gehalten werden.
nach Rückfrage.
Das ist richtig. Bei der GUI habe ich das aber eben schon anders erlebt (konnte ich dann nur in den APT logs unter /var/log nachträglich erkennen). Die komplette Installation war dann verhunzt und ließ sich trotz Mühen auch nicht mehr in den vorigen Stand versetzen.
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
UlfZibis schrieb: Genau so war es. Genau diese Bedingung für das Entfernen von Paketen steht aber nicht im Wiki.
Das gehört imho auch nicht zur Aktualisierung, Konflikte werden bei der Installation von Paketen an sich aufgelöst. Hier liegt das nunmal daran, dass der Anbieter der Fremdquelle (der für die weitere Nutzung ja bezahlt werden möchte) offenbar Abhängigkeiten geändert hat.
|
UlfZibis
Anmeldungsdatum: 13. Juli 2011
Beiträge: 2726
|
tomtomtom schrieb: UlfZibis schrieb: Genau so war es. Genau diese Bedingung für das Entfernen von Paketen steht aber nicht im Wiki.
Das gehört imho auch nicht zur Aktualisierung,
Steht aber so in man von apt und apt-get . Konflikte werden bei der Installation von Paketen an sich aufgelöst.
... was aber nicht immer möglich ist. Hier liegt das nunmal daran, dass der Anbieter der Fremdquelle (der für die weitere Nutzung ja bezahlt werden möchte) offenbar Abhängigkeiten geändert hat.
Der Grund für die Nichtauflösbarkeit von Konflikten dürfte APT ziemlich schnurz sein. apt-get hat ein »intelligentes« Konfliktauflösungssystem und es wird versuchen, Upgrades der wichtigsten Pakete, wenn nötig zu Lasten der weniger wichtigen, durchzuführen. Aufgrunddessen könnte der dist-upgrade-Befehl einige Pakete entfernen.
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 52312
|
Nochmal: Das hat nichts damit zu tun, ob apt/apt-get etwas für "weniger wichtig" halten. Konflikte stehen exakt als solche in der debian/control und werden als solche ausgewertet. Da gibt es keine "intelligenz" dahinter. Nur ja oder nein.
|
UlfZibis
Anmeldungsdatum: 13. Juli 2011
Beiträge: 2726
|
tomtomtom schrieb: Nochmal: Das hat nichts damit zu tun, ob apt/apt-get etwas für "weniger wichtig" halten. Konflikte stehen exakt als solche in der debian/control und werden als solche ausgewertet. Da gibt es keine "intelligenz" dahinter. Nur ja oder nein.
Dann muss aber alternativ das, was in man steht, falsch sein. Da steht nun mal: apt-get hat ein »intelligentes« Konfliktauflösungssystem und es wird versuchen, Upgrades der wichtigsten Pakete, wenn nötig zu Lasten der weniger wichtigen, durchzuführen. Aufgrunddessen könnte der dist-upgrade-Befehl einige Pakete entfernen.
Und dass APT das so macht, konnte ich hautnah erleben, und nicht nur im Fall des vermuksten PPA.
|