Answers:
基于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
并且--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"
您可以通过以下三种设置使用dnf-automatic:
apply_updates = yes
download_updates = yes
upgrade_type = security
(默认配置文件是/etc/dnf/automatic.conf
)
或使用:
dnf updateinfo list security
获取所有可用的更新,然后手动更新。
您可以dnf updateinfo list updates security
在cli或bash脚本上放入for循环。我仍然强烈建议您查看安全更新,但您始终可以允许使用以下-y
命令dnf update
这对我来说是有效的,具体取决于一些需求:
for i in $(dnf updateinfo list updates security | grep -Ei ^fedora | cut -d' ' -f3) ; do dnf update $i; done
或用awk短一些(请注意,这不适用于--refresh)
for i in $(dnf updateinfo list updates security | awk 'NR>1 {print $3}') ; do dnf update $i; done
对于dnf-刷新
for i in $(dnf updateinfo list updates security| dnf updateinfo list updates security| awk 'NR>1 {print $3}') ; do dnf update $i; done
在我的情况下,之前提出的方法无法满足要求。您可以尝试一下,它可能更完美。创建名称为“ dnfupdate-security”的文件,然后在下面粘贴python行或执行cmd:
cmd1:sudo touch / usr / bin / dnfupdate-security && sudo chmod + x / usr / bin / dnfupdate-security
cmd2:sudo gedit / usr / bin / dnfupdate-security
接下来将python代码粘贴到文件'dnfupdate-security'中,保存
执行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
是不在行(即使你删除每行3个前导空格)的开始,即使我纠正你不一致的缩进,我得到一个SyntaxError。
dnf upgrade -y
中dnf update
。还有其他实质性差异吗?