yum update --security
chỉ cài đặt cập nhật bảo mật. Tôi nghĩ đó là một phần mở rộng từ plugin bảo mật yum.
Có một lệnh dnf tương đương? (dnf thay thế yum trong Fedora 22)
yum update --security
chỉ cài đặt cập nhật bảo mật. Tôi nghĩ đó là một phần mở rộng từ plugin bảo mật yum.
Có một lệnh dnf tương đương? (dnf thay thế yum trong Fedora 22)
Câu trả lời:
Dựa trên 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
và --refresh
có thể được thêm vào):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"
Bạn có thể sử dụng dnf-Automatic với ba cài đặt:
apply_updates = yes
download_updates = yes
upgrade_type = security
(Tệp cấu hình mặc định là /etc/dnf/automatic.conf
)
hoặc sử dụng:
dnf updateinfo list security
để có được tất cả các bản cập nhật có sẵn, sau đó cập nhật chúng theo cách thủ công.
Bạn có thể đặt dnf updateinfo list updates security
một vòng lặp for trên tập lệnh cli hoặc bash. Tôi vẫn khuyên bạn nên xem lại các bản cập nhật bảo mật nhưng bạn luôn có thể cho phép ném -y
lệnh vàodnf update
đây là những gì làm việc cho tôi tùy thuộc vào một số nhu cầu:
for i in $(dnf updateinfo list updates security | grep -Ei ^fedora | cut -d' ' -f3) ; do dnf update $i; done
Hoặc ngắn hơn một chút với awk (lưu ý rằng điều này không hoạt động với --refresh)
for i in $(dnf updateinfo list updates security | awk 'NR>1 {print $3}') ; do dnf update $i; done
cho một 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
Các phương pháp được đề xuất trước đây không thỏa mãn trong trường hợp của tôi. Bạn có thể thử cái này và nó có lẽ hoàn hảo hơn. Tạo tập tin có tên "dnfupdate-security" sau đó dán các dòng python bên dưới hoặc thực thi cmd:
cmd1: sudo touch / usr / bin / dnfupdate-security && sudo chmod + x / usr / bin / dnfupdate-security
cmd2: sudo gedit / usr / bin / dnfupdate-security
Tiếp theo dán mã python vào tệp 'dnfupdate-security', lưu nó
Thực thi 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
không ở đầu dòng (ngay cả khi bạn loại bỏ 3 khoảng trắng hàng đầu khỏi mỗi dòng). Và ngay cả khi tôi sửa lỗi thụt đầu dòng không nhất quán của mình, tôi vẫn nhận được SyntaxError.
dnf upgrade -y
thành dnf update
. Bất kỳ sự khác biệt đáng kể khác?