GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

„sudo Apt-get Install Foo-“ verursacht das Entfernen des Foo-Pakets und alles, was davon abhängt?

Für diese Frage gibt es hier bereits Antworten :apt-get install with ‘-‘ (Minus / Bindestrich) entfernt Pakete

(2 Antworten)
Vor 2 Jahren geschlossen.

Beim Arbeiten an der Eingabeaufforderung habe ich versehentlich den folgenden Befehl eingegeben:

sudo apt-get install python3-

und Ubuntu hat begonnen, Python3 und alles, was davon abhängt, zu entfernen (einschließlich Firefox und vielem mehr). Glücklicherweise habe ich dieses Terminal sofort geschlossen und alles zurückgesetzt, indem ich dpkg überprüft habe log-Datei, aber ich habe mich gefragt, warum eine install Befehl sollte sich wie Entfernen verhalten?

Ist es ein Fehler?

Stellen Sie sich die Situation vor, dass Sie nach einem Paketnamen suchen (zweimal die Tabulatortaste drücken) und die Möglichkeiten durchgehen, indem Sie die Eingabetaste drücken und diese Eingabetasten im Tastaturpuffer verbleiben und …. youhaaaa… apt-get entfernt die gesamte Installation vor Ihren Augen.

Akzeptierte Antwort:

Habe gerade dieses Minuszeichen (oder Bindestrich) nach einem Paket ausprobiert und ja, apt-get verhält sich wie remove .

Komischerweise kannte ich diese Funktion von apt-get nicht . Dieses Minuszeichen gilt für jedes Paket. Ich habe es mit smplayer- versucht mit firefox- und verhält sich immer wie remove .
Das einzige, was mir einfällt, ist, dass das Bindestrichzeichen am Ende eines Pakets von apt-get berücksichtigt wird wie ein Minus und install Befehl umgewandelt in remove .

Wenn Sie alles über python3 installieren wollten, mussten Sie nach diesem Minuszeichen ein Sternchen hinzufügen

sudo apt-get install python3-*

Am Anfang dachte ich, das sei nur ein Konfliktthema, aber das ist es nicht. Manchmal, wenn Sie ein Paket installieren und mit einem anderen Paket in Konflikt geraten, wird das bereits installierte Paket aufgrund eines neu installierten Pakets entfernt, aber das ist hier nicht unsere Situation.

Wir haben heute etwas Nützliches gelernt.

Aus der Manpage von apt-get . Um die Manpage über Ihr Terminal zu lesen, geben Sie man apt-get ein

Wenn ein Bindestrich (-) an den Paketnamen angehängt wird (ohne
Leerzeichen dazwischen), wird das identifizierte Paket entfernt, wenn es gerade
installiert ist. Ebenso kann ein Pluszeichen (+) verwendet werden, um ein zu installierendes
Paket anzugeben. Diese letzteren Funktionen können verwendet werden, um
Entscheidungen zu überschreiben, die vom Konfliktlösungssystem von apt-get getroffen wurden.

Schließlich ist keine neue Option oder etwas Seltsames, wir lesen nur die Manpages nicht sorgfältig.

Related:ImportError:Kein Name ‚_tkinter‘, bitte installieren Sie das Paket python3-tk?
Ubuntu
  1. Wie installiere ich Termite?

  2. Wie führe ich ein Skript nur während der Erstinstallation eines Pakets und nicht während Upgrades aus?

  3. Kann Python-dev nicht unter Ubuntu 16.04 Lts mit Aptitude und Apt-get installieren?

  4. Verwenden von Sudo Apt-get Install, warum kein Quellcode?

  5. Wie installiere ich Openssh-Server, Tcsh, Autofs und Ypbind auf der Ubuntu 14.04 Desktop-Version?

So installieren Sie Minecraft auf Ubuntu und Linux Mint

So beschleunigen Sie Paket-Downloads und -Updates mit apt-fast unter Ubuntu 20.04

Kann nicht installiert werden und der Code funktioniert nicht:Apt-get Install Virtualbox-guest-x11?

Das Ubuntu Software Center blockiert die Installation eines Pakets und ich kann nichts anderes installieren?

Was war der Unterschied zwischen „sudo Apt-get -f Install“ und „sudo Apt-get Install -f“?

So installieren und verwalten Sie RPM-Pakete auf einem Ubuntu/Debian-System