Τρόπος ρύθμισης και απενεργοποίησης μεταβλητών τοπικού περιβάλλοντος, χρήστη και συστήματος σε περιβάλλον Linux στο Linux


Οι Μεταβλητές περιβάλλοντος είναι ορισμένες ειδικές μεταβλητές που ορίζονται στο κέλυφος και χρειάζονται από τα προγράμματα κατά την εκτέλεση. Μπορούν να ορίζονται από το σύστημα ή από το χρήστη. Οι μεταβλητές που ορίζονται από το σύστημα είναι αυτές που ορίζονται από το σύστημα και χρησιμοποιούνται από προγράμματα σε επίπεδο συστήματος.

Για π.χ. Η εντολή PWD είναι μια πολύ κοινή μεταβλητή συστήματος που χρησιμοποιείται για την αποθήκευση του τρέχοντος καταλόγου εργασίας. Οι μεταβλητές που ορίζονται από το χρήστη ορίζονται συνήθως από τον χρήστη, είτε προσωρινά για το τρέχον κέλυφος είτε μόνιμα. Η όλη ιδέα της ρύθμισης και της απενεργοποίησης των μεταβλητών περιβάλλοντος περιστρέφεται γύρω από κάποιο σύνολο αρχείων και λίγες εντολές και διαφορετικά κελύφη.

Με ευρύτερους όρους, μια μεταβλητή περιβάλλοντος μπορεί να είναι σε τρεις τύπους:

1. Τοπική μεταβλητή περιβάλλοντος

Ένα ορισμένο για την τρέχουσα συνεδρία. Αυτές οι μεταβλητές περιβάλλοντος διαρκούν μόνο μέχρι την τρέχουσα περίοδο λειτουργίας, είτε πρόκειται για περίοδο σύνδεσης απομακρυσμένης σύνδεσης είτε για τοπικό τερματικό. Αυτές οι μεταβλητές δεν καθορίζονται σε κανένα αρχείο διαμόρφωσης και δημιουργούνται και αφαιρούνται χρησιμοποιώντας ένα ειδικό σύνολο εντολών.

2. Μεταβλητή Περιβάλλοντος Χρήστη

Αυτές είναι οι μεταβλητές που ορίζονται για έναν συγκεκριμένο χρήστη και φορτώνονται κάθε φορά που ένας χρήστης συνδέεται χρησιμοποιώντας μια περίοδο σύνδεσης τοπικού τερματικού ή αυτός ο χρήστης συνδέεται χρησιμοποιώντας απομακρυσμένη περίοδο σύνδεσης. Αυτές οι μεταβλητές συνήθως ορίζονται και φορτώνονται από τα ακόλουθα αρχεία διαμόρφωσης: .bashrc, .bash_profile, .bash_login, .profile αρχεία που υπάρχουν στον αρχικό κατάλογο του χρήστη.

3. Μεταβλητές περιβάλλοντος σε όλο το σύστημα

Αυτές είναι οι μεταβλητές περιβάλλοντος που είναι διαθέσιμες σε όλο το σύστημα, δηλαδή για όλους τους χρήστες που είναι παρόντες σε αυτό το σύστημα. Αυτές οι μεταβλητές υπάρχουν σε αρχεία διαμόρφωσης σε όλο το σύστημα που υπάρχουν στους ακόλουθους καταλόγους και αρχεία: /etc/environment, /etc/profile, /etc/profile.d /, /etc/bash.bashrc. Αυτές οι μεταβλητές φορτώνονται κάθε φορά που το σύστημα ενεργοποιείται και συνδέεται είτε τοπικά είτε απομακρυσμένα από οποιονδήποτε χρήστη.

Κατανόηση των αρχείων διαμόρφωσης σε επίπεδο χρήστη και συστήματος

Εδώ, περιγράφουμε εν συντομία διάφορα αρχεία διαμόρφωσης που αναφέρονται παραπάνω και περιέχουν μεταβλητές περιβάλλοντος, είτε σε επίπεδο συστήματος είτε ειδικά για τον χρήστη.

.bashrc

Αυτό το αρχείο είναι αρχείο συγκεκριμένου χρήστη που φορτώνεται κάθε φορά που ο χρήστης δημιουργεί μια νέα τοπική περίοδο λειτουργίας, δηλαδή με απλά λόγια, ανοίγει ένα νέο τερματικό. Όλες οι μεταβλητές περιβάλλοντος που δημιουργούνται σε αυτό το αρχείο θα ισχύουν κάθε φορά που ξεκινά μια νέα τοπική περίοδος λειτουργίας.

.bash_profile

Αυτό το αρχείο είναι αρχείο απομακρυσμένης σύνδεσης για συγκεκριμένο χρήστη. Οι μεταβλητές περιβάλλοντος που παρατίθενται σε αυτό το αρχείο καλούνται κάθε φορά που ο χρήστης συνδέεται εξ αποστάσεως, δηλαδή χρησιμοποιώντας περίοδο λειτουργίας ssh. Εάν αυτό το αρχείο δεν υπάρχει, το σύστημα αναζητά αρχεία .bash_login ή .profile.

/etc/περιβάλλον

Αυτό το αρχείο είναι αρχείο σε όλο το σύστημα για τη δημιουργία, την επεξεργασία ή την αφαίρεση οποιωνδήποτε μεταβλητών περιβάλλοντος. Οι μεταβλητές περιβάλλοντος που δημιουργούνται σε αυτό το αρχείο είναι προσβάσιμες σε όλο το σύστημα, από κάθε χρήστη, τόσο τοπικά όσο και απομακρυσμένα.

/etc/bash.bashrc

Αρχείο bashrc σε όλο το σύστημα. Αυτό το αρχείο φορτώνεται μία φορά για κάθε χρήστη, κάθε φορά που ο χρήστης ανοίγει μια περίοδο λειτουργίας τοπικού τερματικού. Οι μεταβλητές περιβάλλοντος που δημιουργούνται σε αυτό το αρχείο είναι προσβάσιμες για όλους τους χρήστες αλλά μόνο μέσω της συνεδρίας τοπικού τερματικού. Όταν οποιοσδήποτε χρήστης σε αυτό το μηχάνημα έχει απομακρυσμένη πρόσβαση μέσω μιας απομακρυσμένης περιόδου σύνδεσης, αυτές οι μεταβλητές δεν θα είναι ορατές.

/etc/profile

Αρχείο προφίλ σε όλο το σύστημα. Όλες οι μεταβλητές που δημιουργούνται σε αυτό το αρχείο είναι προσβάσιμες από κάθε χρήστη του συστήματος, αλλά μόνο εάν η συνεδρία του χρήστη καλείται εξ αποστάσεως, δηλαδή μέσω απομακρυσμένης σύνδεσης. Οποιαδήποτε μεταβλητή σε αυτό το αρχείο δεν θα είναι προσβάσιμη για τοπική περίοδο σύνδεσης, δηλαδή όταν ο χρήστης ανοίγει ένα νέο τερματικό στο τοπικό του σύστημα.

Σημείωση: Οι μεταβλητές περιβάλλοντος που δημιουργούνται με χρήση αρχείων διαμόρφωσης σε όλο το σύστημα ή σε όλο τον χρήστη μπορούν να καταργηθούν αφαιρώντας τις μόνο από αυτά τα αρχεία. Απλώς μετά από κάθε αλλαγή σε αυτά τα αρχεία, είτε αποσυνδεθείτε και συνδεθείτε ξανά ή απλώς πληκτρολογήστε την ακόλουθη εντολή στο τερματικό για να τεθούν σε ισχύ οι αλλαγές:

source <file-name>

Ορισμός ή κατάργηση ρύθμισης τοπικών ή περιβαλλοντικών μεταβλητών σε όλη την περίοδο λειτουργίας στο Linux

Οι Μεταβλητές τοπικού περιβάλλοντος μπορούν να δημιουργηθούν χρησιμοποιώντας τις ακόλουθες εντολές:

var=value 
OR
export var=value

Αυτές οι μεταβλητές έχουν εύρος συνεδρίας και ισχύουν μόνο για την τρέχουσα συνεδρία τερματικού. Για την εκκαθάριση αυτών των μεταβλητών περιβάλλοντος σε όλη τη συνεδρία μπορούν να χρησιμοποιηθούν οι ακόλουθες εντολές:

1. Χρησιμοποιώντας το env

Από προεπιλογή, η εντολή "env" παραθέτει όλες τις τρέχουσες μεταβλητές περιβάλλοντος. Αλλά, εάν χρησιμοποιείται με το διακόπτη '-i', διαγράφει προσωρινά όλες τις μεταβλητές περιβάλλοντος και επιτρέπει στον χρήστη να εκτελέσει μια εντολή στην τρέχουσα περίοδο λειτουργίας χωρίς όλες τις μεταβλητές περιβάλλοντος.

env –i [Var=Value]… command args…

Εδώ, το var=value αντιστοιχεί σε οποιαδήποτε τοπική μεταβλητή περιβάλλοντος που θέλετε να χρησιμοποιήσετε μόνο με αυτήν την εντολή.

env –i bash

Θα δώσει bash κέλυφος που προσωρινά δεν θα έχει καμία από τις μεταβλητές περιβάλλοντος. Αλλά, καθώς βγαίνετε από το κέλυφος, όλες οι μεταβλητές θα αποκατασταθούν.

2. Χρήση απενεργοποίησης

Ένας άλλος τρόπος για να διαγράψετε μια τοπική μεταβλητή περιβάλλοντος είναι χρησιμοποιώντας την εντολή unset. Για να καταργήσετε προσωρινά οποιαδήποτε τοπική μεταβλητή περιβάλλοντος,

unset <var-name>

Όπου, var-name είναι το όνομα της τοπικής μεταβλητής που θέλετε να καταργήσετε ή να διαγράψετε.

3. Ορίστε το όνομα της μεταβλητής σε "

Ένας άλλος λιγότερο συνηθισμένος τρόπος θα ήταν να ορίσετε το όνομα της μεταβλητής που θέλετε να διαγράψετε σε '' (Κενό). Αυτό θα διαγράψει την τιμή της τοπικής μεταβλητής για την τρέχουσα περίοδο λειτουργίας για την οποία είναι ενεργή.

ΣΗΜΕΙΩΣΗ – ΜΠΟΡΕΙΤΕ ΑΚΟΜΑ ΚΑΙ ΝΑ ΠΑΙΞΕΤΕ ΜΕ ΚΑΙ ΝΑ ΑΛΛΑΞΕΤΕ ΤΙΣ ΤΙΜΕΣ ΤΩΝ ΜΕΤΑΒΛΗΤΩΝ ΣΥΣΤΗΜΑΤΟΣ Ή ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΧΡΗΣΤΗ, ΑΛΛΑ ΟΙ ΑΛΛΑΓΕΣ ΘΑ ΑΝΤΙΚΡΕΦΟΝΤΑΙ ΣΤΗΝ ΤΡΕΧΟΥΣΑ ΣΥΝΕΔΡΙΑ ΤΕΡΜΑΤΙΚΟΥ ΟΧΙ ΜΟΝΟ ΚΑΙ ΔΕΝ ΕΙΝΑΙ ΠΕΡΙΣΣΟΤΕΡΟ.

Μάθετε πώς να δημιουργείτε μεταβλητές περιβάλλοντος χρήστη και συστήματος σε Linux στο Linux

Στην ενότητα, θα μάθουμε πώς να ορίζετε ή να καταργείτε τη ρύθμιση τοπικών μεταβλητών περιβάλλοντος, χρήστη και συστήματος σε Linux με τα παρακάτω παραδείγματα:

1. Ορισμός και απενεργοποίηση τοπικών μεταβλητών στο Linux

α.) Εδώ, δημιουργούμε μια τοπική μεταβλητή VAR1 και την ορίζουμε σε οποιαδήποτε τιμή. Στη συνέχεια, χρησιμοποιούμε unset για να αφαιρέσουμε αυτήν την τοπική μεταβλητή και στο τέλος αυτή η μεταβλητή αφαιρείται.

VAR1='TecMint is best Site for Linux Articles'
echo $VAR1
unset VAR1
echo $VAR1

β.) Ένας άλλος τρόπος δημιουργίας μιας τοπικής μεταβλητής είναι χρησιμοποιώντας την εντολή export. Η τοπική μεταβλητή που δημιουργήθηκε θα είναι διαθέσιμη για την τρέχουσα περίοδο λειτουργίας. Για να καταργήσετε τη ρύθμιση της μεταβλητής απλώς ορίστε την τιμή της μεταβλητής σε ''.

export VAR='TecMint is best Site for Linux Articles'
echo $VAR
VAR=
echo $VAR

γ.) Εδώ, δημιουργήσαμε μια τοπική μεταβλητή VAR2 και την ορίσαμε σε μια τιμή. Στη συνέχεια, για να εκτελέσουμε μια εντολή που διαγράφει προσωρινά όλες τις τοπικές και άλλες μεταβλητές περιβάλλοντος, εκτελέσαμε την εντολή 'env –i'. Αυτή η εντολή εδώ εκτελούσε το bash shell διαγράφοντας όλες τις άλλες μεταβλητές περιβάλλοντος. Αφού εισαγάγετε 'exit' στο κέλυφος bash που επικαλείται, όλες οι μεταβλητές θα αποκατασταθούν.

VAR2='TecMint is best Site for Linux Articles'
echo $VAR2
env -i bash
echo $VAR2   

2. Ορισμός και κατάργηση ρύθμισης μεταβλητών περιβάλλοντος χρήστη σε Linux

α.) Τροποποιήστε το αρχείο .bashrc στον αρχικό σας κατάλογο για εξαγωγή ή ορίστε τη μεταβλητή περιβάλλοντος που θέλετε να προσθέσετε. Μετά από αυτό πηγάζει το αρχείο, για να ισχύσουν οι αλλαγές. Στη συνέχεια, θα δείτε τη μεταβλητή ('CD' στην περίπτωσή μου), να τίθεται σε ισχύ. Αυτή η μεταβλητή θα είναι διαθέσιμη κάθε φορά που ανοίγετε ένα νέο τερματικό για αυτόν τον χρήστη, αλλά όχι για απομακρυσμένες περιόδους σύνδεσης.

vi .bashrc

Προσθέστε την ακόλουθη γραμμή στο αρχείο .bashrc στο κάτω μέρος.

export CD='This is TecMint Home'

Τώρα εκτελέστε την ακόλουθη εντολή για να κάνετε νέες αλλαγές και να τις δοκιμάσετε.

source .bashrc 
echo $CD

Για να καταργήσετε αυτήν τη μεταβλητή, απλώς καταργήστε την ακόλουθη γραμμή στο αρχείο .bashrc και δημιουργήστε την εκ νέου πηγή:

β.) Για να προσθέσετε μια μεταβλητή που θα είναι διαθέσιμη για απομακρυσμένες περιόδους σύνδεσης (δηλαδή όταν μεταφέρετε ssh στο χρήστη από απομακρυσμένο σύστημα), τροποποιήστε το αρχείο .bash_profile.

vi .bash_profile

Προσθέστε την ακόλουθη γραμμή στο αρχείο .bash_profile στο κάτω μέρος.

export VAR2='This is TecMint Home'

Κατά την προμήθεια αυτού του αρχείου, η μεταβλητή θα είναι διαθέσιμη όταν κάνετε ssh σε αυτόν τον χρήστη, αλλά όχι κατά το άνοιγμα οποιουδήποτε νέου τοπικού τερματικού.

source .bash_profile 
echo $VAR2

Εδώ, το VAR2 δεν είναι αρχικά διαθέσιμο, αλλά, όταν κάνετε ssh στον χρήστη στο localhost, η μεταβλητή γίνεται διαθέσιμη.

ssh tecmint@localhost
echo $VAR2

Για να καταργήσετε αυτήν τη μεταβλητή, απλώς αφαιρέστε τη γραμμή στο αρχείο .bash_profile που προσθέσατε και δημιουργήστε ξανά πηγή του αρχείου.

ΣΗΜΕΙΩΣΗ: Αυτές οι μεταβλητές θα είναι διαθέσιμες κάθε φορά που συνδέεστε στον τρέχοντα χρήστη αλλά όχι για άλλους χρήστες.

3. Ορισμός και απενεργοποίηση μεταβλητών περιβάλλοντος σε όλο το σύστημα στο Linux

α.) Για να προσθέσετε μεταβλητή χωρίς σύνδεση σε όλο το σύστημα (δηλαδή μια μεταβλητή που είναι διαθέσιμη για όλους τους χρήστες όταν κάποιος από αυτούς ανοίγει νέο τερματικό αλλά όχι όταν οποιοσδήποτε χρήστης του μηχανήματος είναι απομακρυσμένη πρόσβαση) προσθέστε τη μεταβλητή στο < αρχείο/etc/bash.bashrc.

export VAR='This is system-wide variable'

Μετά από αυτό, προέλευση του αρχείου.

source /etc/bash.bashrc 

Τώρα αυτή η μεταβλητή θα είναι διαθέσιμη για κάθε χρήστη όταν ανοίγει οποιοδήποτε νέο τερματικό.

echo $VAR
sudo su
echo $VAR
su -
echo $VAR

Εδώ, η ίδια μεταβλητή είναι διαθέσιμη για χρήστη root καθώς και για κανονικό χρήστη. Μπορείτε να το επαληθεύσετε κάνοντας είσοδο σε άλλο χρήστη.

β.) Εάν θέλετε οποιαδήποτε μεταβλητή περιβάλλοντος να είναι διαθέσιμη όταν κάποιος χρήστης του υπολογιστή σας είναι απομακρυσμένος συνδεδεμένος, αλλά όχι κατά το άνοιγμα οποιουδήποτε νέου τερματικού σε τοπικό μηχάνημα, τότε πρέπει να επεξεργαστείτε το αρχείο – '/etc/profile'.

export VAR1='This is system-wide variable for only remote sessions'

Αφού προσθέσετε τη μεταβλητή, απλώς ανανεώστε το αρχείο. Τότε η μεταβλητή θα ήταν διαθέσιμη.

source /etc/profile
echo $VAR1

Για να καταργήσετε αυτήν τη μεταβλητή, αφαιρέστε τη γραμμή από το αρχείο /etc/profile και ανανεώστε την.

γ.) Ωστόσο, εάν θέλετε να προσθέσετε οποιοδήποτε περιβάλλον που θέλετε να είναι διαθέσιμο σε όλο το σύστημα, τόσο σε περιόδους σύνδεσης απομακρυσμένης σύνδεσης όσο και σε τοπικές περιόδους σύνδεσης (δηλαδή άνοιγμα ενός νέου παραθύρου τερματικού) για όλους χρήστες, απλώς εξαγάγετε τη μεταβλητή στο αρχείο /etc/environment.

export VAR12='I am available everywhere'

Μετά από αυτό, απλώς δημιουργήστε το αρχείο και οι αλλαγές θα τεθούν σε ισχύ.

source /etc/environment
echo $VAR12
sudo su
echo $VAR12
exit
ssh localhost
echo $VAR12

Εδώ, όπως βλέπουμε, η μεταβλητή περιβάλλοντος είναι διαθέσιμη για κανονικό χρήστη, χρήστη root, καθώς και σε απομακρυσμένη περίοδο σύνδεσης (εδώ, σε localhost).

Για να διαγράψετε αυτήν τη μεταβλητή, απλώς καταργήστε την καταχώριση στο αρχείο /etc/environment και επαναλάβετε την πηγή ή συνδεθείτε ξανά.

ΣΗΜΕΙΩΣΗ: Οι αλλαγές ισχύουν κατά την προέλευση του αρχείου. Αλλά, αν όχι, τότε ίσως χρειαστεί να αποσυνδεθείτε και να συνδεθείτε ξανά.

συμπέρασμα

Έτσι, αυτοί είναι λίγοι τρόποι με τους οποίους μπορούμε να τροποποιήσουμε τις μεταβλητές περιβάλλοντος. Αν βρείτε νέα και ενδιαφέροντα κόλπα για το ίδιο, αναφέρετε στα σχόλιά σας.