yum update --security
installa solo aggiornamenti di sicurezza. Penso che sia un'estensione dal plugin yum-security.
Esiste un comando dnf equivalente? (dnf ha sostituito yum in Fedora 22)
yum update --security
installa solo aggiornamenti di sicurezza. Penso che sia un'estensione dal plugin yum-security.
Esiste un comando dnf equivalente? (dnf ha sostituito yum in Fedora 22)
Risposte:
Basato su 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
e --refresh
può essere aggiunto):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"
È possibile utilizzare dnf-automatic con tre impostazioni:
apply_updates = yes
download_updates = yes
upgrade_type = security
(Il file di configurazione predefinito è /etc/dnf/automatic.conf
)
o usando:
dnf updateinfo list security
per ottenere tutti gli aggiornamenti disponibili, quindi aggiornarli manualmente.
Puoi inserire il dnf updateinfo list updates security
ciclo in a for nello script cli o bash. Consiglio vivamente di rivedere gli aggiornamenti di sicurezza, ma puoi sempre consentire di inviare il -y
comando adnf update
questo è ciò che funziona per me in base ad alcune esigenze:
for i in $(dnf updateinfo list updates security | grep -Ei ^fedora | cut -d' ' -f3) ; do dnf update $i; done
O un po 'più breve con awk (attenzione che non funziona con --refresh)
for i in $(dnf updateinfo list updates security | awk 'NR>1 {print $3}') ; do dnf update $i; done
per 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
I metodi proposti prima non erano soddisfacenti nel mio caso. Puoi provare questo ed è forse più perfetto. Crea il file con il nome "dnfupdate-security" quindi incolla le righe di Python in basso o esegui cmd:
cmd1: sudo touch / usr / bin / dnfupdate-security && sudo chmod + x / usr / bin / dnfupdate-security
cmd2: sudo gedit / usr / bin / dnfupdate-security
Quindi incolla il codice Python nel file 'dnfupdate-security', salvalo
Esecuzione 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
non è all'inizio della riga (anche se rimuovi i 3 spazi iniziali da ogni riga). E anche se correggo il tuo rientro incoerente, ottengo un SyntaxError.
dnf upgrade -y
in dnf update
. Altre differenze sostanziali?