yum update --security
は、セキュリティ更新のみをインストールします。これは、yum-securityプラグインの拡張機能だと思います。
同等のdnfコマンドはありますか? (Fedora 22では、dnfがyumを置き換えました)
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
3つの設定で 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 --refreshの場合
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'に貼り付け、保存します
実行コマンド: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!'