Harjoitus on osa kurssia: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/
b) Modulikimara. Asenna 6 saltin tilaa/modulia.
Tässä siis yksi tila/moduli on esimerkiksi Apachen asennus package-file-service rakenteella. Tiloista/moduleista enintään neljä voi olla muiden tekemiä, esimerkiksi verkosta löytyneitä.
Muista lähdeviitteet ja lisenssit.
Käytä tiloja, joita et ole aiemmin käyttänyt ja joita ei ole käsitelty tunnilla.
Tilojen tulee tehdä muutakin kuin pelkästään asentaa yksittäinen paketti, esimerkiksi tehdä sille asetuksia (siis vaikka package-file, ei pelkkä package).
Asennettavat ja konfiguroitavat ohjelmat voivat olla mitä vain valitset: palvelimia, graafisen käyttöliittymän ohjelmia, komentorviohjelmia, vapaita, suljettuja…
Muista testata lopputulos käyttämällä ohjelmaa sen pääasiallisessa käyttötarkoituksessa. Jos jäät jumiin, tee kaikki mitä osaat ja dokumentoi ongelmat, niin ratkotaan niitä yhdessä.
Käytin aluksi 1 h 10 min siihen, kun valitsin, mitä ohjelmia alkaisin asentelemaan saltilla. Ongelmana tällaisissa harjoituksissa, joissa itse pitää päättää, mitä ohjelmaa asentaa ja säätää, on juuri sopivien ohjelmien löytäminen. Tämän takia en harjoituksessa tehnyt oikeastaan mitään vaativaa (yhtä moduulia lukuunottamatta). En itse käytä Linuxia, joten en voi edes sen kautta löytää säädettäviä ohjelmia.
Jatkoin harjoitusta seuraavana päivänä, ja käytin sen tekemiseen n. 2 h.
Valitsemani ohjelmat:
- youtube-dl
- nimensä mukaisesti sillä voi ladata videoita ja audioita youtubesta
- Gimp
- kuvankäsittelyohjelma
- Firefox
- webselain
- Audacity
- äänieditointiohjelma
- Calligra
- toimisto-ohjelmistopaketti
- ClamAV
- virustorjuntaohjelma
Loin DigitalOcean:issa uuden palvelimen, jolle tein alkumääritykset sekä josta tein salt orjan.
GIMP
- master$ sudo apt-get install gimp
- asenna gimp master-koneelle
- master$ cd /etc/gimp/2.0/sessionrc
- mene johonkin asetukset-hakemistoon
- master$ nano /etc/gimp/2.0/gimprc
- valitse konfiguraatio-tiedosto
Konfiguraatio-tiedostosta etsi sopiva asetus, jota muokata. Valitsin tässä tapauksessa oletusfontin:
| # Specify a default font. This is a string value. # # (default-font ”Sans”) |
- master $ sudo cp gimprc gimp_config
- kopioi siellä hakemistossa se konfiguraatio-tiedosto
- master $ sudo mv gimp_config /srv/salt
- siirrä kopioitu tiedosto
- master$ cd /srv/salt
- master$ sudoedit gimp.sls
- tee moduuli:
Testaa paikallisesti: master$ sudo salt-call –local state.apply gimp –state-output terse
| local: Name: gimp – Function: pkg.installed – Result: Clean Started: – 07:23:50.667025 Duration: 761.313 ms Name: /etc/gimp/2.0/gimprc – Function: file.managed – Result: Clean Started: – 07:23:51.434677 Duration: 14.306 ms Summary for local ———— Succeeded: 2 Failed: 0 ———— Total states run: 2 Total run time: 775.619 ms |
En ollut vielä tehnyt muutoksia gimp_config-tiedostoon, joten teen sinne nyt sen oletusfontin vaihdon. Laitan siihen Sans:in tiallle Serif ja poistan # rivien edestä, jotta ne tulevat voimaan.
Taas ajo paikallisesti:
| local: Name: gimp – Function: pkg.installed – Result: Clean Started: – 07:27:12.254506 Duration: 679.719 ms Name: /etc/gimp/2.0/gimprc – Function: file.managed – Result: Changed Started: – 07:27:12.939139 Duration: 23.127 ms Summary for local ———— Succeeded: 2 (changed=1) Failed: 0 ———— Total states run: 2 Total run time: 702.846 ms |
Ei ollut yllätys, että ajo onnistui. Asetus ei ollut mitenkään erityinen eikä moduulissa ollut mitään erikoista.
Sitten moduulin ajo orjalle: master $ sudo salt emma state.apply gimp (emma on orjan ID)
| ID: /etc/gimp/2.0/gimprc Function: file.managed Result: True Comment: File /etc/gimp/2.0/gimprc updated Started: 07:29:04.539730 Duration: 43.855 ms Changes: ———- diff: — +++ @@ -170,7 +170,7 @@ # Specify a default font. This is a string value. # -# (default-font ”Sans”) +(default-font ”Serif”) # When enabled, the selected brush will be used for all tools. Possible # values are yes and no. Summary for emma ———— Succeeded: 2 (changed=2) Failed: 0 ———— Total states run: 2 Total run time: 36.069 s |
Audacity
Alkujutut ovat melko samat kuin gimp:in kohdalla.
- master$ cd /usr/share/audacity
- master$ nano EQDefaultCurves.xml
Tuota .xml tiedostosta muutan vain joitakin otsikoiden nimiä. (En oikeasti löytänyt parempia ohjelmia, joita säädellä)
Ajo paikallisesti: sudo salt-call –local state.apply audacity –state-output terse
Aluksi ihmettelin tällaista tulosta, kun siinä oli se : sen file.managed jälkeen.
Tässä nyt jälkikäteen on hankala miettiä, että miten tämän onnistuin ratkaista ja mitä ihmettä muistiinpanoni kertovat:
”hahaa se oli siinä alussa sen .xml lopusa puuttui :DDDD siihen lisäsin sitten ajo onnistui paikallisesti”
Ja nyt tuon tuohon kopsattuani tajusin, mikä oli pielessä. Sen .xml jälkeen puuttui ”:”. Eli olin sen lisännyt siihen.
Sitten ajo orjalle (master$ sudo salt emma state.apply audacity), mikä onnistui ongelmitta.
Calligra
Alkujutut taas samat kuin Gimpillä.
- master$ cd /usr/share/calligra/autocorrect
- master$ nano autocorrect.xml
Kopioi tiedosto, siirrä se /srv/salt -hakemistoon. Tee calligra.sls ja muokkaa calligra_config-tiedostoa (lisäsin että (e) muutetaan €:ksi).
Ajo paikallisesti: sudo salt-call –local state.apply calligra –state-output terse
Sitten orjalle: sudo salt emma state.apply calligra. Sen Calligran asentaminen kesti muutaman minuutin, mutta lopulta se onnistui.
| ID: /usr/share/calligra/autocorrect/autocorrect.xml Function: file.managed Result: True Comment: File /usr/share/calligra/autocorrect/autocorrect.xml updated Started: 08:13:30.787976 Duration: 41.186 ms Changes: ———- diff: — +++ @@ -6,6 +6,7 @@ <item find=”(c)” replace=”©” /> <item find=”(r)” replace=”®” /> <item find=”–” replace=”—” /> + <item find=”(e)” replace=”€” /> </items> <SuperScript> <superscript find=”1st” super=”st” /> |
clamAV
Alkujutut sama kuin Gimp:illä.
Muokattava asetustiedosto:
- /etc/clamav/clamd.conf
Kopioi se, siirrä /srv/salt -hakemistoon. Luo clamav.sls moduuli, muuta clam_config tiedostossa jokin asetus (ScanMail true -> ScanMail false)
Katsotaan onnistuuko. Ajetaan se paikallisesti: master$ sudo salt-call –local state.apply clamav –state-output terse
Kaksi asiaa epäonnistuivat. Clamav ja clamav-daemon täytyy olla erikseen (tätä mietin aluksi, että voiko kahta ohjelmaa asentaa yhdessä pkg.installed kohdassa, muttei näköjään). Toiseksi laitan clamav service.running:ille eri nimen -> clamav1 (luulin tämän olevan oikea ratkaisu).
Ajo uudestaan. Muut onnistuivat, mutta yksi kohta epäonnistui. Se oli tuo service.running:
| [ERROR ] The named service clamav1 is not available Name: clamav1 – Function: service.running – Result: Failed Started: – 08:26:49.734074 Duration: 29.397 ms |
Clamav ei taida olla sellainen koko aika pyörivä ohjelma. Se menee kai päälle vain, kun sitä ajetaan, joten poistan tuon servivce.running -kohdan .sls tiedostosta.
Lopullinen clamav.sls:
Ei kuin vain orjalle: master$ sudo salt emma state.apply clamav
Muut onnistuivat, mutta clamav-daemonin kanssa oli ongelma:
| ID: clamav-daemon Function: pkg.installed Result: False Comment: Problem encountered installing package(s). Additional info follows: errors: – Running scope as unit: run-r91dfbb62e60041b0a2c078443b8e6a96.scope FATAL -> Failed to fork. Started: 08:30:06.369564 Duration: 11771.529 ms Changes: |
Ei yhtään hajua, mikä on ongelmana. Jätin sen sikseen ja ajattelin käydä sitä läpi opettajan kanssa.
Firefox
Alkujutut samat kuin gimpillä ja muilla.
Muokattava tiedosto:
- /etc/firefox/syspref.js
jonne laitan oletuskotisivuksi googlen: pref(”browser.startup.homepage”, ”http://www.google.com/”);
Kopioi tuo tiedosto, siirrä /srv/salt. Tee firefox.sls tiedosto ja muokkaa firefox_config tiedostoa.
Aja paikallisesti. Oli taas syntaksivirhe, ( : puuttui). Lisää se, aja uudestaan. Onnistui.
Lopullinen .sls moduuli:
Ajo orjalla: master$ sudo salt emma state.apply firefox. Se onnistui.
Youtube-dl
Tässä moduuliaa pääsi vähän tekemään muutakin kuin samaa vanhaa asennusta ja yhden asetuksen muuttamista.
Alkujutut samat kuin Gimpillä ja co.
Mutta nyt pitää itse luoda hakemistot:
- master $ cd /etc
- master $ sudo mkdir youtube-dl
- master $ sudoedit youtube-dl.conf
- –extract-audio –no-mtime
Tuo viimeisen rivin löysin internetistä esimerkkinä youtube-dl asetuksesta. Katsotaan onnistuuko tämä.
Mene /srv/salt. Luo youtube.sls. Mutta nyt en tiedä, tuleeko se /etc/youtube-dl/youtube-dl.conf tiedosto automaattisesti orjalle, kun se luotiin itse. Katsotaan miten käy.
Ajo paikallisesti: master $ sudo salt-call –local state.apply youtube –state-output terse. Ajo onnistui.
Ajo orjalla: master $ sudo salt emma state.apply youtube. Ei onnistunut.
| ID: /etc/youtube-dl/youtube-dl.conf Function: file.managed Result: False Comment: Parent directory not present Started: 08:58:27.159752 Duration: 42.48 ms Changes: |
Aluksi ajattelin jättää asian tähän ja ratkaista ongelman opettajan kanssa, mutta sitten googlettelin ja löysin neuvoa sivulta: https://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html
Siellä kerrotaan, miten directory luodaan. En ollut varma, tuleeko tiedosto myös sinne. Päätin kokeilla ja katsoa mitä käy.
Lopullinen .sls moduuli:
Tuo keskimmäinen luo sen hakemiston, josta seuraava kohta sitten hakee tuon _config-tiedoston (jonka pitäisi sinne hakemistoon jotenkin mennä).
Ajo orjalla. Kommentti muistiinpanoistani:
”nyt onnistui!!! mitä ihmettä :D”
| ID: create_config_dir Function: file.directory Name: /etc/youtube-dl Result: True Comment: Directory /etc/youtube-dl updated Started: 09:04:50.348565 Duration: 1.089 ms Changes: ———- /etc/youtube-dl: New Dir ———- ID: /etc/youtube-dl/youtube-dl.conf Function: file.managed Result: True Comment: File /etc/youtube-dl/youtube-dl.conf updated Started: 09:04:50.349750 Duration: 17.624 ms Changes: ———- diff: New file mode: 0644 |
Menen paikallisesti katsomaan, mitä orjakoneessa on.
Sinne oli ilmestnyt se /etc/youtube-dl -hakemisto, johon oli ilmestynyt se youtube-dl.conf -tiedosto.
Tämä oli muistiinpanojen perusteella onnenhetki:
”hahahahaaaaa mitä ihmettä se onnistui :DDDDDD”