"यम अद्यतन - सुरक्षा" के बराबर


13

yum update --securityकेवल सुरक्षा अद्यतन स्थापित करता है। मुझे लगता है कि यह यम-सुरक्षा प्लगइन से एक विस्तार है।

क्या समतुल्य dnf कमांड है? (फेडोरा 22 में yn की जगह dnf)


1
JFTR: Bugzilla.redhat.com/show_bug.cgi?id=1234930 द्वारा , यह सुविधा केवल DNF 2 और आगामी Fedora 26 में उपलब्ध है
— Sérgio

1
अब dnf उन्नयन --enablerepo = अद्यतन-परीक्षण --advisory = FEDORA-2019-7cafbe66ba
— Sérgio

जवाबों:


7

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
  • --refresh बल रेपो सिंक
  • मैं स्वचालित रूप से स्थापित करें
  • SECURITY_UPDATES_NUM परिष्कृत / निश्चित गणना पद्धति, 0/1 / अनंत के लिए काम करती है

1
बैश ( -yऔर --refreshजोड़ा जा सकता है) में वन-लाइनर के समान :up=$(sudo dnf -q updateinfo list sec | awk '{print $3}'); [[ $up ]] && sudo dnf upgrade $up
— marcin

वन-लाइनर उर्फ ​​के रूप मेंalias security-update="pkgs=\$(sudo dnf --refresh -q updateinfo list sec | awk '{print \$3}'); [[ \$pkgs ]] && sudo dnf upgrade -y \$pkgs"
— वेस्टन गैंगर

10

आप तीन सेटिंग्स के साथ dnf- स्वचालित का उपयोग कर सकते हैं :

apply_updates = yes
download_updates = yes
upgrade_type = security

(डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल है /etc/dnf/automatic.conf)

या उपयोग कर रहा है:

dnf updateinfo list security

सभी उपलब्ध अपडेट प्राप्त करने के लिए, फिर उन्हें मैन्युअल रूप से अपडेट करें।


1

आप dnf updateinfo list updates securityक्ली या बैश स्क्रिप्ट पर एक लूप के लिए रख सकते हैं । मैं अभी भी सुरक्षा अद्यतनों की समीक्षा करने की अत्यधिक अनुशंसा करता हूं, लेकिन आप हमेशा -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

0

पहले प्रस्तावित तरीकों ने मेरे मामले में संतुष्ट नहीं किया। आप यह कोशिश कर सकते हैं और यह शायद अधिक सही है। "Dnfupdate-security" नाम के साथ फ़ाइल बनाएं, फिर नीचे दी गई पायथन लाइनें चिपकाएँ या cmd निष्पादित करें:

cmd1: sudo टच / usr / bin / dnfupdate- सुरक्षा और& sudo chmod + x / usr / bin / dnfupdate- सुरक्षा

cmd2: sudo gedit / usr / bin / dnfupdate- सुरक्षा

इसके बाद अजगर कोड को 'dnfupdate-security' फ़ाइल में पेस्ट करें, इसे सेव करें

निष्पादन cmd: sudo dnfupdate- सुरक्षा

#!/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!'

1
"अधिक सही"?
— डॉन

यह और अधिक सही समाधान एक इंडेंटेशन एरर देता है (क्योंकि import osलाइन की शुरुआत में नहीं है (भले ही आप प्रत्येक पंक्ति से 3 प्रमुख रिक्त स्थान को हटा दें)। और यहां तक ​​कि अगर मैं आपके असंगत इंडेंटेशन को सही करता हूं, तो मुझे एक सिंटैक्सिग्राम प्राप्त होता है।
— एंथन

पुराने उत्तरों को तोड़ना कुछ ऐसा नहीं है जो आपको करना चाहिए। कुछ लोग आपके कोड के बारे में एक ही बात सोच सकते हैं, अर्थात यह बेकार है।
— मेलबर्सलान

सभी आलोचकों ने सकारात्मक रूप से स्वीकार किया। मैंने कुछ संपादन किए। मैंने सभी का परीक्षण किया और इसे फ़ेडोरा / रिहैट आधारित सिस्टम पर काम करना चाहिए ... मेरे कहने का मतलब यह नहीं था कि काम नहीं करने से पहले लेकिन मेरे मामले में बेकार है ?! :)
— लेकोटा लेक्सियस

तो आप टॉम के जवाब से शेल कमांड डालते हैं जो अजगर लिपियों में बदल रहा dnf upgrade -yहै dnf update। कोई अन्य पर्याप्त अंतर?
— मारिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.