हर 4 सप्ताह में होने वाले अपडेट के लिए CLI जांच कैसे करें और सॉफ़्टवेयर स्रोतों पर जाए बिना उन्हें स्वचालित रूप से इंस्टॉल करें?


10

मेरे द्वारा स्थापित किए जाने के बाद मेरे पास अपने कंप्यूटर पर चलने वाले कस्टम कमांड का एक सेट है। मैं हर 4 सप्ताह में अपडेट के लिए उबंटू जांच कैसे करूं और उन्हें स्वचालित रूप से जांच पर स्थापित करूं?

कमांड लाइन के माध्यम से मुझे इसकी आवश्यकता होगी ताकि जब मैं अपने कंप्यूटर सेट करूँ तो मैं इसे सामान्य उपयोगकर्ताओं के लिए सेट कर सकूँ।

पहला कमांड अपडेट मैनेजर को हर 2 हफ्ते में अपडेट के लिए चेक करेगा क्योंकि वे हमेशा इतना नहीं आते हैं और उबंटू सर्वर की बैंडविड्थ को बचाते हैं।

मुझे इसे सेट करने की भी आवश्यकता है ताकि उपयोगकर्ताओं को अपडेट स्थापित करने के लिए क्लिक करने की आवश्यकता न हो क्योंकि यह हर बार जब मैं किसी मित्र को कंप्यूटर सेट करने में मदद करता हूं।

जवाबों:


10

सबसे पहले, इस तरह से स्वचालित अपडेट सक्षम करें:

sudo apt-get install unattended-upgrades

फिर आपको इसके कॉन्फ़िगरेशन को संपादित करने की आवश्यकता है, टाइप करें

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

( nanoयदि आप चाहें तो अपने पसंदीदा टेक्स्ट एडिटर से बदलें )

फ़ाइल इस तरह दिखती है:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu maverick-security";
//      "Ubuntu maverick-updates";
};

इसका //मतलब है कि यह लाइन एक टिप्पणी है और कार्यक्रम द्वारा इस पर विचार नहीं किया जाएगा, सुरक्षा सुधारों के अलावा स्थिर रिलीज़ अपडेट को शामिल करने के लिए स्ट्रोक निकालें। इसके अलावा, maverickआपके द्वारा चलाए जा रहे Ubuntu के संस्करण से प्रतिस्थापित करें।

उस अंतराल को सेट करने के लिए जिस पर सिस्टम अपडेट के लिए जांच करता है, /etc/apt/apt.conf.d/10periodicएक टेक्स्ट एडिटर के साथ फाइल को संपादित करें :

APT::Periodic::Update-Package-Lists "14";
APT::Periodic::Download-Upgradeable-Packages "14";
APT::Periodic::AutocleanInterval "14";
APT::Periodic::Unattended-Upgrade "14";

इस उदाहरण में, सिस्टम को हर दो सप्ताह में अपडेट किया जाता है।

अधिक विस्तृत विवरण के लिए, Ubuntu सर्वर गाइड में स्वचालित अपडेट देखें ।


ध्यान दें कि पपुकैजा का जवाब उस अंतराल के बारे में बात कर रहा है जिस पर अद्यतन प्रबंधक संवाद आपकी स्क्रीन पर पॉप अप होता है, मैं अनुमान लगा रहा हूं कि आप क्या नहीं कर रहे हैं, लेकिन मुझे यकीन नहीं है। :)


डायलॉग्स को पॉप अप करने की आवश्यकता नहीं है और यह 1 पंक्ति में नहीं जा रहा है। यदि मैं सॉफ्टवेयर स्रोतों में 2 सप्ताह की जाँच करने के लिए सेट करता हूँ तो क्या यह संभव है कि अद्यतन संवाद पहले या बाद में पॉप अप हो जाए? जरूरत यह है कि 1 लाइन के साथ उस उपयोगकर्ता को स्थापित करना संभव होगा, यहां तक ​​कि वह यह भी जानता होगा कि उसके पास हर 4 सप्ताह में अपडेट होने वाला सिस्टम है और उसे किसी भी अपडेट को पूछते हुए देखने की जरूरत नहीं है और स्वचालित रूप से इसकी स्थापना की जाती है। इसलिए मुझे सॉफ्टवेयर स्रोतों में माउस के साथ मैन्युअल रूप से सेट करने की आवश्यकता नहीं है।
कंगारू

मुझे यकीन नहीं है कि मैं आपको समझता हूं। आप सिस्टम → वरीयताएँ → स्टार्टअप एप्लिकेशन पर जाकर और "अपडेट नोटिफ़ायर" पर चेक मार्क हटाकर अपडेट नोटिफिकेशन को अक्षम कर सकते हैं। क्या आपका आशय यही था? इसके अलावा, निश्चित रूप से आप इसे "14" दिनों के बजाय "30" पर सेट कर सकते हैं (या कोई भी राशि जो आप चाहते हैं)
स्टेफानो पलाज़ो

और वह भी एक पंक्ति के साथ किया जा सकता है? यदि हाँ, तो यह भी अच्छा है कि नहीं-इसकी मुख्य बात यह है कि मैं चाहता था। मुख्य बात यह है कि अपडेट चेकिंग और क्या करना है, इसे बदलने के लिए सॉफ़्टवेयर स्रोतों के सेट पर जाना। मैं हर 28 दिन में जांच करना चाहता हूं और टर्मिनल में कुछ भी पूछे बिना अपडेट को स्थापित करना चाहता हूं।
कंगारू

मेरे जवाब में एक लाइन कमांड: apt-get update && apt-get upgrade -y
luri

@luri कि क्या इस सवाल के बारे में है नहीं है
Stefano Palazzo

2

यदि आपका मतलब है कि सब कुछ "अद्यतन करने योग्य", यानी, अपने सभी पैकेजों को अपडेट करें, तो मुझे लगता है कि आप हर 28 दिनों की तुलना में क्रोन (रूट क्रोन के भीतर) apt-get update && apt-get upgrade -yचला सकते हैं।

प्रतिबंधात्मक PATHसेटिंग के कारण कुछ लोगों को क्रोन नौकरियों के साथ समस्या है । क्या आपको कोई समस्या है जो आपको फ़ाइल PATHकी शुरुआत में परिभाषित कर सकती है crontab -e(जैसा कि CronHowto में सुझाया गया है )

इसके अलावा, यह जांचने के लिए कि सब कुछ ठीक चल रहा है, मैं इस तरह से परिणाम लॉग करूंगा:

root@PORTATIL:/var/log$ crontab -l
* * */2 * * /usr/share/myupdate.sh > /var/log/myupdate.log

myupdate.sh इस के रूप में सरल हो सकता है:

#!/bin/bash
#Testing updates
echo "$(date) Crond myupdate sarting."
apt-get update -y
apt-get upgrade -y
echo "$(date)Crond myupdate finished."

यह मेरे लिए काम नहीं करता है। जब मुझे मेरे क्रोन लॉग मिलते हैं aptitude -y safe-upgrade, तो एक नियंत्रित ट्टी की आवश्यकता के बारे में शिकायत होती है, और फिर पथ त्रुटियों का एक गुच्छा होता है। शायद मुझे एक सवाल करना चाहिए ..
djeikyb

क्या आपने इसे रूट क्रोन के भीतर सेट किया था?
लुरी २

हां। यह कुछ अलग पथ समस्याओं के कारण असफल हो रहा था, इसलिए मैंने # /? / बिन / बैश के साथ / apt-get के लिए पूर्ण पथ पर / रूट / बिन पर एक स्क्रिप्ट बनाई। यह बेहतर काम करता है, लेकिन यह अभी भी अपग्रेड नहीं करता है।
djikybb

लॉग में त्रुटियों को पोस्ट करें .... या जो भी विफल रहता है
लुरी

मैंने एक अलग सवाल किया: askubuntu.com/q/23795/8515
djeikyb

1

आप उस समय के बीच के अंतराल को बदल सकते हैं जब अपडेट-मैनेजर gconf- एडिटर को खोलकर चलाया जाता है (उदाहरण के लिए Alt + F2 और टाइपिंग gconf-editor)। फिर पता लगाएं /apps/update-notifier

अंतराल को कुंजी में परिभाषित किया गया है regular_auto_launch_intervalजहां मूल्य दिनों की संख्या है। मुझे लगता है कि यह विधि गैर-ग्राफ़िकल स्वचालित updater (अनअटेंडेड-अपग्रेड) को प्रभावित नहीं करती है।

कृपया ध्यान दें कि बग के कारण उबंटू स्वचालित रूप से सुरक्षा अद्यतन स्थापित नहीं कर सकता है ।


4
: यह इस उत्तर के कमांड लाइन संस्करण है gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 7(जहां 7 दिनों में अंतराल है)
Stefano Palazzo

मैंने अभी जाँच की है यह पहले से ही 7. लेकिन सॉफ्टवेयर स्रोतों में इसके सेट 2 सप्ताह। शायद इसके कहीं और?
कंगारू

0

मैं डालता हूं gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1और हर दिन यह दिखाता हूं कि मैंने अपडेट इंस्टॉल नहीं किया है। यदि कोई नया अपडेट नहीं आता है तो क्या यह खुलता है? तो फिर हर 4 सप्ताह में ऑटो अपडेट करने से यह पॉप अप नहीं होगा? तो फिर बस हर हफ्ते 4 सप्ताह में सीएलआई से ऑटो अपडेट को कैसे स्थापित करें? मैं यही चाहता था। सॉफ्टवेयर स्रोतों पर नहीं जा रहा है और माउस के साथ कर रहा है। और ऐसा करने से इसके संभावित couse को और अधिक किया जा सकता है फिर 2 सप्ताह का समय दिया जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.