जब भी आप कोई निर्देश चलाना चाहें, तो हमेशा उस निर्देश का पूरा पथ देने की ज़रूरत नहीं है। उदाहरण के लिए हम जानते हैं कि ls निर्देश /bin निर्देशिका में है ( which -a ls निर्देश की मदद से जाँचें), लेकिन फिर भी हमें वर्तमान निर्देशिका के मसले की सूची के लिए/bin/ls निर्देश नहीं देना पड़ता।
PATH पर्यावरण परिवर्तनीय इसका इन्तज़ाम करता है। यह परिवर्तनीय कुछ पथ या निर्देशिकाएँ परिभाषित करता है, जहाँ पर चलनीय फ़ाइलें प्राप्य हों, और इस प्रकार प्रयोक्ताओं को काफ़ी टङ्कण में बचत होती है, साथ ही निर्देशों की निर्देशिकाओं को याद रखने की ज़रूरत नहीं पड़ती। इसलिए पथ में कई निर्देशिकाएँ रहती हैं जिनके नाम में कहीं पर bin हो:
rogier:>echo $PATH /usr/local/bin:/usr/X11R6/bin:/usr/bin:/usr/sbin/:/bin |
इस उदाहरण में /usr/local/bin, /usr/X11R6/bin, /usr/bin, /usr/sbin, /bin और वर्तमान निर्देशिका (.) में एक एक करके वाञ्छित कार्यक्रम को खोजा जाता है। कार्यक्रम के मिलते ही, खोज बन्द कर दी जाती है, भले ही पथ में मौजूद हरेक निर्देशिका में खोज न की गई हो। इससे कई अजीब स्थितियाँ भी पैदा हो जाती हैं। नीचे दिए पहले उदाहरण में, प्रयोक्ता को मालूम है कि sendsms नाम का एक कार्यक्रम ऍस ऍम ऍस भेजने के लिए है, और उसी प्रणाली पर एक और प्रयोक्ता उसका प्रयोग कर पाएगा लेकिन वह स्वयं इसका इस्तेमाल नहीं कर सकता। यह फ़र्क इसलिए है क्योंकि PATH परिवर्तनीय में फ़र्क है:
[jenny@blob jenny]$ sendsms bash: sendsms: command not found [jenny@blob jenny]$ echo $PATH /bin:/usr/bin:/usr/bin/X11:/usr/X11R6/bin:/home/jenny/bin [jenny@blob jenny]$ su - tony Password: tony:~>which sendsms sendsms is /usr/local/bin/sendsms tony:~>echo $PATH /home/tony/bin.Linux:/home/tony/bin:/usr/local/bin:/usr/local/sbin:\ /usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin:. |
ध्यान दें कि su (स्विच यूज़र) की मदद से आप किसी अन्य प्रयोक्ता के पर्यावरण में एक शॅल चला सकते हैं, बशर्ते आपको उस प्रयोक्ता का प्रवेश शब्द यानी पास्वर्ड मालूम हो।
उल्टे स्लॅश का मतलब है अगली पङ्क्ति पर जाएँ, Enter कुञ्जी को नज़रन्दाज़ करते हुए।
अगले उदाहरण में प्रयोक्ता wc (वर्ड काउण्ट) निर्देश की मदद से फ़ाइल की पङ्क्तियों को गिनना चाहता है, लेकिन कुछ होता ही नही। अन्ततः उसे [CTRL]-[C] की मदद से बाहर आना पड़ा:
jumper:~>wc -l test (CTRL-C) jumper:~>which wc wc is hashed (/home/jumper/bin/wc) jumper:~>echo $PATH /home/jumper/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin: /usr/bin:/usr/sbin:/bin:/sbin:. |
which निर्देश से पता चलता है कि प्रयोक्ता कि गृह निर्देशिका में एक bin-निर्देशिका है, और इसमें एक कार्यक्रम है जिसका नाम भी wcहै। wc निर्देश को पथ में ढूँढने पर गृह निर्देशिका वाला कार्यक्रम पहले मिलता है। इसलिए , this "घरेलू" कार्यक्रम चल पड़ा, और उसको सम्भवतः प्रदत्त इन्पुट समझ नहीं आया, अतः उसे बन्द करना पड़ा। इस समस्या को सुलझाने के कई तरीके हैं( लिनक्स/यूनिक्स में समस्या सुलझाने के अक्सर कई तरीके होते हैं): एक तरीका हो सकता है प्रयोक्ता के wc कार्यक्रम का नाम बदलना, या फिर प्रयोक्ता वाञ्छित निर्देशा का पूरा पथ दे सकता है, इसके लिए -a विकल्प के साथ which निर्देश का इस्तेमाल किया जा सकता है:
jumper:~>/usr/bin/wc -l test
10 test
|
यदि प्रयोक्ता अन्य निर्देशिकाओं में मौजूद कार्यक्रमों का अधिक प्रयोक करता है, तो वह पथ को परिवर्तित कर सकता है, ताकि निजी निर्देशिकाओं में खोज बाद में की जाए:
jumper:~>export PATH=/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\ /usr/bin:/usr/sbin:/bin:/sbin:/home/jumper/bin |
![]() | परिवर्तन स्थायी नहीं हैं! |
|---|---|
ध्यान दें कि शॅल मेंexport निर्देश का इस्तेमाल करने पर जो परिवर्तन होते हैं वे अस्थायी होते हैं और केवल इसी सत्र के लिए वैध होंगे( जब तक आप बहिर्गमन यानी लॉग आउट नहीं करते हैं तब तक) नए सत्र खोलने पर उन सत्रों में नया पथ नहीं आएगा, भले ही मौजूदा सत्र चल रहा हो। हम विभाग 7.2 में देखेंगे कि इस प्रकार के पर्यावरणीय परिवर्तनों को स्थाई कैसे किया जाए, शॅल जमाव फ़ाइलों में इन पङ्क्तियों को जोड़कर। |
पथ, यानी वह रास्ता, जो की वृक्ष में एक फ़ाइल तक पहुँचने के लिए अपनाना चाहिए, वृक्ष की जड़ (/ या रूट निर्देशिका) से शुरू हो सकता है। ऐसी स्थिति में उसे पूर्ण पथ कहते हैं, क्योंकि इसकी मदद से आपको प्रणाली में एक ही फ़ाइल मिलेगी, इसमें कोई ग़लती नहीं हो सकती।
दूसरी स्थिति में, पथ स्लॅश से शुरू नहीं होता, और ऐसे में ~/bin/wc (प्रयोक्ता की गृह निर्देशिका में) और bin/wc जो कि /usrमें है, इनके बीच में कुछ ग़लतफ़हमी हो सकती है। जो पथ स्लॅश से शुरू नहीं होते वे सम्बद्ध पथ कहलाते हैं।
सम्बद्ध पथों में हम . व .. का इस्तेमाल भी करते हैं, वर्तमान व पितर निर्देशिका के लिए। कुछ उदाहरण:
जब आप किसी स्रोत को कम्पाइल करना चाहें, तो संस्थापन प्रलेखन में अक्सर लिखा रहता है कि ./configure को चलाएँ, जो कि वर्तमान निर्देशिका में मौजूद configure कार्यक्रम को चलाता है, बजाय उसी नाम के कहीं और मौजूद कार्यक्रम को।
ऍच टी ऍम ऍल फ़ाइलों में एक जगह से दूसरी जगह आसानी से जा पाने के लिए सम्बद्ध पथों का अक्सर इस्तेमाल किया जाता है:
<img alt="Garden with trees" src="../images/garden.jpg"> |
एक बार फिर दोनों में फ़र्क देखें:
theo:~>ls /mp3 ls: /mp3: No such file or directory theo:~>ls mp3/ oriental/ pop/ sixties/ |
कर्नल प्रणाली का हृदय है। यह तन्त्रांश यानी हार्ड्वेयर और परिधीय यानी पॅरिफ़रल उपकरणों के बीच संचार का प्रबन्धन करता है। कर्नल यह भी निश्चित करता है कि प्रक्रियाएँ व डीमन (सेवक यानी सर्वर प्रक्रियाएँ) सही समय पर शुरू व खत्म की जाएँ। कर्नल के और भी कई काम हैं, इतने कि इस विषय पर विशेष कर्नल विकास डाक सूची है, जहाँ पर बहुत जानकारी का आदान प्रदान किया जाता है। कर्नल के बारे में यहाँ विस्तृत विवरण देना उचित नहीं है। फ़िलहाल इतना ही कि कर्नल प्रणाली की सबसे महत्वपूर्ण फ़ाइल है।
shell के बारे में समझाने के लिए खोजबीन करते समय मुझे काफ़ी परेशानी आई। इसकी कई परिभाषाएँ हैं, जैसे कि "शॅल कार की स्टीयरिङ्ग की तरह है", या फिर बॅश की पुस्तिका की परिभाषा, "बॅश एक sh-अनुकूल निर्देश भाषा भञ्जक है," या फिर यह, "शॅल प्रयोक्ताओं और मशीन के बीच सन्देशों का आदान प्रदान करता है"। शॅल इन सबसे कहीं ज़्यादा है।
शॅल को आप सङ्गणक से बात करने का एक तरीका मान सकते हैं, एक भाषा की तरह। अधिकतर प्रयोक्ताओं को दूसरी वाली भाषा तो मालूम है, इङ्गित करने और चटका लगाने वाली डॅस्क्टॉप की भाषा। लेकिन उस भाषा में प्रयोक्ता को बालक की तरह, मौजूद विकल्पों में से चुनने के लिए कहा जाता है।
दूसरी ओर, शॅल, प्रणाली के साथ सञ्चार करने का विकसित तरीका है, क्योंकि इसकी मदद से सूचना का आदान प्रदान होता है और कई चीज़ें की जा सकती हैं। प्रणाली और प्रयोक्ता बराबरी पर होते हैं, इसलिए दिमाग की नई उपजों की जाँच का जा सकती है। शॅल की मदद से प्रयोक्ता प्रणाली को अपनी मर्जी से चला सकता है, यानी तनाव से मुक्ति। बड़ा मान कर पेश आने पर किसे अच्छा नहीं लगता?
जिस तरह लोगों को कई भाषाएँ व बोलियाँ आती हैं, उसी प्रकार सङ्गणक शॅलों के प्रकारों के बारे में जानता है:
sh या बोर्न शॅल: मूल शॅल जो कि अभी भी यूनिक्स प्रणालियों और यूनिक्स सम्बन्धी वातावरणों में अभी भी प्रयुक्त होता है। यह मूलभूत शॅल है, छोटा सा कार्यक्रम, जिसमें थोड़ी सी सुविधाएँ है। पोसिक्स-अनुकूल रूप में bash इसी शॅल की तरह बर्ताव करता है।
bash या बोर्न अगेन (पुनर्जीवित) शॅल: ग्नू का शॅल, समझदार और कामलायक। नौसिखियों के लिए उचित, साथ ही अनुभवी के लिए भी एक सशक्त अस्त्र। लिनक्स पर आम प्रयोक्ताओं के लिए bash शॅल ही रहता है। यह बोर्न शॅल का सभी मसला है, और उसके अलावा अन्य सुविधाएँ है। यानी कि बोर्न अगेन शॅल बोर्न शॅल के अनुकूल है: जो निर्देश sh पर चलते हैं, वे bash पर भी चलेंगे, लेकिन इसका उल्टा हमेशा सच नहीं होगा। इस पुस्तक के सभी निर्देश bash का ही प्रयोग करते हैं।
csh या सी शॅल: इस शॅल की भाषा सी भाषा से मिलती जुलती है। कभी कभी प्रोग्रामर इसकी माँग करते हैं।
tcsh यानी टर्बो सी शॅल: सी शॅल, कुछ और सुविधाओं के साथ, इसमें सुहूलियत और गति बेहतर है।
ksh या कॉर्न शॅल: अक्सर यूनिक्स वालों की पसन्द, बोर्न शॅल की सब सुविधाएँ इसमें हैं। नौसिखियों को इसका जमाव काफ़ी कठिन लगेगा।
/etc/shells फ़ाइल लिनक्स प्रणाली के ज्ञात शॅलों के बारे में जानकारी देती है:
mia:~>cat /etc/shells /bin/bash /bin/sh /bin/tcsh /bin/csh |
![]() | नकली बोर्न शॅल |
|---|---|
ध्यान दें कि /bin/sh आमतौर पर bash की ही एक कड़ी होती है, जो कि बोर्न शॅल अनुकूल रूप में चलती है। |
आपका मूल शॅल /etc/passwd फ़ाइल में है, जैसे कि प्रयोक्ता mia का:
mia:L2NOfqdlPrHwE:504:504:Mia Maya:/home/mia:/bin/bash |
एक शॅल से दूसरे शॅल को जाने के लिए बस उसी सत्र में नए शॅल का नाम दे दें। PATH की मदद से प्रणाली इसकी निर्देशिका ढूँढ लेती है, और चूँकि शॅल एक चलनीय फ़ाइल(प्रोग्राम) है, मौजूदा शॅल इसको चला देता है और यह आपके पर्दे पर आ जाता है। आमतौर पर नया प्रॉम्प्ट प्रदर्शित किया जाता है, क्योंकि हरेक शॅल की अपनी शैली होती है:
mia:~>tcsh [mia@post21 ~]$ |
प्रणाली से सम्पर्क साधने के बाद आपका मूल गन्तव्य है आपकी गृह निर्देशिका। आमतौर पर यह /home की उपनिर्देशिका होती है, हालाँकि यह बदल भी सकती है। आपकी गृह निर्देशिका किस दूरस्थित फ़ाइल सेवक यानी फ़ाइल सर्वर की हार्ड डिस्क पर भी बो सकती है। ऐसी स्थिति में वह यहाँ होगी: /nethome/your_user_name। ऐसा भी हो सकता है कि आपके प्रणाली प्रशासक ने थोड़ा अधिक गूढ़ जमाव चुना हो, तब सम्भव है कि आपकी गृह निर्देशिका यहाँ कहीं हो: /disk6/HU/07/jgillard।
पथ कुछ भी हो, इसकी ज़्यादा चिन्ता करने की ज़रूरत नहीं है। यह पथ HOME पर्यावरण परिवर्तनीय में हमेशा सञ्चित रहता है। किसी कार्यक्रम को यदि इसकी ज़रूरत हो तो यहाँ से इसका इस्तेमाल हो सकता है। echo निर्देश की मदद से आप इस परिवर्तनीय का मसला देख सकते हैं:
orlando:~>echo $HOME /nethome/orlando |
गृह निर्देशिका में आप जो चाहे कर सकते हैं। आप जितनी चाहे उतनी निर्देशिकाओं में जितनी चाहे फ़ाइलें डाल सकते हैं, हालाँकि कुल सामग्री और फ़ाइलों की सङ्ख्या की एक सीमा तो होगी ही, यन्त्रांश यानी हार्ड्वेयर और विभाजनों यानी पार्टिशनों के आकार की वजह से। कभी कभी प्रणाली प्रशासक भी प्रत्येक प्रयोक्ता के लिए सीमा स्थापित करते हैं। जब हार्ड डिस्क महँगी हुआ करती थीं तो यह सीमा बन्धन काफ़ी आम था। आजकल प्रायः बहुत बड़े वातावरण में ही सीमाबन्धन किया जाता है। सीमा लागू है या नहीं यह आप खुद ही देख सकते हैं, quota निर्देश की मदद से:
pierre@lamaison:/>quota -v Diskquotas for user pierre (uid 501): none |
यदि सीमा बन्धित हैं तो आपको विभाजनों यानी पार्टिशनों की सूची मिलेगी, सीमाओं के लेखे जोखे के साथ। माफ़ी अवधि में सीमाओं का उल्लङ्घन मान्य हो सकता है, यानी कि कुछ सीमाएँ लागू नहीं होंगी, या फिर कोई भी सीमा लागू नहीं होगी। और विस्तृत जानकारी के लिए info quota या man quota निर्देशों की मदद लें।
आपकी गृह निर्देशिका के लिए चिन्ह है लहरिया डॅश (~), यह /गृह_का_पथ/प्रयोक्ता_नामका छोटा रूप है। यही पथ HOME परिवर्तनीय में भी सञ्चित रहता है, आपके बिना कुछ किए बगैर भी। इसके प्रयोग का एक उदाहरण: /var/music/albums/arno/2001 निर्देशिका से, अपनी गृह निर्देशिका में स्थित images निर्देशिका को जाएँ, एक ही निर्देश की मदद से:
rom:/var/music/albums/arno/2001>cd ~/images rom:~/images>pwd /home/rom/images |
आगे, इस अध्याय में गृह निर्देशिका को साफ़ सुथरा रखने के लिए प्रयुक्त निर्देशों का वर्णन करेंगे।
जैसे कि पहले बताया जा चुका है, ज़्यादातर जमाव की फ़ाइलें /etc निर्देशिका में रहती हैं। इनका मसला cat निर्देशिका की मदद से देखा जा सकता है। इसकी मदद से पाठ फ़ाइलें मानक आउट्पुट को भेजी जा सकती हैं, जो कि आमतौर पर आपके सङ्गणक का चित्रपट होगा। इसका प्रयोग इस प्रकार कर सकते हैं:
cat file1 file2 ... fileN
इस विभाग में हम जमाव सम्बन्धी कुछ आम फ़ाइलों के बारे में जानकारी देंगे। यह सूची पूर्ण कतई नहीं है। अन्य पॅकेज जोड़ने पर /etc निर्देशिका में जमाव सम्बन्धी अन्य फ़ाइलें आएँगी। जमाव फ़ाइलों को पढ़ते समय आप पाएँगे कि अक्सर इनमें काफ़ी टिप्पणियाँ रहती हैं, ताकि इनकी क्रिया को समझने में कोई दिक्कत न आए। कई फ़ाइलों के मॅन पृष्ठ भी हैं, जिनमें अधिक प्रलेखन रहता है, उदाहरणार्थ man aliases.
तालिका 3-3. जमाव सम्बन्धी आम फ़ाइलें
| फ़ाइल | जानकारी/सेवा |
|---|---|
| aliases | डाक उपनाम सम्बन्धी फ़ाइल, जिसका इस्तेमाल सेण्डमेल डाक सेवक करता है। हरेक प्रणाली पर एक डाक सेवक चलाने की परम्परा यूनिक्स की दुनिया में पहले से चली आ रही है, और प्रायः हरेक लिनक्स वितरण में सेण्डमेल पॅकेज मौजूद रहता है। इस फ़ाइल की मदद से स्थानीय प्रयोक्ता नामों और डाक पतों में प्रयुक्त नामों अथवा अन्य स्थानीय पतों के बीच में सम्बन्ध स्थापित किया जाता है। |
| bashrc | पूरी प्रणाली के लिए बॉर्न अगेन शॅल के जमाव की फ़ाइल। सभी प्रयोक्ताओं के लिए मूल प्रॉम्प्ट का जमाव करती है। इसके अलावा अन्य चीज़ों का जमाव भी करती है। अन्य शॅलों की भी अन्य जमाव सम्बन्धी फ़ाइलें हो सकती हैं, जैसे कि cshrc. |
| crontab तथा cron.* निर्देशिकाएँ | बारम्बार किए जाने वाले कार्यों - बॅकप, प्रणाली के डाटाबेसों का बदलाव, प्रणाली की सफ़ाई, चिट्ठों को बदलना आदि - के जमाव के लिए। |
| default | useradd जैसे कुछ निर्देशों के मूल विकल्प। |
| file systems | ज्ञात फ़ाइल प्रणालियाँ: ext3, vfat, iso9660 etc. |
| fstab | विभाजनों और उनके माउण्ट बिन्दुओंकी सूची। |
| ftp* | ऍफ़ टी पी सेवक का जमाव: कौन सम्बन्ध स्थापित कर सकता है, प्रणली के कौन से हिस्से प्राप्य हैं, आदि। |
| group | प्रयोक्ता समूहों के जमाव की फ़ाइल। इस फ़ाइल को बदलने के लिए groupadd, groupmod और groupdel नामक शॅडो यूटिलिटियों का इस्तेमाल करें। सीधे सम्पादन तभी करें जब आपको मालूम हो कि उसका असर क्या होगा। |
| grub.conf | बूट सम्बन्धी जानकारी। |
| hosts | जालबन्धन का प्रयोग करके बिना डोमेन नाम सेवा के जिन मशीनों के साथ सम्बन्ध स्थापित किया जा सकता है, उनकी सूची। इसका प्रणाली के जालबन्धन जमाव से कोई सम्बन्ध नहीं है, जो कि /etc/sysconfigमें रहता है। |
| httpd | अपाची जाल सेवक के लिए फ़ाइलों का जमाव करता है। |
| inittab | बूटिङ्ग सम्बन्धी जानकारी: रीति, पाठ कांसोलों की सङ्ख्या आदि। |
| issue | वितरण सम्बन्धी जानकारी(उद्धरण सङ्ख्या)। |
| ld.so.conf | लाइब्रेरी फ़ाइलों की स्थिति। |
| lilo.conf, silo.conf, aboot.conf etc. | लिनक्स लोडर के लिए बूट सम्बन्धी जानकारी। यह बूटिङ्ग प्रणाली पहले प्रयुक्त होती थी, अब इसके बदले ग्रब का इस्तेमाल होता है। पुराने वितरणों में मिल सकती है। |
| logrotate.* | चिट्ठों का परिक्रमण, बहुत अधिक चिट्ठे न बनें इसके लिए प्रणाली। |
| निर्देशिका, जिसमें डाक सेवक के बर्ताव सम्बन्धी जानकारी रहती है। | |
| modules.conf | ख़ास सुविधाएँ(ड्राइवर) मुहैया कराने वाले मॉड्यूलों का जमाव। |
| motd | आज का सन्देश: जो भी प्रणाली से जुड़ता है(पाठ रीति से) उसे यह दिखाया जाता है। प्रणाली प्रशासक द्वारा प्रणाली सम्बन्धी सेवाएँ/मरम्मत के बारे में जानकारी देने के लिए प्रयोग किया जा सकता है। |
| mtab | फ़िलहाल माउण्ट की गई फ़ाइल प्रणालियाँ। इस फ़ाइल का कभी सम्पादन न करने की सलाह दी जाती है। |
| nsswitch.conf | यदि किसी प्रक्रिया को कोई होस्ट नाम पता लागाना है, तो यह फ़ाइल बताती है कि नाम भञ्जकों यानी नेम रिज़ाल्वरों से सम्पर्क किस क्रम में करना है |
| pam.d | पुष्टि सम्बन्धी मॉड्यूलों का जमाव। |
| passwd | स्थानीय प्रयोक्ताओं की सूची। शॅडो कार्यसहायकों useradd, usermod and userdel की मदद से इस फ़ाइल का सम्पादन करें। सीधे सम्पादन तभी करें जब आपको अच्छी तरह मालूम हो कि आप क्या करने जा रहे हैं। |
| printcap | पुरानी लेकिन अभी भी अक्सर प्रयुक्त प्रिण्टर की जमाव फ़ाइल। सीधे सम्पादन तभी करें जब आपको अच्छी तरह मालूम हो कि आप क्या करने जा रहे हैं। |
| profile | शॅल वातावरण का प्रणाली भर का जमाव: परिवर्तनीय, नई फ़ाइलों की मूल विशेषताएँ, संसाधनों की सीमाएँ आदि। |
| rc* | हरेक रन स्तर पर सक्रिय सेवाओं को परिभाषित करने वाली निर्देशिकाएँ। |
| resolv.conf | डोमेन नाम सेवकों से सम्पर्क करने का क्रम(केवल डोमेन नाम सेवकों के लिए)। |
| sendmail.cf | सॅण्डमेल सेवक की मुख्य जमाव फ़ाइल। |
| services | इस मशीन द्वारा स्वीकृत सम्बन्ध (खुले पोर्ट)। |
| sndconfig और sound | ध्वनि कार्ड और ध्वनि उपलक्ष्यों का जमाव |
| ssh | सुरक्षित शॅल ग्राहक व सेवक के जमाव सम्बन्धी फ़ाइलें इस निर्देशिका में हैं। |
| sysconfig | प्रणाली जमाव सम्बन्धी फ़ाइलों की निर्देशिका: माउस, कुञ्जीपटल, जाल, डॅस्कटॉप, प्रणाली की घड़ी, ऊर्जा प्रबन्धन आदि(केवल रॅडहॅट के लिए) |
| X11 | चैत्रिक सेवक, ऍक्स का जमाव। रॅडहॅट ऍक्सफ़्री XFree का इस्तेमाल करता है, इसकी मुख्य जमाव फ़ाइल है, XFree86Config। इसमें प्रणाली पर उपलब्ध गवाक्ष प्रबन्धकों सम्बन्धित आम निर्देश भी होते हैं, जैसे gdm, fvwm, twm, आदि। |
| xinetd.* | अन्तर्जाल सेवाओं सम्बन्धी जमाव फ़ाइलें। ये सेवाएँ प्रणाली के (विस्तारित) अन्तर्जाल सेवा डीमन(सेवक जो स्वतन्त्र डीमन नहीं चलाते) द्वारा चलाई जाती हैं। |
इस कुञ्जी में हम इन फ़ाइलों के बारे में और जानकारी प्राप्त करेंगे।
उपकरण, यानी सी पी यू के अलावा पी सी की कोई भी परिधीय वस्तु, प्रणाली में Devices, generally every peripheral attachment of a PC that is not the CPU itself, is presented to the system as an entry in the /dev निर्देशिका के अन्दर एक प्रविष्टि के तौर पर रहती है। उपकरणों को इस यूनिक्स शैली में सँभालने का एक फ़ायदा यह है कि प्रयोक्ता और प्रणाली में से किसी को भी उपकरणों के विनिर्देश की चिन्ता करने की ज़रूरत नहीं पड़ती।
लिनक्स और यूनिक्स के नए प्रयोक्ताओं को अक्सर नए नामों और विचारों की भूल भुलैया में गुम होते देखा गया है। अतः इस परिचय में लीजिए आम उपकरणों की एक सूची।
तालिका 3-4. आम उपकरण
| नाम | उपकरण |
|---|---|
| cdrom | सीडी ड्राइव |
| console | फ़िलहाल प्रयुक्त कांसोल के लिए विशेष प्रविष्टि। |
| cua* | सीरियल पोर्ट |
| dsp* | सॅम्प्लिङ्ग व रिकॉर्डिङ्ग के उपकरण |
| fd* | अधिकतर फ़्लापी ड्राइवों की प्रविष्टिया ऐसी होती हैं, मूल प्रविष्टि है /dev/fd0H1440, १.४४ मॅगाबाइट फ़्लॉपियों की फ़्लॉपी ड्राइव। |
| hd[a-t][1-16] | आई डी ई ड्राइवों के लिए मानक प्रविष्टि, हरेक के अधिकतम विभाजनों के साथ। |
| ir* | इन्फ़्रारॅड उपकरण |
| isdn* | आई ऍस डी ऍन सम्बन्धों का प्रबन्धन |
| js* | जॉय स्टिक |
| lp* | प्रिण्टर |
| mem | स्मरण |
| midi* | मिडी चालक |
| mixer* व music | मिक्सर का आदर्श मॉडल(सिग्नल सम्मिलित करता है, या सिग्नल जोड़ता है) |
| modem | मॉडम |
| mouse (msmouse, logimouse, psmouse भी | सभी प्रकार के माउस |
| null | सीमा रहित कचरा पेटी, |
| par* | पॅरलल पोर्ट सम्बन्धी प्रविष्टियाँ |
| pty* | छद्म टर्मिनल |
| radio* | हॅम रेडियो के लिए। |
| ram* | बूट उपकरण |
| sd* | ऍस सी ऍस आई डिस्कें, विभाजनों सहित |
| sequencer | ध्वनि कार्ड (मिडी उपकरण नियन्त्रक) की सिन्थसाइज़र सुविधा का इस्तेमाल करने वाली ध्वनि ऍप्लिकेशनों के लिए। |
| tty* | कल्पित कांसोल, जो वीटी१०० टर्मिनलों का नकल पर बनाए गए हैं। |
| usb* | यूऍसबी कार्ड व स्कॅनर |
| video* | वीडियो सुविधा वाले चैत्रिक कार्ड के लिए |
/var निर्देशिका में कई निर्देशिकाएँ हैं जिनमें विशेष परिवर्तनीय सामग्री रहती है (बनाम ls कार्यक्रम या प्रणाली जमाव फ़ाइलों के, जो कि बहुत कम या बिल्कुल भी परिवर्तित नहीं होते)। वह सभी फ़ाइलें जो अक्सर बदलती हैं, जैसे चिट्ठे, डाक बक्से, लॉक फ़ाइलें, स्पूलर आदि,/varकी किसी उपनिर्देशिका में रखी जाती हैं।
सुरक्षा की दृष्टि से इन फ़ाइलों को आमतौर पर मुख्य प्रणाली फ़ाइलों से अलग रखा जाता है, ताकि हम इन पर नज़र रख सकें और आवश्यकतानुसार अनुमतियाँ और कड़ी कर सकें। इनमें से कई फ़ाइलों के लिए अक्सर ज़्यादा अनुमतियाँ चाहिए होती हैं, जैसे /var/tmp, जिसमें कि हरेक को लिखने की अनुमति होनी चाहिए। यहाँ पर बहुत अधिक प्रयोक्ता गतिविधि हो सकती है, सम्भव है आपकी प्रणाली से जुड़े बेनामी अन्तर्जाल प्रयोक्ताओं की वजह से। इसीलिए /var निर्देशिका व उसकी सभी उपनिर्देशिकाएँ आमतौर पर अलग विभाग में रहती हैं। इस प्रकार, उदाहरण के लिए, यदि कोई डाक बम आपकी प्रणाली पर आ जाए तो वह जड़ फ़ाइल प्रणाली, जिसमें आपके कार्यक्रम और जमाव फ़ाइलों जैसी ज़रूरी सामग्री है, पर नहीं आएगा।
यूनिक्स की एक मुख्य सुरक्षा प्रणाली, जो कि लिनक्स पर भी लागू की गई है, चिट्ठे रखने की सुविधा है, जो कि प्रयोक्ताओं की क्रियाओं, प्रक्रियाओं, प्रणाली उपलक्ष्यों आदि का चिट्ठा रखती है। syslogdaemon की जमाव फ़ाइल यह निर्धारित करती है कि कौन सी जानकारी का चिट्ठा रखा जाएगा, और वह कितनी देर रहेगा। चिट्ठों की मूल स्थिति है /var/log, इसमें प्रवेश, सेवक, प्रणाली सन्देश आदि के चिट्ठों की अलग अलग फ़ाइलें हैं।
/var पर आमतौर पर हमें सेवक सामग्री मिलेगी, जो कि अधिक महत्वपूर्ण सर्वर कार्यक्रम और उसकी जमाव फ़ाइलों से अलग रखा जाता है। लिनक्स प्रणालियों पर इसका एक उदाहरण है /var/www, जिसमें कि जाल सेवक द्वारा प्रदत्त ऍच टी ऍम ऍल पन्ने, स्क्रिप्ट और चित्र रखे जाते हैं। ऍफ़ टी पी सेवक का ऍफ़ टी पी वृक्ष (वह सामग्री जो किसी दूरस्थ ग्राहक द्वारा उतारी जा सकती है) भी /var किसी उपनिर्देशिका में रखी जाती है। यह सामग्री सार्वजनिक रूप से उपलब्ध है और अक्सर बेनामी प्रयोक्ताओं द्वारा परिवर्तनीय भी है, इसलिए इसे यहाँ रखना बेहतर है, अन्य महत्वपूर्ण सामग्रियों से युक्त विभागों व निर्देशिकाओं से दूर।
अधिकतर वर्क्स्टेशन संस्थापनों में /var/spool में कम से कम एक at और एक cron निर्देशिका रहेगी, जिसमें समयबद्ध कार्य होंगे। कार्यालय के वातावरण में इस निर्देशिका में आमतौर पर lpd भी रहता है, जिसमें कि छपाई की कतार/कतारें रहती हैं, साथ ही प्रिण्टर की जमाव फ़ाइलें व प्रिण्टर के चिट्ठे भी रहते हैं।
सेवक प्रणालियों पर हम आमतौर पर पाएँगे /var/spool/mail, जिसमें स्थानीय प्रयोक्ताओं की डाक रहती है, हरेक प्रयोक्ता के लिए एक फ़ाइल, जिसे प्रयोक्ता का "इन बॉक्स" कह जाता है। इसी से सम्बन्धित निर्देशिका है mqueue, अप्रेषित डाक के लिए स्पूलर क्षेत्र। बहुत अधिक प्रयोक्ता वाली डाक सेवक प्रणाली पर यह हिस्से काफ़ी व्यस्त हो सकते हैं। समाचार सेवक भी /var/spool का प्रयोग करते हैं, क्योंकि सन्देशों की सङ्ख्या बहुत होती है।
नई रॅडहॅट प्रणालियाँ इस स्थान का इस्तेमाल परिवर्तनी पॅकेजों का लेखा जोखा रखने के लिए करती हैं (/var/spool/up2date) और anacron द्वारा समय सारित क्रियाओं को सञ्चित करने के लिए भी। समय सारिणीकरण के बारे में और जानकारी अध्याय 4 में है।
/var/lib/rpm निर्देशिका केवल रॅडहॅट के लिए है, यहाँ पर पॅकेज सम्बन्धी जानकारी रखी जाती है।