'apt' - Fragen, Erkennen und Verstehen ??

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von reox » 05.01.2022 12:39:43

Nur ums nochmal zusammenzufassen: Bei der Ausgabe von apt *upgrade gibt es potentiell folgende Sektionen:

Code: Alles auswählen

The following packages were automatically installed and are no longer required:
  [1) ...]
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  [2) ...]
The following NEW packages will be installed:
  [3) ...]
The following packages will be upgraded:
  [4) ...]
The following packages have been kept back:
  [5) ...]
  
Alles unter 1) bleibt so wie es ist. es steht auch da was man tun kann, um diese Pakete los zu werden. Sie werden aber NIE automatisch entfernt (ausgenommen wenn man --autoremove verwendet! In diesem Fall ist die liste der "no longer required" pakete aber leer und alle die entfernt werden sollen stehen unter 2)!)
Alles unter 2) kann NUR bei apt full-upgrade geschehen. Hier hat der solver entschieden, dass diese Pakete weg müssen, damit die abhänigkeiten erfüllt sind. apt upgrade hat diese Sektion NIE.
Alles unter 3) sind neue Pakete die installiert werden, weil sie ein upgrade erfordert. Das passiert bei apt upgrade und apt full-upgrade aber NICHT bei apt-get upgrade (habs gerade ausprobiert).
Unter 4) stehen jetzt alle Pakete wo sich nur die Version ändert.
und unter 5) steht jetzt noch alles wo es eine potentielle aktualisierung gibt aber durch abhänigkeiten, policy, apt-mark hold, die mögliche entfernung von anderen paketen ... das Paket nicht installiert werden soll.

tscott
Beiträge: 105
Registriert: 30.12.2020 22:16:18

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von tscott » 05.01.2022 13:03:29

reox hat geschrieben: ↑ zum Beitrag ↑
05.01.2022 12:39:43
Nur ums nochmal zusammenzufassen: Bei der Ausgabe von apt *upgrade gibt es potentiell folgende Sektionen:

Code: Alles auswählen

The following packages were automatically installed and are no longer required:
  [1) ...]
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  [2) ...]
The following NEW packages will be installed:
  [3) ...]
The following packages will be upgraded:
  [4) ...]
The following packages have been kept back:
  [5) ...]
  
Alles unter 1) bleibt so wie es ist. es steht auch da was man tun kann, um diese Pakete los zu werden. Sie werden aber NIE automatisch entfernt (ausgenommen wenn man --autoremove verwendet! In diesem Fall ist die liste der "no longer required" pakete aber leer und alle die entfernt werden sollen stehen unter 2)!)
Alles unter 2) kann NUR bei apt full-upgrade geschehen. Hier hat der solver entschieden, dass diese Pakete weg müssen, damit die abhänigkeiten erfüllt sind. apt upgrade hat diese Sektion NIE.
Alles unter 3) sind neue Pakete die installiert werden, weil sie ein upgrade erfordert. Das passiert bei apt upgrade und apt full-upgrade aber NICHT bei apt-get upgrade (habs gerade ausprobiert).
Unter 4) stehen jetzt alle Pakete wo sich nur die Version ändert.
und unter 5) steht jetzt noch alles wo es eine potentielle aktualisierung gibt aber durch abhänigkeiten, policy, apt-mark hold, die mögliche entfernung von anderen paketen ... das Paket nicht installiert werden soll.
Dann sind wir ja wieder am Anfang mit den Thesen. Demnach wäre ja dann ein 'apt full-upgrade' doch dasselbe wie ein 'apt upgrade && apt autoremove'. Das widerspricht aber Aussagen anderer Forennutzer hier, die ja meinten dass bei 'apt upgrade' keine NEUEN Pakete installiert werden. Jaja, die Lernkurve scheint nicht nur bei "Novizen" relativ steil zu sein.

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von reox » 05.01.2022 13:13:21

tscott hat geschrieben: ↑ zum Beitrag ↑
05.01.2022 13:03:29
Demnach wäre ja dann ein 'apt full-upgrade' doch dasselbe wie ein 'apt upgrade && apt autoremove
Nein eben nicht! autoremove macht nicht das was du denkst!

Es ist ein großer Unterschied ob ein Paket entfernt werden soll weil eine Abhänigkeit sonst nicht gelöst werden kann (upgrade von gcc 8 auf 10; das was full-upgrade machen würde aber upgrade nicht) oder ob du Pakete welche keinen Nutzen mehr haben entfernt werden (autoremove).

Nehmen wir das Beispiel vom gcc, weil hier beides passieren kann:
Unter buster hat das Paket gcc eine abhänigkeit zu gcc-8 und cpp. cpp hat unter buster die abhänigkeit zu cpp-8.
Unter bullseye hat gcc die abhängigkeit zu gcc-10 und cpp, und cpp zu cpp-10.

Beim upgrade entscheidet der solver, dass er gcc=8 nur nach gcc=10 bringen kann, indem das Paket gcc-8 entfernt und gcc-10 installiert wird. Es ist eben nicht erlaubt, dass gcc-8 installiert ist wenn gcc=10 installiert werden soll. Weiters wird das paket cpp=10 installiert werden, welches als neue abhänigkeit cpp-10 bringt.
ABER: cpp-8 kann auch ohne problem ohne cpp=8 installiert bleiben - dennoch gibt es jetzt kein anderes Paket mehr, welches von cpp-8 abhängt und cpp-8 wurde automatisch installiert. Dennoch entscheidet sich der solver dazu es nicht zu entfernen - weil es keinen Grund gibt es zu tun. apt ist da immer konservativ: Es wird nur ein Paket entfernen oder neu installieren wenn es nicht anders geht - dH eine von dir explizit gewünschte abhänigkeit nicht erfüllt werden kann.
(Achtung: xxx=Y heißt paket xxx in version Y und ist was anderes als xxx-Y was bedeutet der Paketname ist xxx-Y)

dH beim full-upgrade wirst du folgendes sehen:

Code: Alles auswählen

no longer required: 
  cpp-8
will be REMOVED: 
  gcc-8
NEW packages will be installed: 
  cpp-10 gcc-10
will be upgraded: 
  gcc cpp
(+ ein haufen weiterer abhänigkeiten, auf die ich nicht eingehe)

Nach dem full-upgrade ist das paket cpp-8 weiterhin installiert und würde bei einem aufruf von apt autoremove fliegen.

tscott
Beiträge: 105
Registriert: 30.12.2020 22:16:18

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von tscott » 05.01.2022 13:30:43

reox hat geschrieben: ↑ zum Beitrag ↑
05.01.2022 13:13:21
Nach dem full-upgrade ist das paket cpp-8 weiterhin installiert und würde bei einem aufruf von apt autoremove fliegen.
Du meinst ein einfaches Upgrade, richtig? Denn ein full-upgrade wird gcc-8 ja löschen. Oder bin ich jetzt komplett mischugge?

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von reox » 05.01.2022 13:37:52

gcc-8 wird gelöscht, ja. cpp-8 bleibt aber weiterhin da! Ja die Paketnamen sind nicht wirklich toll :D

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von Meillo » 05.01.2022 13:45:24

reox hat geschrieben: ↑ zum Beitrag ↑
05.01.2022 12:23:47
edit: moment, es gibt offenbar noch einen unterschied zwischen apt upgrade und apt-get upgrade: https://unix.stackexchange.com/a/536620/12332
Ja. Die Uebersichtstabelle in dem Link ist nett.

Soweit ich das verstehe entsprechen sich `apt upgrade' und `aptitude safe-upgrade'.

`apt-get upgrade' ist der Befehl, der am wenigsten macht.


(Und falls das bislang noch nicht klar geworden ist: `full-upgrade' und `dist-upgrade' ist das gleiche. Der Name `full-upgrade' ist neuer. Frueher gab es nur `dist-upgrade'. Es gibt aber keinen Unterschied zwischen den beiden.)



@tscott:

Das Entfernen von nicht mehr gebrauchten Abhaengigkeiten ist eine komplett separate Sache, die man mit `autoremove' oder separaten Programmen wie Debiandeborphan oder Debiandebfoster erledigen kann. Das hat nichts mit dem Upgrade zu tun (ausser, dass man bei den Upgrade-Befehlen optional zusaetzlich eine --autoremove Option angeben kann, die dann beides hintereinander macht).


Konflikte zu loesen ist letztlich ein Upgraden, Entfernen und Installieren von Paketen, um damit eine Kombination zu erreichen, die konfliktfrei ist. Konflikte basieren auf der control-Datei in den Debianpaketen, die unter `Conflicts:' oder aehnlichen Feldern andere Pakete in ggf. bestimmten Versionen nennen. Siehe dazu die Manpage deb-control(5).

Ein einfaches `apt-get upgrade' kann auch Konflikte loesen, naemlich in folgendem Fall.

Installiert ist:
- Paket A in Version 1
- Paket B in Version 1
Wenn nun Version 2 von Paket A einen Konflikt mit Paket B (< Version 2) hat, dann loest upgrade das indem es beide Pakete upgraded. Wenn du nur `apt-get install A' sagen wuerdest, dann wuerde das nicht gehen, weil das eben mit Paket B (< Version 2) kollidiert.

Was upgrade aber nicht loesen kann ist folgender Konflikt. Wieder sind diese Pakete installiert:
- Paket A in Version 1
- Paket B in Version 1
Version 2 von Paket A hat einen Eintrag, dass es kollidiert mit Paket B aber stattdessen haengt es von Paket C ab, das die gleiche Funktionalitaet wie B bereitstellt.
Ein upgrade scheitert hier, da zum Loesen B entfernt und C installiert werden muss wenn man A auf Version 2 bringt. Diese Konflikte kann full-upgrade loesen.

Dabei muss full-upgrade aber auch darauf schauen, ob noch irgendwelche anderen Pakete B benoetigen, weil es B sonst natuerlich nicht entfernen darf. Dazu versucht full-upgrade alle Moeglichkeiten, die Abhaengigkeiten zu erfuellen, durchzuprobieren und waehlt dann diejenige aus, die ihm am besten erscheint.

Upgrade-Mechanismen, die staerker eingeschraenkt sind, wie `apt-get upgrade', `aptitude safe-upgrade' und `apt upgrade', haben weniger Moeglichkeiten zur Verfuegung, den Konflikt zu loesen. Dadurch kann es passieren, dass ein komplizierter Loesungsweg rauskommt (z.B. sehr viel Pakete installieren), waehrend es auch moeglich waere den Konflikt zu loesen, indem man nur ein einziges Paket deinstalliert. Diese letzte Option haben die eingeschraenkteren Upgrade-Mechanismen halt nicht.

Andererseits stellen diese sicher, dass nie ein vorhandenes Paket deinstalliert wird, sondern nur Upgrade-Wege gesucht werden, die den Konflikt durch das Hinzufuegen loesen.

Aus meiner Sicht gibt es Faelle wo der eine und Faelle wo der andere besser waere -- also wenn ich das mal aus technischer Sicht betrachte und die Anwendersicht von Casual Usern aussen vor lasse. In einfachen Faellen ist das alles recht egal, weil es da oft nur einen Loesungsweg gibt. In komplizierteren Faellen (die aber wohl nur Nutzer von Unstable und Entwickler haben oder die man auf halb kaputten Systemen beim Reparieren antrifft) waere der beste Weg bei schlimmen Konflikten, die Vorschlaege der verschiedenen Upgrade-Mechanismen zu vergleichen, um dann selber entscheiden zu koennen, welchen man als den besseren Weg ansieht. Aber wie gesagt, das ist etwas fuer Profis, Entwickler und groessere Reparaturvorhaben.
Use ed once in a while!

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von fischig » 05.01.2022 14:42:27

Die aller, allerwichtigste Funktion, die apt oder apt-get anbietet ist -s :P

rockyracoon
Beiträge: 1475
Registriert: 13.05.2016 12:42:18
Lizenz eigener Beiträge: GNU Free Documentation License

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von rockyracoon » 05.01.2022 14:43:42

Erst einmal wieder Respekt vor Meillo und reox :THX:

Eine weitere Runde Diskussionen könnten wir jetzt auch noch drehen, indem wir den Unterschied beim Entfernen von verwaisten oder nicht benötigten Paketen zwischen "apt autoremove" und "apt clean" betrachten... :mrgreen:

Viel Nützliches bezüglich Abhängigkeiten kann man übrigens aucmit dem Terminal-Programm "Aptitude" oder im graphischen Synaptic-Paketmanager unter den "Eigenschaften" eines Pakets in Erfahrung bringen.

Für Casual-User-Leser: der Einwurf von fischig
#apt-get -s [...COMMAND]
bewirkt eine Simulation, welche abgesichert zeigen kann was passiert, wenn man einen Befehl startet. Eine gute Idee, wenn man vorsichtig sein will (siehe auch https://linux.die.net/man/8/apt-get oder https://www.geeksforgeeks.org/apt-get-c ... -examples/ ).

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von Meillo » 05.01.2022 15:54:56

rockyracoon hat geschrieben: ↑ zum Beitrag ↑
05.01.2022 14:43:42
Eine weitere Runde Diskussionen könnten wir jetzt auch noch drehen, indem wir den Unterschied beim Entfernen von verwaisten oder nicht benötigten Paketen zwischen "apt autoremove" und "apt clean" betrachten... :mrgreen:
Dazu muessen wir wenig diskutieren ;-), es reicht in die Manpage zu schauen, da ist das genau erklaert:
Manpage apt-get(8) hat geschrieben: clean
clean clears out the local repository of retrieved
package files. It removes everything but the lock
file from /var/cache/apt/archives/ and
/var/cache/apt/archives/partial/. When APT is used as
a dselect(1) method, clean is run automatically.
Those who do not use dselect will likely want to run
apt-get clean from time to time to free up disk
space.

autoclean
Like clean, autoclean clears out the local repository
of retrieved package files. The difference is that it
only removes package files that can no longer be
downloaded, and are largely useless. This allows a
cache to be maintained over a long period without it
growing out of control. The configuration option
APT::Clean-Installed will prevent installed packages
from being erased if it is set to off.

autoremove
autoremove is used to remove packages that were
automatically installed to satisfy dependencies for
other packages and are now no longer needed.
Oder hier auf Deutsch, wenn euch das lieber ist: https://manpages.debian.org/bullseye/ap ... .8.de.html
Use ed once in a while!

tscott
Beiträge: 105
Registriert: 30.12.2020 22:16:18

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von tscott » 06.01.2022 12:58:00

Meillo hat geschrieben: ↑ zum Beitrag ↑
05.01.2022 15:54:56
Oder hier auf Deutsch, wenn euch das lieber ist: https://manpages.debian.org/bullseye/ap ... .8.de.html
Das ist dann aber wieder ein neues Fass denn in diesem Thread wollte ich eigentlich 'apt' und 'apt-get' voneinander trennen bzw. 'apt-get' raushalten.

Um aber beim Thema zu bleiben. 'apt' beschreibt in seiner eigenen Manpage dies:

Code: Alles auswählen

BESCHREIBUNG

apt stellt eine hoch abstrahierte Befehlszeilenschnittstelle für das Paketverwaltungssystem zur Verfügung. 
Es ist als Endanwenderschnittstelle gedacht und aktiviert verglichen mit spezialisierteren Werkzeugen 
wie apt-get(8) und apt-cache(8) standardmäßig einige für den interaktiven Gebrauch besser geeignete Optionen.

Ganz wie apt selbst ist seine Handbuchseite als Endanwenderschnittstelle gedacht und erwähnt als solche nur 
die am häufigsten benutzten Befehle sowie Optionen. Dies geschieht zum Teil, um keine Informationen an 
mehreren Stellen zu duplizieren und zum Teil, um Leser nicht mit einem Überfluss an Optionen und Einzelheiten zu überwältigen.

update (apt-get(8))
update wird verwendet, um von allen konfigurierten Quellen Paketinformationen herunterzuladen. 
Andere Befehle arbeiten mit diesen Daten, zum Beispiel, um Paket-Upgrades durchzuführen oder 
um darin zu suchen und um Einzelheiten über alle zur Installation verfügbaren Pakete anzuzeigen.

upgrade (apt-get(8))
upgrade wird verwendet, um verfügbare Upgrades für alle derzeit auf dem System installierten Pakete 
von den in der sources.list(5) konfigurierten Quellen zu installieren. Neue Pakete werden installiert, 
falls dies nötig ist, um Abhängigkeiten zu erfüllen, existierende werden jedoch nie entfernt. 
Falls das Upgrade für ein Paket verlangt, dass ein installiertes Paket entfernt wird, wird dieses Upgrade nicht durchgeführt.

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.

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von whiizy » 06.01.2022 14:09:23

Sehe gerade, daß der Befehl "apt dist-upgrade" zwar möglich, aber in "man apt" gar nicht erwähnt wird. Ist das sauberer Stil, gültige Optionen in einer Manpage nicht zu erwähnen?

Habe jahrelang apt-get dist-upgrade bei Release-Wechseln verwendet und erst beim Wechsel auf Bullseye mal apt dist-upgrade. Habe erst durch diesen Thread hier erfahren, daß letzterer Befehl eigentlich apt full-upgrade heißen soll und ich nur zufällig mit apt dist-upgrade richtig lag :)

Soll zwar das gleiche sein (apt dist-upgrade = apt full-upgrade), aber steht ja nicht in der manpage (sondern nur so ähnlich in anderer apt Doku).

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von reox » 06.01.2022 14:47:06

whiizy hat geschrieben: ↑ zum Beitrag ↑
06.01.2022 14:09:23
Sehe gerade, daß der Befehl "apt dist-upgrade" zwar möglich, aber in "man apt" gar nicht erwähnt wird. Ist das sauberer Stil, gültige Optionen in einer Manpage nicht zu erwähnen?
Die Antwort auf deine Frage steht ebenfalls in der manpage ;)
Ganz wie apt selbst ist seine Handbuchseite als Endanwenderschnittstelle gedacht und erwähnt als solche nur die am häufigsten benutzten Befehle sowie Optionen. Dies geschieht zum Teil, um keine Informationen an mehreren Stellen zu duplizieren und zum Teil, um Leser nicht mit einem Überfluss an Optionen und Einzelheiten zu überwältigen.

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von whiizy » 06.01.2022 14:54:00

Selbst der Hilfe-Befehl schweigt sich aus:

$ apt --help
apt 2.2.4 (amd64)
Usage: apt [options] command

apt is a commandline package manager and provides commands for
searching and managing as well as querying information about packages.
It provides the same functionality as the specialized APT tools,
like apt-get and apt-cache, but enables options more suitable for
interactive use by default.

Most used commands:
list - list packages based on package names
search - search in package descriptions
show - show package details
install - install packages
reinstall - reinstall packages
remove - remove packages
autoremove - Remove automatically all unused packages
update - update list of available packages
upgrade - upgrade the system by installing/upgrading packages
full-upgrade - upgrade the system by removing/installing/upgrading packages
edit-sources - edit the source information file
satisfy - satisfy dependency strings

See apt(8) for more information about the available commands.
Configuration options and syntax is detailed in apt.conf(5).
Information about how to configure sources can be found in sources.list(5).
Package and version choices can be expressed via apt_preferences(5).
Security details are available in apt-secure(8).
This APT has Super Cow Powers.

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von reox » 06.01.2022 16:57:01

Most used commands:

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von whiizy » 06.01.2022 17:09:45

Vor welchen undokumentierten Kommandos in apt schützen uns die manpage und --help denn sonst noch, um uns "nicht mit einem Überfluss an Optionen und Einzelheiten zu überwältigen"? ;)

KP97
Beiträge: 3440
Registriert: 01.02.2013 15:07:36

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von KP97 » 06.01.2022 17:19:58

rockyracoon hat geschrieben: ↑ zum Beitrag ↑
04.01.2022 22:00:40
...den Versionsnamen des aktuellen Debian-Stable in der Sources-List zusammen mit
#su -
#apt update && apt full-upgrade
#apt autoremove && sudo apt clean
@rocky
OT, ist mir aber aufgefallen:
Was bezweckst Du denn mit sudo apt clean, wenn Du doch vorher schon mit su - zum Root geworden bist? Doppelt hält besser? ;-)

Ich hätte wirklich nicht gedacht, daß ein einfacher Befehl und eine ausführliche Manpage fünf Seiten im Thread produzieren kann...

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von reox » 06.01.2022 17:39:24

whiizy hat geschrieben: ↑ zum Beitrag ↑
06.01.2022 17:09:45
Vor welchen undokumentierten Kommandos in apt schützen uns die manpage und --help denn sonst noch, um uns "nicht mit einem Überfluss an Optionen und Einzelheiten zu überwältigen"? ;)
Naja eigentlich gar nicht viel mehr. Wenn man den Source anschaut sieht man, dass die undokumentierten Befehle wie dist-upgrade dort nur noch des Muskelgedächtnisses wegen dabei sind: https://salsa.debian.org/apt-team/apt/- ... ine/apt.cc

Das hidden gem ist wohl

Code: Alles auswählen

$ apt moo
                 (__)
                 (oo)
           /------\/
          / |    ||
         *  /\---/\
            ~~   ~~
..."Have you mooed today?"...
(oder hätt ich das nicht hier verraten dürfen? :D)

rockyracoon
Beiträge: 1475
Registriert: 13.05.2016 12:42:18
Lizenz eigener Beiträge: GNU Free Documentation License

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von rockyracoon » 06.01.2022 17:42:28

@KP97, bezüglich "#apt autoremove && sudo apt clean":
@rocky
OT, ist mir aber aufgefallen:
Was bezweckst Du denn mit sudo apt clean, wenn Du doch vorher schon mit su - zum Root geworden bist? Doppelt hält besser? ;-)
Das ist ganz einfach ein Tippfehler. Ich habe den Text nicht meinem aktuellen Root-Bashrc-Alias (#alias u='apt update && apt full-upgrade' sowie #alias c='apt autoremove && apt clean') entnommen, sondern einer alten eigenen Anleitungsdatei. :facepalm:

"Sudo" hatte ich in meinen Ubuntu-Zeiten ( :oops: ) verwendet, "apt-get" ist imho nur noch für Grufties... 8)

Beeiindruckt bin ich - und das meine ich mit vollem Ernst, ohne jegliche Ironie - dass Du die Posts offensichtlich sehr genau liest! :THX:
Ich hätte wirklich nicht gedacht, daß ein einfacher Befehl und eine ausführliche Manpage fünf Seiten im Thread produzieren kann...
Noch dazu - um es freundlich zu formulieren - mit erheblicher Redundanz. :wink:
Zuletzt geändert von rockyracoon am 07.01.2022 16:29:39, insgesamt 4-mal geändert.

rockyracoon
Beiträge: 1475
Registriert: 13.05.2016 12:42:18
Lizenz eigener Beiträge: GNU Free Documentation License

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von rockyracoon » 06.01.2022 17:57:09

reox hat geschrieben: ↑ zum Beitrag ↑
06.01.2022 17:39:24
whiizy hat geschrieben: ↑ zum Beitrag ↑
06.01.2022 17:09:45
Vor welchen undokumentierten Kommandos in apt schützen uns die manpage und --help denn sonst noch, um uns "nicht mit einem Überfluss an Optionen und Einzelheiten zu überwältigen"? ;)
Naja eigentlich gar nicht viel mehr. Wenn man den Source anschaut sieht man, dass die undokumentierten Befehle wie dist-upgrade dort nur noch des Muskelgedächtnisses wegen dabei sind: https://salsa.debian.org/apt-team/apt/- ... ine/apt.cc

Das hidden gem ist wohl

Code: Alles auswählen

$ apt moo
                 (__)
                 (oo)
           /------\/
          / |    ||
         *  /\---/\
            ~~   ~~
..."Have you mooed today?"...
(oder hätt ich das nicht hier verraten dürfen? :D)
:THX: :THX: :THX:

Dieser Befehl (#apt moo) fehlt auch im Manual! :twisted:
Und eigentlich müßte es ein Gnu (= afrikanische Kuhantilope) statt eine Kuh sein!!! :twisted:
(oder hätt ich das nicht hier verraten dürfen? :D)
Als Whistleblowing geht das wohl nicht durch. :?

Und ich oute noch mehr 8O :
https://www.reddit.com/r/linuxmemes/com ... i/apt_moo/
https://unix.stackexchange.com/question ... cow-powers
https://wiki.ubuntuusers.de/Easter_Eggs/
https://www.digitalocean.com/community/ ... aster-eggs
Uuund: Debiancowsay !
Zuletzt geändert von rockyracoon am 06.01.2022 18:32:14, insgesamt 13-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von Meillo » 06.01.2022 17:58:05

reox hat geschrieben: ↑ zum Beitrag ↑
06.01.2022 17:39:24
Wenn man den Source anschaut sieht man, dass die undokumentierten Befehle wie dist-upgrade dort nur noch des Muskelgedächtnisses wegen dabei sind: https://salsa.debian.org/apt-team/apt/- ... ine/apt.cc
Besonders nett ist, dass die Funktion im Code dennoch DoDistUpgrade heisst. :lol:
https://salsa.debian.org/apt-team/apt/- ... apt.cc#L76
Use ed once in a while!

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von whiizy » 06.01.2022 18:30:46

reox hat geschrieben: Naja eigentlich gar nicht viel mehr.
Nette Funde, sehr amüsant! :THX:
Die apt manpage verrät uns 13 Kommandos. Die apt --help schützt uns noch etwas besser mit nur 12 Kommandos. Weggelassen wurde purge.

Dank Open Source sehen wir auf den ersten Blick zumindest schonmal 29 Kommandos, das sind immerhin mindestens 123% mehr, als in der manpage.

Am meisten vermisse ich in den Listen aber die explizite Erwähnung des Kommandos apt --simulate bzw. --dry-run. Für mich eines der wichtigsten Kommandos von apt-get überhaupt. Für Fortgeschrittene ebenso, wie für leichtsinnige Anfänger, um sich ein System nicht gleich kaputtzudaten. Funktioniert zum Glück aber auch in apt weiterhin. Habe ich aber auch nur über mein Muskelgedächtnis gemerkt :)

Code: Alles auswählen

man apt
-------
update
upgrade
full-upgrade
install
reinstall
remove
purge
autoremove
satisfy
search
show
list
edit-sources

apt --help
----------
list
search
show
install
reinstall
remove
autoremove
update
upgrade
full-upgrade
edit-sources
satisfy

apt.cc
------
list
search
show
install
reinstall
remove
autoremove
auto-remove
autopurge
purge
update
upgrade
full-upgrade
edit-sources
moo
satisfy
dist-upgrade
showsrc
depends
rdepends
policy
build-dep
clean
autoclean
auto-clean
source
download
changelog
info   
Grüsse und ein dreifaches Moo!

tscott
Beiträge: 105
Registriert: 30.12.2020 22:16:18

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von tscott » 07.01.2022 23:48:36

rockyracoon hat geschrieben: ↑ zum Beitrag ↑
06.01.2022 17:42:28
Ich hätte wirklich nicht gedacht, daß ein einfacher Befehl und eine ausführliche Manpage fünf Seiten im Thread produzieren kann...
Noch dazu - um es freundlich zu formulieren - mit erheblicher Redundanz. :wink:
Das stimmt, Redundanz ist drin. Aber auch immer wieder neue Erkenntnisse. Die Manpage gibt das genaue Verhalten von 'apt full-update' nicht annähernd wieder. Warum wird was wann gelöscht? Wie wird versucht Abhängigkeitsprobleme zu lösen?
Ich verstehe die Diskussion daher als Brainstorming in Erweiterung zur Manpage.

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von whiizy » 08.01.2022 10:37:22

Was ich auch nicht so ganz verstehe, wieso Debianapt hinter -s keine TAB-Ergänzung anbietet, bei der Langform --simulate aber schon:

Code: Alles auswählen

# apt -s dist[TAB]

# apt --simulate dist[TAB]-upgrade 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Der Befehl apt-get macht hingegen die TAB-Ergänzung noch in beiden Schreibweisen. - Oder macht Debianapt das zufällig nur in meinem Terminal so?

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von Meillo » 08.01.2022 10:46:44

whiizy hat geschrieben: ↑ zum Beitrag ↑
08.01.2022 10:37:22
Was ich auch nicht so ganz verstehe, wieso Debianapt hinter -s keine TAB-Ergänzung anbietet, bei der Langform --simulate aber schon:
Die Tab-Completion ist eine frei programmierbare Erweiterung der Shell. Sie wird normalerweise als Datei von dem Anwendungspaket (hier apt bzw. apt-get) geliefert. Wenn deren Entwickler etwas vergessen haben, dann fehlt die Completion dafuer halt.

D.h. im Gegensatz zur Tab-Completion fuer Kommandos, die generisch anhand von $PATH umgesetzt werden kann, ist die Tab-Completion fuer Optionen und Parameter eines Kommandos nur eine Datei, die die Kombinationen in einer speziellen Sprache auflistet. Diese ist von den Entwicklern geschrieben. Hier ist die Datei von Unstable:
https://sources.debian.org/src/apt/2.3. ... /bash/apt/

Wenn hier etwas fehlt, das da sein sollte, dann waere das ein Grund fuer einen Bugreport (von niedrigerer Prioritaet). Allerdings kann ich deine Aussage anhand der Completion-Datei nicht nachvollziehen. `-s' und `--simulate' stehen immer paarweise in der Datei.
Use ed once in a while!

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: 'apt' - Fragen, Erkennen und Verstehen ??

Beitrag von whiizy » 08.01.2022 10:56:42

Vielen Dank für die ausführliche Erläuterung, Meillo!

Dann ist es vielleicht nur ein kleiner Bug von apt in Bullseye, hier:

Code: Alles auswählen

# apt -v
apt 2.2.4 (amd64)
Dein Listing bezieht sich ja schon auf apt 2.3.14.

Wenn sich das am Listing nicht nachvollziehen lässt -- kannst du es denn praktisch an der Kommandozeile nachvollziehen?

Antworten