Anda bisa meletakkan dnf updateinfo list updates securitydalam for for pada skrip cli atau bash. Saya masih sangat merekomendasikan untuk meninjau pembaruan keamanan tetapi Anda selalu dapat mengizinkan untuk memberikan -yperintahdnf 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!'
Solusi yang lebih sempurna ini memberikan IndentationError (karena import osbukan 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.
Anthon
Menyingkirkan jawaban lama bukanlah sesuatu yang harus Anda lakukan. Beberapa orang mungkin berpikir hal yang sama tentang kode Anda, yaitu menyebalkan.
MelBurslan
Semua kritik diterima secara positif. Saya melakukan beberapa pengeditan. Saya menguji semua dan itu harus bekerja pada sistem berbasis fedora / redhat ... Saya tidak bermaksud mengatakan metode sebelumnya tidak bekerja tetapi dalam kasus saya menyebalkan ?! :)
LecTos Lacius
jadi Anda memasukkan perintah shell dari jawaban Tomot ke skrip python berubah dnf upgrade -ymenjadi dnf update. Adakah perbedaan substansial lainnya?
Jawaban:
Berdasarkan http://forums.fedoraforum.org/showthread.php?t=305905
sumber
-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:
(File konfigurasi default adalah
/etc/dnf/automatic.conf
)atau menggunakan:
untuk mendapatkan semua pembaruan yang tersedia, kemudian perbarui secara manual.
sumber
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:
Atau sedikit lebih pendek dengan awk (perlu diketahui bahwa ini tidak bekerja dengan --refresh)
untuk dnf --refresh
sumber
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
sumber
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
menjadidnf update
. Adakah perbedaan substansial lainnya?