Puncte:0

Flux de lucru pentru gestionarea bash rc-urilor în medii cloud

drapel br

Anterior nu am editat bashrc pe serverele mele cloud. Serverele se schimbă prea des, efortul pare că nu merită. De asemenea, nu vreau să încarc bashrc-ul meu local pe fiecare server cloud, deoarece există o mulțime de lucruri în bashrc-ul meu local care au sens doar pentru mașina mea locală. Dar am anumite pseudonime etc pe care mi-aș dori să le am pe toate serverele mele cloud. Există câteva moduri în care m-aș putea gândi să gestionez asta:

  1. Scrieți un bashrc pentru serverele cloud și apoi înlocuiți întotdeauna bashrc-ul implicit cu acesta. Dezavantaj: dacă pornesc un server cu un alt sistem de operare care are un bashrc diferit, voi înlocui conținutul său când îl încarc?
  2. Creez un fișier separat cu aliasul meu etc. și îl încarc pe serverele mele și apoi adaug o linie la sfârșitul bashrc-ului existent care generează acest fișier suplimentar. Dezavantaje: un pic mai mult efort.
  3. Doar copy-paste de fiecare dată când pornesc un nou server. Dezavantaje: mult efort.

Are cineva o soluție sau o recomandare bună? Mulțumiri.

Puncte:1
drapel cn

Aceasta este configurația mea (sarcină inițială mare, efort continuu scăzut)

  1. creați un git repo pentru a vă stoca fișierele de configurare și scrieți un mic script de instalare pentru a le instala.

    De exemplu, ați putea clona repo-ul dvs. în ~/src/my_config iar scriptul de instalare va suprascrie (sau link-ul simbolic) ~/.bashrc la ~/src/my_config/.bashrc

    Acest lucru face ca lucrul în medii noi să fie destul de simplu: trebuie doar să o faci

    git clone $repo_url
    ./my_config/install.sh
    

    Acest lucru nu este strict adevărat: va trebui și pe mașina de la distanță ssh-keygen și adăugați noua cheie publică la contul dvs. la gazda dvs. git.

  2. creeaza o ~/.bash.d director. Adăugați acest lucru la .bashrc

    pentru fișierul în ~/.bash.d/*.bash; do
        dacă [[ -r „$fișier” ]]; atunci
            . „$fișier”
        fi
    Terminat
    

    Acest lucru vă permite să puneți lucruri precum definirea solicitării într-un fișier separat: ~/.bash.d/prompt.bash. Îmi place asta pentru a-mi menține .bashrc mic, deoarece folosesc tone de funcții în shell-ul meu interactiv.

  3. Pentru fiecare mediu, creați un ~/.bash.d/$(nume gazdă) director. Adăugați acest lucru la .bashrc

    pentru fișierul în ~/.bash.d/$(nume gazdă)/*.bash; do
        dacă [[ -r „$fișier” ]]; atunci
            . „$fișier”
        fi
    Terminat
    

    Toate lucrurile care sunt strict locale pentru o anumită mașină pot fi păstrate separat.

    Legăturile simbolice funcționează bine aici: dacă toate serverele dvs. AWS folosesc aceeași configurație, atunci puteți crea ~/.bash.d/AWS și leagă toate numele de gazdă specifice la acesta.

Acest sistem a funcționat foarte bine pentru mine. Adaug ceva nou, împing modificările la git și pe sistemele de la distanță git pull pentru a prelua noul cod.


Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.