Posso eseguire un aggiornamento della versione Silent o Unattended?

28

Come faccio ad aggiornare a una nuova versione di Ubuntu senza dover rispondere ai prompt?

Ora sono su 12.04 e vorrei installare 12.10. Quando avvio l'aggiornamento, di solito scarica materiale, quindi fa una domanda, installa un po ', fa una domanda, ecc. Lo lascio durante la notte e a volte trovo che non ha fatto quasi nessun aggiornamento. Mi piacerebbe solo calciare il processo, andare via e averlo finito dopo un paio d'ore. Sto bene con l'aggiornamento automatico dei file di configurazione in / etc e così via. Quindi, come avviare un aggiornamento automatico?

    
posta jdm 02.02.2013 - 22:30
fonte

5 risposte

35

Il seguente comando aggiorna alla nuova versione stabile senza prompt:

do-release-upgrade -f DistUpgradeViewNonInteractive

Il seguente comando esegue l'aggiornamento alla versione di sviluppo corrente senza richieste:

do-release-upgrade -d -f DistUpgradeViewNonInteractive

Non l'ho provato, ma sembra che esegua l'azione predefinita solo quando sorge una domanda. Inoltre, scade qualsiasi script se rimangono bloccati per troppo tempo.

Potresti dover utilizzare dpkg-reconfigure in seguito se non sei soddisfatto della configurazione di alcuni pacchetti, ma la maggior parte delle volte dovresti essere ok.

Fonte: link . Nel link ci sono anche altri modi per farlo.

    
risposta data jdm 03.02.2013 - 13:42
fonte
7

Solo per espandere le risposte precedenti, ecco come fare da remoto la stessa cosa della risposta accettata, usando un aggiornamento senza password su ssh che porterà la tua casella aggiornata alla versione più recente. Viene copiato nel mio blog .

Tutti questi passaggi presuppongono che il repository dei pacchetti funzioni. Se si esegue apt-get update, non si presentano molti 404 a causa di una versione obsoleta. Devi prima risolverlo, quindi vedere questa risposta per questo.

0. Aggiorna tutti i pacchetti esistenti

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

1. Imposta l'esecuzione senza password

Aggiungi te alla lista di utenti che possono eseguire do-release-upgrade usando sudo senza inserire una password si ottiene eseguendo

sudo visudo -f /etc/sudoers.d/do-release-upgrade.

e aggiungendo la seguente riga, sostituendo il mio nome utente per la tua ovviamente:

my-username ALL=NOPASSWD: /usr/bin/do-release-upgrade

2. Avvia aggiornamenti incrementali

Esci ed esegui il seguente comando dal tuo computer. Effettuerà un aggiornamento senza richiedere input (accettando tutte le risposte predefinite), attendi il riavvio del computer, quindi prova di nuovo l'aggiornamento. Funziona finché non si aggiorna la versione più recente.

while true; do 
    ssh my-user@my-server sudo do-release-upgrade -f DistUpgradeViewNonInteractive;
    sleep 120; 
done

3. Correggi i file di configurazione allo stato precedente

Successivamente dovrai spostare i file di configurazione di backup nella loro posizione precedente, poiché il processo di aggiornamento ha messo al loro posto le configurazioni predefinite.

Non soddisfatto delle risposte predefinite?

Questo ragazzo ha un modo per prepara le risposte per ogni prompt, ma il lato negativo è che devi sapere quanti prompt ci sono ...

    
risposta data oligofren 06.06.2013 - 21:36
fonte
3

Puoi farlo tramite il terminale, usando sudo apt-get -y upgrade . Questo risponderà "sì" a tutti i prompt. Tuttavia, non verrà eseguito automaticamente, quindi è necessario eseguirlo. dovrebbe funzionare. AFAIK non c'è modo di utilizzare il gestore degli aggiornamenti della GUI per eseguire aggiornamenti automatici al software ( questo NON è lo stesso di un aggiornamento della versione! )

Se stai provando ad aggiornare a una versione diversa di Ubuntu (ovvero un aggiornamento della versione , e di solito alla prossima versione della linea di versioni relative alla tua versione di Ubuntu), devi attivare che manualmente . sudo do-release-upgrade potrebbe funzionare. Non c'è modo di ignorare le richieste passate. Questo è il motivo per cui si avviano gli aggiornamenti quando si andrà in giro per tali prompt - ci saranno dei prompt.

    
risposta data Thomas Ward 02.02.2013 - 23:57
fonte
2

Per confermare ciò che Thomas Ward afferma nella sua risposta e contraddire la risposta accettata, do-release-upgrade -d -f DistUpgradeViewNonInteractive NON FUNZIONA.

In effetti, al primo prompt, si è rotta la partizione di test dalla 16.04 alla 18.04 rotta e ho dovuto richiederla. Qui è dove lo script si blocca:

Setting up mount (2.31.1-0.4ubuntu3) ...
Setting up systemd (237-3ubuntu10) ...
Installing new version of config file /etc/pam.d/systemd-user ...
Installing new version of config file /etc/systemd/journald.conf ...

Configuration file '/etc/systemd/logind.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** logind.conf (Y/I/N/O/D/Z) [default=N] ? y

Y
CRASHED... NOTHING HAPPENS NOW... WILL KILL AND RESTART WITHOUT -f OPTION...

A causa di Input Inhibitors né riavvio né spegnimento funzionerà dopo aver ucciso lo script. Devi fare uno spegnimento a freddo (tieni premuto il pulsante di accensione ~ 10 secondi).

Grazie al cielo si trattava dell'aggiornamento del clone 16.04 e non della vera partizione 16.04.

Per rendere la vita ancora più interessante è stata aggiunta una nuova partizione da 898 MB al mio SSD NVMe e le mie partizioni regolari spostate:

$ lsdrv
NAME        FSTYPE  LABEL                  MOUNTPOINT          SIZE MODEL

nvme0n1                                                        477G Samsung SSD 960 PRO 512G
├─nvme0n1p5 ntfs                                               858M 
├─nvme0n1p3                                                     16M 
├─nvme0n1p1 ntfs                                               450M 
├─nvme0n1p8 ntfs    Shared_WSL+Linux       /mnt/e                9G 
├─nvme0n1p6 ext4    Ubuntu18.04                               23.7G 
├─nvme0n1p4 ntfs    NVMe_Win10             /mnt/c            390.4G 
├─nvme0n1p2 vfat                           /boot/efi            99M 
├─nvme0n1p9 swap    Linux Swap             [SWAP]              7.9G 
└─nvme0n1p7 ext4    NVMe_Ubuntu_16.0       /                  44.6G 
  • nvme0n1p5 usato per essere dove risiedeva la mia partizione Ubuntu 16.04 ma ora è su nvme0n1p7
  • nvme0n1p8 era il luogo in cui risiedeva la mia partizione di test 18.04 ma ora è su nvme0n1p8

NOTA: Ho aggiornato anche Windows 10 da Build 1709 a Build 1803 questo pomeriggio, quindi è possibile che abbia creato la nuova partizione co_de% di 898 MB in formato nvme0n1p5 .

    
risposta data WinEunuuchs2Unix 14.05.2018 - 02:19
fonte
-2

Prova ad aggiungere l'opzione -y a apt-get ma sappi che risponderà a y tutte le query.

    
risposta data blogger 02.02.2013 - 23:24
fonte

Leggi altre domande sui tag