06. Ubuntu Server पर सॉफ़्टवेयर स्थापित करना और प्रबंधित करना: संपूर्ण मार्गदर्शिका

सॉफ़्टवेयर प्रबंधित करना किसी भी Ubuntu Server प्रशासक के लिए एक बुनियादी कौशल है। चाहे आप Azure, AWS या GCP जैसे क्लाउड वातावरण में काम कर रहे हों, या ऑन-प्रेमाइसेस इन्फ्रास्ट्रक्चर प्रबंधित कर रहे हों, पैकेज प्रबंधन टूल जैसे APT को समझना सुरक्षित और अनुकूलित सिस्टम बनाए रखने के लिए आवश्यक है।

इस गाइड में, हम सॉफ़्टवेयर स्थापित करने, अपडेट करने और प्रबंधित करने की मूल बातें शामिल करेंगे, क्लाउड-विशिष्ट परिदृश्यों का पता लगाएँगे, सामान्य समस्याओं का निवारण करेंगे, और Ubuntu Server प्रशासन में महारत हासिल करने में मदद के लिए व्यावहारिक उदाहरण देंगे।


पिछला लेख:

01. Ubuntu Server का परिचय – SysOSX: AI & Cloud

02. अपना पहला Ubuntu सर्वर कैसे सेट करें: शुरुआती मार्गदर्शिका – SysOSX: AI & Cloud

03. Ubuntu Server के लिए Linux कमांड लाइन में महारत – SysOSX: AI & Cloud

04. Ubuntu Server पर उपयोगकर्ता और अनुमति प्रबंधन: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

05. Ubuntu Server के लिए नेटवर्किंग की मूल बातें: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud



1. Ubuntu पर APT और पैकेज प्रबंधन को समझना

Ubuntu Server APT (Advanced Package Tool) को अपने प्राथमिक पैकेज प्रबंधक के रूप में उपयोग करता है। APT निर्भरताओं को स्वचालित रूप से संभालकर और रिपॉजिटरी को पैकेज के विश्वसनीय स्रोत के रूप में उपयोग करके सॉफ़्टवेयर प्रबंधन को सरल बनाता है।

APT के प्रमुख घटक:

  • apt: पैकेज प्रबंधित करने के लिए कमांड-लाइन टूल।
  • dpkg: .deb फ़ाइलों के लिए निम्न-स्तरीय पैकेज प्रबंधक।
  • रिपॉजिटरी: ऑनलाइन स्रोत जहाँ Ubuntu पैकेज संग्रहीत और प्राप्त किए जाते हैं।

2. APT के साथ सॉफ़्टवेयर स्थापित करना

Ubuntu Server पर सॉफ़्टवेयर स्थापित करने के लिए, apt install कमांड का उपयोग करें।

उदाहरण: Apache वेब सर्वर स्थापित करना

  • पैकेज सूची अपडेट करें:
sudo apt update 

आउटपुट:

Hit:1 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [922 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [151 kB]
Get:7 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [364 kB]
Get:8 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:9 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:10 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [7076 B]
Get:11 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [21.3 kB]
Get:12 http://azure.archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B]
Get:13 http://azure.archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Get:14 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Components [9024 B]
Get:15 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [51.9 kB]
Get:16 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [208 B]
Get:17 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B]
Fetched 1907 kB in 1s (2778 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
15 packages can be upgraded. Run 'apt list --upgradable' to see them.
  • Apache स्थापित करें:
sudo apt install apache2

3. सॉफ़्टवेयर हटाना

यदि आपको अब किसी पैकेज की आवश्यकता नहीं है, तो आप उसे apt remove या apt purge कमांड का उपयोग करके हटा सकते हैं।

उदाहरण: Apache हटाना

sudo apt remove apache2

आउटपुट:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  apache2
...
After this operation, 2 MB disk space will be freed.
Do you want to continue? [Y/n]

इसे पूरी तरह से हटाने के लिए, कॉन्फ़िगरेशन फ़ाइलों सहित:

sudo apt purge apache2


4. पैकेज अपडेट और अपग्रेड करना

नियमित अपडेट सिस्टम सुरक्षा और स्थिरता के लिए महत्वपूर्ण हैं।

कमांड:

  • पैकेज सूची अपडेट करें
sudo apt update 
  • स्थापित पैकेज अपग्रेड करें
sudo apt upgrade
  • पूर्ण अपग्रेड (कर्नेल अपडेट सहित)
sudo apt full-upgrade

आउटपुट:

The following packages will be upgraded:
  linux-image-5.4.0-91-generic linux-headers-5.4.0-91-generic ...
Do you want to continue? [Y/n]

5. रिपॉजिटरी प्रबंधित करना

रिपॉजिटरी पैकेज प्रबंधन के लिए आवश्यक हैं। डिफ़ॉल्ट रूप से, Ubuntu आधिकारिक रिपॉजिटरी का उपयोग करता है, लेकिन आवश्यकतानुसार अतिरिक्त रिपॉजिटरी जोड़ी, संशोधित या हटाई जा सकती हैं।

Deb822 प्रारूप में रिपॉजिटरी प्रबंधित करना

Ubuntu के हालिया संस्करणों ने Deb822 प्रारूप का उपयोग करके रिपॉजिटरी प्रबंधन की ओर रुख किया है। पारंपरिक /etc/apt/sources.list फ़ाइल का उपयोग करने के बजाय, रिपॉजिटरी अब .sources फ़ाइलों के माध्यम से प्रबंधित की जाती हैं। ये फ़ाइलें /etc/apt/sources.list.d/ निर्देशिका में स्थित होती हैं।

वर्तमान रिपॉजिटरी देखना

अपनी वर्तमान रिपॉजिटरी देखने के लिए, .sources फ़ाइलें देखें। इनका स्थान है /etc/apt/sources.list.d/:

ls /etc/apt/sources.list.d/

उदाहरण के लिए:

cat /etc/apt/sources.list.d/ubuntu.sources

 .sources फ़ाइल Deb822 प्रारूप में इस तरह दिखती है:

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

रिपॉजिटरी जोड़ना

Deb822 प्रारूप में नई रिपॉजिटरी जोड़ने के लिए, .sources फ़ाइल बनाएँ। स्थान: /etc/apt/sources.list.d/. उदाहरण के लिए, कस्टम PPA रिपॉजिटरी जोड़ने के लिए:

sudo nano /etc/apt/sources.list.d/custom.sources

वांछित अनुकूलित सामग्री जोड़ें:

Types: deb
URIs: http://customizedurl/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/repository-name.gpg

फ़ाइल सहेजें और पैकेज सूची अपडेट करें:

sudo apt update

रिपॉजिटरी हटाना

रिपॉजिटरी हटाने के लिए, संगत .sources फ़ाइल को हटाएँ। स्थान: /etc/apt/sources.list.d/:

sudo rm /etc/apt/sources.list.d/custom.sources
sudo apt update

Deb822 प्रारूप के लाभ

  • संरचित कॉन्फ़िगरेशन: रिपॉजिटरी प्रकार, URI, सुइट और घटकों को स्पष्ट रूप से अलग करता है।
  • बेहतर सुरक्षा: रिपॉजिटरी हस्ताक्षर के लिए GPG कुंजियाँ निर्दिष्ट करने की अनुमति देता है। उपयोग किया जाने वाला फ़ील्ड है Signed-By ।
  • बेहतर संगतता: क्लाउड और कंटेनरीकृत वातावरणों में कई रिपॉजिटरी प्रबंधित करना आसान होता है।

अधिक जानकारी के लिए, sources.list(5) मैनुअल पृष्ठ देखें।


6. पैकेज कैश प्रबंधित करना

APT डाउनलोड की गई पैकेज फ़ाइलों और मेटाडेटा को स्थानीय रूप से संग्रहीत करने के लिए कैश प्रणाली का उपयोग करता है। यह कैश सॉफ़्टवेयर इंस्टॉलेशन और अपडेट जैसे संचालन को तेज़ करने में मदद करता है, लेकिन समय के साथ बढ़ सकता है और डिस्क स्थान ले सकता है। कैश को प्रबंधित करने का तरीका समझना सिस्टम प्रदर्शन बनाए रखने और संसाधन खाली करने के लिए आवश्यक है।

कैश आकार जाँचना

यह जाँचने के लिए कि कैश कितनी जगह ले रहा है:

sudo du -sh /var/cache/apt/

आउटपुट उदाहरण:

126M    /var/cache/apt/

कैश साफ़ करना

  1. पैकेज कैश साफ़ करें
     apt clean कमांड का उपयोग करके सभी कैश की गई पैकेज फ़ाइलों को हटाएँ:sudo apt clean इससे /var/cache/apt/archives निर्देशिका साफ़ हो जाती है, जिसमें डाउनलोड की गई .deb फ़ाइलें संग्रहीत होती हैं।
  2. आंशिक डाउनलोड हटाएँ
    यदि डाउनलोड बाधित या दूषित हो गया है, तो आंशिक फ़ाइलों को इससे हटाएँ:sudo apt autoclean इससे केवल पुरानी फ़ाइलें और आंशिक डाउनलोड हटते हैं।

कैश सफाई के लिए उदाहरण आउटपुट

sudo apt clean
sudo apt autoclean

आउटपुट:

Cleaning up /var/cache/apt/archives...
Removing unused files...
Done.

कैश पुनर्निर्माण

यदि आपको संदेह है कि कैश मेटाडेटा दूषित है, तो पैकेज सूची अपडेट करके इसे पुनः बनाएँ:

sudo apt update 

इससे स्थानीय कैश रिपॉजिटरी के नवीनतम मेटाडेटा के साथ ताज़ा हो जाता है।


7. क्लाउड परिदृश्य: Azure, AWS और GCP में सॉफ़्टवेयर प्रबंधन

क्लाउड वातावरणों में, Ubuntu Server पर सॉफ़्टवेयर प्रबंधन ऑन-प्रेमाइसेस सेटअप की तरह ही काम करता है। हालाँकि, कुछ अतिरिक्त बातों पर ध्यान देना होता है:

Azure

  • Azure कस्टम स्क्रिप्ट एक्सटेंशन प्रदान करता है, जिससे VM परिनियोजन के दौरान सॉफ़्टवेयर इंस्टॉलेशन स्वचालित हो जाता है।
  • उदाहरण: Nginx स्थापित करने के लिए स्क्रिप्ट का उपयोग करना:
az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name CustomScript \
  --publisher Microsoft.Azure.Extensions \
  --settings '{"commandToExecute":"sudo apt update && sudo apt install -y nginx"}'

AWS

  •  उपयोगकर्ता डेटा स्क्रिप्ट का उपयोग करके इंस्टेंस लॉन्च के दौरान सॉफ़्टवेयर स्थापित करें।
  • उदाहरण: EC2 इंस्टेंस पर Docker स्थापित करना:
#!/bin/bash
sudo apt update
sudo apt install -y docker.io

GCP

  •  स्टार्टअप स्क्रिप्ट का उपयोग करके VM इंस्टेंस पर सॉफ़्टवेयर इंस्टॉलेशन प्रबंधित करें।
  • उदाहरण: MySQL स्थापित करना:
#!/bin/bash
sudo apt update
sudo apt install -y mysql-server

8. इंस्टॉलेशन या अनइंस्टॉलेशन के दौरान सामान्य समस्याओं का निवारण

1. पैकेज नहीं मिला

यदि कोई पैकेज नहीं मिलता है, तो सुनिश्चित करें कि रिपॉजिटरी सक्षम है:

sudo apt update 
sudo apt update

2. निर्भरता त्रुटियाँ

गुम निर्भरताओं को ठीक करें:

sudo apt --fix-broken install

3. रिपॉजिटरी समस्याएँ

रिपॉजिटरी त्रुटियों की जाँच करें:

sudo apt update 

आउटपुट उदाहरण:

Err:1 http://ppa.launchpad.net/repository-name/ubuntu noble Release
  404 Not Found

समाधान: निम्नलिखित में रिपॉजिटरी प्रविष्टि हटाएँ या ठीक करें /etc/apt/sources.list।

4. अनइंस्टॉलेशन के बाद अवशिष्ट फ़ाइलें रह जाती हैं

बची हुई फ़ाइलें साफ़ करें:

sudo apt autoremove
sudo apt purge package-name

5. अनुमति अस्वीकृत

सुनिश्चित करें कि आपके पास रूट विशेषाधिकार हैं:

sudo apt install package-name


9. पैकेज प्रबंधन के लिए सर्वोत्तम अभ्यास

  • सॉफ़्टवेयर स्थापित करने से पहले हमेशा अपडेट करें
sudo apt update 
  • अपने सिस्टम को नियमित रूप से अपग्रेड करें
     apt upgrade या apt full-upgrade  का उपयोग करके अपने सिस्टम को सुरक्षित रखें।
  • अनावश्यक पैकेज हटाएँ
sudo apt autoremove
  • विश्वसनीय रिपॉजिटरी का उपयोग करें
    जब तक आवश्यक न हो, तृतीय-पक्ष रिपॉजिटरी से बचें।
  • क्लाउड वातावरणों में पैकेज परिवर्तनों की निगरानी करें
    Ansible जैसे स्क्रिप्ट या कॉन्फ़िगरेशन प्रबंधन टूल का उपयोग करके अपडेट स्वचालित करें।
  • कैश को समय-समय पर साफ़ करें
    डिस्क स्थान खाली करने के लिए कैश को नियमित रूप से साफ़ करें:
sudo apt clean

निष्कर्ष

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

अधिक जानकारी के लिए, Ubuntu के आधिकारिक दस्तावेज़ में यह विषय देखें: APT।

आगे क्या?

अगले लेख में, हम Ubuntu Server की पैचिंग और अपडेट के बारे में और गहराई से जानेंगे, जो सुरक्षा और स्थिरता बनाए रखने के लिए एक महत्वपूर्ण कार्य है। आप सीखेंगे:

  • पैचिंग सुरक्षा और स्थिरता के लिए क्यों महत्वपूर्ण है और यह कमजोरियों को कैसे रोकता है।
  •  apt का उपयोग करके अपने सर्वर को प्रभावी ढंग से अपडेट और अपग्रेड करने का तरीका।
  •  apt update, apt upgrade, और apt full-upgrade के बीच के अंतर और सामान्य गलतियों से बचने का तरीका।
  • अपडेट स्वचालित करना  unattended-upgrades का उपयोग करके समय बचाएँ और स्थिरता सुनिश्चित करें।
  •  कर्नेल अपडेट को संभालने और reboot-required सूचनाओं का उपयोग करके अपने सर्वर को सुचारू रूप से रीबूट करने का तरीका।

अपने Ubuntu Server को सुरक्षित और अद्यतित रखने के बारे में व्यावहारिक जानकारी के लिए बने रहें!

4 thoughts on “06. Installing and Managing Software on Ubuntu Server: A Complete Guide”

टिप्पणी छोड़ें