yum update --security
installe uniquement les mises à jour de sécurité. Je pense que c'est une extension du plugin de sécurité yum.
Existe-t-il une commande dnf équivalente? (dnf a remplacé yum dans Fedora 22)
yum update --security
installe uniquement les mises à jour de sécurité. Je pense que c'est une extension du plugin de sécurité yum.
Existe-t-il une commande dnf équivalente? (dnf a remplacé yum dans Fedora 22)
Réponses:
Basé sur http://forums.fedoraforum.org/showthread.php?t=305905
#!/bin/bash
SECURITY_UPDATES_LIST=$( dnf --refresh -q updateinfo list sec | awk '{print $3}' )
SECURITY_UPDATES_NUM=`echo "$SECURITY_UPDATES_LIST" | sed '/^$/d' | wc -l`
if [ "$SECURITY_UPDATES_NUM" -eq 0 ]; then
exit
fi
dnf upgrade -y $SECURITY_UPDATES_LIST
-y
et --refresh
peut être ajouté):up=$(sudo dnf -q updateinfo list sec | awk '{print $3}'); [[ $up ]] && sudo dnf upgrade $up
alias security-update="pkgs=\$(sudo dnf --refresh -q updateinfo list sec | awk '{print \$3}'); [[ \$pkgs ]] && sudo dnf upgrade -y \$pkgs"
Vous pouvez utiliser dnf-automatic avec trois paramètres:
apply_updates = yes
download_updates = yes
upgrade_type = security
(Le fichier de configuration par défaut est /etc/dnf/automatic.conf
)
ou en utilisant:
dnf updateinfo list security
pour obtenir toutes les mises à jour disponibles, puis mettez-les à jour manuellement.
Vous pouvez mettre le dnf updateinfo list updates security
dans une boucle for sur le script cli ou bash. Je recommande toujours fortement de revoir les mises à jour de sécurité, mais vous pouvez toujours autoriser à ajouter la -y
commande àdnf update
c'est ce qui fonctionne pour moi en fonction de certains besoins:
for i in $(dnf updateinfo list updates security | grep -Ei ^fedora | cut -d' ' -f3) ; do dnf update $i; done
Ou un peu plus court avec awk (sachez que cela ne fonctionne pas avec --refresh)
for i in $(dnf updateinfo list updates security | awk 'NR>1 {print $3}') ; do dnf update $i; done
pour un dnf --refresh
for i in $(dnf updateinfo list updates security| dnf updateinfo list updates security| awk 'NR>1 {print $3}') ; do dnf update $i; done
Les méthodes proposées auparavant ne satisfaisaient pas dans mon cas. Vous pouvez essayer celui-ci et c'est peut-être plus parfait. Créez un fichier avec le nom "dnfupdate-security" puis collez les lignes python ci-dessous ou exécutez cmd:
cmd1: sudo touch / usr / bin / dnfupdate-security && sudo chmod + x / usr / bin / dnfupdate-security
cmd2: sudo gedit / usr / bin / dnfupdate-security
Collez ensuite le code python dans le fichier 'dnfupdate-security', enregistrez-le
Exécution cmd: sudo dnfupdate-security
#!/usr/bin/python
"""
DESCRIPTION: Check for security updates and insert all the packages into "dnf update" as argument.
"""
import os
updateList = ''; x = ''
for x in os.popen("dnf -q updateinfo list sec | awk '{print $3}'"):
x = x.strip()
updateList = updateList+' '+x
if x != '':
os.system('dnf update '+updateList)
else:
print 'No security updates available at this time!'
import os
n'est pas au début de la ligne (même si vous supprimez les 3 espaces de tête de chaque ligne). Et même si je corrige votre indentation incohérente, j'obtiens une SyntaxError.
dnf upgrade -y
à dnf update
. Y a-t-il d'autres différences importantes?