Qual è l'equivalente della riga di comando per il gestore aggiornamenti (Software Updater)?


25

Quando io faccio

sudo apt-get update
sudo apt-get upgrade

Talvolta a Ubuntu Update Manager della GUI restano ancora alcuni elementi. es. "Completa il kernel Linuux generico".

So che c'è anche sudo apt-get dist-upgrade, ma questo tocca altre cose.

La mia domanda è: qual è un'altra opzione da riga di comando che posso usare per aggiornare il resto degli elementi mostrati nel gestore aggiornamenti della GUI (ma non tocca nient'altro). In altre parole, sto cercando l'equivalente da riga di comando.

EDIT: questa domanda si riferisce al gestore degli aggiornamenti che equivale a Software Updater nelle versioni più recenti (ad es. 16.04), come sottolineato da @Eliah Kagan .


Il pacchetto Ubuntu Update Manager è open source, quindi potresti essere in grado di cercare il codice sorgente per trovare la tua risposta. Ho dato una rapida occhiata, ma non ho notato nulla di insolito nel modo in cui si aggiornano.

Non è chiaro per me dopo alcune ricerche che esiste un equivalente diretto, ma c'è una risposta molto illuminante che spiega la differenza tra apt-get e aptitude . La mia ipotesi è che Update Manager sia simile a apt-get in quanto ha un insieme leggermente più specializzato di regole che utilizza per l'aggiornamento, tranne che apt-get update, diversamente da ciò , il suo set di regole consente l'installazione di nuovi pacchetti in alcuni casi specializzati, come gli aggiornamenti del kernel. Spero che qualcuno più esperto
cha5on

3
Sono abbastanza sicuro che la risposta sia apt-get dist-upgrade. Cosa intendi con "questo tocca altre cose"?
Flimm,

Risposte:


22

Come ha commentato Flimm , la risposta è davvero sudo apt-get dist-upgrade( dopo l' esecuzione sudo apt-get update, di cui gli strumenti di gestione dei pacchetti della GUI fanno automaticamente l'equivalente). Questa è almeno la cosa più vicina all'esecuzione del Software Updater (chiamato Update Manager nelle versioni precedenti).

L'esecuzione apt-get upgradeaggiornerà i pacchetti che possono essere aggiornati:

  • senza installare pacchetti che non sono già installati in alcune versioni e
  • senza rimuovere alcun pacchetto.

Update Manager è in grado di fare entrambe queste cose, quindi apt-get dist-upgradeè abbastanza vicino ad esso.

  • L'esecuzione sudo apt-get dist-upgradeda sola non aggiornerà il tuo sistema Ubuntu a una versione più recente. In effetti, a differenza di Debian, apt-get dist-upgradenon è un modo supportato per passare a una nuova versione. In Debian (e in Ubuntu, anche se a volte può fallire e non è supportato), la modifica di tutti i repository elencati nei /etc/apt/sources.listrepository per la prossima versione e l'esecuzione sudo apt-get dist-upgradetenterà di passare alla versione successiva.

Poiché apt-get dist-upgradepuò rimuovere il pacchetto (e installare nuovi pacchetti che potresti non desiderare), è sempre meglio consultare la descrizione di ciò che intende fare prima di premere y.

Quindi, mentre correre sudo apt-get -y upgradeè generalmente ragionevole, la -ybandiera dovrebbe essere usata raramente con dist-upgrade.

La ragione per cui non si ottiene nuove versioni di kernel con sudo apt-get upgradeè perché ciascuna sono forniti da separati, pacchetti diverso nome. (La versione del kernel è in parte separata dal nome). Questo serve a facilitare l'installazione di un vecchio kernel insieme a un kernel più recente (e la possibilità di selezionarli tra loro nel menu di GRUB).

L'offerta automatica di nuovi pacchetti kernel per l'installazione è realizzata con l'installazione di un metapacchetto (simile linux-image-generic). Quando esce un nuovo kernel per la tua versione di Ubuntu, il metapacchetto del kernel viene aggiornato e la versione aggiornata del metapacchetto elenca il nuovo kernel come dipendenza (senza impedire che il vecchio kernel continui a essere installato).

Se non si desidera utilizzare sudo apt-get dist-upgrade, è sempre possibile aggiornare manualmente i singoli pacchetti elencati come trattenuti durante l'esecuzione sudo apt-get upgrade. Per fare questo, "install" li: .sudo apt-get install packagename


1
"Update Manager è in grado di fare entrambe queste cose, quindi apt-get dist-upgrade è abbastanza vicino ad esso." - è poco chiaro nel contesto.
opaco

7

Se stai cercando di aprire la finestra di aggiornamento del software dalla riga di comando (che è quello che ho raccolto stavi ottenendo, principalmente perché è per questo che ho cercato questo e sono finito qui perché questo è il mio obiettivo) per darti il ​​root accesso alla finestra della GUI (ho avuto un problema di autorizzazione provando a fare questo da remoto)

sudo update-manager

Se capisco correttamente la domanda, la risposta di @questionreality è quella giusta, almeno ha funzionato per me. L'unica cosa è, come procedere con l'aggiornamento senza passare attraverso il prompt della finestra? Voglio dire, un'operazione da riga di comando puramente?
nightcod3r

1

Ho appena trovato questa risposta ma ho perso la fonte, quindi non posso attribuirla ...

Il comando seguente installerà il pacchetto che ha il kernel come dipendenza e quindi aggiornerà il tuo kernel scegliendo quello giusto con cui farlo.

La mia installazione 14.4 era stata aggiornata alla 14.10 ad eccezione del kernel. Nel mio caso, il kernel si è aggiornato da 3.13.xa 3.16.x sebbene sia possibile che le versioni 3.13.0.x possano avere aggiornamenti. Apparentemente 3.13 non era un kernel LTS però.

sudo apt-get install linux-image-generic

1
se il ragazzo che ha votato negativamente su questa risposta avesse delle buone maniere di base per dire "perché" avrebbe aiutato gli studenti di Linux come me a sapere perché è sbagliato.
Clain Dsilva,

0

Probabilmente è il posto sbagliato ma credo che tu voglia fare:

apt-get -f install

Questo pulirà le dipendenze eccezionali


1
Grazie. quello non sembra essere però. Ho apt-get -f installquindi aggiornato e aggiornato di nuovo, quindi sono andato alla GUI del gestore e ho controllato, ancora elementi.

0

aptle utility da riga di comando non offrono esattamente lo stesso livello di comfort del loro equivalente gui (vale a dire software updater). Mentre a apt-get dist-upgradeprenderà cura della maggior parte dell'aggiornamento, vale a dire il download e l'installazione di pacchetti più recenti, non rileverà l'esistenza di una nuova versione di Ubuntu (o Debian), che farà l'utilità Ubuntu Gui. La parte mancante è modificare /etc/apt/sources.list(o i file correlati in /etc/apt/sources.list.d/- ma probabilmente non li hai), per dire aptche esiste la nuova versione e dove si trovano i repository.

Ad esempio, per un dist-upgradeda utopico a vivido , è possibile aprire /etc/apt/sources.liste fare una rapida ricerca e sostituire di utopica vivid, quindi eseguire il dist-upgradecomando CLI. Un percorso più sicuro potrebbe essere la duplicazione delle righe in quel file, e fare la ricerca e sostituire solo su queste righe duplicate, mantenendo così i repository utopici.

Per maggiori informazioni, suggerisco di consultare la pagina man in sources.listcui viene descritto il formato del file e come modificarlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.