web-dev-qa-db-fra.com

Une nouvelle commande combinant apt update && apt upgrade dans 18.04 ou une version bêta ultérieure?

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?

3
JohnDoea

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).

5
muru

Définissez dans le terminal avec la commande aliasvotre 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.

6
dschinn1001

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.

Un script à /usr/local/bin/update

Cela a les avantages suivants suivants que les autres réponses-jusqu'à présent n'ont pas:

  • Cela évite complètement le problème suivant: si 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.
  • Cela vous permet de savoir si un redémarrage est requis (comme si vous obteniez un nouveau noyau).
  • Cela fonctionne pour tous les utilisateurs Sudo, pas seulement pour vous.
  • Cela fait beaucoup plus de tâches liées à la mise à niveau de paquet que le 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.

  1. 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
    
  2. 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
    
  3. Lisez la section ci-dessous sur les choses que vous pourriez vouloir changer . Faites les changements que vous ressentez.

  4. Presse Ctrl+O pour sauvegarder le fichier. C'est la lettre O, pas zéro.
  5. Presse Enter accepter le nom de fichier.
  6. Presse Ctrl+X pour quitter nano.

Maintenant vous pouvez le lancer avec:

Sudo update

Choses que vous pourriez vouloir changer

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:

  • Nécessite d'exécuter le script avec Sudo (le bloc if-fi).
  • Continue à exécuter d'autres commandes même s'il y a une erreur dans une commande (set +e).
  • Supprime les microprogrammes ( e . g ., BIOS) met à jour les métadonnées, car cela me donne des erreurs AppStream (nous les téléchargeons fraîchement ci-dessous , donc ce n’est pas aussi problématique qu’il semble au départ).
  • Met à jour votre capture vers ses dernières versions.
  • Met à jour les informations sur le package APT.
  • Met à jour les métadonnées AppStream .
  • Met à jour les métadonnées de 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).
  • Fait un APT full-upgrade.
  • Supprime les packages nouvellement inutiles et leurs fichiers de configuration.
  • Supprime tous les fichiers de package APT téléchargés et laissés derrière.
  • Met à jour les métadonnées de mise à jour du microprogramme.
  • Installe les nouvelles mises à jour du micrologiciel.
  • Met à jour la base de données de la commande 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.
  • TRIM tous les SSD. TRIM informe le SSD lui-même de l’espace disque qui n’est plus utilisé ( e . g ., Espace utilisé par supprimé. des dossiers). Cela l’aide à mieux porter le lissage.
  • Affiche un avis de redémarrage nécessaire si un redémarrage est nécessaire ( e . g ., Après l’installation d’un nouveau noyau).
4
Chai T. Rex

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.

3
WinEunuuchs2Unix

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.

0
Tmanok