<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pvv.ntnu.no/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Knuta</id>
	<title>Programvareverkstedet - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pvv.ntnu.no/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Knuta"/>
	<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/wiki/Special:Contributions/Knuta"/>
	<updated>2026-04-26T23:30:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Intro&amp;diff=5659</id>
		<title>Drift/Intro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Intro&amp;diff=5659"/>
		<updated>2021-11-18T05:22:31Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;margin: 0em 0em 1em 0em; border: 1px solid #1DA0E7;  background: #B3DDF4; width: 100%&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;&#039;&#039;Denne siden er trolig litt utdatert&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Å være drifter er i praksis det samme som [[Drift/RootpassordReglement|å kjenne rotpassordet]] på PVV. Man slutter å være drifter når man har glemt passordet og ikke gidder å oppsøke noen for å lære det på nytt. Mer er det ikke å si om den saken!&lt;br /&gt;
&lt;br /&gt;
= Å bli drifter =&lt;br /&gt;
&lt;br /&gt;
For å få tilgang til rotpassordet må du skrive under på et passordskjema og bli godkjent av driftskoordinator. Dette er en ganske løs prosess, og krever hovedsaklig bare at du ikke er &amp;lt;b&amp;gt;helt&amp;lt;/b&amp;gt; ny og at du ikke har gjort noe &amp;lt;b&amp;gt;veldig&amp;lt;/b&amp;gt; dumt i det siste.&lt;br /&gt;
&lt;br /&gt;
Når du så har fått passordet er det første du vil gjøre å legge deg selv til i driftslisten. Det er ingen skikkelig gruppe for drift, men det er et alias som sørger for at folk får mail adressert til drift. Hvis du er heldig har &amp;quot;headhunteren&amp;quot; din lagt deg til, hvis ikke gjør du det selv. co/edit/diff/ci-stegene i eksempelet under er kjernen i RCS-bruk, så hvis du ikke er vant til det fra før vil du bli det fort.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
root@microbel:~$ cd /etc&lt;br /&gt;
... altså på microbel, som root&lt;br /&gt;
root@microbel:/etc$ &amp;lt;editor&amp;gt; /etc/aliases&lt;br /&gt;
... legg til deg selv i listen for drift&lt;br /&gt;
root@microbel:/etc$ git diff /etc/aliases&lt;br /&gt;
... sjekk at endringene stemmer&lt;br /&gt;
root@microbel:/etc$ git add /etc/aliases&lt;br /&gt;
root@microbel:/etc$ git commit&lt;br /&gt;
... ferdig&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da er du på driftlisten (drift@pvv) og får kose deg med spennende epost om alt mellom himmel og jord. Det er et par andre lister som du bør vite om: os-drift (alt mulig rart av automatiske rapporter fra maskinene), mail-drift (samlepunkt for postmaster og andre standardadresserer), pvv (styret) og cert (som heller ikke er drift). De to første har du sannsynligvis ikke lyst til å være på, og de to siste skal man velges til.&lt;br /&gt;
&lt;br /&gt;
= Kjekt å vite =&lt;br /&gt;
&lt;br /&gt;
Drifting er mye det samme om man har sin egen maskin eller om man drifter maskiner for andre, bortsett fra at det siste tilfellet gjerne tryller frem flere problemer og større konsekvenser.&lt;br /&gt;
&lt;br /&gt;
For øyeblikket er PVV inne i en debian/ubuntu-fase. De fleste nye maskinene kjører en av disse, deriblant microbel (nfs og mail), tvilling (også www) og horisont (login og *sql). Mye av den underliggende infrastrukturen kjører på gamle maskiner, og disse har gjerne BSD eller Solaris. Der finner vi dvask (dns), brutus (dns, dhcp), malina (yp) og brutus (yp) med flere. Det er godt mulig det har skjedd endringer siden dette ble skrevet, så sjekk siden [[Maskiner]] for litt mer pålitelig informasjon.&lt;br /&gt;
* Generelt brukes RCS for å versjonere og sikre konfigurasjonsfiler av alle typer.&lt;br /&gt;
* Ting som skal kopieres til mange (eller alle) maskiner håndteres for øyeblikket av rdist, men her er det planlagt endringer.&lt;br /&gt;
* Vi har både yp og kerberos, men kdcen er ennå ikke tatt særlig i bruk.&lt;br /&gt;
* Til printing brukes cups&lt;br /&gt;
* Mail håndteres av exim og dovecot&lt;br /&gt;
&lt;br /&gt;
Hvis du leter etter konfigurasjonsfiler, se i /etc/. Hvis du vil ha logger, sjekk /var/log/, og husk på at de fleste loggene krever at du er logget inn som root.&lt;br /&gt;
&lt;br /&gt;
Skal du oppdatere noe i DNS må du inn på dvask. dvask er en veldig gammel og skrøpelig maskin. Det går an å logge inn via ssh, men da må du belage deg på et par minutter ventetid. Det er også mulig å logge inn via seriellkonsoll på octopus. Noe raskere, men har sine egne problemer.&lt;br /&gt;
&lt;br /&gt;
Hvis microbel får problemer går det meste av PVV ned (microbel er diskserver). Dette fører gjerne til at folk sender mail til drift om at ting ikke virker. microbel er også mailserver, så mailen kommer typisk ikke fram før problemet er løst.&lt;br /&gt;
&lt;br /&gt;
Serverrommet har lås på døra. Det er eget skjema for folk som vil ha nøkkel, men på dagtid er det som regel lett å få tak i noen med nøkkel hvis rommet ikke allerede er åpent.&lt;br /&gt;
&lt;br /&gt;
PVV har som oftest mye ledig hardware. Det meste er arvet fra NTNU eller lokale firmaer. Ikke det siste og beste, men duger bra til vår bruk. Hvis du har lyst til å sette opp en ny boks er det stort sett snakk om å gjøre det. Hvis du setter opp en sært OS er det fare for at ingen andre vil ta i det, så da bør du belage deg på å håndtere oppdateringer og sikkerthet på egenhånd. Nye tjenester kan noen ganger settes opp på bokser som allerede er i bruk, hvis du ikke føler for å sette opp en ny fra bunnen av.&lt;br /&gt;
&lt;br /&gt;
Sist men ikke minst, ikke vær redd for å spørre. Det er mange som ikke lenger har tid til å være fysisk på PVV, men som følger med på epost, IRC eller news og kan svare på spørsmål og gi råd om nye prosjekter.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Intro&amp;diff=5658</id>
		<title>Drift/Intro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Intro&amp;diff=5658"/>
		<updated>2021-11-18T05:21:29Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;margin: 0em 0em 1em 0em; border: 1px solid #1DA0E7;  background: #B3DDF4; width: 100%&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;&#039;&#039;Denne siden er trolig litt utdatert&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Å være drifter er i praksis det samme som [[Drift/RootpassordReglement|å kjenne rotpassordet]] på PVV. Man slutter å være drifter når man har glemt passordet og ikke gidder å oppsøke noen for å lære det på nytt. Mer er det ikke å si om den saken!&lt;br /&gt;
&lt;br /&gt;
= Å bli drifter =&lt;br /&gt;
&lt;br /&gt;
For å få tilgang til rotpassordet må du skrive under på et passordskjema og bli godkjent av driftskoordinator. Dette er en ganske løs prosess, og krever hovedsaklig bare at du ikke er &amp;lt;b&amp;gt;helt&amp;lt;/b&amp;gt; ny og at du ikke har gjort noe &amp;lt;b&amp;gt;veldig&amp;lt;/b&amp;gt; dumt i det siste.&lt;br /&gt;
&lt;br /&gt;
Når du så har fått passordet er det første du vil gjøre å legge deg selv til i driftslisten. Det er ingen skikkelig gruppe for drift, men det er et alias som sørger for at folk får mail adressert til drift. Hvis du er heldig har &amp;quot;headhunteren&amp;quot; din lagt deg til, hvis ikke gjør du det selv. co/edit/diff/ci-stegene i eksempelet under er kjernen i RCS-bruk, så hvis du ikke er vant til det fra før vil du bli det fort.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
root@microbel:~$ cd /etc&lt;br /&gt;
... altså på microbel, som root&lt;br /&gt;
root@microbel:~$ &amp;lt;editor&amp;gt; /etc/aliases&lt;br /&gt;
... legg til deg selv i listen for drift&lt;br /&gt;
root@microbel:~$ git diff /etc/aliases&lt;br /&gt;
... sjekk at endringene stemmer&lt;br /&gt;
root@microbel:~$ git add /etc/aliases&lt;br /&gt;
root@microbel:~$ git commit&lt;br /&gt;
... ferdig&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
Da er du på driftlisten (drift@pvv) og får kose deg med spennende epost om alt mellom himmel og jord. Det er et par andre lister som du bør vite om: os-drift (alt mulig rart av automatiske rapporter fra maskinene), mail-drift (samlepunkt for postmaster og andre standardadresserer), pvv (styret) og cert (som heller ikke er drift). De to første har du sannsynligvis ikke lyst til å være på, og de to siste skal man velges til.&lt;br /&gt;
&lt;br /&gt;
= Kjekt å vite =&lt;br /&gt;
&lt;br /&gt;
Drifting er mye det samme om man har sin egen maskin eller om man drifter maskiner for andre, bortsett fra at det siste tilfellet gjerne tryller frem flere problemer og større konsekvenser.&lt;br /&gt;
&lt;br /&gt;
For øyeblikket er PVV inne i en debian/ubuntu-fase. De fleste nye maskinene kjører en av disse, deriblant microbel (nfs og mail), tvilling (også www) og horisont (login og *sql). Mye av den underliggende infrastrukturen kjører på gamle maskiner, og disse har gjerne BSD eller Solaris. Der finner vi dvask (dns), brutus (dns, dhcp), malina (yp) og brutus (yp) med flere. Det er godt mulig det har skjedd endringer siden dette ble skrevet, så sjekk siden [[Maskiner]] for litt mer pålitelig informasjon.&lt;br /&gt;
* Generelt brukes RCS for å versjonere og sikre konfigurasjonsfiler av alle typer.&lt;br /&gt;
* Ting som skal kopieres til mange (eller alle) maskiner håndteres for øyeblikket av rdist, men her er det planlagt endringer.&lt;br /&gt;
* Vi har både yp og kerberos, men kdcen er ennå ikke tatt særlig i bruk.&lt;br /&gt;
* Til printing brukes cups&lt;br /&gt;
* Mail håndteres av exim og dovecot&lt;br /&gt;
&lt;br /&gt;
Hvis du leter etter konfigurasjonsfiler, se i /etc/. Hvis du vil ha logger, sjekk /var/log/, og husk på at de fleste loggene krever at du er logget inn som root.&lt;br /&gt;
&lt;br /&gt;
Skal du oppdatere noe i DNS må du inn på dvask. dvask er en veldig gammel og skrøpelig maskin. Det går an å logge inn via ssh, men da må du belage deg på et par minutter ventetid. Det er også mulig å logge inn via seriellkonsoll på octopus. Noe raskere, men har sine egne problemer.&lt;br /&gt;
&lt;br /&gt;
Hvis microbel får problemer går det meste av PVV ned (microbel er diskserver). Dette fører gjerne til at folk sender mail til drift om at ting ikke virker. microbel er også mailserver, så mailen kommer typisk ikke fram før problemet er løst.&lt;br /&gt;
&lt;br /&gt;
Serverrommet har lås på døra. Det er eget skjema for folk som vil ha nøkkel, men på dagtid er det som regel lett å få tak i noen med nøkkel hvis rommet ikke allerede er åpent.&lt;br /&gt;
&lt;br /&gt;
PVV har som oftest mye ledig hardware. Det meste er arvet fra NTNU eller lokale firmaer. Ikke det siste og beste, men duger bra til vår bruk. Hvis du har lyst til å sette opp en ny boks er det stort sett snakk om å gjøre det. Hvis du setter opp en sært OS er det fare for at ingen andre vil ta i det, så da bør du belage deg på å håndtere oppdateringer og sikkerthet på egenhånd. Nye tjenester kan noen ganger settes opp på bokser som allerede er i bruk, hvis du ikke føler for å sette opp en ny fra bunnen av.&lt;br /&gt;
&lt;br /&gt;
Sist men ikke minst, ikke vær redd for å spørre. Det er mange som ikke lenger har tid til å være fysisk på PVV, men som følger med på epost, IRC eller news og kan svare på spørsmål og gi råd om nye prosjekter.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Tjenester/Databaser&amp;diff=5274</id>
		<title>Tjenester/Databaser</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Tjenester/Databaser&amp;diff=5274"/>
		<updated>2020-07-06T05:53:53Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* MySQL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Databases|English]]&lt;br /&gt;
&lt;br /&gt;
PVV har for tiden to database-tjenester, MySQL og PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
== MySQL ==&lt;br /&gt;
&lt;br /&gt;
Følg instruksjonen på https://innsida.ntnu.no/wiki/-/wiki/Norsk/Bruke+MySQL+ved+NTNU - bare bytt ut &amp;quot;mysql.stud.ntnu.no&amp;quot; med &amp;quot;mysql.pvv.ntnu.no&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Linkene endrer seg ofte, se [https://web.archive.org/web/20090505174858/http://infoweb.ntnu.no/utvikling+og+programmering/database/mysql.html http://infoweb.ntnu.no/utvikling+og+programmering/database/mysql.html] om ovennevnte link ikke virker.&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL ==&lt;br /&gt;
&lt;br /&gt;
Du finner PostgreSQL-serveren på postgres.pvv.ntnu.no. Se [[PostgreSQL]]-siden for mer informasjon.&lt;br /&gt;
&lt;br /&gt;
= Databases =&lt;br /&gt;
&lt;br /&gt;
PVV at the moment has two database services, MySQL and PostgreSQL&lt;br /&gt;
&lt;br /&gt;
== MySQL ==&lt;br /&gt;
&lt;br /&gt;
Follow the instructions at http://infoweb.ntnu.no/utvikling+og+programmering/database/mysql.html - just swap &amp;quot;mysql.stud.ntnu.no&amp;quot; with &amp;quot;mysql.pvv.ntnu.no&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The link above seems to be dead. Equivalent information can be found here: http://itgk.idi.ntnu.no/notater/mysqlopprettebruker.php and here: http://itgk.idi.ntnu.no/notater/mysqltutorial.php&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL ==&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL server can be found at postgres.pvv.ntnu.no. See the [[PostgreSQL]] page for more information.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Tjenester/Databaser&amp;diff=5273</id>
		<title>Tjenester/Databaser</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Tjenester/Databaser&amp;diff=5273"/>
		<updated>2020-07-05T07:32:25Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* MySQL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Databases|English]]&lt;br /&gt;
&lt;br /&gt;
PVV har for tiden to database-tjenester, MySQL og PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
== MySQL ==&lt;br /&gt;
&lt;br /&gt;
Følg instruksjonen på [https://web.archive.org/web/20090505174858/http://infoweb.ntnu.no/utvikling+og+programmering/database/mysql.html http://infoweb.ntnu.no/utvikling+og+programmering/database/mysql.html] - bare bytt ut &amp;quot;mysql.stud.ntnu.no&amp;quot; med &amp;quot;mysql.pvv.ntnu.no&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL ==&lt;br /&gt;
&lt;br /&gt;
Du finner PostgreSQL-serveren på postgres.pvv.ntnu.no. Se [[PostgreSQL]]-siden for mer informasjon.&lt;br /&gt;
&lt;br /&gt;
= Databases =&lt;br /&gt;
&lt;br /&gt;
PVV at the moment has two database services, MySQL and PostgreSQL&lt;br /&gt;
&lt;br /&gt;
== MySQL ==&lt;br /&gt;
&lt;br /&gt;
Follow the instructions at http://infoweb.ntnu.no/utvikling+og+programmering/database/mysql.html - just swap &amp;quot;mysql.stud.ntnu.no&amp;quot; with &amp;quot;mysql.pvv.ntnu.no&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The link above seems to be dead. Equivalent information can be found here: http://itgk.idi.ntnu.no/notater/mysqlopprettebruker.php and here: http://itgk.idi.ntnu.no/notater/mysqltutorial.php&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL ==&lt;br /&gt;
&lt;br /&gt;
The PostgreSQL server can be found at postgres.pvv.ntnu.no. See the [[PostgreSQL]] page for more information.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Kerberos&amp;diff=5267</id>
		<title>Drift/Kerberos</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Kerberos&amp;diff=5267"/>
		<updated>2020-06-07T07:52:39Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Installasjon av KDC (Kerberos-server) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feilsøking ==&lt;br /&gt;
&lt;br /&gt;
Om kerberos slutter å virke på en maskin, prøv å logge inn på den med SSH-nøkler og kjøre kinit. kinit vil muligens gi en feilmelding som går an å forstå. Eksempel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
knuta@skrott:~$ kinit&lt;br /&gt;
knuta@PVV.NTNU.NO&#039;s Password:&lt;br /&gt;
kinit: krb5_get_init_creds: Too large time skew&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nye kerberos-klienter ==&lt;br /&gt;
&lt;br /&gt;
Logg inn på maskinen.&lt;br /&gt;
&lt;br /&gt;
installer heimdal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
berners-lee:~# apt install heimdal-clients libpam-krb5&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Last ned keytab (den blir generert automatisk)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
berners-lee:~# ktutil get -p knuta/admin host/berners-lee.pvv.ntnu.no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Som regel er du ferdig når du har kommet hit. Nyere Debian og Ubuntu setter selv om pam om du installerer libpam-krb5. I så fall trenger du ikke tenke på det nedenfor.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Konfigurer pam. Oppsettet kan for eksempel se slik ut på en debian-maskin:&lt;br /&gt;
/etc/pam.d/common-account:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
account required        pam_krb5.so     minimum_uid=1000&lt;br /&gt;
account required        pam_unix.so&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/pam.d/common-auth:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
auth    sufficient      pam_krb5.so     minimum_uid=1000&lt;br /&gt;
auth    required        pam_unix.so nullok_secure&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/pam.d/common-password:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
password        sufficient      pam_krb5.so     minimum_uid=1000&lt;br /&gt;
password   required   pam_unix.so nullok obscure md5&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/pam.d/common-session:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
session optional        pam_krb5.so     minimum_uid=1000&lt;br /&gt;
session required        pam_unix.so&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installasjon av KDC (Kerberos-server) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MERK: En KDC er en Kerberos-server. Dette kapittelet har altså ikke noe med de øvrige maskinene å gjøre&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rediger /etc/hosts så public-ipen (f.eks. 129.241.210.168) peker på hostnavnet til kdc, ellers virker det ikke.&lt;br /&gt;
&lt;br /&gt;
Installer heimdal-clients og heimdal-kdc&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
aptitude install heimdal-clients heimdal-kdc&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lag symlink (på grunn av en bug i heimdal-kdc): &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ln -s /etc/heimdal-kdc/kadmind.acl /var/lib/heimdal-kdc/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rediger /etc/heimdal-kdc/kdc.conf og sett følgende opsjoner: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[password_quality]&lt;br /&gt;
min_length = 8&lt;br /&gt;
&lt;br /&gt;
[kadmin]&lt;br /&gt;
default_keys = aes256-cts-hmac-sha1-96:pw-salt aes128-cts-hmac-sha1-96:pw-salt des3-cbc-sha1:pw-salt arcfour-hmac-md5:pw-salt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Logg inn lokalt (siden det ikke finnes noen adminbrukere enda)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
asgard:~# kadmin -l&lt;br /&gt;
kadmin&amp;gt; init PVV.NTNU.NO&lt;br /&gt;
Realm max ticket life [unlimited]:&lt;br /&gt;
Realm max renewable ticket life [unlimited]:&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Juster default-innstillingene litt&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
kadmin&amp;gt; modify -a -disallow-all-tix,requires-pre-auth default&lt;br /&gt;
kadmin&amp;gt; get default&lt;br /&gt;
            Principal: default@PVV.NTNU.NO&lt;br /&gt;
    Principal expires: never&lt;br /&gt;
     Password expires: never&lt;br /&gt;
 Last password change: 2009-06-16 18:16:07 UTC&lt;br /&gt;
      Max ticket life: 1 day&lt;br /&gt;
   Max renewable life: 1 week&lt;br /&gt;
                 Kvno: 1&lt;br /&gt;
                Mkvno: 0&lt;br /&gt;
Last successful login: never&lt;br /&gt;
    Last failed login: never&lt;br /&gt;
   Failed login count: 0&lt;br /&gt;
        Last modified: 2009-06-16 18:18:43 UTC&lt;br /&gt;
             Modifier: kadmin/admin@PVV.NTNU.NO&lt;br /&gt;
           Attributes: requires-pre-auth&lt;br /&gt;
             Keytypes: aes256-cts-hmac-sha1-96(pw-salt), aes128-cts-hmac-sha1-96(pw-salt), des3-cbc-sha1(pw-salt), arcfour-hmac-md5(pw-salt)&lt;br /&gt;
          PK-INIT ACL: &lt;br /&gt;
              Aliases: &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lag deg en admin-principal (se eget kapittel)&lt;br /&gt;
&lt;br /&gt;
==Lage admin-principal==&lt;br /&gt;
&lt;br /&gt;
Logg inn som root på asgard (via SSH fra lommel).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
asgard:~# kadmin -l&lt;br /&gt;
kadmin&amp;gt; add knuta/admin&lt;br /&gt;
Max ticket life [1 day]:&lt;br /&gt;
Max renewable life [1 week]:&lt;br /&gt;
Principal expiration time [never]:&lt;br /&gt;
Password expiration time [never]:&lt;br /&gt;
Attributes [requires-pre-auth]:&lt;br /&gt;
knuta/admin@PVV.NTNU.NO&#039;s Password: &lt;br /&gt;
Verifying - knuta/admin@PVV.NTNU.NO&#039;s Password: &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rediger /etc/heimdal-kdc/kadmind.acl og legg til følgende:&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
knuta/admin all&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner/Microbel&amp;diff=4714</id>
		<title>Maskiner/Microbel</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner/Microbel&amp;diff=4714"/>
		<updated>2018-01-27T23:19:39Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Remote-konsoll */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Historikk ==&lt;br /&gt;
&lt;br /&gt;
Det ligger en backup av decibel (den gamle filserveren) i /var/backups/decibel/. Den inkluderer naturlig nok ikke /home. Denne backupen kan brukes til å gjenfinne gammel konfig eller sjekke gamle logger.&lt;br /&gt;
&lt;br /&gt;
== Disksystem ==&lt;br /&gt;
&lt;br /&gt;
=== Kontroller ===&lt;br /&gt;
&lt;br /&gt;
Maskinen har to kontrolleren, en SAS-kontroller og en SATA-kontroller. Diskene står i SAS-kontrolleren, basert på antakelsen om at den sikkert er bedre. Den er flashet med en alternativ firmware som gjør at den kan bootes fra uten å kjøre software-raid-varianten til kontrolleren (den alternative firmwaren er lastet ned fra supermicro).&lt;br /&gt;
&lt;br /&gt;
Det er mulig å koble et bakplan på SAS-kontrolleren om man skaffer en overgang. Vi har hverken overgang eller bakplan, så det har ikke vi gjort. Skal man koble mer enn 8 disker på kontrolleren noen gang kan man sikkert gjerne skaffe noe sånt.&lt;br /&gt;
&lt;br /&gt;
=== Partisjonering ===&lt;br /&gt;
&lt;br /&gt;
Siden diskene er hårfint over 2GB bestemte partman seg for å bruke GPT i steden for DOS-partisjonering. Jeg aner ikke hvordan man endrer på sånt etter installasjon.&lt;br /&gt;
&lt;br /&gt;
For at grub2 skal virke sammen med GPT må hver disk ha en magisk grub-partisjon i starten, siden det ikke er plass ved MBR når man bruker GPT. Denne er på 10MB, noe som trolig er overkill.&lt;br /&gt;
&lt;br /&gt;
Ellers er topologien omtrent slik:&lt;br /&gt;
&lt;br /&gt;
# 10MB grub-ting&lt;br /&gt;
# 490MB /boot i raid1&lt;br /&gt;
# ca. 2TB lvm-volum (vg0) i raid5:&lt;br /&gt;
## 10 GB / (vg0-root)&lt;br /&gt;
## 30 GB /var (vg0-var)&lt;br /&gt;
## 6.8 TB /export/home/pvv (vg0-homepvv)&lt;br /&gt;
## ca. 200GB ubrukt, kan brukes til å korrigere eventuell blingsing&lt;br /&gt;
# ca. 48GB swap i raid1&lt;br /&gt;
&lt;br /&gt;
== Remote-konsoll ==&lt;br /&gt;
&lt;br /&gt;
=== Koble til ===&lt;br /&gt;
For å koble til remote-konsoll (krever Java Web Start), gjør følgende:&lt;br /&gt;
&lt;br /&gt;
Først sørger du for at du er på 192.168.215.0/24-nettet. Om du ikke er på en PVV-maskin med rett IP kan du bruke sshuttle for å lage fattigmanns-VPN:&lt;br /&gt;
&lt;br /&gt;
 sshuttle -r lommel.pvv.ntnu.no 192.168.215.0/24&lt;br /&gt;
&lt;br /&gt;
Hvis du er på en maskin på 192.168.215.0/24-nettet:&lt;br /&gt;
&lt;br /&gt;
* Åpne https://microbel-mgmt.pvv.ntnu.no/&lt;br /&gt;
&lt;br /&gt;
Brukernavn er root, passord er rootpassordet. Husk å la være å lagre passordet i browseren.&lt;br /&gt;
&lt;br /&gt;
==== Hvis du ikke er på en maskin på 192.168.215.0/24-nettet og ikke kan bruke sshuttle ====&lt;br /&gt;
&lt;br /&gt;
* SSH til lommel eller en annen maskin på det nettet, og forward alle de relevante portene (krever root)&lt;br /&gt;
** ssh -L localhost:5900:microbel-mgmt:5900 -L localhost:5901:microbel-mgmt:5901 -L localhost:443:microbel-mgmt:443 -L localhost:80:microbel-mgmt:80 root@cthulhu.pvv.ntnu.no&lt;br /&gt;
* Åpne https://localhost/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bytte passordet ===&lt;br /&gt;
Det er fort gjort å glemme å bytte passordet. Det er mulig å bytte passordet fra lokalt på microbel ved hjelp av ipmitool.&lt;br /&gt;
&lt;br /&gt;
Sørg for at ipmi-modulene er lastet&lt;br /&gt;
&lt;br /&gt;
 modprobe ipmi_devintf&lt;br /&gt;
 modprobe ipmi_si&lt;br /&gt;
&lt;br /&gt;
List brukerene:&lt;br /&gt;
&lt;br /&gt;
 microbel ~ # ipmitool user list 1&lt;br /&gt;
 ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit&lt;br /&gt;
 2   ADMIN            false   false      true       ADMINISTRATOR&lt;br /&gt;
 3   root             true    true       true       ADMINISTRATOR&lt;br /&gt;
&lt;br /&gt;
Bytt passordet (passordprompten kommer to ganger):&lt;br /&gt;
&lt;br /&gt;
 microbel ~ # ipmitool user set password 3 &lt;br /&gt;
 Password for user 3: &lt;br /&gt;
 Password for user 3:&lt;br /&gt;
&lt;br /&gt;
=== Bruke Java-konsollet ===&lt;br /&gt;
&lt;br /&gt;
IPMIView (verktøyet til Supermicro) ser ikke ut til å fungere lenger, så vi er prisgitt java-greia i webinterfacet. Denne fungerer heller dårlig med openjdk 8 på grunn av det selvsignerte sertifikaet. Det letteste er å installere oracle-java7. Deretter kan du åpne .jnlp-filen konsollknappen gir deg med javaws, og du får et flott konsoll. Du kan finne rett versjon av java7 ved å google etter jdk-7u80-linux-x64.tar.gz (pass på å velge en kredibel kilde å laste ned fra, oracle lar ikke meningmann laste ned så gammel java lenger).&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner/Microbel&amp;diff=4713</id>
		<title>Maskiner/Microbel</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner/Microbel&amp;diff=4713"/>
		<updated>2018-01-27T08:15:14Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Remote-konsoll */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Historikk ==&lt;br /&gt;
&lt;br /&gt;
Det ligger en backup av decibel (den gamle filserveren) i /var/backups/decibel/. Den inkluderer naturlig nok ikke /home. Denne backupen kan brukes til å gjenfinne gammel konfig eller sjekke gamle logger.&lt;br /&gt;
&lt;br /&gt;
== Disksystem ==&lt;br /&gt;
&lt;br /&gt;
=== Kontroller ===&lt;br /&gt;
&lt;br /&gt;
Maskinen har to kontrolleren, en SAS-kontroller og en SATA-kontroller. Diskene står i SAS-kontrolleren, basert på antakelsen om at den sikkert er bedre. Den er flashet med en alternativ firmware som gjør at den kan bootes fra uten å kjøre software-raid-varianten til kontrolleren (den alternative firmwaren er lastet ned fra supermicro).&lt;br /&gt;
&lt;br /&gt;
Det er mulig å koble et bakplan på SAS-kontrolleren om man skaffer en overgang. Vi har hverken overgang eller bakplan, så det har ikke vi gjort. Skal man koble mer enn 8 disker på kontrolleren noen gang kan man sikkert gjerne skaffe noe sånt.&lt;br /&gt;
&lt;br /&gt;
=== Partisjonering ===&lt;br /&gt;
&lt;br /&gt;
Siden diskene er hårfint over 2GB bestemte partman seg for å bruke GPT i steden for DOS-partisjonering. Jeg aner ikke hvordan man endrer på sånt etter installasjon.&lt;br /&gt;
&lt;br /&gt;
For at grub2 skal virke sammen med GPT må hver disk ha en magisk grub-partisjon i starten, siden det ikke er plass ved MBR når man bruker GPT. Denne er på 10MB, noe som trolig er overkill.&lt;br /&gt;
&lt;br /&gt;
Ellers er topologien omtrent slik:&lt;br /&gt;
&lt;br /&gt;
# 10MB grub-ting&lt;br /&gt;
# 490MB /boot i raid1&lt;br /&gt;
# ca. 2TB lvm-volum (vg0) i raid5:&lt;br /&gt;
## 10 GB / (vg0-root)&lt;br /&gt;
## 30 GB /var (vg0-var)&lt;br /&gt;
## 6.8 TB /export/home/pvv (vg0-homepvv)&lt;br /&gt;
## ca. 200GB ubrukt, kan brukes til å korrigere eventuell blingsing&lt;br /&gt;
# ca. 48GB swap i raid1&lt;br /&gt;
&lt;br /&gt;
== Remote-konsoll ==&lt;br /&gt;
&lt;br /&gt;
=== Koble til ===&lt;br /&gt;
For å koble til remote-konsoll (krever Java Web Start), gjør følgende:&lt;br /&gt;
&lt;br /&gt;
Først sørger du for at du er på 192.168.215.0/24-nettet. Om du ikke er på en PVV-maskin med rett IP kan du bruke sshuttle for å lage fattigmanns-VPN:&lt;br /&gt;
&lt;br /&gt;
 sshuttle -r lommel.pvv.ntnu.no 192.168.215.0/24&lt;br /&gt;
&lt;br /&gt;
Hvis du er på en maskin på 192.168.215.0/24-nettet:&lt;br /&gt;
&lt;br /&gt;
* Åpne https://microbel-mgmt.pvv.ntnu.no/&lt;br /&gt;
&lt;br /&gt;
Brukernavn er root, passord er rootpassordet. Husk å la være å lagre passordet i browseren.&lt;br /&gt;
&lt;br /&gt;
==== Hvis du ikke er på en maskin på 192.168.215.0/24-nettet og ikke kan bruke sshuttle ====&lt;br /&gt;
&lt;br /&gt;
* SSH til lommel eller en annen maskin på det nettet, og forward alle de relevante portene (krever root)&lt;br /&gt;
** ssh -L localhost:5900:microbel-mgmt:5900 -L localhost:5901:microbel-mgmt:5901 -L localhost:443:microbel-mgmt:443 -L localhost:80:microbel-mgmt:80 root@cthulhu.pvv.ntnu.no&lt;br /&gt;
* Åpne https://localhost/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bytte passordet ===&lt;br /&gt;
Det er fort gjort å glemme å bytte passordet. Det er mulig å bytte passordet fra lokalt på microbel ved hjelp av ipmitool.&lt;br /&gt;
&lt;br /&gt;
Sørg for at ipmi-modulene er lastet&lt;br /&gt;
&lt;br /&gt;
 modprobe ipmi_devintf&lt;br /&gt;
 modprobe ipmi_si&lt;br /&gt;
&lt;br /&gt;
List brukerene:&lt;br /&gt;
&lt;br /&gt;
 microbel ~ # ipmitool user list 1&lt;br /&gt;
 ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit&lt;br /&gt;
 2   ADMIN            false   false      true       ADMINISTRATOR&lt;br /&gt;
 3   root             true    true       true       ADMINISTRATOR&lt;br /&gt;
&lt;br /&gt;
Bytt passordet (passordprompten kommer to ganger):&lt;br /&gt;
&lt;br /&gt;
 microbel ~ # ipmitool user set password 3 &lt;br /&gt;
 Password for user 3: &lt;br /&gt;
 Password for user 3:&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4442</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4442"/>
		<updated>2016-08-06T17:57:44Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Tekniske ting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er et system for å distribuere filer og sørge for at maskiner har samme oppsett. Etter at vi satte opp versjonskontroll via git lokalt på lommel er det nødvenidg å gå gjennom oppsettet beskrevet i [[Drift/Salt#Gjøre endringer|Gjøre endringer]]-avsnittet før man kan bidra til å endre salt-oppsettet til PVV.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion# wget -O - https://www.pvv.ntnu.no/salt/salt-setup.sh | bash&lt;br /&gt;
ny-minion# rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion# service salt-minion restart&lt;br /&gt;
ny-minion$# ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master$ sudo salt-key -L&lt;br /&gt;
salt-master$ sudo salt-key -a ny-minion.pvv.ntnu.no&lt;br /&gt;
ny-minion# salt-call saltutil.sync_grains&lt;br /&gt;
ny-minion# salt-call state.highstate saltenv=base pillarenv=base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint. Legg også brukeren til i sudo-gruppen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe &amp;amp;&amp;amp; adduser johndoe sudo&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|desktop&lt;br /&gt;
|Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
|mysql-server&lt;br /&gt;
|MySQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|postgresql-server&lt;br /&gt;
|PostGreSQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|web-frontend&lt;br /&gt;
|Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
|web-homes&lt;br /&gt;
|Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
|fwlogin&lt;br /&gt;
|Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Templates ===&lt;br /&gt;
&lt;br /&gt;
For å distribuere en template og fylle inn verdier kan du gjøre noe ala dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/etc/ssh/sshd_config:&lt;br /&gt;
  file.managed:&lt;br /&gt;
    - source: salt://{{ tpldir }}/sshd_config.jinja&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
{% if &#039;fwlogin&#039; in grains[&#039;roles&#039;] %}&lt;br /&gt;
      ports: [22, 80, 443]&lt;br /&gt;
{% else %}&lt;br /&gt;
      ports: [22]&lt;br /&gt;
{% endif %}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;template: jinja&amp;quot; betyr at filen skal tolkes som en jinja-template, context inneholder alle variablene.&lt;br /&gt;
&lt;br /&gt;
=== Restart av tjenester ===&lt;br /&gt;
&lt;br /&gt;
Etter at en fil er endret eller en pakke er installert kan det være kjekt å automatisk reloade tjenester som påvirkes av det. Tjenester kan ha ulike navn på ulike arkitekturer, men det kan man ta høyde for.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{% set sshd_service = {&lt;br /&gt;
    &#039;Debian&#039;: &#039;ssh&#039;,&lt;br /&gt;
    &#039;FreeBSD&#039;: &#039;sshd&#039;,&lt;br /&gt;
}.get(grains.os_family) %}&lt;br /&gt;
&lt;br /&gt;
sshd-service:&lt;br /&gt;
  service.running:&lt;br /&gt;
    - name: {{ sshd_service }}&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file: /etc/ssh/sshd_config&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Her er et annet eksempel, som sørger for at en pakke er installert i samme slengen (her antas det at både pakken og servicen heter salt-master alle arkitekturer)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
salt-master: &lt;br /&gt;
  pkg.installed: [] &lt;br /&gt;
  service.running: &lt;br /&gt;
    - watch: &lt;br /&gt;
      - file: /etc/salt/master.d/pvv.conf &lt;br /&gt;
    - require: &lt;br /&gt;
      - pkg: salt-master &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Databaser&amp;diff=4441</id>
		<title>Drift/Databaser</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Databaser&amp;diff=4441"/>
		<updated>2016-08-02T06:51:26Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Created page with &amp;quot; == Brukerverktøy ==  PVV har et par verkøy som lar brukere opprette mysql- og postgres-databaser selv. Disse finner du her:   * MySQL: https://dev.pvv.ntnu.no/projects/mysq...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Brukerverktøy ==&lt;br /&gt;
&lt;br /&gt;
PVV har et par verkøy som lar brukere opprette mysql- og postgres-databaser selv. Disse finner du her:&lt;br /&gt;
&lt;br /&gt;
 * MySQL: https://dev.pvv.ntnu.no/projects/mysql-admtools/&lt;br /&gt;
 * PostgreSQL: https://dev.pvv.ntnu.no/projects/psql-admtools/&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift&amp;diff=4440</id>
		<title>Drift</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift&amp;diff=4440"/>
		<updated>2016-08-02T06:46:54Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Bare nyttig for drift */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[#Administration|English]]&lt;br /&gt;
&lt;br /&gt;
Drift har ansvaret for å drive maskinene på PVV. Tidligere var drift organisert i egne grupper, først med ansvar for bestemte maskiner, deretter for bestemte tjenester, men har siden 2002 vært organisert i en stor driftsgruppe. I tillegg finnes en gruppe med ansvar for drift av e-postsystemet og en [[CERT|sikkerhetsgruppe]].&lt;br /&gt;
&lt;br /&gt;
Dersom du har generelle spørsmål skal disse sendes &amp;lt;b&amp;gt;drift(at)pvv.ntnu.no&amp;lt;/b&amp;gt;, ikke til enkelpersoner som er med i driftsgruppa. Driftskoordinator er p.t. `orjane`.&lt;br /&gt;
&lt;br /&gt;
Husk at drift utelukkende består av frivillige. Ingen får betalt for å gjøre dette og ingen driver med dette 24 timer i døgnet, 365 dager i året. Vi vil likevel gjøre vårt beste for å gi god hjelp og service til våre brukere.&lt;br /&gt;
&lt;br /&gt;
Driftsgruppen har ingen strenge krav til aktivitet eller erfaring for å bli medlem, så selv om du er ny i virket går det fint an å bare observere og absorbere i begynnelsen.&lt;br /&gt;
&lt;br /&gt;
==== Det finnes også en slags [[/Intro|introduksjon]] for nye driftere. ====&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= [[Dokumentasjon|Nyttig for både bruk og drift]] =&lt;br /&gt;
Se [[Dokumentasjon]]&lt;br /&gt;
&lt;br /&gt;
= Bare nyttig for drift =&lt;br /&gt;
* [[/ToDo]] Ting som trenger gjøring&lt;br /&gt;
* [[/Scanner]] Scanner&lt;br /&gt;
* [[/Netboot]] Legge til linuxer i pxe-boot&lt;br /&gt;
* [[/DNS og dvask]] Legge til record på navnetjeneren vår, dvask&lt;br /&gt;
* [[/Kerberos]] Oppsett av kerberos&lt;br /&gt;
* [[/Mediawiki]] Oppsett av mediawiki&lt;br /&gt;
* [[/Seriellkonsoll]] Oppsett av seriellkonsoll&lt;br /&gt;
* [[/TRAC]] Trac på dev.pvv.ntnu.no&lt;br /&gt;
* [[/Databaser]] Databaseservere og relatert oppsett på PVV&lt;br /&gt;
* [[/Salt]] Dokumentasjon for SaltStack&lt;br /&gt;
&lt;br /&gt;
= Handling drift ofte utfører =&lt;br /&gt;
&lt;br /&gt;
* [[Legge til bruker]]: Hvordan legge til en ny bruker på PVV.&lt;br /&gt;
* [[Drift/Endre brukeres passord|Endre brukeres passord]] Endre brukeres passord&lt;br /&gt;
* [[Redigere kvote]]: Hvordan opprette/utvide diskplass for en bruker når han har betalt for utvidet kvote.&lt;br /&gt;
* [[Drift/Mail|Epost]]: Behandle epost.&lt;br /&gt;
* [[Planlagt nedetid]]: Prosedyre for varsling av planlagt nedetid.&lt;br /&gt;
* [[Systembrukere]]: Regler for systembrukere.&lt;br /&gt;
* [[Endre eller slette bruker]]: Hva som skal gjøres når man endrer eller sletter brukere&lt;br /&gt;
* [[Opprette nye prosjekt på dev]]: Ting og tang som må gjøres for å opprette et nytt prosjekt.&lt;br /&gt;
* [[Drift/Oppdatere SSL-sertifikater|Oppdatere SSL-sertifikater]]&lt;br /&gt;
* [[Starte etter strømbrudd]]: Hva må gjøres når strømmen har vært borte?&lt;br /&gt;
&lt;br /&gt;
== Annet ==&lt;br /&gt;
* [[Drift/Backup|Backup]]&lt;br /&gt;
* [[Drift/Maskininstallasjon|Installasjon av OS]]&lt;br /&gt;
* [[Drift/Pakkeinstallasjon|Installasjon av programvare]]&lt;br /&gt;
* OS-Drift&lt;br /&gt;
** [[Drift/Partisjonering]]&lt;br /&gt;
** [[Drift/IRIX Install]]&lt;br /&gt;
** [[Drift/VAX Netboot]]&lt;br /&gt;
** [[Maskiner/Vrimmel|Virtualisering på vrimmel.pvv.ntnu.no]]&lt;br /&gt;
** [[Drift/SUSE]]&lt;br /&gt;
* [[Drift/OpenVPN|Hvordan sette opp, konfigurere, og vedlikeholde en OpenVPN server]]&lt;br /&gt;
* [[Drift/RootpassordReglement]]&lt;br /&gt;
* [http://www.pvv.ntnu.no/rootpassordskjema.ps Rootpassordskjema]&lt;br /&gt;
&lt;br /&gt;
= Roteloftet =&lt;br /&gt;
&lt;br /&gt;
Sider som egentlig ikke er relevante lenger.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;[[Maskiner/Octopus|Octopus]]&amp;lt;/del&amp;gt; (Ikke i bruk)&lt;br /&gt;
* [[Drift/Wiki|Den gamle wikien]]&lt;br /&gt;
* [[Drift/Bacula|Bacula, det forrige backupsystemet]]&lt;br /&gt;
&lt;br /&gt;
= Administration =&lt;br /&gt;
&lt;br /&gt;
The administration is responsible for maintaining the machines at PVV. Previously the administration was organized in separate groups, first with responsibility for certain machines, later for certain services, but has since 2002 been organized in a large administration group. In addition there exists a group that is responsible for the maintenance of the email system, and a [[CERT|security group]].&lt;br /&gt;
&lt;br /&gt;
If you have general questions these should be directed to &amp;lt;b&amp;gt;drift(at)pvv.ntnu.no&amp;lt;/b&amp;gt;, not to individual members of the administrative group. The coordinator of the administrative group at the moment is `orjane`.&lt;br /&gt;
&lt;br /&gt;
Remember that the administration consists exclusively of volunteers. Nobody is paid to do this and nobody is working on it 24 hours a day, 365 days a year. Even so we will try our best to give good help and service to our users.&lt;br /&gt;
&lt;br /&gt;
The administrative group has no strong requirements to activity or experience to become a member, so even if you are new to craft it&#039;s completely possible to just observer and absorb in the beginning.&lt;br /&gt;
&lt;br /&gt;
==== There also exists a kind of [[/Intro|introduction]] for fresh administrators. ====&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= [[Dokumentasjon|Usefull for both users and administrators]] =&lt;br /&gt;
See [[Dokumentasjon]]&lt;br /&gt;
&lt;br /&gt;
= Only useful for administrators =&lt;br /&gt;
* [[/ToDo]] Things that need doing&lt;br /&gt;
* [[/Scanner]] Scanner&lt;br /&gt;
* [[/Netboot]] Add linuxes to pxe-boot&lt;br /&gt;
* [[/DNS og dvask|DNS and dvask]] Add records to our name-server, dvask&lt;br /&gt;
* [[/Kerberos]] Setup of kerberos&lt;br /&gt;
* [[/Mediawiki]] Setup of mediawiki&lt;br /&gt;
* [[/Seriellkonsoll|Serial console]] Setup of serial console&lt;br /&gt;
* [[/TRAC]] Trac on dev.pvv.ntnu.no&lt;br /&gt;
* [[/Puppet]] Documentation for Puppet&lt;br /&gt;
&lt;br /&gt;
= Actions the administration often execute =&lt;br /&gt;
* [[Legge til bruker|Adding new users]]: How to add a new user on PVV.&lt;br /&gt;
* [[Drift/Endre brukeres passord|Change users password]] Change a users password&lt;br /&gt;
* [[Redigere kvote|Edit quota]]: How to create/extend disc space for a user when he&#039;s paid for an extended quota.&lt;br /&gt;
* [[Drift/Mail|Mail]]: Process email.&lt;br /&gt;
* [[Planlagt nedetid|Planed downtime]]: Procedure for notifying planed downtime.&lt;br /&gt;
* [[Systembrukere|System users]]: Rules for system users.&lt;br /&gt;
* [[Endre eller slette bruker|Modify or delete user]]: What should be changed when one modifies or deletes users.&lt;br /&gt;
* [[Opprette nye prosjekt på dev|Creating a new project on dev]]: Things that must be done to create a new project.&lt;br /&gt;
* [[Drift/Oppdatere SSL-sertifikater|Update SSL-certificates]]&lt;br /&gt;
* [[Starte etter strømbrudd|Restarting after power outage]]: What has to be done when the power has been gone?&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* [[Drift/Backup|Backup]]&lt;br /&gt;
* [[Drift/Maskininstallasjon|Installation of OS]]&lt;br /&gt;
* [[Drift/Pakkeinstallasjon|Installation of software]]&lt;br /&gt;
* OS-Administration&lt;br /&gt;
** [[Drift/Partisjonering|Administration/Partitioning]]&lt;br /&gt;
** [[Drift/IRIX Install|Administration/IRIX Install]]&lt;br /&gt;
** [[Drift/VAX Netboot|Administration/VAX Netboot]]&lt;br /&gt;
** [[Maskiner/Vrimmel|Virtualization on vrimmel.pvv.ntnu.no]]&lt;br /&gt;
** [[Drift/SUSE|Administration/SUSE]]&lt;br /&gt;
* [[Drift/RootpassordReglement|Administration/Root password rules]]&lt;br /&gt;
* [http://www.pvv.ntnu.no/rootpassordskjema.ps Root password scheme]&lt;br /&gt;
&lt;br /&gt;
= The Attic of Miscellaneous =&lt;br /&gt;
&lt;br /&gt;
Pages that aren&#039;t strictly relevant anymore.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;[[Maskiner/Octopus|Octopus]]&amp;lt;/del&amp;gt; (Not in use)&lt;br /&gt;
* [[Drift/Wiki|The old wiki]]&lt;br /&gt;
* [[Drift/Bacula|Bacula, the previous backup system]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Starte_etter_str%C3%B8mbrudd&amp;diff=4437</id>
		<title>Drift/Starte etter strømbrudd</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Starte_etter_str%C3%B8mbrudd&amp;diff=4437"/>
		<updated>2016-07-15T22:50:07Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Støvle dvask */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Starte etter strømbrudd =&lt;br /&gt;
&lt;br /&gt;
Ikke alt kommer opp automatisk etter strømbrudd.&lt;br /&gt;
&lt;br /&gt;
Det er to KVM-er koblet i serie. Bruk PrtSc for å få opp meny i KVM-en nærmest konsollet. Den andre KVM-en henger på en av utgangene på den første. Bruk PrtSc PrtSc for å få opp menyen.&lt;br /&gt;
&lt;br /&gt;
== Støvle decibel ==&lt;br /&gt;
&lt;br /&gt;
Bryter i front. Lysene i front virker ikke, men du hører godt når den starter.&lt;br /&gt;
&lt;br /&gt;
== Støvle tvilling ==&lt;br /&gt;
&lt;br /&gt;
Uvisst hvilke brytere som virker. Prøv alle. :-) Lysene i front virker ikke, og du hører ikke om den starter. Sjekk konsoll.&lt;br /&gt;
&lt;br /&gt;
== Støvle dvask ==&lt;br /&gt;
&lt;br /&gt;
Dvask står på, men det må gjøres noe magi over seriellkonsoll. Se [[Maskiner/Dvask]].&lt;br /&gt;
&lt;br /&gt;
== Powercycle switchen til stemor og tim ==&lt;br /&gt;
&lt;br /&gt;
Kan slutte å skyfle pakker dersom du er uheldig. Står i samme rack som stemor og tim. Trekk ut strømmen og dytt den inn igjen.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner&amp;diff=4433</id>
		<title>Maskiner</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner&amp;diff=4433"/>
		<updated>2016-06-07T08:28:42Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[#Machines|English]]&lt;br /&gt;
&lt;br /&gt;
= Tjenestealias =&lt;br /&gt;
{{:Maskiner/Tjenestealias}}&lt;br /&gt;
&lt;br /&gt;
= Serverbokser =&lt;br /&gt;
&lt;br /&gt;
Dette er maskiner som kjører brukerrettede tjenester og/eller fungerer bra som arbeidshester.&lt;br /&gt;
&lt;br /&gt;
Unngå å kjøre alt mulig rart på microbel. Unntaket er ting som skaper massiv diskaktivitet.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Formfaktor&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dash8]] &lt;br /&gt;
|  Debian Wheezy&lt;br /&gt;
|  Intel Xeon 3.00/3.20 GHz (4x)&lt;br /&gt;
|  3 GB &lt;br /&gt;
|  CUPS og bitlbee&lt;br /&gt;
|  1U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Microbel]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  Intel Xeon E5606 2.13GHz (4x)&lt;br /&gt;
|  24 GB &lt;br /&gt;
|  disk og mail&lt;br /&gt;
|  3U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dverger]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 (x16) &lt;br /&gt;
|  16 GB &lt;br /&gt;
|  Tunge ting, slås på etter behov &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Stud]]&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
|  Laserprinter&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Horisont]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  P3 600 MHz (2x) &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  eks-login &lt;br /&gt;
|  4U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Hildring]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  VM &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  login &lt;br /&gt;
|  0U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Knakelibrak]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Databaser, wiki&lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Monty]]&lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.0 GHz (2x)&lt;br /&gt;
|  2GB&lt;br /&gt;
|  NMS&lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Skrotnisse]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) ?&lt;br /&gt;
|  2 GB ?&lt;br /&gt;
|  dev, dhcp&lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Snehvit]] &lt;br /&gt;
|  SLES 9 &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (16x) &lt;br /&gt;
|  16 GB &lt;br /&gt;
|  Tunge ting, slås på etter behov &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Stemor]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (2x)&lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Speil &lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tim]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  www &lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Lommel]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|   &lt;br /&gt;
|  &lt;br /&gt;
|  config server, [[rdist]]/puppet&lt;br /&gt;
|  1U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/flags]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips3]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips4]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips5]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  6 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host    &lt;br /&gt;
|-&lt;br /&gt;
|  [[/innovation]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  minecraftserver&lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum4]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum5]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Arbeidsstasjoner =&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; Debian&lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Sprint]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  AMD Athlon 64 X2 5000+ &lt;br /&gt;
|  4GB &lt;br /&gt;
|  utfaset, skal flyttes til nvg&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kvikk]] &lt;br /&gt;
|  OpenWRT&lt;br /&gt;
|  Router stuff &lt;br /&gt;
|  Ukjent &lt;br /&gt;
|  Ruter, trådløs&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Osaka]] &lt;br /&gt;
|  Windows 7 for spill og dill&lt;br /&gt;
|  Intel Core2 Duo E8400 &lt;br /&gt;
|  4GB &lt;br /&gt;
|  Dobbeltstøvler Debian Squeeze/Sid&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Sanctuary]] &lt;br /&gt;
|  Windows 10 for spill og dill på TVen&lt;br /&gt;
|  Intel i7&lt;br /&gt;
|  8GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Glenda]] &lt;br /&gt;
|  Plan 9 &lt;br /&gt;
|  AMD Duron 1.3 Ghz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  Ingen&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Skrott]] &lt;br /&gt;
|  Debian Lenny&lt;br /&gt;
|  PowerPC 7450, 800MHz&lt;br /&gt;
|  768 MB&lt;br /&gt;
|  Betalingssystem for [[PVVVV]], lampe&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tallulah]]&lt;br /&gt;
|  Debian Linux/Gnu versjon testes &lt;br /&gt;
|  AMD A6 3500 APU (trekjerne med innebygget GPU) &lt;br /&gt;
|  4GB &lt;br /&gt;
|  Multimediamaskin (koblet til og fjernsynsapparat)&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Pirat]]&lt;br /&gt;
|  Arch (ikke PVV-oppsett ennå)&lt;br /&gt;
|  Pentium D 3.0 GHz (2x)&lt;br /&gt;
|  2040MB&lt;br /&gt;
|- &lt;br /&gt;
|  [[/Doktor]]&lt;br /&gt;
|  Ubuntu Utopic Unicorn&lt;br /&gt;
|  Intel Core(TM) i3-2100 3.10Ghz&lt;br /&gt;
|  8 GB&lt;br /&gt;
|-&lt;br /&gt;
|  [[/venture]] &lt;br /&gt;
|  FreeBSD&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD&lt;br /&gt;
|  Terminal&lt;br /&gt;
|-&lt;br /&gt;
|  [[/stakeholder]] &lt;br /&gt;
|  Linux Mint&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD&lt;br /&gt;
|  Terminal&lt;br /&gt;
|-&lt;br /&gt;
| [[/Bull]]&lt;br /&gt;
| Debian Sid&lt;br /&gt;
| Core2Quad Q9550 @ 2.83GHz &lt;br /&gt;
| 8GB&lt;br /&gt;
|-&lt;br /&gt;
| [[/Bulldozer]]&lt;br /&gt;
| Debian Jessie&lt;br /&gt;
| Intel Core 2 Quad CPU Q9550 @ 2.83GHz&lt;br /&gt;
| 8GB&lt;br /&gt;
| Terminal&lt;br /&gt;
|-&lt;br /&gt;
| [[/Misantropy]]&lt;br /&gt;
| Debian Jessie&lt;br /&gt;
| Intel Core i7 CPU 860 @ 2.80GHz&lt;br /&gt;
| 16GBGB&lt;br /&gt;
| Terminal&lt;br /&gt;
|-&lt;br /&gt;
| [[/Jerry]]&lt;br /&gt;
| OS X El Capitan&lt;br /&gt;
| Intel Core i5 @ 2.50GHz&lt;br /&gt;
| 16GB&lt;br /&gt;
| Terminal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Annet =&lt;br /&gt;
&lt;br /&gt;
De følgende maskinene har en ganske spesialisert funksjon, og/eller er såpass skrøpelige at de ikke anbefales til vanlig bruk.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Hardware&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Formfaktor&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dvask]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  MicroVAX II &lt;br /&gt;
|&lt;br /&gt;
|  DNS &lt;br /&gt;
|  stor&lt;br /&gt;
|-&lt;br /&gt;
| [[/Odroid-x]]&lt;br /&gt;
|  Selvvalgt &lt;br /&gt;
|  ARMv7 Processor 4 kjerne&lt;br /&gt;
|  1GB &lt;br /&gt;
|  Leketøy&lt;br /&gt;
|-&lt;br /&gt;
| [[/Odroid-A]]&lt;br /&gt;
|  Selvvalgt &lt;br /&gt;
|  ARMv7 Dual core A9 exynos 4210&lt;br /&gt;
|  1GB &lt;br /&gt;
|  Leketøy med touchskjerm&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Asgard]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  P3 800 Mhz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Kerberos KDC &lt;br /&gt;
|  4U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Midgard]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  P3 800 Mhz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Kerberos KDC backup?&lt;br /&gt;
|  4U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Nosferatu]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  AMD64 &lt;br /&gt;
|&lt;br /&gt;
|  kommer om natten og suger ut data fra decibel &lt;br /&gt;
|  4U&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt;[[/Onyx]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|  &amp;lt;del&amp;gt;FreeBSD&amp;lt;/del&amp;gt;&lt;br /&gt;
|  &amp;lt;del&amp;gt;[[/Dell 2650]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|  Skrotet for knakelibrak&lt;br /&gt;
|  &amp;lt;del&amp;gt;Loghost&amp;lt;/del&amp;gt;&lt;br /&gt;
|  &amp;lt;del&amp;gt;2U&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kofi]] &lt;br /&gt;
|  Fedora-basert Linux &lt;br /&gt;
|  AMD Geode (XO-1)&lt;br /&gt;
|&lt;br /&gt;
|  Tar bilder av [[Annan]] &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Vrimmel]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Vert for virtuelle maskiner (Xen)&lt;br /&gt;
|  2U + 3U diskbay&lt;br /&gt;
|-&lt;br /&gt;
|  [[Annan]]&lt;br /&gt;
|  Enkelt kretskort og knapper&lt;br /&gt;
|  Varmeplate med variabel effekt&lt;br /&gt;
|&lt;br /&gt;
|  Lager kaffe under overvåkning av [[Kofi]]&lt;br /&gt;
|-&lt;br /&gt;
|  [[Lemming]]&lt;br /&gt;
|  Grønn te&lt;br /&gt;
|  Glasskanne, ca 1 liter minne&lt;br /&gt;
|&lt;br /&gt;
|  Brukes for å lage varm drikke med lemensmak. Etterkommeren av Lemen.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Commodore]]&lt;br /&gt;
|  Enkelt kretskort, knapper og kapselspak&lt;br /&gt;
|  19bar pumpe, 1 liter homeopatminne på baksiden og oppsamlingsrist&lt;br /&gt;
|&lt;br /&gt;
|  Lager espresso av nespressokapsler og vann. MAGI!&lt;br /&gt;
|  nespressomaskin&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Alice]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  Intel Pentium 4 something (1x)&lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Speil og Torrents&lt;br /&gt;
|-&lt;br /&gt;
|  [[Tardis]]&lt;br /&gt;
|  Time and Relative Dimension in Space&lt;br /&gt;
|  Treverk og maling&lt;br /&gt;
|&lt;br /&gt;
|  Laget for å lokke Who-fans til PVV under immatrikulering. Står nå som pynt.&lt;br /&gt;
|  usynlig&lt;br /&gt;
|-&lt;br /&gt;
|  [[brzęczyszczykiewicz]]&lt;br /&gt;
|  Unix-kompatibelt&lt;br /&gt;
|  Dell&lt;br /&gt;
|&lt;br /&gt;
|  rmgbmysiJH0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Utfasede maskiner =&lt;br /&gt;
* [[/Enron]] - brukerweb (det &amp;lt;b&amp;gt;var&amp;lt;/b&amp;gt; hvertfall planen)&lt;br /&gt;
* [[/HB]] - FreeBSD6 på x86 - DVD&lt;br /&gt;
* India&lt;br /&gt;
* Mu - Noe på HPPA - har vondt i disken sin.&lt;br /&gt;
* Peridexion - Kaffebord (i slekt med storm)&lt;br /&gt;
* [[/Sapiens]] - Ubuntu GNU/Linux på x86&lt;br /&gt;
* [[/Storm]] - SGI Callenge L som kjører IRIX 6.5, lider av POKB-feil&lt;br /&gt;
* Voldsboks2&lt;br /&gt;
* ... - Altund hadde en boks frem til 2007(?)&lt;br /&gt;
* ... - Nabla hadde en boks frem til 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Servermaskiner:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Berners-Lee]]&lt;br /&gt;
|  Debian Lenny&lt;br /&gt;
|  IA-64 733 MHz (2x)&lt;br /&gt;
|  2 GB&lt;br /&gt;
|  www&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Baird]] &lt;br /&gt;
|  Ubuntu Edgy &lt;br /&gt;
|  AMD XP 1800+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  Mediasenter (under TVen), ofte avslått &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Egg]] &lt;br /&gt;
|  Debian Etch &lt;br /&gt;
|  P3 600 MHz (2x) &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  Utvikling? For tiden vondt i disken. &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Inti]] &lt;br /&gt;
|  FreeBSD 7.1 &lt;br /&gt;
|  UltraSPARC II (4x) &lt;br /&gt;
|  4 GB &lt;br /&gt;
|  Dytter torrents &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Verden]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  ? &lt;br /&gt;
|  ? &lt;br /&gt;
|  anonym FTP &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Bacchus]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  DHCP, DNS, tftp, gammel og bitter &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Brutus]] &lt;br /&gt;
|  Solaris 9 &lt;br /&gt;
|  Sun Sparcstation 20? &lt;br /&gt;
|  YP-slave &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Malina]] &lt;br /&gt;
|  Solaris 10 &lt;br /&gt;
|  Sun Enterprise 250 &lt;br /&gt;
|  YP-master &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kvartett]] &lt;br /&gt;
|  VMS &lt;br /&gt;
|  [[AlhpaServer]] 4100 &lt;br /&gt;
|  Mystisk og uutgrunnelig &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Octopus]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  brukes som seriekonsollmaskin &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Rymden]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  krysskompilering til VAX &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Echelon]] &lt;br /&gt;
|  Trustix &lt;br /&gt;
|  x86 &lt;br /&gt;
|  Loghost &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Herakles]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  x86 &lt;br /&gt;
|  (veldig ensom) Kerberos KDC &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Decibel]] &lt;br /&gt;
|  Ubuntu Hardy &lt;br /&gt;
|  AMD Opteron 1800 MHz (2x) &lt;br /&gt;
|  4 GB &lt;br /&gt;
|  Tidligere disk og mail&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Flode]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  Xeon 2.8 GHz (2x) &lt;br /&gt;
|  6 GB &lt;br /&gt;
|  Er død og ligger i hyllen på koserommet&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Hingst]] &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
|  64 MB&lt;br /&gt;
|  Laserprinter &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tvilling]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  P3 800 MHz (2x) &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  bitlbee, div. tjenester &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Cthulhu]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  Pentium 3 &lt;br /&gt;
|  1 GB&lt;br /&gt;
|  config server, [[rdist]]/puppet&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arbeidsstasjoner:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Amaterasu]] &lt;br /&gt;
|  Solaris 10 &lt;br /&gt;
|  Ultrasparc II 400 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Sun Enterprise 250, yp-slave &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Grubgrub]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  AMD 1 GHz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kobben]] &lt;br /&gt;
|  Gentoo &lt;br /&gt;
|  AMD 1.8 GHz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kremt]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  AMD XP 1700+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Spiralis]]&lt;br /&gt;
|  Windows 7&lt;br /&gt;
|  AMD Phenom(tm) II X4 955&lt;br /&gt;
|  4 GB&lt;br /&gt;
|  låner 4GB ram til woody&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Olympic]] &lt;br /&gt;
|  Debian Etch &lt;br /&gt;
|  IA-64 733 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Lysfontene]]&lt;br /&gt;
|  Litt diverse: Debian, Mint og Ubuntu-studio&lt;br /&gt;
|  Intel Core 2 duo E7300 ?&lt;br /&gt;
|  4 - 6 GiB&lt;br /&gt;
|  arbeidsstasjon&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Nissen]] &lt;br /&gt;
|  Ubuntu Karmic&lt;br /&gt;
|  AMD XP 1800+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Maskiner som ikke ble drevet av PVV. &lt;br /&gt;
* Fire (aka mumegw) - MUD-ting&lt;br /&gt;
* [[/Vaffeljern]] - NTNUI Dans  (Står ikke lenger på PVV)&lt;br /&gt;
* Voldsboks (aka grimne, mume) - MUD-ting&lt;br /&gt;
* Yuriko (aka poy.no) - alfborge, hosting av dansefilmer&lt;br /&gt;
&lt;br /&gt;
= Machines =&lt;br /&gt;
&lt;br /&gt;
= Service alias =&lt;br /&gt;
{{:Maskiner/Tjenestealias}}&lt;br /&gt;
&lt;br /&gt;
= Server boxes = &lt;br /&gt;
&lt;br /&gt;
These are machines that run user centered services and/or work well as workhorses.&lt;br /&gt;
&lt;br /&gt;
Avoid running more than necessary on microbel. The exception is things that produce a lot of disc activity. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Functions&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dash8]] &lt;br /&gt;
|  Debian Wheezy&lt;br /&gt;
|  Intel Xeon 3.00/3.20 GHz (4x)&lt;br /&gt;
|  3 GB &lt;br /&gt;
|  CUPS and bitlbee&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Microbel]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  Intel Xeon E5606 2.13GHz (4x)&lt;br /&gt;
|  24 GB &lt;br /&gt;
|  disc and mail&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dverger]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 (x16) &lt;br /&gt;
|  16 GB &lt;br /&gt;
|  Heavy things, turned on when needed &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Stud]]&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
|  Laser printers&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Horisont]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  P3 600 MHz (2x) &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  login &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Knakelibrak]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Databases, wiki&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Monty]]&lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.0 GHz (2x)&lt;br /&gt;
|  2GB&lt;br /&gt;
|  NMS&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Skrotnisse]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) ?&lt;br /&gt;
|  2 GB ?&lt;br /&gt;
|  dev, replacing tvillings tasks&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Snehvit]] &lt;br /&gt;
|  SLES 9 &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (16x) &lt;br /&gt;
|  16 GB &lt;br /&gt;
|  Heavy things, turned on when needed&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Stemor]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (2x)&lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Mirror &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tim]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  www &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Lommel]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  Pentium 4 2.80GHz&lt;br /&gt;
|  1 GB&lt;br /&gt;
|  config server, [[rdist]]/puppet&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/flags]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips3]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips4]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips5]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  6 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host    &lt;br /&gt;
|-&lt;br /&gt;
|  [[/innovation]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  minecraftserver&lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum4]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum5]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Workstations =&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; Debian&lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Sprint]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  AMD Athlon 64 X2 5000+ &lt;br /&gt;
|  4GB &lt;br /&gt;
|  phased out, to be moved to nvg&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kvikk]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  Intel Core2 Duo E7300 &lt;br /&gt;
|  4GB &lt;br /&gt;
|  phased out, to be moved to nvg&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Osaka]] &lt;br /&gt;
|  Windows 7 for games and stuff&lt;br /&gt;
|  Intel Core2 Duo E8400 &lt;br /&gt;
|  4GB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Sanctuary]]&lt;br /&gt;
|  Windows 10 for games and stuff&lt;br /&gt;
|  intel i7&lt;br /&gt;
|  8 GB&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Glenda]] &lt;br /&gt;
|  Plan 9 &lt;br /&gt;
|  AMD Duron 1.3 Ghz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  None&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Skrott]] &lt;br /&gt;
|  Debian Lenny&lt;br /&gt;
|  PowerPC 7450, 800MHz&lt;br /&gt;
|  768 MB&lt;br /&gt;
|  Payment system for [[PVVVV]], lamp&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tallulah]]&lt;br /&gt;
|  Debian Linux/Gnu version being tested &lt;br /&gt;
|  AMD A6 3500 APU (tricore with built in GPU) &lt;br /&gt;
|  4GB &lt;br /&gt;
|  Multimedia machine (connected to television)&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Pirat]]&lt;br /&gt;
|  Arch (not PVV-setup yet)&lt;br /&gt;
|  Pentium D 3.0 GHz (2x)&lt;br /&gt;
|  2040MB&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
|  [[/Doktor]]&lt;br /&gt;
|  Ubuntu&lt;br /&gt;
|  Intel Core(TM) i3-2100 3.10Ghz&lt;br /&gt;
|  8 GB&lt;br /&gt;
|-&lt;br /&gt;
|  [[/venture]] &lt;br /&gt;
|  Debian Sid&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD&lt;br /&gt;
|  Terminal&lt;br /&gt;
|-&lt;br /&gt;
|  [[/stakeholder]] &lt;br /&gt;
|  Fedora 20 (Heisenbug)&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD&lt;br /&gt;
|  Terminal&lt;br /&gt;
|-&lt;br /&gt;
| [[/Bull]]&lt;br /&gt;
| Debian Sid&lt;br /&gt;
| Core2Quad Q9550 @ 2.83GHz &lt;br /&gt;
| 8GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
&lt;br /&gt;
The following machines have rather specialized functions, and/or are so fragile that they are not recommended for ordinary use. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Hardware&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dvask]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  MicroVAX II &lt;br /&gt;
|&lt;br /&gt;
|  DNS &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Asgard]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  P3 800 Mhz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Kerberos KDC &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Midgard]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  P3 800 Mhz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Kerberos KDC backup?&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Nosferatu]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  AMD64 &lt;br /&gt;
|&lt;br /&gt;
|  comes in the night and sucks data out of decibel&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Onyx]]&lt;br /&gt;
|  FreeBSD&lt;br /&gt;
|  [[/Dell 2650]]&lt;br /&gt;
|&lt;br /&gt;
|  Loghost&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kofi]] &lt;br /&gt;
|  Fedora-based Linux &lt;br /&gt;
|  AMD Geode (XO-1)&lt;br /&gt;
|&lt;br /&gt;
|  Takes images of [[Annan]] &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Vrimmel]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Host for virtual machines (Xen)&lt;br /&gt;
|-&lt;br /&gt;
|  [[Annan]]&lt;br /&gt;
|  Simple circuit board and buttons&lt;br /&gt;
|  Boilerplate with variable effect&lt;br /&gt;
|&lt;br /&gt;
|  Makes coffee under the supervision of [[Kofi]]&lt;br /&gt;
|-&lt;br /&gt;
|  [[Lemming]]&lt;br /&gt;
|  Green tea&lt;br /&gt;
|  Glass flask, ca 1 liter memory&lt;br /&gt;
|&lt;br /&gt;
|  Used to make hot drinks with lemming taste. Ascendant of Lemming.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Commodore]]&lt;br /&gt;
|  Simple circuit board, buttons and capsule lever&lt;br /&gt;
|  19bar pump, 1 liter homeopathic memory on the backside and collection grate&lt;br /&gt;
|&lt;br /&gt;
|  Makes espresso of nespresso capsules and water. MAGIC!&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Alice]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  Intel Pentium 4 something (1x)&lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Mirror and torrents&lt;br /&gt;
|-&lt;br /&gt;
|  [[Tardis]]&lt;br /&gt;
|  Time and Relative Dimension in Space&lt;br /&gt;
|  Wood and paint&lt;br /&gt;
|&lt;br /&gt;
|  Made to lure Who-fans to PVV during the matriculation. Currently stands as decoration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Phased out machines =&lt;br /&gt;
* [[/Enron]] - userweb (at least that &amp;lt;b&amp;gt;was&amp;lt;/b&amp;gt; the plan)&lt;br /&gt;
* [[/HB]] - FreeBSD6 on x86 - DVD&lt;br /&gt;
* India&lt;br /&gt;
* Mu - Something on HPPA - has pains in its disc.&lt;br /&gt;
* Peridexion - Coffee table (related to storm)&lt;br /&gt;
* [[/Sapiens]] - Ubuntu GNU/Linux on x86&lt;br /&gt;
* [[/Storm]] - SGI Callenge L that runs IRIX 6.5, suffers from POKB-fault&lt;br /&gt;
* Voldsboks2&lt;br /&gt;
* ... - Altund had a box up to 2007(?)&lt;br /&gt;
* ... - Nabla had a box up to 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server machines:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Berners-Lee]]&lt;br /&gt;
|  Debian Lenny&lt;br /&gt;
|  IA-64 733 MHz (2x)&lt;br /&gt;
|  2 GB&lt;br /&gt;
|  www&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Baird]] &lt;br /&gt;
|  Ubuntu Edgy &lt;br /&gt;
|  AMD XP 1800+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  Media center (under the TV), often off &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Egg]] &lt;br /&gt;
|  Debian Etch &lt;br /&gt;
|  P3 600 MHz (2x) &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  Development? Currently has pains in its disc.&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Inti]] &lt;br /&gt;
|  FreeBSD 7.1 &lt;br /&gt;
|  UltraSPARC II (4x) &lt;br /&gt;
|  4 GB &lt;br /&gt;
|  Pushes torrents &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Verden]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  ? &lt;br /&gt;
|  ? &lt;br /&gt;
|  anonymous FTP &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Bacchus]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  DHCP, DNS, tftp, old and bitter &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Brutus]] &lt;br /&gt;
|  Solaris 9 &lt;br /&gt;
|  Sun Sparcstation 20? &lt;br /&gt;
|  YP-slave &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Malina]] &lt;br /&gt;
|  Solaris 10 &lt;br /&gt;
|  Sun Enterprise 250 &lt;br /&gt;
|  YP-master &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kvartett]] &lt;br /&gt;
|  VMS &lt;br /&gt;
|  [[AlhpaServer]] 4100 &lt;br /&gt;
|  Mysterious and unfathomable&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Octopus]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  used as a serial console machine&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Rymden]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  cross compilation to VAX &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Echelon]] &lt;br /&gt;
|  Trustix &lt;br /&gt;
|  x86 &lt;br /&gt;
|  Loghost &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Herakles]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  x86 &lt;br /&gt;
|  (very lonely) Kerberos KDC &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Decibel]] &lt;br /&gt;
|  Ubuntu Hardy &lt;br /&gt;
|  AMD Opteron 1800 MHz (2x) &lt;br /&gt;
|  4 GB &lt;br /&gt;
|  Former disc and mail&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Flode]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  Xeon 2.8 GHz (2x) &lt;br /&gt;
|  6 GB &lt;br /&gt;
|  Is dead and lies on the shelf in the recreation room&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Hingst]] &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
|  64 MB&lt;br /&gt;
|  Laser printer &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tvilling]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  P3 800 MHz (2x) &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  bitlbee, misc. services &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Workstations:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Amaterasu]] &lt;br /&gt;
|  Solaris 10 &lt;br /&gt;
|  Ultrasparc II 400 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Sun Enterprise 250, yp-slave &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Grubgrub]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  AMD 1 GHz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kobben]] &lt;br /&gt;
|  Gentoo &lt;br /&gt;
|  AMD 1.8 GHz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kremt]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  AMD XP 1700+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Olympic]] &lt;br /&gt;
|  Debian Etch &lt;br /&gt;
|  IA-64 733 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Spiralis]]&lt;br /&gt;
|  Windows 7&lt;br /&gt;
|  AMD Phenom(tm) II X4 955&lt;br /&gt;
|  4 GB&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Lysfontene]]&lt;br /&gt;
|  Some misc: Debian, Mint and Ubuntu-studio&lt;br /&gt;
|  Intel Core 2 duo E7300 ?&lt;br /&gt;
|  4 - 6 GiB&lt;br /&gt;
|  workstation&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Nissen]] &lt;br /&gt;
|  Ubuntu Karmic&lt;br /&gt;
|  AMD XP 1800+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Machines that weren&#039;t maintained by PVV.&lt;br /&gt;
* Fire (aka mumegw) - MUD-thing&lt;br /&gt;
* [[/Vaffeljern|Waffle toaster]] - NTNUI Dans  (No longer at PVV)&lt;br /&gt;
* Voldsboks (aka grimne, mume) - MUD-thing&lt;br /&gt;
* Yuriko (aka poy.no) - alfborge, hosting of dancing films&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner&amp;diff=4432</id>
		<title>Maskiner</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner&amp;diff=4432"/>
		<updated>2016-06-07T08:28:21Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Serverbokser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[#Machines|English]]&lt;br /&gt;
&lt;br /&gt;
= Tjenestealias =&lt;br /&gt;
{{:Maskiner/Tjenestealias}}&lt;br /&gt;
&lt;br /&gt;
= Serverbokser =&lt;br /&gt;
&lt;br /&gt;
Dette er maskiner som kjører brukerrettede tjenester og/eller fungerer bra som arbeidshester.&lt;br /&gt;
&lt;br /&gt;
Unngå å kjøre alt mulig rart på microbel. Unntaket er ting som skaper massiv diskaktivitet.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Formfaktor&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dash8]] &lt;br /&gt;
|  Debian Wheezy&lt;br /&gt;
|  Intel Xeon 3.00/3.20 GHz (4x)&lt;br /&gt;
|  3 GB &lt;br /&gt;
|  CUPS og bitlbee&lt;br /&gt;
|  1U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Microbel]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  Intel Xeon E5606 2.13GHz (4x)&lt;br /&gt;
|  24 GB &lt;br /&gt;
|  disk og mail&lt;br /&gt;
|  3U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dverger]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 (x16) &lt;br /&gt;
|  16 GB &lt;br /&gt;
|  Tunge ting, slås på etter behov &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Stud]]&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
|  Laserprinter&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Horisont]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  P3 600 MHz (2x) &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  eks-login &lt;br /&gt;
|  4U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Horisont]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  VM &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  login &lt;br /&gt;
|  0U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Knakelibrak]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Databaser, wiki&lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Monty]]&lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.0 GHz (2x)&lt;br /&gt;
|  2GB&lt;br /&gt;
|  NMS&lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Skrotnisse]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) ?&lt;br /&gt;
|  2 GB ?&lt;br /&gt;
|  dev, dhcp&lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Snehvit]] &lt;br /&gt;
|  SLES 9 &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (16x) &lt;br /&gt;
|  16 GB &lt;br /&gt;
|  Tunge ting, slås på etter behov &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Stemor]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (2x)&lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Speil &lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tim]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  www &lt;br /&gt;
|  2U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Lommel]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|   &lt;br /&gt;
|  &lt;br /&gt;
|  config server, [[rdist]]/puppet&lt;br /&gt;
|  1U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/flags]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips3]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips4]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips5]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  6 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host    &lt;br /&gt;
|-&lt;br /&gt;
|  [[/innovation]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  minecraftserver&lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum4]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum5]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Arbeidsstasjoner =&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; Debian&lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Sprint]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  AMD Athlon 64 X2 5000+ &lt;br /&gt;
|  4GB &lt;br /&gt;
|  utfaset, skal flyttes til nvg&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kvikk]] &lt;br /&gt;
|  OpenWRT&lt;br /&gt;
|  Router stuff &lt;br /&gt;
|  Ukjent &lt;br /&gt;
|  Ruter, trådløs&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Osaka]] &lt;br /&gt;
|  Windows 7 for spill og dill&lt;br /&gt;
|  Intel Core2 Duo E8400 &lt;br /&gt;
|  4GB &lt;br /&gt;
|  Dobbeltstøvler Debian Squeeze/Sid&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Sanctuary]] &lt;br /&gt;
|  Windows 10 for spill og dill på TVen&lt;br /&gt;
|  Intel i7&lt;br /&gt;
|  8GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Glenda]] &lt;br /&gt;
|  Plan 9 &lt;br /&gt;
|  AMD Duron 1.3 Ghz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  Ingen&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Skrott]] &lt;br /&gt;
|  Debian Lenny&lt;br /&gt;
|  PowerPC 7450, 800MHz&lt;br /&gt;
|  768 MB&lt;br /&gt;
|  Betalingssystem for [[PVVVV]], lampe&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tallulah]]&lt;br /&gt;
|  Debian Linux/Gnu versjon testes &lt;br /&gt;
|  AMD A6 3500 APU (trekjerne med innebygget GPU) &lt;br /&gt;
|  4GB &lt;br /&gt;
|  Multimediamaskin (koblet til og fjernsynsapparat)&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Pirat]]&lt;br /&gt;
|  Arch (ikke PVV-oppsett ennå)&lt;br /&gt;
|  Pentium D 3.0 GHz (2x)&lt;br /&gt;
|  2040MB&lt;br /&gt;
|- &lt;br /&gt;
|  [[/Doktor]]&lt;br /&gt;
|  Ubuntu Utopic Unicorn&lt;br /&gt;
|  Intel Core(TM) i3-2100 3.10Ghz&lt;br /&gt;
|  8 GB&lt;br /&gt;
|-&lt;br /&gt;
|  [[/venture]] &lt;br /&gt;
|  FreeBSD&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD&lt;br /&gt;
|  Terminal&lt;br /&gt;
|-&lt;br /&gt;
|  [[/stakeholder]] &lt;br /&gt;
|  Linux Mint&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD&lt;br /&gt;
|  Terminal&lt;br /&gt;
|-&lt;br /&gt;
| [[/Bull]]&lt;br /&gt;
| Debian Sid&lt;br /&gt;
| Core2Quad Q9550 @ 2.83GHz &lt;br /&gt;
| 8GB&lt;br /&gt;
|-&lt;br /&gt;
| [[/Bulldozer]]&lt;br /&gt;
| Debian Jessie&lt;br /&gt;
| Intel Core 2 Quad CPU Q9550 @ 2.83GHz&lt;br /&gt;
| 8GB&lt;br /&gt;
| Terminal&lt;br /&gt;
|-&lt;br /&gt;
| [[/Misantropy]]&lt;br /&gt;
| Debian Jessie&lt;br /&gt;
| Intel Core i7 CPU 860 @ 2.80GHz&lt;br /&gt;
| 16GBGB&lt;br /&gt;
| Terminal&lt;br /&gt;
|-&lt;br /&gt;
| [[/Jerry]]&lt;br /&gt;
| OS X El Capitan&lt;br /&gt;
| Intel Core i5 @ 2.50GHz&lt;br /&gt;
| 16GB&lt;br /&gt;
| Terminal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Annet =&lt;br /&gt;
&lt;br /&gt;
De følgende maskinene har en ganske spesialisert funksjon, og/eller er såpass skrøpelige at de ikke anbefales til vanlig bruk.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Hardware&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Formfaktor&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dvask]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  MicroVAX II &lt;br /&gt;
|&lt;br /&gt;
|  DNS &lt;br /&gt;
|  stor&lt;br /&gt;
|-&lt;br /&gt;
| [[/Odroid-x]]&lt;br /&gt;
|  Selvvalgt &lt;br /&gt;
|  ARMv7 Processor 4 kjerne&lt;br /&gt;
|  1GB &lt;br /&gt;
|  Leketøy&lt;br /&gt;
|-&lt;br /&gt;
| [[/Odroid-A]]&lt;br /&gt;
|  Selvvalgt &lt;br /&gt;
|  ARMv7 Dual core A9 exynos 4210&lt;br /&gt;
|  1GB &lt;br /&gt;
|  Leketøy med touchskjerm&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Asgard]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  P3 800 Mhz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Kerberos KDC &lt;br /&gt;
|  4U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Midgard]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  P3 800 Mhz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Kerberos KDC backup?&lt;br /&gt;
|  4U&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Nosferatu]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  AMD64 &lt;br /&gt;
|&lt;br /&gt;
|  kommer om natten og suger ut data fra decibel &lt;br /&gt;
|  4U&lt;br /&gt;
|-&lt;br /&gt;
|  &amp;lt;del&amp;gt;[[/Onyx]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|  &amp;lt;del&amp;gt;FreeBSD&amp;lt;/del&amp;gt;&lt;br /&gt;
|  &amp;lt;del&amp;gt;[[/Dell 2650]]&amp;lt;/del&amp;gt;&lt;br /&gt;
|  Skrotet for knakelibrak&lt;br /&gt;
|  &amp;lt;del&amp;gt;Loghost&amp;lt;/del&amp;gt;&lt;br /&gt;
|  &amp;lt;del&amp;gt;2U&amp;lt;/del&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kofi]] &lt;br /&gt;
|  Fedora-basert Linux &lt;br /&gt;
|  AMD Geode (XO-1)&lt;br /&gt;
|&lt;br /&gt;
|  Tar bilder av [[Annan]] &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Vrimmel]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Vert for virtuelle maskiner (Xen)&lt;br /&gt;
|  2U + 3U diskbay&lt;br /&gt;
|-&lt;br /&gt;
|  [[Annan]]&lt;br /&gt;
|  Enkelt kretskort og knapper&lt;br /&gt;
|  Varmeplate med variabel effekt&lt;br /&gt;
|&lt;br /&gt;
|  Lager kaffe under overvåkning av [[Kofi]]&lt;br /&gt;
|-&lt;br /&gt;
|  [[Lemming]]&lt;br /&gt;
|  Grønn te&lt;br /&gt;
|  Glasskanne, ca 1 liter minne&lt;br /&gt;
|&lt;br /&gt;
|  Brukes for å lage varm drikke med lemensmak. Etterkommeren av Lemen.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Commodore]]&lt;br /&gt;
|  Enkelt kretskort, knapper og kapselspak&lt;br /&gt;
|  19bar pumpe, 1 liter homeopatminne på baksiden og oppsamlingsrist&lt;br /&gt;
|&lt;br /&gt;
|  Lager espresso av nespressokapsler og vann. MAGI!&lt;br /&gt;
|  nespressomaskin&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Alice]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  Intel Pentium 4 something (1x)&lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Speil og Torrents&lt;br /&gt;
|-&lt;br /&gt;
|  [[Tardis]]&lt;br /&gt;
|  Time and Relative Dimension in Space&lt;br /&gt;
|  Treverk og maling&lt;br /&gt;
|&lt;br /&gt;
|  Laget for å lokke Who-fans til PVV under immatrikulering. Står nå som pynt.&lt;br /&gt;
|  usynlig&lt;br /&gt;
|-&lt;br /&gt;
|  [[brzęczyszczykiewicz]]&lt;br /&gt;
|  Unix-kompatibelt&lt;br /&gt;
|  Dell&lt;br /&gt;
|&lt;br /&gt;
|  rmgbmysiJH0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Utfasede maskiner =&lt;br /&gt;
* [[/Enron]] - brukerweb (det &amp;lt;b&amp;gt;var&amp;lt;/b&amp;gt; hvertfall planen)&lt;br /&gt;
* [[/HB]] - FreeBSD6 på x86 - DVD&lt;br /&gt;
* India&lt;br /&gt;
* Mu - Noe på HPPA - har vondt i disken sin.&lt;br /&gt;
* Peridexion - Kaffebord (i slekt med storm)&lt;br /&gt;
* [[/Sapiens]] - Ubuntu GNU/Linux på x86&lt;br /&gt;
* [[/Storm]] - SGI Callenge L som kjører IRIX 6.5, lider av POKB-feil&lt;br /&gt;
* Voldsboks2&lt;br /&gt;
* ... - Altund hadde en boks frem til 2007(?)&lt;br /&gt;
* ... - Nabla hadde en boks frem til 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Servermaskiner:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Berners-Lee]]&lt;br /&gt;
|  Debian Lenny&lt;br /&gt;
|  IA-64 733 MHz (2x)&lt;br /&gt;
|  2 GB&lt;br /&gt;
|  www&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Baird]] &lt;br /&gt;
|  Ubuntu Edgy &lt;br /&gt;
|  AMD XP 1800+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  Mediasenter (under TVen), ofte avslått &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Egg]] &lt;br /&gt;
|  Debian Etch &lt;br /&gt;
|  P3 600 MHz (2x) &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  Utvikling? For tiden vondt i disken. &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Inti]] &lt;br /&gt;
|  FreeBSD 7.1 &lt;br /&gt;
|  UltraSPARC II (4x) &lt;br /&gt;
|  4 GB &lt;br /&gt;
|  Dytter torrents &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Verden]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  ? &lt;br /&gt;
|  ? &lt;br /&gt;
|  anonym FTP &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Bacchus]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  DHCP, DNS, tftp, gammel og bitter &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Brutus]] &lt;br /&gt;
|  Solaris 9 &lt;br /&gt;
|  Sun Sparcstation 20? &lt;br /&gt;
|  YP-slave &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Malina]] &lt;br /&gt;
|  Solaris 10 &lt;br /&gt;
|  Sun Enterprise 250 &lt;br /&gt;
|  YP-master &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kvartett]] &lt;br /&gt;
|  VMS &lt;br /&gt;
|  [[AlhpaServer]] 4100 &lt;br /&gt;
|  Mystisk og uutgrunnelig &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Octopus]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  brukes som seriekonsollmaskin &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Rymden]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  krysskompilering til VAX &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Echelon]] &lt;br /&gt;
|  Trustix &lt;br /&gt;
|  x86 &lt;br /&gt;
|  Loghost &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Herakles]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  x86 &lt;br /&gt;
|  (veldig ensom) Kerberos KDC &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Decibel]] &lt;br /&gt;
|  Ubuntu Hardy &lt;br /&gt;
|  AMD Opteron 1800 MHz (2x) &lt;br /&gt;
|  4 GB &lt;br /&gt;
|  Tidligere disk og mail&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Flode]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  Xeon 2.8 GHz (2x) &lt;br /&gt;
|  6 GB &lt;br /&gt;
|  Er død og ligger i hyllen på koserommet&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Hingst]] &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
|  64 MB&lt;br /&gt;
|  Laserprinter &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tvilling]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  P3 800 MHz (2x) &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  bitlbee, div. tjenester &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Cthulhu]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  Pentium 3 &lt;br /&gt;
|  1 GB&lt;br /&gt;
|  config server, [[rdist]]/puppet&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arbeidsstasjoner:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Maskin&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Minne&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Funksjon&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Amaterasu]] &lt;br /&gt;
|  Solaris 10 &lt;br /&gt;
|  Ultrasparc II 400 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Sun Enterprise 250, yp-slave &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Grubgrub]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  AMD 1 GHz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kobben]] &lt;br /&gt;
|  Gentoo &lt;br /&gt;
|  AMD 1.8 GHz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kremt]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  AMD XP 1700+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Spiralis]]&lt;br /&gt;
|  Windows 7&lt;br /&gt;
|  AMD Phenom(tm) II X4 955&lt;br /&gt;
|  4 GB&lt;br /&gt;
|  låner 4GB ram til woody&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Olympic]] &lt;br /&gt;
|  Debian Etch &lt;br /&gt;
|  IA-64 733 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Lysfontene]]&lt;br /&gt;
|  Litt diverse: Debian, Mint og Ubuntu-studio&lt;br /&gt;
|  Intel Core 2 duo E7300 ?&lt;br /&gt;
|  4 - 6 GiB&lt;br /&gt;
|  arbeidsstasjon&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Nissen]] &lt;br /&gt;
|  Ubuntu Karmic&lt;br /&gt;
|  AMD XP 1800+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Maskiner som ikke ble drevet av PVV. &lt;br /&gt;
* Fire (aka mumegw) - MUD-ting&lt;br /&gt;
* [[/Vaffeljern]] - NTNUI Dans  (Står ikke lenger på PVV)&lt;br /&gt;
* Voldsboks (aka grimne, mume) - MUD-ting&lt;br /&gt;
* Yuriko (aka poy.no) - alfborge, hosting av dansefilmer&lt;br /&gt;
&lt;br /&gt;
= Machines =&lt;br /&gt;
&lt;br /&gt;
= Service alias =&lt;br /&gt;
{{:Maskiner/Tjenestealias}}&lt;br /&gt;
&lt;br /&gt;
= Server boxes = &lt;br /&gt;
&lt;br /&gt;
These are machines that run user centered services and/or work well as workhorses.&lt;br /&gt;
&lt;br /&gt;
Avoid running more than necessary on microbel. The exception is things that produce a lot of disc activity. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Functions&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dash8]] &lt;br /&gt;
|  Debian Wheezy&lt;br /&gt;
|  Intel Xeon 3.00/3.20 GHz (4x)&lt;br /&gt;
|  3 GB &lt;br /&gt;
|  CUPS and bitlbee&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Microbel]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  Intel Xeon E5606 2.13GHz (4x)&lt;br /&gt;
|  24 GB &lt;br /&gt;
|  disc and mail&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dverger]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 (x16) &lt;br /&gt;
|  16 GB &lt;br /&gt;
|  Heavy things, turned on when needed &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Stud]]&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
|  Laser printers&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Horisont]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  P3 600 MHz (2x) &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  login &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Knakelibrak]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Databases, wiki&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Monty]]&lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.0 GHz (2x)&lt;br /&gt;
|  2GB&lt;br /&gt;
|  NMS&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Skrotnisse]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) ?&lt;br /&gt;
|  2 GB ?&lt;br /&gt;
|  dev, replacing tvillings tasks&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Snehvit]] &lt;br /&gt;
|  SLES 9 &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (16x) &lt;br /&gt;
|  16 GB &lt;br /&gt;
|  Heavy things, turned on when needed&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Stemor]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (2x)&lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Mirror &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tim]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  [[/SGI Altix]] 350, IA-64 1400 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  www &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Lommel]] &lt;br /&gt;
|  Debian Wheezy &lt;br /&gt;
|  Pentium 4 2.80GHz&lt;br /&gt;
|  1 GB&lt;br /&gt;
|  config server, [[rdist]]/puppet&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/flags]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips3]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips4]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  8 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Mips5]] &lt;br /&gt;
|  Fedora 20 &lt;br /&gt;
|  Core2Quad Q9550 @ 2.83GHz  &lt;br /&gt;
|  6 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host    &lt;br /&gt;
|-&lt;br /&gt;
|  [[/innovation]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  minecraftserver&lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum4]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/scrum5]] &lt;br /&gt;
|  CentOS&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD &lt;br /&gt;
|  Virtual machine host  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Workstations =&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; Debian&lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Sprint]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  AMD Athlon 64 X2 5000+ &lt;br /&gt;
|  4GB &lt;br /&gt;
|  phased out, to be moved to nvg&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kvikk]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  Intel Core2 Duo E7300 &lt;br /&gt;
|  4GB &lt;br /&gt;
|  phased out, to be moved to nvg&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Osaka]] &lt;br /&gt;
|  Windows 7 for games and stuff&lt;br /&gt;
|  Intel Core2 Duo E8400 &lt;br /&gt;
|  4GB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Sanctuary]]&lt;br /&gt;
|  Windows 10 for games and stuff&lt;br /&gt;
|  intel i7&lt;br /&gt;
|  8 GB&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Glenda]] &lt;br /&gt;
|  Plan 9 &lt;br /&gt;
|  AMD Duron 1.3 Ghz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  None&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Skrott]] &lt;br /&gt;
|  Debian Lenny&lt;br /&gt;
|  PowerPC 7450, 800MHz&lt;br /&gt;
|  768 MB&lt;br /&gt;
|  Payment system for [[PVVVV]], lamp&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tallulah]]&lt;br /&gt;
|  Debian Linux/Gnu version being tested &lt;br /&gt;
|  AMD A6 3500 APU (tricore with built in GPU) &lt;br /&gt;
|  4GB &lt;br /&gt;
|  Multimedia machine (connected to television)&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Pirat]]&lt;br /&gt;
|  Arch (not PVV-setup yet)&lt;br /&gt;
|  Pentium D 3.0 GHz (2x)&lt;br /&gt;
|  2040MB&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
|  [[/Doktor]]&lt;br /&gt;
|  Ubuntu&lt;br /&gt;
|  Intel Core(TM) i3-2100 3.10Ghz&lt;br /&gt;
|  8 GB&lt;br /&gt;
|-&lt;br /&gt;
|  [[/venture]] &lt;br /&gt;
|  Debian Sid&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD&lt;br /&gt;
|  Terminal&lt;br /&gt;
|-&lt;br /&gt;
|  [[/stakeholder]] &lt;br /&gt;
|  Fedora 20 (Heisenbug)&lt;br /&gt;
|  Intel core i7-860 2.8 GHz&lt;br /&gt;
|  16 GB, 128 GB SSD&lt;br /&gt;
|  Terminal&lt;br /&gt;
|-&lt;br /&gt;
| [[/Bull]]&lt;br /&gt;
| Debian Sid&lt;br /&gt;
| Core2Quad Q9550 @ 2.83GHz &lt;br /&gt;
| 8GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
&lt;br /&gt;
The following machines have rather specialized functions, and/or are so fragile that they are not recommended for ordinary use. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Hardware&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Dvask]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  MicroVAX II &lt;br /&gt;
|&lt;br /&gt;
|  DNS &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Asgard]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  P3 800 Mhz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Kerberos KDC &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Midgard]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  P3 800 Mhz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Kerberos KDC backup?&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Nosferatu]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  AMD64 &lt;br /&gt;
|&lt;br /&gt;
|  comes in the night and sucks data out of decibel&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Onyx]]&lt;br /&gt;
|  FreeBSD&lt;br /&gt;
|  [[/Dell 2650]]&lt;br /&gt;
|&lt;br /&gt;
|  Loghost&lt;br /&gt;
|-&lt;br /&gt;
|  [[Kofi]] &lt;br /&gt;
|  Fedora-based Linux &lt;br /&gt;
|  AMD Geode (XO-1)&lt;br /&gt;
|&lt;br /&gt;
|  Takes images of [[Annan]] &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Vrimmel]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  [[/Dell 2650]], Xeon 2.4 GHz (2x) &lt;br /&gt;
|&lt;br /&gt;
|  Host for virtual machines (Xen)&lt;br /&gt;
|-&lt;br /&gt;
|  [[Annan]]&lt;br /&gt;
|  Simple circuit board and buttons&lt;br /&gt;
|  Boilerplate with variable effect&lt;br /&gt;
|&lt;br /&gt;
|  Makes coffee under the supervision of [[Kofi]]&lt;br /&gt;
|-&lt;br /&gt;
|  [[Lemming]]&lt;br /&gt;
|  Green tea&lt;br /&gt;
|  Glass flask, ca 1 liter memory&lt;br /&gt;
|&lt;br /&gt;
|  Used to make hot drinks with lemming taste. Ascendant of Lemming.&lt;br /&gt;
|-&lt;br /&gt;
|  [[Commodore]]&lt;br /&gt;
|  Simple circuit board, buttons and capsule lever&lt;br /&gt;
|  19bar pump, 1 liter homeopathic memory on the backside and collection grate&lt;br /&gt;
|&lt;br /&gt;
|  Makes espresso of nespresso capsules and water. MAGIC!&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Alice]] &lt;br /&gt;
|  Debian Squeeze&lt;br /&gt;
|  Intel Pentium 4 something (1x)&lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Mirror and torrents&lt;br /&gt;
|-&lt;br /&gt;
|  [[Tardis]]&lt;br /&gt;
|  Time and Relative Dimension in Space&lt;br /&gt;
|  Wood and paint&lt;br /&gt;
|&lt;br /&gt;
|  Made to lure Who-fans to PVV during the matriculation. Currently stands as decoration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Phased out machines =&lt;br /&gt;
* [[/Enron]] - userweb (at least that &amp;lt;b&amp;gt;was&amp;lt;/b&amp;gt; the plan)&lt;br /&gt;
* [[/HB]] - FreeBSD6 on x86 - DVD&lt;br /&gt;
* India&lt;br /&gt;
* Mu - Something on HPPA - has pains in its disc.&lt;br /&gt;
* Peridexion - Coffee table (related to storm)&lt;br /&gt;
* [[/Sapiens]] - Ubuntu GNU/Linux on x86&lt;br /&gt;
* [[/Storm]] - SGI Callenge L that runs IRIX 6.5, suffers from POKB-fault&lt;br /&gt;
* Voldsboks2&lt;br /&gt;
* ... - Altund had a box up to 2007(?)&lt;br /&gt;
* ... - Nabla had a box up to 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server machines:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Berners-Lee]]&lt;br /&gt;
|  Debian Lenny&lt;br /&gt;
|  IA-64 733 MHz (2x)&lt;br /&gt;
|  2 GB&lt;br /&gt;
|  www&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Baird]] &lt;br /&gt;
|  Ubuntu Edgy &lt;br /&gt;
|  AMD XP 1800+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  Media center (under the TV), often off &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Egg]] &lt;br /&gt;
|  Debian Etch &lt;br /&gt;
|  P3 600 MHz (2x) &lt;br /&gt;
|  1 GB &lt;br /&gt;
|  Development? Currently has pains in its disc.&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Inti]] &lt;br /&gt;
|  FreeBSD 7.1 &lt;br /&gt;
|  UltraSPARC II (4x) &lt;br /&gt;
|  4 GB &lt;br /&gt;
|  Pushes torrents &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Verden]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  ? &lt;br /&gt;
|  ? &lt;br /&gt;
|  anonymous FTP &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Bacchus]] &lt;br /&gt;
|  FreeBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  DHCP, DNS, tftp, old and bitter &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Brutus]] &lt;br /&gt;
|  Solaris 9 &lt;br /&gt;
|  Sun Sparcstation 20? &lt;br /&gt;
|  YP-slave &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Malina]] &lt;br /&gt;
|  Solaris 10 &lt;br /&gt;
|  Sun Enterprise 250 &lt;br /&gt;
|  YP-master &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kvartett]] &lt;br /&gt;
|  VMS &lt;br /&gt;
|  [[AlhpaServer]] 4100 &lt;br /&gt;
|  Mysterious and unfathomable&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Octopus]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  used as a serial console machine&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Rymden]] &lt;br /&gt;
|  NetBSD &lt;br /&gt;
|  x86 &lt;br /&gt;
|  cross compilation to VAX &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Echelon]] &lt;br /&gt;
|  Trustix &lt;br /&gt;
|  x86 &lt;br /&gt;
|  Loghost &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Herakles]] &lt;br /&gt;
|  Debian &lt;br /&gt;
|  x86 &lt;br /&gt;
|  (very lonely) Kerberos KDC &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Decibel]] &lt;br /&gt;
|  Ubuntu Hardy &lt;br /&gt;
|  AMD Opteron 1800 MHz (2x) &lt;br /&gt;
|  4 GB &lt;br /&gt;
|  Former disc and mail&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Flode]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  Xeon 2.8 GHz (2x) &lt;br /&gt;
|  6 GB &lt;br /&gt;
|  Is dead and lies on the shelf in the recreation room&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Hingst]] &lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
|  64 MB&lt;br /&gt;
|  Laser printer &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Tvilling]] &lt;br /&gt;
|  Debian Squeeze &lt;br /&gt;
|  P3 800 MHz (2x) &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  bitlbee, misc. services &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Workstations:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;tablestyle=&amp;quot;font-size:1.0em;&amp;quot;&amp;gt;| &amp;lt;b&amp;gt;Machine&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;OS&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;CPU&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Memory&amp;lt;/b&amp;gt; &lt;br /&gt;
|  &amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Amaterasu]] &lt;br /&gt;
|  Solaris 10 &lt;br /&gt;
|  Ultrasparc II 400 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|  Sun Enterprise 250, yp-slave &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Grubgrub]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  AMD 1 GHz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kobben]] &lt;br /&gt;
|  Gentoo &lt;br /&gt;
|  AMD 1.8 GHz &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Kremt]] &lt;br /&gt;
|  Debian Lenny &lt;br /&gt;
|  AMD XP 1700+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Olympic]] &lt;br /&gt;
|  Debian Etch &lt;br /&gt;
|  IA-64 733 MHz (2x) &lt;br /&gt;
|  2 GB &lt;br /&gt;
|-&lt;br /&gt;
|  [[/Spiralis]]&lt;br /&gt;
|  Windows 7&lt;br /&gt;
|  AMD Phenom(tm) II X4 955&lt;br /&gt;
|  4 GB&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Lysfontene]]&lt;br /&gt;
|  Some misc: Debian, Mint and Ubuntu-studio&lt;br /&gt;
|  Intel Core 2 duo E7300 ?&lt;br /&gt;
|  4 - 6 GiB&lt;br /&gt;
|  workstation&lt;br /&gt;
|-&lt;br /&gt;
|  [[/Nissen]] &lt;br /&gt;
|  Ubuntu Karmic&lt;br /&gt;
|  AMD XP 1800+ &lt;br /&gt;
|  512 MB &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Machines that weren&#039;t maintained by PVV.&lt;br /&gt;
* Fire (aka mumegw) - MUD-thing&lt;br /&gt;
* [[/Vaffeljern|Waffle toaster]] - NTNUI Dans  (No longer at PVV)&lt;br /&gt;
* Voldsboks (aka grimne, mume) - MUD-thing&lt;br /&gt;
* Yuriko (aka poy.no) - alfborge, hosting of dancing films&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Programvareverkstedet&amp;diff=4431</id>
		<title>Programvareverkstedet</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Programvareverkstedet&amp;diff=4431"/>
		<updated>2016-06-07T08:25:45Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Driftsmeldinger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[#English summary]]&lt;br /&gt;
&lt;br /&gt;
[[#Programvareverkstedet|English]]&lt;br /&gt;
&lt;br /&gt;
Velkommen til [[Programvareverkstedet]]s wiki. Programvareverkstedet (PVV) er en studentorganisasjon ved Norges Teknisk-Naturvitenskapelige Universitet (NTNU). PVVs formål er å skape et miljø for datainteresserte personer tilknyttet universitetet. Nåværende og tidligere studenter ved NTNU, samt ansatte ved NTNU og tilstøtende miljø, kan bli medlemmer.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Kommende arrangementer ==&lt;br /&gt;
&#039;&#039;Kursplanen kan endre seg i løpet av semesteret.&#039;&#039; [https://www.google.com/calendar/embed?src=320i50h1jg3as29imatatn1j4g%40group.calendar.google.com&amp;amp;ctz=Europe/Oslo Google Calendar] [https://www.google.com/calendar/ical/320i50h1jg3as29imatatn1j4g%40group.calendar.google.com/public/basic.ics Google .ics]&lt;br /&gt;
&lt;br /&gt;
* 25. februar: [[Kurs/PostScript (2015)|PostScript Kurs]] av Anders Christensen (18:15 - F3)&lt;br /&gt;
* 9. mars: [https://kurs.pvv.ntnu.no/events/event/2 Raspberry Pi Kurs] av Finn I. Holme (18:15 - Drivhuset) - Påmelding nødvendig!&lt;br /&gt;
* 15. mars: [https://kurs.pvv.ntnu.no/events/event/3 Vulkan Presentation] av Andreas Danner Nilsen (18:15 - F6) ( [[https://www.pvv.ntnu.no/pvv/Kurs/Vulkan_(presentasjon)_(2015) Slides]] )&lt;br /&gt;
* 14. april: [https://kurs.pvv.ntnu.no/events/event/4 Kurs i C] av Torje Digernes (18:15 - F3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;Lyst å holde kurs neste semester? Ta kontakt med styret@&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Driftsmeldinger ==&lt;br /&gt;
{{LOCALMOTD}}&lt;br /&gt;
&lt;br /&gt;
== Steder å starte ==&lt;br /&gt;
* [[Medlem|Medlemsfordeler]]: Fordeler med å være medlem i PVV.&lt;br /&gt;
* [[Medlemskontingent]]: Hvordan betale kontingent.&lt;br /&gt;
* [[Medlemssider]]: Hjemmesidene til medlemmer i PVV.&lt;br /&gt;
* [[Dokumentasjon]]: Oppskrifter på ting brukere kan gjøre på PVV.&lt;br /&gt;
* [[Drift]]: Dokumentasjon til (potensielle) driftere.&lt;br /&gt;
* [http://list.pvv.ntnu.no/ Epost-lister]&lt;br /&gt;
* [[Styrehandlinger]]: Styrets huskeliste for å gjøre enkelte handlinger.&lt;br /&gt;
* [[Historie]]: PVVs historie og historiske anekdoter fra NTNU, NTH, Gløshaugen, et cetera.&lt;br /&gt;
* [[Programvareutvikling]]: Hvordan utvikle (forhåpentlig god) programvare på en god måte.&lt;br /&gt;
* [[Bokhyllen]]: Bøker i PVVs bokhylle.&lt;br /&gt;
* [[Spill]]: Spill PVV har (brettspill, kortspill, rollespill...)&lt;br /&gt;
* [[Kurs]]: PVV arrangerer kurs i ny og ne, og i forbindelse med de fleste kursene legges det ut litt materiale på nett.&lt;br /&gt;
* [[Maskiner]]: Oversikt over PVVs maskinpark.&lt;br /&gt;
* [[Søsterorganisasjoner]]: PVV-ekvivalenter ved andre universiteter.&lt;br /&gt;
* [[Nerdepizza]]: Nerder samles på Peppes og spiser pizza fredager i partallsuker.&lt;br /&gt;
* [[PVVI]]: Idrettsforeningen.&lt;br /&gt;
* [[Mat]]: De fleste PVV-ere inntar dette jevnlig.&lt;br /&gt;
&lt;br /&gt;
== Redigering av wikien ==&lt;br /&gt;
* [[WikiSandKasse]]: Eksperimenter selv med å redigere en wikiside&lt;br /&gt;
&amp;lt;!-- * [[VeiViser]]: Lær hvilke muligheter du har for å navigere i wiki-en --&amp;gt;&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Bli vant med markeringsspråket&lt;br /&gt;
&amp;lt;!-- * [[HelpContents]]: Dokumentasjon (både for brukere og administratorer) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== English summary ==&lt;br /&gt;
Welcome to the wiki of Programvareversktedet (PVV). Programvareverkstedet (Literally The software workshop) is a student organization for students interested in computers at NTNU. Anyone who is or has been a student at NTNU, and people either working at or is associated with NTNU, can become a member.&lt;br /&gt;
&lt;br /&gt;
Most of PVV&#039;s information is only available in Norwegian. This is natural, since most of our members speak Norwegian.&lt;br /&gt;
We however wish to emphasize that students and others who are not fluent in Norwegian are very welcome to join our club.&lt;br /&gt;
Hopefully, more information on this wiki will be translated into English in the future. If there is any one particular page you want translated into English, or a piece of information important to you which is only available in Norwegian, please contact user andreao.&lt;br /&gt;
&lt;br /&gt;
=== Editing the wiki ===&lt;br /&gt;
* [[WikiSandKasse]]: Experiment with creating wiki pages here&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Get used to the markup&lt;br /&gt;
&lt;br /&gt;
= Programvareverkstedet = &lt;br /&gt;
Welcome to [[Programvareverkstedet]]&#039;s wiki. Programvareverkstedet (PVV, The Software Workshop) is a student organization at the Norwegian University of Science and Technology (NUST/NTNU). PVV&#039;s purpose is to create an environment for people that take an interest in computers and are connected to the university. Current and former students at NUST, and employees at NUST and related environments, can be members. &lt;br /&gt;
&lt;br /&gt;
== Messages from the administration ==&lt;br /&gt;
{{LOCALMOTD}}&lt;br /&gt;
&lt;br /&gt;
== Places to start ==&lt;br /&gt;
* [[Medlem|Member benefits]]: Benefits of being a member of PVV.&lt;br /&gt;
* [[Medlemskontingent|Memersip fee]]: How to pay the membership fee.&lt;br /&gt;
* [[Medlemssider|Member&#039;s pages]]: Homepages of PVV&#039;s members.&lt;br /&gt;
* [[Dokumentasjon|Documentation]]: Recipes for things users can do at PVV.&lt;br /&gt;
* [[Drift|Administration]]: Documentation for (potential) administrators.&lt;br /&gt;
* [http://list.pvv.ntnu.no/ Mailing lists]&lt;br /&gt;
* [[Styrehandlinger|Board actions]]: The boards list for remembering to perform some simple actions.&lt;br /&gt;
* [[Historie|History]]: PVV&#039;s history and historical anecdotes from NUST, NTH, Gløshaugen, etc.&lt;br /&gt;
* [[Programvareutvikling|Software development]]: How to develop (hopefully good) software in a good way.&lt;br /&gt;
* [[Bokhyllen|The Bookshelf]]: Books in PVV&#039;s bookshelf.&lt;br /&gt;
* [[Spill|Games]]: Games PVV has (board games, card games, role playing games...)&lt;br /&gt;
* [[Kurs|Courses]]: PVV arranges courses from time to time, and in relation to most of them some material is published online. &lt;br /&gt;
* [[Maskiner|Machines]]: Overview of PVV&#039;s machine park.&lt;br /&gt;
* [[Søsterorganisasjoner|Sister organizations]]: PVV-equivalents at other universities.&lt;br /&gt;
* [[Nerdepizza|Nerd Pizza]]: Nerds gather at Peppes and eat pizza in even numbered weeks.&lt;br /&gt;
* [[PVVI]]: The sports association.&lt;br /&gt;
* [[Mat|Food]]: Most PVV-ers consume this regularly.&lt;br /&gt;
&lt;br /&gt;
== Edditing the wiki ==&lt;br /&gt;
* [[WikiSandKasse|Wiki sand box]]: Experiment by editing a wiki page.&lt;br /&gt;
&amp;lt;!-- * [[VeiViser|Path finder]]: Learn about opportunities you have to navigate the wiki --&amp;gt;&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Get used to the markup language.&lt;br /&gt;
&amp;lt;!-- * [[HelpContents]]: Documentation (both for users and administrators)--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Programvareverkstedet&amp;diff=4430</id>
		<title>Programvareverkstedet</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Programvareverkstedet&amp;diff=4430"/>
		<updated>2016-06-07T08:25:33Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Driftsmeldinger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[#English summary]]&lt;br /&gt;
&lt;br /&gt;
[[#Programvareverkstedet|English]]&lt;br /&gt;
&lt;br /&gt;
Velkommen til [[Programvareverkstedet]]s wiki. Programvareverkstedet (PVV) er en studentorganisasjon ved Norges Teknisk-Naturvitenskapelige Universitet (NTNU). PVVs formål er å skape et miljø for datainteresserte personer tilknyttet universitetet. Nåværende og tidligere studenter ved NTNU, samt ansatte ved NTNU og tilstøtende miljø, kan bli medlemmer.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Kommende arrangementer ==&lt;br /&gt;
&#039;&#039;Kursplanen kan endre seg i løpet av semesteret.&#039;&#039; [https://www.google.com/calendar/embed?src=320i50h1jg3as29imatatn1j4g%40group.calendar.google.com&amp;amp;ctz=Europe/Oslo Google Calendar] [https://www.google.com/calendar/ical/320i50h1jg3as29imatatn1j4g%40group.calendar.google.com/public/basic.ics Google .ics]&lt;br /&gt;
&lt;br /&gt;
* 25. februar: [[Kurs/PostScript (2015)|PostScript Kurs]] av Anders Christensen (18:15 - F3)&lt;br /&gt;
* 9. mars: [https://kurs.pvv.ntnu.no/events/event/2 Raspberry Pi Kurs] av Finn I. Holme (18:15 - Drivhuset) - Påmelding nødvendig!&lt;br /&gt;
* 15. mars: [https://kurs.pvv.ntnu.no/events/event/3 Vulkan Presentation] av Andreas Danner Nilsen (18:15 - F6) ( [[https://www.pvv.ntnu.no/pvv/Kurs/Vulkan_(presentasjon)_(2015) Slides]] )&lt;br /&gt;
* 14. april: [https://kurs.pvv.ntnu.no/events/event/4 Kurs i C] av Torje Digernes (18:15 - F3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;Lyst å holde kurs neste semester? Ta kontakt med styret@&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Driftsmeldinger ==&lt;br /&gt;
{{LOCALMOTD}}&lt;br /&gt;
x&lt;br /&gt;
&lt;br /&gt;
== Steder å starte ==&lt;br /&gt;
* [[Medlem|Medlemsfordeler]]: Fordeler med å være medlem i PVV.&lt;br /&gt;
* [[Medlemskontingent]]: Hvordan betale kontingent.&lt;br /&gt;
* [[Medlemssider]]: Hjemmesidene til medlemmer i PVV.&lt;br /&gt;
* [[Dokumentasjon]]: Oppskrifter på ting brukere kan gjøre på PVV.&lt;br /&gt;
* [[Drift]]: Dokumentasjon til (potensielle) driftere.&lt;br /&gt;
* [http://list.pvv.ntnu.no/ Epost-lister]&lt;br /&gt;
* [[Styrehandlinger]]: Styrets huskeliste for å gjøre enkelte handlinger.&lt;br /&gt;
* [[Historie]]: PVVs historie og historiske anekdoter fra NTNU, NTH, Gløshaugen, et cetera.&lt;br /&gt;
* [[Programvareutvikling]]: Hvordan utvikle (forhåpentlig god) programvare på en god måte.&lt;br /&gt;
* [[Bokhyllen]]: Bøker i PVVs bokhylle.&lt;br /&gt;
* [[Spill]]: Spill PVV har (brettspill, kortspill, rollespill...)&lt;br /&gt;
* [[Kurs]]: PVV arrangerer kurs i ny og ne, og i forbindelse med de fleste kursene legges det ut litt materiale på nett.&lt;br /&gt;
* [[Maskiner]]: Oversikt over PVVs maskinpark.&lt;br /&gt;
* [[Søsterorganisasjoner]]: PVV-ekvivalenter ved andre universiteter.&lt;br /&gt;
* [[Nerdepizza]]: Nerder samles på Peppes og spiser pizza fredager i partallsuker.&lt;br /&gt;
* [[PVVI]]: Idrettsforeningen.&lt;br /&gt;
* [[Mat]]: De fleste PVV-ere inntar dette jevnlig.&lt;br /&gt;
&lt;br /&gt;
== Redigering av wikien ==&lt;br /&gt;
* [[WikiSandKasse]]: Eksperimenter selv med å redigere en wikiside&lt;br /&gt;
&amp;lt;!-- * [[VeiViser]]: Lær hvilke muligheter du har for å navigere i wiki-en --&amp;gt;&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Bli vant med markeringsspråket&lt;br /&gt;
&amp;lt;!-- * [[HelpContents]]: Dokumentasjon (både for brukere og administratorer) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== English summary ==&lt;br /&gt;
Welcome to the wiki of Programvareversktedet (PVV). Programvareverkstedet (Literally The software workshop) is a student organization for students interested in computers at NTNU. Anyone who is or has been a student at NTNU, and people either working at or is associated with NTNU, can become a member.&lt;br /&gt;
&lt;br /&gt;
Most of PVV&#039;s information is only available in Norwegian. This is natural, since most of our members speak Norwegian.&lt;br /&gt;
We however wish to emphasize that students and others who are not fluent in Norwegian are very welcome to join our club.&lt;br /&gt;
Hopefully, more information on this wiki will be translated into English in the future. If there is any one particular page you want translated into English, or a piece of information important to you which is only available in Norwegian, please contact user andreao.&lt;br /&gt;
&lt;br /&gt;
=== Editing the wiki ===&lt;br /&gt;
* [[WikiSandKasse]]: Experiment with creating wiki pages here&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Get used to the markup&lt;br /&gt;
&lt;br /&gt;
= Programvareverkstedet = &lt;br /&gt;
Welcome to [[Programvareverkstedet]]&#039;s wiki. Programvareverkstedet (PVV, The Software Workshop) is a student organization at the Norwegian University of Science and Technology (NUST/NTNU). PVV&#039;s purpose is to create an environment for people that take an interest in computers and are connected to the university. Current and former students at NUST, and employees at NUST and related environments, can be members. &lt;br /&gt;
&lt;br /&gt;
== Messages from the administration ==&lt;br /&gt;
{{LOCALMOTD}}&lt;br /&gt;
&lt;br /&gt;
== Places to start ==&lt;br /&gt;
* [[Medlem|Member benefits]]: Benefits of being a member of PVV.&lt;br /&gt;
* [[Medlemskontingent|Memersip fee]]: How to pay the membership fee.&lt;br /&gt;
* [[Medlemssider|Member&#039;s pages]]: Homepages of PVV&#039;s members.&lt;br /&gt;
* [[Dokumentasjon|Documentation]]: Recipes for things users can do at PVV.&lt;br /&gt;
* [[Drift|Administration]]: Documentation for (potential) administrators.&lt;br /&gt;
* [http://list.pvv.ntnu.no/ Mailing lists]&lt;br /&gt;
* [[Styrehandlinger|Board actions]]: The boards list for remembering to perform some simple actions.&lt;br /&gt;
* [[Historie|History]]: PVV&#039;s history and historical anecdotes from NUST, NTH, Gløshaugen, etc.&lt;br /&gt;
* [[Programvareutvikling|Software development]]: How to develop (hopefully good) software in a good way.&lt;br /&gt;
* [[Bokhyllen|The Bookshelf]]: Books in PVV&#039;s bookshelf.&lt;br /&gt;
* [[Spill|Games]]: Games PVV has (board games, card games, role playing games...)&lt;br /&gt;
* [[Kurs|Courses]]: PVV arranges courses from time to time, and in relation to most of them some material is published online. &lt;br /&gt;
* [[Maskiner|Machines]]: Overview of PVV&#039;s machine park.&lt;br /&gt;
* [[Søsterorganisasjoner|Sister organizations]]: PVV-equivalents at other universities.&lt;br /&gt;
* [[Nerdepizza|Nerd Pizza]]: Nerds gather at Peppes and eat pizza in even numbered weeks.&lt;br /&gt;
* [[PVVI]]: The sports association.&lt;br /&gt;
* [[Mat|Food]]: Most PVV-ers consume this regularly.&lt;br /&gt;
&lt;br /&gt;
== Edditing the wiki ==&lt;br /&gt;
* [[WikiSandKasse|Wiki sand box]]: Experiment by editing a wiki page.&lt;br /&gt;
&amp;lt;!-- * [[VeiViser|Path finder]]: Learn about opportunities you have to navigate the wiki --&amp;gt;&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Get used to the markup language.&lt;br /&gt;
&amp;lt;!-- * [[HelpContents]]: Documentation (both for users and administrators)--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4429</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4429"/>
		<updated>2016-06-07T08:22:59Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Installasjon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er et system for å distribuere filer og sørge for at maskiner har samme oppsett. Etter at vi satte opp versjonskontroll via git lokalt på lommel er det nødvenidg å gå gjennom oppsettet beskrevet i [[Drift/Salt#Gjøre endringer|Gjøre endringer]]-avsnittet før man kan bidra til å endre salt-oppsettet til PVV.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion# wget -O - https://www.pvv.ntnu.no/salt/salt-setup.sh | bash&lt;br /&gt;
ny-minion# rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion# service salt-minion restart&lt;br /&gt;
ny-minion$# ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master$ sudo salt-key -L&lt;br /&gt;
salt-master$ sudo salt-key -a ny-minion.pvv.ntnu.no&lt;br /&gt;
ny-minion# salt-call saltutil.sync_grains&lt;br /&gt;
ny-minion# salt-call state.highstate saltenv=base pillarenv=base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint. Legg også brukeren til i sudo-gruppen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe &amp;amp;&amp;amp; adduser johndoe sudo&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|desktop&lt;br /&gt;
|Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
|mysql-server&lt;br /&gt;
|MySQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|postgresql-server&lt;br /&gt;
|PostGreSQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|web-frontend&lt;br /&gt;
|Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
|web-homes&lt;br /&gt;
|Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
|fwlogin&lt;br /&gt;
|Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4428</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4428"/>
		<updated>2016-05-30T06:51:13Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Installasjon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er et system for å distribuere filer og sørge for at maskiner har samme oppsett. Etter at vi satte opp versjonskontroll via git lokalt på lommel er det nødvenidg å gå gjennom oppsettet beskrevet i [[Drift/Salt#Gjøre endringer|Gjøre endringer]]-avsnittet før man kan bidra til å endre salt-oppsettet til PVV.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ wget -O - https://www.pvv.ntnu.no/salt/salt-setup.sh | bash&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
ny-minion$ salt-call state.highstate saltenv=base pillarenv=base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint. Legg også brukeren til i sudo-gruppen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe &amp;amp;&amp;amp; adduser johndoe sudo&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|desktop&lt;br /&gt;
|Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
|mysql-server&lt;br /&gt;
|MySQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|postgresql-server&lt;br /&gt;
|PostGreSQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|web-frontend&lt;br /&gt;
|Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
|web-homes&lt;br /&gt;
|Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
|fwlogin&lt;br /&gt;
|Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4427</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4427"/>
		<updated>2016-05-30T06:39:39Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Installasjon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er et system for å distribuere filer og sørge for at maskiner har samme oppsett. Etter at vi satte opp versjonskontroll via git lokalt på lommel er det nødvenidg å gå gjennom oppsettet beskrevet i [[Drift/Salt#Gjøre endringer|Gjøre endringer]]-avsnittet før man kan bidra til å endre salt-oppsettet til PVV.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ wget -O - https://www.pvv.ntnu.no/salt/salt-setup.sh | bash&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
ny-minion$ salt-call state.highstate saltenv=base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint. Legg også brukeren til i sudo-gruppen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe &amp;amp;&amp;amp; adduser johndoe sudo&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|desktop&lt;br /&gt;
|Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
|mysql-server&lt;br /&gt;
|MySQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|postgresql-server&lt;br /&gt;
|PostGreSQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|web-frontend&lt;br /&gt;
|Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
|web-homes&lt;br /&gt;
|Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
|fwlogin&lt;br /&gt;
|Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Programvareverkstedet&amp;diff=4404</id>
		<title>Programvareverkstedet</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Programvareverkstedet&amp;diff=4404"/>
		<updated>2016-04-13T01:43:48Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[#English summary]]&lt;br /&gt;
&lt;br /&gt;
[[#Programvareverkstedet|English]]&lt;br /&gt;
&lt;br /&gt;
Velkommen til [[Programvareverkstedet]]s wiki. Programvareverkstedet (PVV) er en studentorganisasjon ved Norges Teknisk-Naturvitenskapelige Universitet (NTNU). PVVs formål er å skape et miljø for datainteresserte personer tilknyttet universitetet. Nåværende og tidligere studenter ved NTNU, samt ansatte ved NTNU og tilstøtende miljø, kan bli medlemmer.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Kommende arrangementer ==&lt;br /&gt;
&#039;&#039;Kursplanen kan endre seg i løpet av semesteret.&#039;&#039; [https://www.google.com/calendar/embed?src=320i50h1jg3as29imatatn1j4g%40group.calendar.google.com&amp;amp;ctz=Europe/Oslo Google Calendar] [https://www.google.com/calendar/ical/320i50h1jg3as29imatatn1j4g%40group.calendar.google.com/public/basic.ics Google .ics]&lt;br /&gt;
&lt;br /&gt;
* 25. februar: [[Kurs/PostScript (2015)|PostScript Kurs]] av Anders Christensen (18:15 - F3)&lt;br /&gt;
* 9. mars: [https://kurs.pvv.ntnu.no/events/event/2 Raspberry Pi Kurs] av Finn I. Holme (18:15 - Drivhuset) - Påmelding nødvendig!&lt;br /&gt;
* 15. mars: [https://kurs.pvv.ntnu.no/events/event/3 Vulkan Presentation] av Andreas Danner Nilsen (18:15 - F6) ( [[https://www.pvv.ntnu.no/pvv/Kurs/Vulkan_(presentasjon)_(2015) Slides]] )&lt;br /&gt;
* 14. april: [https://kurs.pvv.ntnu.no/events/event/4 Kurs i C] av Torje Digernes (18:15 - F3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;Lyst å holde kurs neste semester? Ta kontakt med styret@&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Driftsmeldinger ==&lt;br /&gt;
{{LOCALMOTD}}&lt;br /&gt;
&lt;br /&gt;
== Steder å starte ==&lt;br /&gt;
* [[Medlem|Medlemsfordeler]]: Fordeler med å være medlem i PVV.&lt;br /&gt;
* [[Medlemskontingent]]: Hvordan betale kontingent.&lt;br /&gt;
* [[Medlemssider]]: Hjemmesidene til medlemmer i PVV.&lt;br /&gt;
* [[Dokumentasjon]]: Oppskrifter på ting brukere kan gjøre på PVV.&lt;br /&gt;
* [[Drift]]: Dokumentasjon til (potensielle) driftere.&lt;br /&gt;
* [http://list.pvv.ntnu.no/ Epost-lister]&lt;br /&gt;
* [[Styrehandlinger]]: Styrets huskeliste for å gjøre enkelte handlinger.&lt;br /&gt;
* [[Historie]]: PVVs historie og historiske anekdoter fra NTNU, NTH, Gløshaugen, et cetera.&lt;br /&gt;
* [[Programvareutvikling]]: Hvordan utvikle (forhåpentlig god) programvare på en god måte.&lt;br /&gt;
* [[Bokhyllen]]: Bøker i PVVs bokhylle.&lt;br /&gt;
* [[Spill]]: Spill PVV har (brettspill, kortspill, rollespill...)&lt;br /&gt;
* [[Kurs]]: PVV arrangerer kurs i ny og ne, og i forbindelse med de fleste kursene legges det ut litt materiale på nett.&lt;br /&gt;
* [[Maskiner]]: Oversikt over PVVs maskinpark.&lt;br /&gt;
* [[Søsterorganisasjoner]]: PVV-ekvivalenter ved andre universiteter.&lt;br /&gt;
* [[Nerdepizza]]: Nerder samles på Peppes og spiser pizza fredager i partallsuker.&lt;br /&gt;
* [[PVVI]]: Idrettsforeningen.&lt;br /&gt;
* [[Mat]]: De fleste PVV-ere inntar dette jevnlig.&lt;br /&gt;
&lt;br /&gt;
== Redigering av wikien ==&lt;br /&gt;
* [[WikiSandKasse]]: Eksperimenter selv med å redigere en wikiside&lt;br /&gt;
&amp;lt;!-- * [[VeiViser]]: Lær hvilke muligheter du har for å navigere i wiki-en --&amp;gt;&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Bli vant med markeringsspråket&lt;br /&gt;
&amp;lt;!-- * [[HelpContents]]: Dokumentasjon (både for brukere og administratorer) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== English summary ==&lt;br /&gt;
Welcome to the wiki of Programvareversktedet (PVV). Programvareverkstedet (Literally The software workshop) is a student organization for students interested in computers at NTNU. Anyone who is or has been a student at NTNU, and people either working at or is associated with NTNU, can become a member.&lt;br /&gt;
&lt;br /&gt;
Most of PVV&#039;s information is only available in Norwegian. This is natural, since most of our members speak Norwegian.&lt;br /&gt;
We however wish to emphasize that students and others who are not fluent in Norwegian are very welcome to join our club.&lt;br /&gt;
Hopefully, more information on this wiki will be translated into English in the future. If there is any one particular page you want translated into English, or a piece of information important to you which is only available in Norwegian, please contact user andreao.&lt;br /&gt;
&lt;br /&gt;
=== Editing the wiki ===&lt;br /&gt;
* [[WikiSandKasse]]: Experiment with creating wiki pages here&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Get used to the markup&lt;br /&gt;
&lt;br /&gt;
= Programvareverkstedet = &lt;br /&gt;
Welcome to [[Programvareverkstedet]]&#039;s wiki. Programvareverkstedet (PVV, The Software Workshop) is a student organization at the Norwegian University of Science and Technology (NUST/NTNU). PVV&#039;s purpose is to create an environment for people that take an interest in computers and are connected to the university. Current and former students at NUST, and employees at NUST and related environments, can be members. &lt;br /&gt;
&lt;br /&gt;
== Messages from the administration ==&lt;br /&gt;
{{LOCALMOTD}}&lt;br /&gt;
&lt;br /&gt;
== Places to start ==&lt;br /&gt;
* [[Medlem|Member benefits]]: Benefits of being a member of PVV.&lt;br /&gt;
* [[Medlemskontingent|Memersip fee]]: How to pay the membership fee.&lt;br /&gt;
* [[Medlemssider|Member&#039;s pages]]: Homepages of PVV&#039;s members.&lt;br /&gt;
* [[Dokumentasjon|Documentation]]: Recipes for things users can do at PVV.&lt;br /&gt;
* [[Drift|Administration]]: Documentation for (potential) administrators.&lt;br /&gt;
* [http://list.pvv.ntnu.no/ Mailing lists]&lt;br /&gt;
* [[Styrehandlinger|Board actions]]: The boards list for remembering to perform some simple actions.&lt;br /&gt;
* [[Historie|History]]: PVV&#039;s history and historical anecdotes from NUST, NTH, Gløshaugen, etc.&lt;br /&gt;
* [[Programvareutvikling|Software development]]: How to develop (hopefully good) software in a good way.&lt;br /&gt;
* [[Bokhyllen|The Bookshelf]]: Books in PVV&#039;s bookshelf.&lt;br /&gt;
* [[Spill|Games]]: Games PVV has (board games, card games, role playing games...)&lt;br /&gt;
* [[Kurs|Courses]]: PVV arranges courses from time to time, and in relation to most of them some material is published online. &lt;br /&gt;
* [[Maskiner|Machines]]: Overview of PVV&#039;s machine park.&lt;br /&gt;
* [[Søsterorganisasjoner|Sister organizations]]: PVV-equivalents at other universities.&lt;br /&gt;
* [[Nerdepizza|Nerd Pizza]]: Nerds gather at Peppes and eat pizza in even numbered weeks.&lt;br /&gt;
* [[PVVI]]: The sports association.&lt;br /&gt;
* [[Mat|Food]]: Most PVV-ers consume this regularly.&lt;br /&gt;
&lt;br /&gt;
== Edditing the wiki ==&lt;br /&gt;
* [[WikiSandKasse|Wiki sand box]]: Experiment by editing a wiki page.&lt;br /&gt;
&amp;lt;!-- * [[VeiViser|Path finder]]: Learn about opportunities you have to navigate the wiki --&amp;gt;&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Editing SyntaxReference]: Get used to the markup language.&lt;br /&gt;
&amp;lt;!-- * [[HelpContents]]: Documentation (both for users and administrators)--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4336</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4336"/>
		<updated>2015-11-15T20:35:39Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er et system for å distribuere filer og sørge for at maskiner har samme oppsett. Etter at vi satte opp versjonskontroll via git lokalt på lommel er det nødvenidg å gå gjennom oppsettet beskrevet i [[Drift/Salt#Gjøre endringer|Gjøre endringer]]-avsnittet før man kan bidra til å endre salt-oppsettet til PVV.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
ny-minion$ salt-call state.highstate saltenv=base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint. Legg også brukeren til i sudo-gruppen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe &amp;amp;&amp;amp; adduser johndoe sudo&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|desktop&lt;br /&gt;
|Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
|mysql-server&lt;br /&gt;
|MySQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|postgresql-server&lt;br /&gt;
|PostGreSQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|web-frontend&lt;br /&gt;
|Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
|web-homes&lt;br /&gt;
|Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
|fwlogin&lt;br /&gt;
|Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift&amp;diff=4335</id>
		<title>Drift</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift&amp;diff=4335"/>
		<updated>2015-11-15T20:34:59Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Bare nyttig for drift */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[#Administration|English]]&lt;br /&gt;
&lt;br /&gt;
Drift har ansvaret for å drive maskinene på PVV. Tidligere var drift organisert i egne grupper, først med ansvar for bestemte maskiner, deretter for bestemte tjenester, men har siden 2002 vært organisert i en stor driftsgruppe. I tillegg finnes en gruppe med ansvar for drift av e-postsystemet og en [[CERT|sikkerhetsgruppe]].&lt;br /&gt;
&lt;br /&gt;
Dersom du har generelle spørsmål skal disse sendes &amp;lt;b&amp;gt;drift(at)pvv.ntnu.no&amp;lt;/b&amp;gt;, ikke til enkelpersoner som er med i driftsgruppa. Driftskoordinator er p.t. `orjane`.&lt;br /&gt;
&lt;br /&gt;
Husk at drift utelukkende består av frivillige. Ingen får betalt for å gjøre dette og ingen driver med dette 24 timer i døgnet, 365 dager i året. Vi vil likevel gjøre vårt beste for å gi god hjelp og service til våre brukere.&lt;br /&gt;
&lt;br /&gt;
Driftsgruppen har ingen strenge krav til aktivitet eller erfaring for å bli medlem, så selv om du er ny i virket går det fint an å bare observere og absorbere i begynnelsen.&lt;br /&gt;
&lt;br /&gt;
==== Det finnes også en slags [[/Intro|introduksjon]] for nye driftere. ====&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= [[Dokumentasjon|Nyttig for både bruk og drift]] =&lt;br /&gt;
Se [[Dokumentasjon]]&lt;br /&gt;
&lt;br /&gt;
= Bare nyttig for drift =&lt;br /&gt;
* [[/ToDo]] Ting som trenger gjøring&lt;br /&gt;
* [[/Scanner]] Scanner&lt;br /&gt;
* [[/Netboot]] Legge til linuxer i pxe-boot&lt;br /&gt;
* [[/DNS og dvask]] Legge til record på navnetjeneren vår, dvask&lt;br /&gt;
* [[/Kerberos]] Oppsett av kerberos&lt;br /&gt;
* [[/Mediawiki]] Oppsett av mediawiki&lt;br /&gt;
* [[/Seriellkonsoll]] Oppsett av seriellkonsoll&lt;br /&gt;
* [[/TRAC]] Trac på dev.pvv.ntnu.no&lt;br /&gt;
* [[/Salt]] Dokumentasjon for SaltStack&lt;br /&gt;
&lt;br /&gt;
= Handling drift ofte utfører =&lt;br /&gt;
&lt;br /&gt;
* [[Legge til bruker]]: Hvordan legge til en ny bruker på PVV.&lt;br /&gt;
* [[Drift/Endre brukeres passord|Endre brukeres passord]] Endre brukeres passord&lt;br /&gt;
* [[Redigere kvote]]: Hvordan opprette/utvide diskplass for en bruker når han har betalt for utvidet kvote.&lt;br /&gt;
* [[Drift/Mail|Epost]]: Behandle epost.&lt;br /&gt;
* [[Planlagt nedetid]]: Prosedyre for varsling av planlagt nedetid.&lt;br /&gt;
* [[Systembrukere]]: Regler for systembrukere.&lt;br /&gt;
* [[Endre eller slette bruker]]: Hva som skal gjøres når man endrer eller sletter brukere&lt;br /&gt;
* [[Opprette nye prosjekt på dev]]: Ting og tang som må gjøres for å opprette et nytt prosjekt.&lt;br /&gt;
* [[Drift/Oppdatere SSL-sertifikater|Oppdatere SSL-sertifikater]]&lt;br /&gt;
* [[Starte etter strømbrudd]]: Hva må gjøres når strømmen har vært borte?&lt;br /&gt;
&lt;br /&gt;
== Annet ==&lt;br /&gt;
* [[Drift/Backup|Backup]]&lt;br /&gt;
* [[Drift/Maskininstallasjon|Installasjon av OS]]&lt;br /&gt;
* [[Drift/Pakkeinstallasjon|Installasjon av programvare]]&lt;br /&gt;
* OS-Drift&lt;br /&gt;
** [[Drift/Partisjonering]]&lt;br /&gt;
** [[Drift/IRIX Install]]&lt;br /&gt;
** [[Drift/VAX Netboot]]&lt;br /&gt;
** [[Maskiner/Vrimmel|Virtualisering på vrimmel.pvv.ntnu.no]]&lt;br /&gt;
** [[Drift/SUSE]]&lt;br /&gt;
* [[Drift/OpenVPN|Hvordan sette opp, konfigurere, og vedlikeholde en OpenVPN server]]&lt;br /&gt;
* [[Drift/RootpassordReglement]]&lt;br /&gt;
* [http://www.pvv.ntnu.no/rootpassordskjema.ps Rootpassordskjema]&lt;br /&gt;
&lt;br /&gt;
= Roteloftet =&lt;br /&gt;
&lt;br /&gt;
Sider som egentlig ikke er relevante lenger.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;[[Maskiner/Octopus|Octopus]]&amp;lt;/del&amp;gt; (Ikke i bruk)&lt;br /&gt;
* [[Drift/Wiki|Den gamle wikien]]&lt;br /&gt;
* [[Drift/Bacula|Bacula, det forrige backupsystemet]]&lt;br /&gt;
&lt;br /&gt;
= Administration =&lt;br /&gt;
&lt;br /&gt;
The administration is responsible for maintaining the machines at PVV. Previously the administration was organized in separate groups, first with responsibility for certain machines, later for certain services, but has since 2002 been organized in a large administration group. In addition there exists a group that is responsible for the maintenance of the email system, and a [[CERT|security group]].&lt;br /&gt;
&lt;br /&gt;
If you have general questions these should be directed to &amp;lt;b&amp;gt;drift(at)pvv.ntnu.no&amp;lt;/b&amp;gt;, not to individual members of the administrative group. The coordinator of the administrative group at the moment is `orjane`.&lt;br /&gt;
&lt;br /&gt;
Remember that the administration consists exclusively of volunteers. Nobody is paid to do this and nobody is working on it 24 hours a day, 365 days a year. Even so we will try our best to give good help and service to our users.&lt;br /&gt;
&lt;br /&gt;
The administrative group has no strong requirements to activity or experience to become a member, so even if you are new to craft it&#039;s completely possible to just observer and absorb in the beginning.&lt;br /&gt;
&lt;br /&gt;
==== There also exists a kind of [[/Intro|introduction]] for fresh administrators. ====&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= [[Dokumentasjon|Usefull for both users and administrators]] =&lt;br /&gt;
See [[Dokumentasjon]]&lt;br /&gt;
&lt;br /&gt;
= Only useful for administrators =&lt;br /&gt;
* [[/ToDo]] Things that need doing&lt;br /&gt;
* [[/Scanner]] Scanner&lt;br /&gt;
* [[/Netboot]] Add linuxes to pxe-boot&lt;br /&gt;
* [[/DNS og dvask|DNS and dvask]] Add records to our name-server, dvask&lt;br /&gt;
* [[/Kerberos]] Setup of kerberos&lt;br /&gt;
* [[/Mediawiki]] Setup of mediawiki&lt;br /&gt;
* [[/Seriellkonsoll|Serial console]] Setup of serial console&lt;br /&gt;
* [[/TRAC]] Trac on dev.pvv.ntnu.no&lt;br /&gt;
* [[/Puppet]] Documentation for Puppet&lt;br /&gt;
&lt;br /&gt;
= Actions the administration often execute =&lt;br /&gt;
* [[Legge til bruker|Adding new users]]: How to add a new user on PVV.&lt;br /&gt;
* [[Drift/Endre brukeres passord|Change users password]] Change a users password&lt;br /&gt;
* [[Redigere kvote|Edit quota]]: How to create/extend disc space for a user when he&#039;s paid for an extended quota.&lt;br /&gt;
* [[Drift/Mail|Mail]]: Process email.&lt;br /&gt;
* [[Planlagt nedetid|Planed downtime]]: Procedure for notifying planed downtime.&lt;br /&gt;
* [[Systembrukere|System users]]: Rules for system users.&lt;br /&gt;
* [[Endre eller slette bruker|Modify or delete user]]: What should be changed when one modifies or deletes users.&lt;br /&gt;
* [[Opprette nye prosjekt på dev|Creating a new project on dev]]: Things that must be done to create a new project.&lt;br /&gt;
* [[Drift/Oppdatere SSL-sertifikater|Update SSL-certificates]]&lt;br /&gt;
* [[Starte etter strømbrudd|Restarting after power outage]]: What has to be done when the power has been gone?&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* [[Drift/Backup|Backup]]&lt;br /&gt;
* [[Drift/Maskininstallasjon|Installation of OS]]&lt;br /&gt;
* [[Drift/Pakkeinstallasjon|Installation of software]]&lt;br /&gt;
* OS-Administration&lt;br /&gt;
** [[Drift/Partisjonering|Administration/Partitioning]]&lt;br /&gt;
** [[Drift/IRIX Install|Administration/IRIX Install]]&lt;br /&gt;
** [[Drift/VAX Netboot|Administration/VAX Netboot]]&lt;br /&gt;
** [[Maskiner/Vrimmel|Virtualization on vrimmel.pvv.ntnu.no]]&lt;br /&gt;
** [[Drift/SUSE|Administration/SUSE]]&lt;br /&gt;
* [[Drift/RootpassordReglement|Administration/Root password rules]]&lt;br /&gt;
* [http://www.pvv.ntnu.no/rootpassordskjema.ps Root password scheme]&lt;br /&gt;
&lt;br /&gt;
= The Attic of Miscellaneous =&lt;br /&gt;
&lt;br /&gt;
Pages that aren&#039;t strictly relevant anymore.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;[[Maskiner/Octopus|Octopus]]&amp;lt;/del&amp;gt; (Not in use)&lt;br /&gt;
* [[Drift/Wiki|The old wiki]]&lt;br /&gt;
* [[Drift/Bacula|Bacula, the previous backup system]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Puppet&amp;diff=4334</id>
		<title>Drift/Puppet</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Puppet&amp;diff=4334"/>
		<updated>2015-11-15T20:34:40Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Replaced content with &amp;quot;PVV vurderte å erstatte rdist med Puppet, men landet til slutt på Saltstack. Se Drift/Salt for dokumentasjon.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PVV vurderte å erstatte rdist med Puppet, men landet til slutt på Saltstack. Se [[Drift/Salt]] for dokumentasjon.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Redigere_kvote&amp;diff=4333</id>
		<title>Drift/Redigere kvote</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Redigere_kvote&amp;diff=4333"/>
		<updated>2015-11-15T20:32:58Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Oppdater dokumentasjon til å gjelde salt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logg inn som vanlig bruker på Salt-boksen (se [[Drift/Salt#Opprette_bruker_p.C3.A5_salt-masteren|Drift/Salt]] for hvordan du oppretter bruker)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd ~/pillar/files/quota&lt;br /&gt;
git status (bør vise nada)&lt;br /&gt;
$EDITOR quota.txt&lt;br /&gt;
git add quota.txt&lt;br /&gt;
git commit -m &amp;quot;Beskriv det du gjorde&amp;quot;&lt;br /&gt;
git push&lt;br /&gt;
sudo salt microbel.pvv.ntnu.no state.highstate&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Hvor &amp;quot;$EDITOR&amp;quot; er et valgfritt tekstredigeringsprogram, som for eksempel vim eller nano.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Tjenester/Epost/Innkommende_mail&amp;diff=4314</id>
		<title>Tjenester/Epost/Innkommende mail</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Tjenester/Epost/Innkommende_mail&amp;diff=4314"/>
		<updated>2015-10-26T06:56:48Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Kjøring av program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Om filen .forward =&lt;br /&gt;
&lt;br /&gt;
Mail leveres i utgangspunktet til `$MAIL`, typisk filen `~/Mailbox`. Ved hjelp av filen `.forward` kan du styre hvor og hvordan posten leveres selv. Denne siden gir en enkel innføring i filformatet. For en detaljert beskrivelse, se [http://www.exim.org/exim-html-4.66/doc/html/spec_html/ch22.html exim-dokumentasjonen].&lt;br /&gt;
&lt;br /&gt;
= Filformat =&lt;br /&gt;
&lt;br /&gt;
Det er tre hovedtyper linjer som brukes i `.forward`. Disse er lokal og ekstern videresending, kjøring av program, og levering til en fil eller folder. Linjene kan kombineres fritt.&lt;br /&gt;
&lt;br /&gt;
Viktig: Ved bruk av `.forward` leveres mail &amp;lt;b&amp;gt;ikke&amp;lt;/b&amp;gt; til standard mailboks. Hvis du vil f.eks. videresende og samtidig ha normal levering må du spesifisere begge i filen.&lt;br /&gt;
&lt;br /&gt;
Eksempel (noe overdrevet): &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
johndoe@example.com&lt;br /&gt;
\johndoe&lt;br /&gt;
|/usr/bin/procmail&lt;br /&gt;
|/usr/bin/maildrop&lt;br /&gt;
/home/pvv/d/johndoe/mail/INBOX&lt;br /&gt;
/home/pvv/d/johndoe/Maildir/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videresending ==&lt;br /&gt;
&lt;br /&gt;
Videresending gjøres ved å skrive en epostadresse (ekstern) eller en `\` (backslash) etterfulgt av et brukernavn (lokal).&lt;br /&gt;
&lt;br /&gt;
Eksempler: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
johndoe@example.com&lt;br /&gt;
\johndoe&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kjøring av program ==&lt;br /&gt;
&lt;br /&gt;
Du kan sende mailen til et program ved å sette inn en `|` (pipe) og så kommandoen. Bruk full path til den kjørbare filen.&lt;br /&gt;
&lt;br /&gt;
Eksempler: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
|/usr/bin/procmail&lt;br /&gt;
|/usr/bin/maildrop&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dette brukes vanligvis for å sende mail til et program som gjør [[Drift/Mail/Mailfiltrering|mailfiltrering]].&lt;br /&gt;
&lt;br /&gt;
== Levering til fil eller folder ==&lt;br /&gt;
&lt;br /&gt;
Du kan levere noe til en egendefinert mailboks ved å skrive &amp;lt;b&amp;gt;full path og navn&amp;lt;/b&amp;gt; på en fil eller folder. Ting som `$HOME` og `~/` vil ikke fungere. For bruk av maildir uten avansert filtrering med program, er levering til ~/Maildir/ egnet.&lt;br /&gt;
&lt;br /&gt;
Eksempler: &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/home/pvv/d/johndoe/mail/INBOX&lt;br /&gt;
/home/pvv/d/johndoe/Maildir/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Levering til fil er som regel best overlatt til systemet uten bruk av `.forward`, da standard mailboxnavn fungerer best med POP/IMAP. &lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4313</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4313"/>
		<updated>2015-10-26T02:38:16Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Opprette bruker på salt-masteren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett. Etter at vi satte opp versjonskontroll via git lokalt på lommel er det nødvenidg å gå gjennom oppsettet beskrevet i [[Drift/Salt#Gjøre endringer|Gjøre endringer]]-avsnittet før man kan bidra til å endre salt-oppsettet til PVV.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
ny-minion$ salt-call state.highstate saltenv=base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint. Legg også brukeren til i sudo-gruppen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe &amp;amp;&amp;amp; adduser johndoe sudo&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|desktop&lt;br /&gt;
|Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
|mysql-server&lt;br /&gt;
|MySQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|postgresql-server&lt;br /&gt;
|PostGreSQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|web-frontend&lt;br /&gt;
|Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
|web-homes&lt;br /&gt;
|Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
|fwlogin&lt;br /&gt;
|Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4312</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4312"/>
		<updated>2015-10-25T19:20:56Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Konfigurasjon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett. Etter at vi satte opp versjonskontroll via git lokalt på lommel er det nødvenidg å gå gjennom oppsettet beskrevet i [[Drift/Salt#Gjøre endringer|Gjøre endringer]]-avsnittet før man kan bidra til å endre salt-oppsettet til PVV.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
ny-minion$ salt-call state.highstate saltenv=base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|desktop&lt;br /&gt;
|Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
|mysql-server&lt;br /&gt;
|MySQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|postgresql-server&lt;br /&gt;
|PostGreSQL-serveren&lt;br /&gt;
|-&lt;br /&gt;
|web-frontend&lt;br /&gt;
|Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
|web-homes&lt;br /&gt;
|Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
|fwlogin&lt;br /&gt;
|Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4289</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4289"/>
		<updated>2015-10-06T08:03:01Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
ny-minion$ salt-call state.highstate saltenv=base&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
| desktop&lt;br /&gt;
| Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
| mysql-server&lt;br /&gt;
| Mysql-serveren&lt;br /&gt;
|-&lt;br /&gt;
| web-frontend&lt;br /&gt;
| Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
| web-homes&lt;br /&gt;
| Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
| wiki&lt;br /&gt;
| Mediawiki-serveren&lt;br /&gt;
|-&lt;br /&gt;
| pkgsync&lt;br /&gt;
| Maskinen bruker pkgsync for pakker&lt;br /&gt;
|-&lt;br /&gt;
| fwlogin&lt;br /&gt;
| Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4288</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4288"/>
		<updated>2015-10-06T07:15:30Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Teste endringer før commit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det gjør du slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
| desktop&lt;br /&gt;
| Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
| mysql-server&lt;br /&gt;
| Mysql-serveren&lt;br /&gt;
|-&lt;br /&gt;
| web-frontend&lt;br /&gt;
| Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
| web-homes&lt;br /&gt;
| Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
| wiki&lt;br /&gt;
| Mediawiki-serveren&lt;br /&gt;
|-&lt;br /&gt;
| pkgsync&lt;br /&gt;
| Maskinen bruker pkgsync for pakker&lt;br /&gt;
|-&lt;br /&gt;
| fwlogin&lt;br /&gt;
| Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4287</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4287"/>
		<updated>2015-10-06T06:43:00Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Gjøre endringer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teste endringer før commit ====&lt;br /&gt;
&lt;br /&gt;
PVV har et lite triks som oppretter et salt-environment [https://docs.saltstack.com/en/latest/ref/states/top.html#multiple-environments] for hver bruker. Dette gjør at du kan teste koden din på en minion uten å committe. Det er bare ett lite caveat, du må justere top.sls og erstatte &amp;quot;base:&amp;quot; øverst med ditt eget brukernavn:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-base:&lt;br /&gt;
+johndoe:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Når det er gjort kan du teste på en minion:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate saltenv=&amp;quot;$LOGNAME&amp;quot; test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Husk å ikke commite en top.sls med ditt eget brukernavn! Vi har en git-hook som prøver å forhindre dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
knuta@lommel:~/salt$ git commit -a&lt;br /&gt;
Commit failed: Removing &#039;base:&#039; from top.sls is not allowed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
| desktop&lt;br /&gt;
| Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
| mysql-server&lt;br /&gt;
| Mysql-serveren&lt;br /&gt;
|-&lt;br /&gt;
| web-frontend&lt;br /&gt;
| Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
| web-homes&lt;br /&gt;
| Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
| wiki&lt;br /&gt;
| Mediawiki-serveren&lt;br /&gt;
|-&lt;br /&gt;
| pkgsync&lt;br /&gt;
| Maskinen bruker pkgsync for pakker&lt;br /&gt;
|-&lt;br /&gt;
| fwlogin&lt;br /&gt;
| Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4286</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4286"/>
		<updated>2015-10-05T07:38:01Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
| desktop&lt;br /&gt;
| Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
| mysql-server&lt;br /&gt;
| Mysql-serveren&lt;br /&gt;
|-&lt;br /&gt;
| web-frontend&lt;br /&gt;
| Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
| web-homes&lt;br /&gt;
| Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
| wiki&lt;br /&gt;
| Mediawiki-serveren&lt;br /&gt;
|-&lt;br /&gt;
| pkgsync&lt;br /&gt;
| Maskinen bruker pkgsync for pakker&lt;br /&gt;
|-&lt;br /&gt;
| fwlogin&lt;br /&gt;
| Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer mye oftere om du har gammel salt. Prøv dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo deb http://debian.saltstack.com/debian $(lsb_release -c | awk &#039;{print $2}&#039;)-saltstack main &amp;gt; /etc/apt/sources.list.d/saltstack.list&lt;br /&gt;
aptitude update &amp;amp;&amp;amp; aptitude dist-upgrade&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4285</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4285"/>
		<updated>2015-10-04T21:11:38Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Behandlig av errors og feilmeldinger som kan dukke opp ofte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
| desktop&lt;br /&gt;
| Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
| mysql-server&lt;br /&gt;
| Mysql-serveren&lt;br /&gt;
|-&lt;br /&gt;
| web-frontend&lt;br /&gt;
| Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
| web-homes&lt;br /&gt;
| Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
| wiki&lt;br /&gt;
| Mediawiki-serveren&lt;br /&gt;
|-&lt;br /&gt;
| pkgsync&lt;br /&gt;
| Maskinen bruker pkgsync for pakker&lt;br /&gt;
|-&lt;br /&gt;
| fwlogin&lt;br /&gt;
| Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
=== No Top file or external nodes data matches found ===&lt;br /&gt;
&lt;br /&gt;
Om salt sier dette:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          ID: states&lt;br /&gt;
    Function: no.None&lt;br /&gt;
      Result: False&lt;br /&gt;
     Comment: No Top file or external nodes data matches found&lt;br /&gt;
     Started: &lt;br /&gt;
    Duration: &lt;br /&gt;
     Changes:   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Betyr det sannsynligvis at du har glemt å sette noen roller i [[#Grains|/etc/salt/grains]]&lt;br /&gt;
&lt;br /&gt;
=== UnicodeDecodeError ===&lt;br /&gt;
&lt;br /&gt;
Hvis du får «UnicodeDecodeError: &#039;ascii&#039; codec can&#039;t decode byte 0xc2 in position 99: ordinal not in range» eller lignende kommer dette av en kjent feil i Salt: https://github.com/saltstack/salt/issues/16139&lt;br /&gt;
&lt;br /&gt;
Dette skjer typisk om filen du prøver å diste inneholder norske tegn. Skriv den om til engelsk eller (om du er tøff) norsk som ikke inneholder æøå. Hvis dette ikke er et alternativ (fordi du endret MOTD kanskje?) er det din tur til å finne en ekte fiks. Gratulerer.&lt;br /&gt;
&lt;br /&gt;
=== No matching sls found ===&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4284</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4284"/>
		<updated>2015-10-04T20:53:37Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Konfigurasjon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
| desktop&lt;br /&gt;
| Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
| mysql-server&lt;br /&gt;
| Mysql-serveren&lt;br /&gt;
|-&lt;br /&gt;
| web-frontend&lt;br /&gt;
| Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
| web-homes&lt;br /&gt;
| Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
| wiki&lt;br /&gt;
| Mediawiki-serveren&lt;br /&gt;
|-&lt;br /&gt;
| pkgsync&lt;br /&gt;
| Maskinen bruker pkgsync for pakker&lt;br /&gt;
|-&lt;br /&gt;
| fwlogin&lt;br /&gt;
| Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|salt-master&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4283</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4283"/>
		<updated>2015-10-04T20:50:41Z</updated>

		<summary type="html">&lt;p&gt;Knuta: fiks syntraks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
| mysql-server&lt;br /&gt;
| Mysql-serveren&lt;br /&gt;
|-&lt;br /&gt;
| web-frontend&lt;br /&gt;
| Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
| web-homes&lt;br /&gt;
| Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
| wiki&lt;br /&gt;
| Mediawiki-serveren&lt;br /&gt;
|-&lt;br /&gt;
| desktop&lt;br /&gt;
| Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
| pkgsync&lt;br /&gt;
| Maskinen bruker pkgsync for pakker&lt;br /&gt;
|-&lt;br /&gt;
| fwlogin&lt;br /&gt;
| Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|saltmaster&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4282</id>
		<title>Drift/Salt</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Salt&amp;diff=4282"/>
		<updated>2015-10-04T20:35:34Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Oppdatert dokumentasjon etter porting av rdist-treet til salt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Salt er, som [[Drift/Puppet]], et system for å distribuere filer og sørge for at maskiner har samme oppsett.&lt;br /&gt;
&lt;br /&gt;
== Sette opp ny salt minion ==&lt;br /&gt;
&lt;br /&gt;
=== Installasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ny-minion$ apt-get install salt-minion&lt;br /&gt;
ny-minion$ rediger /etc/salt/grains og legg til gruppene maskinen er i, se dokumentasjonen for [[Drift/Salt#Grains|grains (grupper)]]&lt;br /&gt;
ny-minion$ service salt-minion restart&lt;br /&gt;
ny-minion$ ssh root@salt.pvv.ntnu.no&lt;br /&gt;
salt-master# salt-key -L&lt;br /&gt;
salt-master# salt-key -a hostname.pvv.ntnu.no&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no saltutil.sync_grains&lt;br /&gt;
salt-master# salt hostname.pvv.ntnu.no state.sls minion_configuration&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis alt har har gått bra, vil pingtesten gi true for maskinen din nå. Hvis ikke, kjør &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;service salt-minion status&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som root på din nye minion for å få hint om hva som er galt. Konfigurasjonsfilen til salt ligger i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
I tilfellet man endrer hostname på en minion, gjør følgende for å få det oppdatert i salt: Stop salt-minion på den berørte maskinen. Slett nøkkelen til maskinen fra salt-master ved å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-key -d minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på salt-masteren. Slett &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/salt/minion/minion_id&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Start salt-minion service-en. Autoriser den nye nøkkelen med det nye navnet i salt-master.&lt;br /&gt;
&lt;br /&gt;
Husk å legge nyoppsatte maskiner til i riktige [[Drift/Salt#Grains|grains (grupper)]].&lt;br /&gt;
&lt;br /&gt;
== Gjøre endringer ==&lt;br /&gt;
&lt;br /&gt;
Endringer gjøres på salt-masteren (salt.pvv.ntnu.no, som for tiden peker på lommel.pvv.ntnu.no). Alle endringer gjøres som din personlige bruker.&lt;br /&gt;
&lt;br /&gt;
=== Opprette bruker på salt-masteren ===&lt;br /&gt;
Om du ikke har en bruker, logg inn som root på serveren og lag en. Adduser vil spørre deg om «Current Kerberos password», men du kan bare trykke enter og si nei til å prøve igjen, så fungerer det fint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lommel ~ # adduser johndoe&lt;br /&gt;
Adding user `johndoe&#039; ...&lt;br /&gt;
Adding new group `johndoe&#039; (1000) ...&lt;br /&gt;
Adding new user `johndoe&#039; (1000) with group `johndoe&#039; ...&lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
Current Kerberos password: &lt;br /&gt;
passwd: Authentication token manipulation error&lt;br /&gt;
passwd: password unchanged&lt;br /&gt;
Try again? [y/N] n&lt;br /&gt;
Changing the user information for johndoe&lt;br /&gt;
Enter the new value, or press ENTER for the default&lt;br /&gt;
	Full Name []: John Doe&lt;br /&gt;
	Room Number []: &lt;br /&gt;
	Work Phone []: &lt;br /&gt;
	Home Phone []: &lt;br /&gt;
	Other []: &lt;br /&gt;
Is the information correct? [Y/n] n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passordet du bruker vil være det samme som admin-principalen din i Kerberos har, altså johndoe/admin i eksempelet over. Om du ikke har en admin-principal, se [[Drift/Kerberos#Lage_admin-principal]].&lt;br /&gt;
&lt;br /&gt;
=== Gjøre endringer ===&lt;br /&gt;
&lt;br /&gt;
Når du logger inn første gang vil du automatisk få sjekket ut salt-treet i ~/salt. Gjør endringene dine der inne, og push master til origin for å aktivere endringene.&lt;br /&gt;
&lt;br /&gt;
Det kan være lurt å teste med en maskin først, ved å logge inn på den og gjøre en dry-run (du kan kjøre kommandoer rett fra salt-masteren også, men det er uansett en fordel å ha et skall på maskinen i tilfelle noe går galt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&lt;br /&gt;
salt-call state.highstate test=True&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grains ==&lt;br /&gt;
Salt kan bruke grains for å gjøre noe på en gruppe med maskiner. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;hostname*&#039; grains.items&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; viser alle grains hostname er med i. For eksempel kan man si &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;os_familt:Debian&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for å pinge maskiner som er basert på Debian.&lt;br /&gt;
&lt;br /&gt;
For å legge en minion til en gruppe gjør følgende på minion-en:&lt;br /&gt;
&lt;br /&gt;
=== Konfigurasjon ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$ vim /etc/salt/grains&lt;br /&gt;
&lt;br /&gt;
roles:&lt;br /&gt;
  - standard&lt;br /&gt;
  - desktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I skrivende stund har vi følgende roller:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|standard&lt;br /&gt;
|Alle maskiner med standard-oppsett (det vil si at brukere kan logge inn der)&lt;br /&gt;
|-&lt;br /&gt;
|file-server&lt;br /&gt;
|Filservere, som f.eks. microbel.&lt;br /&gt;
|-&lt;br /&gt;
| mysql-server&lt;br /&gt;
| Mysql-serveren&lt;br /&gt;
|-&lt;br /&gt;
| web-frontend&lt;br /&gt;
| Web-frontend (ikke den som hoster brukerenes hjemmesider)&lt;br /&gt;
|-&lt;br /&gt;
| web-homes&lt;br /&gt;
| Web-backend for brukeres hjemmesider&lt;br /&gt;
|-&lt;br /&gt;
| wiki&lt;br /&gt;
| Mediawiki-serveren&lt;br /&gt;
|-&lt;br /&gt;
| desktop&lt;br /&gt;
| Desktopmaskiner&lt;br /&gt;
|-&lt;br /&gt;
| pkgsync&lt;br /&gt;
| Maskinen bruker pkgsync for pakker&lt;br /&gt;
|-&lt;br /&gt;
| fwlogin&lt;br /&gt;
| Maskinen lytter på SSH på port 80 og 443&lt;br /&gt;
|-&lt;br /&gt;
|saltmaster&lt;br /&gt;
|salt-masteren (skal ikke ha standardoppsett)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Når minions har blitt lagt til i roller er det viktig å huske på å synkronisere disse med masteren. Den letteste måten å gjøre det på er å kjøre &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; saltutil.sync_grains&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fra salt-masteren.&lt;br /&gt;
&lt;br /&gt;
For å nå maskiner gjennom egendefinerte grains bruk &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;attributt:verdi&#039; kommando&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Et eksempel er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt -G &#039;roles:workstation&#039; test.ping&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tekniske ting ==&lt;br /&gt;
&lt;br /&gt;
Litt nyttig info om hvordan ting fungerer under panseret&lt;br /&gt;
&lt;br /&gt;
=== Distribuere mapper ===&lt;br /&gt;
&lt;br /&gt;
Lag en overordnet mappe som inneholder både mappen du ønsker å distribuere og en sls-fil i salt-mappen: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Der legger du mappen du ønsker å distribuere, og lager en fil du kaller for &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Den formateres slik:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
/path/til/der/du/vil/at/mappen/skal/ende/opp/på/minions&lt;br /&gt;
 file.recurse:&lt;br /&gt;
  - source: salt://overornet_mappe/mappen_du_vil_distribuere&lt;br /&gt;
#optional felter:&lt;br /&gt;
  - include_empty: True #sørger for at tomme undermapper kommer med &lt;br /&gt;
  - dir_mode: 777 #må bruke dir_mode når man dister mapper, bruk mode: hvis du dister filer&lt;br /&gt;
  - user: brukernavn #hilken bruker skal mappen, undermapper og filer tilhøre&lt;br /&gt;
  - group: eall_s #default-gruppen er root. Skal mappen tilhøre noen andre bruk eall_s eksplisitt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å så få distribuert mappen kjør følgende kommando: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.sls overordnet_mappe&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== States og håndheving ===&lt;br /&gt;
&lt;br /&gt;
Salt oppererer med SLS filer (&amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;a&amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt;t &amp;lt;b&amp;gt;S&amp;lt;/b&amp;gt;tate) for å holde orden på reglene for distribusjon og hvordan disse skal håndheves. Legg SLS filene i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. En av de viktigste SLS filene er &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; da den spesifiserer hvilke SLS filer som skal anvendes på hvilke minions. (Alle sls-filene er på salt-master.)&lt;br /&gt;
&lt;br /&gt;
For eksempel hvis vi har SLS filene:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/srv/salt/top.sls&lt;br /&gt;
/srv/salt/common/init.sls&lt;br /&gt;
/srv/salt/common/packages.sls&lt;br /&gt;
/srv/salt/sl_eksempel.sls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La så filene se slik ut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#top.sls:&lt;br /&gt;
base:&lt;br /&gt;
  &#039;*&#039;:&lt;br /&gt;
    - common&lt;br /&gt;
  &#039;roles:desktop&#039;:&lt;br /&gt;
    - match: grain&lt;br /&gt;
    - sl_eksempel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/init.sls:&lt;br /&gt;
include:&lt;br /&gt;
  - common.packages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#common/packages.sls:&lt;br /&gt;
vim:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
grep:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sl_eksempel.sls:&lt;br /&gt;
sl:&lt;br /&gt;
  pkg:&lt;br /&gt;
    - installed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hva filene sier:&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;top.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at at alle maskiner skal få staten som er spesifisert i &#039;common&#039;. Siden &#039;common&#039; er en mappe og ikke en SLS fil vil det implisitt bety at staten som er gitt i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; brukes istedenfor.&lt;br /&gt;
** Den sier også at alle maskiner som matcher grainen &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;roles:desktop&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; skal ha staten spesifisert i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;common/init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; starter med å ved includen si at alt som er i &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/common/packages&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; også skal kjøres i tillegg til innholdet den har (som for dette eksempelet er ikke noe mer)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;packages.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at to pakker, vim og grep, skal være installert på alle maskiner som hører til staten.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;sl_eksempel.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; sier at pakken sl skal være installert.&lt;br /&gt;
&lt;br /&gt;
For at minionsene skal gå inn å sjekke hvilke states de skal ha, og anvende dem, kjør:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &#039;*&#039; state.highstate&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
på salt-master.&lt;br /&gt;
&lt;br /&gt;
=== Sørg for at Salt-minion er kjørende og at den jevnlig poller om nye ting fra master ===&lt;br /&gt;
&lt;br /&gt;
Lag en mappe &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som inneholder en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil og en &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; fil. La &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;init.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; se slik ut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
salt-minion: # sier at det er salt-minion servicen vi påvirker&lt;br /&gt;
  service:&lt;br /&gt;
    # sier at den skal være kjørende:&lt;br /&gt;
    - running&lt;br /&gt;
    - enable: True&lt;br /&gt;
    # sier at servicen skal restartes om man merker en endring i den oppgitte filen:&lt;br /&gt;
    - watch:&lt;br /&gt;
      - file /etc/salt/minion&lt;br /&gt;
/etc/salt/minion: #sier at denne filen skal speile den oppgitte fra master&lt;br /&gt;
  file.managed:&lt;br /&gt;
    # filen som skal kopieres over til minionen&lt;br /&gt;
    - source salt://minion_configuration/minion&lt;br /&gt;
    # bruker, gruppe, og premissions for filen når den ender opp på minionen:&lt;br /&gt;
    - user: root&lt;br /&gt;
    - group: root&lt;br /&gt;
    - mode: 644&lt;br /&gt;
    # sier at filen er et jinjatemplate, og at variablene i templatet skal byttes ut&lt;br /&gt;
    # med verdiene gitt for dem i context-seksjonen:&lt;br /&gt;
    - template: jinja&lt;br /&gt;
    - context:&lt;br /&gt;
      saltmaster: lommel.pvv.ntnu.no&lt;br /&gt;
      timer: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kopier så inn en minion-fil til &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/srv/salt/minion_configuration/minion&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, og legg til disse linjene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#sett inn under &amp;quot;#master: salt&amp;quot; eller istedenfor det som måtte stå på på linjen som begynner med &amp;quot;master:&amp;quot;&lt;br /&gt;
master: {{saltmaster}}&lt;br /&gt;
&lt;br /&gt;
#sier at highstate skal schedules til å kjøre hver &#039;timer&#039; time:&lt;br /&gt;
schedule:&lt;br /&gt;
  highstate:&lt;br /&gt;
    function: state.highstate&lt;br /&gt;
    hours: {{ timer }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Behandlig av errors og feilmeldinger som kan dukke opp ofte ==&lt;br /&gt;
&lt;br /&gt;
Hvis du får feilen:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;No matching sls found for &#039;sls_file_or_folder_name&#039; in env &#039;base&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Så har du sannsynligvis skrevet &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;filnavn.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (må være uten &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;.sls&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), eller mappenavnet feil.&lt;br /&gt;
&lt;br /&gt;
== Nyttige kommandoer og syntax ==&lt;br /&gt;
&lt;br /&gt;
Viktig om syntax:&lt;br /&gt;
* All indentering er med mellomrom da tabs ser ut til å krasje, to ser ut til å være standard&lt;br /&gt;
&lt;br /&gt;
Hvordan kopiere enkeltfiler ad-hoc fra salt-master til minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt-cp &amp;quot;*&amp;quot; /path/to/file/on/salt/master /path/to/file/on/minions&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvordan kjøre kode på minions:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å kjøre på enkeltmaskiner istedenfor alle eller grains skriv inn navnet istedenfor &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;*&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Eksempel:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no cmd.run &amp;quot;ps -e | grep salt&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å sjekke om en pakke er installer og hvilken versjon den har:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt &amp;quot;*&amp;quot; pkg.version &amp;quot;grep&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å installere eller oppgradere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.install sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å avinstallere en pakke:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.remove sl&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For å se salt-pkg kommandoer:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;salt maskinnavn.pvv.ntnu.no pkg.&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; og spam tab.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Puppet&amp;diff=4214</id>
		<title>Drift/Puppet</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Puppet&amp;diff=4214"/>
		<updated>2015-07-19T04:06:59Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Puppet er et fint og flott system for å distribuere informasjon mellom maskiner med forskjellige operativsystemer og maskinvare.&lt;br /&gt;
&lt;br /&gt;
== Bruk ==&lt;br /&gt;
&lt;br /&gt;
Alle driftere har (eller kan ha) sin egen utsjekkede kopi av puppet-treet. For å få tilgang til dette, logg inn som din egen bruker på puppet-boksen. Passordet er samme passord som adminprincipalen din i kerberos (e.g. brukernavn foo, passordet til foo/admin i kerberos). Brukere må opprettes manuelt, og kan gjøres ved å logge inn på boksen og kjøre adduser (bare trykk enter når den ber om kerberos-passord).&lt;br /&gt;
&lt;br /&gt;
=== Git-repository ===&lt;br /&gt;
Puppet-konfigen (som fortsatt ser mistenkelig ut som rdist-konfig) sjekkes ut automatisk den første gangen du logger inn på puppet-boksen (i skrivende stund lommel.pvv.ntnu.no). Når vi har fått portet rdist-konfigen vil du &amp;quot;slå på&amp;quot; endringer ved å pushe dem til origin.&lt;br /&gt;
&lt;br /&gt;
== Administrativt ==&lt;br /&gt;
Lure ting:&lt;br /&gt;
* Installer vim-puppet og puppet-el (pakker for puppetsyntaks i vim og Emacs).&lt;br /&gt;
* Rediger /etc/default/puppet til å starte Puppet.&lt;br /&gt;
&lt;br /&gt;
== Syntaks ==&lt;br /&gt;
&lt;br /&gt;
=== Diste en fil ===&lt;br /&gt;
Disting av filer gjøres ved å opprette klasser og å tilordne maskiner til forskjellige klasser (karakterer ser det dog ikke ut til å være).  Sørg for at nodetypen inkluderer (include) denne klassen.  Noden definerer du i /etc/puppet/manifest/site.pp: denne ser ut til å holde orden på alle maskinene på bruket. Selve klassen opprettes i manifests/classes/, hvor du lager en ny fil med passende navn. &lt;br /&gt;
&lt;br /&gt;
==== Diste motd ====&lt;br /&gt;
Disse filene dister filen /etc/puppet/modules/motd/files/motd/, ganske logisk igrunnen at den interne pathen har et ekstra navn, men du venner deg til det. &lt;br /&gt;
&lt;br /&gt;
puppet:/// sender deg til puppetdir, som er /etc/puppet/ i vårt tilfelle. &lt;br /&gt;
&amp;lt;pre&amp;gt;# /etc/puppet/manifests/site.pp&lt;br /&gt;
&lt;br /&gt;
import &amp;quot;classes/*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
node default {&lt;br /&gt;
	include motd&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# /etc/puppet/manifests/classes/motd.pp&lt;br /&gt;
&lt;br /&gt;
class motd&lt;br /&gt;
{&lt;br /&gt;
	file {&amp;quot;/local/etc/motd&amp;quot;:&lt;br /&gt;
		group =&amp;gt; &#039;root&#039;,&lt;br /&gt;
		      owner =&amp;gt; &#039;root&#039;,&lt;br /&gt;
		      mode =&amp;gt; &#039;644&#039;,&lt;br /&gt;
		      ensure =&amp;gt; present,&lt;br /&gt;
		      source =&amp;gt; &amp;quot;puppet:///modules/motd/motd&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Automagi= &lt;br /&gt;
Absolutt ingen snøring på hva som er greia her. torjehoa har til nå kjørt manuelt når han vil noe, men det er nok ikke slik det henger sammen, det er nok automagi i bildet.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Puppet&amp;diff=4213</id>
		<title>Drift/Puppet</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Puppet&amp;diff=4213"/>
		<updated>2015-07-19T04:02:53Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Git-endringslager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Puppet er et fint og flott system for å distribuere informasjon mellom maskiner med forskjellige operativsystemer og maskinvare. Det fases i første omgang inn på [[Maskiner/Dash8|dash8]]. torjehoa fra avdeling for brå og uventet drifting fjernet pkgsync fra denne og annekterte maskinen til å teste Puppet på inntil videre. pkgsync så mest ut som om den hadde &#039;*&#039; i musthave.  Dette syntes torjehoa var kjipt. &lt;br /&gt;
&lt;br /&gt;
Lure ting:&lt;br /&gt;
* Installer vim-puppet og puppet-el (pakker for puppetsyntaks i vim og Emacs).&lt;br /&gt;
* Rediger /etc/default/puppet til å starte Puppet.&lt;br /&gt;
&lt;br /&gt;
=== Git-endringslager ===&lt;br /&gt;
Puppet-konfigen (som fortsatt ser mistenkelig ut som rdist-konfig) sjekkes ut automatisk den første gangen du logger inn på puppet-boksen (i skrivende stund lommel.pvv.ntnu.no). Når vi har fått portet rdist-konfigen vil du &amp;quot;slå på&amp;quot; endringer ved å pushe dem til origin.&lt;br /&gt;
&lt;br /&gt;
=== Diste en fil ===&lt;br /&gt;
Disting av filer gjøres ved å opprette klasser og å tilordne maskiner til forskjellige klasser (karakterer ser det dog ikke ut til å være).  Sørg for at nodetypen inkluderer (include) denne klassen.  Noden definerer du i /etc/puppet/manifest/site.pp: denne ser ut til å holde orden på alle maskinene på bruket. Selve klassen opprettes i manifests/classes/, hvor du lager en ny fil med passende navn. &lt;br /&gt;
&lt;br /&gt;
==== Diste motd ====&lt;br /&gt;
Disse filene dister filen /etc/puppet/modules/motd/files/motd/, ganske logisk igrunnen at den interne pathen har et ekstra navn, men du venner deg til det. &lt;br /&gt;
&lt;br /&gt;
puppet:/// sender deg til puppetdir, som er /etc/puppet/ i vårt tilfelle. &lt;br /&gt;
&amp;lt;pre&amp;gt;# /etc/puppet/manifests/site.pp&lt;br /&gt;
&lt;br /&gt;
import &amp;quot;classes/*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
node default {&lt;br /&gt;
	include motd&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# /etc/puppet/manifests/classes/motd.pp&lt;br /&gt;
&lt;br /&gt;
class motd&lt;br /&gt;
{&lt;br /&gt;
	file {&amp;quot;/local/etc/motd&amp;quot;:&lt;br /&gt;
		group =&amp;gt; &#039;root&#039;,&lt;br /&gt;
		      owner =&amp;gt; &#039;root&#039;,&lt;br /&gt;
		      mode =&amp;gt; &#039;644&#039;,&lt;br /&gt;
		      ensure =&amp;gt; present,&lt;br /&gt;
		      source =&amp;gt; &amp;quot;puppet:///modules/motd/motd&amp;quot;,&lt;br /&gt;
		}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Automagi= &lt;br /&gt;
Absolutt ingen snøring på hva som er greia her. torjehoa har til nå kjørt manuelt når han vil noe, men det er nok ikke slik det henger sammen, det er nok automagi i bildet.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner/Dvask&amp;diff=3975</id>
		<title>Maskiner/Dvask</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner/Dvask&amp;diff=3975"/>
		<updated>2014-03-10T17:38:23Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Misc. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Hardware =&lt;br /&gt;
&lt;br /&gt;
MicroVAX II.&lt;br /&gt;
&lt;br /&gt;
= OS =&lt;br /&gt;
&lt;br /&gt;
NetBSD&lt;br /&gt;
&lt;br /&gt;
= Funksjon =&lt;br /&gt;
&lt;br /&gt;
DNS&lt;br /&gt;
&lt;br /&gt;
= Misc. =&lt;br /&gt;
&lt;br /&gt;
Se [[Drift/DNS og dvask]] for informasjon om hvordan man jobber på dvask.&lt;br /&gt;
&lt;br /&gt;
== Boot monitor ==&lt;br /&gt;
&lt;br /&gt;
Boot monitoren (firmware) på dvask starter når maskinen starter og viser et &amp;lt;i&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;lt;/i&amp;gt;-prompt. Man kan hoppe ut i boot monitoren når som helst ved å sende break på seriekonsollet (Ctrl-A F i minicom, ~# i cu).&lt;br /&gt;
* &amp;lt;b&amp;gt;b&amp;lt;/b&amp;gt; - Boot, boot standard.&lt;br /&gt;
* &amp;lt;b&amp;gt;c&amp;lt;/b&amp;gt; - Continue, fortsett der vi var. &lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner/Dvask&amp;diff=3974</id>
		<title>Maskiner/Dvask</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Maskiner/Dvask&amp;diff=3974"/>
		<updated>2014-03-10T17:38:00Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Hardware =&lt;br /&gt;
&lt;br /&gt;
MicroVAX II.&lt;br /&gt;
&lt;br /&gt;
= OS =&lt;br /&gt;
&lt;br /&gt;
NetBSD&lt;br /&gt;
&lt;br /&gt;
= Funksjon =&lt;br /&gt;
&lt;br /&gt;
DNS&lt;br /&gt;
&lt;br /&gt;
= Misc. =&lt;br /&gt;
&lt;br /&gt;
Se [[DNS og dvask]] for informasjon om hvordan man jobber på dvask.&lt;br /&gt;
&lt;br /&gt;
== Boot monitor ==&lt;br /&gt;
&lt;br /&gt;
Boot monitoren (firmware) på dvask starter når maskinen starter og viser et &amp;lt;i&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;lt;/i&amp;gt;-prompt. Man kan hoppe ut i boot monitoren når som helst ved å sende break på seriekonsollet (Ctrl-A F i minicom, ~# i cu).&lt;br /&gt;
* &amp;lt;b&amp;gt;b&amp;lt;/b&amp;gt; - Boot, boot standard.&lt;br /&gt;
* &amp;lt;b&amp;gt;c&amp;lt;/b&amp;gt; - Continue, fortsett der vi var. &lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=CERTsrapport/V2014&amp;diff=3921</id>
		<title>CERTsrapport/V2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=CERTsrapport/V2014&amp;diff=3921"/>
		<updated>2014-02-14T14:10:31Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Created page with &amp;quot;Rundt 26. oktober ble PVV svartelistet i SpamCop. Grunnen var at en kompromittert bruker hadde sendt ut store mengder spam. Årsaken til at brukeren ble kompromittert er ukjent, …&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rundt 26. oktober ble PVV svartelistet i SpamCop. Grunnen var at en kompromittert bruker hadde sendt ut store mengder spam. Årsaken til at brukeren ble kompromittert er ukjent, men det er sannsynlig at det var snakk om SSH-bruteforce. Cert noterer at vi nok bør fikse noe ratelimiting og varsling når enkeltbrukere begynner å sende farlig mye epost.&lt;br /&gt;
&lt;br /&gt;
tim (brukerweb) har vært en god del nede denne perioden, stort sett på grunn av buggy PHP-programvare som får alle indianerbarna til å løpe i sirkel rundt totempælen uten å klare å stoppe. Det er noe usikkert hvorfor PHP-scriptene ikke timer ut som de skal, men det er mulig de faktisk gjør det, men at ymse crawlere bare setter dem i gang igjen med en gang.&lt;br /&gt;
&lt;br /&gt;
PVV ble brukt som forsterkende ledd i noen DDoS-angrep i januar, på grunn av en feilkonfigurering i NTP. Dette ble fikset, men et par uker senere kom det inn klager på dvask. dvask er ikke i rdist, og hadde derfor glidd under radaren. Det er nok tvilsomt at en 4MHz µVAX II fra 1985 klarte å bidra særlig mye i det aktuelle angrepet, men det var tydeligvis nok til å bli lagt merke til.&lt;br /&gt;
&lt;br /&gt;
Californiafilialen av CERT er fremdeles den mest aktive, og den eneste med tilgang til loghost. Cert er som vanlig særdeles mottakelige for nominasjoner til nye medlemmer. CERT oppfordrer også drift til å sette opp sin egen loghost, slik at visse ting kan feilsøkes litt lettere uten å måtte innom CERT.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=CERTsrapport/H2013&amp;diff=3821</id>
		<title>CERTsrapport/H2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=CERTsrapport/H2013&amp;diff=3821"/>
		<updated>2013-09-12T08:10:22Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Created page with &amp;quot;En bruker ble kompromittert rett før forrige halvårsmøte. Vi fant aldri ut hvordan angriperene fikk tak i passordet. Stud-drift hevder de heller ikke hadde noen tegn til brute…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En bruker ble kompromittert rett før forrige halvårsmøte. Vi fant aldri ut hvordan angriperene fikk tak i passordet. Stud-drift hevder de heller ikke hadde noen tegn til bruteforcing.&lt;br /&gt;
&lt;br /&gt;
Noen glemte et rootskall innlogget på tty1 på tallulah 2. mars, men ingenting tyder på at det ble misbrukt. Det ble drept av drifteren som oppdaget det. CERT bemerker at neste gang kan det være lurt å sjekke $LOGNAME før man dreper skallet, så man vet hvem det var som glemte det.&lt;br /&gt;
&lt;br /&gt;
16. mars gikk en gallery-installasjon amok og låste samtlige apachebarn. Katalogen ble sperret med chmod og brukeren fikk en passiv-aggressiv epost.&lt;br /&gt;
&lt;br /&gt;
En gang i mars sluttet Google å stole på sertifikatet til pop.pvv.ntnu.no. Vi vurderte å fikse ordentlig sertifikat, men endte med å bare be brukeren videresende med .forward-filen sin isteden.&lt;br /&gt;
&lt;br /&gt;
Noen flere gallery-installasjoner gikk agurk, og 23. mai ihversatte CERT søk på hele disken etter andre potensielle syndere. CERT kan ikke huske om de gjorde noe med søkeresultatet, så det er gode sjanser for at det ble glemt.&lt;br /&gt;
&lt;br /&gt;
Status på loghost er fortsatt som før, det er bare knuta som har passordet. Videre er det fortsatt åpent for nominasjoner til CERT.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Halv%C3%A5rsm%C3%B8te/2013V&amp;diff=3730</id>
		<title>Halvårsmøte/2013V</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Halv%C3%A5rsm%C3%B8te/2013V&amp;diff=3730"/>
		<updated>2013-02-14T18:56:49Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Sak 6: CERTs halvårsrapport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Innkallinger ==&lt;br /&gt;
&lt;br /&gt;
* [http://list.pvv.org/pipermail/aktive/2013-January/001091.html Første innkalling]&lt;br /&gt;
* [http://list.pvv.org/pipermail/aktive/2013-February/001092.html Innkalling med endelig saksliste]&lt;br /&gt;
&lt;br /&gt;
== Referat ==&lt;br /&gt;
&lt;br /&gt;
=== Referat fra halvårsmøte i Programvareverkstedet 14.02.2013 ===&lt;br /&gt;
&lt;br /&gt;
De tilstedeværende på møtet er (brukernavn og fullt navn):&lt;br /&gt;
&lt;br /&gt;
==== Saksliste ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Møtet er satt&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Valg av ordstyrer, referent, tellekorps og protokollunderskrivere&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Godkjenning av innkalling og dagsorden&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Godkjenning av referat fra forrige halvårsmøte&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Styrets halvårsrapport&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Drifts halvårsrapport&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CERTs halvårsrapport&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Godkjenning av forrige års regnskap&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Godkjenning av årets budsjett&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nominasjon av kandidater til prisene «Beste program» og «Årets hakker»&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Kåring av «Beste program» og «Årets hakker»&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Utdeling av prisen «Beste kurs»&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Valg av styre&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Valg av revisor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Valg av valgkomité&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Møtet heves&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sak 0: Møtet er satt ====&lt;br /&gt;
&lt;br /&gt;
==== Sak 1: Valg av ordstyrer, referent, tellekorps og protokollunderskrivere ====&lt;br /&gt;
&lt;br /&gt;
==== Sak 2: Godkjenning av innkalling og dagsorden ====&lt;br /&gt;
&lt;br /&gt;
==== Sak 3: Godkjenning av referat fra forrige halvårsmøte ====&lt;br /&gt;
&lt;br /&gt;
==== Sak 4: Styrets halvårsrapport ====&lt;br /&gt;
&lt;br /&gt;
==== Sak 5: Drifts halvårsrapport ====&lt;br /&gt;
&lt;br /&gt;
[[Driftsrapport/V2013|drifts halvårsrapport]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sak 6: CERTs halvårsrapport ====&lt;br /&gt;
[[CERTsrapport/V2013|CERTs halvårsrapport]]&lt;br /&gt;
&lt;br /&gt;
==== Sak 8: Godkjenning av årets budsjett ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sak 13: Valg av styre ====&lt;br /&gt;
&lt;br /&gt;
==== Sak 14: Valg av valgkomité ====&lt;br /&gt;
&lt;br /&gt;
==== Sak 15: Møtet heves ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=CERTsrapport/V2013&amp;diff=3729</id>
		<title>CERTsrapport/V2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=CERTsrapport/V2013&amp;diff=3729"/>
		<updated>2013-02-14T18:55:40Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Created page with &amp;quot;CERT patchet et alvorlig DKIM-relatert sikkerhetshull i Exim 26. oktober, mest for å være på den sikre siden. Hullet rammet trolig ikke PVV, siden vi ikke bruker DKIM.  En bru…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CERT patchet et alvorlig DKIM-relatert sikkerhetshull i Exim 26. oktober, mest for å være på den sikre siden. Hullet rammet trolig ikke PVV, siden vi ikke bruker DKIM.&lt;br /&gt;
&lt;br /&gt;
En bruker fikk kompromittert kontoen sin i februar, dette ble (som vanlig) oppdaget ved at sudo sendte E-post. CERT bemerker at e-postene til sudo har vist seg å være nyttigere enn tidligere antatt. CERT tar selvkritikk for å ikke ha innsett at e-posten var på grunn av kompromittering, og ytterligere selvkritikk for å ha brukt noen dager på å reagere. CERT bemerker også at vi nok bør sende cronmail til flere driftere, de siste årene har nye driftere utelukkende blitt påmeldt driftslista.&lt;br /&gt;
&lt;br /&gt;
Angrepet er for ferskt til å konkludere, men er etter alt å dømme et kompromittert passord, enten bruteforcet eller sniffet på en annen maskin der tvilling.pvv.ntnu.no var i known_hosts. Angriperene ser ikke ut til å ha gjort annet enn å forsøke å kjøre sudo, og gadd trolig ikke bry seg med boksen når det ikke fungerte.&lt;br /&gt;
&lt;br /&gt;
CERT bemerker at den eneste i CERT som har passordet til loghost er Knut Auvor (knuta). Dette bør nok ordnes vha PGP-distribuering av passordet til øvrige medlemmer av CERT, men har ikke skjedd. Apropos øvrige medlemmer av CERT, CERT er mottakelige for nominasjoner. CERTs hovedkvarter er for tiden i California, og norske korrespondenter ville være kjærkomne.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Endre_bruker_i_kadmin&amp;diff=3660</id>
		<title>Drift/Endre bruker i kadmin</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Endre_bruker_i_kadmin&amp;diff=3660"/>
		<updated>2012-10-30T10:41:55Z</updated>

		<summary type="html">&lt;p&gt;Knuta: link direkte til «Lage adminprincipal» i kerberosdoken&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For å endre en brukers passord, logg inn med kadmin med adminprincipalen din (om du ikke har en adminprincipal, se [[Drift/Kerberos#Lage_admin-principal]] for info om hvordan du skaffer deg en):&lt;br /&gt;
&lt;br /&gt;
 kadmin -p knuta/admin&lt;br /&gt;
&lt;br /&gt;
Når du er inne i skallet bruker du kommandoen passwd for å sette et nytt passord:&lt;br /&gt;
&lt;br /&gt;
 passwd johndoe&lt;br /&gt;
&lt;br /&gt;
Om dette ikke virker (fordi brukeren ikke har noen adminprincipal fra før) kan du lage en ny:&lt;br /&gt;
&lt;br /&gt;
 add johndoe&lt;br /&gt;
&lt;br /&gt;
Velg defaults på alle valg (bortsett fra når den ber om passord, så klart).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retroinfo for mimrere:&lt;br /&gt;
&lt;br /&gt;
* [[Redigere passwd]]: Hvordan redigere passordfilen.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Endre_bruker_i_kadmin&amp;diff=3659</id>
		<title>Drift/Endre bruker i kadmin</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Endre_bruker_i_kadmin&amp;diff=3659"/>
		<updated>2012-10-30T10:39:22Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Created page with &amp;quot;For å endre en brukers passord, logg inn med kadmin med adminprincipalen din (om du ikke har en adminprincipal, se Drift/Kerberos for info om hvordan du skaffer deg en):   k…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For å endre en brukers passord, logg inn med kadmin med adminprincipalen din (om du ikke har en adminprincipal, se [[Drift/Kerberos]] for info om hvordan du skaffer deg en):&lt;br /&gt;
&lt;br /&gt;
 kadmin -p knuta/admin&lt;br /&gt;
&lt;br /&gt;
Når du er inne i skallet bruker du kommandoen passwd for å sette et nytt passord:&lt;br /&gt;
&lt;br /&gt;
 passwd johndoe&lt;br /&gt;
&lt;br /&gt;
Om dette ikke virker (fordi brukeren ikke har noen adminprincipal fra før) kan du lage en ny:&lt;br /&gt;
&lt;br /&gt;
 add johndoe&lt;br /&gt;
&lt;br /&gt;
Velg defaults på alle valg (bortsett fra når den ber om passord, så klart).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retroinfo for mimrere:&lt;br /&gt;
&lt;br /&gt;
* [[Redigere passwd]]: Hvordan redigere passordfilen.&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift&amp;diff=3658</id>
		<title>Drift</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift&amp;diff=3658"/>
		<updated>2012-10-30T10:35:16Z</updated>

		<summary type="html">&lt;p&gt;Knuta: Oppdatert passordendringsinfo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Drift har ansvaret for å drive maskinene på PVV. Tidligere var drift organisert i egne grupper, først med ansvar for bestemte maskiner, deretter for bestemte tjenester, men har siden 2002 vært organisert i en stor driftsgruppe. I tillegg finnes en gruppe med ansvar for drift av e-postsystemet og en [[CERT|sikkerhetsgruppe]].&lt;br /&gt;
&lt;br /&gt;
Dersom du har generelle spørsmål skal disse sendes &amp;lt;b&amp;gt;drift(at)pvv.ntnu.no&amp;lt;/b&amp;gt;, ikke til enkelpersoner som er med i driftsgruppa. Driftskoordinator er p.t. `orjane`.&lt;br /&gt;
&lt;br /&gt;
Husk at drift utelukkende består av frivillige. Ingen får betalt for å gjøre dette og ingen driver med dette 24 timer i døgnet, 365 dager i året. Vi vil likevel gjøre vårt beste for å gi god hjelp og service til våre brukere.&lt;br /&gt;
&lt;br /&gt;
Driftsgruppen har ingen strenge krav til aktivitet eller erfaring for å bli medlem, så selv om du er ny i virket går det fint an å bare observere og absorbere i begynnelsen. Det finnes også en slags [[/Intro|introduksjon]] for nye driftere.&lt;br /&gt;
&lt;br /&gt;
= [[Dokumentasjon|Nyttig for både bruk og drift]] =&lt;br /&gt;
Se [[Dokumentasjon]]&lt;br /&gt;
&lt;br /&gt;
= Bare nyttig for drift =&lt;br /&gt;
* [[/ToDo]] Ting som trenger gjøring&lt;br /&gt;
* [[/Scanner]] Scanner&lt;br /&gt;
* [[/Netboot]] Legge til linuxer i pxe-boot&lt;br /&gt;
* [[/DNS og dvask]] Legge til record på namnetenaren vår, dvask&lt;br /&gt;
* [[/Kerberos]] Oppsett av kerberos&lt;br /&gt;
* [[/Mediawiki]] Oppsett av mediawiki&lt;br /&gt;
* [[/Seriellkonsoll]] Oppsett av seriellkonsoll&lt;br /&gt;
* [[/TRAC]] Trac på dev.pvv.ntnu.no&lt;br /&gt;
* [[/Puppet]] Dokumentasjon for Puppet&lt;br /&gt;
&lt;br /&gt;
= Handling drift ofte utfører =&lt;br /&gt;
&lt;br /&gt;
* [[Legge til bruker]]: Hvordan legge til en ny bruker på PVV.&lt;br /&gt;
* [[Drift/Endre brukeres passord]] Endre brukeres passord&lt;br /&gt;
* [[Redigere kvote]]: Hvordan opprette/utvide diskplass for en bruker når han har betalt for utvidet kvote.&lt;br /&gt;
* [[Planlagt nedetid]]: Prosedyre for varsling av planlagt nedetid.&lt;br /&gt;
* [[Systembrukere]]: Regler for systembrukere.&lt;br /&gt;
* [[Endre eller slette bruker]]: Hva som skal gjøres når man endrer eller sletter brukere&lt;br /&gt;
* [[Opprette nye prosjekt på dev]]: Ting og tang som må gjøres for å opprette et nytt prosjekt.&lt;br /&gt;
* [[Drift/Oppdatere SSL-sertifikater|Oppdatere SSL-sertifikater]]&lt;br /&gt;
* [[Starte etter strømbrudd]]: Hva må gjøres når strømmen har vært borte?&lt;br /&gt;
&lt;br /&gt;
== Annet ==&lt;br /&gt;
* [[Drift/Backup|Backup]]&lt;br /&gt;
* [[Drift/Maskininstallasjon|Installasjon av OS]]&lt;br /&gt;
* [[Drift/Pakkeinstallasjon|Installasjon av programvare]]&lt;br /&gt;
* OS-Drift&lt;br /&gt;
** [[Drift/Partisjonering]]&lt;br /&gt;
** [[Drift/IRIX Install]]&lt;br /&gt;
** [[Drift/VAX Netboot]]&lt;br /&gt;
** [[Maskiner/Vrimmel|Virtualisering på vrimmel.pvv.ntnu.no]]&lt;br /&gt;
** [[Drift/SUSE]]&lt;br /&gt;
* [[Drift/RootpassordReglement]]&lt;br /&gt;
* [http://www.pvv.ntnu.no/rootpassordskjema.ps Rootpassordskjema]&lt;br /&gt;
&lt;br /&gt;
= Roteloftet =&lt;br /&gt;
&lt;br /&gt;
Sider som egentlig ikke er relevante lenger.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;[[Maskiner/Octopus|Octopus]]&amp;lt;/del&amp;gt; (Ikke i bruk)&lt;br /&gt;
* [[Drift/Wiki|Den gamle wikien]]&lt;br /&gt;
* [[Drift/Bacula|Bacula, det forrige backupsystemet]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Redigere_passwd&amp;diff=3657</id>
		<title>Drift/Redigere passwd</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Drift/Redigere_passwd&amp;diff=3657"/>
		<updated>2012-10-30T10:34:17Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;em&amp;gt;Dette er totalt utdatert, se heller [[Drift/Endre brukeres passord]]&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hvis en bruker kjører &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;yppasswd&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; mens du redigerer passordfila, kan alt skje. Så hanche har installert et program &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/var/yp/edityppw&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; på [[Maskiner/Anar]] som låser passordfila slik at &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;rpc.yppasswdd&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; holder fingrene av fatet.&lt;br /&gt;
&lt;br /&gt;
Det ligger et skript under &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/var/yp/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; med fire navn: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vi-passwd&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vim-passwd&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;emacs-passwd&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;ed-passwd&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; som man kan bruke for å redigere passordfilen med sin favoritteditor, eller man kan bruke skriptet som oppskrift på hvordan edityppw skal brukes. Alle disse scriptene kjøres som root på anar. &lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Dokumentasjon&amp;diff=3656</id>
		<title>Dokumentasjon</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Dokumentasjon&amp;diff=3656"/>
		<updated>2012-10-30T10:31:45Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Her finner du dokumentasjon om bruk av PVVs systemer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Administrativt:&amp;lt;/strong&amp;gt;&lt;br /&gt;
* [[Medlemskontingent|Betale kontingent/Melde seg inn]]&lt;br /&gt;
* [[Passordendring|Glemt/endre passord]]&lt;br /&gt;
* [[Feilmelding|Melde feil ved PVVs maskiner]] (eller kontakt drift per epost)&lt;br /&gt;
* [[Diskplass|Hvor mye diskplass har du, og hvordan skaffe mer?]]&lt;br /&gt;
* [[Korttilgang|Hvordan få korttilgang til PVVs lokaler]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Koble til PVV:&amp;lt;/strong&amp;gt;&lt;br /&gt;
* [[Unixkommandoer|Introduksjon til kommandolinjen]]&lt;br /&gt;
* [[Drift/Mail|Introduksjon til epostsystemet]]&lt;br /&gt;
* [[Drift/Samba|Tilgang til hjemmeområdet fra Windows]]&lt;br /&gt;
* [[SSL-Sertifikat|Sikkerhetssertifikatet]]&lt;br /&gt;
* [[Versjonskontroll|Versjonskontrollsystemer]]&lt;br /&gt;
* [https://www.pvv.ntnu.no/webmail/src/login.php Webmail]&lt;br /&gt;
* [http://tvilling.pvv.ntnu.no:631/printers/ Utskrift]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Tjenester:&amp;lt;/strong&amp;gt;&lt;br /&gt;
* [[Hjemmesider|Opprettelse av hjemmesider]]&lt;br /&gt;
* [[Drift/Web|Teknisk informasjon om webserveren]]&lt;br /&gt;
* [[Databaser|Bruk av PVVs MySQL- og PostgreSQL-databaser]]&lt;br /&gt;
* [[Maskiner/Tjenestealias|Tjenestealias]] for en del tjenester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tekniske detaljer ==&lt;br /&gt;
&lt;br /&gt;
Om du er av den nysgjerrige typen og vil ha mer detaljert info, se [[Drift|sidene til drift]].&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Kurs/Linux-kommandolinje_for_viderekomne&amp;diff=3634</id>
		<title>Kurs/Linux-kommandolinje for viderekomne</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Kurs/Linux-kommandolinje_for_viderekomne&amp;diff=3634"/>
		<updated>2012-09-30T07:16:47Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Filer fra kurset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;Tid&amp;lt;/b&amp;gt;: Torsdag 13. september 2012, kl. 18:15&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Sted&amp;lt;/b&amp;gt;: [[../Hvor er R3?|R3]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Kursholder&amp;lt;/b&amp;gt;: Knut Auvor Grythe&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Om du trodde kommandolinjen i Linux bare duger til å skrive «sudo&lt;br /&gt;
apt-get» tar du feil. Shellet er et utrolig kraftig verktøy, og&lt;br /&gt;
om du lærer deg å bruke det effektivt kan det gi deg store&lt;br /&gt;
tidsbesparelser i hverdagen.&lt;br /&gt;
 &lt;br /&gt;
Kurset kommer til å ta for seg enkel tekstparsing ved hjelp av&lt;br /&gt;
onelinere, en intro til multikunstneren find, diverse triks med&lt;br /&gt;
grep, sort, uniq, xargs og lignende, subskall og hvordan det kan&lt;br /&gt;
gjøre onelineren din mer robust, behandling eller kombinering av&lt;br /&gt;
output fra ulike kommandoer samtidig uten bruk av midlertidige&lt;br /&gt;
filer, og sannsynligvis en hel del mer. Det blir også muligheter&lt;br /&gt;
for å prøve å sette kursholder fast med vanskelige spørsmål eller&lt;br /&gt;
utfordringer.&lt;br /&gt;
 &lt;br /&gt;
Vi kommer til å bruke bash siden det er vanligst, men det meste vil&lt;br /&gt;
virke i zsh, sh og andre POSIX-lignende shell også.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Filer fra kurset ==&lt;br /&gt;
* [http://www.pvv.ntnu.no/~knuta/kurs/bash/bashkurs.txt Oversikt i stikkordsform]&lt;br /&gt;
* [http://www.pvv.ntnu.no/~knuta/kurs/bash/logg.txt Uredigert logg fra terminalen (full av kontrolltegn, renskes kanskje senere)]&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Kurs/Linux-kommandolinje_for_viderekomne&amp;diff=3633</id>
		<title>Kurs/Linux-kommandolinje for viderekomne</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Kurs/Linux-kommandolinje_for_viderekomne&amp;diff=3633"/>
		<updated>2012-09-30T07:16:26Z</updated>

		<summary type="html">&lt;p&gt;Knuta: /* Filer fra kurset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;Tid&amp;lt;/b&amp;gt;: Torsdag 13. september 2012, kl. 18:15&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Sted&amp;lt;/b&amp;gt;: [[../Hvor er R3?|R3]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Kursholder&amp;lt;/b&amp;gt;: Knut Auvor Grythe&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Om du trodde kommandolinjen i Linux bare duger til å skrive «sudo&lt;br /&gt;
apt-get» tar du feil. Shellet er et utrolig kraftig verktøy, og&lt;br /&gt;
om du lærer deg å bruke det effektivt kan det gi deg store&lt;br /&gt;
tidsbesparelser i hverdagen.&lt;br /&gt;
 &lt;br /&gt;
Kurset kommer til å ta for seg enkel tekstparsing ved hjelp av&lt;br /&gt;
onelinere, en intro til multikunstneren find, diverse triks med&lt;br /&gt;
grep, sort, uniq, xargs og lignende, subskall og hvordan det kan&lt;br /&gt;
gjøre onelineren din mer robust, behandling eller kombinering av&lt;br /&gt;
output fra ulike kommandoer samtidig uten bruk av midlertidige&lt;br /&gt;
filer, og sannsynligvis en hel del mer. Det blir også muligheter&lt;br /&gt;
for å prøve å sette kursholder fast med vanskelige spørsmål eller&lt;br /&gt;
utfordringer.&lt;br /&gt;
 &lt;br /&gt;
Vi kommer til å bruke bash siden det er vanligst, men det meste vil&lt;br /&gt;
virke i zsh, sh og andre POSIX-lignende shell også.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Filer fra kurset ==&lt;br /&gt;
- [http://www.pvv.ntnu.no/~knuta/kurs/bash/bashkurs.txt Oversikt i stikkordsform]&lt;br /&gt;
- [http://www.pvv.ntnu.no/~knuta/kurs/bash/logg.txt Uredigert logg fra terminalen (full av kontrolltegn, renskes kanskje senere)]&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
	<entry>
		<id>https://wiki.pvv.ntnu.no/w/index.php?title=Kurs/Linux-kommandolinje_for_viderekomne&amp;diff=3632</id>
		<title>Kurs/Linux-kommandolinje for viderekomne</title>
		<link rel="alternate" type="text/html" href="https://wiki.pvv.ntnu.no/w/index.php?title=Kurs/Linux-kommandolinje_for_viderekomne&amp;diff=3632"/>
		<updated>2012-09-30T07:15:50Z</updated>

		<summary type="html">&lt;p&gt;Knuta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;Tid&amp;lt;/b&amp;gt;: Torsdag 13. september 2012, kl. 18:15&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Sted&amp;lt;/b&amp;gt;: [[../Hvor er R3?|R3]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Kursholder&amp;lt;/b&amp;gt;: Knut Auvor Grythe&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Om du trodde kommandolinjen i Linux bare duger til å skrive «sudo&lt;br /&gt;
apt-get» tar du feil. Shellet er et utrolig kraftig verktøy, og&lt;br /&gt;
om du lærer deg å bruke det effektivt kan det gi deg store&lt;br /&gt;
tidsbesparelser i hverdagen.&lt;br /&gt;
 &lt;br /&gt;
Kurset kommer til å ta for seg enkel tekstparsing ved hjelp av&lt;br /&gt;
onelinere, en intro til multikunstneren find, diverse triks med&lt;br /&gt;
grep, sort, uniq, xargs og lignende, subskall og hvordan det kan&lt;br /&gt;
gjøre onelineren din mer robust, behandling eller kombinering av&lt;br /&gt;
output fra ulike kommandoer samtidig uten bruk av midlertidige&lt;br /&gt;
filer, og sannsynligvis en hel del mer. Det blir også muligheter&lt;br /&gt;
for å prøve å sette kursholder fast med vanskelige spørsmål eller&lt;br /&gt;
utfordringer.&lt;br /&gt;
 &lt;br /&gt;
Vi kommer til å bruke bash siden det er vanligst, men det meste vil&lt;br /&gt;
virke i zsh, sh og andre POSIX-lignende shell også.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Filer fra kurset ==&lt;br /&gt;
[http://www.pvv.ntnu.no/~knuta/kurs/bash/bashkurs.txt Oversikt i stikkordsform]&lt;br /&gt;
[http://www.pvv.ntnu.no/~knuta/kurs/bash/logg.txt Uredigert logg fra terminalen (full av kontrolltegn, renskes kanskje senere)]&lt;/div&gt;</summary>
		<author><name>Knuta</name></author>
	</entry>
</feed>