பின், sbin, usr/bin, usr/sbin இடையே உள்ள வேறுபாடு

நவம்பர் 30, 2010 அன்று, டேவிட் கோலியர் எழுதினார்:

பிஸிபாக்ஸில் இணைப்புகள் இந்த நான்கு கோப்பகங்களாகப் பிரிக்கப்பட்டிருப்பதை நான் கவனித்தேன்.
எந்த கோப்பகத்தில் எந்த இணைப்புகள் இருக்க வேண்டும் என்பதை தீர்மானிக்க சில எளிய விதிகள் உள்ளதா ...
எடுத்துக்காட்டாக, கொலை என்பது /பின் மற்றும் கில்லால் என்பது /usr/bin இல் உள்ளது... இந்தப் பிரிவில் எந்த லாஜிக்கும் எனக்கு தெரியவில்லை.

கென் தாம்சன் மற்றும் டென்னிஸ் ரிச்சி ஆகியோர் 7 இல் PDP-1969 இல் Unix ஐ உருவாக்கினர் என்பது உங்களுக்குத் தெரியும். எனவே, 1971 இல், அவர்கள் ஒரு ஜோடி RK11 வட்டுகளுடன் (ஒவ்வொன்றும் 05 மெகாபைட்கள்) PDP-1,5 க்கு மேம்படுத்தப்பட்டனர்.

ஆப்பரேட்டிங் சிஸ்டம் வளர்ந்து முதல் வட்டில் (ரூட் எஃப்எஸ் அமைந்திருந்தது) பொருந்தாதபோது, ​​அவை ஹோம் டைரக்டரிகள் அமைந்துள்ள இரண்டாவது பகுதிக்கு நகர்த்தப்பட்டன (எனவே, மவுண்ட் பாயின்ட் / யுஎஸ்ஆர் - வார்த்தையிலிருந்து அழைக்கப்பட்டது. பயனர்). அவர்கள் தேவையான அனைத்து OS கோப்பகங்களையும் (/bin, /sbin, /lib, /tmp ...) நகலெடுத்து புதிய வட்டில் கோப்புகளை வைத்தார்கள், ஏனெனில் பழையது இடம் இல்லாமல் போனது. பின்னர் அவர்களிடம் மூன்றாவது டிஸ்க் இருந்தது, அதை /ஹோம் டைரக்டரியில் ஏற்றி, பயனர்களின் ஹோம் டைரக்டரிகளை அங்கு நகர்த்தினார்கள், இதனால் OS ஆனது இரண்டு டிஸ்க்குகளில் மீதமுள்ள அனைத்து இடத்தையும் எடுத்துக்கொள்ளும். மூன்று மெகாபைட்கள் (ஆஹா!).

நிச்சயமாக, "ஆப்பரேட்டிங் சிஸ்டம் துவங்கும் போது, ​​அது இரண்டாவது வட்டை /usr இல் ஏற்ற வேண்டும், எனவே மவுண்ட் போன்ற நிரல்களை /usr இல் இரண்டாவது வட்டில் வைக்க வேண்டாம் அல்லது உங்களிடம் இருக்கும் ஒரு விதியை அவர்கள் உருவாக்க வேண்டும். ஒரு கோழி மற்றும் முட்டை பிரச்சனை." இது மிகவும் எளிமையானது. அது 6 ஆண்டுகளுக்கு முன்பு Unix V35 இல் இருந்தது.

/bin மற்றும் /usr/bin (மற்றும் இது போன்ற அனைத்து கோப்பகங்களும்) பிரிக்கப்படுவது அந்த நிகழ்வுகளின் மரபு ஆகும், இது 70 களில் இருந்து பல தசாப்தங்களாக அதிகாரத்துவவாதிகளால் நகலெடுக்கப்பட்ட விவரமாகும். என்ற கேள்வியை அவர்கள் கேட்கவே இல்லை ஏன்அவர்கள் அதை செய்தார்கள். பல காரணங்களுக்காக லினக்ஸ் உருவாக்கப்படுவதற்கு முன்பே இந்த பிரிவு அர்த்தமுள்ளதாக இல்லாமல் போனது:

  1. துவக்கும் போது, ​​initrd அல்லது initramfs பயன்படுத்தப்படுகிறது, இது "அதற்கு முன் இந்தக் கோப்பு நமக்குத் தேவை" போன்ற சிக்கல்களைக் கவனித்துக்கொள்ளும். இவ்வாறு, எங்களிடம் உள்ளது ஏற்கனவே உள்ளது தற்காலிக கோப்பு முறைமை மற்ற அனைத்தையும் ஏற்ற பயன்படுகிறது.
  2. பகிரப்பட்ட நூலகங்கள் (பெர்க்லியில் உள்ளவர்களால் Unix இல் சேர்க்கப்பட்டவை) /lib மற்றும் /usr/lib இன் உள்ளடக்கங்களை சுயாதீனமாக மாற்ற உங்களை அனுமதிக்காது. இந்த இரண்டு பகுதிகளும் பொருந்த வேண்டும் அல்லது அவை வேலை செய்யாது. 1974 இல் இது நடக்கவில்லை, ஏனென்றால் நிலையான இணைப்பின் காரணமாக அவர்களுக்கு ஓரளவு சுதந்திரம் இருந்தது.
  3. மலிவான ஹார்ட் டிரைவ்கள் 100 இல் 1990 மெகாபைட் தடையை உடைத்தன, அதே நேரத்தில், பகிர்வு மறுஅளவிடல் மென்பொருள் தோன்றியது (3.0 இல் பகிர்வு மேஜிக் 1997 வந்தது).

நிச்சயமாக, ஒரு பிரிவு இருப்பதால், சிலர் அதை நியாயப்படுத்தும் விதிகளை கொண்டு வந்துள்ளனர். எல்லா வகையான பொதுவான OS அம்சங்களுக்கும் ரூட் பகிர்வு தேவைப்படுகிறது, மேலும் உங்கள் உள்ளூர் கோப்புகளை / usr இல் வைக்க வேண்டும். அல்லது AT&T என்ன விநியோகம் செய்கிறது, மற்றும் /usr இல் உங்கள் விநியோகம், IBM AIX அல்லது Dec Ultrix அல்லது SGI Irix சேர்க்கப்பட்டது, மேலும் /usr/local உங்கள் கணினிக்கு குறிப்பிட்ட கோப்புகளைக் கொண்டுள்ளது. புதிய மென்பொருளை நிறுவுவதற்கு /usr/local சரியான இடம் அல்ல என்று யாரோ முடிவு செய்தனர், எனவே /opt ஐ சேர்ப்போம்! /opt/local என்றும் தோன்றினால் நான் ஆச்சரியப்பட மாட்டேன் ...

நிச்சயமாக, 30 ஆண்டுகளில், இந்த பிரிவின் காரணமாக, அனைத்து வகையான சுவாரஸ்யமான விநியோக-குறிப்பிட்ட விதிகளும் வந்துவிட்டன. எடுத்துக்காட்டாக, "/tmp மறுதொடக்கத்தில் அழிக்கப்பட்டது, ஆனால் /usr/tmp இல்லை." (மற்றும் உபுண்டுவில் கொள்கையளவில் /usr/tmp இல்லை, மேலும் Gentoo /usr/tmp என்பது /var/tmpக்கான குறியீட்டு இணைப்பு, இது இப்போது அந்த விதிக்கு உட்பட்டது, மேலும் இது மறுதொடக்கத்தில் அழிக்கப்படவில்லை. ஆம், இது முன்பே இருந்தது, ரூட் எஃப்எஸ் படிக்க மட்டுமே உள்ளது, பின்னர் நீங்கள் /usr க்கு எதையும் எழுத வேண்டியதில்லை, ஆனால் நீங்கள் /var க்கு எழுத வேண்டும். அடிப்படையில் /etc இல் தவிர எழுத முடியாது, இது சில நேரங்களில் /var க்கு நகர்த்த முயற்சி செய்யப்பட்டது ...)

லினக்ஸ் அறக்கட்டளை (இது பல ஆண்டுகளுக்கு முன்பு அதன் விரிவாக்கத்தின் போது இலவச தரநிலைக் குழுவை விழுங்கியது) போன்ற அதிகாரத்துவவாதிகள் இந்த விதிகளை ஆவணப்படுத்துவதில் மகிழ்ச்சியடைகிறார்கள் மற்றும் அவை ஏன் இருந்தன என்பதைக் கண்டுபிடிக்க முயற்சிக்காமல் சிக்கலாக்குகின்றன. PDP-05 இல் உள்ள RK11 டிஸ்க் மிகவும் சிறியதாக இருந்ததால், கென் மற்றும் டென்னிஸ் இருவரும் OS இன் ஒரு பகுதியை தங்கள் ஹோம் டைரக்டரிக்கு மாற்றினர் என்பதை அவர்கள் உணரவில்லை.

பிஸிபாக்ஸ் வரலாற்று ரீதியாக கோப்புகளை அதே வழியில் வைக்கிறது என்று நான் உறுதியாக நம்புகிறேன். இப்போது வரை அவ்வாறு செய்வதற்கு உண்மையான காரணம் எதுவும் இல்லை. தனிப்பட்ட முறையில், நான் /bin, /sbin மற்றும் /lib இணைப்பை /usr இல் உள்ள ஒத்த கோப்பகங்களுக்கு உருவாக்குகிறேன். எல்லாவற்றிற்கும் மேலாக, உட்பொதிக்கப்பட்ட மென்பொருளுடன் பணிபுரியும் நபர்கள் புரிந்து கொள்ளவும் எளிமைப்படுத்தவும் முயற்சி செய்கிறார்கள் ...

ஆதாரம்: www.habr.com

கருத்தைச் சேர்