GNU/Linux >> Linux Esercitazione >  >> Ubuntu

"sudo Apt-get Install Foo-" provoca la rimozione del pacchetto Foo e tutto ciò che dipende da esso?

Questa domanda ha già risposte qui :apt-get install con '-' (meno / trattino) rimuove i pacchetti

(2 risposte)
Chiuso 2 anni fa.

Mentre lavoravo nel prompt dei comandi, ho digitato accidentalmente il seguente comando:

sudo apt-get install python3-

e Ubuntu ha iniziato a rimuovere python3 e tutto ciò che dipende da esso (incluso Firefox e molto altro). Fortunatamente ho chiuso immediatamente quel terminale e ho ripristinato tutto controllando dpkg log, ma mi chiedevo perché un install il comando dovrebbe comportarsi come remove?

È un bug?

Considera la situazione in cui stai cercando un nome di pacchetto (premendo Tab due volte) e esaminando le possibilità premendo il tasto Invio e quei tasti Invio rimangono nel buffer della tastiera e…. youhaaaa... apt-get sta rimuovendo l'intera installazione davanti ai tuoi occhi.

Risposta accettata:

Ho appena provato questo segno meno (o trattino) dopo un pacchetto e sì, apt-get si comporta come remove .

La cosa divertente è che non conoscevo questa funzione di apt-get . Questo segno meno è valido per ogni pacco. Ho provato con smplayer- con firefox- e agendo sempre come remove .
Quindi l'unica cosa che mi viene in mente è che il trattino alla fine di un pacchetto considerato da apt-get come un meno e install comando convertito in remove .

Se volevi installare tutto su python3 , devi aggiungere un asterisco dopo questo segno di trattino (meno)

sudo apt-get install python3-*

All'inizio pensavo fosse solo un problema di conflitto, ma non lo è. A volte, quando installi un pacchetto e sei in conflitto con un altro pacchetto, il pacchetto già installato verrà rimosso a causa del nuovo pacchetto installato, ma questa non è la nostra situazione qui.

Oggi abbiamo imparato qualcosa di utile.

Dalla pagina man di apt-get . Per leggere la pagina man tramite il tuo terminale, dai man apt-get

Se viene aggiunto un trattino (-) al nome del pacchetto (senza spazi
interposti), il pacchetto identificato verrà rimosso se è attualmente
installato. Allo stesso modo, un segno più (+) può essere utilizzato per designare un pacchetto
da installare. Queste ultime funzionalità possono essere utilizzate per ignorare
le decisioni prese dal sistema di risoluzione dei conflitti di apt-get.

Alla fine non è una nuova opzione o qualcosa di strano, è solo che non leggiamo attentamente le pagine man.

Correlati:ImportError:Nessun nome '_tkinter', installare il pacchetto python3-tk?
Ubuntu
  1. Come installare e utilizzare Snap Package Manager su Ubuntu 20.04

  2. Installa i pacchetti RPM su Ubuntu 11.10 e Ubuntu 11.04

  3. Come installare il pacchetto Mokutil su CentOS/RHEL 7 e 8

  4. non riesco ad installare il pacchetto libc6

  5. E:Impossibile individuare il pacchetto python-pip su Ubuntu 18.04

Come installare Minecraft su Ubuntu e Linux Mint

Come velocizzare i download e gli aggiornamenti dei pacchetti con apt-fast su Ubuntu 20.04

Impossibile installare e il codice non funziona:Apt-get Install Virtualbox-guest-x11?

Ubuntu Software Center è in stallo durante l'installazione di un pacchetto e non riesco a installare nient'altro?

Qual era la differenza tra `sudo Apt-get -f Install` e `sudo Apt-get Install -f`?

Come installare e gestire i pacchetti RPM sul sistema Ubuntu/Debian