-
csc-env-komento
csc-env-komento
csc-env on komentorivikäyttöliittymä yleisten ohjelmointiympäristön ongelmien testaamiseen
sekä kirjautumisympäristön palauttamiseen CSC:n supertietokoneilla.
Työkalu tekee palautuksen ei-tuhoavasti tallentamalla kopion nykyisistä asetuksista, jotka voidaan myöhemmin palauttaa.
- login-settings -> Seuraavat tiedostot:
.bashrc,.bash_profileja.bash_logoutkäyttäjän kotihakemistossa
Virheelliset tai ylimääräiset muuttujat kirjautumisasetuksissa ovat yleinen syy outoihin ja vaikeasti jäljitettäviin ongelmiin. CSC:n tukihenkilöstö ei myöskään näe käyttäjän kirjautumisasetuksia, joten ongelmien havaitseminen on vaikeaa, ellei käyttäjä lähetä meille kirjautumisasetuksiaan. Kirjautumisasetusten väliaikainen palauttaminen järjestelmän oletusarvoihin antaa mahdollisuuden sulkea pois yhden mahdollisen syyn.
Tällä hetkellä tuetaan vain bashia
Jos käytät jotakin muuta kirjautumiskuorta (ksh, zsh ...), työkalu ei voi palauttaa kirjautumisasetuksiasi, mutta voit käyttää työkalua vaihtamiseen bashiin.
CSC:n sisäiset ssh-muutokset
RHEL8-päivityksestä alkaen ssh-yhteydet supertietokoneiden solmujen välillä eivät enää käytä avaimia ja asetuksia hakemistosta "~/.ssh", vaan käyttävät sen sijaan konetason tunnistautumista. Tämän vuoksi ssh-asetusten palautusmahdollisuus on poistettu.
Käyttö
Ohje
csc-env help näyttää kaikki käytettävissä olevat komennot ja valinnat.
Testi
csc-env test tarkistaa yleisiä käyttäjäympäristön ongelmia vertaamalla
niitä oletusasetuksiin. Testituloksen voi liittää tukipyyntöösi servicedeskiin.
Alla on esimerkki testitulosteesta:
csc_user@puhti $ csc-env test
Info
---------------------
User: csc_user
Host: puhti-login11
Home: /users/csc_user
Home quota
capacity: 23%
files: 15%
Default shell: /bin/bash
Environment test
---------------------
PATH is modified NOTE
LD_LIBRARY_PATH has default value OK
LD_PRELOAD has default value OK
PYTHONPATH has default value OK
MODULEPATH has default value OK
MODULEPATH_ROOT has default value OK
TMPDIR has default value OK
CDPATH has default value OK
Command alias output differs NOTE
Command module list has default output OK
$HOME permission is 0700: OK
SSH folder permission is 0700: OK
File diff test
---------------------
/users/csc_user/.bashrc is modified NOTE
/users/csc_user/.bash_profile same as default OK
/users/csc_user/.bash_logout same as default OK
OK tarkoittaa, että testitulos vastaa oletusta, ja FAILED tarkoittaa, että asetus on virheellinen.
NOTE ei tarkoita virhettä, vaan ainoastaan sitä, että asetusta on muutettu ja se saattaa selittää joitakin ongelmia.
Peruskäyttö
Tässä esittelemme perusmuotoisen palautus- ja palautussyklin.
csc-env reset kysyy, mitkä asetukset haluat palauttaa, tallentaa asetukset ja palauttaa ne järjestelmän oletusarvoihin.
Kun ohjelma pyytää syötettä, paina valintaasi vastaavaa numeroa ja paina sitten Enteriä.
csc_user@puhti $ csc-env reset
[ INFO ] reset requires a target, please select one:
1) login
2) shell
#? 1
[ INFO ] Files ~/.bashrc ~/.bash_profile and ~/.bash_logout have been saved to
/users/csc_user/.csc/csc_env_saves/login_auto/2021-01-18T14:42:44_reset_csc14
[ INFO ] Resetting ~/.bashrc ~/.bash_profile and ~/.bash_logout
Confirm
1) Yes
2) No
#? 1
[ INFO ] Reset completed
Kun haluat palauttaa asetukset, käytä komentoa csc-env restore. Tämä kysyy, mitkä asetukset haluat palauttaa, tallentaa nykyiset asetukset ja
palauttaa sitten edellisen palautuksen aikana tallennetut asetukset.
csc_user@puhti $ csc-env restore
[ INFO ] restore requires a target, please select one:
1) login
2) shell
#? 1
[ INFO ] Files ~/.bashrc ~/.bash_profile and ~/.bash_logout have been saved to
/users/csc_user/.csc/csc_env_saves/login_auto/2021-01-18T14:47:59_restore_csc15
[ INFO ] Restoring .bashrc .bash_profile and .bash_logout from
/users/csc_user/.csc/csc_env_saves/login_auto/2021-01-18T14:42:44_reset_csc14
Confirm
1) Yes
2) No
#? 1
[ INFO ] Restore was completed
Jos ajat vahingossa komennon csc-env reset kaksi kertaa peräkkäin, älä hätäänny, tiedostosi eivät ole kadonneet.
Katso seuraavasta luvusta ohjeet niiden palauttamiseen.
Edistynyt käyttö
Komentojen suorittaminen puhtaassa ympäristössä
Komennolla csc-env run-base käyttäjä voidaan siirtää
uuteen komentotulkkiin, jossa käyttäjän tekemiä muutoksia ei ole mukana. Tämä on hyödyllistä testauksessa ja virheenjäljityksessä
ilman muutoksia mihinkään tiedostoihin. Komennon suorittaminen puhtaassa ympäristössä onnistuu komennolla
csc-env run-base -- -c "command args"
Huomaa, että puhdas tarkoittaa tässä oletuskirjautumisasetuksia (eli oletusmoduulit ladataan)
Tallennusten luominen ja valitseminen käsin
Jokainen komennon csc-env reset tai csc-env restore suoritus tallentaa automaattisesti valitut nykyiset asetukset.
Komento csc-env list-saved listaa kaikki tallennukset:
csc_user@puhti $ csc-env list-saved
Available restores in /users/csc_user/.csc/csc_env_saves
login
---------------------
MY_SAVE save 2021-01-08T12:14:04
csc7 restore 2021-01-18T14:52:34
csc6 restore 2021-01-18T14:51:55
csc5 reset 2021-01-18T14:51:37
csc4 reset 2021-01-18T14:51:34
Ensimmäinen sarake on tallennuksen nimi, toinen on tallennuksen luonut toiminto ja viimeinen sarake on tallennuksen luontiaika.
Jos haluat valita tietyn tallennuksen, josta palautetaan, voit käyttää --sname-valitsinta: csc-env --sname=csc4 restore
Jos et halua valita kohdetta joka kerta erikseen, voit määrittää sen myös komentorivillä: csc-env --sname=csc4 --target=login restore
Komentoa csc-env save voidaan käyttää asetusten tallentamiseen niitä muuttamatta.
Sekä save että reset hyväksyvät myös valitsimen --sname, jolla tallennukselle voi antaa oman nimen (automaattisen csc(numero)-nimen sijaan).
Huomaa, että csc-env restore valitsee oletuksena uusimman automaattisesti nimetyn tallennuksen, joka on luotu komennolla save tai reset
Jos et jostain syystä pidä tallennusten oletussijainnista ($HOME/.csc/csc_env_saves), voit muuttaa sitä valitsimella --sdir=/path/to/save/dir.
Tällöin työkalu sekä luo uudet tallennukset että etsii olemassa olevia tästä hakemistosta.
Poista koko tallennushakemisto komennolla csc-env remove-saved. Varoitus! tämä poistaa pysyvästi kaikki hakemiston tallennukset.
Lisäksi on olemassa joitakin muita valintoja, jotka voit nähdä komennolla csc-env help