Come installare gli aggiornamenti tramite la riga di comando?

583

Quando accedo al mio server web tramite SSH, vedo le informazioni:

88 packages can be updated.
80 updates are security updates

Ho provato apt-get update poi apt-get upgrade ma ogni volta che accedo vedo ancora il messaggio sugli aggiornamenti. Come posso installarli?

    
posta Marlin 05.10.2012 - 15:44

10 risposte

731

Prova questo:

sudo apt-get update        # Fetches the list of available updates
sudo apt-get upgrade       # Strictly upgrades the current packages
sudo apt-get dist-upgrade  # Installs updates (new ones)

La documentazione relativa a ciascuna opzione apt-get può essere trovata nel il man- pagine per apt-get . Sono disponibili anche eseguendo man apt-get sul tuo computer.

    
risposta data SirCharlo 05.10.2012 - 16:05
82

Questo è un comportamento normale.

Il messaggio che vedi al login è stato aggiunto allo stato del server 'Message-Of-The-Day', che è solo aggiornato ogni giorno di calendario (o all'avvio / avvio del server). Dai un'occhiata ai contenuti, usando

cat /etc/motd

Ancora vedendo gli stessi aggiornamenti disponibili, dopo aver eseguito

sudo apt-get update && sudo apt-get upgrade

è previsto. Se esegui di nuovo questo comando, ti verrà richiesto solo per eventuali ulteriori aggiornamenti se sono stati rilasciati ulteriori aggiornamenti (più recenti).

    
risposta data david6 05.10.2012 - 22:26
72

Esegui tutti i comandi digitando sudo una volta:

sudo -- sh -c 'apt-get update; apt-get upgrade -y; apt-get dist-upgrade -y; apt-get autoremove -y; apt-get autoclean -y'

o

sudo -s -- <<EOF
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
EOF

o anche più breve in un ciclo per (Grazie a @dessert)

sudo bash -c 'for i in update {,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done'
    
risposta data Benny 08.11.2016 - 10:28
10

Dopo aver effettuato il log nel tuo server, esegui il comando seguente.

sudo apt-get upgrade

Dovrebbe fare il trucco. Forse hai solo bisogno di riavviare il tuo server.

    
risposta data Mitch 08.09.2014 - 00:31
8

Nel mio caso, ho avuto un URL non corretto o non accessibile in / etc / apt / sources. lista. Dopo aver rimosso questo URL, sono stato in grado di aggiornare tutti i pacchetti con successo.

Comandi:

sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade
    
risposta data burtsevyg 20.04.2013 - 11:29
7

La mia soluzione (molto tardi, mi piace il riconoscimento dei negromanti :-)):

  1. Installa wajig (una volta):

    sudo apt-get install wajig 
    
  2. Quando vuoi aggiornare / aggiornare completamente il tuo sistema

    wajig dailyupgrade
    

    (richiederà la password se necessario, e farà tutti i passaggi di aggiornamento, aggiornamento, dist-upgrade e autoremove per te).

risposta data Rmano 26.08.2015 - 09:47
4

Potrebbe anche essere necessario farlo -

sudo touch /etc/motd.tail

Da - Ubuntu mi dice che ho pacchetti da aggiornare quando non lo faccio

Ha funzionato per me il 14.04

    
risposta data John Behan 12.10.2014 - 04:22
1

questo script è utile per automatizzare gli aggiornamenti, inclusa la rimozione dei pacchetti non necessari e l'esecuzione di un riavvio solo se il sistema operativo lo richiede

remote_user=usernamehere
remote_host=example.com

ssh -A -n -o StrictHostKeyChecking=no ${remote_user}@${remote_host} && \
sudo apt-get update && \
sudo apt-get -f install -y && \
sudo apt-get -o Dpkg::Options::="--force-confnew" -yy dist-upgrade -y && \
sudo apt-get autoremove -y && \
[ -f /var/run/reboot-required ] && \
echo "sudo reboot now" && \
sudo reboot now 

per essere eseguito nella tua casella locale, basta lasciare la prima riga facendo lo ssh

ecco un alias che salvo in ~ / .bashrc

alias doit='echo; kill $( ps -eafww|grep update-manager|grep -v grep | grep update-manager | tr -s " " |cut -d" "  -f2 ) > /dev/null 2>&1;  echo "sudo apt-get update && sudo apt-get dist-upgrade &&  [ -f /var/run/reboot-required ] && echo && echo reboot required && echo";echo;sudo apt-get update && sudo apt-get dist-upgrade &&  [ -f /var/run/reboot-required ] && echo && echo reboot required && echo '

quindi sul terminale ho appena pubblicato doit

    
risposta data Scott Stensland 16.12.2017 - 19:47
0

Se esegui nuovamente apt-get update dopo che è stato concluso apt-get upgrade , quei messaggi al login ssh dovrebbero andare via.

    
risposta data Francisco Luz 13.08.2014 - 13:27
-2

Puoi provare tutti questi:

sudo apt-get install software-center (gets the software center)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
    
risposta data user2805313 18.08.2014 - 03:36

Leggi altre domande sui tag