Comme nous le savons tous déjà, maintenir notre système Linux à jour implique d'invoquer plus d'un gestionnaire de paquets. Supposons, par exemple, que dans Ubuntu, vous ne pouvez pas tout mettre à niveau à l'aide de la commande "sudo apt update &&sudo apt upgrade". Cette commande ne mettra à niveau que les packages installés à l'aide du gestionnaire de packages APT. Il est possible que vous ayez installé d'autres applications à l'aide de cargo , point , npm , cliquer , flatpack ou Linuxbrew gestionnaires de paquets. Vous devez utiliser le gestionnaire de packages respectif afin de les maintenir tous à jour. Pas plus! Dites bonjour à "topgrade" , un utilitaire pour tout mettre à niveau en utilisant une seule commande en une seule fois.
Vous n'avez pas besoin d'exécuter chaque gestionnaire de packages séparément pour mettre à jour les packages. L'outil topgrade résout ce problème en détectant les packages, outils, plugins installés et en exécutant leur gestionnaire de packages approprié pour tout mettre à jour dans votre machine Linux avec une seule commande. Il est gratuit, open source et écrit en utilisant le langage de programmation Rust . Il prend en charge GNU/Linux, Mac OS X, FreeBSD et Microsoft Windows.
Installer Topgrade
Le topgrade est disponible en AUR . Ainsi, vous pouvez l'installer en utilisant Yay programme d'assistance dans tous les systèmes basés sur Arch.
$ yay -S topgrade
Sur d'autres distributions Linux, topgrade peut être installé Cargo directeur chargé d'emballage. Pour installer le gestionnaire de colis cargo, consultez le lien suivant.
- Installer le langage de programmation Rust sous Linux
Ensuite, exécutez la commande suivante pour installer topgrade :
$ cargo install topgrade
Si la méthode cargo ne fonctionne pas pour une raison quelconque, téléchargez le dernier binaire de qualité supérieure à partir de la page des versions . Au moment de la rédaction de ce guide, la dernière version était 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
Extrayez le fichier tar :
$ tar xvf topgrade-v2.2.0-x86_64-unknown-linux-gnu.tar.gz
Copiez ou déplacez le fichier binaire topgrade vers votre chemin, par exemple /usr/local/bin/ .
$ sudo mv topgrade /usr/local/bin/
Vérifiez s'il est correctement installé comme indiqué ci-dessous.
$ which topgrade /usr/local/bin/topgrade
Vérifier la version installée :
$ topgrade -V Topgrade 2.2.0
Tout mettre à niveau à l'aide de Topgrade sous Linux et Unix
Une fois installé, exécutez l'utilitaire topgrade pour mettre à niveau tous les éléments de votre système Linux.
$ topgrade
Une fois que topgrade est appelé, il effectuera les tâches suivantes une par une en fonction du système d'exploitation que vous utilisez. Il vous sera demandé d'entrer le mot de passe de l'utilisateur root/sudo si nécessaire.
Sous Linux :
1. Exécutez le gestionnaire de packages de votre système Linux et effectuez les opérations suivantes :
- Basé sur Arch :Exécutez youpi ou revenez à pacman
- Basé sur Redhat :Exécutez
yum upgrade
(oudnf
si présent) - Basé sur Debian :Exécutez
apt update && apt dist-upgrade
- Gentoo :Exécutez
layman -s ALL && emerge --sync -q && eix-update && emerge -uDNa world
- ouvrirSUSE :Exécutez
zypper refresh && zypper dist-upgrade
- Annuler :Exécutez
xbps-install -Su
2. Exécutez etc-update .
3. Exécutez des gestionnaires de packages non officiels et tiers :
- Mettre à jour Flatpak forfaits
- Mettre à jour l'instantané forfaits
- Exécutez fwupdmgr pour afficher la mise à niveau du micrologiciel. (Affichage uniquement. Aucune mise à niveau ne sera réellement effectuée)
- Exécuter
rpi-update
pour mettre à jour le micrologiciel du Raspberry Pi - Exécuter pihole mise à jour
- Mettre à jour Rustup en exécutant
rustup update
. Cela tentera également d'exécuterrustup self update
lorsque Rustup est installé dans le répertoire personnel. - Exécuter Cargo installer-mettre à jour
- Mettre à niveau Emacs forfaits
- Mettre à jour OCaml forfaits
- Mettre à niveau vcpkg packages installés globalement
- Mettre à niveau myrepos référentiels de code source gérés
- Mettre à niveau les packages Python installés à l'aide de pipx
- Mettre à niveau R packages installés globalement
- Mettre à niveau Vim/Neovim paquets. Fonctionne avec les frameworks de plugins suivants :
- NéoBundle
- Vundle
- Branchez
- Dein
- Nœud
- Exécuter la
yarn global update
si le fil est installé. - Exécuter
npm update -g
si NPM est installé etnpm root -g
est un chemin à l'intérieur de votre répertoire personnel.
- Exécuter la
- Exécutez la
composer global update
si le répertoire personnel de Composer se trouve dans le répertoire personnel de l'utilisateur. Exécutezvalet install
après. - Mettre à niveau Atom forfaits
- Exécuter
gem upgrade --user-install
si~/.gem
existe
Sous Unix :
- Exécuter
brew update && brew upgrade
. Cela devrait gérer à la fois Homebrew et Linuxbrew . - Exécutez
nix upgrade-nix && nix --upgrade
. - Exécuter Pearl
pearl update
. - Exécutez zplug mettre à jour
- Mettre à niveau tmux plugins avec TPM
Sur FreeBSD :
- Packages de mise à niveau et d'audit
Divers (Ces étapes seront effectuées sur tous les systèmes d'exploitation)
Il vérifiera si les chemins suivants sont suivis par Git . Si oui, tirez-les :
- ~/.emacs.d
- ~/.zshrc
- ~/.oh-mon-zsh
- ~/.tmux
- ~/.config/fish
- ~/.config/nvim
- ~/.vim
- ~/.config/openbox
- ~/.config/bspwm
- ~/.config/i3
- Profil Powershell
- Chemins personnalisés
Étapes finales
Une fois tous les packages mis à niveau, Topgrade effectuera une dernière étape supplémentaire.
Sous Linux :
L'utilitaire Topgrade exécutera needrestart pour redémarrer tous les services.
Sur FreeBSD :
Topgrade exécutera freebsd-upgrade
Sous Mac OS X , il mettra à jour les applications App Store.
Exemple de sortie de ma boîte de test Ubuntu 18.04 LTS :
Mettez tout à niveau en utilisant Topgrade sous Linux et Unix
La bonne chose est que si une tâche échoue, elle exécutera automatiquement la tâche suivante et terminera toutes les autres tâches suivantes. Enfin, il affichera le résumé avec des détails tels que le nombre de tâches exécutées, combien ont réussi et combien ont échoué, etc.
Suggestion de lecture :
- Comment mettre à jour Ubuntu avec une seule commande
- 3 méthodes différentes pour mettre à niveau Ubuntu vers la dernière version
- Installer automatiquement les mises à jour et les correctifs de sécurité dans Ubuntu
Options de mise à niveau
Tograde est livré avec quelques options pour effectuer diverses tâches supplémentaires.
Exécuter Topgrade dans les sessions Tmux
Ceci est pratique lorsque vous utilisez Topgrade sur les systèmes distants.
Pour démarrer Topgrade dans une session Tmux, utilisez -t drapeau.
$ topgrade -t
Exécutez Topgrade dans la session Tmux
Supprimez les fichiers anciens et inutiles
Pour demander aux gestionnaires de packages de nettoyer les fichiers anciens et inutilisés, utilisez -c drapeau avec topgrade :
$ topgrade -c
Désactiver des étapes de mise à niveau spécifiques
Parfois, vous ne souhaitez pas mettre à niveau un package spécifique. Si c'est le cas, vous pouvez utiliser --disable
option.
Par exemple, ignorez la mise à niveau du système à l'aide de la commande :
$ topgrade --disable system
Cette commande ignorera uniquement la phase de mise à niveau du système et mettra à niveau tout le reste comme d'habitude.
―― 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
Ignorer la mise à jour d'Emacs :
$ topgrade --disable emacs
Cette commande ignorera la mise à jour des packages Emacs et de ses fichiers de configuration.
Ignorer la mise à jour de Vim :
$ topgrade --disable vim
Ignorer la mise à jour de la gemme :
$ topgrade --disable gem
Pour plus de détails, consultez la section d'aide en exécutant la commande suivante :
$ 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]
Personnellement, j'ai aimé l'idée de créer un utilitaire comme topgrade et de mettre à niveau tout ce qui est installé avec différents gestionnaires de packages avec une seule commande. J'espère que vous le trouverez également utile.