dnf는 "yum update --security"와 동일합니다.

dnf는 "yum update --security"와 동일합니다.

yum update --security보안 업데이트만 설치하세요. yum-security 플러그인의 확장이라고 생각합니다.

동등한 dnf 명령이 있습니까? (Dnf는 Fedora 22에서 yum을 대체했습니다)

답변1

당신은 그것을 사용할 수 있습니다dnf-자동세 가지 설정이 있습니다:

apply_updates = yes
download_updates = yes
upgrade_type = security

(기본 프로필은 /etc/dnf/automatic.conf)

또는 다음을 사용하십시오:

dnf updateinfo list security

사용 가능한 모든 업데이트를 다운로드하고 수동으로 업데이트하세요.

답변2

기반으로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
  • - 새로 고치다강제 저장소 동기화
  • -와이자동 설치
  • SECURITY_UPDATES_NUM미세/고정 계산 방법, 0/1/무한대에서 작동

답변3

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

답변4

이전에 제안한 방법은 내 상황에 적합하지 않았습니다. 이것을 시도해 볼 수 있습니다. 어쩌면 더 완벽할 수도 있습니다. "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!'

관련 정보