Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

sudo apt-get update बनाम upgrade: अंतर क्या है? - एक स्पष्ट गाइड

sudo apt-get update और sudo apt-get upgrade दो कमांड हैं जिनका उपयोग आप Debian या Debian-आधारित Linux डिस्ट्रीब्यूशन में अपने सभी पैकेजों को अद्यतन रखने के लिए कर सकते हैं।

ये Linux एडमिन और DevOps करने वाले लोगों के लिए सामान्य कमांड हैं, लेकिन इन्हें जानना तब भी उपयोगी है जब आप अक्सर कमांड लाइन का उपयोग नहीं करते।

इस लेख में, मैं दोनों कमांड क्या करते हैं, उनका उपयोग कैसे करें, और कुछ अक्सर पूछे जाने वाले प्रश्नों पर जाऊंगा।

sudo apt-get update और sudo apt-get upgrade के बीच अंतर क्या हैं?

मुख्य अंतर यह है कि sudo apt-get update आपके डिस्ट्रो के सॉफ्टवेयर रिपॉजिटरी से, और आपके द्वारा कॉन्फिगर किए गए किसी भी थर्ड-पार्टी रिपॉजिटरी से पैकेज सूची का नवीनतम संस्करण लाता है। दूसरे शब्दों में, यह पता लगाएगा कि प्रत्येक पैकेज और निर्भरता का नवीनतम संस्करण क्या है, लेकिन वास्तव में उन अपडेट्स में से किसी को डाउनलोड या इंस्टॉल नहीं करेगा।

sudo apt-get upgrade कमांड आपके सिस्टम पर प्रत्येक पुराने पैकेज और निर्भरता के लिए अपडेट डाउनलोड और इंस्टॉल करता है। लेकिन सिर्फ sudo apt-get upgrade चलाने से पुराने पैकेज स्वचालित रूप से अपग्रेड नहीं होंगे - आपके पास अभी भी परिवर्तनों की समीक्षा करने और पुष्टि करने का मौका होगा कि आप अपग्रेड करना चाहते हैं।

sudo apt-get update कमांड का उपयोग कैसे करें

अपने Debian-आधारित Linux डिस्ट्रो (Debian, Ubuntu, Linux Mint, Kali Linux, Raspberry Pi OS, आदि) में, एक टर्मिनल विंडो खोलें।

आपके डिस्ट्रो के आधार पर, टर्मिनल को अलग-अलग नामों से जाना जा सकता है यह इस बात पर निर्भर करता है कि आप इसे कैसे खोलते हैं। उदाहरण के लिए, Ubuntu और Linux Mint में, डिफ़ॉल्ट टर्मिनल Gnome Terminal है, लेकिन एप्लिकेशन मेनू में टर्मिनल के तहत सूचीबद्ध हो सकता है।

टर्मिनल में, कमांड लाइन में sudo apt-get update दर्ज करें, अपना एडमिन पासवर्ड दर्ज करें, और Enter कुंजी दबाएं।

यदि अपडेट हैं, तो आपको इस तरह का आउटपुट दिखाई देगा:

kris@pihole:~ $ sudo apt-get update Hit:1 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease Get:2 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB] Get:3 https://archive.raspberrypi.org/debian bullseye InRelease [23.7 kB] Get:4 https://packages.azlux.fr/debian buster InRelease [3,989 B] Get:5 https://archive.raspberrypi.org/debian bullseye/main armhf Packages [282 kB] Get:6 https://packages.azlux.fr/debian buster/main armhf Packages [3,418 B] Fetched 340 kB in 4s (94.8 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 3 packages can be upgraded. Run 'apt list --upgradable' to see them.

यदि आप देखना चाहते हैं कि कौन से पैकेज अपग्रेड किए जा सकते हैं, तो apt list --upgradable चलाएं:

kris@pihole:~ $ apt list --upgradable Listing... Done libcamera0/stable 0~git20220426+18e68a9b-1 armhf [upgradable from: 0~git20220303+e68e0f1e-1] raspi-config/stable 20220425 all [upgradable from: 20220419] rpi-eeprom/stable 13.13-1 armhf [upgradable from: 13.12-1]

लेकिन यदि आपके डिस्ट्रो के सॉफ्टवेयर रिपॉजिटरी में पैकेज या निर्भरता के कोई नए संस्करण नहीं हैं, तो आपको इस तरह का आउटपुट दिखाई देगा:

kris@pihole:~ $ sudo apt-get update Get:1 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB] Hit:2 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease Hit:3 https://packages.azlux.fr/debian buster InRelease Hit:4 https://archive.raspberrypi.org/debian bullseye InRelease Fetched 26.7 kB in 3s (8,789 B/s) Reading package lists... Done

ध्यान दें कि अपग्रेड किए जा सकने वाले पैकेजों का कोई उल्लेख नहीं है, और apt list --upgradable चलाने के बारे में कोई नोट नहीं है।

लेकिन इसका मतलब यह नहीं है कि आपके सिस्टम पर कोई पुराना सॉफ्टवेयर नहीं है, बस यह कि आपको पहले से ही पैकेज सूची का नवीनतम संस्करण मिल गया है। आपने sudo apt-get update कई बार चलाया होगा।

आप हमेशा फिर से apt list --upgradable चला सकते हैं यह देखने के लिए कि क्या कुछ अपग्रेड किया जा सकता है।

या आप अधिक आधुनिक sudo apt update कमांड का उपयोग कर सकते हैं। यह कमांड हमेशा आपको अपग्रेड किए जा सकने वाले पैकेजों की संख्या दिखाएगा, या एक नोट कहेगा कि सब कुछ अद्यतित है।

apt और apt-get के बीच अंतर के बारे में अधिक जानकारी के लिए, नीचे इस खंड को देखें।

sudo apt-get upgrade कमांड का उपयोग कैसे करें

sudo apt-get update कमांड चलाने के बाद, उसी टर्मिनल विंडो में, sudo apt-get upgrade टाइप करें, यदि आवश्यक हो तो अपना पासवर्ड दर्ज करें, और एंटर दबाएं।

फिर, आपको इस तरह का आउटपुट दिखाई देगा:

kris@pihole:~ $ sudo apt-get upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used. Do you want to continue? [Y/n] 

आउटपुट के नीचे की ओर, आप उन पैकेजों को देखेंगे जिन्हें अपग्रेड किया जाएगा:

The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

डेटा की मात्रा जिसे लाने की आवश्यकता है, और अपग्रेड किए गए पैकेज इंस्टॉल होने के बाद जितना स्टोरेज स्पेस उपयोग करेंगे:

Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used.

और अंत में, आपसे पूछा जाएगा कि क्या आप अपग्रेड के साथ जारी रखना चाहते हैं:

Do you want to continue? [Y/n] 

आप अपग्रेड के साथ जारी रखने के लिए y, Y, या yes दर्ज कर सकते हैं, या upgrade कमांड से बाहर निकलने के लिए n, N, या no दर्ज कर सकते हैं।

यदि आप बाहर निकलना चुनते हैं, तो आपको इस तरह का आउटपुट दिखाई देगा:

kris@pihole:~ $ sudo apt-get upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used. Do you want to continue? [Y/n] n Abort.

यदि आप अपग्रेड के साथ जारी रखना चुनते हैं, तो आपको इस तरह का लंबा आउटपुट दिखाई देगा:

kris@pihole:~ $ sudo apt-get upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB] Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB] Get:3 https://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB] Fetched 2,616 kB in 3s (1,019 kB/s) Reading changelogs... Done (Reading database ... 43496 files and directories currently installed.) Preparing to unpack .../libcamera0_0~git20220426+18e68a9b-1_armhf.deb ... Unpacking libcamera0:armhf (0~git20220426+18e68a9b-1) over (0~git20220303+e68e0f1e-1) ... Preparing to unpack .../raspi-config_20220425_all.deb ... Unpacking raspi-config (20220425) over (20220419) ... Preparing to unpack .../rpi-eeprom_13.13-1_armhf.deb ... Unpacking rpi-eeprom (13.13-1) over (13.12-1) ... Setting up rpi-eeprom (13.13-1) ... Setting up libcamera0:armhf (0~git20220426+18e68a9b-1) ... Setting up raspi-config (20220425) ... Processing triggers for man-db (2.9.4-2) ... Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...

और एक बार यह पूरा हो जाने पर, सभी पुराने पैकेज और निर्भरताएं अपडेट हो जाएंगी।

sudo apt-get upgrade कमांड के बारे में याद रखने वाली एक महत्वपूर्ण बात यह है कि यह केवल वही अपग्रेड करता है जो बिना कुछ हटाए कर सकता है।

उदाहरण के लिए, यदि एक अपग्रेड के लिए एक नई निर्भरता की आवश्यकता होती है, तो upgrade कमांड इसे डाउनलोड और इंस्टॉल करेगा, लेकिन यह पुरानी निर्भरता को नहीं हटाएगा। पुरानी निर्भरताओं को हटाने के लिए एक अलग कमांड की आवश्यकता होती है। आप इसे बहुत देखेंगे जब आप एक नए कर्नेल संस्करण में अपग्रेड करते हैं।

यदि आप अपग्रेड करने के बाद इस तरह का संदेश देखते हैं:

The following packages were automatically installed and are no longer required: g++-8 gir1.2-mutter-4 libapache2-mod-php7.2 libcrystalhd3 Use 'sudo apt autoremove' to remove them.

आप सुझाव का पालन कर सकते हैं और उन अनावश्यक पैकेजों को हटाने के लिए sudo apt autoremove का उपयोग कर सकते हैं।

sudo apt-get upgrade कमांड के साथ विशेष विकल्पों का उपयोग कैसे करें

sudo apt-get upgrade कमांड के साथ कई विशेष विकल्प या पैरामीटर हैं जिनका आप उपयोग कर सकते हैं, लेकिन दो खास हैं: --dry-run और --yes।

--dry-run विकल्प का उपयोग कैसे करें:

--dry-run (वैकल्पिक रूप से, -s या --simulate) विकल्प अनुकरण करता है कि अपग्रेड प्रक्रिया के दौरान क्या होगा, लेकिन वास्तव में आपके सिस्टम पर कुछ भी नहीं बदलता:

kris@pihole:~ $ sudo apt-get upgrade --dry-run Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Inst libcamera0 [0~git20220303+e68e0f1e-1] (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf]) Inst raspi-config [20220331] (20220425 Raspberry Pi Foundation:stable [all]) Inst rpi-eeprom [13.12-1] (13.13-1 Raspberry Pi Foundation:stable [armhf]) Conf libcamera0 (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf]) Conf raspi-config (20220425 Raspberry Pi Foundation:stable [all]) Conf rpi-eeprom (13.13-1 Raspberry Pi Foundation:stable [armhf])

फिर भी, जबकि Debian और Debian-आधारित डिस्ट्रोस आमतौर पर बहुत स्थिर हैं, यह विकल्प उपयोगी है यदि आप यह सुनिश्चित करना चाहते हैं कि अपग्रेड के दौरान कोई संघर्ष नहीं है।

--yes विकल्प का उपयोग कैसे करें:

--yes (वैकल्पिक रूप से, -y या --assume-yes) विकल्प स्वचालित रूप से किसी भी संकेत का उत्तर हां में देता है यदि ऐसा करना सुरक्षित है:

kris@pihole:~ $ sudo apt-get upgrade --yes Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used. Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB] Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB] Get:3 https://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB] ... Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...

ध्यान दें कि ऊपर Do you want to continue? [Y/n] छोड़ दिया गया है, और सभी पैकेज अपग्रेड हो गए हैं।

अक्सर पूछे जाने वाले प्रश्न

sudo और apt-get क्या हैं?

sudo apt-get update और sudo apt-get upgrade के बारे में ध्यान देने वाली एक महत्वपूर्ण बात यह है कि दोनों कमांड तीन भागों से बने हैं: sudo, apt-get, और update या upgrade।

sudo का अर्थ "सुपरयूजर डू" है, और यह आपको रूट या एडमिन विशेषाधिकारों के साथ प्रोग्राम चलाने की अनुमति देता है।

उदाहरण के लिए, एक सिस्टम को रीबूट करने के लिए सुपरयूजर/रूट-स्तरीय विशेषाधिकारों की आवश्यकता होती है, इसलिए टर्मिनल में reboot चलाने से इस तरह की त्रुटियां वापस आ सकती हैं:

Failed to set wall message, ignoring: Interactive authentication required. Failed to reboot system via logind: Interactive authentication required. Failed to open initctl fifo: Permission denied Failed to talk to init daemon.

लेकिन यदि आप sudo reboot चलाते हैं, तो अपना एडमिन पासवर्ड दर्ज करें, आप reboot कमांड को सुपरयूजर के रूप में चलाएंगे, और आपका सिस्टम तुरंत रीस्टार्ट हो जाएगा।

apt-get Debian और Debian-आधारित Linux डिस्ट्रोस में एक कमांड लाइन टूल है जिसका उपयोग आप पैकेज इंस्टॉल और प्रबंधित करने के लिए करते हैं।

apt-get और apt के बीच क्या अंतर है?

apt Debian और Debian-आधारित डिस्ट्रोस पर एप्लिकेशन इंस्टॉल और प्रबंधित करने के लिए एक अधिक आधुनिक टूल है।

अधिकांश भाग के लिए, apt और apt-get को परस्पर विनिमय किया जा सकता है - sudo apt update और sudo apt-get update दोनों आपके सिस्टम पर पैकेज सूची को अपडेट करते हैं।

मुख्य अंतर जो आप देखेंगे वह यह है कि apt टाइप करना आसान है, इसका आउटपुट आम तौर पर अधिक उपयोगी है, और इसमें पैकेज इंस्टॉल करते समय प्रोग्रेस बार जैसी कुछ उपयोगकर्ता-अनुकूल सुविधाएं शामिल हैं।

जबकि इस लेख के अधिकांश उदाहरण apt-get का उपयोग करते हैं, मैं आपको apt का उपयोग करने के लिए दृढ़ता से प्रोत्साहित करता हूं।

sudo apt-get update और sudo apt-get upgrade उपयोग करने के लिए सुरक्षित हैं?

हां, Debian और Debian-आधारित डिस्ट्रोस आमतौर पर बहुत स्थिर हैं, और update और upgrade कमांड उपयोग करने के लिए सुरक्षित हैं। ऐसा इसलिए है क्योंकि पैकेज/निर्भरता के लिए प्रमुख अपडेट, और डिस्ट्रोस स्वयं, वर्ष में केवल एक या दो बार जारी किए जाते हैं।

नकारात्मक पक्ष यह है कि, आर्च Linux जैसे ब्लीडिंग एज डिस्ट्रोस के विपरीत, यदि आप एक पैकेज के नवीनतम संस्करण का उपयोग करना चाहते हैं, तो आपको कुछ अतिरिक्त काम करना पड़ सकता है। आपको PPA के माध्यम से एक थर्ड-पार्टी रिपॉजिटरी कॉन्फिगर करने, Snap या Flatpak जैसे वैकल्पिक पैकेजिंग सिस्टम का उपयोग करने, या पैकेज को स्वयं कंपाइल करने की आवश्यकता हो सकती है।

लेकिन थोड़े पुराने सॉफ्टवेयर के साथ आने वाली स्थिरता इसके लायक है, कम से कम मेरी राय में।

क्या आप sudo apt-get update और sudo apt-get upgrade कमांड को चेन कर सकते हैं?

आप सोच रहे होंगे, क्या sudo apt-get update चलाना, उसके पूरा होने का इंतजार करना, फिर sudo apt-get upgrade चलाना थकाऊ नहीं है?

जबकि दोनों sudo apt-get update और sudo apt-get upgrade काफी तेजी से चलते हैं, कभी-कभी कमांड की एक स्ट्रिंग निष्पादित करना और कुछ मिनट बाद उन पर वापस जांच करना आसान होता है।

&& ऑपरेटर के साथ, आप कई कमांड को इस तरह चेन कर सकते हैं:

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

&& ऑपरेटर के साथ याद रखने वाली महत्वपूर्ण बात यह है कि ऑपरेटर के बाद की कमांड केवल तभी चलती है जब उससे पहले की कमांड सफल होती है।

ऊपर दिए गए उदाहरण का उपयोग करते हुए, sudo apt-get upgrade केवल तभी चलता है जब sudo apt-get update सफल होता है। यदि कोई त्रुटि है, जैसे पैकेज सूची अपडेट करते समय नेटवर्क समस्या, तो sudo apt-get update छोड़ दिया जाता है।

sudo apt-get dist-upgrade और sudo apt full-upgrade क्या हैं, और क्या वे उपयोग करने के लिए सुरक्षित हैं?

इस Stack Overflow थ्रेड के अनुसार, ये कमांड हुड के तहत एक ही काम करते हैं - वे पुराने पैकेज को अपग्रेड करते हैं, और जब भी आवश्यक हो कुछ पैकेज को बुद्धिमानी से हटाते हैं।

अनिवार्य रूप से वे sudo apt-get upgrade और sudo apt autoremove कमांड के संयोजन की तरह हैं।

इन कमांड को चलाना अधिकांश मामलों में सुरक्षित होना चाहिए।

लेकिन बहुत से लोग, मैं भी शामिल हूं, sudo apt-get update और sudo apt-get upgrade का उपयोग करने की सलाह देते हैं। आपके पास आने वाले परिवर्तनों की समीक्षा करने का अधिक मौका होता है, और चूंकि upgrade कभी पैकेज नहीं हटाता, यह कम विनाशकारी है।

./thanks_for_reading.sh

यदि आपको sudo apt-get update और sudo apt-get upgrade पर यह विश्लेषण उपयोगी लगा, तो कृपया इसे अपने दोस्तों के साथ साझा करें ताकि अधिक लोग इससे लाभ उठा सकें।

इसके अलावा, ट्विटर पर पहुंचने के लिए स्वतंत्र महसूस करें और मुझे बताएं कि आप क्या सोचते हैं।


  1. DRAM या DRAM-less SSD? अंतर क्या है? DRAM या DRAM-less SSD? अंतर क्या है?

    सॉलिड स्टेट ड्राइव आपके PC के प्रदर्शन को बढ़ावा देने का एक शानदार तरीका है। दुर्भाग्य से, वे सभी समान नहीं बनाए गए हैं। बाजार पर विभिन्न सॉलिड स्टेट ड्राइव के बीच सबसे बड़े अंतरों में से एक यह है कि इसमें DRAM है या नहीं। इससे कोई फर्क नहीं पड़ता कि आप किस फॉर्म फैक्टर पर विचार कर रहे हैं - SATA, M

  1. गेमिंग राउटर बनाम स्टैंडर्ड राउटर: क्या अंतर है? गेमिंग राउटर बनाम स्टैंडर्ड राउटर: क्या अंतर है?

    हर साल एक्सट्रीम गेमर मार्केटिंग के साथ बहुत सारे नए, अधिक महंगे राउटर सामने आते हैं, लेकिन विज्ञापन के पीछे, वास्तव में इसका क्या मतलब है? इस गाइड में हम वास्तविक प्रदर्शन, फीचर्स, और डिजाइन में अंतर को तोड़ने जा रहे हैं, और क्या वे कीमत के लायक हैं। X-treme to the Max आजकल कई कंपनियों की तरह, रा

  1. VPN बनाम प्रॉक्सी: सुरक्षित ऑनलाइन ब्राउज़िंग के लिए प्रमुख अंतर समझें VPN बनाम प्रॉक्सी: सुरक्षित ऑनलाइन ब्राउज़िंग के लिए प्रमुख अंतर समझें

    सुरक्षा के संदर्भ में VPN और प्रॉक्सी सर्वर के बीच अंतर करने का मूल तंत्र डेटा एन्क्रिप्ट करने की क्षमता के माध्यम से है। यह आश्चर्य की बात नहीं है कि कई लोग डिजिटल आपदाओं को रोकने के लिए प्रॉक्सी और VPN का उपयोग कर रहे हैं, यह देखते हुए कि कॉर्पोरेट साइबर हमले 50% बढ़ गए हैं और 73% अमेरिकी परिवारों