Aikajana - Palvelinten hallinta viikkotehtävä 5
TLDR
Tehtävässä asensin useita ohjelmia saltin avulla, tarkastelin asennustiedostoja, sekä muutin asetuksia käsin ja saltin avulla
Captain obvious - Tehtävä A
Linuxissa on paketinhallinta. Tehtävänä on siis asentaa 10 sovellusta paketinhallinnan kautta ja sitten automatisoida saltilla.
- salt-minion
- salt-master
- vim
- neovim
- curl
- apache2
- cmartix
- cowsay
- fortune
- wget
$ sudo apt-get install -y
Tämän komennon perään kaikki sovellukset putkeen ja paketinhallinta hoitaa loput.
Seuraavaksi vuorossa oli salt tilan luonti, joka automatisoi tämän
#/srv/salt/kymmenen/init.sls sisältö
install:
pkg.installed:
- pkgs:
- salt-minion
- salt-master
- vim
- neovim
- curl
- apache2
- cmatrix
- cowsay
- fortune
- wget
Salt tarjoaa varoitusviestin, joka ilmoittaa, ettei “virtual package nimiä” tueta Fluorine versiosta eteenpäin saltissa. Apt paketinhallinta tarjoaa uusimpana versiona käytössäni olevan Oxygenin, joten jätän tämän viestin omaan arvoonsa tällä hetkellä.
Sammakko ja skorpioni - Tehtävä B
Tämän tehtävän tarkoitus on lisätä Microsoftin pakettivarasto /etc/apt/sources.list
tiedostoon, jotta voidaan asentaa Visual studio code ohjelman.
Googletin löytääkseni pakettivaraston, ja löysin suorat ohjeet kyseisen ohjelman asennukseen linuxizen blogista
$ sudo apt-get update
$ sudo apt-get install software-properties-common apt-transport-https curl
$ curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Curlilla avaimen lisäämisen jälkeen komentorivi ilmoittaa OK mikäli onnistui
$ sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
$ sudo apt-get update
$ sudo apt-get install code
Siinä visual studio code komeilee kaikessa kauneudessaan Debian 10 asennettuna.
CSI Pasila - Tehtävä C
Kolmantena vuorossa oli tutkia tarkemmin find
komennolla suoritettavaa tiedostojen tarkastelua.
Seuraavat tiedot löytyivät man find
komennolla
find
etsii tiedostoja sille määrätystä polusta. Kuvassa olevassa komennossa polkua ei määritelty niin se etsi siitä kansiosta, jossa sillä hetkellä käyttäjä on-printf
tulostaa tiedoston määriteltyyn muotoon. Muoto määritellään -printf komennon jälkeen%T
tiedoston muokkausaika hh:mm:ss.xxxxxxxxxx muodossa%p
tiedoston nimi\n
tekee rivinvaihdon löydetyn tiedoston jälkeensort
komentoon putkittaminen järjestää tulokset aikajärjestykseentail
komentoon putkittaminen näyttää viimeiset 10 riviä.
Nyt vuorossa oli ajaa komento, joka muuttaa järjestelmän yhteisiä asetuksia. Päätin poistaa Apache2 ja tarkistaa /etc
kansion sisältö uudestaan aikaisemman find
komennon avulla.
Komento muutti useitakin tiedostoja /etc
alta.
Tiedän mitä teit viime kesän komennolla - Tehtävä D (c jälleen tehtävänannon mukaan)
Seuraavaksi vuorossa oli säätää jonkin ohjelman asetuksia, tarkistaa muutokset find
komennolla ja tehdä siitä oma salt tila.
Tehtävää varten päätin asentaa php:n
$ sudo apt-get install php
Asennuksen jälkeen järjestelmässä muuttui valtava kasa tiedostoja. Käytännössä mitään php:stä tietävänä hieman selailin /etc/php/7.3
kansiota.
Find komennossa kyseistä tiedostoa ei näkynyt, mutta /etc/php/7.2/apache2/php.ini
vaikutti pikaisen tarkastelun jälkeen tärkeältä asetustiedostolta.
Tiedostoa lukiessa kävi ilmi, että kyseinen tiedosto on konfiguraatio php tuotantokäyttöä varten
Luonnollisesti, koska kaikki on automaattisesti konfiguroitu oikein ja toimivaa (sarkasmia) päätin kopioida tämän asetustiedoston saltiin ja varmistaa, että tulevatkin php asennukset saavat samat loistavat asetukset. Lisäsin kuitenkin yhden kommenttirivin tiedoston yläreunaan, jotta näen saltin tekevän muutoksia tiedostoon.
#/srv/salt/php/init.sls sisältö
php:
pkg.installed
/etc/php/7.3/apache2/php.ini:
file.managed:
- source: salt://php/php.ini
Tämän jälkeen poistin php:n koneesta ja ajoin salt tilan paikallisesti.
Alemmassa kuvassa näkyy, että php.ini
tiedostoa on muokattu viimeisenä. Edelliseen find
komentoon verrattuna kaksi viimeisintä on uusia rivejä.
Asenna jokin toinen ohjelma asetuksineen - Tehtävä E (d tehtävänannon mukaan)
Viimeisenä oli vuorossa asentaa jälleen jokin ohjelma, muokata sen asetuksia, etsiä muutokset, ja luoda salt tila tämän automatisoimiseksi. Päätin tällä kertaa kuitenkin asentaa graafisen käyttöliittymän omaavan sovelluksen, joka tässä tarkoituksessa oli Gimp.
$ sudo apt-get install -y gimp
Gimpin avattua kävin muuttamassa gimpin teemaa Edit > preferences > theme kohdasta. Gimp teki asetuksien muutokset käyttäjän omaan kotihakemistoon
.config/GIMP
hakemistoon.
Kopioin kaikki kolme muuttunutta tiedostoa /srv/salt/gimp
hakemistoon ja aloin työstää salt tilaa tämän automatisointia varten.
Käyttäjien kotihakemiston sisään tiedostojen automatisointi ei pääsääntöisesti ole hyvä idea, sillä käyttäjät eivät välttämättä pidä siitä, että järjestelmän
ylläpitäjä sörkkii heidän omia kallisarvoisia tietojaan. Mikäli configuraatiot lisäisi /etc/skel
kansioon, ne tulisivat automaattisesti kotihakemistoon,
kun luodaan järjestelmään uutta käyttäjää.
#/srv/salt/gimp/init.sls tiedoston sisältö
gimp:
pkg.installed
/home/toni/.config/GIMP/2.10/themerc:
- file.managed:
- source: salt://gimp/themerc
- user: toni
- group: toni
/home/toni/.config/GIMP/2.10/gimprc:
file.managed:
- source: salt://gimp/gimprc
- user: toni
- group: toni
/home/toni/.config/GIMP/2.10/profilerc:
file.managed:
- source: salt://gimp/profilerc
- user: toni
- group: toni
Tämän jälkeen poistin gimpin ja ajoin tilan paikallisesti.
$ sudo salt-call --local state.apply gimp
Purge ei näköjään poistanut käyttäjäkohtaisia muutoksia, josta syystä gimpin konfiguraatiot olivat jo valmiiksi oikeassa muodossa.
Poistin käsin .config/GIMP
kansion ja ajoin komennon uudelleen.
Gimp nähtävästi luo konfiguraatiot ensimmäisen käynnistyksen yhteydessä, ja siksi salt valittaa hakemiston puuttumisesta.
Tein hieman muutoksia /srv/salt/gimp/init.sls
tiedostoon ja yritin luoda kansion etukäteen ja katsoa mitä tapahtuu.
Lisäsin salt tilaan, että puuttuvat kansiot luodaan asennuksen yhteydessä. Nyt saltilla on paikka, mihin laittaa konfiguraatiotiedostot.
Ja näin saimme automatisoitua gimpin asennuksen, sekä teeman muuttamisen.