Come tutti sappiamo già, mantenere aggiornato il nostro sistema Linux implica invocare più di un gestore di pacchetti. Ad esempio, in Ubuntu non puoi aggiornare tutto usando il comando "sudo apt update &&sudo apt upgrade". Questo comando aggiornerà solo i pacchetti installati utilizzando il gestore di pacchetti APT. È possibile che tu abbia installato altre applicazioni utilizzando cargo , pip , npm , scatto , pacchetto piatto o Linuxbrew gestori di pacchetti. È necessario utilizzare il rispettivo gestore di pacchetti per mantenerli tutti aggiornati. Non più! Saluta "topgrade" , un'utilità per aggiornare tutto utilizzando un unico comando in una volta sola.
Non è necessario eseguire ogni gestore di pacchetti separatamente per aggiornare i pacchetti. Lo strumento topgrade risolve questo problema rilevando i pacchetti installati, gli strumenti, i plug-in ed esegue il gestore di pacchetti appropriato per aggiornare tutto nella tua scatola Linux con un solo comando. È gratuito, open source e scritto utilizzando il linguaggio di programmazione Rust . Supporta GNU/Linux, Mac OS X, FreeBSD e Microsoft Windows.
Installazione di Topgrade
Il grado superiore è disponibile in AUR . Quindi puoi installarlo usando Sì programma di supporto in qualsiasi sistema basato su Arch.
$ yay -S topgrade
Su altre distribuzioni Linux, è possibile installare topgrade Cargo gestore di pacchetti. Per installare il gestore del pacchetto cargo, fare riferimento al seguente collegamento.
- Installa il linguaggio di programmazione Rust in Linux
Quindi esegui il seguente comando per installare topgrade:
$ cargo install topgrade
Se il metodo cargo non funziona per qualsiasi motivo, scarica l'ultimo binario di primo grado dalla pagina dei rilasci . Al momento della stesura di questa guida, l'ultima versione era 2.2.0 .
$ wget https://github.com/r-darwish/topgrade/releases/download/v2.2.0/topgrade-v2.2.0-x86_64-unknown-linux-gnu.tar.gz
Estrai il file tar:
$ tar xvf topgrade-v2.2.0-x86_64-unknown-linux-gnu.tar.gz
Copia o sposta il file binario di primo grado nel tuo percorso, ad esempio /usr/local/bin/ .
$ sudo mv topgrade /usr/local/bin/
Controlla se è installato correttamente come mostrato di seguito.
$ which topgrade /usr/local/bin/topgrade
Controlla la versione installata:
$ topgrade -V Topgrade 2.2.0
Aggiorna tutto utilizzando Topgrade in Linux e Unix
Una volta installato, esegui l'utility topgrade per aggiornare tutte le cose nel tuo sistema Linux.
$ topgrade
Una volta invocato il topgrade, eseguirà le seguenti attività una per una a seconda del sistema operativo in uso. Ti verrà chiesto di inserire la password utente root/sudo ove necessario.
Su Linux:
1. Esegui il gestore di pacchetti del tuo sistema Linux ed esegui le seguenti operazioni:
- Basato sull'arco :Esegui sì oppure torna a pacman
- Basato su Redhat :Esegui
yum upgrade
(odnf
se presente) - Basato su Debian :Esegui
apt update && apt dist-upgrade
- Gentoo :Esegui
layman -s ALL && emerge --sync -q && eix-update && emerge -uDNa world
- openSUSE :Esegui
zypper refresh && zypper dist-upgrade
- Vuoto :Esegui
xbps-install -Su
2. Esegui aggiornamento ecc. .
3. Esegui gestori di pacchetti non ufficiali e di terze parti:
- Aggiorna Flatpak pacchetti
- Aggiorna scatto pacchetti
- Esegui fwupdmgr per mostrare l'aggiornamento del firmware. (Solo visualizzazione. Non verranno effettivamente eseguiti aggiornamenti)
- Esegui
rpi-update
per aggiornare il firmware Raspberry Pi - Esegui buca aggiornamento
- Aggiorna Rustup eseguendo
rustup update
. Questo tenterà anche di eseguirerustup self update
quando Rustup è installato all'interno della home directory. - Esegui Cargo aggiornamento-installazione
- Aggiorna Emacs pacchetti
- Aggiorna OCaml pacchetti
- Aggiorna vcpkg pacchetti installati a livello globale
- Aggiorna myrepos repository di codice sorgente gestiti
- Aggiorna i pacchetti Python installati utilizzando pipx
- Aggiorna R pacchetti installati a livello globale
- Aggiorna Vim/Neovim Pacchetti. Funziona con i seguenti framework di plugin:
- NeoBundle
- Vundle
- Collega
- Dein
- Nodo
- Esegui
yarn global update
se il filato è installato. - Esegui
npm update -g
se NPM è installato enpm root -g
è un percorso all'interno della tua home directory.
- Esegui
- Esegui
composer global update
se la home directory del compositore si trova all'interno della home directory dell'utente. Eseguivalet install
dopo. - Aggiorna Atom pacchetti
- Esegui
gem upgrade --user-install
se~/.gem
esiste
Su Unix:
- Esegui
brew update && brew upgrade
. Questo dovrebbe gestire entrambi gli Homebrew e Linuxbrew . - Esegui
nix upgrade-nix && nix --upgrade
. - Esegui Pearl
pearl update
. - Esegui zplug aggiorna
- Aggiorna tmux plug-in con TPM
Su FreeBSD:
- Aggiorna e controlla i pacchetti.
Varie (questi passaggi verranno eseguiti su tutti i sistemi operativi)
Verificherà se i seguenti percorsi sono tracciati da Git . Se è così, tirali:
- ~/.emacs.d
- ~/.zshrc
- ~/.oh-mio-zsh
- ~/.tmux
- ~/.config/fish
- ~/.config/nvim
- ~/.vim
- ~/.config/openbox
- ~/.config/bspwm
- ~/.config/i3
- Profilo Powershell
- Percorsi personalizzati
Passaggi finali
Una volta aggiornati tutti i pacchetti, Topgrade eseguirà un altro passaggio finale.
Su Linux:
L'utilità Topgrade eseguirà needrestart per riavviare tutti i servizi.
Su FreeBSD:
Topgrade eseguirà freebsd-upgrade
In Mac OS X , aggiornerà le applicazioni dell'App Store.
Esempio di output dal mio test box Ubuntu 18.04 LTS:

Aggiorna tutto utilizzando Topgrade in Linux e Unix
La cosa buona è che se un'attività non riesce, eseguirà automaticamente l'attività successiva e completerà tutte le altre attività successive. Infine, visualizzerà il riepilogo con dettagli come quante attività sono state eseguite, quante riuscite e quante fallite, ecc.
Lettura consigliata:
- Come aggiornare Ubuntu con un solo comando
- 3 diversi metodi per aggiornare Ubuntu all'ultima versione
- Installa aggiornamenti e patch di sicurezza automaticamente in Ubuntu
Opzioni di livello superiore
Tograde include alcune opzioni per eseguire varie attività aggiuntive.
Esegui Topgrade all'interno delle sessioni di Tmux
Questo è utile quando usi Topgrade sui sistemi remoti.
Per avviare Topgrade all'interno di una sessione Tmux, usa -t bandiera.
$ topgrade -t

Esegui Topgrade all'interno della sessione Tmux
Rimuovi i file vecchi e non necessari
Per istruire i gestori dei pacchetti a ripulire i file vecchi e inutilizzati, usa -c segnala con il massimo dei voti:
$ topgrade -c
Disattiva passaggi di aggiornamento specifici
A volte, non vuoi aggiornare un pacchetto specifico. In tal caso, puoi utilizzare --disable
opzione.
Ad esempio, salta l'aggiornamento del sistema utilizzando il comando:
$ topgrade --disable system
Questo comando salterà solo la fase di aggiornamento del sistema e aggiornerà tutto il resto come al solito.
―― 11:39:48 - Self update ―――――――――――――――――――――――――――――――――――――――――――――――――――――― Topgrade is up-to-date ―― 11:39:50 - rustup ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― info: checking for self-updates info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' info: checking for self-updates stable-x86_64-unknown-linux-gnu unchanged - rustc 1.35.0 (3c235d560 2019-05-20) ―― 11:39:52 - Node Package Manager ――――――――――――――――――――――――――――――――――――――――――――― ―― 11:40:08 - Summary ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― Git repositories: OK rustup: OK NPM: OK
Salta l'aggiornamento di Emacs:
$ topgrade --disable emacs
Questo comando salterà l'aggiornamento dei pacchetti Emacs e dei suoi file di configurazione.
Salta l'aggiornamento di Vim:
$ topgrade --disable vim
Salta l'aggiornamento della gemma:
$ topgrade --disable gem
Per maggiori dettagli, controlla la sezione della guida eseguendo il comando seguente:
$ topgrade --help Topgrade 2.2.0 Roey Darwish Dror <[email protected]> Command line arguments USAGE: topgrade [FLAGS] [OPTIONS] FLAGS: -c, --cleanup Cleanup temporary or old files -n, --dry-run Print what would be done -h, --help Prints help information --no-retry Do not ask to retry failed steps -t, --tmux Run inside tmux -V, --version Prints version information -v, --verbose Output logs OPTIONS: --disable <disable>... Do not perform upgrades for the given steps [possible values: gem, git-repos, vim, emacs, system]
Personalmente, mi è piaciuta l'idea di creare un'utilità come topgrade e aggiornare tutto ciò che è installato con vari gestori di pacchetti con un solo comando. Spero che anche tu lo trovi utile.