Aikajana

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

Tehtävänanto

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.

done

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

saltdone

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 -

keyok

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

vscode

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.

find

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älkeen
  • sort komentoon putkittaminen järjestää tulokset aikajärjestykseen
  • tail 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.

apachedelete

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

phpfind

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

prod

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.

cpphp

#/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.

phpsalt

saltmuutos

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.

gimpmuutos

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ää.

gimpsiirto

#/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

gimpresult

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.

gimpuusi

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.

addeddirs

Lisäsin salt tilaan, että puuttuvat kansiot luodaan asennuksen yhteydessä. Nyt saltilla on paikka, mihin laittaa konfiguraatiotiedostot.

done1

gimpväri

Ja näin saimme automatisoitua gimpin asennuksen, sekä teeman muuttamisen.

Linkkejä