Si je ne me trompe pas, une nouvelle commande unifiant apt update && apt upgrade
dans 18.04 ou une version bêta ultérieure, avec un argument -u
ou -d
.
Ai-je raison ou y a-t-il quelque chose de similaire?
Il s'agit d'une demande de fonctionnalité en attente ( LP # 17096 ) et, autant que je sache, aucune activité de développement n'y a été effectuée (ni sur bunt ni Debian ).
Il existe cependant une fonctionnalité implémentée qui exécute automatiquement une mise à jour lors de l'ajout d'un PPA à l'aide de add-apt-repository
(ainsi que des options associées, qui ont été modifiées car ce comportement est désormais défini par défaut).
Définissez dans le terminal avec la commande alias
votre nouvelle commande définie pour cela, comme par exemple:
alias update='Sudo apt-get update && Sudo apt-get dist-upgrade'
Ensuite, vous avez votre nouvelle commande "update" et vous pouvez vous pencher en arrière, lorsque vous tapez "update" dans le terminal.
Je doute que ce changement soit inclus, malheureusement, mais vous pouvez faire quelque chose de similaire aux autres réponses jusqu'ici, avec quelques subtilités supplémentaires.
/usr/local/bin/update
Cela a les avantages suivants suivants que les autres réponses-jusqu'à présent n'ont pas:
Sudo apt-get update
prend un certain temps, Sudo apt-get upgrade
pourrait vous demander votre mot de passe à nouveau, de sorte que vous revenez de votre pause de midi en attendant des paquets mis à jour et que vous deviez attendre un moment pour les télécharger et les installer.Sudo
, pas seulement pour vous.Sudo apt update && Sudo apt upgrade
, comme la mise à niveau du BIOS sur certains systèmes et la mise à niveau des instantanés.Je posté cela ailleurs il y a quelque temps , je vais donc l'inclure ici.
Ouvrir un terminal (appuyez sur Ctrl+Alt+T) et courir:
Sudo touch /usr/local/bin/update
Sudo chmod 0755 /usr/local/bin/update
Sudo nano /usr/local/bin/update
Collez les éléments suivants dans le terminal:
#!/bin/bash
if [ "$( /usr/bin/id -u )" -ne "0" ] ; then
echo 'Please run using Sudo.'
exit 1
fi
set +e
/bin/rm -f /var/cache/app-info/xmls/fwupd.xml
/usr/bin/snap refresh
/usr/bin/apt update
/usr/bin/appstreamcli refresh --force
/usr/bin/apt-file update
/usr/bin/apt full-upgrade -y
/usr/bin/apt autoremove --purge -y
/usr/bin/apt clean
/usr/bin/fwupdmgr refresh
/usr/bin/fwupdmgr update
/usr/bin/updatedb
/sbin/fstrim --all
/usr/lib/update-notifier/update-motd-reboot-required
Lisez la section ci-dessous sur les choses que vous pourriez vouloir changer . Faites les changements que vous ressentez.
nano
.Maintenant vous pouvez le lancer avec:
Sudo update
N'hésitez pas à personnaliser tout ce que vous n'aimez pas. Vous pouvez même y ajouter de nouvelles commandes pour effectuer des tâches de maintenance supplémentaires liées à la mise à niveau.
Notez que cela utilise apt full-upgrade
plutôt que apt upgrade
, , qui peut supprimer les packages . Il utilise également apt autoremove --purge
qui supprime les paquetages qui ne sont supposément plus nécessaires (comme tous les noyaux plus anciens que les deux derniers) ainsi que leurs fichiers de configuration .
Notez également qu'aucune des lignes ne nécessite Sudo
car nous exécutons l'intégralité du script avec Sudo
, laissez donc cela de côté.
Voici ce que font les commandes:
Sudo
(le bloc if
-fi
).set +e
).apt-file
. apt-file list package-name
est un bon moyen de savoir quels fichiers un paquet installe (sinon, dpkg -S /path/to/file
est un bon moyen de savoir à quel paquet un fichier appartient).full-upgrade
.locate
(un moyen rapide de rechercher des fichiers en dehors de /home
) avec les noms de fichiers qui existent maintenant après toutes les mises à jour ci-dessus.Editez votre fichier ~/.bashrc
et ajoutez ceci:
update () {
Sudo apt-get update
Sudo apt-get upgrade "$@"
}
Enregistrez le fichier, fermez tous les terminaux ouverts et ouvrez un nouveau terminal.
Testez depuis la ligne de commande comme ceci:
$ update -s
Hit:1 http://archive.canonical.com/ubuntu xenial InRelease
Hit:2 http://security.ubuntu.com/ubuntu xenial-security InRelease
Ign:3 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:4 http://ca.archive.ubuntu.com/ubuntu xenial InRelease
Hit:5 http://ppa.launchpad.net/fossfreedom/indicator-sysmonitor/ubuntu xenial InRelease
Hit:6 http://ca.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:7 http://dl.google.com/linux/chrome/deb stable Release
Hit:9 http://ca.archive.ubuntu.com/ubuntu xenial-backports InRelease
Hit:10 http://ppa.launchpad.net/peek-developers/stable/ubuntu xenial InRelease
Hit:11 http://ppa.launchpad.net/webupd8team/Java/ubuntu xenial InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
binutils google-chrome-stable
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst google-chrome-stable [69.0.3497.92-1] (69.0.3497.100-1 Google:1.0/stable [AMD64])
Inst binutils [2.26.1-1ubuntu1~16.04.6] (2.26.1-1ubuntu1~16.04.7 Ubuntu:16.04/xenial-updates [AMD64])
Conf google-chrome-stable (69.0.3497.100-1 Google:1.0/stable [AMD64])
Conf binutils (2.26.1-1ubuntu1~16.04.7 Ubuntu:16.04/xenial-updates [AMD64])
Vous serez invité à entrer votre mot de passe si vous n'avez pas utilisé la commande Sudo
depuis un certain temps.
Une autre option que j'utilise assez souvent pour les scripts spécifiques à l'utilisateur est tout simplement:
cd
mkdir bin
cd bin
nano up
Fondamentalement, vous créez un dossier bin que bash recherche dans chaque utilisateur et se régénère au redémarrage. Tout ce dont vous avez besoin pour un script de mise à jour simple, comme vous en parlez, est le suivant:
#!/bin/bash echo "System Upgrade Commencing!" Sudo apt update Sudo apt upgrade echo "System Upgrade Complete!"
CTRL + X, Y, ENTRER
up
Et voila. Script simple pour les mises à jour et les mises à niveau. Personnellement, j'ajoute beaucoup plus à mes scripts pour l'automatisation, tels que "Sudo apt upgrade -y", la disponibilité, la date et d'autres outils pour la post-mise à niveau "Sudo apt autoremove", "Sudo apt autoclean", etc. Vous pouvez également en ajouter complexité en vérifiant si des packages ont été installés de manière incorrecte si vous souhaitez interroger DPKG pour des erreurs éventuelles, recherchez des erreurs sur votre disque dur ou répertoriez les processus en cours sur votre ordinateur. L'écriture de scripts est un terrain d'aventure et de joie gratuit, bonne chance et amusez-vous.