उबंटू में सब कुछ अपडेट करने के लिए एक एकल कमांड?


15

मुझे पता है कि अद्यतन करने के लिए तीन कमांड हैं और फिर पूरे सिस्टम को अपग्रेड करें, ये हैं:

  • sudo apt-get update # उपलब्ध अद्यतनों की सूची प्राप्त करता है
  • sudo apt-get upgrade # वर्तमान पैकेज को सख्ती से अपग्रेड करें
  • sudo apt-get dist-upgrade # इंस्टॉल अपडेट (नए वाले)

क्या एक सुपर-अपग्रेड कमांड है जो इन सभी कमांड को एक में जोड़ती है ?


1
नहीं, आप अधिक से अधिक कर सकते हैंsudo apt-get update && sudo apt-get dist-upgrade
heemayl

यह अभी भी एक कमांड-लाइन है! ;-)
Fabby

जो किसी दिन इस प्रश्न पर ठोकर खाएंगे, उनके लिए यहां एक संबंधित है updateऔर upgradeएक-लाइनर के रूप में पूछना है ububuntu.com/a/1086022/295286
Sergiy Kolodyazhnyy

जवाबों:


24

3 सभ्य विकल्प हैं:

  1. आप निम्नलिखित की तरह कुछ स्क्रिप्ट बना सकते हैं:

    #!/bin/bash
    set -e
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade

    इसे कुछ इस तरह से कॉल करें update.shऔर इसे अंदर रखें /usr/local/binऔर फिर स्क्रिप्ट को रन करके निष्पादित करें:

    sudo chmod +x /usr/local/bin/update.sh
  2. एक अन्य तरीका यह होगा कि ~/.bashrcआप अपने उपनामों को स्टोर करें:

    alias update='sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade'
  3. अंतिम विधि कमांडलाइन पर केवल 3 कमांडों को एक साथ स्ट्रिंग करना होगा:

    sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

कुछ विकल्प ...

संदर्भ:


6
जब आप उपयोग कर रहे dist-upgradeहैं तो upgradeपहले से करने का कोई मतलब नहीं है ..
heemayl

3
@ हेमायल: सिद्धांत में हां। व्यवहार में, कोने के मामले हैं जहां एक प्रत्यक्ष dist-upgradeविफल हो सकता है लेकिन upgradeइसके बाद dist-upgradeनहीं होगा। यह काफी हद तक अलग-अलग रिलीज / वितरण / पीपीए से पैकेज निर्भरता परिभाषा कीड़े या मिश्रण पैकेज है। यदि कोई केवल एक रिलीज (डिफ़ॉल्ट) के लिए Canonical की आधिकारिक रिपॉजिटरी से पैकेज का उपयोग करता है, तो ऐसी त्रुटियां अत्यंत दुर्लभ और जल्दी से तय होनी चाहिए।
डेविड फोस्टरस्टर

2
# 3 का for x in update {,dist-}upgrade; do sudo apt $x; done
इम्प्रेशन

1
चरण 1 में, "सेट-ई" क्या करता है?
करजवदपला

8

हमारे पास एक-लाइनर कमांड हो सकता है (स्क्रिप्ट की कोई आवश्यकता नहीं है, बस कॉपी-पेस्ट करें)

sudo apt update -y && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean -y && sudo apt autoclean -y
  • update - संकुल की सूची को अद्यतन करता है लेकिन संस्थापित नहीं करता है
  • upgrade - यदि नए संस्करण उपलब्ध हैं तो नए संस्करण स्थापित करें
  • full-upgrade - अपग्रेड का कार्य करता है लेकिन वर्तमान में स्थापित पैकेज को हटा देगा यदि सिस्टम को एक पूरे के रूप में अपग्रेड करना आवश्यक है (खराब निर्भरता को ठीक करता है)
  • autoremove, autocleanऔर clean- पुराने पैकेजों को साफ करें जिनकी किसी और जरूरत नहीं है
  • विकल्प -yहर कदम पर अनुमति के लिए अनुरोध नहीं करता है

7

यदि आप बहुत अधिक टाइपिंग से परेशान हैं, तो आप खुद को "उपनाम" परिभाषित कर सकते हैं। यह आपके $HOME/.profileजैसे के अंत में एक पंक्ति जोड़कर किया जा सकता है :

alias sau='sudo aptitude update && sudo aptitude upgrade'

(निश्चित रूप से आप "sau" को किसी और चीज़ से बदल सकते हैं - मेरे लिए जो कि सूडो Apt-get Update का एक संक्षिप्त नाम है)। फ़ाइल को सहेजने के बाद, एक नया शेल खोलें (या "स्रोत" .profile फिर से चल रहा है . $HOME/.profile। अब आप हमेशा पूर्ण काम करने के लिए बस "sau" टाइप कर सकते हैं। मेरे लिए कई मशीनों के साथ महान काम करता है।


हम्म। मुझे लगता है मैं बस किसी पूछ रहा था मुझे उर्फ यह बताने के लिए: पी
polandeer

हाँ, लेकिन यह "एकल आदेश" के साथ करने का एकमात्र तरीका है। और आपके प्रश्न ने इसे बाहर नहीं किया;)
इज़ी

मुश्किल। वैसे भी, मेरे द्वारा पूछा गया एकमात्र कारण यह था कि मैं बेहतर तरीके से समझना चाहता था, इसलिए नहीं कि मैं लिखने में बहुत आलसी हूं sudo aptitude update && sudo aptitude upgrade। मैंने जो कारण पूछा था वह इसलिए था क्योंकि आप इसे पैक्मैन ( sudo pacman -Syu --noconfirm) के साथ कर सकते हैं ।
पॉलैंडर

यदि आपको ऐसा अक्सर और कई मशीनों पर करना है, तो आपको खुशी है कि आप कम से कम एक उर्फ ​​हो सकते हैं। हालाँकि: मैन पेज के अनुसार apt-get updateएक पैरामीटर है -u, जो उपलब्ध अपडेट दिखाता है। यह कोशिश नहीं की कि क्या यह उन्हें लागू करने के लिए कहता है (अभी मेरे पास कोई उबंटू / डेबियन नहीं है)।
इज़्ज़ल


2
sudo apt install unattended-upgrades

यह अभी तक की सबसे अच्छी लाइन है। अन्य सभी समाधानों में आपको हर दिन एक बार और एक पंक्ति टाइप करनी होगी। यह वास्तव में वन-कमांड समाधान है। Ubuntu से ऑफिशियल एप्टीट्यूड देखें !

.confइस पैकेज की फाइलों को संपादित करके /etcआप update, install, clean, autoremove... की आवृत्ति सेट कर सकते हैं।

या ए और नोटिफिकेशन सहित ईमेल करें कि पैकेज नामों की सूची के साथ अपडेट उपलब्ध है

प्रत्येक परिवर्तन के साथ एक अच्छी छोटी लॉग फ़ाइल उत्पन्न होती है, और मुझे लगता है कि थोड़ी सी स्क्रिप्ट को डेस्कटॉप नोटिफिकेशन में पॉप अप करने के लिए एक गिनी एक्सटेंशन के रूप में लिखा जा सकता है (विषय हाहा से)

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