டைரென்வ் - லினக்ஸில் திட்ட-குறிப்பிட்ட சுற்றுச்சூழல் மாறுபாடுகளை நிர்வகிக்கவும்


டைரன்வ் என்பது லினக்ஸ் மற்றும் மேகோஸ் போன்ற யுனிக்ஸ் இயக்க முறைமையில் உங்கள் ஷெல்லுக்கு ஒரு நிஃப்டி ஓப்பன் சோர்ஸ் நீட்டிப்பு ஆகும். இது ஒற்றை நிலையான இயங்கக்கூடியதாக தொகுக்கப்பட்டுள்ளது மற்றும் பாஷ், zsh, tcsh மற்றும் மீன் போன்ற குண்டுகளை ஆதரிக்கிறது.

~/.profile அல்லது தொடர்புடைய ஷெல் தொடக்க கோப்புகளை ஒழுங்கீனம் செய்யாமல் திட்ட-குறிப்பிட்ட சூழல் மாறிகளை அனுமதிப்பதே டைரென்வியின் முக்கிய நோக்கம். தற்போதைய கோப்பகத்தைப் பொறுத்து சூழல் மாறிகள் ஏற்ற மற்றும் இறக்குவதற்கான புதிய வழியை இது செயல்படுத்துகிறது.

12 ஃபாக்டர் பயன்பாடுகளை ஏற்றவும் (மென்பொருளை ஒரு சேவை பயன்பாடுகளாக உருவாக்குவதற்கான ஒரு முறை) சூழல் மாறிகள், ஒரு திட்டத்திற்கு தனிமைப்படுத்தப்பட்ட மேம்பாட்டு சூழல்களை உருவாக்குதல் மற்றும் வரிசைப்படுத்துவதற்கான ரகசியங்களை ஏற்றவும் இது பயன்படுகிறது. கூடுதலாக, rbenv, pyenv மற்றும் phpenv போன்ற பல பதிப்பு நிறுவல் மற்றும் மேலாண்மை தீர்வுகளை உருவாக்க இதைப் பயன்படுத்தலாம்.

எனவே டைரன்வ் எவ்வாறு செயல்படுகிறது?

ஷெல் ஒரு கட்டளை வரியில் ஏற்றுவதற்கு முன், direnv தற்போதைய .envrc கோப்பின் இருப்பை சரிபார்க்கிறது (இது நீங்கள் pwd கட்டளையைப் பயன்படுத்தி காண்பிக்க முடியும்) மற்றும் பெற்றோர் அடைவு. சரிபார்ப்பு செயல்முறை விரைவானது மற்றும் ஒவ்வொரு வரியில் கவனிக்க முடியாது.

பொருத்தமான அனுமதிகளுடன் .envrc கோப்பைக் கண்டறிந்ததும், அதை ஒரு பாஷ் துணை ஷெல்லில் ஏற்றும் மற்றும் அது ஏற்றுமதி செய்யப்பட்ட அனைத்து மாறிகளையும் கைப்பற்றி தற்போதைய ஷெல்லுக்கு கிடைக்கச் செய்கிறது.

லினக்ஸ் சிஸ்டங்களில் டைரென்வை நிறுவுகிறது

பெரும்பாலான லினக்ஸ் விநியோகங்களில், காட்டப்பட்டுள்ளபடி உங்கள் கணினி தொகுப்பு நிர்வாகியைப் பயன்படுத்தி இயல்புநிலை களஞ்சியங்களிலிருந்து நிறுவ டைரன்வ் தொகுப்பு கிடைக்கிறது.

$ sudo apt install direnv		#Debian,Ubuntu and Mint
$ sudo dnf install direnv		#Fedora

Red Hat Enterprise Linux (RHEL) மற்றும் CentOS போன்ற பிற விநியோகங்களில் அல்லது உங்கள் கணினியில் நிறுவப்பட்ட snapd ஐ ஆதரிக்கும் எந்த விநியோகத்திலும்.

$ sudo snap install direnv

உங்கள் பாஷ் ஷெல்லில் டைரென்வை எவ்வாறு இணைப்பது

Direnv ஐ நிறுவிய பின், அதை உங்கள் தற்போதைய லினக்ஸ் ஷெல்லுடன் இணைக்க வேண்டும். பாஷுக்கு எடுத்துக்காட்டாக, ~/.bashrc கோப்பின் முடிவில் பின்வரும் வரியைச் சேர்க்கவும்.

Rvm, git-prompt மற்றும் பிற ஷெல் நீட்டிப்புகளுக்குப் பிறகும் இது தோன்றும் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.

eval "$(direnv hook bash)"

~/.zshrc கோப்பின் முடிவில் பின்வரும் வரியைச் சேர்க்கவும்:

eval "$(direnv hook zsh)" 

~/.config/fish/config.fish கோப்பின் முடிவில் பின்வரும் வரியைச் சேர்க்கவும்:

eval (direnv hook fish)

பின்னர் செயலில் உள்ள முனைய சாளரத்தை மூடி, புதிய ஷெல்லைத் திறக்கவும் அல்லது காட்டப்பட்டுள்ளபடி கோப்பை மூலமாகவும் வைக்கவும்.

$ source ~/.bashrc
$ source  ~/.zshrc 
$ source ~/.config/fish/config.fish

லினக்ஸ் ஷெல்லில் direnv ஐ எவ்வாறு பயன்படுத்துவது

Direnv எவ்வாறு செயல்படுகிறது என்பதை நிரூபிக்க, tecmint_projects என்ற புதிய கோப்பகத்தை உருவாக்கி அதில் நகருவோம்.

$ mkdir ~/tecmint_projects
$ cd tecmint_projects/

அடுத்து, கட்டளை வரியில் TEST_VARIABLE என்ற புதிய மாறியை உருவாக்குவோம், அது எதிரொலிக்கும்போது, மதிப்பு காலியாக இருக்க வேண்டும்:

$ echo $TEST_VARIABLE

இப்போது நாம் ஒரு புதிய .envrc கோப்பை உருவாக்குவோம், அதில் பாஷ் குறியீடு உள்ளது, அவை டைரன்வி மூலம் ஏற்றப்படும். எதிரொலி கட்டளை மற்றும் வெளியீட்டு திருப்பிவிடல் எழுத்து (>) ஐப் பயன்படுத்தி "TEST_VARIABLE = tecmint ஐ ஏற்றுமதி செய்க" என்ற வரியையும் சேர்க்க முயற்சிக்கிறோம்.

$ echo export TEST_VARIABLE=tecmint > .envrc

இயல்பாக, .envrc கோப்பை ஏற்றுவதை பாதுகாப்பு வழிமுறை தடுக்கிறது. இது ஒரு பாதுகாப்பான கோப்பு என்று எங்களுக்குத் தெரியும் என்பதால், பின்வரும் கட்டளையை இயக்குவதன் மூலம் அதன் உள்ளடக்கத்தை அங்கீகரிக்க வேண்டும்:

$ direnv allow .

இப்போது .envrc கோப்பின் உள்ளடக்கம் ஏற்ற அனுமதிக்கப்பட்டுள்ளது, இதற்கு முன்பு நாம் அமைத்த TEST_VARIABLE இன் மதிப்பைச் சரிபார்க்கலாம்:

$ echo $TEST_VARIABLE

நாம் tecmint_project கோப்பகத்திலிருந்து வெளியேறும்போது, டைரன்வி இறக்கப்படும், மேலும் TEST_VARIABLE இன் மதிப்பை மீண்டும் ஒரு முறை சரிபார்த்தால், அது காலியாக இருக்க வேண்டும்:

$ cd ..
$ echo $TEST_VARIABLE

ஒவ்வொரு முறையும் நீங்கள் tecmint_projects கோப்பகத்தில் செல்லும்போது, .envrc கோப்பு பின்வரும் ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி ஏற்றப்படும்:

$ cd tecmint_projects/

கொடுக்கப்பட்ட .envrc இன் அங்கீகாரத்தை ரத்து செய்ய, மறுப்பு கட்டளையைப் பயன்படுத்தவும்.

$ direnv deny .			#in current directory
OR
$ direnv deny /path/to/.envrc

மேலும் தகவல் மற்றும் பயன்பாட்டு வழிமுறைகளுக்கு, டைரன்வ் மேன் பக்கத்தைப் பார்க்கவும்:

$ man direnv

கூடுதலாக, டைரென்வ் ஒரு ஸ்டிட்லிப் (டைரென்வ்-ஸ்டிட்லிப்) ஐப் பயன்படுத்துகிறது, இது பல செயல்பாடுகளுடன் வருகிறது, இது உங்கள் பாதையில் புதிய கோப்பகங்களை எளிதில் சேர்க்க அனுமதிக்கிறது, மேலும் பலவற்றைச் செய்யலாம்.

கிடைக்கக்கூடிய அனைத்து செயல்பாடுகளுக்கான ஆவணங்களையும் கண்டுபிடிக்க, direnv-stdlib கையேடு நுழைவு பக்கத்தைப் பார்க்கவும்:

$ man direnv-stdlib

உங்களுக்காக நாங்கள் வைத்திருப்பது அவ்வளவுதான்! எங்களுடன் பகிர்ந்து கொள்ள உங்களுக்கு ஏதேனும் கேள்விகள் அல்லது எண்ணங்கள் இருந்தால், கீழே உள்ள கருத்து படிவத்தைப் பயன்படுத்தவும்.