yum update --securityinstalliert nur Sicherheitsupdates. Ich denke, es ist eine Erweiterung des YUM-Security-Plugins.
Gibt es einen äquivalenten DNF-Befehl? (DNF ersetzt YUM in Fedora 22)
yum update --securityinstalliert nur Sicherheitsupdates. Ich denke, es ist eine Erweiterung des YUM-Security-Plugins.
Gibt es einen äquivalenten DNF-Befehl? (DNF ersetzt YUM in Fedora 22)
Antworten:
Basierend auf 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--refreshup=$(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"
Sie können dnf-automatic mit drei Einstellungen verwenden:
apply_updates = yes
download_updates = yes
upgrade_type = security
(Standardkonfigurationsdatei ist /etc/dnf/automatic.conf)
oder mit:
dnf updateinfo list security
Um alle verfügbaren Updates zu erhalten, aktualisieren Sie sie manuell.
Sie können die dnf updateinfo list updates securityfor-Schleife in das CLI- oder Bash-Skript einfügen. Ich empfehle nach wie vor dringend, die Sicherheitsupdates zu überprüfen, aber Sie können jederzeit zulassen, dass der -yBefehl an gesendet wirddnf update
Das funktioniert bei mir je nach Bedarf:
for i in $(dnf updateinfo list updates security | grep -Ei ^fedora | cut -d' ' -f3) ; do dnf update $i; done
Oder etwas kürzer mit awk (beachten Sie, dass dies mit --refresh nicht funktioniert)
for i in $(dnf updateinfo list updates security | awk 'NR>1 {print $3}') ; do dnf update $i; done
für ein dnf --fresh
for i in $(dnf updateinfo list updates security| dnf updateinfo list updates security| awk 'NR>1 {print $3}') ; do dnf update $i; done
Die zuvor vorgeschlagenen Methoden waren in meinem Fall nicht zufriedenstellend. Sie können dieses versuchen und es ist möglicherweise vollkommener. Erstelle eine Datei mit dem Namen "dnfupdate-security" und füge dann Python-Zeilen darunter ein oder führe cmd aus:
cmd1: sudo touch / usr / bin / dnfupdate-security & sudo chmod + x / usr / bin / dnfupdate-security
cmd2: sudo gedit / usr / bin / dnfupdate-security
Als nächstes fügen Sie den Python-Code in die Datei 'dnfupdate-security' ein und speichern Sie ihn
Execution 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 osnicht am Zeilenanfang steht (auch wenn Sie die drei führenden Leerzeichen aus jeder Zeile entfernen). Und selbst wenn ich Ihren inkonsistenten Einzug korrigiere, erhalte ich einen SyntaxError.
dnf upgrade -yin geändert werden dnf update. Gibt es noch andere wesentliche Unterschiede?