yum update --security
hanya menginstal pembaruan keamanan. Saya pikir ini adalah ekstensi dari plugin yum-security.
Apakah ada perintah dnf yang setara? (dnf menggantikan yum di Fedora 22)
yum update --security
hanya menginstal pembaruan keamanan. Saya pikir ini adalah ekstensi dari plugin yum-security.
Apakah ada perintah dnf yang setara? (dnf menggantikan yum di Fedora 22)
Jawaban:
Berdasarkan 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
dan --refresh
dapat ditambahkan):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"
Anda dapat menggunakan dnf-otomatis dengan tiga pengaturan:
apply_updates = yes
download_updates = yes
upgrade_type = security
(File konfigurasi default adalah /etc/dnf/automatic.conf
)
atau menggunakan:
dnf updateinfo list security
untuk mendapatkan semua pembaruan yang tersedia, kemudian perbarui secara manual.
Anda bisa meletakkan dnf updateinfo list updates security
dalam for for pada skrip cli atau bash. Saya masih sangat merekomendasikan untuk meninjau pembaruan keamanan tetapi Anda selalu dapat mengizinkan untuk memberikan -y
perintahdnf update
inilah yang bekerja untuk saya tergantung pada beberapa kebutuhan:
for i in $(dnf updateinfo list updates security | grep -Ei ^fedora | cut -d' ' -f3) ; do dnf update $i; done
Atau sedikit lebih pendek dengan awk (perlu diketahui bahwa ini tidak bekerja dengan --refresh)
for i in $(dnf updateinfo list updates security | awk 'NR>1 {print $3}') ; do dnf update $i; done
untuk 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
Metode yang diusulkan sebelumnya tidak memuaskan dalam kasus saya. Anda dapat mencoba yang ini dan mungkin lebih sempurna. Buat file dengan nama "dnfupdate-security" lalu tempelkan garis python di bawah ini atau jalankan cmd:
cmd1: sudo touch / usr / bin / dnfupdate-security && sudo chmod + x / usr / bin / dnfupdate-security
cmd2: sudo gedit / usr / bin / dnfupdate-security
Selanjutnya tempel kode python ke file 'dnfupdate-security', simpan
Eksekusi 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
bukan pada awal baris (bahkan jika Anda menghapus 3 spasi terdepan dari setiap baris). Dan bahkan jika saya memperbaiki indentasi tidak konsisten Anda, saya mendapatkan SyntaxError.
dnf upgrade -y
menjadi dnf update
. Adakah perbedaan substansial lainnya?