निक्स - लिनक्स के लिए विशुद्ध रूप से कार्यात्मक पैकेज प्रबंधक


निक्स एक शक्तिशाली, विशुद्ध रूप से कार्यात्मक पैकेज प्रबंधन प्रणाली है जिसे विश्वसनीय और प्रतिलिपि प्रस्तुत करने योग्य पैकेज प्रबंधन के लिए डिज़ाइन किया गया है, जिसे GNU LGPLv2.1 की शर्तों के तहत जारी किया गया है। यह निक्सोस में प्राथमिक पैकेज प्रबंधन प्रणाली है, कम ज्ञात लिनक्स वितरण।

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

निक्स के तहत, पैकेज एक कार्यात्मक पैकेज भाषा से निर्मित होते हैं, जिसे " निक्स अभिव्यक्ति " कहा जाता है। पैकेज प्रबंधन के लिए यह कार्यात्मक दृष्टिकोण गारंटी देता है कि एक पैकेज को स्थापित या अपग्रेड करना अन्य पैकेजों को तोड़ नहीं सकता है।

निक्स में बहु-उपयोगकर्ता समर्थन भी है, जिसका अर्थ है कि सामान्य (या गैर-विशेषाधिकार प्राप्त) सिस्टम उपयोगकर्ता सुरक्षित रूप से पैकेज स्थापित कर सकते हैं और प्रत्येक उपयोगकर्ता को एक प्रोफाइल (उपयोगकर्ता के पेट में दिखाई देने वाले निक्स स्टोर में पैकेज का एक संग्रह) द्वारा पहचाना जाता है।

यदि एक उपयोगकर्ता ने एक पैकेज स्थापित किया है, तो यदि दूसरा उपयोगकर्ता उसी पैकेज को स्थापित करने का प्रयास करता है, तो दूसरी बार पैकेज का निर्माण या डाउनलोड नहीं किया जाएगा।

यह वर्तमान में लिनक्स (i686, x86_64) और मैक ओएस एक्स (x86_64) का समर्थन करता है। हालांकि, यह काफी पोर्टेबल है, आप इसे अधिकांश प्लेटफार्मों पर आज़मा सकते हैं जो पोसिक्स थ्रेड्स का समर्थन करते हैं और इसमें C ++ 11 संकलक होते हैं।

इस लेख में, हम दिखाएंगे कि कैसे (बहु उपयोगकर्ता मोड में) स्थापित करें और लिनक्स में निक्स पैकेज मैनेजर का उपयोग करें। हम आमतौर पर उपयोग किए जाने वाले उपकरणों के संबंध में कुछ बुनियादी पैकेज प्रबंधन कार्यों पर चर्चा करेंगे।

लिनक्स में निक्स पैकेज मैनेजर कैसे स्थापित करें

हम बहु उपयोगकर्ता मोड में निक्स ( v2.1.3 लेखन के समय) का नवीनतम संस्करण स्थापित करेंगे। सौभाग्य से, एक तैयार इंस्टॉलेशन स्क्रिप्ट है जिसे आप अपने शेल से एक सामान्य उपयोगकर्ता के रूप में अपने सिस्टम पर कर्ल कमांड का उपयोग करके चला सकते हैं।

$ sh <(curl https://nixos.org/nix/install) --daemon

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

स्थापना प्रक्रिया के दौरान क्या होगा इसकी एक विस्तृत सूची देखने के लिए, y टाइप करें और Enter दबाएं। यदि आप संतुष्ट हैं और जारी रखने के लिए तैयार हैं, तो y टाइप करें और दर्ज करें दबाएं।

स्क्रिप्ट आवश्यकतानुसार कई बार सुडो कमांड को आमंत्रित करेगी। आपको y का उत्तर देकर और Enter मारकर sudo का उपयोग करने की अनुमति देने की आवश्यकता है।

इंस्टॉलर फिर कुछ परीक्षण चलाएगा और एक निक्स कॉन्फिगर रिपोर्ट उत्पन्न करेगा, उपयोगकर्ता आईडी के बीच बिल्ड उपयोगकर्ता बनाएं 30001 और 30032 , और समूह आईडी के साथ एक समूह 30000 । संकेत मिलने पर जारी रखने के लिए <कोड> y दर्ज करें। यह विभिन्न बिल्ड उपयोगकर्ताओं के लिए बिल्ड समूह स्थापित करेगा, निक्स की मूल निर्देशिका संरचना बनाएगा।

यह फ़ाइल को /etc/bashrc , (और /etc/zshrc को zsh ) के लिए संशोधित करेगा यदि वे मौजूद हैं। ध्यान दें कि यह पहले उल्लेखित फ़ाइलों को .backup-before-nix एक्सटेंशन के साथ बैकअप देता है और इंस्टॉलर फ़ाइल /etc/profile.d/nix.sh भी बनाता है।

इंस्टॉलर निक्स-डेमॉन सेवा और निक्स-डेमॉन सॉकेट सेवा भी स्थापित करेगा, निक्स-डेमॉन के लिए सिस्टमड यूनिट को लोड करता है और दो उपर्युक्त सेवाएं शुरू करता है।

एक बार स्थापना पूर्ण हो जाने के बाद, आपको निक्स का उपयोग शुरू करने के लिए एक नई टर्मिनल विंडो खोलने की आवश्यकता है। वैकल्पिक रूप से, हाल के परिवर्तनों को लागू करने के लिए अपने शेल को बंद करें और फिर से खोलें। फिर फ़ाइल का स्रोत /etc/profile.d/nix.sh (क्योंकि इसकी शेल स्टार्टअप फ़ाइल नहीं है, नया शेल खोलने से स्रोत नहीं बनेगा)।

$ source /etc/profile.d/nix.sh

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

$ nix-shell -p nix-info --run "nix-info -m"

लिनक्स में निक्स पैकेज मैनेजर का उपयोग कैसे करें

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

सभी पैकेज एक निक्स चैनल में स्थित हैं, जो एक URL है जो निक्स के भाव और बाइनरी कैश के लिए एक सूचक दोनों के संग्रह को इंगित करता है।

डिफ़ॉल्ट चैनल Nixpkgs है और सब्सक्राइब्ड चैनलों की सूची >// .nix-चैनल में संग्रहीत की जाती है, आप उन्हें निम्न कमांड का उपयोग करके सूचीबद्ध कर सकते हैं (कोई आउटपुट का मतलब कोई चैनल नहीं है)। ।

$ nix-channel --list

निक्स चैनल जोड़ने के लिए, निम्न कमांड का उपयोग करें।

$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable

किसी भी पैकेज को स्थापित करने से पहले, निक्स चैनल को अपडेट करके शुरू करें; यह APT पैकेज मैनेजर के तहत apt अपडेट चलाने के समान है।

$ nix-channel --update

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

$ nix-env -qa

इस उदाहरण में, हम Apache Tomcat सर्वर को grep के साथ पिछले कमांड के उपयोग से स्थापित करेंगे, जो कि पैकेज को दिखाने के लिए उपलब्ध है।

$ nix-env -qa | grep "apache-tomcat"

पैकेज स्थापित करने के लिए, पैकेज संस्करण निर्दिष्ट करके निम्नलिखित कमांड का उपयोग करें, उदाहरण के लिए अपाचे-टोमकाट-9.0.2

$ nix-env -i apache-tomcat-9.0.2

स्थानीय प्रणाली पर, निक्स निक्स स्टोर में संकुल संग्रहीत करता है, जो कि डिफ़ॉल्ट रूप से /nix/store निर्देशिका है, जहां प्रत्येक पैकेज की अपनी विशिष्ट उप-निर्देशिका होती है। उदाहरण के लिए, Apache-tomcat पैकेज में संग्रहीत किया गया है:

/nix/store/95gmgnxlrcpkhlm00fa5ax8kvd6189py-apache-tomcat-9.0.2

इस पथ में, यादृच्छिक वर्ण 95gmgnxlrcpkhlm00fa5ax8kvd6189py उस पैकेज के लिए एक विशिष्ट पहचानकर्ता है जो अपनी सभी निर्भरता को ध्यान में रखता है।

आप निम्न कमांड के साथ स्थापित संकुल को सूचीबद्ध कर सकते हैं।

$ nix-env -q

Apache-tomcat पैकेज को अपग्रेड करने के लिए, आप दिखाए गए अनुसार -u उन्नयन स्विच का उपयोग कर सकते हैं।

$ nix-env -u apache-tomcat

यदि आप अपाचे-टॉमकैट हटाना/मिटाना चाहते हैं, तो -e ध्वज का उपयोग करें। यहां, एक पैकेज को सिस्टम से तुरंत मिटाया नहीं जाता है, यह केवल अप्रयुक्त प्रदान किया जाता है। यह उपयोगी है क्योंकि आप रोलबैक करना चाहते हैं, या यह अन्य उपयोगकर्ताओं के प्रोफाइल में हो सकता है।

$ nix-env -e apache-tomcat

एक पैकेज को हटाने के बाद, आप निक्स-कलेक्ट-कचरा उपयोगिता के साथ कुछ कचरा संग्रह कर सकते हैं।

$ nix-collect-garbage

लिनक्स में निक्स पैकेज मैनेजर कैसे निकालें

निक्स को अनइंस्टॉल करने के लिए, एक ही बार में सभी निक्स संबंधी फाइलों को हटा दें।

$ sudo rm -rf /etc/profile/nix.sh /etc/nix /nix ~root/.nix-profile ~root/.nix-defexpr ~root/.nix-channels ~/.nix-profile ~/.nix-defexpr ~/.nix-channels

सिस्टमड के साथ सिस्टम पर, सभी निक्स संबंधित सेवाओं को रोकने और उन्हें अक्षम करने के लिए निम्न कमांड चलाएं।

$ sudo systemctl stop nix-daemon.socket
$ sudo systemctl stop nix-daemon.service
$ sudo systemctl disable nix-daemon.socket
$ sudo systemctl disable nix-daemon.service
$ sudo systemctl daemon-reload

इसके अलावा, आपको इन फ़ाइलों में निक्स के किसी भी संदर्भ को हटाने की आवश्यकता है: /etc/प्रोफ़ाइल , /etc/bashrc , और /etc/zshrc

अधिक जानकारी के लिए, उपरोक्त उपयोगिताओं के मैन पेज देखें जिन्हें हमने देखा है।

$ man nix-channel
$ man nix-env

आप परियोजना वेबसाइट में निक्स पैकेज प्रबंधक प्रलेखन पा सकते हैं: https://nixos.org/nix/।

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

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