yum update --security
보안 업데이트 만 설치합니다. 나는 그것이 yum-security 플러그인의 확장이라고 생각합니다.
동등한 dnf 명령이 있습니까? (페도라 22에서 dnf는 yum을 대체했습니다)
yum update --security
보안 업데이트 만 설치합니다. 나는 그것이 yum-security 플러그인의 확장이라고 생각합니다.
동등한 dnf 명령이 있습니까? (페도라 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
-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"
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
그런 다음 파이썬 코드를 파일 '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 개의 선행 공백을 제거하더라도) IndentationError를 제공합니다. 일관성없는 들여 쓰기를 수정하더라도 SyntaxError가 발생합니다.
dnf upgrade -y
하여로 변경 합니다 dnf update
. 다른 실질적인 차이점이 있습니까?