dnf equivalente a “yum update --security”

12

yum update --security instala apenas atualizações de segurança. Eu acho que é uma extensão do plugin de segurança do yum.

Existe um comando dnf equivalente? (dnf substituiu o yum no Fedora 22)

    
por marcin 08.08.2015 / 18:29

4 respostas

6

Com base no link

#!/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
  • - atualizar force repo sync
  • -y instala automaticamente
  • SECURITY_UPDATES_NUM método de contagem refinado / fixo, funciona para 0/1 / infinity
por 05.10.2015 / 22:04
10

Você pode usar dnf-automatic com três configurações:

apply_updates = yes
download_updates = yes
upgrade_type = security

(o arquivo de configuração padrão é /etc/dnf/automatic.conf )

ou usando:

dnf updateinfo list security

para obter todas as atualizações disponíveis e atualizá-las manualmente.

    
por 08.08.2015 / 19:11
1

Você pode colocar o dnf updateinfo list updates security em um loop for no script cli ou bash. Eu ainda recomendo rever as atualizações de segurança, mas você sempre pode permitir o uso do comando -y para dnf update

isto é o que funciona para mim, dependendo de algumas necessidades:

for i in $(dnf updateinfo list updates security | grep -Ei ^fedora | cut -d' ' -f3) ; do dnf update $i; done

Ou um pouco mais curto com o awk (esteja ciente de que isso não funciona com --refresh)

for i in $(dnf updateinfo list updates security | awk 'NR>1 {print $3}') ; do dnf update $i; done

para um 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
    
por 16.09.2016 / 10:41
0

Os métodos antes propostos não satisfazem no meu caso. Você pode tentar este e talvez seja mais perfeito. Crie um arquivo com o nome "dnfupdate-security" e depois cole as linhas do python abaixo ou execute cmd:

cmd1: toque sudo / usr / bin / dnfupdate-security & & chmod sudo + x / usr / bin / dnfupdate-security

cmd2: sudo gedit / usr / bin / dnfupdate-security

Em seguida, cole o código python no arquivo 'dnfupdate-security', salve-o

Execução 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!'
    
por 29.03.2016 / 15:42

Tags