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!'
Diese perfektere Lösung liefert einen IndentationError (weil 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.
Anthon
Alte Antworten aufzulösen ist nichts, was Sie tun sollten. Einige Leute denken vielleicht dasselbe über Ihren Code, dh er ist scheiße.
MelBurslan
Alle Kritik wird positiv aufgenommen. Ich habe ein paar Änderungen vorgenommen. Ich habe alles getestet und es sollte auf Fedora / RedHat-basierten Systemen funktionieren. :)
LecTos Lacius
Sie fügen also Shell-Befehle aus Tomots Antwort in Python-Skripte ein, die dnf upgrade -yin geändert werden dnf update. Gibt es noch andere wesentliche Unterschiede?
Antworten:
Basierend auf http://forums.fedoraforum.org/showthread.php?t=305905
quelle
-y
--refresh
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"
Sie können dnf-automatic mit drei Einstellungen verwenden:
(Standardkonfigurationsdatei ist
/etc/dnf/automatic.conf
)oder mit:
Um alle verfügbaren Updates zu erhalten, aktualisieren Sie sie manuell.
quelle
Sie können die
dnf updateinfo list updates security
for-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-y
Befehl an gesendet wirddnf update
Das funktioniert bei mir je nach Bedarf:
Oder etwas kürzer mit awk (beachten Sie, dass dies mit --refresh nicht funktioniert)
für ein dnf --fresh
quelle
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
quelle
import os
nicht 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 -y
in geändert werdendnf update
. Gibt es noch andere wesentliche Unterschiede?