ഗ്നു/ലിനക്സ് ഫയല്‍ സിസ്റ്റം ലേ ഔട്ട്

ഒരു ഓപറേറ്റിങ്ങ് സിസ്റ്റത്തില്‍ ഫയലുകള്‍ , ഡയറക്റ്ററികള്‍ എന്നിവ  ഏതുരീതിയില്‍ എവിടെയൊക്കെ ചിട്ടപ്പെടുത്തി വെക്കണം എന്നു നിര്‍വചിക്കുന്ന സംവിധാനത്തിനാണ്   ഫയല്‍ സിസ്റ്റം ലേ ഔട്ട്  എന്നു പറയുന്നത്.   ഇതിനു ആ കംപ്യൂട്ടറിലെ ഹാര്‍ഡ്  ഡിസ്ക്  പാര്‍ട്ടീഷ്യനുകളുമായി ബന്ധമുണ്ടായിരിക്കും.  ഓരോ ഓപറേറ്റിങ്ങ്  സിസ്റ്റങ്ങള്‍ക്കും അവയുടേതായ ഫയല്‍ സിസ്റ്റം ലേ ഔട്ട്  കാണും.
യുനിക്സ് / ലിനക്സ്  അടിസ്ഥാനമായുള്ള ഓപറേറ്റിങ്ങ്  സിസ്റ്റങ്ങളില്‍  ചെറിയ വ്യത്യാസങ്ങളോടെയാണെങ്കിലും അടിസ്ഥാനപരമായി  ഏതാണ്ട് ഒരേ രീതിയിലുള്ള  ലേ ഔട്ട് ആണ് കാണാറുള്ളത്.  ഈ ലേ ഔട്ടിനെ പൊതുവെ  യൂണിഫൈഡ്  ഫയല്‍ സിസ്റ്റം ലേ ഔട്ട് എന്നു പറയും. 

യൂണിഫൈഡ് ലേ ഔട്ടിന്റെ പ്രത്യേകത ഇതു തട്ടുകളായി തിരിച്ച ഒരു ശ്രേണി ( Higherarchy ) ആയി സംഘടിപ്പിക്കപ്പെട്ടിട്ടുള്ളതാണ്  എന്നതാണ്.  ഈ ശ്രേണിയുടെ ഏറ്റവും മുകളില്‍  ഒറ്റ ഒരു ഡയറക്റ്ററി മാത്രമേ കാണുകയൂള്ളൂ.  ഈ  ഡയറക്റ്ററി “റൂട്ട്  ഡയറക്റ്ററി”  ( Root Directory ) എന്നറിയപ്പെടുന്നു.  ഈ ഡയറക്റ്ററിയുടെ പേര്   “/”  ( Forward Slash )  എന്ന ചിഹ്നം കൊണ്ടാണ്  കുറിക്കുന്നത്.  ഓപറേറ്റിങ്ങ് സിസ്റ്റത്തിലെ മറ്റെല്ലാ ഡയറക്റ്ററികളും  ഈ  ശ്രേണിയില്‍  റൂട്ട് ഡയറക്റ്ററിയുടെ താഴെ ആയിരിക്കും.  വേറൊരു രീതിയില്‍  പറഞാല്‍  മറ്റെല്ലാ ഡയറക്റ്ററികളും റൂട്ട് ഡയറക്റ്ററിക്കകത്തുള്ള സബ് ഡയറക്റ്ററികള്‍ ( Sub Directory ) ആയിരിക്കും.  ഇങ്ങനെ ഓരോ ഡയറക്റ്ററിക്കും താഴെ കൂടുതല്‍ സബ് ഡയറക്റ്ററികള്‍ ഉണ്ടാക്കാവുന്നതാണ്.  ഇതില്‍ മനസ്സിലാക്കേണ്ട ഒരു കാര്യം വിന്‍ഡോസിലേതു പോലെ സി (C:),ഡി (D:) എന്നു തുടങ്ങുന്ന വേറേ വേറേ ഡ്രൈവുകള്‍ ഇതില്‍ ഉണ്ടാവില്ല എന്നുള്ളതാണ്.

ഓരോ ഡയറക്റ്ററിക്കും ഒരു പേര് ഉണ്ടായിരിക്കും എന്നു അറിയാമല്ലോ, ഈ ഡയറക്റ്ററി ഫയല്‍ സിസ്റ്റം ലേ ഔട്ടിന്റെ ശ്രേണിയില്‍ എവിടെയാണെന്നറിയാന്‍ ഉപയോഗിക്കുന്ന സംജ്ഞയെ ( Notation ) ആ ഡയറക്റ്ററിയുടെ ആബ്സൊല്യൂട്ട് പാത്ത്  ( Absolute Path) എന്നു പറയുന്നു.  ഒരു ഡയറക്റ്റരിയുടെ ആബ്സൊല്യൂട്ട് പാത്ത് ലഭിക്കാന്‍ റൂട്ട് ഡയറക്റ്ററിയില്‍ തുടങ്ങി താഴോട്ട് ഈ ഡയറക്റ്ററി വരെ പോകുന്ന വഴിയില്‍ ഉള്ള  എല്ല സബ്-ഡയറക്റ്റരികളുടേയും പേര് എടുത്ത്  യഥാക്രമം ഇടതു വശത്തു നിന്നു വലതു വശത്തേക്കു എഴുതിയാല്‍ മതി, ഇതില്‍ ഓരോ ഡയറക്റ്ററിയേയും വേര്‍ തിരിച്ചറിയുന്നതിനു വേണ്ടി ഓരോ ഡയറക്റ്ററിക്കും ശേഷം ഒരു “/” ചേര്‍ക്കണം. ഇതു ഒരു ഉദാഹരണം വഴി വ്യക്തമാക്കിയാല്‍ കൂടുതല്‍ മനസ്സിലാകും  .  റൂട്ട് ഡയറക്റ്ററിയുടെ തൊട്ടു താഴെയായി “ഇടിസി”  (etc) എന്ന പേരുള്ള ഒരു സബ് ഡയറക്റ്ററി ഉണ്ടെന്നു വിചാരിക്കുക.  ഇതിന്റെ ആബ്സൊല്യൂട്ട് പാത്ത്  “/etc” എന്നാണ്,  ഇതില്‍  ഏറ്റവും ഇടതു വശത്തുള്ള “/” റൂട്ട് ഡയറക്റ്ററിയെ സൂചിപ്പിക്കുന്നു.  ഇതിന്റെ വലതു വശത്തായി ഇടിസി എന്ന സബ് ഡയറക്റ്ററി യുടെ പേരും ചേര്‍ന്നതോടെ ഇത് ആ ഡയറക്റ്ററിയുടെ ആബ്സൊല്യൂട്ട് പാത്ത് ആയി മാറി.

ഇനി കുറച്ചു കൂടി സങ്കീര്‍ണമായ ഒരു ഉദാഹരണം നോക്കാം.  നേരത്തെ പറഞ്ഞ “/etc” ഡയറക്റ്ററിക്കകത്ത്  vpnc, ppp എന്നിങ്ങനെ രണ്ട് സബ്-ഡയറക്റ്ററികള്‍ ഉണ്ടെന്നു വിചാരിക്കുക.  ഇവയുടെ ആബ്സൊല്യൂട്ട് പാത്തുകള്‍ യഥക്രമം  /etc/vpnc,/etc/ppp എന്നിവ ആയിരിക്കും.  അപ്പോള്‍ ആബ്സൊല്യൂട്ട് പാത്ത്  കണ്ടുപിടിക്കുന്ന രീതിയെ ഇങ്ങനെ സംഗ്രഹിക്കാം.  ഒരു  ഡയറക്റ്ററിയുടെ ആബ്സൊല്യൂട്ട് പാത്ത് ആ ഡയറക്റ്ററിയെ ഉള്‍കൊള്ളുന്ന ഡയറക്റ്ററി – ഇത് പാരന്റ് ഡയറക്റ്ററി ( Parent Directory ) എന്നറിയപ്പെടുന്നു – യുടെ ആബ്സൊല്യൂട്ട് പാത്തിന്റെ വലതു വശത്ത്  ഒരു “/” ചേര്‍ത്ത് അതിന്റെ വലത്തായി ഈ ഡയറക്റ്ററിയുടെ പേരു ചേര്‍ത്തതായിരിക്കും.  ആബ്സൊല്യൂട്ട് പാത്തിന്റെ തുടക്കം റൂട്ട് ഡയറക്റ്ററിയില്‍ നിന്നായിരിക്കും.  റൂട്ട് ഡയറക്റ്ററിയുടെ പേരും ആബ്സൊല്യൂട്ട് പാത്തും “/” എന്നു തന്നെ ആയിരിക്കും. ഉദാഹരണത്തിന്  /etc/ppp എന്ന ഡയറക്റ്ററിക്കകത്ത്  resolv,peers എന്നീ ഡയറക്റ്ററികള്‍ ഉണ്ട്.  ഇതില്‍ resolv ഡയറക്റ്ററിയുടെ ആബ്സൊല്യൂട്ട് പാത്ത്  കിട്ടാന്‍ അതിന്റെ പാരന്റ് ഡയറക്റ്ററി ആയ ppp യുടെ ആബ്സൊല്യൂട്ട് പാത്തിന്റെ ( /etc/ppp ) വലത്തായി “/” ഉം അതിനു ശേഷം “resolv” എന്നും ചേര്‍ക്കുക.  ആപ്പോള്‍ “/etc/ppp/resolv” എന്ന ആബ്സൊല്യൂട്ട് പാത്ത് ലഭിക്കും. ഇതു പോലെ /etc/ppp ക്കകത്തുള്ള peers ഡയറക്റ്ററിയുടെ ആബ്സൊല്യൂട്ട് പാത്ത് “/etc/ppp/peers” ആയിരിക്കും.

ആവശ്യമായ പെര്‍മിഷനുകള്‍ ഉള്ള ആര്‍ക്കും റൂട്ട് ഡയറക്ടറിക്കകത്തൊ അതിനു താഴെയുള്ള സബ് ഡയറക്റ്ററികള്‍ക്കകത്തോ ഫയലുകൾ, ഡയറക്റ്ററികള്‍ എന്നിവ ഉണ്ടാക്കാന്‍ സാധിക്കും.  എന്നാല്‍ ഓപറേറ്റിങ്ങ് സിസ്റ്റം പ്രവര്‍ത്തിക്കുന്നതിന്  ആവശ്യമായ കുറേ അടിസ്ഥാന ഡയറക്റ്ററികള്‍ ഉണ്ട്.  ഇവ  ഓ.എസ്. ഇന്‍സ്റ്റലേഷന്‍ സമയത്തു തന്നെ ഉണ്ടാക്കപ്പെടും.  നിശ്ചിത പേരുകള്‍ ഉള്ള ഇവയില്‍ ഓരോ  ഡയറക്റ്ററിക്കും അവയുടേതായ ഉപയോഗങ്ങള്‍ ഉണ്ട്.  താഴെ  കൊടുത്തിരിക്കുന്ന പട്ടികയില്‍  ഈ ഡയറക്റ്ററികളുടെ ആബ്സൊല്യൂട്ട് പാത്തും ഒരോന്നിന്റെയും ഉപയോഗവും കൊടുത്തിരിക്കുന്നു.


  • /bin – എല്ലാ ഉപയോക്താക്കള്‍ക്കും  ഉപയോഗിക്കാന്‍ അനുവാദമുള്ള അടിസ്ഥാന സോഫ്റ്റ് വെയറുകള്‍ ഇന്‍സ്റ്റാള്‍ ചെയ്യപ്പെടുന്നതു ഇവിടെ ആണ്. ഒരു ഉപയോക്താവിന് കമ്പ്യൂട്ടര്‍ ഉപയോഗിക്കാന്‍ ഏറ്റവും കുറഞ്ഞത് ഇതിലുള്ള സോഫ്റ്റ് വെയറുകളെങ്കിലും ആവശ്യമാണ്.
  • /boot – കമ്പ്യൂട്ടര്‍ ബൂട്ട് ചെയ്യുന്നതിനാവശ്യമായ ഫയലുകള്‍ ഇവിടെ സൂക്ഷിക്കപ്പെടുന്നു.
  • /dev – ലിനക്സില്‍ എല്ലാ ഇന്‍പുട് / ഔട്ട്പുട് ഉപകരണങ്ങളെയും പ്രതിനിധാനം ചെയ്യുന്നതിന് ഓരോ ഫയലുകള്‍ ഉണ്ടായിരിക്കും.  ഇവ പൊതുവില്‍ ഡിവൈസ് ( Device ) ഫയലുകള്‍ എന്നറിയപ്പെടുന്നു.  ഇത്തരം ഫയലുകള്‍ സൂക്ഷിച്ചിരിക്കുന്നത് ഈ ഡയറക്റ്ററിക്കകത്താണ്.
  • /etc – ഓപറേറ്റിങ്ങ് സിസ്റ്റത്തിന്റെയും  അതില്‍ ഇന്‍സ്റ്റാള്‍ ചെയ്തിട്ടുള്ള മിക്ക സോഫ്റ്റ് വെയറുകളുടേയും  കോണ്‍ഫിഗറേഷനുകള്‍ സൂക്ഷിക്കുന്നു.
  • /home – സാധാരണ ഉപയോക്താകളുടെ ഹോം ഡയറക്റ്ററികള്‍ സൂക്ഷിക്കുന്നു.
  • /lib – സോഫ്റ്റ് വെയറുകള്‍ പ്രവര്‍ത്തിക്കുന്നതിന്  ലൈബ്രറി ഫയലുകള്‍ എന്നറിയപ്പെടുന്ന പ്രത്യേക തരം ഫയലുകള്‍ ആവശ്യമുണ്ട്.  ഇവ സൂക്ഷിക്കപ്പെടുന്നത് ഈ ഡയറക്റ്ററിക്കകത്താണ്.
  • /mnt – കംപ്യൂട്ട്റിന്റെ സ്വന്തമല്ലാത്ത ( സ്ഥിരമായി കണക്റ്റ് ചെയ്യപ്പെടാത്ത ) ഫയല്‍ സിസ്റ്റം ഡിവൈസുകള്‍ –  യു.എസ്.ബി. , ഫ്ളോപ്പി, സി.ഡി.,എക്സ്ടേണല്‍ ഹാര്‍ഡ് ഡിസ്ക്  മുതലായവ – താല്ക്കാലികമായി കംപ്യൂട്ടറിന്റെ ഭാഗമാക്കി മാറ്റാന്‍ – ഈ പ്രവര്‍ത്തിയെ മൗണ്ട് ( Mount ) ചെയ്യുക എന്നാണ് പറയുക – ഉപയോഗിക്കുന്ന ഡയറക്റ്ററി.  മൗണ്ട് ചെയ്യപ്പെടുന്ന ഡിവൈസുകള്‍ ഈ ഡയറക്റ്റരിയുടെ കീഴിലുള്ള സബ്-ഡയറക്റ്ററികള്‍ ആയി മാറും.  പുതിയ ഓപറേടിങ്ങ് സിസ്ടങ്ങളില്‍ ഇതു /media എന്ന ഡയറക്റ്ററിയിലേക്കു മാറ്റിയിരിക്കുന്നു.
  • /proc – ഓപറേറ്റിങ്ങ് സിസ്റ്റം പ്രവര്‍ത്തിച്ചു കൊണ്ടിരിക്കുന്ന സമയത്ത് ഉപയോഗിക്കപ്പെടുന്ന സെറ്റിങ്ങുകള്‍,മറ്റു സൗകര്യങ്ങള്‍ എന്നിവയെക്കുരിച്ചുള്ള വിവരങ്ങള്‍ ഇതിനു കീഴിലുള്ള ഫയലുകളിലും ഡയറക്റ്ററികളിലും ശേഖരിക്കപ്പെട്ടിരിക്കുന്നു.
  • /root – കംപ്യൂട്ടറിലെ ഏതു കോണ്‍ഫിഗറേഷനുകളും സെറ്റിങ്ങുകളും മാറ്റുവാന്‍ ( സിസ്ടം അഡ്മിനിസ്ട്രേഷന്‍ എന്നറിയപ്പെടുന്ന ജോലികള്‍ ) അനുവാദമുള്ള ഉപയോക്താവാണ്  “റൂട്ട്”, ഈ ഉപയോക്താവിന്റെ ഹോം ഡയറക്റ്ററിയാണ് ഇത്.
  • /sbin – സിസ്റ്റം അഡ്മിനിസ്ട്രേഷന്‍ ജോലികള്‍ ചെയ്യാന്‍ അനുവാദമുള്ള ഉപയോക്താക്കള്‍ക്ക് വേണ്ടി അത്തരം ജോലികള്‍ക്കാവശ്യമുള്ള സോഫ്റ്റ് വെയറുകള്‍ ഇന്‍സ്റ്റാള്‍ ചെയ്യപ്പെടുന്നത് ഇവിടെയാണ്.
  • /tmp – ഓപറേറ്റിങ്ങ് സിസ്റ്റം പ്രവര്‍ത്തിച്ചു കോണ്ടിരിക്കേ അതിലെ സോഫ്റ്റ് വെയറുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നതിന് താല്‍ക്കാലികമായ ഫയലുകള്‍/ഡയറക്റ്ററികള്‍ എന്നിവ ഉണ്ടാക്കേണ്ടി വരാറുണ്ട്.  ഇവ സൂക്ഷിക്കുന്നതു ഈ ഡയറക്റ്ററിക്കകത്താണ്.  ഓരോ പ്രാവശ്യം കമ്പ്യൂട്ടര്‍ റീബൂട്ട്  ചെയ്യുമ്പോള്‍ ഈ ഡയറക്റ്ററിയിലെ ഫയലുകള്‍ നീക്കം ചെയ്യപ്പെടും.  അതിനാല്‍  സ്ഥിരമായി ഉപയോഗിക്കാന്‍ ഉദ്ദേശിക്കുന്ന ഫയലുകള്‍ ഒരിക്കലും ഇവിടെ സൂക്ഷിക്കരുത്.
  • /usr – എല്ലാ ഉപയോക്താക്കള്‍ക്കും ഉപയോഗിക്കാവുന്ന സോഫ്റ്റ് വെയറുകളുടെ ( /bin ല്‍ ഉള്ളവയുടെ ഒഴിച്ച് ) എല്ലാ കംപോണന്റുകളും – ബൈനറികള്‍ , ലൈബ്രറികള്‍ , ഡോക്ക്യുമെന്റേഷന്‍ തുടങ്ങിയവ – ഇവിടെയാണ്  ഇന്‍സ്റ്റാള്‍ ചെയ്യപ്പെടുന്നത്.
  • /var – ഓപറേറ്റിങ്ങ് സിസ്റ്റം സര്‍വീസുകള്‍ , മറ്റു പ്രധാന സോഫ്റ്റ് വെയറുകള്‍ തുടങ്ങിയവ  ഉണ്ടാക്കുന്ന ഫയലുകള്‍ – തുടര്‍ച്ചയായി ഉള്ളടക്കത്തില്‍ മാറ്റം വരുന്നതും എന്നാല്‍ സ്ഥിരമായി കമ്പ്യൂട്ടറില്‍ സൂക്ഷിച്ചു വെക്കേണ്ടതുമായവ – ഇവിടെ സൂക്ഷിക്കപ്പെടുന്നു.
  • swap-സ്വാപ്പ് എന്നാല്‍  വിര്‍ച്ച്വല്‍ മെമ്മറി എന്നതിനു സമാനമായ ഒന്നാണ്.
    അതായത് നമ്മുടെ ഹാര്‍ഡ് ഡിസ്കിന്റെ ഒരു ഭാഗം റാം ആയി ഉപയോഗിക്കപ്പെടുന്നു.