csc-env-komento
csc-env on komentorivikäyttöliittymä yleisten ohjelmointiympäristön ongelmien testaamiseen
sekä kirjautumisympäristön nollaamiseen CSC:n supertietokoneilla.
Työkalu tekee nollauksen 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. Myöskään CSC:n tukihenkilöstö ei näe käyttäjän kirjautumisasetuksia, joten ongelmien havaitseminen on vaikeaa, ellei käyttäjä lähetä meille kirjautumisasetuksiaan. Kirjautumisasetusten väliaikainen nollaaminen järjestelmän oletusarvoihin antaa mahdollisuuden sulkea pois yhden mahdollisen syyn.
Vain bash on tällä hetkellä tuettu
Jos käytät jotain muuta kirjautumiskomentotulkkia (ksh, zsh ...), työkalu ei voi nollata kirjautumisasetuksiasi, mutta voit käyttää työkalua vaihtaaksesi bashiin.
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ää asiakastukeen lähetettävään tukipyyntöön.
Alla on esimerkki testitulosteesta:
csc_user@roihu-cpu-login1 $ csc-env test
Info
---------------------
User: csc_user
Host: roihu-cpu-login1
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 oletusarvoa, 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 perusnollaus- ja palautussyklin.
csc-env reset kysyy, mitkä asetukset haluat nollata, tallentaa asetukset ja nollaa ne järjestelmän oletusarvoihin.
Kun ohjelma pyytää syötettä, paina valintaasi vastaavaa numeroa ja paina sitten Enter.
csc_user@roihu-cpu-login1 $ 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. Se kysyy, mitkä asetukset haluat palauttaa, tallentaa nykyiset asetukset ja
palauttaa sitten edellisen nollauksen aikana tallennetut asetukset.
csc_user@roihu-cpu-login1 $ 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 csc-env reset kahdesti peräkkäin, älä huolestu, 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. Tämä on hyödyllistä testauksessa ja virheenjäljityksessä
ilman muutoksia mihinkään tiedostoihin. Komennon suorittaminen puhtaassa ympäristössä onnistuu muodossa
csc-env run-base -- -c "command args"
Huomaa, että puhdas tarkoittaa tässä oletuskirjautumisasetuksia (eli oletusmoduulit ladataan)
Tallennusten luominen ja valitseminen käsin
Jokainen csc-env reset- tai csc-env restore -komennon suoritus tallentaa automaattisesti valitut nykyiset asetukset.
Komento csc-env list-saved listaa kaikki tallennukset:
csc_user@roihu-cpu-login1 $ 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 --sname-valitsimen tallennuksen luomiseen omalla nimellä (automaattisen csc(numero)-nimen sijaan).
Huomaa, että csc-env restore valitsee oletuksena uusimman automaattisesti nimetyn tallennuksen, joka on luotu save- tai reset-komennolla.
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 olevat 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