<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fi">
	<id>https://www.linux.fi/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Raspi</id>
	<title>Linux.fi - Käyttäjän muokkaukset [fi]</title>
	<link rel="self" type="application/atom+xml" href="https://www.linux.fi/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Raspi"/>
	<link rel="alternate" type="text/html" href="https://www.linux.fi/wiki/Toiminnot:Muokkaukset/Raspi"/>
	<updated>2026-04-13T03:01:39Z</updated>
	<subtitle>Käyttäjän muokkaukset</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=NFTables&amp;diff=48973</id>
		<title>NFTables</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=NFTables&amp;diff=48973"/>
		<updated>2019-06-04T13:53:37Z</updated>

		<summary type="html">&lt;p&gt;Raspi: +esimerkki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NFTables&#039;&#039;&#039; (&amp;lt;code&amp;gt;nft&amp;lt;/code&amp;gt;) korvaa vanhat &amp;lt;code&amp;gt;[[iptables]]&amp;lt;/code&amp;gt; ([[IPv4]]), &amp;lt;code&amp;gt;[[ip6tables]]&amp;lt;/code&amp;gt; ([[IPv6]]), &amp;lt;code&amp;gt;[[arptables]]&amp;lt;/code&amp;gt; ([[ARP]]/RARP) ja &amp;lt;code&amp;gt;[[ebtables]]&amp;lt;/code&amp;gt; ([[Bridge|Silta]]) -palomuuriohjelmistot. NFTables nitoo kaikki vanhat ohjelmat yhden ohjelman alle. Joissain jakeluissa NFTables on asennettu jo vakiona ja joihinkin se pitää asentaa. Paketin nimi on yleensä &amp;lt;code&amp;gt;nft&amp;lt;/code&amp;gt; tai &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;. NFTables kehitettiin mm. siksi, että vanhoja edellä mainittuja ohjelmia on paljon ja näin monen ohjelman ylläpito ja kehitys on hankalaa. NFTables tulee syrjäyttämään vanhat palomuuriohjelmat tulevaisuudessa.&lt;br /&gt;
&lt;br /&gt;
== Joitain ominaisuuksia ==&lt;br /&gt;
&lt;br /&gt;
* Atominen tuki (lisää/korvaa/muuta kaikki tai osa säännöistä kerralla)&lt;br /&gt;
** Vanhassa [[iptables]]issa säännöt syötettiin yksitellen ja ne astuivat voimaan syöttämisjärjestyksessä&lt;br /&gt;
* Interaktiivinen konsoli&lt;br /&gt;
* [https://wiki.nftables.org/wiki-nftables/index.php/Scripting Skriptituki]&lt;br /&gt;
** Muuttujatuki&lt;br /&gt;
*** [[NTP]]-aikapalvelimet: &amp;lt;code&amp;gt;define ntp_servers = { 127.0.0.1, 192.168.0.1 }&amp;lt;/code&amp;gt;&lt;br /&gt;
*** [[DNS]]-nimipalvelin: &amp;lt;code&amp;gt;define google_dns = 8.8.8.8&amp;lt;/code&amp;gt;&lt;br /&gt;
** Tiedostojen liittäminen skriptitiedostoihin:&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;variables.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;lan-rules.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;wan-rules.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Reaaliaikainen palomuurisääntöjen muutosten seuranta (&amp;lt;code&amp;gt;nft monitor&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Mahdollistaa esimerkiksi skriptin teon, joka ottaa automaattiset varmuuskopiot [[git]]-versionhallinnan avulla sekä kirjoittaa tiedon milloin muutos tehtiin&lt;br /&gt;
*** Tämä taas mahdollistaa helpon palomuurisääntöjen historiaseurannan ja muutoksen peruutuksen&lt;br /&gt;
* [[JSON]]- ja [[XML]]-tuki&lt;br /&gt;
** Helpottaa sääntöjen kirjoittamista ja luettavuutta ohjelmistoilla&lt;br /&gt;
** Esimerkiksi sääntöjen listauksesta luettavassa JSON-muodossa: &amp;lt;code&amp;gt;nft export json | jq&amp;lt;/code&amp;gt;&lt;br /&gt;
* Yhdistetty IPv4 ja IPv6 sääntö &amp;lt;code&amp;gt;inet&amp;lt;/code&amp;gt;-nimen alle, mutta myös &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; ja &amp;lt;code&amp;gt;ip6&amp;lt;/code&amp;gt; ovat käytettävissä erikseen&lt;br /&gt;
&lt;br /&gt;
== Esimerkki ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/nftables.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Käytetään inet-taulua, joka mätsää ipv4- sekä ipv6-liikenteen&lt;br /&gt;
table inet filter {&lt;br /&gt;
    chain INPUT {&lt;br /&gt;
        # Pudota kaikki paketit vakiona&lt;br /&gt;
        type filter hook input priority 0; policy drop;&lt;br /&gt;
&lt;br /&gt;
        # Salli ping (ICMP)&lt;br /&gt;
        icmp type echo-request counter packets 0 bytes 0 accept&lt;br /&gt;
        icmp type echo-reply counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        # Salli DHCP&lt;br /&gt;
        udp sport 67-68 udp dport 67-68 counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        # Salli DNS&lt;br /&gt;
        udp dport 53 counter packets 0 bytes 0 accept&lt;br /&gt;
        udp sport 53 counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        # Salli LAN &amp;lt;-&amp;gt; LAN -liikenne&lt;br /&gt;
        ip saddr 10.0.0.0/8 ip daddr 10.0.0.0/8 counter packets 0 bytes 0 accept&lt;br /&gt;
        ip saddr 172.16.0.0/12 ip daddr 172.16.0.0/12 counter packets 0 bytes 0 accept&lt;br /&gt;
        ip saddr 192.168.0.0/16 ip daddr 192.168.0.0/16 counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        ct state established,related counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        # Salli loopback interface 127.0.0.1 lo&lt;br /&gt;
        iifname &amp;quot;lo&amp;quot; counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    chain OUTPUT {&lt;br /&gt;
        # Pudota kaikki paketit vakiona&lt;br /&gt;
        type filter hook output priority 0; policy drop;&lt;br /&gt;
&lt;br /&gt;
        # Salli ping&lt;br /&gt;
        icmp type echo-request counter packets 0 bytes 0 accept&lt;br /&gt;
        icmp type echo-reply counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        # Salli DHCP&lt;br /&gt;
        udp sport 67-68 udp dport 67-68 counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        # Allow DNS&lt;br /&gt;
        udp dport 53 counter packets 0 bytes 0 accept&lt;br /&gt;
        udp sport 53 counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        # Salli LAN &amp;lt;-&amp;gt; LAN&lt;br /&gt;
        ip saddr 10.0.0.0/8 ip daddr 10.0.0.0/8 counter packets 0 bytes 0 accept&lt;br /&gt;
        ip saddr 172.16.0.0/12 ip daddr 172.16.0.0/12 counter packets 0 bytes 0 accept&lt;br /&gt;
        ip saddr 192.168.0.0/16 ip daddr 192.168.0.0/16 counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        # Allow loopback interface 127.0.0.1&lt;br /&gt;
        oifname &amp;quot;lo&amp;quot; counter packets 0 bytes 0 accept&lt;br /&gt;
&lt;br /&gt;
        ct state new counter packets 0 bytes 0 accept&lt;br /&gt;
        ct state related,established counter packets 0 bytes 0 accept&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    chain FORWARD {&lt;br /&gt;
        # Pudota kaikki paketit vakiona&lt;br /&gt;
        type filter hook forward priority 0; policy drop;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muuta ==&lt;br /&gt;
NFTablesiin on tehty apuohjelmia ja skriptejä, joilla voit käyttää NFTablesia kuten käyttäisit [[iptables]]ia, mutta apuohjelma muuttaa iptables-säännöt NFTables-yhteensopiviksi. Esimerkiksi [[Ubuntu]]ssa paketin nimi on &amp;lt;code&amp;gt;iptables-nftables-compat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Aiheesta muualla ==&lt;br /&gt;
* Kotisivu: http://netfilter.org/projects/nftables/&lt;br /&gt;
* Wiki: https://wiki.nftables.org/wiki-nftables/index.php/Main_Page&lt;br /&gt;
* Arch Linuxin wiki: https://wiki.archlinux.org/index.php/nftables&lt;br /&gt;
* Gentoon wiki: https://wiki.gentoo.org/wiki/Nftables&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Järjestelmä]]&lt;br /&gt;
[[Luokka:Verkko]]&lt;br /&gt;
[[Luokka:Tietoturva]]&lt;br /&gt;
[[Luokka:Ylläpitotyökalut]]&lt;br /&gt;
[[Luokka:Komentorivin perustyökalut]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Systemd&amp;diff=48972</id>
		<title>Systemd</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Systemd&amp;diff=48972"/>
		<updated>2019-06-04T13:37:25Z</updated>

		<summary type="html">&lt;p&gt;Raspi: /* Kiinteä IP-osoite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;systemd&#039;&#039;&#039; on käyttöjärjestelmän ja siinä ajettavien palveluiden käynnistymistä ja sammuttamista ohjaava ns. [[init]]-järjestelmä. Useimmat jakelut ovat siirtyneet käyttämään systemd-järjestelmää.&lt;br /&gt;
&lt;br /&gt;
== Ominaisuuksia ==&lt;br /&gt;
* Nopeuttaa järjestelmän käynnistymistä suorittamalla toisistaan riippumattomia tehtäviä rinnakkaisesti&lt;br /&gt;
* Tarjoaa valmiita toimintoja joilla voidaan korvata pitkiä perinteisten [[init]]-järjestelmien komentosarjoja&lt;br /&gt;
* Käyttää Linuxin [[control group]] -toimintoa prosessien seuraamiseen&lt;br /&gt;
* Yhteensopiva [[System V init]] -komentosarjojen kanssa&lt;br /&gt;
* Tarvittaessa viivästää palveluiden aktivointia siihen asti että joku yrittää niitä käyttää&lt;br /&gt;
&lt;br /&gt;
== Yksiköt ==&lt;br /&gt;
Tavallisimmin systemd:n tarjoamia työkaluja käytetään palveluiden, kuten [[sshd]] tai [[Cups]], hallintaan. Systemd hallitsee palveluiden lisäksi myös muutamaa muunlaista asiaa. Erilaisille systemd:lla käsiteltäville asioille yhteinen termi on &#039;&#039;yksikkö&#039;&#039; (englanniksi unit).&lt;br /&gt;
&lt;br /&gt;
Erityyppiset yksiköt erottaa toisistaan helposti nimen loppuosan perusteella. Palvelut päättyvät aina &amp;lt;tt&amp;gt;.service&amp;lt;/tt&amp;gt;-merkkijonoon, kun taas esimerkiksi tiedostojärjestelmien liitospisteitä vastaavien yksiköiden nimien lopussa on aina &amp;lt;tt&amp;gt;.mount&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Erityyppisten yksiköiden olemassaolo kannattaa huomioida systemd:n työkaluja käyttäessä. Usein järjestelmää hallittaessa tarvitsee käsitellä lähinnä &amp;lt;tt&amp;gt;.service&amp;lt;/tt&amp;gt;- ja &amp;lt;tt&amp;gt;.socket&amp;lt;/tt&amp;gt; -tyyppisiä yksiköitä.&lt;br /&gt;
&lt;br /&gt;
== systemctl ==&lt;br /&gt;
systemctl-työkalua käytetään systemd:n ohjaamiseen. Sen avulla voidaan varsinkin hallita palveluiden käynnistymistä ja sammuttamista. Tässä on käytetty esimerkkinä [[Avahi]]-palvelun mukana tulevaa avahi-daemon.serviceä, mutta komennot toimivat vastaavasti myös monille muille palveluille.&lt;br /&gt;
&lt;br /&gt;
=== Tietoa palveluista ===&lt;br /&gt;
systemctl:n list-units -komennolla saa listauksen kaikista järjestelmän palveluista. Ilman --all -valitsinta saa listauksen vain aktiivisista yksiköistä.&lt;br /&gt;
Lisäksi --full -valitsin on usein tarpeellinen jotta pitkät yksikönnimet saa kokonaan näkyviin. &lt;br /&gt;
 systemctl list-units --all&lt;br /&gt;
&lt;br /&gt;
systemctl:n status-komennolla saa selvitettyä tärkeimmät yhteen yksikköön liittyvät tiedot.&lt;br /&gt;
 systemctl status avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
Tämän tulisi tulostaa jotain seuraavanlaista:&lt;br /&gt;
 avahi-daemon.service - Avahi mDNS/DNS-SD Stack&lt;br /&gt;
 Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled)&lt;br /&gt;
 Active: active (running) since Thu, 27 Oct 2011 10:15:57 +0300; 7h ago&lt;br /&gt;
 Main PID: 889 (avahi-daemon)&lt;br /&gt;
 Status: &amp;quot;avahi-daemon 0.6.30 starting up.&amp;quot;&lt;br /&gt;
 CGroup: name=systemd:/system/avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
Show-komennolla puolestaan saa pidemmän listauksen avahi-daemon.serviceen liittyvistä tiedoista. Se voi olla hyödyllistä esimerkiksi yksikkötiedostoja kirjoitettaessa.&lt;br /&gt;
 systemctl show avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
=== Palveluiden käynnistäminen ja pysäyttäminen ===&lt;br /&gt;
 # Käynnistä Avahi-palvelu&lt;br /&gt;
 systemctl start avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
 # Pysäyttäminen vastaavasti stop-käskyllä:&lt;br /&gt;
 systemctl stop avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
=== Automaattisesti käynnistettävät palvelut ===&lt;br /&gt;
Edellämainitut start- ja stop-komennot käynnistävät ja pysäyttävät yksikön, mutta ne eivät vaikuta siihen, mitä käynnistetään automaattisesti. Tähän sen sijaan käytettäisiin systemctl:n enable- ja disable-komentoja.&lt;br /&gt;
&lt;br /&gt;
 # Käynnistä sshd.service automaattisesti järjestelmän käynnistyessä&lt;br /&gt;
 systemctl enable sshd.service&lt;br /&gt;
&lt;br /&gt;
 # Poista sshd.service automaattisesti käynnistettävien yksiköiden joukosta&lt;br /&gt;
 systemctl disable sshd.service&lt;br /&gt;
&lt;br /&gt;
== Journal ==&lt;br /&gt;
systemd:n mukana tulee journaliksi kutsuttu lokivarasto, johon kerätään muun&lt;br /&gt;
muassa [[dmesg]] -komennonkin tulostama kernelin loki, [[syslog]] -viestit&lt;br /&gt;
ja palveluiden ns. stdout/stderr -viestit.&lt;br /&gt;
&lt;br /&gt;
Viestit tallentuvat normaalisti &amp;lt;tt&amp;gt;/var/log/journal/&amp;lt;/tt&amp;gt; -hakemistossa&lt;br /&gt;
sijaitseviin tiedostoihin. Toisin kuin monet muut lokitiedostot, journalin&lt;br /&gt;
tiedostot eivät ole [[tekstitiedosto]]ja. Tämän takia esimerkiksi&lt;br /&gt;
perinteinen [[grep]] -työkalu ei suoraan sovellu niiden käsittelyyn yhtä&lt;br /&gt;
hyvin kuin perinteisten syslog-palveluiden ylläpitämien tekstimuitoisten&lt;br /&gt;
lokien käsittelyyn.&lt;br /&gt;
&lt;br /&gt;
Journalin sisältöä voi tarkastella systemd:n &amp;lt;tt&amp;gt;journalctl&amp;lt;/tt&amp;gt; -komennolla.&lt;br /&gt;
Yksinkertaisimmillaan komennon voi ajaa ilman parametreja:&lt;br /&gt;
 journalctl&lt;br /&gt;
Näin kutsuttuna journalctl näyttää kaikki journaliin tallennetut viestit.&lt;br /&gt;
Oletuksena viestit näytetään tekstinä, jonka asettelu muistuttaa perinteistä&lt;br /&gt;
syslog-lokitiedostoissa käytettyä asettelua. Vaikka journalctl normaalisti&lt;br /&gt;
terminaalissa ajettuna automaattisesti avaa lokiviestit [[less]]in sisään,&lt;br /&gt;
voi sen tulosteen myös putkittaa muille prosesseille:&lt;br /&gt;
 journalctl | grep avahi-daemon&lt;br /&gt;
Näin voisi esimerkiksi hakea lokista vain viestejä, jotka liittyvät&lt;br /&gt;
Avahi-palveluun. Mikäli journalctl:n stdout ei ole terminaali, se ei&lt;br /&gt;
käynnistä lessiä.&lt;br /&gt;
&lt;br /&gt;
=== Haku yksikön perusteella ===&lt;br /&gt;
Edellä esitettiin, kuinka grepin avulla voisi hakea journalista kaikki&lt;br /&gt;
avahiin liittyvät viestit. Esitetty tapa kuitenkin on jonkin verran epätarkka,&lt;br /&gt;
sillä myös muut kuin jonkun palvelun tekemät viestit voivat sisältää&lt;br /&gt;
hakuun liittyvän palvelun nimen.&lt;br /&gt;
&lt;br /&gt;
Jokaiseen journaliin kirjattuun viestiin kuitenkin erikseen merkitään,&lt;br /&gt;
mistä yksiköstä viesti on peräisin. Journalctl voi pyydettässä hyödyntää&lt;br /&gt;
tätä tietoa näytettävien lokitietojen rajaamiseen:&lt;br /&gt;
 journalctl -u avahi-daemon&lt;br /&gt;
Nyt journalctl:n pitäisi näyttää vain oikeasti avahi-daemon.servicesta peräisin&lt;br /&gt;
olevat viestit, vaikka journalissa olisi muitakin merkkijonon&lt;br /&gt;
&amp;lt;tt&amp;gt;avahi-daemon&amp;lt;/tt&amp;gt; sisältäviä viestejä.&lt;br /&gt;
&lt;br /&gt;
=== Haku käynnistyskierroksen perusteella ===&lt;br /&gt;
Usein halutaan katsoa vain lokeja alkaen vain siitä hetkestä, kun kone viimeksi&lt;br /&gt;
käynnistettiin. Tähän voi hyödyntää journalctl:n &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; -valitsinta:&lt;br /&gt;
 journalctl -b&lt;br /&gt;
Tämä näyttää kaikki nykyiseen käynnistyskierrokseen liittyvät viestit.&lt;br /&gt;
Valitsimen voi yhdistää myös esimerkiksi edellä esiteltyyn &amp;lt;tt&amp;gt;-u&amp;lt;/tt&amp;gt; -valitsimeen:&lt;br /&gt;
 journalctl -b -u avahi-daemon&lt;br /&gt;
&lt;br /&gt;
Oletuksena &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; -valitsin näyttää nykyisen käynnistyskierroksen, mutta&lt;br /&gt;
se voi myös ottaa vastaan parametrin, jolla valitaan joku muu käynnistyskierros.&lt;br /&gt;
Parametrista ehkä tavallisimmin tarpeellinen on negatiivinen numero, joilla saa&lt;br /&gt;
valittua uusia käynnistyskierroksia:&lt;br /&gt;
 journalctl -b -1&lt;br /&gt;
 journalctl -b -2&lt;br /&gt;
Komennoista ylempi näyttää nykyistä edeltävän käynnistyskierroksen viestit ja&lt;br /&gt;
jälkimmäinen sitä edeltävän kierroksen viestit.&lt;br /&gt;
&lt;br /&gt;
Myös positiivisia numeroita voi käyttää. Niissä esimerkiksi 1 vastaa vanhinta&lt;br /&gt;
journaliin tallentunutta käynnistyskierrosta, ja 2 toiseksi vanhinta.&lt;br /&gt;
&lt;br /&gt;
Mikäli on vaikea tietää tai muistaa, monenko käynnistyskerran takana joku&lt;br /&gt;
kiinnostava osa lokia on mutta haettu ajankohta on tiedosssa, voi ajankohtaa&lt;br /&gt;
vastaavan käynnistyskierrosnumeron selvittää &amp;lt;tt&amp;gt;--list-boots&amp;lt;/tt&amp;gt; -valitsimella:&lt;br /&gt;
 journalctl --list-boots&lt;br /&gt;
&lt;br /&gt;
=== Haku päivämäärän mukaan ===&lt;br /&gt;
Esimerkiksi tietyn viikon viestit voi hakea &amp;lt;tt&amp;gt;--since&amp;lt;/tt&amp;gt; -valitsimen ja&lt;br /&gt;
&amp;lt;tt&amp;gt;--until&amp;lt;/tt&amp;gt; -valitsimen avulla:&lt;br /&gt;
 journalctl --since 2014-04-07 --until 2014-04-13&lt;br /&gt;
&lt;br /&gt;
== Omat yksikkötiedostot ==&lt;br /&gt;
Suurin osa käyttäjistä tulee toimeen ohjelmien mukana tulevilla yksikkötiedostoilla, mutta toisinaan on tarvetta joko muokata olemassaolevia yksiköitä tai luoda kokonaan uusia. Kumpikin on suhteellisen helppoa, sillä yksikkötiedostot ovat yksinkertaisehkoja tekstitiedostoja. Tiedostoformaatti on dokumentoitu &amp;lt;tt&amp;gt;systemd.unit&amp;lt;/tt&amp;gt;-nimisessä [[man]]-sivussa.&lt;br /&gt;
&lt;br /&gt;
Systemd-yksiköitä voivat tehdä myös muut kuin ylläpitäjäkäyttäjät. Lisäämällä hakemistoon &amp;lt;tt&amp;gt;~/.config/systemd/user/&amp;lt;/tt&amp;gt; yksikkötiedostoja, käyttäjä voi asettaa omia prosesseja käynnistettäväksi esimerkiksi järjestelmän käynnistyksen yhteydessä tai ajastimella. Käyttäjän omien systemd-yksiköiden ohjaamiseen käytetään komentojen nimissä aina &amp;lt;tt&amp;gt;--user&amp;lt;/tt&amp;gt;-parametria:&lt;br /&gt;
  systemctl --user start oma-palvelu.service&lt;br /&gt;
  journalctl --user&lt;br /&gt;
&lt;br /&gt;
=== Järjestelmän yksikkötiedostojen muokkaaminen ===&lt;br /&gt;
Järjestelmän mukana toimitettavat yksikkötiedostot sijaitsevat luultavasti &amp;lt;tt&amp;gt;/lib/systemd/system/&amp;lt;/tt&amp;gt;-hakemistossa. Niitä on mahdollista muokata suoraan sielläkin, mutta mieluummin kannattaa ottaa siellä sijaitsevasta yksiköstä kopio &amp;lt;tt&amp;gt;/etc/systemd/system/&amp;lt;/tt&amp;gt;-hakemistoon ja muokata sitä siellä. Tällöin systemd &amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt;:n alla sijaitsevaa yksikköä ennemmin kuin &amp;lt;tt&amp;gt;/lib&amp;lt;/tt&amp;gt;:n alla olevaa, ja ohjelmiston päivittyminen ei ylikirjoita paikallisesti tehtyjä muutoksia.&lt;br /&gt;
&lt;br /&gt;
=== Kokonaan uusien yksikkötiedostojen kirjoittaminen ===&lt;br /&gt;
Joskus on tarpeen luoda kokonaan uusia yksikköjä, esimerkiksi ajamaan joku komento aina koneen käynnistyessä tai pitämään käynnissä jotain ohjelmistoa jonka mukana ei tullut yksikköä systemd:lle.&lt;br /&gt;
&lt;br /&gt;
Myös itse kirjoitetut yksiköt kannattaa sijoittaa &amp;lt;tt&amp;gt;/etc/systemd/system/&amp;lt;/tt&amp;gt;-hakemistoon.&lt;br /&gt;
&lt;br /&gt;
Allaoleva esimerkkiyksikkö ajaa yksikköä käynnistettäessä yksinkertaisen komennon. Sitä voi kokeilla esimerkiksi kopioimalla sen sisällön &amp;lt;tt&amp;gt;/etc/systemd/system/hello.service&amp;lt;/tt&amp;gt;-nimiseen tiedostoon.&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=A simple example service unit that runs a command when started&lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/bin/echo Hello!&lt;br /&gt;
&lt;br /&gt;
Yksikkötiedostoformaatissa erilaisia direktiivejä on kymmeniä, mutta jossain tapauksissa ihan muutama niistä riittää. Usein kannattaa katsoa mallia järjestelmän mukana toimituista yksiköistä &amp;lt;tt&amp;gt;/lib/systemd/system/&amp;lt;/tt&amp;gt; -hakemistosta ja systemd:n dokumentaatiosta.&lt;br /&gt;
&lt;br /&gt;
=== Ajastimet ===&lt;br /&gt;
Systemd tarjoaa perinteisen [[cron]]-palvelun tapaiset toiminnot komentojen ajastamiseen. Esimerkiksi edellisessä kohdassa tehty hello-palvelu voitaisiin ajastaa käynnistymään kymmenen minuutin välein luomalla tiedosto &amp;lt;tt&amp;gt;/etc/systemd/system/hello.timer&amp;lt;/tt&amp;gt; tähän tapaan:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ajetaan hello-palvelu kymmenen minuutin välein&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
# Ensimmäinen ajo 10 minuuttia järjestelmän käynnistyksen jälkeen&lt;br /&gt;
OnBootSec=10min&lt;br /&gt;
# Ajetaan uudelleen 10 minuuttia edellisen ajon päätyttyä jälkeen&lt;br /&gt;
OnUnitInactiveSec=10min&lt;br /&gt;
Unit=hello.service&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näin luodut uudet yksiköt on sitten tarpeellista kytkeä päälle ja käynnistää:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
systemctl enable hello.service&lt;br /&gt;
systemctl enable hello.timer&lt;br /&gt;
systemctl start hello.timer&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajastimet voidaan listata &amp;lt;code&amp;gt;systemctl list-timers&amp;lt;/code&amp;gt; -komennolla. Esimerkkituloste:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
NEXT                          LEFT          LAST                          PASSED       UNIT                         ACTIVATES&lt;br /&gt;
Mon 2018-08-27 18:20:15 EEST  1h 23min left Mon 2018-08-27 12:16:49 EEST  4h 39min ago certbot.timer                certbot.service&lt;br /&gt;
Mon 2018-08-27 23:31:44 EEST  6h left       Sun 2018-08-26 23:31:44 EEST  17h ago      systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      logrotate.timer              logrotate.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      man-db.timer                 man-db.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      shadow.timer                 shadow.service&lt;br /&gt;
&lt;br /&gt;
5 timers listed.&lt;br /&gt;
Pass --all to see loaded but inactive timers, too.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verkon hallinta ==&lt;br /&gt;
&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/systemd.network.html&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/systemd.netdev.html - virtuaaliset verkkoliitännät&lt;br /&gt;
* &amp;lt;code&amp;gt;networkctl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;systemctl status systemd-networkd&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;systemctl status systemd-networkd-wait-online.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kiinteä IP-osoite ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/systemd/network/eth0.network&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
# Verkkokortin nimi&lt;br /&gt;
Name=eth0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
Description=eth0:n kiinteä verkko&lt;br /&gt;
DHCP=no&lt;br /&gt;
Address=192.168.1.11/24&lt;br /&gt;
# Gateway IP Address&lt;br /&gt;
Gateway=192.168.1.1&lt;br /&gt;
# DNS server address&lt;br /&gt;
DNS=192.168.1.1&lt;br /&gt;
#Domains=home.lan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/systemd/network/eth0.network&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
# Verkkokortin nimi&lt;br /&gt;
Name=eth0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
Description=eth0:n verkko DHCP:lla&lt;br /&gt;
# DHCP no|yes|ipv4|ipv6&lt;br /&gt;
DHCP=ipv4&lt;br /&gt;
# DNS server address&lt;br /&gt;
#DNS=192.168.101.1&lt;br /&gt;
#Domains=home.lan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verkkokortin nimen vaihtaminen (.link) ===&lt;br /&gt;
&lt;br /&gt;
Verkkokorttien nimiä voidaan vaihtaa SystemD:n &amp;lt;code&amp;gt;.link&amp;lt;/code&amp;gt;-tiedostoilla. Verkkokortin uudelleennimeäminen on hyödyksi silloin, kun esimerkiksi palomuurisääntöjä pitää voida helpommin siirtää järjestelmästä toiseen.&lt;br /&gt;
Tässä esimerkissä verkkokortti nimeltä &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; uudelleennimetään &amp;lt;code&amp;gt;phy0&amp;lt;/code&amp;gt;-nimiseksi. &lt;br /&gt;
&lt;br /&gt;
Listataan verkkokortit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ip link&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
2: eno1: &amp;lt;BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 74:d0:2b:2c:6e:d7 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Luodaan &amp;lt;code&amp;gt;/etc/systemd/network/10-phy0.link&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
# Käytetään MAC-osoitetta tunnistamaan verkkokortti&lt;br /&gt;
MACAddress=74:d0:2b:2c:6e:d7&lt;br /&gt;
&lt;br /&gt;
[Link]&lt;br /&gt;
# Uusi nimi&lt;br /&gt;
Name=phy0&lt;br /&gt;
Description=USB-portin vasemmalla puolella oleva ylempi verkkokortti&lt;br /&gt;
MACAddressPolicy=persistent&lt;br /&gt;
# Käännä verkkokortin rautakiihdytettyjä ominaisuuksia pois päältä (offloading)&lt;br /&gt;
# ethtool-ohjelmalla näitä voidaan hallita vielä monipuolisimmin&lt;br /&gt;
#TCPSegmentationOffload=off&lt;br /&gt;
#TCP6SegmentationOffload=off&lt;br /&gt;
#GenericSegmentationOffload=off&lt;br /&gt;
#GenericReceiveOffload=off&lt;br /&gt;
#LargeReceiveOffload=off&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisätietoa: https://www.freedesktop.org/software/systemd/man/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
== Muita Init-järjestelmiä ==&lt;br /&gt;
Vaikka Systemd on aika laajasti käytössä, ei se silti ole ainoa init-järjestelmä. Esimerkiksi perinteinen [[Sysvinit]], uudempi [[OpenRC]] tai [https://cr.yp.to/daemontools.html daemontools] ovat tapoja hoitaa järjestelmän käynnistäminen. Helpointa on käyttää Linux-jakelua, josta kyseinen init-järjestelmä löytyy. Esimerkiksi [[Gentoo]] käyttää OpenRC:tä.&lt;br /&gt;
&lt;br /&gt;
==Katso myös==&lt;br /&gt;
* [[:archwiki:Systemd|Arch Wikin Systemd-artikkeli]]&lt;br /&gt;
* [http://without-systemd.org/wiki/index.php/Main_Page Without-Systemd-wiki], jossa on laajemmin systemd:n vaihtoehtoja käsitelty, lisäksi argumentteja, miksi systemd:tä ei välttämättä kannata käyttää sekä ohjeistuksia systemd:n poistamiseen ja korvaamiseen esim. [[:archwiki:OpenRC|OpenRC:llä. (Arch Wiki)]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka: Järjestelmä]]&lt;br /&gt;
{{Malline:Palvelin}}&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Systemd&amp;diff=48971</id>
		<title>Systemd</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Systemd&amp;diff=48971"/>
		<updated>2019-06-04T13:30:53Z</updated>

		<summary type="html">&lt;p&gt;Raspi: + IP, DHCP, .link udev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;systemd&#039;&#039;&#039; on käyttöjärjestelmän ja siinä ajettavien palveluiden käynnistymistä ja sammuttamista ohjaava ns. [[init]]-järjestelmä. Useimmat jakelut ovat siirtyneet käyttämään systemd-järjestelmää.&lt;br /&gt;
&lt;br /&gt;
== Ominaisuuksia ==&lt;br /&gt;
* Nopeuttaa järjestelmän käynnistymistä suorittamalla toisistaan riippumattomia tehtäviä rinnakkaisesti&lt;br /&gt;
* Tarjoaa valmiita toimintoja joilla voidaan korvata pitkiä perinteisten [[init]]-järjestelmien komentosarjoja&lt;br /&gt;
* Käyttää Linuxin [[control group]] -toimintoa prosessien seuraamiseen&lt;br /&gt;
* Yhteensopiva [[System V init]] -komentosarjojen kanssa&lt;br /&gt;
* Tarvittaessa viivästää palveluiden aktivointia siihen asti että joku yrittää niitä käyttää&lt;br /&gt;
&lt;br /&gt;
== Yksiköt ==&lt;br /&gt;
Tavallisimmin systemd:n tarjoamia työkaluja käytetään palveluiden, kuten [[sshd]] tai [[Cups]], hallintaan. Systemd hallitsee palveluiden lisäksi myös muutamaa muunlaista asiaa. Erilaisille systemd:lla käsiteltäville asioille yhteinen termi on &#039;&#039;yksikkö&#039;&#039; (englanniksi unit).&lt;br /&gt;
&lt;br /&gt;
Erityyppiset yksiköt erottaa toisistaan helposti nimen loppuosan perusteella. Palvelut päättyvät aina &amp;lt;tt&amp;gt;.service&amp;lt;/tt&amp;gt;-merkkijonoon, kun taas esimerkiksi tiedostojärjestelmien liitospisteitä vastaavien yksiköiden nimien lopussa on aina &amp;lt;tt&amp;gt;.mount&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Erityyppisten yksiköiden olemassaolo kannattaa huomioida systemd:n työkaluja käyttäessä. Usein järjestelmää hallittaessa tarvitsee käsitellä lähinnä &amp;lt;tt&amp;gt;.service&amp;lt;/tt&amp;gt;- ja &amp;lt;tt&amp;gt;.socket&amp;lt;/tt&amp;gt; -tyyppisiä yksiköitä.&lt;br /&gt;
&lt;br /&gt;
== systemctl ==&lt;br /&gt;
systemctl-työkalua käytetään systemd:n ohjaamiseen. Sen avulla voidaan varsinkin hallita palveluiden käynnistymistä ja sammuttamista. Tässä on käytetty esimerkkinä [[Avahi]]-palvelun mukana tulevaa avahi-daemon.serviceä, mutta komennot toimivat vastaavasti myös monille muille palveluille.&lt;br /&gt;
&lt;br /&gt;
=== Tietoa palveluista ===&lt;br /&gt;
systemctl:n list-units -komennolla saa listauksen kaikista järjestelmän palveluista. Ilman --all -valitsinta saa listauksen vain aktiivisista yksiköistä.&lt;br /&gt;
Lisäksi --full -valitsin on usein tarpeellinen jotta pitkät yksikönnimet saa kokonaan näkyviin. &lt;br /&gt;
 systemctl list-units --all&lt;br /&gt;
&lt;br /&gt;
systemctl:n status-komennolla saa selvitettyä tärkeimmät yhteen yksikköön liittyvät tiedot.&lt;br /&gt;
 systemctl status avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
Tämän tulisi tulostaa jotain seuraavanlaista:&lt;br /&gt;
 avahi-daemon.service - Avahi mDNS/DNS-SD Stack&lt;br /&gt;
 Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled)&lt;br /&gt;
 Active: active (running) since Thu, 27 Oct 2011 10:15:57 +0300; 7h ago&lt;br /&gt;
 Main PID: 889 (avahi-daemon)&lt;br /&gt;
 Status: &amp;quot;avahi-daemon 0.6.30 starting up.&amp;quot;&lt;br /&gt;
 CGroup: name=systemd:/system/avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
Show-komennolla puolestaan saa pidemmän listauksen avahi-daemon.serviceen liittyvistä tiedoista. Se voi olla hyödyllistä esimerkiksi yksikkötiedostoja kirjoitettaessa.&lt;br /&gt;
 systemctl show avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
=== Palveluiden käynnistäminen ja pysäyttäminen ===&lt;br /&gt;
 # Käynnistä Avahi-palvelu&lt;br /&gt;
 systemctl start avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
 # Pysäyttäminen vastaavasti stop-käskyllä:&lt;br /&gt;
 systemctl stop avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
=== Automaattisesti käynnistettävät palvelut ===&lt;br /&gt;
Edellämainitut start- ja stop-komennot käynnistävät ja pysäyttävät yksikön, mutta ne eivät vaikuta siihen, mitä käynnistetään automaattisesti. Tähän sen sijaan käytettäisiin systemctl:n enable- ja disable-komentoja.&lt;br /&gt;
&lt;br /&gt;
 # Käynnistä sshd.service automaattisesti järjestelmän käynnistyessä&lt;br /&gt;
 systemctl enable sshd.service&lt;br /&gt;
&lt;br /&gt;
 # Poista sshd.service automaattisesti käynnistettävien yksiköiden joukosta&lt;br /&gt;
 systemctl disable sshd.service&lt;br /&gt;
&lt;br /&gt;
== Journal ==&lt;br /&gt;
systemd:n mukana tulee journaliksi kutsuttu lokivarasto, johon kerätään muun&lt;br /&gt;
muassa [[dmesg]] -komennonkin tulostama kernelin loki, [[syslog]] -viestit&lt;br /&gt;
ja palveluiden ns. stdout/stderr -viestit.&lt;br /&gt;
&lt;br /&gt;
Viestit tallentuvat normaalisti &amp;lt;tt&amp;gt;/var/log/journal/&amp;lt;/tt&amp;gt; -hakemistossa&lt;br /&gt;
sijaitseviin tiedostoihin. Toisin kuin monet muut lokitiedostot, journalin&lt;br /&gt;
tiedostot eivät ole [[tekstitiedosto]]ja. Tämän takia esimerkiksi&lt;br /&gt;
perinteinen [[grep]] -työkalu ei suoraan sovellu niiden käsittelyyn yhtä&lt;br /&gt;
hyvin kuin perinteisten syslog-palveluiden ylläpitämien tekstimuitoisten&lt;br /&gt;
lokien käsittelyyn.&lt;br /&gt;
&lt;br /&gt;
Journalin sisältöä voi tarkastella systemd:n &amp;lt;tt&amp;gt;journalctl&amp;lt;/tt&amp;gt; -komennolla.&lt;br /&gt;
Yksinkertaisimmillaan komennon voi ajaa ilman parametreja:&lt;br /&gt;
 journalctl&lt;br /&gt;
Näin kutsuttuna journalctl näyttää kaikki journaliin tallennetut viestit.&lt;br /&gt;
Oletuksena viestit näytetään tekstinä, jonka asettelu muistuttaa perinteistä&lt;br /&gt;
syslog-lokitiedostoissa käytettyä asettelua. Vaikka journalctl normaalisti&lt;br /&gt;
terminaalissa ajettuna automaattisesti avaa lokiviestit [[less]]in sisään,&lt;br /&gt;
voi sen tulosteen myös putkittaa muille prosesseille:&lt;br /&gt;
 journalctl | grep avahi-daemon&lt;br /&gt;
Näin voisi esimerkiksi hakea lokista vain viestejä, jotka liittyvät&lt;br /&gt;
Avahi-palveluun. Mikäli journalctl:n stdout ei ole terminaali, se ei&lt;br /&gt;
käynnistä lessiä.&lt;br /&gt;
&lt;br /&gt;
=== Haku yksikön perusteella ===&lt;br /&gt;
Edellä esitettiin, kuinka grepin avulla voisi hakea journalista kaikki&lt;br /&gt;
avahiin liittyvät viestit. Esitetty tapa kuitenkin on jonkin verran epätarkka,&lt;br /&gt;
sillä myös muut kuin jonkun palvelun tekemät viestit voivat sisältää&lt;br /&gt;
hakuun liittyvän palvelun nimen.&lt;br /&gt;
&lt;br /&gt;
Jokaiseen journaliin kirjattuun viestiin kuitenkin erikseen merkitään,&lt;br /&gt;
mistä yksiköstä viesti on peräisin. Journalctl voi pyydettässä hyödyntää&lt;br /&gt;
tätä tietoa näytettävien lokitietojen rajaamiseen:&lt;br /&gt;
 journalctl -u avahi-daemon&lt;br /&gt;
Nyt journalctl:n pitäisi näyttää vain oikeasti avahi-daemon.servicesta peräisin&lt;br /&gt;
olevat viestit, vaikka journalissa olisi muitakin merkkijonon&lt;br /&gt;
&amp;lt;tt&amp;gt;avahi-daemon&amp;lt;/tt&amp;gt; sisältäviä viestejä.&lt;br /&gt;
&lt;br /&gt;
=== Haku käynnistyskierroksen perusteella ===&lt;br /&gt;
Usein halutaan katsoa vain lokeja alkaen vain siitä hetkestä, kun kone viimeksi&lt;br /&gt;
käynnistettiin. Tähän voi hyödyntää journalctl:n &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; -valitsinta:&lt;br /&gt;
 journalctl -b&lt;br /&gt;
Tämä näyttää kaikki nykyiseen käynnistyskierrokseen liittyvät viestit.&lt;br /&gt;
Valitsimen voi yhdistää myös esimerkiksi edellä esiteltyyn &amp;lt;tt&amp;gt;-u&amp;lt;/tt&amp;gt; -valitsimeen:&lt;br /&gt;
 journalctl -b -u avahi-daemon&lt;br /&gt;
&lt;br /&gt;
Oletuksena &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; -valitsin näyttää nykyisen käynnistyskierroksen, mutta&lt;br /&gt;
se voi myös ottaa vastaan parametrin, jolla valitaan joku muu käynnistyskierros.&lt;br /&gt;
Parametrista ehkä tavallisimmin tarpeellinen on negatiivinen numero, joilla saa&lt;br /&gt;
valittua uusia käynnistyskierroksia:&lt;br /&gt;
 journalctl -b -1&lt;br /&gt;
 journalctl -b -2&lt;br /&gt;
Komennoista ylempi näyttää nykyistä edeltävän käynnistyskierroksen viestit ja&lt;br /&gt;
jälkimmäinen sitä edeltävän kierroksen viestit.&lt;br /&gt;
&lt;br /&gt;
Myös positiivisia numeroita voi käyttää. Niissä esimerkiksi 1 vastaa vanhinta&lt;br /&gt;
journaliin tallentunutta käynnistyskierrosta, ja 2 toiseksi vanhinta.&lt;br /&gt;
&lt;br /&gt;
Mikäli on vaikea tietää tai muistaa, monenko käynnistyskerran takana joku&lt;br /&gt;
kiinnostava osa lokia on mutta haettu ajankohta on tiedosssa, voi ajankohtaa&lt;br /&gt;
vastaavan käynnistyskierrosnumeron selvittää &amp;lt;tt&amp;gt;--list-boots&amp;lt;/tt&amp;gt; -valitsimella:&lt;br /&gt;
 journalctl --list-boots&lt;br /&gt;
&lt;br /&gt;
=== Haku päivämäärän mukaan ===&lt;br /&gt;
Esimerkiksi tietyn viikon viestit voi hakea &amp;lt;tt&amp;gt;--since&amp;lt;/tt&amp;gt; -valitsimen ja&lt;br /&gt;
&amp;lt;tt&amp;gt;--until&amp;lt;/tt&amp;gt; -valitsimen avulla:&lt;br /&gt;
 journalctl --since 2014-04-07 --until 2014-04-13&lt;br /&gt;
&lt;br /&gt;
== Omat yksikkötiedostot ==&lt;br /&gt;
Suurin osa käyttäjistä tulee toimeen ohjelmien mukana tulevilla yksikkötiedostoilla, mutta toisinaan on tarvetta joko muokata olemassaolevia yksiköitä tai luoda kokonaan uusia. Kumpikin on suhteellisen helppoa, sillä yksikkötiedostot ovat yksinkertaisehkoja tekstitiedostoja. Tiedostoformaatti on dokumentoitu &amp;lt;tt&amp;gt;systemd.unit&amp;lt;/tt&amp;gt;-nimisessä [[man]]-sivussa.&lt;br /&gt;
&lt;br /&gt;
Systemd-yksiköitä voivat tehdä myös muut kuin ylläpitäjäkäyttäjät. Lisäämällä hakemistoon &amp;lt;tt&amp;gt;~/.config/systemd/user/&amp;lt;/tt&amp;gt; yksikkötiedostoja, käyttäjä voi asettaa omia prosesseja käynnistettäväksi esimerkiksi järjestelmän käynnistyksen yhteydessä tai ajastimella. Käyttäjän omien systemd-yksiköiden ohjaamiseen käytetään komentojen nimissä aina &amp;lt;tt&amp;gt;--user&amp;lt;/tt&amp;gt;-parametria:&lt;br /&gt;
  systemctl --user start oma-palvelu.service&lt;br /&gt;
  journalctl --user&lt;br /&gt;
&lt;br /&gt;
=== Järjestelmän yksikkötiedostojen muokkaaminen ===&lt;br /&gt;
Järjestelmän mukana toimitettavat yksikkötiedostot sijaitsevat luultavasti &amp;lt;tt&amp;gt;/lib/systemd/system/&amp;lt;/tt&amp;gt;-hakemistossa. Niitä on mahdollista muokata suoraan sielläkin, mutta mieluummin kannattaa ottaa siellä sijaitsevasta yksiköstä kopio &amp;lt;tt&amp;gt;/etc/systemd/system/&amp;lt;/tt&amp;gt;-hakemistoon ja muokata sitä siellä. Tällöin systemd &amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt;:n alla sijaitsevaa yksikköä ennemmin kuin &amp;lt;tt&amp;gt;/lib&amp;lt;/tt&amp;gt;:n alla olevaa, ja ohjelmiston päivittyminen ei ylikirjoita paikallisesti tehtyjä muutoksia.&lt;br /&gt;
&lt;br /&gt;
=== Kokonaan uusien yksikkötiedostojen kirjoittaminen ===&lt;br /&gt;
Joskus on tarpeen luoda kokonaan uusia yksikköjä, esimerkiksi ajamaan joku komento aina koneen käynnistyessä tai pitämään käynnissä jotain ohjelmistoa jonka mukana ei tullut yksikköä systemd:lle.&lt;br /&gt;
&lt;br /&gt;
Myös itse kirjoitetut yksiköt kannattaa sijoittaa &amp;lt;tt&amp;gt;/etc/systemd/system/&amp;lt;/tt&amp;gt;-hakemistoon.&lt;br /&gt;
&lt;br /&gt;
Allaoleva esimerkkiyksikkö ajaa yksikköä käynnistettäessä yksinkertaisen komennon. Sitä voi kokeilla esimerkiksi kopioimalla sen sisällön &amp;lt;tt&amp;gt;/etc/systemd/system/hello.service&amp;lt;/tt&amp;gt;-nimiseen tiedostoon.&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=A simple example service unit that runs a command when started&lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/bin/echo Hello!&lt;br /&gt;
&lt;br /&gt;
Yksikkötiedostoformaatissa erilaisia direktiivejä on kymmeniä, mutta jossain tapauksissa ihan muutama niistä riittää. Usein kannattaa katsoa mallia järjestelmän mukana toimituista yksiköistä &amp;lt;tt&amp;gt;/lib/systemd/system/&amp;lt;/tt&amp;gt; -hakemistosta ja systemd:n dokumentaatiosta.&lt;br /&gt;
&lt;br /&gt;
=== Ajastimet ===&lt;br /&gt;
Systemd tarjoaa perinteisen [[cron]]-palvelun tapaiset toiminnot komentojen ajastamiseen. Esimerkiksi edellisessä kohdassa tehty hello-palvelu voitaisiin ajastaa käynnistymään kymmenen minuutin välein luomalla tiedosto &amp;lt;tt&amp;gt;/etc/systemd/system/hello.timer&amp;lt;/tt&amp;gt; tähän tapaan:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ajetaan hello-palvelu kymmenen minuutin välein&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
# Ensimmäinen ajo 10 minuuttia järjestelmän käynnistyksen jälkeen&lt;br /&gt;
OnBootSec=10min&lt;br /&gt;
# Ajetaan uudelleen 10 minuuttia edellisen ajon päätyttyä jälkeen&lt;br /&gt;
OnUnitInactiveSec=10min&lt;br /&gt;
Unit=hello.service&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näin luodut uudet yksiköt on sitten tarpeellista kytkeä päälle ja käynnistää:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
systemctl enable hello.service&lt;br /&gt;
systemctl enable hello.timer&lt;br /&gt;
systemctl start hello.timer&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajastimet voidaan listata &amp;lt;code&amp;gt;systemctl list-timers&amp;lt;/code&amp;gt; -komennolla. Esimerkkituloste:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
NEXT                          LEFT          LAST                          PASSED       UNIT                         ACTIVATES&lt;br /&gt;
Mon 2018-08-27 18:20:15 EEST  1h 23min left Mon 2018-08-27 12:16:49 EEST  4h 39min ago certbot.timer                certbot.service&lt;br /&gt;
Mon 2018-08-27 23:31:44 EEST  6h left       Sun 2018-08-26 23:31:44 EEST  17h ago      systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      logrotate.timer              logrotate.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      man-db.timer                 man-db.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      shadow.timer                 shadow.service&lt;br /&gt;
&lt;br /&gt;
5 timers listed.&lt;br /&gt;
Pass --all to see loaded but inactive timers, too.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verkon hallinta ==&lt;br /&gt;
&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/systemd.network.html&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/systemd.netdev.html - virtuaaliset verkkoliitännät&lt;br /&gt;
* &amp;lt;code&amp;gt;networkctl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;systemctl status systemd-networkd&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;systemctl status systemd-networkd-wait-online.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kiinteä IP-osoite ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/systemd/network/eth0.network&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
# Verkkokortin nimi&lt;br /&gt;
Name=eth0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
Description=eth0:n kiinteä verkko&lt;br /&gt;
Address=192.168.1.11/24&lt;br /&gt;
# Gateway IP Address&lt;br /&gt;
Gateway=192.168.1.1&lt;br /&gt;
# DNS server address&lt;br /&gt;
DNS=192.168.1.1&lt;br /&gt;
#Domains=home.lan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/systemd/network/eth0.network&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
# Verkkokortin nimi&lt;br /&gt;
Name=eth0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
Description=eth0:n verkko DHCP:lla&lt;br /&gt;
# DHCP no|yes|ipv4|ipv6&lt;br /&gt;
DHCP=ipv4&lt;br /&gt;
# DNS server address&lt;br /&gt;
#DNS=192.168.101.1&lt;br /&gt;
#Domains=home.lan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Verkkokortin nimen vaihtaminen (.link) ===&lt;br /&gt;
&lt;br /&gt;
Verkkokorttien nimiä voidaan vaihtaa SystemD:n &amp;lt;code&amp;gt;.link&amp;lt;/code&amp;gt;-tiedostoilla. Verkkokortin uudelleennimeäminen on hyödyksi silloin, kun esimerkiksi palomuurisääntöjä pitää voida helpommin siirtää järjestelmästä toiseen.&lt;br /&gt;
Tässä esimerkissä verkkokortti nimeltä &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; uudelleennimetään &amp;lt;code&amp;gt;phy0&amp;lt;/code&amp;gt;-nimiseksi. &lt;br /&gt;
&lt;br /&gt;
Listataan verkkokortit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ip link&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
2: eno1: &amp;lt;BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 74:d0:2b:2c:6e:d7 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Luodaan &amp;lt;code&amp;gt;/etc/systemd/network/10-phy0.link&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
# Käytetään MAC-osoitetta tunnistamaan verkkokortti&lt;br /&gt;
MACAddress=74:d0:2b:2c:6e:d7&lt;br /&gt;
&lt;br /&gt;
[Link]&lt;br /&gt;
# Uusi nimi&lt;br /&gt;
Name=phy0&lt;br /&gt;
Description=USB-portin vasemmalla puolella oleva ylempi verkkokortti&lt;br /&gt;
MACAddressPolicy=persistent&lt;br /&gt;
# Käännä verkkokortin rautakiihdytettyjä ominaisuuksia pois päältä (offloading)&lt;br /&gt;
# ethtool-ohjelmalla näitä voidaan hallita vielä monipuolisimmin&lt;br /&gt;
#TCPSegmentationOffload=off&lt;br /&gt;
#TCP6SegmentationOffload=off&lt;br /&gt;
#GenericSegmentationOffload=off&lt;br /&gt;
#GenericReceiveOffload=off&lt;br /&gt;
#LargeReceiveOffload=off&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisätietoa: https://www.freedesktop.org/software/systemd/man/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
== Muita Init-järjestelmiä ==&lt;br /&gt;
Vaikka Systemd on aika laajasti käytössä, ei se silti ole ainoa init-järjestelmä. Esimerkiksi perinteinen [[Sysvinit]], uudempi [[OpenRC]] tai [https://cr.yp.to/daemontools.html daemontools] ovat tapoja hoitaa järjestelmän käynnistäminen. Helpointa on käyttää Linux-jakelua, josta kyseinen init-järjestelmä löytyy. Esimerkiksi [[Gentoo]] käyttää OpenRC:tä.&lt;br /&gt;
&lt;br /&gt;
==Katso myös==&lt;br /&gt;
* [[:archwiki:Systemd|Arch Wikin Systemd-artikkeli]]&lt;br /&gt;
* [http://without-systemd.org/wiki/index.php/Main_Page Without-Systemd-wiki], jossa on laajemmin systemd:n vaihtoehtoja käsitelty, lisäksi argumentteja, miksi systemd:tä ei välttämättä kannata käyttää sekä ohjeistuksia systemd:n poistamiseen ja korvaamiseen esim. [[:archwiki:OpenRC|OpenRC:llä. (Arch Wiki)]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka: Järjestelmä]]&lt;br /&gt;
{{Malline:Palvelin}}&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Systemd&amp;diff=48187</id>
		<title>Systemd</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Systemd&amp;diff=48187"/>
		<updated>2018-08-27T14:05:59Z</updated>

		<summary type="html">&lt;p&gt;Raspi: /* Ajastimet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;systemd&#039;&#039;&#039; on käyttöjärjestelmän ja siinä ajettavien palveluiden käynnistymistä ja sammuttamista ohjaava ns. [[init]]-järjestelmä. Useimmat jakelut ovat siirtyneet käyttämään systemd-järjestelmää.&lt;br /&gt;
&lt;br /&gt;
== Ominaisuuksia ==&lt;br /&gt;
* Nopeuttaa järjestelmän käynnistymistä suorittamalla toisistaan riippumattomia tehtäviä rinnakkaisesti&lt;br /&gt;
* Tarjoaa valmiita toimintoja joilla voidaan korvata pitkiä perinteisten [[init]]-järjestelmien komentosarjoja&lt;br /&gt;
* Käyttää Linuxin [[control group]] -toimintoa prosessien seuraamiseen&lt;br /&gt;
* Yhteensopiva [[System V init]] -komentosarjojen kanssa&lt;br /&gt;
* Tarvittaesa viivästää palveluiden aktivointia siihen asti että joku yrittää niitä käyttää&lt;br /&gt;
&lt;br /&gt;
== Yksiköt ==&lt;br /&gt;
Tavallisimmin systemd:n tarjoamia työkaluja käytetään palveluiden, kuten [[ssh]]d tai [[Cups]], hallintaan. Systemd hallitsee palveluiden lisäksi myös muutamaa muunlaista asiaa. Erilaisille systemd:lla käsiteltäville asioille yhteinen termi on &#039;&#039;yksikkö&#039;&#039; (englanniksi unit).&lt;br /&gt;
&lt;br /&gt;
Erityyppiset yksiköt erottaa toisistaan helposti nimen loppuosan perusteella. Palvelut päättyvät aina &amp;lt;tt&amp;gt;.service&amp;lt;/tt&amp;gt;-merkkijonoon, kun taas esimerkiksi tiedostojärjestelmien liitospisteitä vastaavien yksiköiden nimien lopussa on aina &amp;lt;tt&amp;gt;.mount&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Erityyppisten yksiköiden olemassaolo kannattaa huomioida systemd:n työkaluja käyttäessä. Usein järjestelmää hallittaessa tarvitsee käsitellä lähinnä &amp;lt;tt&amp;gt;.service&amp;lt;/tt&amp;gt;- ja &amp;lt;tt&amp;gt;.socket&amp;lt;/tt&amp;gt; -tyyppisiä yksiköitä.&lt;br /&gt;
&lt;br /&gt;
== systemctl ==&lt;br /&gt;
systemctl-työkalua käytetään systemd:n ohjaamiseen. Sen avulla voidaan varsinkin hallita palveluiden käynnistymistä ja sammuttamista. Tässä on käytetty esimerkkinä [[Avahi]]-palvelun mukana tulevaa avahi-daemon.serviceä, mutta komennot toimivat vastaavasti myös monille muille palveluille.&lt;br /&gt;
&lt;br /&gt;
=== Tietoa palveluista ===&lt;br /&gt;
systemctl:n list-units -komennolla saa listauksen kaikista järjestelmän palveluista. Ilman --all -valitsinta saa listauksen vain aktiivisista yksiköistä.&lt;br /&gt;
Lisäksi --full -valitsin on usein tarpeellinen jotta pitkät yksikönnimet saa kokonaan näkyviin. &lt;br /&gt;
 systemctl list-units --all&lt;br /&gt;
&lt;br /&gt;
systemctl:n status-komennolla saa selvitettyä tärkeimmät yhteen yksikköön liittyvät tiedot.&lt;br /&gt;
 systemctl status avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
Tämän tulisi tulostaa jotain seuraavanlaista:&lt;br /&gt;
 avahi-daemon.service - Avahi mDNS/DNS-SD Stack&lt;br /&gt;
 Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled)&lt;br /&gt;
 Active: active (running) since Thu, 27 Oct 2011 10:15:57 +0300; 7h ago&lt;br /&gt;
 Main PID: 889 (avahi-daemon)&lt;br /&gt;
 Status: &amp;quot;avahi-daemon 0.6.30 starting up.&amp;quot;&lt;br /&gt;
 CGroup: name=systemd:/system/avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
Show-komennolla puolestaan saa pidemmän listauksen avahi-daemon.serviceen liittyvistä tiedoista. Se voi olla hyödyllistä esimerkiksi yksikkötiedostoja kirjoitettaessa.&lt;br /&gt;
 systemctl show avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
=== Palveluiden käynnistäminen ja pysäyttäminen ===&lt;br /&gt;
 # Käynnistä Avahi-palvelu&lt;br /&gt;
 systemctl start avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
 # Pysäyttäminen vastaavasti stop-käskyllä:&lt;br /&gt;
 systemctl stop avahi-daemon.service&lt;br /&gt;
&lt;br /&gt;
=== Automaattisesti käynnistettävät palvelut ===&lt;br /&gt;
Edellämainitut start- ja stop-komennot käynnistävät ja pysäyttävät yksikön, mutta ne eivät vaikuta siihen, mitä käynnistetään automaattisesti. Tähän sen sijaan käytettäisiin systemctl:n enable- ja disable-komentoja.&lt;br /&gt;
&lt;br /&gt;
 # Käynnistä sshd.service automaattisesti järjestelmän käynnistyessä&lt;br /&gt;
 systemctl enable sshd.service&lt;br /&gt;
&lt;br /&gt;
 # Poista sshd.service automaattisesti käynnistettävien yksiköiden joukosta&lt;br /&gt;
 systemctl disable sshd.service&lt;br /&gt;
&lt;br /&gt;
== Journal ==&lt;br /&gt;
systemd:n mukana tulee journaliksi kutsuttu lokivarasto, johon kerätään muun&lt;br /&gt;
muassa [[dmesg]] -komennonkin tulostama kernelin loki, [[syslog]] -viestit&lt;br /&gt;
ja palveluiden ns. stdout/stderr -viestit.&lt;br /&gt;
&lt;br /&gt;
Viestit tallentuvat normaalisti &amp;lt;tt&amp;gt;/var/log/journal/&amp;lt;/tt&amp;gt; -hakemistossa&lt;br /&gt;
sijaitseviin tiedostoihin. Toisin kuin monet muut lokitiedostot, journalin&lt;br /&gt;
tiedostot eivät ole [[tekstitiedosto]]ja. Tämän takia esimerkiksi&lt;br /&gt;
perinteinen [[grep]] -työkalu ei suoraan sovellu niiden käsittelyyn yhtä&lt;br /&gt;
hyvin kuin perinteisten syslog-palveluiden ylläpitämien tekstimuitoisten&lt;br /&gt;
lokien käsittelyyn.&lt;br /&gt;
&lt;br /&gt;
Journalin sisältöä voi tarkastella systemd:n &amp;lt;tt&amp;gt;journalctl&amp;lt;/tt&amp;gt; -komennolla.&lt;br /&gt;
Yksinkertaisimmillaan komennon voi ajaa ilman parametreja:&lt;br /&gt;
 journalctl&lt;br /&gt;
Näin kutsuttuna journalctl näyttää kaikki journaliin tallennetut viestit.&lt;br /&gt;
Oletuksena viestit näytetään tekstinä, jonka asettelu muistuttaa perinteistä&lt;br /&gt;
syslog-lokitiedostoissa käytettyä asettelua. Vaikka journalctl normaalisti&lt;br /&gt;
terminaalissa ajettuna automaattisesti avaa lokiviestit [[less]]in sisään,&lt;br /&gt;
voi sen tulosteen myös putkittaa muille prosesseille:&lt;br /&gt;
 journalctl | grep avahi-daemon&lt;br /&gt;
Näin voisi esimerkiksi hakea lokista vain viestejä, jotka liittyvät&lt;br /&gt;
Avahi-palveluun. Mikäli journalctl:n stdout ei ole terminaali, se ei&lt;br /&gt;
käynnistä lessiä.&lt;br /&gt;
&lt;br /&gt;
=== Haku yksikön perusteella ===&lt;br /&gt;
Edellä esitettiin, kuinka grepin avulla voisi hakea journalista kaikki&lt;br /&gt;
avahiin liittyvät viestit. Esitetty tapa kuitenkin on jonkin verran epätarkka,&lt;br /&gt;
sillä myös muut kuin jonkun palvelun tekemät viestit voivat sisältää&lt;br /&gt;
hakuun liittyvän palvelun nimen.&lt;br /&gt;
&lt;br /&gt;
Jokaiseen journaliin kirjattuun viestiin kuitenkin erikseen merkitään,&lt;br /&gt;
mistä yksiköstä viesti on peräisin. Journalctl voi pyydettässä hyödyntää&lt;br /&gt;
tätä tietoa näytettävien lokitietojen rajaamiseen:&lt;br /&gt;
 journalctl -u avahi-daemon&lt;br /&gt;
Nyt journalctl:n pitäisi näyttää vain oikeasti avahi-daemon.servicesta peräisin&lt;br /&gt;
olevat viestit, vaikka journalissa olisi muitakin merkkijonon&lt;br /&gt;
&amp;lt;tt&amp;gt;avahi-daemon&amp;lt;/tt&amp;gt; sisältäviä viestejä.&lt;br /&gt;
&lt;br /&gt;
=== Haku käynnistyskierroksen perusteella ===&lt;br /&gt;
Usein halutaan katsoa vain lokeja alkaen vain siitä hetkestä, kun kone viimeksi&lt;br /&gt;
käynnistettiin. Tähän voi hyödyntää journalctl:n &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; -valitsinta:&lt;br /&gt;
 journalctl -b&lt;br /&gt;
Tämä näyttää kaikki nykyiseen käynnistyskierrokseen liittyvät viestit.&lt;br /&gt;
Valitsimen voi yhdistää myös esimerkiksi edellä esiteltyyn &amp;lt;tt&amp;gt;-u&amp;lt;/tt&amp;gt; -valitsimeen:&lt;br /&gt;
 journalctl -b -u avahi-daemon&lt;br /&gt;
&lt;br /&gt;
Oletuksena &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; -valitsin näyttää nykyisen käynnistyskierroksen, mutta&lt;br /&gt;
se voi myös ottaa vastaan parametrin, jolla valitaan joku muu käynnistyskierros.&lt;br /&gt;
Parametrista ehkä tavallisimmin tarpeellinen on negatiivinen numero, joilla saa&lt;br /&gt;
valittua uusia käynnistyskierroksia:&lt;br /&gt;
 journalctl -b -1&lt;br /&gt;
 journalctl -b -2&lt;br /&gt;
Komennoista ylempi näyttää nykyistä edeltävän käynnistyskierroksen viestit ja&lt;br /&gt;
jälkimmäinen sitä edeltävän kierroksen viestit.&lt;br /&gt;
&lt;br /&gt;
Myös positiivisia numeroita voi käyttää. Niissä esimerkiksi 1 vastaa vanhinta&lt;br /&gt;
journaliin tallentunutta käynnistyskierrosta, ja 2 toiseksi vanhinta.&lt;br /&gt;
&lt;br /&gt;
Mikäli on vaikea tietää tai muistaa, monenko käynnistyskerran takana joku&lt;br /&gt;
kiinnostava osa lokia on mutta haettu ajankohta on tiedosssa, voi ajankohtaa&lt;br /&gt;
vastaavan käynnistyskierrosnumeron selvittää &amp;lt;tt&amp;gt;--list-boots&amp;lt;/tt&amp;gt; -valitsimella:&lt;br /&gt;
 journalctl --list-boots&lt;br /&gt;
&lt;br /&gt;
=== Haku päivämäärän mukaan ===&lt;br /&gt;
Esimerkiksi tietyn viikon viestit voi hakea &amp;lt;tt&amp;gt;--since&amp;lt;/tt&amp;gt; -valitsimen ja&lt;br /&gt;
&amp;lt;tt&amp;gt;--until&amp;lt;/tt&amp;gt; -valitsimen avulla:&lt;br /&gt;
 journalctl --since 2014-04-07 --until 2014-04-13&lt;br /&gt;
&lt;br /&gt;
== Omat yksikkötiedostot ==&lt;br /&gt;
Suurin osa käyttäjistä tulee toimeen ohjelmien mukana tulevilla yksikkötiedostoilla, mutta toisinaan on tarvetta joko muokata olemassaolevia yksiköitä tai luoda kokonaan uusia. Kumpikin on suhteellisen helppoa, sillä yksikkötiedostot ovat yksinkertaisehkoja tekstitiedostoja. Tiedostoformaatti on dokumentoitu &amp;lt;tt&amp;gt;systemd.unit&amp;lt;/tt&amp;gt;-nimisessä [[man]]-sivussa.&lt;br /&gt;
&lt;br /&gt;
Systemd-yksiköitä voivat tehdä myös muut kuin ylläpitäjäkäyttäjät. Lisäämällä hakemistoon &amp;lt;tt&amp;gt;~/.config/systemd/user/&amp;lt;/tt&amp;gt; yksikkötiedostoja, käyttäjä voi asettaa omia prosesseja käynnistettäväksi esimerkiksi järjestelmän käynnistyksen yhteydessä tai ajastimella. Käyttäjän omien systemd-yksiköiden ohjaamiseen käytetään komentojen nimissä aina &amp;lt;tt&amp;gt;--user&amp;lt;/tt&amp;gt;-parametria:&lt;br /&gt;
  systemctl --user start oma-palvelu.service&lt;br /&gt;
  journalctl --user&lt;br /&gt;
&lt;br /&gt;
=== Järjestelmän yksikkötiedostojen muokkaaminen ===&lt;br /&gt;
Järjestelmän mukana toimitettavat yksikkötiedostot sijaitsevat luultavasti &amp;lt;tt&amp;gt;/lib/systemd/system/&amp;lt;/tt&amp;gt;-hakemistossa. Niitä on mahdollista muokata suoraan sielläkin, mutta mieluummin kannattaa ottaa siellä sijaitsevasta yksiköstä kopio &amp;lt;tt&amp;gt;/etc/systemd/system/&amp;lt;/tt&amp;gt;-hakemistoon ja muokata sitä siellä. Tällöin systemd &amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt;:n alla sijaitsevaa yksikköä ennemmin kuin &amp;lt;tt&amp;gt;/lib&amp;lt;/tt&amp;gt;:n alla olevaa, ja ohjelmiston päivittyminen ei ylikirjoita paikallisesti tehtyjä muutoksia.&lt;br /&gt;
&lt;br /&gt;
=== Kokonaan uusien yksikkötiedostojen kirjoittaminen ===&lt;br /&gt;
Joskus on tarpeen luoda kokonaan uusia yksikköjä, esimerkiksi ajamaan joku komento aina koneen käynnistyessä tai pitämään käynnissä jotain ohjelmistoa jonka mukana ei tullut yksikköä systemd:lle.&lt;br /&gt;
&lt;br /&gt;
Myös itse kirjoitetut yksiköt kannattaa sijoittaa &amp;lt;tt&amp;gt;/etc/systemd/system/&amp;lt;/tt&amp;gt;-hakemistoon.&lt;br /&gt;
&lt;br /&gt;
Allaoleva esimerkkiyksikkö ajaa yksikköä käynnistettäessä yksinkertaisen komennon. Sitä voi kokeilla esimerkiksi kopioimalla sen sisällön &amp;lt;tt&amp;gt;/etc/systemd/system/hello.service&amp;lt;/tt&amp;gt;-nimiseen tiedostoon.&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=A simple example service unit that runs a command when started&lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/bin/echo Hello!&lt;br /&gt;
&lt;br /&gt;
Yksikkötiedostoformaatissa erilaisia direktiivejä on kymmeniä, mutta jossain tapauksissa ihan muutama niistä riittää. Usein kannattaa katsoa mallia järjestelmän mukana toimituista yksiköistä &amp;lt;tt&amp;gt;/lib/systemd/system/&amp;lt;/tt&amp;gt; -hakemistosta ja systemd:n dokumentaatiosta.&lt;br /&gt;
&lt;br /&gt;
=== Ajastimet ===&lt;br /&gt;
Systemd tarjoaa perinteisen [[cron]]-palvelun tapaiset toiminnot komentojen ajastamiseen. Esimerkiksi edellisessä kohdassa tehty hello-palvelu voitaisiin ajastaa käynnistymään kymmenen minuutin välein luomalla tiedosto &amp;lt;tt&amp;gt;/etc/systemd/system/hello.timer&amp;lt;/tt&amp;gt; tähän tapaan:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Ajetaan hello-palvelu kymmenen minuutin välein&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
# Ensimmäinen ajo 10 minuuttia järjestelmän käynnistyksen jälkeen&lt;br /&gt;
OnBootSec=10min&lt;br /&gt;
# Ajetaan uudelleen 10 minuuttia edellisen ajon päätyttyä jälkeen&lt;br /&gt;
OnUnitInactiveSec=10min&lt;br /&gt;
Unit=hello.service&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näin luodut uudet yksiköt on sitten tarpeellista kytkeä päälle ja käynnistää:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
systemctl enable hello.service&lt;br /&gt;
systemctl enable hello.timer&lt;br /&gt;
systemctl start hello.timer&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajastimet voidaan listata &amp;lt;code&amp;gt;systemctl list-timers&amp;lt;/code&amp;gt; -komennolla. Esimerkkituloste:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
NEXT                          LEFT          LAST                          PASSED       UNIT                         ACTIVATES&lt;br /&gt;
Mon 2018-08-27 18:20:15 EEST  1h 23min left Mon 2018-08-27 12:16:49 EEST  4h 39min ago certbot.timer                certbot.service&lt;br /&gt;
Mon 2018-08-27 23:31:44 EEST  6h left       Sun 2018-08-26 23:31:44 EEST  17h ago      systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      logrotate.timer              logrotate.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      man-db.timer                 man-db.service&lt;br /&gt;
Tue 2018-08-28 00:00:00 EEST  7h left       Mon 2018-08-27 00:00:01 EEST  16h ago      shadow.timer                 shadow.service&lt;br /&gt;
&lt;br /&gt;
5 timers listed.&lt;br /&gt;
Pass --all to see loaded but inactive timers, too.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kritiikkiä==&lt;br /&gt;
Parannuksistaan huolimatta, systemd-järjestelmää kohtaan on myös lukuisia vasta-argumentteja, joista keskeisin, että systemd on [https://en.wikipedia.org/wiki/Unix_philosophy#Do_One_Thing_and_Do_It_Well unix-filosofian] &#039;&#039;( &amp;quot;tee yksi asia ja tee se hyvin&amp;quot; )&#039;&#039;-vastainen tiivistää ongelman sillä systemd ei pelkästään hoida init-järjestelmän tehtäviä, vaan myös virranhallinta, laitteiston hallinta, [[Mount|liittäminen]], [[komentojen ajastaminen]], levyjen salaus, [[Pistoke|pistoke-rajapinta]], verkon asetukset, kirjautumisen / session-hallinta, readahead, GPT-osioinnin löytäminen, container registration, hostname/locale/time hallinta, mDNS/DNS-SD, Linux-konsoli ja monia muita toimintoja tiivistettynä yhteen.&lt;br /&gt;
&lt;br /&gt;
==Katso myös==&lt;br /&gt;
* [[:archwiki:Systemd|Arch Wikin Systemd-artikkeli]]&lt;br /&gt;
* [http://without-systemd.org/wiki/index.php/Main_Page Without-Systemd-wiki], jossa on laajemmin systemd:n vaihtoehtoja käsitelty, lisäksi argumentteja, miksi systemd:tä ei välttämättä kannata käyttää sekä ohjeistuksia systemd:n poistamiseen ja korvaamiseen esim. [[:archwiki:OpenRC|OpenRC:llä. (Arch Wiki)]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka: Järjestelmä]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Rdfind&amp;diff=48168</id>
		<title>Rdfind</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Rdfind&amp;diff=48168"/>
		<updated>2018-07-26T13:05:22Z</updated>

		<summary type="html">&lt;p&gt;Raspi: +sorsat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
{{Ohjelma&lt;br /&gt;
| nimi=rdfind&lt;br /&gt;
| kuva=&lt;br /&gt;
| kuvateksti=&lt;br /&gt;
| käyttöliittymä=teksti&lt;br /&gt;
| lisenssi=[[GPL]]v2&lt;br /&gt;
| kotisivu=[http://rdfind.pauldreik.se/ rdfind.pauldreik.se]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;rdfind&#039;&#039;&#039; on ohjelma duplikaattitiedostojen löytämiseen.&lt;br /&gt;
&lt;br /&gt;
==Asennus==&lt;br /&gt;
===Debian ja Ubuntu===&lt;br /&gt;
{{Asenna|rdfind|rdfind|Debian-pohjaisten}}&lt;br /&gt;
&lt;br /&gt;
==Käyttö==&lt;br /&gt;
Testaa mitä tapahtuisi:&lt;br /&gt;
&lt;br /&gt;
 rdfind -dryrun true -deleteduplicates true -checksum sha1 /home/storage&lt;br /&gt;
&lt;br /&gt;
Ohjelma kirjoittaa results.txt-tiedoston, josta voi tutkia mitä tiedostoja löytyi.&lt;br /&gt;
&lt;br /&gt;
Aja komento oikeasti:&lt;br /&gt;
&lt;br /&gt;
 rdfind -deleteduplicates true -checksum sha1 /home/storage&lt;br /&gt;
&lt;br /&gt;
==Aiheesta muualla==&lt;br /&gt;
* [https://github.com/pauldreik/rdfind Ohjelman lähdekoodi]&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[rmlint]]&lt;br /&gt;
* [[fdupes]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Komentorivin erikoisohjelmat]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Tulostimet&amp;diff=48033</id>
		<title>Tulostimet</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Tulostimet&amp;diff=48033"/>
		<updated>2018-01-29T14:48:11Z</updated>

		<summary type="html">&lt;p&gt;Raspi: /* Hewlett-Packard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tietoa eri tulostimien toimivuudesta Linuxin kanssa.&lt;br /&gt;
&lt;br /&gt;
== [[Brother]] ==&lt;br /&gt;
&lt;br /&gt;
=== HL 5240 ===&lt;br /&gt;
Toimii, muttei kannata käyttää PostScript-ajuria, vaikka yleensä myös silläkin toimii. Käyttää tulostukseen BRScriptiä, joka on osittain yhteensopiva PostScriptin kanssa. Liitännät LPT ja USB.&lt;br /&gt;
&lt;br /&gt;
=== DCP 1510 ===&lt;br /&gt;
Tulostus toimii heittämällä, skanneri tarvitsee ajurit, Liitännät USB. Lasermonitoimilaite.&lt;br /&gt;
&lt;br /&gt;
=== DCP 7010 ===&lt;br /&gt;
Tulostus toimii heittämällä, skanneri tarvitsee ajurit, Liitännät LTP ja USB. Lasermonitoimilaite.&lt;br /&gt;
&lt;br /&gt;
=== DCP 7030 ===&lt;br /&gt;
Tulostus toimii heittämällä, skanneri tarvitsee ajurit, Liitännät USB.&lt;br /&gt;
&lt;br /&gt;
=== DCP-7070DW ===&lt;br /&gt;
Toimii verkkotulostimena ja scannerina. Lasermonitoimilaite.&lt;br /&gt;
&lt;br /&gt;
== [[Canon]] ==&lt;br /&gt;
&lt;br /&gt;
===pixma mp280===&lt;br /&gt;
Canonin pixma mp280 tulostinajuria ei löydy [[Ubuntu]] jakelun paketinhallinnasta, mutta sen voi asentaa [[Debian]] ja [[Fedora]] pohjaisiin jakeluihin Canonin [http://support-in.canon-asia.com/contents/IN/EN/0100301402.html kotisivuilta] löytyvällä asennuspaketilla. Kuvanlukijaa varten katso artikkeli [[Skannerin valinta#Canon pixma mp280|Skannerin valinta]].&lt;br /&gt;
&lt;br /&gt;
Ajuripaketin asennus [[Ubuntu]] ja [[Debian]] pohjaiseen jakeluun. Hae Canonin [http://support-in.canon-asia.com/contents/IN/EN/0100301402.html kotisivuilta] &amp;lt;tt&amp;gt;cnijfilter-mp280series-3.40-1-deb.tar.gz&amp;lt;/tt&amp;gt; niminen paketti ja pura se seuraavilla komentorivi komennoilla.&lt;br /&gt;
 &lt;br /&gt;
 tar xvkf  cnijfilter-mp280series-3.40-1-deb.tar.gz&lt;br /&gt;
 cd cnijfilter-mp280series-3.40-1-deb&lt;br /&gt;
 [[sudo]] ./install.sh&lt;br /&gt;
&lt;br /&gt;
== [[Hewlett-Packard]] ==&lt;br /&gt;
&lt;br /&gt;
HP:n tulostimet käyttävät HP Linux Imaging and Printing (HPLIP) -ajureita. Tämä löytyy yleensä &#039;&#039;&#039;hplip&#039;&#039;&#039;-paketin nimellä. Verkon kautta toimivat tulostimet toimivat yleensä paremmin kuin suoraan koneeseen liitettävät USB-väyläiset tulostimet.&lt;br /&gt;
* [https://developers.hp.com/hp-linux-imaging-and-printing HPLIP:in kotisivu]&lt;br /&gt;
* [https://launchpad.net/hplip HPLIP @launchpad]&lt;br /&gt;
* [https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index Lista tuetuista tulostimista] HP:n sivulla.&lt;br /&gt;
&lt;br /&gt;
=== Laserjet III ===&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:LJIID-LaserJet.jpg|right|150px|thumb|LaserJet III, aikansa klassikko.]]&lt;br /&gt;
&#039;&#039;&#039;Laserjet 3&#039;&#039;&#039; on tulostimien Kuplavolkkari, klassikkolaite joka on aikanaan paljon myyty, mekaanisesti suhteellisen yksinkertainen, helposti korjattavissa ja sille oli varaosia helpsti saatavilla. Tulostimen paperirata on melko suora (hyvä asia) ja paksuilla materiaaleilla sen saa suoraksi takaluukun avaamalla. Laitteesta on yhden ja kahden tarjottimen versioita. Liitäntänä ainoastaan rinnakkaisliintäntä (ja rs-232?), verkkoliintäntä toteutettiin yleensä erillisellä, ulkoisella JetDirect-laitteella. Linuxin kanssa toimiva, joskin nykynormein hidas laite vieläkin jos sellaisen saa jostain käsiinsä.&lt;br /&gt;
&lt;br /&gt;
=== Laserjet 4100 ===&lt;br /&gt;
&lt;br /&gt;
[[Tiedosto:4100-LaserJet.jpg|right|150px|thumb|Laserjet 4100.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Laserjet 4100TN&#039;&#039;&#039; Toimii ongelmitta [[CUPS]]:n kanssa verkkoliitännän kautta, näkyy [[IPP]]-protokollalla.&lt;br /&gt;
&lt;br /&gt;
=== Photosmart B010 ===&lt;br /&gt;
&lt;br /&gt;
Toimii suoraan kytkemisestä.&lt;br /&gt;
&lt;br /&gt;
=== PSC 2355===&lt;br /&gt;
HP PSC 2355 all-in-one saadaan toimimaan [http://linuxprinting.org Linuxprinting.orgin] [http://linuxprinting.org/show_driver.cgi?driver=lbp660&amp;amp;fromprinter=Canon-LBP-660 ohjeella] helposti.&lt;br /&gt;
&lt;br /&gt;
== [[Samsung]] ==&lt;br /&gt;
Ohjeessa varoitetaan asentamasta ajureita suoraan Samsungin sivuilta.&lt;br /&gt;
*[http://ubuntuforums.org/showthread.php?t=341621 Guide to installing Samsung printers &amp;amp; the Unified Linux Driver]&lt;br /&gt;
*[http://www.bchemnet.com/suldr/index.html The Samsung Unified Linux Driver Repository]&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[Tulostimen valinta]]&lt;br /&gt;
* [[Tulostusjono]]&lt;br /&gt;
* [[Turboprint]]&lt;br /&gt;
* [[Tulostaminen CD-levyn pinnalle]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Laitteisto]]&lt;br /&gt;
[[Luokka:Ajurit]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Keskustelu:Let%27s_Encrypt&amp;diff=47479</id>
		<title>Keskustelu:Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Keskustelu:Let%27s_Encrypt&amp;diff=47479"/>
		<updated>2017-01-26T16:38:12Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tuo sertifikaattien komentoriviohjelma kulkee nykyään nimellä certbot - https://github.com/certbot/certbot &amp;amp; https://certbot.eff.org/ --[[Käyttäjä:Raspi|raspi]] ([[Keskustelu käyttäjästä:Raspi|keskustelu]]) 26. tammikuuta 2017 kello 18.38 (EET)&lt;br /&gt;
&lt;br /&gt;
Asennuksesta puuttuu joitain kohtia, koska käytin pohjana valmista asennusta, joten jos joku asentaa nollapohjalta LE:n niin voisi lisätä ko. puuttuvat kohdat. --[[Käyttäjä:Raspi|raspi]] ([[Keskustelu käyttäjästä:Raspi|keskustelu]]) 30. huhtikuuta 2016 kello 12.49 (EEST)&lt;br /&gt;
&lt;br /&gt;
:Joo, tehdään ohjeesta geneerinen niin ettei se koske vain Archia vaan on sovellettavissa kaikille jakeluille. --[[Käyttäjä:Oselotti|&amp;lt;font face=&amp;quot;fixedsys&amp;quot; color=&amp;quot;#333&amp;quot;&amp;gt;oselotti&amp;lt;/font&amp;gt;]] ([[Keskustelu käyttäjästä:Oselotti|&amp;lt;font face=&amp;quot;fixedsys&amp;quot; color=&amp;quot;#333&amp;quot;&amp;gt;keskustelu&amp;lt;/font&amp;gt;]]) 1. toukokuuta 2016 kello 13.21 (EEST)&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Printenv&amp;diff=47395</id>
		<title>Printenv</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Printenv&amp;diff=47395"/>
		<updated>2016-12-28T16:00:40Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} &amp;#039;&amp;#039;&amp;#039;printenv&amp;#039;&amp;#039;&amp;#039; tulostaa ympäristömuuttujat (Environmental variables).      $ printenv     LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;3...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;printenv&#039;&#039;&#039; tulostaa ympäristömuuttujat (Environmental variables).&lt;br /&gt;
&lt;br /&gt;
    $ printenv&lt;br /&gt;
    LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;....&lt;br /&gt;
    XDG_CONFIG_HOME=/home/kayttaja/.config&lt;br /&gt;
    LESSCLOSE=/usr/bin/lesspipe %s %s&lt;br /&gt;
    XDG_MENU_PREFIX=lxqt-&lt;br /&gt;
    LXQT_SESSION_CONFIG=session&lt;br /&gt;
    LANG=fi_FI.UTF-8&lt;br /&gt;
    GDM_LANG=fi&lt;br /&gt;
    DISPLAY=:0&lt;br /&gt;
    GTK2_MODULES=overlay-scrollbar&lt;br /&gt;
    GTK_OVERLAY_SCROLLING=0&lt;br /&gt;
    GTK_CSD=0&lt;br /&gt;
    XDG_VTNR=7&lt;br /&gt;
    SSH_AUTH_SOCK=/tmp/ssh-TGJ7VREH1vpe/agent.1340&lt;br /&gt;
    MANDATORY_PATH=/usr/share/gconf/lxqt.mandatory.path&lt;br /&gt;
    XDG_SESSION_ID=c1&lt;br /&gt;
    XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/kayttaja&lt;br /&gt;
    USER=kayttaja&lt;br /&gt;
    DESKTOP_SESSION=lxqt&lt;br /&gt;
    DEFAULTS_PATH=/usr/share/gconf/lxqt.default.path&lt;br /&gt;
    QT_QPA_PLATFORMTHEME=lxqt&lt;br /&gt;
    PWD=/home/kayttaja&lt;br /&gt;
    HOME=/home/kayttaja&lt;br /&gt;
    BROWSER=firefox&lt;br /&gt;
    SSH_AGENT_PID=1417&lt;br /&gt;
    QT_ACCESSIBILITY=1&lt;br /&gt;
    XDG_SESSION_TYPE=x11&lt;br /&gt;
    QT_PLATFORM_PLUGIN=lxqt&lt;br /&gt;
    XDG_DATA_DIRS=/usr/share/lxqt:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop:/usr/share&lt;br /&gt;
    XDG_SESSION_DESKTOP=lxqt&lt;br /&gt;
    SAL_USE_VCLPLUGIN=kde4&lt;br /&gt;
    GTK_MODULES=gail:atk-bridge&lt;br /&gt;
    TERM=xterm&lt;br /&gt;
    SHELL=/bin/bash&lt;br /&gt;
    XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0&lt;br /&gt;
    XDG_CURRENT_DESKTOP=LXQt&lt;br /&gt;
    QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1&lt;br /&gt;
    XDG_SEAT=seat0&lt;br /&gt;
    SHLVL=1&lt;br /&gt;
    LANGUAGE=fi&lt;br /&gt;
    GDMSESSION=lxqt&lt;br /&gt;
    XDG_CACHE_HOME=/home/kayttaja/.cache&lt;br /&gt;
    LOGNAME=kayttaja&lt;br /&gt;
    DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus&lt;br /&gt;
    XDG_RUNTIME_DIR=/run/user/1000&lt;br /&gt;
    XAUTHORITY=/home/kayttaja/.Xauthority&lt;br /&gt;
    XDG_DATA_HOME=/home/kayttaja/.local/share&lt;br /&gt;
    XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0&lt;br /&gt;
    XDG_CONFIG_DIRS=/etc/xdg/xdg-lxqt:/etc/xdg&lt;br /&gt;
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin&lt;br /&gt;
    LESSOPEN=| /usr/bin/lesspipe %s&lt;br /&gt;
    _=/usr/bin/printenv&lt;br /&gt;
&lt;br /&gt;
Jokaisen yksittäisen ympäristömuuttujan voi tulostaa esim. näin:&lt;br /&gt;
&lt;br /&gt;
    $ echo $PWD&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47258</id>
		<title>Usbip</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47258"/>
		<updated>2016-11-19T16:14:57Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;usbip&#039;&#039;&#039; on ytimen moduuli, jolla [[USB]]-laitteita voi jakaa verkon yli (USB over IP). usbip käyttää vakiona [[TCP]]-porttia 3240.&lt;br /&gt;
&lt;br /&gt;
== Asennus ==&lt;br /&gt;
&lt;br /&gt;
Arch Linux:&lt;br /&gt;
 # pacman -S usbip&lt;br /&gt;
&lt;br /&gt;
[[systemd]]:tä käyttävät:&lt;br /&gt;
 # systemctl enable usbip&lt;br /&gt;
 # systemctl start usbip&lt;br /&gt;
&lt;br /&gt;
Kirjoitushetkellä kone ei pystynyt löytämään/kytkeytymään USB-laitteisiin &amp;lt;code&amp;gt;usbip&amp;lt;/code&amp;gt;:llä, joten koneen uudelleenkäynnistys tarvittiin.&lt;br /&gt;
&lt;br /&gt;
== Laitteen irrotus asiakkaan päästä ==&lt;br /&gt;
&lt;br /&gt;
Listaa portit:&lt;br /&gt;
&lt;br /&gt;
 # usbip port&lt;br /&gt;
&lt;br /&gt;
Portissa 0 olevan laitteen irroitus:&lt;br /&gt;
&lt;br /&gt;
 # usbip detach --port 0&lt;br /&gt;
&lt;br /&gt;
== Laitteen irrotus palvelimen päästä ==&lt;br /&gt;
&lt;br /&gt;
Väylätunnisteen 1-1.4 poisto:&lt;br /&gt;
&lt;br /&gt;
 # usbip unbind 1-1.4&lt;br /&gt;
&lt;br /&gt;
== Esimerkki ==&lt;br /&gt;
Tässä esimerkissä tuodaan Raspberry Pi 3 -minitietokoneeseen kytketty USB-skanneri verkon yli virtuaalikoneeseen, joka pyörii VMWare ESXi:n päällä. Molemmissa koneissa on Arch Linux.&lt;br /&gt;
&lt;br /&gt;
=== Kone joka jakaa laitteen (palvelin): ===&lt;br /&gt;
Asenna &amp;lt;code&amp;gt;usbip&amp;lt;/code&amp;gt; yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Etsi haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
 # usbip list --local&lt;br /&gt;
&lt;br /&gt;
Jaa haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
Väylätunnisteen 1-1.4 lisäys:&lt;br /&gt;
&lt;br /&gt;
 # usbip bind --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
=== Kone johon laite liitetään (asiakas): ===&lt;br /&gt;
Asenna &amp;lt;code&amp;gt;usbip&amp;lt;/code&amp;gt; yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Kytke laite:&lt;br /&gt;
&lt;br /&gt;
 # modprobe vhci-hcd&lt;br /&gt;
 # usbip attach --remote 192.168.x.x --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
Tarkista, että laite on tuotu:&lt;br /&gt;
&lt;br /&gt;
 # lsusb&lt;br /&gt;
&lt;br /&gt;
Tämän jälkeen voit alkaa käyttämään laitetta kuten se olisi fyysisesti kiinni koneessa.&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[lsusb]]&lt;br /&gt;
* http://usbip.sourceforge.net/ (Linux, Windows)&lt;br /&gt;
* http://www.virtualhere.com/ (Linux, Windows, OSX)&lt;br /&gt;
&lt;br /&gt;
[[Luokka: Ydin]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47252</id>
		<title>Usbip</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47252"/>
		<updated>2016-11-17T19:22:10Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;usbip&#039;&#039;&#039; on ytimen moduuli, jolla [[USB]]-laitteita voi jakaa verkon yli (USB over IP). usbip käyttää vakiona [[TCP]]-porttia 3240.&lt;br /&gt;
&lt;br /&gt;
== Asennus ==&lt;br /&gt;
&lt;br /&gt;
Arch Linux:&lt;br /&gt;
 # pacman -S usbip&lt;br /&gt;
&lt;br /&gt;
[[systemd]]:tä käyttävät:&lt;br /&gt;
 # systemctl enable usbip&lt;br /&gt;
 # systemctl start usbip&lt;br /&gt;
&lt;br /&gt;
Kirjoitushetkellä kone ei pystynyt löytämään/kytkeytymään USB-laitteisiin &amp;lt;code&amp;gt;usbip&amp;lt;/code&amp;gt;:llä, joten koneen uudelleenkäynnistys tarvittiin.&lt;br /&gt;
&lt;br /&gt;
== Laitteen irrotus asiakkaan päästä ==&lt;br /&gt;
&lt;br /&gt;
Listaa portit:&lt;br /&gt;
&lt;br /&gt;
 # usbip port&lt;br /&gt;
&lt;br /&gt;
Portissa 0 olevan laitteen irroitus:&lt;br /&gt;
&lt;br /&gt;
 # usbip detach --port 0&lt;br /&gt;
&lt;br /&gt;
== Laitteen irrotus palvelimen päästä ==&lt;br /&gt;
&lt;br /&gt;
Väylätunnisteen 1-1.4 poisto:&lt;br /&gt;
&lt;br /&gt;
 # usbip unbind 1-1.4&lt;br /&gt;
&lt;br /&gt;
== Esimerkki ==&lt;br /&gt;
Tässä esimerkissä tuodaan Raspberry Pi 3 -minitietokoneeseen kytketty USB-skanneri verkon yli virtuaalikoneeseen, joka pyörii VMWare ESXi:n päällä. Molemmissa koneissa on Arch Linux.&lt;br /&gt;
&lt;br /&gt;
=== Kone joka jakaa laitteen (palvelin): ===&lt;br /&gt;
Asenna `usbip` yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Etsi haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
 # usbip list --local&lt;br /&gt;
&lt;br /&gt;
Jaa haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
Väylätunnisteen 1-1.4 lisäys:&lt;br /&gt;
&lt;br /&gt;
 # usbip bind --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
=== Kone johon laite liitetään (asiakas): ===&lt;br /&gt;
Asenna `usbip` yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Kytke laite:&lt;br /&gt;
&lt;br /&gt;
 # modprobe vhci-hcd&lt;br /&gt;
 # usbip attach --remote 192.168.x.x --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
Tarkista, että laite on tuotu:&lt;br /&gt;
&lt;br /&gt;
 # lsusb&lt;br /&gt;
&lt;br /&gt;
Tämän jälkeen voit alkaa käyttämään laitetta kuten se olisi fyysisesti kiinni koneessa.&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[lsusb]]&lt;br /&gt;
* http://usbip.sourceforge.net/ (Linux, Windows)&lt;br /&gt;
* http://www.virtualhere.com/ (Linux, Windows, OSX)&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47251</id>
		<title>Usbip</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47251"/>
		<updated>2016-11-17T19:16:06Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;usbip&#039;&#039;&#039; on ytimen moduuli, jolla [[USB]]-laitteita voi jakaa verkon yli (USB over IP). &lt;br /&gt;
&lt;br /&gt;
== Asennus ==&lt;br /&gt;
&lt;br /&gt;
Arch Linux:&lt;br /&gt;
 # pacman -S usbip&lt;br /&gt;
&lt;br /&gt;
[[systemd]]:tä käyttävät:&lt;br /&gt;
 # systemctl enable usbip&lt;br /&gt;
 # systemctl start usbip&lt;br /&gt;
&lt;br /&gt;
Kirjoitushetkellä kone ei pystynyt löytämään/kytkeytymään USB-laitteisiin &amp;lt;code&amp;gt;usbip&amp;lt;/code&amp;gt;:llä, joten koneen uudelleenkäynnistys tarvittiin.&lt;br /&gt;
&lt;br /&gt;
== Laitteen irrotus asiakkaan päästä ==&lt;br /&gt;
&lt;br /&gt;
Listaa portit:&lt;br /&gt;
&lt;br /&gt;
 # usbip port&lt;br /&gt;
&lt;br /&gt;
Portissa 0 olevan laitteen irroitus:&lt;br /&gt;
&lt;br /&gt;
 # usbip detach --port 0&lt;br /&gt;
&lt;br /&gt;
== Laitteen irrotus palvelimen päästä ==&lt;br /&gt;
&lt;br /&gt;
Väylätunnisteen 1-1.4 poisto:&lt;br /&gt;
&lt;br /&gt;
 # usbip unbind 1-1.4&lt;br /&gt;
&lt;br /&gt;
== Esimerkki ==&lt;br /&gt;
Tässä esimerkissä tuodaan Raspberry Pi 3 -minitietokoneeseen kytketty USB-skanneri verkon yli virtuaalikoneeseen, joka pyörii VMWare ESXi:n päällä. Molemmissa koneissa on Arch Linux.&lt;br /&gt;
&lt;br /&gt;
=== Kone joka jakaa laitteen (palvelin): ===&lt;br /&gt;
Asenna `usbip` yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Etsi haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
 # usbip list --local&lt;br /&gt;
&lt;br /&gt;
Jaa haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
Väylätunnisteen 1-1.4 lisäys:&lt;br /&gt;
&lt;br /&gt;
 # usbip bind --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
=== Kone johon laite liitetään (asiakas): ===&lt;br /&gt;
Asenna `usbip` yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Kytke laite:&lt;br /&gt;
&lt;br /&gt;
 # modprobe vhci-hcd&lt;br /&gt;
 # usbip attach --remote 192.168.x.x --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
Tarkista, että laite on tuotu:&lt;br /&gt;
&lt;br /&gt;
 # lsusb&lt;br /&gt;
&lt;br /&gt;
Tämän jälkeen voit alkaa käyttämään laitetta kuten se olisi fyysisesti kiinni koneessa.&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[lsusb]]&lt;br /&gt;
* http://usbip.sourceforge.net/ (Linux, Windows)&lt;br /&gt;
* http://www.virtualhere.com/ (Linux, Windows, OSX)&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47250</id>
		<title>Usbip</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47250"/>
		<updated>2016-11-17T19:06:57Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;usbip&#039;&#039;&#039; on ytimen moduuli, jolla [[USB]]-laitteita voi jakaa verkon yli (USB over IP). &lt;br /&gt;
&lt;br /&gt;
== Asennus ==&lt;br /&gt;
&lt;br /&gt;
Arch Linux:&lt;br /&gt;
 # pacman -S usbip&lt;br /&gt;
&lt;br /&gt;
[[systemd]]:tä käyttävät:&lt;br /&gt;
 # systemctl enable usbip&lt;br /&gt;
 # systemctl start usbip&lt;br /&gt;
&lt;br /&gt;
Kirjoitushetkellä kone ei pystynyt löytämään/kytkeytymään USB-laitteisiin &amp;lt;code&amp;gt;usbip&amp;lt;/code&amp;gt;:llä, joten koneen uudelleenkäynnistys tarvittiin.&lt;br /&gt;
&lt;br /&gt;
== Esimerkki ==&lt;br /&gt;
Tässä esimerkissä tuodaan Raspberry Pi 3 -minitietokoneeseen kytketty USB-skanneri verkon yli virtuaalikoneeseen, joka pyörii VMWare ESXi:n päällä. Molemmissa koneissa on Arch Linux.&lt;br /&gt;
&lt;br /&gt;
=== Kone joka jakaa laitteen (palvelin): ===&lt;br /&gt;
Asenna `usbip` yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Etsi haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
 # usbip list --local&lt;br /&gt;
&lt;br /&gt;
Jaa haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
 # usbip bind --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
=== Kone johon laite liitetään (asiakas): ===&lt;br /&gt;
Asenna `usbip` yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Kytke laite:&lt;br /&gt;
&lt;br /&gt;
 # modprobe vhci-hcd&lt;br /&gt;
 # usbip attach --remote 192.168.x.x --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
Tarkista, että laite on tuotu:&lt;br /&gt;
&lt;br /&gt;
 # lsusb&lt;br /&gt;
&lt;br /&gt;
Tämän jälkeen voit alkaa käyttämään laitetta kuten se olisi fyysisesti kiinni koneessa.&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[lsusb]]&lt;br /&gt;
* http://usbip.sourceforge.net/ (Linux, Windows)&lt;br /&gt;
* http://www.virtualhere.com/ (Linux, Windows, OSX)&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47249</id>
		<title>Usbip</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Usbip&amp;diff=47249"/>
		<updated>2016-11-17T19:04:46Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} &amp;#039;&amp;#039;&amp;#039;usbip&amp;#039;&amp;#039;&amp;#039; on ytimen moduuli, jolla USB-laitteita voi jakaa verkon yli (USB over IP).   == Asennus ==  Arch Linux:  # pacman -S usbip...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
&#039;&#039;&#039;usbip&#039;&#039;&#039; on ytimen moduuli, jolla [[USB]]-laitteita voi jakaa verkon yli (USB over IP). &lt;br /&gt;
&lt;br /&gt;
== Asennus ==&lt;br /&gt;
&lt;br /&gt;
Arch Linux:&lt;br /&gt;
 # pacman -S usbip&lt;br /&gt;
&lt;br /&gt;
[[systemd]]:tä käyttävät:&lt;br /&gt;
 # systemctl enable usbip&lt;br /&gt;
 # systemctl start usbip&lt;br /&gt;
&lt;br /&gt;
Kirjoitushetkellä kone ei pystynyt löytämään/kytkeytymään USB-laitteisiin `usbip`:llä, joten koneen uudelleenkäynnistys tarvittiin.&lt;br /&gt;
&lt;br /&gt;
== Esimerkki ==&lt;br /&gt;
Tässä esimerkissä tuodaan Raspberry Pi 3 -minitietokoneeseen kytketty USB-skanneri verkon yli virtuaalikoneeseen, joka pyörii VMWare ESXi:n päällä. Molemmissa koneissa on Arch Linux.&lt;br /&gt;
&lt;br /&gt;
=== Kone joka jakaa laitteen (palvelin): ===&lt;br /&gt;
Asenna `usbip` yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Etsi haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
 # usbip list --local&lt;br /&gt;
&lt;br /&gt;
Jaa haluamasi laite:&lt;br /&gt;
&lt;br /&gt;
 # usbip bind --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
=== Kone johon laite liitetään (asiakas): ===&lt;br /&gt;
Asenna `usbip` yllä olevan ohjeen mukaisesti.&lt;br /&gt;
&lt;br /&gt;
Kytke laite:&lt;br /&gt;
&lt;br /&gt;
 # modprobe vhci-hcd&lt;br /&gt;
 # usbip attach --remote 192.168.x.x --busid 1-1.4&lt;br /&gt;
&lt;br /&gt;
Tarkista, että laite on tuotu:&lt;br /&gt;
&lt;br /&gt;
 # lsusb&lt;br /&gt;
&lt;br /&gt;
Tämän jälkeen voit alkaa käyttämään laitetta kuten se olisi fyysisesti kiinni koneessa.&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[lsusb]]&lt;br /&gt;
* http://usbip.sourceforge.net/ (Linux, Windows)&lt;br /&gt;
* http://www.virtualhere.com/ (Linux, Windows, OSX)&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Etckeeper&amp;diff=47248</id>
		<title>Etckeeper</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Etckeeper&amp;diff=47248"/>
		<updated>2016-11-16T15:10:49Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
{{Ohjelma&lt;br /&gt;
| nimi=etckeeper&lt;br /&gt;
| kuva=&lt;br /&gt;
| kuvateksti=&lt;br /&gt;
| lisenssi=[[GPL]]v2+&lt;br /&gt;
| käyttöliittymä=teksti&lt;br /&gt;
| kotisivu=[https://joeyh.name/code/etckeeper/ joeyh.name/code/etckeeper]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;etckeeper&#039;&#039;&#039; on kokoelma työkaluja, joilla &amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt;-hakemisto saadaan versionhallinnan alle. Versionhallinta mahdollistaa konfiguraatiotiedostojen asetusten palauttamisen ja historiaseurannan. etckeeper kytkeytyy muun muassa [[APT]]-, [[Yum]]- ja [[Pacman-G2]] -paketinhallintaan ja järjestelmän päivitysten yhteydessä &amp;lt;tt&amp;gt;/etc&amp;lt;/tt&amp;gt;-hakemiston muutokset tallennetaan atomisesti päivityksen loputtua. Etckeeper tukee useampaa versionhallintaohjelmaa, vakiona ohjelma käyttää [[Git]]-versionhallintaa.&lt;br /&gt;
&lt;br /&gt;
[[Luokka: Järjestelmä]]&lt;br /&gt;
[[Luokka: Paketinhallinta]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Rdfind&amp;diff=47247</id>
		<title>Rdfind</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Rdfind&amp;diff=47247"/>
		<updated>2016-11-16T15:08:44Z</updated>

		<summary type="html">&lt;p&gt;Raspi: + rmlint &amp;amp; fdupes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}&lt;br /&gt;
{{Ohjelma&lt;br /&gt;
| nimi=rdfind&lt;br /&gt;
| kuva=&lt;br /&gt;
| kuvateksti=&lt;br /&gt;
| käyttöliittymä=teksti&lt;br /&gt;
| lisenssi=[[GPL]]v2&lt;br /&gt;
| kotisivu=[http://rdfind.pauldreik.se/ rdfind.pauldreik.se]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;rdfind&#039;&#039;&#039; on ohjelma duplikaattitiedostojen löytämiseen.&lt;br /&gt;
&lt;br /&gt;
==Asennus==&lt;br /&gt;
===Debian ja Ubuntu===&lt;br /&gt;
{{Asenna|rdfind|rdfind|Debian-pohjaisten}}&lt;br /&gt;
&lt;br /&gt;
==Käyttö==&lt;br /&gt;
Testaa mitä tapahtuisi:&lt;br /&gt;
&lt;br /&gt;
 rdfind -dryrun true -deleteduplicates true -checksum sha1 /home/storage&lt;br /&gt;
&lt;br /&gt;
Ohjelma kirjoittaa results.txt-tiedoston, josta voi tutkia mitä tiedostoja löytyi.&lt;br /&gt;
&lt;br /&gt;
Aja komento oikeasti:&lt;br /&gt;
&lt;br /&gt;
 rdfind -deleteduplicates true -checksum sha1 /home/storage&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[rmlint]]&lt;br /&gt;
* [[fdupes]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Komentorivin erikoisohjelmat]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=SNMP&amp;diff=47246</id>
		<title>SNMP</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=SNMP&amp;diff=47246"/>
		<updated>2016-11-16T14:10:35Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Ohjaus sivulle Simple Network Management Protocol&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Simple Network Management Protocol‎]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Simple_Network_Management_Protocol&amp;diff=47245</id>
		<title>Simple Network Management Protocol</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Simple_Network_Management_Protocol&amp;diff=47245"/>
		<updated>2016-11-16T14:09:52Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: Simple Network Management Protocol (SNMP) on TCP/IP-verkkojen hallinnassa käytettävä tietoliikenneprotokolla. Protokollan avulla voidaan kysellä verkossa olevan laitteen ti...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simple Network Management Protocol (SNMP) on [[TCP/IP]]-verkkojen hallinnassa käytettävä tietoliikenneprotokolla. Protokollan avulla voidaan kysellä verkossa olevan laitteen tilaa tai laite voi itsenäisesti antaa hälytyksiä.&lt;br /&gt;
&lt;br /&gt;
Laitteen tiedot kuvataan MIB:ssä (Management Information Base).&lt;br /&gt;
&lt;br /&gt;
SNMP käyttää [[UDP]]-portteja 161 ja 162. Porttia 161 käytetään kyselyihin ja porttia 162 hälytyksiin.&lt;br /&gt;
&lt;br /&gt;
Yleisiä tietoja ovat:&lt;br /&gt;
* Prosessorin käyttöaste&lt;br /&gt;
* Levytila&lt;br /&gt;
* Muistinkäyttö&lt;br /&gt;
* IP-osoite&lt;br /&gt;
* Lista ethernet-porteista ja niiden nopeuksista &lt;br /&gt;
&lt;br /&gt;
Linuxissa SNMP-palvelua voidaan laajentaa skripteillä antamaan lisätietoa. Paketin nimi on yleensä `snmpd`.&lt;br /&gt;
&lt;br /&gt;
SNMP TRAP -hälytyksiä voi olla esimerkiksi:&lt;br /&gt;
* Levytila loppuu&lt;br /&gt;
* Muisti loppuu&lt;br /&gt;
* [[RAID]]-pakka on hajoamassa/hajonnut&lt;br /&gt;
&lt;br /&gt;
== Protokolla (versio 1) ==&lt;br /&gt;
Protokollassa on neljänlaisia viestejä:&lt;br /&gt;
* GET, palautetaan nimetty tieto&lt;br /&gt;
* GETNEXT, palautetaan seuraava tieto (voidaan käydä kaikki tiedot läpi järjestyksessä)&lt;br /&gt;
* SET, muutetaan tietoa&lt;br /&gt;
* TRAP, raportoidaan muuttuneesta tilanteesta, esimerkiksi hälytys&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=IPMI&amp;diff=47244</id>
		<title>IPMI</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=IPMI&amp;diff=47244"/>
		<updated>2016-11-16T13:52:15Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Ohjaus sivulle Intelligent Platform Management Interface&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Intelligent Platform Management Interface]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Intelligent_Platform_Management_Interface&amp;diff=47239</id>
		<title>Intelligent Platform Management Interface</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Intelligent_Platform_Management_Interface&amp;diff=47239"/>
		<updated>2016-11-11T17:35:26Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Intelligent Platform Management Interface&#039;&#039;&#039; (IPMI) on emolevyn rajapinta tietokoneen etäohjausta varten. IPMI mahdollistaa tietokoneen hallinnan verkon yli aivan kuin olisit koneen ääressä fyysisesti. IPMI mahdollistaa yleensä vähintään käyttöjärjestelmän asennuksen, BIOS-asetusten säädön, virranhallinnan, tapahtumalokien lukemisen ja eri anturitietojen lukemisen (virrankäyttö, tuulettimien nopeus, ..). IPMI osaa myös antaa tietoa [[SNMP]]:llä ja mahdolliset SNMP trap -hälytykset.&lt;br /&gt;
&lt;br /&gt;
Yleensä emolevyssä on erillinen ethernet-portti IPMI-ohjausta varten. Jotkut valmistajat ovat luoneet www-käyttöliittymän ja jotkut tarvitsevat erillisen hallintaohjelman. Erillinen IPMI-ethernet-portti kannattaa tietoturvasyistä laittaa erilliseen eristettyyn [[VLAN]]:iin kytkimessä.&lt;br /&gt;
&lt;br /&gt;
== IPMIView (SuperMicro) (Windows) ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Supermicro ipmi screen.png|Ruutu&lt;br /&gt;
Supermicro ipmi screen mount.png|Asemien liittäminen käyttöjärjestelmän asentamista varten&lt;br /&gt;
Supermicro ipmi network settings.png|Verkkoasetukset&lt;br /&gt;
Supermicro ipmi power control.png|Virranhallinta&lt;br /&gt;
Supermicro ipmi sensors.png|Anturit&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lisää aiheesta ==&lt;br /&gt;
* https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_sensors.png&amp;diff=47238</id>
		<title>Tiedosto:Supermicro ipmi sensors.png</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_sensors.png&amp;diff=47238"/>
		<updated>2016-11-11T17:30:29Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lisenssi ==&lt;br /&gt;
{{Kuvakaappaus}}&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_screen_mount.png&amp;diff=47237</id>
		<title>Tiedosto:Supermicro ipmi screen mount.png</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_screen_mount.png&amp;diff=47237"/>
		<updated>2016-11-11T17:30:16Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lisenssi ==&lt;br /&gt;
{{Kuvakaappaus}}&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_screen.png&amp;diff=47236</id>
		<title>Tiedosto:Supermicro ipmi screen.png</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_screen.png&amp;diff=47236"/>
		<updated>2016-11-11T17:29:58Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lisenssi ==&lt;br /&gt;
{{Kuvakaappaus}}&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_power_control.png&amp;diff=47235</id>
		<title>Tiedosto:Supermicro ipmi power control.png</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_power_control.png&amp;diff=47235"/>
		<updated>2016-11-11T17:29:40Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lisenssi ==&lt;br /&gt;
{{Kuvakaappaus}}&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_network_settings.png&amp;diff=47234</id>
		<title>Tiedosto:Supermicro ipmi network settings.png</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Tiedosto:Supermicro_ipmi_network_settings.png&amp;diff=47234"/>
		<updated>2016-11-11T17:29:20Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lisenssi ==&lt;br /&gt;
{{Kuvakaappaus}}&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Intelligent_Platform_Management_Interface&amp;diff=47233</id>
		<title>Intelligent Platform Management Interface</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Intelligent_Platform_Management_Interface&amp;diff=47233"/>
		<updated>2016-11-11T17:15:50Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: &amp;#039;&amp;#039;&amp;#039;Intelligent Platform Management Interface&amp;#039;&amp;#039;&amp;#039; (IPMI) on emolevyn rajapinta tietokoneen etäohjausta varten. IPMI mahdollistaa tietokoneen hallinnan verkon yli aivan kuin olisit k...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Intelligent Platform Management Interface&#039;&#039;&#039; (IPMI) on emolevyn rajapinta tietokoneen etäohjausta varten. IPMI mahdollistaa tietokoneen hallinnan verkon yli aivan kuin olisit koneen ääressä fyysisesti. IPMI mahdollistaa yleensä vähintään käyttöjärjestelmän asennuksen, BIOS-asetusten säädön, virranhallinnan, tapahtumalokien lukemisen ja eri anturitietojen lukemisen (virrankäyttö, tuulettimien nopeus, ..). IPMI osaa myös antaa tietoa [[SNMP]]:llä ja mahdolliset SNMP trap -hälytykset.&lt;br /&gt;
&lt;br /&gt;
Yleensä emolevyssä on erillinen ethernet-portti IPMI-ohjausta varten. Jotkut valmistajat ovat luoneet www-käyttöliittymän ja jotkut tarvitsevat erillisen hallintaohjelman. Erillinen IPMI-ethernet-portti kannattaa tietoturvasyistä laittaa erilliseen eristettyyn [[VLAN]]:iin kytkimessä.&lt;br /&gt;
&lt;br /&gt;
== Lisää aiheesta ==&lt;br /&gt;
* https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=OpenSUSE_Build_Service&amp;diff=46946</id>
		<title>OpenSUSE Build Service</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=OpenSUSE_Build_Service&amp;diff=46946"/>
		<updated>2016-08-17T10:43:16Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: &amp;#039;&amp;#039;&amp;#039;openSUSE Build Service&amp;#039;&amp;#039;&amp;#039; on palvelu, jolla voidaan tehdä jakelukohtaisia paketteja helposti. Tuettuina jakeiluina ovat 2016/08 mm. SUSE, Arch, Debian, Red Hat,...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;openSUSE Build Service&#039;&#039;&#039; on palvelu, jolla voidaan tehdä jakelukohtaisia paketteja helposti. Tuettuina jakeiluina ovat 2016/08 mm. [[SUSE]], [[Arch]], [[Debian]], [[Red Hat]], [[Ubuntu]]. Paketteja voi myös luoda eri suorittimien käskykannoille: &lt;br /&gt;
&lt;br /&gt;
*[[CISC]]&lt;br /&gt;
** x86&lt;br /&gt;
** x86_64&lt;br /&gt;
*[[RISC]]&lt;br /&gt;
**[[ARM]]v7 powerpc&lt;br /&gt;
**ARMv7 powerpc 64&lt;br /&gt;
&lt;br /&gt;
==Aiheesta muualla==&lt;br /&gt;
* Kotisivu: https://build.opensuse.org/&lt;br /&gt;
* Tuetut jakelut https://en.opensuse.org/openSUSE:Build_Service_supported_build_targets&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Netcat&amp;diff=46402</id>
		<title>Netcat</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Netcat&amp;diff=46402"/>
		<updated>2016-05-22T12:42:42Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Netcat&#039;&#039;&#039; on ohjelma, jolla voi lähettää ja vastaanottaa tietoa [[wikipedia:fi:UDP|UDP]]- tai [[wikipedia:fi:TCP|TCP]]-protokollan yli verkossa. Tieto lähetetään yleensä salaamattomana, eikä vastapuolen oikeellisuutta varmisteta.&lt;br /&gt;
&lt;br /&gt;
==Käyttö==&lt;br /&gt;
&lt;br /&gt;
Tiedon lähettäminen&lt;br /&gt;
 nc [valitsimet] &amp;lt;host&amp;gt; &amp;lt;portit&amp;gt;&lt;br /&gt;
Tiedon vastaanottaminen&lt;br /&gt;
 nc -l -p &amp;lt;portti&amp;gt; [valitsimet] [host] [portti]&lt;br /&gt;
&lt;br /&gt;
==Käyttökohteita ja esimerkkejä==&lt;br /&gt;
&lt;br /&gt;
===Tiedonsiirto===&lt;br /&gt;
Lähiverkossa tulee joskus tarve siirtää hakemistorakenteita koneelta toiselle. Tällöin voidaan tar:n pakkaama tiedostorakenne siirtää netcatin avulla vastaanottajakoneelle. Tämä ei kuitenkaan yleisesti ole turvallista!&lt;br /&gt;
&lt;br /&gt;
Vastaanottajakoneella isäntä.fi kuunnellaan vapaata porttia 1337&lt;br /&gt;
 nc -l -p 1337 | tar -xvpf -&lt;br /&gt;
Lähettäjäkoneella lähetetään pakattu hakemistorakenne vastaanottajalle&lt;br /&gt;
 [[tar]] -cvf - hakemisto | nc isäntä.fi 1337&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[socat]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Tiedonsiirto]]&lt;br /&gt;
[[Luokka:Komentorivin perustyökalut]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Socat&amp;diff=46401</id>
		<title>Socat</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Socat&amp;diff=46401"/>
		<updated>2016-05-22T12:41:50Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: &amp;#039;&amp;#039;&amp;#039;socat&amp;#039;&amp;#039;&amp;#039; on ohjelma, jolla voi todella monipuolisesti muokata ja ohjata verkkoliikennettä. socatia on yleensä kutsuttu &amp;quot;netcatiksi steroideilla&amp;quot;.  == Aiheesta muualla == *...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;socat&#039;&#039;&#039; on ohjelma, jolla voi todella monipuolisesti muokata ja ohjata verkkoliikennettä. socatia on yleensä kutsuttu &amp;quot;[[netcat]]iksi steroideilla&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Aiheesta muualla ==&lt;br /&gt;
* Kotisivu: http://www.dest-unreach.org/socat/&lt;br /&gt;
* Esimerkkejä: http://www.dest-unreach.org/socat/doc/socat.html#EXAMPLES&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[netcat]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Verkko]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Ebtables&amp;diff=46400</id>
		<title>Ebtables</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Ebtables&amp;diff=46400"/>
		<updated>2016-05-22T12:07:50Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Pohja&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ebtables&#039;&#039;&#039; on palomuuriohjelma [[Bridge|sillatuille]] verkkoyhteyksille. [[iptables]]-komennolla ei voi tehdä sillattuun verkkoyhteyteen palomuurisääntöjä.&lt;br /&gt;
&lt;br /&gt;
== Aiheesta muualla ==&lt;br /&gt;
Kotisivu: http://ebtables.netfilter.org/&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[NFTables]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Verkko]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=NFTables&amp;diff=46399</id>
		<title>NFTables</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=NFTables&amp;diff=46399"/>
		<updated>2016-05-22T12:00:35Z</updated>

		<summary type="html">&lt;p&gt;Raspi: lisää ominaisuuksia lisätty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NFTables&#039;&#039;&#039; (&amp;lt;code&amp;gt;nft&amp;lt;/code&amp;gt;) korvaa vanhat &amp;lt;code&amp;gt;[[iptables]]&amp;lt;/code&amp;gt; ([[IPv4]]), &amp;lt;code&amp;gt;[[ip6tables]]&amp;lt;/code&amp;gt; ([[IPv6]]), &amp;lt;code&amp;gt;[[arptables]]&amp;lt;/code&amp;gt; ([[ARP]]/RARP) ja &amp;lt;code&amp;gt;[[ebtables]]&amp;lt;/code&amp;gt; ([[Bridge|Silta]]) -palomuuriohjelmistot. NFTables nitoo kaikki vanhat ohjelmat yhden ohjelman alle. Joissain jakeluissa NFTables on asennettu jo vakiona ja joihinkin se pitää asentaa. Paketin nimi on yleensä &amp;lt;code&amp;gt;nft&amp;lt;/code&amp;gt; tai &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;. NFTables kehitettiin mm. siksi, että vanhoja edellä mainittuja ohjelmia on paljon ja näin monen ohjelman ylläpito ja kehitys on hankalaa. NFTables tulee syrjäyttämään vanhat palomuuriohjelmat tulevaisuudessa.&lt;br /&gt;
&lt;br /&gt;
== Joitain ominaisuuksia ==&lt;br /&gt;
&lt;br /&gt;
* Atominen tuki (lisää/korvaa/muuta kaikki tai osa säännöistä kerralla)&lt;br /&gt;
** Vanhassa [[iptables]]issa säännöt syötettiin yksitellen ja ne astuivat voimaan syöttämisjärjestyksessä&lt;br /&gt;
* Interaktiivinen konsoli&lt;br /&gt;
* [https://wiki.nftables.org/wiki-nftables/index.php/Scripting Skriptituki]&lt;br /&gt;
** Muuttujatuki&lt;br /&gt;
*** [[NTP]]-aikapalvelimet: &amp;lt;code&amp;gt;define ntp_servers = { 127.0.0.1, 192.168.0.1 }&amp;lt;/code&amp;gt;&lt;br /&gt;
*** [[DNS]]-nimipalvelin: &amp;lt;code&amp;gt;define google_dns = 8.8.8.8&amp;lt;/code&amp;gt;&lt;br /&gt;
** Tiedostojen liittäminen skriptitiedostoihin:&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;variables.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;lan-rules.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;wan-rules.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Reaaliaikainen palomuurisääntöjen muutosten seuranta (&amp;lt;code&amp;gt;nft monitor&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Mahdollistaa esimerkiksi skriptin teon, joka ottaa automaattiset varmuuskopiot [[git]]-versionhallinnan avulla sekä kirjoittaa tiedon milloin muutos tehtiin&lt;br /&gt;
*** Tämä taas mahdollistaa helpon palomuurisääntöjen historiaseurannan ja muutoksen peruutuksen&lt;br /&gt;
* [[JSON]]- ja [[XML]]-tuki&lt;br /&gt;
** Helpottaa sääntöjen kirjoittamista ja luettavuutta ohjelmistoilla&lt;br /&gt;
** Esimerkiksi sääntöjen listauksesta luettavassa JSON-muodossa: &amp;lt;code&amp;gt;nft export json | jq&amp;lt;/code&amp;gt;&lt;br /&gt;
* Yhdistetty IPv4 ja IPv6 sääntö &amp;lt;code&amp;gt;inet&amp;lt;/code&amp;gt;-nimen alle, mutta myös &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; ja &amp;lt;code&amp;gt;ip6&amp;lt;/code&amp;gt; ovat käytettävissä erikseen&lt;br /&gt;
&lt;br /&gt;
== Muuta ==&lt;br /&gt;
NFTablesiin on tehty apuohjelmia ja skriptejä, joilla voit käyttää NFTablesia kuten käyttäisit [[iptables]]ia, mutta apuohjelma muuttaa iptables-säännöt NFTables-yhteensopiviksi. Esimerkiksi [[Ubuntu]]ssa paketin nimi on &amp;lt;code&amp;gt;iptables-nftables-compat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Aiheesta muualla ==&lt;br /&gt;
* Kotisivu: http://netfilter.org/projects/nftables/&lt;br /&gt;
* Wiki: https://wiki.nftables.org/wiki-nftables/index.php/Main_Page&lt;br /&gt;
* Arch Linuxin wiki: https://wiki.archlinux.org/index.php/nftables&lt;br /&gt;
* Gentoon wiki: https://wiki.gentoo.org/wiki/Nftables&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=NFTables&amp;diff=46369</id>
		<title>NFTables</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=NFTables&amp;diff=46369"/>
		<updated>2016-05-09T18:53:32Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NFTables&#039;&#039;&#039; (&amp;lt;code&amp;gt;nft&amp;lt;/code&amp;gt;) korvaa vanhat &amp;lt;code&amp;gt;[[iptables]]&amp;lt;/code&amp;gt; ([[IPv4]]), &amp;lt;code&amp;gt;[[ip6tables]]&amp;lt;/code&amp;gt; ([[IPv6]]), &amp;lt;code&amp;gt;[[arptables]]&amp;lt;/code&amp;gt; ([[ARP]]/RARP) ja &amp;lt;code&amp;gt;[[ebtables]]&amp;lt;/code&amp;gt; (Silta) -palomuuriohjelmistot. NFTables nitoo kaikki vanhat ohjelmat yhden ohjelman alle. Joissain jakeluissa NFTables on asennettu jo vakiona ja joihinkin se pitää asentaa. Paketin nimi on yleensä &amp;lt;code&amp;gt;nft&amp;lt;/code&amp;gt; tai &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;. NFTables kehitettiin mm. siksi, että vanhoja edellä mainittuja ohjelmia on paljon ja näin monen ohjelman ylläpito ja kehitys on hankalaa. NFTables tulee syrjäyttämään vanhat palomuuriohjelmat tulevaisuudessa.&lt;br /&gt;
&lt;br /&gt;
== Joitain ominaisuuksia ==&lt;br /&gt;
&lt;br /&gt;
* Atominen tuki (lisää/korvaa/muuta kaikki tai osa säännöistä kerralla)&lt;br /&gt;
** Vanhassa [[iptables]]issa säännöt syötettiin yksitellen ja ne astuivat voimaan syöttämisjärjestyksessä&lt;br /&gt;
* Interaktiivinen konsoli&lt;br /&gt;
* [https://wiki.nftables.org/wiki-nftables/index.php/Scripting Skriptituki]&lt;br /&gt;
** Muuttujatuki&lt;br /&gt;
*** &amp;lt;code&amp;gt;define ntp_servers = { 127.0.0.1, 192.168.0.1 }&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;define google_dns = 8.8.8.8&amp;lt;/code&amp;gt;&lt;br /&gt;
** Tiedostojen liittäminen&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;variables.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;lan-rules.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;wan-rules.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muuta ==&lt;br /&gt;
NFTablesiin on tehty apuohjelmia ja skriptejä, joilla voit käyttää NFTablesia kuten käyttäisit iptablesia, mutta apuohjelma muuttaa iptables-säännöt NFTables-yhteensopiviksi. Esimerkiksi Ubuntussa paketin nimi on &amp;lt;code&amp;gt;iptables-nftables-compat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Aiheesta muualla ==&lt;br /&gt;
* Kotisivu: http://netfilter.org/projects/nftables/&lt;br /&gt;
* Wiki: https://wiki.nftables.org/wiki-nftables/index.php/Main_Page&lt;br /&gt;
* Arch Linuxin wiki: https://wiki.archlinux.org/index.php/nftables&lt;br /&gt;
* Gentoon wiki: https://wiki.gentoo.org/wiki/Nftables&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=NFTables&amp;diff=46368</id>
		<title>NFTables</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=NFTables&amp;diff=46368"/>
		<updated>2016-05-09T18:27:28Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Pohjaa...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NFTables&#039;&#039;&#039; (&amp;lt;code&amp;gt;nft&amp;lt;/code&amp;gt;) korvaa vanhat &amp;lt;code&amp;gt;[[iptables]]&amp;lt;/code&amp;gt; ([[IPv4]]), &amp;lt;code&amp;gt;[[ip6tables]]&amp;lt;/code&amp;gt; ([[IPv6]]), &amp;lt;code&amp;gt;[[arptables]]&amp;lt;/code&amp;gt; ([[ARP]]/RARP) ja &amp;lt;code&amp;gt;[[ebtables]]&amp;lt;/code&amp;gt; (Silta) -palomuuriohjelmistot. NFTables nitoo kaikki vanhat ohjelmat yhden ohjelman alle. Joissain jakeluissa NFTables on asennettu jo vakiona ja joihinkin se pitää asentaa. Paketin nimi on yleensä &amp;lt;code&amp;gt;nft&amp;lt;/code&amp;gt; tai &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;. NFTables kehitettiin mm. siksi, että vanhoja edellä mainittuja ohjelmia on paljon ja näin monen ohjelman ylläpito ja kehitys on hankalaa. NFTables tulee syrjäyttämään vanhat palomuuriohjelmat tulevaisuudessa.&lt;br /&gt;
&lt;br /&gt;
== Joitain ominaisuuksia ==&lt;br /&gt;
&lt;br /&gt;
* Atominen tuki (lisää/korvaa/muuta kaikki tai osa säännöistä kerralla)&lt;br /&gt;
** Vanhassa [[iptables]]issa säännöt syötettiin yksitellen ja ne astuivat voimaan syöttämisjärjestyksessä&lt;br /&gt;
* Interaktiivinen konsoli&lt;br /&gt;
* [https://wiki.nftables.org/wiki-nftables/index.php/Scripting Skriptituki]&lt;br /&gt;
** Muuttujatuki&lt;br /&gt;
*** &amp;lt;code&amp;gt;define ntp_servers = { 127.0.0.1, 192.168.0.1 }&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;define google_dns = 8.8.8.8&amp;lt;/code&amp;gt;&lt;br /&gt;
** Tiedostojen liittäminen&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;variables.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;lan-rules.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;include &amp;quot;wan-rules.ruleset&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muuta ==&lt;br /&gt;
NFTablesiin on tehty apuohjelmia ja skriptejä, joilla voit käyttää NFTablesia kuten käyttäisit iptablesia, mutta apuohjelma muuttaa iptables-säännöt NFTables-yhteensopiviksi. Esimerkiksi Ubuntussa paketin nimi on &amp;lt;code&amp;gt;iptables-nftables-compat&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Aiheesta muualla ==&lt;br /&gt;
* Kotisivu: http://netfilter.org/projects/nftables/&lt;br /&gt;
* Wiki: https://wiki.nftables.org/wiki-nftables/index.php/Main_Page&lt;br /&gt;
* Arch Linuxin wiki: https://wiki.archlinux.org/index.php/nftables&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Keskustelu:Let%27s_Encrypt&amp;diff=46343</id>
		<title>Keskustelu:Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Keskustelu:Let%27s_Encrypt&amp;diff=46343"/>
		<updated>2016-04-30T09:49:56Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: Asennuksesta puuttuu joitain kohtia, koska käytin pohjana valmista asennusta, joten jos joku asentaa nollapohjalta LE:n niin voisi lisätä ko. puuttuvat kohdat. --~~~~&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Asennuksesta puuttuu joitain kohtia, koska käytin pohjana valmista asennusta, joten jos joku asentaa nollapohjalta LE:n niin voisi lisätä ko. puuttuvat kohdat. --[[Käyttäjä:Raspi|raspi]] ([[Keskustelu käyttäjästä:Raspi|keskustelu]]) 30. huhtikuuta 2016 kello 12.49 (EEST)&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Let%27s_Encrypt&amp;diff=46342</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Let%27s_Encrypt&amp;diff=46342"/>
		<updated>2016-04-30T09:27:05Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Pohjaa tehty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Let&#039;s Encrypt&#039;&#039;&#039; on .. TODO..&lt;br /&gt;
&lt;br /&gt;
== Arch Linux ==&lt;br /&gt;
=== nginx ===&lt;br /&gt;
&lt;br /&gt;
Asenna letsencrypt ja [[nginx]]:iä koskevat apuohjelmat:&lt;br /&gt;
  # pacman -S letsencrypt letsencrypt-nginx&lt;br /&gt;
&lt;br /&gt;
Käyttöönotto graafisella konsolipohjaisella käyttöliittymällä:&lt;br /&gt;
&lt;br /&gt;
  # letsencrypt&lt;br /&gt;
&lt;br /&gt;
Ohjelma lataa graafisen konsolipohjaisen käyttöliittymän ja hakee nginxiin konfiguroidut domain-nimet. Valitse haluamasi domainit, jolle Let&#039;s encrypt otetaan käyttöön painamalla välilyöntiä. Vakiona ohjelma on valinnut kaikki domainit ja niiden mahdolliset alidomainit. Paina Enteriä &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; aloittaaksesi asennuksen. Voit valita &amp;lt;code&amp;gt;Cancel/Peruuta&amp;lt;/code&amp;gt; painamalla sarkainta tai käyttämällä vasenta ja oikeaa nuolinäppäintä. Seuraavaan konfiguraatiovaiheeseen siirtymisessä saattaa kestää hetken riippuen kuinka monta domainia valitsit.&lt;br /&gt;
&lt;br /&gt;
Valinnat ovat:&lt;br /&gt;
&lt;br /&gt;
* Easy Allow both HTTP and HTTPS access to these sites (Molemmat [[HTTP]]- ja [[HTTPS]]-liikenne sallitaan)&lt;br /&gt;
* Secure Make all requests redirect to secure HTTPS access (Kaikki liikenne uudelleenohjataan salatuksi liikenteeksi. &#039;&#039;&#039;Suositeltu valinta&#039;&#039;&#039;.)&lt;br /&gt;
&lt;br /&gt;
Jos sertifikaatti on jo asennettu valitulle domainille niin vaihtoehdot ovat:&lt;br /&gt;
&lt;br /&gt;
* 1 Attempt to reinstall this existing certificate (Asenna uudelleen)&lt;br /&gt;
* 2 Renew &amp;amp; replace the cert (limit ~5 per 7 days) (Uudista [[SSL]]-sertifikaatti)&lt;br /&gt;
&lt;br /&gt;
Jos asensit tai uudelleenasensit Let&#039;s encryptin, konfiguraation näyttää seuraavalla sivu onnittelut ja URL-osoitteen, jossa asennettua sertifikaattia voi testata.&lt;br /&gt;
&lt;br /&gt;
Testaa vielä, että nginx:n konfiguraatiotiedostot eivät sisällä virheitä:&lt;br /&gt;
&lt;br /&gt;
  # nginx -t&lt;br /&gt;
&lt;br /&gt;
Kokeile vielä, että kaikki toimii käynnistämällä nginx uudelleen:&lt;br /&gt;
&lt;br /&gt;
  # systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
Kokeile asennusta vielä menemällä selaimellasi https://domainisi.fi/ .&lt;br /&gt;
&lt;br /&gt;
== Muita huomioita ==&lt;br /&gt;
&lt;br /&gt;
Jos käytät jotain [[CDN]]:ää, esimerkiksi [[CloudFlare]]a tai muuta [[HTTP]]/[[HTTPS]]-liikennettä uudelleenohjaavaa palvelua ei Let&#039;s encrypt välttämättä toimi, sillä CDN muuntaa IP-osoitteen osoittamaan kyseiselle CDN-palveluntarjoajalle ja ohjaa liikenteen palvelun kautta koneellesi, jossa Let&#039;s encrypt toimii. Riippuen CDN-palveluntarjoajasta saatat joutua ostamaan heiltä lisäpalvelun, jotta Let&#039;s encrypt toimii CDN:n kautta tai pudottamaan CDN:n käytöstä pois ja kääntämään A/AAAA-tietueet suoraan koneen julkiselle IP-osoitteelle. Tällöin menetetät mm. CDN:n tuoman välimuistihyödyn ja julkisen IP:n piilottamisen.&lt;br /&gt;
&lt;br /&gt;
== Aiheesta muualla ==&lt;br /&gt;
* Kotisivu: https://letsencrypt.org/&lt;br /&gt;
* Palvelun tila: https://letsencrypt.status.io/&lt;br /&gt;
* Keskustelufoorumi: https://community.letsencrypt.org/&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[HTTP]]&lt;br /&gt;
* [[HTTPS]]&lt;br /&gt;
* [[SSL]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Keskustelu_tiedostosta:Screenshot-glowing-bear.png&amp;diff=46341</id>
		<title>Keskustelu tiedostosta:Screenshot-glowing-bear.png</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Keskustelu_tiedostosta:Screenshot-glowing-bear.png&amp;diff=46341"/>
		<updated>2016-04-30T08:22:43Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jos irkistä ottaa julkaisumielessä kuvia niin olisi kohteliasta mainita siitä kanavalla, vaikka se julkista keskustelua onkin. Jos jotakuta häiritsee niin voidaan ottaa pois. --[[Käyttäjä:Oselotti|&amp;lt;font face=&amp;quot;fixedsys&amp;quot; color=&amp;quot;#333&amp;quot;&amp;gt;oselotti&amp;lt;/font&amp;gt;]] ([[Keskustelu käyttäjästä:Oselotti|&amp;lt;font face=&amp;quot;fixedsys&amp;quot; color=&amp;quot;#333&amp;quot;&amp;gt;keskustelu&amp;lt;/font&amp;gt;]]) 30. huhtikuuta 2016 kello 09.18 (EEST)&lt;br /&gt;
&lt;br /&gt;
Joo voi poistaa jos häiritsee. Itse irkannut vuodesta 1996 ja kaiken maailman logitusbotit sun muut logit tulleet tutuiksi eli tosiaan julkisena puheena myös IRC:iä pidän. Olisi tosiaan pitänyt vielä kysäistä. --[[Käyttäjä:Raspi|raspi]] ([[Keskustelu käyttäjästä:Raspi|keskustelu]]) 30. huhtikuuta 2016 kello 11.22 (EEST)&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4:Raspi&amp;diff=46336</id>
		<title>Käyttäjä:Raspi</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4:Raspi&amp;diff=46336"/>
		<updated>2016-04-29T18:38:07Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: http://raspi.fi/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://raspi.fi/&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Glowing_Bear&amp;diff=46335</id>
		<title>Glowing Bear</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Glowing_Bear&amp;diff=46335"/>
		<updated>2016-04-29T18:29:33Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Screenshotti&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ohjelma&lt;br /&gt;
| nimi=Glowing Bear&lt;br /&gt;
| kuva=&lt;br /&gt;
| kuvateksti=&lt;br /&gt;
| lisenssi=[[GPLv3]]&lt;br /&gt;
| käyttöliittymä=www&lt;br /&gt;
| kotisivu=[https://www.glowing-bear.org/ www.glowing-bear.org]&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Glowing Bear&#039;&#039;&#039; on web-käyttöliittymä [[WeeChat]]-[[IRC]]-asiakasohjelmalle. Ohjelma muistuttaa kaupallista [[IRCCloud]]-palvelua.&lt;br /&gt;
&lt;br /&gt;
==Ruutukaappaus==&lt;br /&gt;
[[Tiedosto:Screenshot-glowing-bear.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==WebSocket-uudelleenohjauksen käyttöönotto WeeChatissa==&lt;br /&gt;
&lt;br /&gt;
  /relay add weechat 9001&lt;br /&gt;
  /set relay.network.password SALASANASI&lt;br /&gt;
&lt;br /&gt;
Huom: WeeChatin pitää olla käynnissä 24/7 esim. [[tmux|tmuxin]] tai [[screen|screenin]] avulla.&lt;br /&gt;
&lt;br /&gt;
==Asentaminen lokaalisti==&lt;br /&gt;
&lt;br /&gt;
  $ git clone https://github.com/glowing-bear/glowing-bear&lt;br /&gt;
&lt;br /&gt;
==Nginx-asennus==&lt;br /&gt;
&lt;br /&gt;
Asennusesimerkki HTTP:lle. Asennuksen testauksen jälkeen kannattaa siirtyä käyttämään HTTPS:ää ja käyttää esim. [[Let&#039;s Encrypt]]iä sekä salata kirjautumissivu esim. &amp;lt;code&amp;gt;auth_basic&amp;lt;/code&amp;gt;-asetuksella tai muulla autentikointimenetelmällä. WeeChatin käyttämä relay-portti kannattaa myös estää palomuurista ja sallia vain pääsy paikalliselta koneelta (&amp;lt;code&amp;gt;127.0.0.1&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
  server {&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name glowingbear.oma-domain.fi;&lt;br /&gt;
    root /home/kayttaja/glowing-bear;&lt;br /&gt;
    autoindex off;&lt;br /&gt;
    index index.html;&lt;br /&gt;
    access_log  /home/kayttaja/glowing-bear-http-access.log;&lt;br /&gt;
    error_log  /home/kayttaja/glowing-bear-http-error.log notice;&lt;br /&gt;
    &lt;br /&gt;
    # Ohjataan /weechat weechatin relay-porttiin 9001 paikalliselle koneelle&lt;br /&gt;
    location /weechat {&lt;br /&gt;
      access_log /home/kayttaja/glowing-bear-api-access.log;&lt;br /&gt;
      error_log /home/kayttaja/glowing-bear-api-error.log;&lt;br /&gt;
      expires epoch;&lt;br /&gt;
      proxy_ignore_client_abort on;&lt;br /&gt;
      proxy_buffering off;&lt;br /&gt;
      proxy_request_buffering off;&lt;br /&gt;
      proxy_cache off;&lt;br /&gt;
      proxy_pass http://127.0.0.1:9001;&lt;br /&gt;
      proxy_http_version 1.1;&lt;br /&gt;
      proxy_set_header Connection &amp;quot;keep-alive, Upgrade&amp;quot;;&lt;br /&gt;
      proxy_set_header Upgrade &amp;quot;websocket&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|htm|xml|txt)$ {&lt;br /&gt;
      try_files $uri /;&lt;br /&gt;
      access_log on;&lt;br /&gt;
      expires max;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    location = /robots.txt  { access_log off; log_not_found off; }&lt;br /&gt;
    location = /favicon.ico { access_log off; log_not_found off; }&lt;br /&gt;
    location ~ /\. { access_log off; log_not_found off; deny all; }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Käynnistä nginx tämän jälkeen uudestaan ja mene selaimellasi osoitteeseen http://glowingbear.oma-domain.fi/ . Kirjoita isäntänimeksi &amp;lt;code&amp;gt;glowingbear.oma-domain.fi&amp;lt;/code&amp;gt; ja portiksi &amp;lt;code&amp;gt;80&amp;lt;/code&amp;gt;. Mahdollisia ongelmia voit tutkia WeeChatista, nginxiin asettamista logeista sekä selaimesi debug-konsolista.&lt;br /&gt;
&lt;br /&gt;
==Aiheesta muualla==&lt;br /&gt;
* Kotisivu: https://www.glowing-bear.org/&lt;br /&gt;
* Lähdekoodi: https://github.com/glowing-bear/glowing-bear&lt;br /&gt;
&lt;br /&gt;
[[Luokka: Pikaviestimet]]&lt;br /&gt;
[[Luokka: Verkko]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Tiedosto:Screenshot-glowing-bear.png&amp;diff=46334</id>
		<title>Tiedosto:Screenshot-glowing-bear.png</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Tiedosto:Screenshot-glowing-bear.png&amp;diff=46334"/>
		<updated>2016-04-29T18:27:35Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Glowing Bear (WeeChatin web-käyttöliittymä)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Yhteenveto ==&lt;br /&gt;
Glowing Bear (WeeChatin web-käyttöliittymä)&lt;br /&gt;
== Lisenssi ==&lt;br /&gt;
{{Kuvakaappaus}}&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Lldpd&amp;diff=46265</id>
		<title>Lldpd</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Lldpd&amp;diff=46265"/>
		<updated>2016-04-26T23:10:37Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: &amp;lt;code&amp;gt;lldpd&amp;lt;/code&amp;gt; on [https://en.wikipedia.org/wiki/Link_Layer_Discovery_Protocol LLDP]-protokollaa käyttävä palvelu, joka mainostaa LLDP:n osaaville kytkimille mihin palvelua...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;code&amp;gt;lldpd&amp;lt;/code&amp;gt; on [https://en.wikipedia.org/wiki/Link_Layer_Discovery_Protocol LLDP]-protokollaa käyttävä palvelu, joka mainostaa LLDP:n osaaville kytkimille mihin palvelua pyörittävä verkkolaite pystyy. LLDP on suunniteltu valmistajariippumattomaksi protokollaksi. Esimerkiksi [[CDP]] on Ciscon suunnittelema ja toimii yleensä vain Ciscon laitteilla. Sama Extreme Networksin suunnittelemalla [[EDP]]:llä.&lt;br /&gt;
&lt;br /&gt;
LLDP:tä käyttävä laite &amp;quot;mainostaa&amp;quot; siihen liitettyyn kytkimeen erinäisiä verkkoa koskevia tietoja, jotta verkkoa hallitsevat tahot löytävät &#039;&#039;&#039;fyysisen&#039;&#039;&#039; verkkolaitteen nopeasti vikatilanteissa. Protokollaa käytetään myös tekemään verkkotopologioita automaattisesti dokumentoinnin helpottamiseksi.&lt;br /&gt;
&lt;br /&gt;
Kerätyn verkkolaitteen tietoja (TLV) voi olla esimerkiksi:&lt;br /&gt;
&lt;br /&gt;
* MAC-osoite&lt;br /&gt;
* IP-osoite&lt;br /&gt;
* DNS-nimi&lt;br /&gt;
* Vakio yhdyskäytävä (gateway)&lt;br /&gt;
* Verkon maski&lt;br /&gt;
* Käyttöjärjestelmä&lt;br /&gt;
* VLAN-ID&lt;br /&gt;
* MTU-arvo&lt;br /&gt;
* Linkkinopeus&lt;br /&gt;
* Sisäänkirjautunut käyttäjä&lt;br /&gt;
* Domain-nimi (Active Directory)&lt;br /&gt;
* Mihin kytkimen porttiin laite on kiinnitetty&lt;br /&gt;
* Laiteeseen kytketyn portin valmistajan nimi&lt;br /&gt;
* Toimiiko laite reitittimenä&lt;br /&gt;
* Toimiiko laite siltana&lt;br /&gt;
* Valmistajan omat tiedot (OUI)&lt;br /&gt;
&lt;br /&gt;
Verkkovastaava näkee LLDP:n lähettämät tiedot suoraan kytkimeltä. Eri kytkimet saattavat olla näyttämättä kaikkia tietoja.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lldpd&amp;lt;/code&amp;gt; tulee yleensä useiden distrojen mukana &amp;lt;code&amp;gt;lldpd&amp;lt;/code&amp;gt;-paketin nimellä.&lt;br /&gt;
&lt;br /&gt;
== lldpctl ==&lt;br /&gt;
&amp;lt;code&amp;gt;lldpctl&amp;lt;/code&amp;gt;-ohjelma asentuu yleensä &amp;lt;code&amp;gt;lldpd&amp;lt;/code&amp;gt;-paketin mukana. Ohjelmalla näkee kytkimen kertomat muut LLDP:tä käyttävät verkkolaitteet, jotka ovat kiinni samassa kytkimen portissa.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ lldpctl &lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
LLDP neighbors:&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
Interface:    eth0, via: LLDP, RID: 1, Time: 0 day, 00:21:35&lt;br /&gt;
  Chassis:     &lt;br /&gt;
    ChassisID:    mac 8c:dc:d4:f6:f7:57&lt;br /&gt;
    SysName:      Procurve3&lt;br /&gt;
    SysDescr:     HP 1820-24G Switch J9980A, PT.01.11, Linux 3.6.5-79c95a77, U-Boot 2012.10-00116-g3ab515c (Jul 30 2014 - 10:52:01)&lt;br /&gt;
    MgmtIP:       192.168.101.4&lt;br /&gt;
    Capability:   Bridge, on&lt;br /&gt;
  Port:        &lt;br /&gt;
    PortID:       mac 8c:dc:d4:f6:f5:38&lt;br /&gt;
    PortDescr:    21&lt;br /&gt;
------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aiheesta muualla ==&lt;br /&gt;
* Kotisivu: https://vincentbernat.github.io/lldpd/&lt;br /&gt;
* Lähdekoodit: https://github.com/vincentbernat/lldpd&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
* [[CDP]] (Cisco)&lt;br /&gt;
* [[EDP]] (Extreme Networks)&lt;br /&gt;
* [[SNMP]]&lt;br /&gt;
* [[Remote WIM]] (Windows)&lt;br /&gt;
* [[OpenLLDP]]&lt;br /&gt;
* [[tcpdump]]&lt;br /&gt;
* [[Wireshark]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Glowing_Bear&amp;diff=46074</id>
		<title>Glowing Bear</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Glowing_Bear&amp;diff=46074"/>
		<updated>2016-04-20T12:34:57Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: &amp;#039;&amp;#039;&amp;#039;Glowing Bear&amp;#039;&amp;#039;&amp;#039; on web-käyttöliittymä WeeChat-IRC-asiakasohjelmalle. Ohjelma muistuttaa kaupallista IRCCloud-palvelua.  =WebSocket-uudelleenohjauksen käyttööno...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Glowing Bear&#039;&#039;&#039; on web-käyttöliittymä [[WeeChat]]-[[IRC]]-asiakasohjelmalle. Ohjelma muistuttaa kaupallista [[IRCCloud]]-palvelua.&lt;br /&gt;
&lt;br /&gt;
=WebSocket-uudelleenohjauksen käyttöönotto WeeChatissa=&lt;br /&gt;
&lt;br /&gt;
  /relay add weechat 9001&lt;br /&gt;
  /set relay.network.password SALASANASI&lt;br /&gt;
&lt;br /&gt;
Huom: WeeChatin pitää olla käynnissä 24/7 esim. [[tmux|tmuxin]] tai [[screen|screenin]] avulla.&lt;br /&gt;
&lt;br /&gt;
=Asentaminen lokaalisti=&lt;br /&gt;
&lt;br /&gt;
  $ git clone https://github.com/glowing-bear/glowing-bear&lt;br /&gt;
&lt;br /&gt;
=Nginx-asennus=&lt;br /&gt;
&lt;br /&gt;
Asennusesimerkki HTTP:lle. Asennuksen testauksen jälkeen kannattaa siirtyä käyttämään HTTPS:ää ja käyttää esim. [[Let&#039;s Encrypt]]iä sekä salata kirjautumissivu esim. &amp;lt;code&amp;gt;auth_basic&amp;lt;/code&amp;gt;-asetuksella tai muulla autentikointimenetelmällä. WeeChatin käyttämä relay-portti kannattaa myös estää palomuurista ja sallia vain pääsy paikalliselta koneelta (&amp;lt;code&amp;gt;127.0.0.1&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
  server {&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name glowingbear.oma-domain.fi;&lt;br /&gt;
    root /home/kayttaja/glowing-bear;&lt;br /&gt;
    autoindex off;&lt;br /&gt;
    index index.html;&lt;br /&gt;
    access_log  /home/kayttaja/glowing-bear-http-access.log;&lt;br /&gt;
    error_log  /home/kayttaja/glowing-bear-http-error.log notice;&lt;br /&gt;
    &lt;br /&gt;
    # Ohjataan /weechat weechatin relay-porttiin 9001 paikalliselle koneelle&lt;br /&gt;
    location /weechat {&lt;br /&gt;
      access_log /home/kayttaja/glowing-bear-api-access.log;&lt;br /&gt;
      error_log /home/kayttaja/glowing-bear-api-error.log;&lt;br /&gt;
      expires epoch;&lt;br /&gt;
      proxy_ignore_client_abort on;&lt;br /&gt;
      proxy_buffering off;&lt;br /&gt;
      proxy_request_buffering off;&lt;br /&gt;
      proxy_cache off;&lt;br /&gt;
      proxy_pass http://127.0.0.1:9001;&lt;br /&gt;
      proxy_http_version 1.1;&lt;br /&gt;
      proxy_set_header Connection &amp;quot;keep-alive, Upgrade&amp;quot;;&lt;br /&gt;
      proxy_set_header Upgrade &amp;quot;websocket&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|htm|xml|txt)$ {&lt;br /&gt;
      try_files $uri /;&lt;br /&gt;
      access_log on;&lt;br /&gt;
      expires max;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    location = /robots.txt  { access_log off; log_not_found off; }&lt;br /&gt;
    location = /favicon.ico { access_log off; log_not_found off; }&lt;br /&gt;
    location ~ /\. { access_log off; log_not_found off; deny all; }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Käynnistä nginx tämän jälkeen uudestaan ja mene selaimellasi osoitteeseen http://glowingbear.oma-domain.fi/ . Kirjoita isäntänimeksi &amp;lt;code&amp;gt;glowingbear.oma-domain.fi&amp;lt;/code&amp;gt; ja portiksi &amp;lt;code&amp;gt;80&amp;lt;/code&amp;gt;. Mahdollisia ongelmia voit tutkia WeeChatista, nginxiin asettamista logeista sekä selaimesi debug-konsolista.&lt;br /&gt;
&lt;br /&gt;
=Linkit=&lt;br /&gt;
* Kotisivu: https://www.glowing-bear.org/&lt;br /&gt;
* Lähdekoodi: https://github.com/glowing-bear/glowing-bear&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Samba&amp;diff=43840</id>
		<title>Samba</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Samba&amp;diff=43840"/>
		<updated>2015-10-22T09:02:05Z</updated>

		<summary type="html">&lt;p&gt;Raspi: /* Moduulit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Samba on Unixeille tehty [[avoin lähdekoodi|avoin]] toteutus Windowsissakin käytetystä [[SMB]]/[[CIFS]]-tiedostonsiirtoprotokollasta.&lt;br /&gt;
&lt;br /&gt;
==Asennus==&lt;br /&gt;
Samba-[[palvelin]]ohjelmisto löytyy käytännössä kaikissa [[jakelu]]issa [[paketinhallintajärjestelmä|paketista]] &amp;lt;tt&amp;gt;samba&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
SMB/CIFS-tiedostojärjestelmän [[mount|liittämiseen]] tarvittavat ohjelmistot löytyvät jakelusta riippuen joko paketista &amp;lt;tt&amp;gt;cifs-mount&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;mount-cifs&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;samba-client&amp;lt;/tt&amp;gt; tai &amp;lt;tt&amp;gt;smbfs&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Moduulit ===&lt;br /&gt;
Samban konfiguraatioon voidaan lisätä erilaisia lisämoduuleita, jotka laajentavat samban toimintaa. Näitä ovat esimerkiksi:&lt;br /&gt;
* Roskakori&lt;br /&gt;
* Samba-jakoon siirretyn tiedoston automaattinen virustarkistus&lt;br /&gt;
* Käytettäessä Sambaa tulostamiseen, voi samba luoda esimerkiksi PDF-dokumentin tiettyyn jaettuun hakemistoon&lt;br /&gt;
* Käyttöauditointi, eli kuka loi, muokkasi tai tuhosi tiedostoja ja mihin aikaan&lt;br /&gt;
&lt;br /&gt;
===== Moduuli: Roskakori =====&lt;br /&gt;
Joskus käyttäjä saattaa poistaa vahingossa tiedoston tai hakemiston. Roskakoritoiminto siirtää poistetut tiedostot määrättyyn hakemistoon, josta palvelimen ylläpitäjän pitää käydä ne erikseen poistamassa tai palauttamassa tilanteesta riippuen. Myös virukset saattavat poistaa hakemistoja tai tiedostoja.&lt;br /&gt;
&lt;br /&gt;
Esimerkkikonfiguraatio:&lt;br /&gt;
&lt;br /&gt;
 vfs object = recycle&lt;br /&gt;
 recycle:repository = /storage/recyclebin/%U/%T&lt;br /&gt;
 recycle:keeptree = Yes&lt;br /&gt;
 recycle:touch = Yes&lt;br /&gt;
 recycle:versions = Yes&lt;br /&gt;
 recycle:directory_mode = 0666&lt;br /&gt;
 recycle:subdir_mode = 0666&lt;br /&gt;
&lt;br /&gt;
Selityksiä&lt;br /&gt;
{|&lt;br /&gt;
! | Parametri || Tyyppi || Kommentti&lt;br /&gt;
|-&lt;br /&gt;
|recycle:repository || Hakemistopolku || Esimerkiksi &amp;lt;code&amp;gt;/storage/recyclebin/%U/%T&amp;lt;/code&amp;gt; joka luo poistetun hakemistopuun hakemistoon &amp;lt;code&amp;gt;/storage/recyclebin/&amp;lt;käyttäjänimi&amp;gt;/&amp;lt;päivämäärä&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|recycle:keeptree || Boolean || Esimerkiksi &amp;lt;code&amp;gt;Yes&amp;lt;/code&amp;gt; joka pitää koko poistetun hakemistorakenteen &amp;lt;code&amp;gt;recycle:repository&amp;lt;/code&amp;gt;-hakemiston alla.&lt;br /&gt;
|-&lt;br /&gt;
|recycle:versions || Boolean || Esimerkiksi &amp;lt;code&amp;gt;Yes&amp;lt;/code&amp;gt; joka pitää myös vanhat samanimiset tiedostot tallessa, jotka on poistettu samasta hakemistosta&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Palvelimen asetukset==&lt;br /&gt;
Asennettuasi Samba-palvelinohjelman, lisää käyttäjiä [[komentorivi]]komennolla&lt;br /&gt;
 [[smbpasswd]] -a käyttäjänimi&lt;br /&gt;
&lt;br /&gt;
Huomaa että voit tälla tavalla tehdä samba-käyttäjiä vain koneen nykyisistä unix-käyttäjistä. Saatat siis haluta tehdä ensin uuden käyttäjän koko käyttöjärjestelmään (jos käyttäjän ei pidä saada muita oikeuksia, näitä voi rajoittaa esimerkiksi [[ryhmä|käyttäjäryhmän]] ja komentotulkin asettamisella). Normaalin käyttäjän luonti onnistuu komennolla&lt;br /&gt;
 [[useradd]] -m tunnus&lt;br /&gt;
Salasanan käyttäjälle voi asettaa komennolla&lt;br /&gt;
 [[passwd]] tunnus&lt;br /&gt;
&lt;br /&gt;
Jaettuja hakemistoja ja muita Samba-palvelimen asetuksia voi säätää [[asetustiedosto]]ssa &amp;lt;tt&amp;gt;/etc/samba/[[smb.conf]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Samba osaa käyttää myös ulkoista salasanapalvelinta ja luoda paikallisia tunnuksia tarpeen mukaan. Tästä lisää Samban dokumentaatiossa.&lt;br /&gt;
&lt;br /&gt;
Voit myös käyttää sambaa Unix-koneilta Windows-jakojen käyttöön. [[Smbclient]]-ohjelmistolla voit kirjautua [[FTP]]-tyylisesti samba-palvelimelle, ja esimerkiksi siirtää tiedostoja palvelimelle/palvelimelta. Jos [[SELinux]]ia käyttäessä ilmenee ongelmia Windows-jakoon kirjoittamisesssa (ei lukemisessa), voit kokeilla poistaa smb-[[taustapalvelu]]lta SELinux-tuen. Tämä tapahtuu SELinuxin asetusohjelmassa.&lt;br /&gt;
&lt;br /&gt;
===Graafiset vaihtoehdot===&lt;br /&gt;
Samba-palvelimen [[GUI|graafiseen]] asettamiseen on tarjolla monia vaihtoehtoja. &lt;br /&gt;
&lt;br /&gt;
Useimpien jakeluiden paketinhallinnasta löytyy [[SWAT]]-niminen [[www-selain]]pohjainen asetustyökalu (löytyy asennuksen jälkeen osoitteesta &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:901/&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
Jakeluiden asetuskeskuksissa/ylläpitovalikoissa on myös yleensä tarjolla jokin Samba-asetustyökalu, näin on esimerkiksi [[Fedora]]ssa (&#039;&#039;[[system-config-samba]]&#039;&#039;), [[Mandriva]]ssa (&#039;&#039;[[drakconf|asetuskeskus]]&#039;&#039;), [[openSUSE]]ssa (&#039;&#039;[[YaST]]&#039;&#039;) ja [[RHEL]]:issä (&#039;&#039;[[system-config-samba]]&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==Samba-jaon liittäminen==&lt;br /&gt;
Voit liittää Samba-jaon käyttämällä palvelimen [[wikipedia:en:NetBIOS|NetBIOS]]-nimeä tai IP-osoitetta. IP-osoite on luotettavampi ja toimii varmemmin, mutta sitä käytettäessä täytyy jotenkin estää osoitteen vaihtuminen, tai joutuu tasaisin väliajoin muuttamaan asetuksia.  &lt;br /&gt;
IP-osoitteen muuttumisen voi estää joko sitomalla se reitittimessä ([[DHCP]]-palvelimessa) tiettyyn [[wikipedia:fi:MAC-osoite|MAC-osoitteeseen]] tai käyttämällä staattista IP-osoitetta.&lt;br /&gt;
&lt;br /&gt;
===Valmistelu===&lt;br /&gt;
Aluksi pitää luoda [[hakemisto]] (liitospiste), jonne jako halutaan liittää. Väliaikaisesti voi käyttää liitospisteenä hakemistoa /mnt tai sen alihakemistoja, mutta yleensä tarkoitukseen kannattaa luoda uusi hakemisto sen mukaan mihin jakoa on tarkoitus käyttää. Uuden hakemiston voi luoda juurihakemistoon. Uuden hakemiston nimi on varminta muodostaa kirjaimista a-z (ei välilyöntejä, ääkkösiä tms.).&lt;br /&gt;
&lt;br /&gt;
Jos DHCP-palvelinta käytetään IP-osoitteiden ja DNS-nimien jakamiseen dynaamisesti, on suotavaa käyttää NetBIOS-nimeä, jotta asetuksia ei tarvitse muuttaa joka kerta kun verkko sammutetaan. Mikäli käytössä on IP-osoite, voit hypätä kohtaan liittäminen.&lt;br /&gt;
&lt;br /&gt;
Etsitään [[asetustiedosto]]sta &amp;lt;tt&amp;gt;/etc/nsswitch.conf&amp;lt;/tt&amp;gt; rivi&lt;br /&gt;
  hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4&lt;br /&gt;
ja lisätään sinne sana &amp;lt;tt&amp;gt;wins&amp;lt;/tt&amp;gt; &#039;&#039;&#039;ennen&#039;&#039;&#039; kohtaa dns&lt;br /&gt;
  hosts:          files mdns4_minimal [NOTFOUND=return] wins dns mdns4&lt;br /&gt;
&lt;br /&gt;
Asennetaan [[winbind]]. Useimmissa jakeluissa se löytyy joko paketista &amp;lt;tt&amp;gt;samba-winbind&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; tai sitten se on sisällytetty pakettiin &amp;lt;tt&amp;gt;samba&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Kun olet käynyt edellä olevat vaiheet lävitse, käynnistä &amp;lt;tt&amp;gt;netfs&amp;lt;/tt&amp;gt;-[[init]]-skripti (tai tietokone) uudelleen.&lt;br /&gt;
&lt;br /&gt;
===Väliaikainen liittäminen===&lt;br /&gt;
Käyttettäessä tätä tapaa on jako liitettävä joka kerta uudelleen, kun tietokone on käynnistetty uudelleen.&lt;br /&gt;
&lt;br /&gt;
Mikäli liitettävä palvelin ei vaadi salasanaa:&lt;br /&gt;
 mount -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777&lt;br /&gt;
&lt;br /&gt;
Jos jakoon halutaan lukuoikeudet käyttäen vierastiliä:&lt;br /&gt;
 mount -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o guest,iocharset=utf8&lt;br /&gt;
&lt;br /&gt;
Mikäli liitettävä palvelin vaatii salasanaa sen voi antaa liittämisen yhteydessä (sitä kysytään kun kyseessä ei ole vierastili):&lt;br /&gt;
  [[mount]] -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o username=käyttäjänimi,iocharset=utf8,file_mode=0770,dir_mode=0770,gid=users&lt;br /&gt;
&lt;br /&gt;
Sambapalvelin kertoo käytettävät [[UID]]- ja [[GID]]-arvot yms., mutta käytettäessä Windows-palvelinta ne on usemmiten asetettava asiakkaan puolelta. Uudemmat versiot sallivat käyttäjä- ja ryhmänimien käytön. Viimeisessä esimerkissä jaon käyttö on evätty muilta kuin ryhmään users kuuluvilta ja komennon antajalta (tavallisesti [[pääkäyttäjä]]).&lt;br /&gt;
&lt;br /&gt;
===Pysyvä liittäminen===&lt;br /&gt;
Tätä tapaa käyttämällä jakoa ei tarvitse liittää uudestaan joka käynnistyksen jälkeen. Kaikki käynnistyksen yhteydessä liitettävät levyt tallennetaan /etc/[[fstab]]-[[asetustiedosto]]on. Fstabista voi olla hyvä luoda varmuuskopio ennen sen muokkaamista.&lt;br /&gt;
&lt;br /&gt;
Jos palvelin vaatii tunnistautumista, on järkevää luoda salasanoille ja käyttäjätunnuksille [[credentials]]-tiedosto, jossa salasanat ja tunnukset pysyvät piilossa. Tämä tapahtuu luomalla tiedosto &amp;lt;tt&amp;gt;/etc/samba/palvelin.credentials&amp;lt;/tt&amp;gt;, jolle asetetaan oikeudet niin että vain pääkäyttäjä pystyy lukemaan sitä:&lt;br /&gt;
 [[touch]] /etc/samba/palvelin.credentials&lt;br /&gt;
 [[chmod]] 700 /etc/samba/palvelin.credentials&lt;br /&gt;
&lt;br /&gt;
Tiedoston sisällöksi tulee seuraavat rivit:&lt;br /&gt;
  username=käyttäjätunnus_palvelimeen&lt;br /&gt;
  password=käyttäjätunnuksen_salasana&lt;br /&gt;
&lt;br /&gt;
Mikäli liitettävä palvelin vaatii salasanaa, lisätään fstabin loppuun rivi&lt;br /&gt;
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/etc/samba/palvelin.credentials,iocharset=utf8,file_mode=0770,dir_mode=0770, 0 0&lt;br /&gt;
&lt;br /&gt;
Mikäli palvelin ei vaadi salasanaa, lisätään rivi&lt;br /&gt;
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
Mikäli halutaan vain lukuoikeudet käyttäen vierastiliä, lisätään rivi&lt;br /&gt;
 //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    guest,iocharset=utf8 0 0&lt;br /&gt;
&lt;br /&gt;
Kaikki fstabissa listatut listatut tiedostojärjestelmät voi liittää komennolla&lt;br /&gt;
  mount -a&lt;br /&gt;
&lt;br /&gt;
===Graafiset vaihtoehdot===&lt;br /&gt;
[[Kuva:Gnomen-verkko.png‎|250px|right|thumb|Gnomen verkonselaustoiminto.]]&lt;br /&gt;
[[Kuva:Yhdistä-palvelimeen.png‎|250px|right|thumb|Yhdistä palvelimeen -toiminto Gnomessa.]]&lt;br /&gt;
[[Gnome]]ssa voi paikallisverkon Samba-jakoja selata kohdasta &#039;&#039;Sijainnit&#039;&#039; --&amp;gt; &#039;&#039;Verkko&#039;&#039; --&amp;gt; &#039;&#039;Windows-verkko&#039;&#039;. Vapaavalintaisen Samba-jaon voi liittää &#039;&#039;Sijainnit&#039;&#039;-valikon kohdasta &#039;&#039;Yhdistä palvelimeen...&#039;&#039; (Palvelutyyppi: Windows-jako). Jos verkkoa ei voida näyttää Nautiluksessa, järjestelmään ei ole asennettu pakettia &amp;lt;tt&amp;gt;gvfs-backends&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[KDE|KDE4]]:ssä Samba-jaot löytyvät [[Dolphin]]-tiedostonhallintaohjelmassa kohdasta &#039;&#039;Verkko&#039;&#039;. Kuvakkeen &#039;&#039;Samba Shares&#039;&#039; (Samba-jaot) alla voi selata paikallisverkon Samba-jakoja. Vapaavalintaisen jaon voi liittää kohdasta &#039;&#039;Lisää verkkokansio&#039;&#039; (Verkkokansion tyyppi: Microsoft® Windows® verkkolevy).&lt;br /&gt;
&lt;br /&gt;
==Virheilmoituksia==&lt;br /&gt;
===Liitosvirhe 13=== &lt;br /&gt;
Jos näet liitosvirheen 13 = pääsy evätty: &lt;br /&gt;
&amp;lt;tt&amp;gt;(&amp;quot;CIFS VFS: cifs_mount failed w/return code = -13&amp;quot; in dmesg)&amp;lt;/tt&amp;gt; kun olet antanut komennon &amp;lt;tt&amp;gt;mount -a&amp;lt;/tt&amp;gt;, lisää liitoskomentoon asetus &amp;lt;tt&amp;gt;nounix&amp;lt;/tt&amp;gt;. Esimerkiksi&lt;br /&gt;
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/etc/samba/palvelin.credentials,&#039;&#039;&#039;nounix&#039;&#039;&#039;,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
===Väli tiedoston nimessä===&lt;br /&gt;
Jos jonkin jaon nimessä esintyy väli, täytyy se korvata liitoskomennossa merkillä &amp;lt;tt&amp;gt;\040&amp;lt;/tt&amp;gt;&lt;br /&gt;
  //netbiosnimi/jaon_nimi&#039;&#039;&#039;\040&#039;&#039;&#039;ja&#039;&#039;&#039;\040&#039;&#039;&#039;väli    /mnt/jaon_nimi        cifs    credentials=/etc/samba/palvelin.credentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
===OpenOfficen tallennusvirhe===&lt;br /&gt;
Jos saat virheen yrittäessäsi muokata jaettua tiedostoa [[OpenOffice.org]]illa, täytyy lisätä asetus &amp;lt;tt&amp;gt;nobrl&amp;lt;/tt&amp;gt;&lt;br /&gt;
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/etc/samba/palvelin.credentials,iocharset=utf8,&#039;&#039;&#039;nobrl&#039;&#039;&#039;,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
===Pääkäyttäjän omistamat tiedostot===&lt;br /&gt;
Jos pystyt näkemään, mutta et muokkaamaan, poistamaan tai lisäämään tiedostoja [[Samba]]-jakoon, niin kokeile seuraavaa:&lt;br /&gt;
&lt;br /&gt;
1. Selvitä käyttäjänumerosi ([[UID]]) ja ensisijaisen ryhmäsi numero ([[GID]]).&lt;br /&gt;
  id -u;id -g&lt;br /&gt;
&lt;br /&gt;
Tuloste on seuraavaa muotoa, missä ensimmäinen numero (tässä 500) on UID ja toinen numero (tässä 100) GID.&lt;br /&gt;
 500&lt;br /&gt;
 100&lt;br /&gt;
&lt;br /&gt;
2. Lisää GID- ja UID-numerot, sekä asetus &amp;lt;tt&amp;gt;nounix&amp;lt;/tt&amp;gt; fstabissa olevaan liitoskomentoon:&lt;br /&gt;
  /netbiosnimi/jako_nimi    /mnt/jako_nimi        cifs credentials=/etc/samba/palvelin.credentials,iocharset=utf8,&#039;&#039;&#039;gid=100&#039;&#039;&#039;,&#039;&#039;&#039;uid=500&#039;&#039;&#039;,&#039;&#039;&#039;nounix&#039;&#039;&#039;,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
===Tyhjä rivi puuttuu fstab-tiedostosta===&lt;br /&gt;
Jos fstab-tiedoston lopusta puuttuu tyhjä rivi, voi ilmaantua virheilmoitus&lt;br /&gt;
 (warning: no final newline at the end of /etc/fstab)&lt;br /&gt;
Ongelma poistuu lisäämällä tyhjä rivi tiedoston loppuun.&lt;br /&gt;
&lt;br /&gt;
==Katso myös==&lt;br /&gt;
*[[Active Directory]]&lt;br /&gt;
*[[NFS]]&lt;br /&gt;
*[[Samban käyttöönotto]]&lt;br /&gt;
*[[Samba toimialuepalvelimena]]&lt;br /&gt;
&lt;br /&gt;
==Aiheesta muualla==&lt;br /&gt;
*[http://www.samba.org/ Samban kotisivu]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Verkko]]&lt;br /&gt;
[[Luokka:Palvelimet]]&lt;br /&gt;
[[Luokka:Tiedonsiirto]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Samba&amp;diff=43839</id>
		<title>Samba</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Samba&amp;diff=43839"/>
		<updated>2015-10-22T08:49:34Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Roskis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Samba on Unixeille tehty [[avoin lähdekoodi|avoin]] toteutus Windowsissakin käytetystä [[SMB]]/[[CIFS]]-tiedostonsiirtoprotokollasta.&lt;br /&gt;
&lt;br /&gt;
==Asennus==&lt;br /&gt;
Samba-[[palvelin]]ohjelmisto löytyy käytännössä kaikissa [[jakelu]]issa [[paketinhallintajärjestelmä|paketista]] &amp;lt;tt&amp;gt;samba&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
SMB/CIFS-tiedostojärjestelmän [[mount|liittämiseen]] tarvittavat ohjelmistot löytyvät jakelusta riippuen joko paketista &amp;lt;tt&amp;gt;cifs-mount&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;mount-cifs&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;samba-client&amp;lt;/tt&amp;gt; tai &amp;lt;tt&amp;gt;smbfs&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Moduulit ===&lt;br /&gt;
Samban konfiguraatioon voidaan lisätä erilaisia lisämoduuleita, jotka laajentavat samban toimintaa.&lt;br /&gt;
&lt;br /&gt;
===== Moduuli: Roskakori =====&lt;br /&gt;
Joskus käyttäjä saattaa poistaa vahingossa tiedoston tai hakemiston. Roskakoritoiminto siirtää poistetut tiedostot määrättyyn hakemistoon, josta palvelimen ylläpitäjän pitää käydä ne erikseen poistamassa tai palauttamassa tilanteesta riippuen. Myös virukset saattavat poistaa hakemistoja tai tiedostoja.&lt;br /&gt;
&lt;br /&gt;
Esimerkkikonfiguraatio:&lt;br /&gt;
&lt;br /&gt;
 vfs object = recycle&lt;br /&gt;
 recycle:repository = /storage/recyclebin/%U/%T&lt;br /&gt;
 recycle:keeptree = Yes&lt;br /&gt;
 recycle:touch = Yes&lt;br /&gt;
 recycle:versions = Yes&lt;br /&gt;
 recycle:directory_mode = 0666&lt;br /&gt;
 recycle:subdir_mode = 0666&lt;br /&gt;
&lt;br /&gt;
Selityksiä&lt;br /&gt;
{|&lt;br /&gt;
! | Parametri || Tyyppi || Kommentti&lt;br /&gt;
|-&lt;br /&gt;
|recycle:repository || Hakemistopolku || Esimerkiksi &amp;lt;code&amp;gt;/storage/recyclebin/%U/%T&amp;lt;/code&amp;gt; joka luo poistetun hakemistopuun hakemistoon &amp;lt;code&amp;gt;/storage/recyclebin/&amp;lt;käyttäjänimi&amp;gt;/&amp;lt;päivämäärä&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|recycle:keeptree || Boolean || Esimerkiksi &amp;lt;code&amp;gt;Yes&amp;lt;/code&amp;gt; joka pitää koko poistetun hakemistorakenteen &amp;lt;code&amp;gt;recycle:repository&amp;lt;/code&amp;gt;-hakemiston alla.&lt;br /&gt;
|-&lt;br /&gt;
|recycle:versions || Boolean || Esimerkiksi &amp;lt;code&amp;gt;Yes&amp;lt;/code&amp;gt; joka pitää myös vanhat samanimiset tiedostot tallessa, jotka on poistettu samasta hakemistosta&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Palvelimen asetukset==&lt;br /&gt;
Asennettuasi Samba-palvelinohjelman, lisää käyttäjiä [[komentorivi]]komennolla&lt;br /&gt;
 [[smbpasswd]] -a käyttäjänimi&lt;br /&gt;
&lt;br /&gt;
Huomaa että voit tälla tavalla tehdä samba-käyttäjiä vain koneen nykyisistä unix-käyttäjistä. Saatat siis haluta tehdä ensin uuden käyttäjän koko käyttöjärjestelmään (jos käyttäjän ei pidä saada muita oikeuksia, näitä voi rajoittaa esimerkiksi [[ryhmä|käyttäjäryhmän]] ja komentotulkin asettamisella). Normaalin käyttäjän luonti onnistuu komennolla&lt;br /&gt;
 [[useradd]] -m tunnus&lt;br /&gt;
Salasanan käyttäjälle voi asettaa komennolla&lt;br /&gt;
 [[passwd]] tunnus&lt;br /&gt;
&lt;br /&gt;
Jaettuja hakemistoja ja muita Samba-palvelimen asetuksia voi säätää [[asetustiedosto]]ssa &amp;lt;tt&amp;gt;/etc/samba/[[smb.conf]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Samba osaa käyttää myös ulkoista salasanapalvelinta ja luoda paikallisia tunnuksia tarpeen mukaan. Tästä lisää Samban dokumentaatiossa.&lt;br /&gt;
&lt;br /&gt;
Voit myös käyttää sambaa Unix-koneilta Windows-jakojen käyttöön. [[Smbclient]]-ohjelmistolla voit kirjautua [[FTP]]-tyylisesti samba-palvelimelle, ja esimerkiksi siirtää tiedostoja palvelimelle/palvelimelta. Jos [[SELinux]]ia käyttäessä ilmenee ongelmia Windows-jakoon kirjoittamisesssa (ei lukemisessa), voit kokeilla poistaa smb-[[taustapalvelu]]lta SELinux-tuen. Tämä tapahtuu SELinuxin asetusohjelmassa.&lt;br /&gt;
&lt;br /&gt;
===Graafiset vaihtoehdot===&lt;br /&gt;
Samba-palvelimen [[GUI|graafiseen]] asettamiseen on tarjolla monia vaihtoehtoja. &lt;br /&gt;
&lt;br /&gt;
Useimpien jakeluiden paketinhallinnasta löytyy [[SWAT]]-niminen [[www-selain]]pohjainen asetustyökalu (löytyy asennuksen jälkeen osoitteesta &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost:901/&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
Jakeluiden asetuskeskuksissa/ylläpitovalikoissa on myös yleensä tarjolla jokin Samba-asetustyökalu, näin on esimerkiksi [[Fedora]]ssa (&#039;&#039;[[system-config-samba]]&#039;&#039;), [[Mandriva]]ssa (&#039;&#039;[[drakconf|asetuskeskus]]&#039;&#039;), [[openSUSE]]ssa (&#039;&#039;[[YaST]]&#039;&#039;) ja [[RHEL]]:issä (&#039;&#039;[[system-config-samba]]&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==Samba-jaon liittäminen==&lt;br /&gt;
Voit liittää Samba-jaon käyttämällä palvelimen [[wikipedia:en:NetBIOS|NetBIOS]]-nimeä tai IP-osoitetta. IP-osoite on luotettavampi ja toimii varmemmin, mutta sitä käytettäessä täytyy jotenkin estää osoitteen vaihtuminen, tai joutuu tasaisin väliajoin muuttamaan asetuksia.  &lt;br /&gt;
IP-osoitteen muuttumisen voi estää joko sitomalla se reitittimessä ([[DHCP]]-palvelimessa) tiettyyn [[wikipedia:fi:MAC-osoite|MAC-osoitteeseen]] tai käyttämällä staattista IP-osoitetta.&lt;br /&gt;
&lt;br /&gt;
===Valmistelu===&lt;br /&gt;
Aluksi pitää luoda [[hakemisto]] (liitospiste), jonne jako halutaan liittää. Väliaikaisesti voi käyttää liitospisteenä hakemistoa /mnt tai sen alihakemistoja, mutta yleensä tarkoitukseen kannattaa luoda uusi hakemisto sen mukaan mihin jakoa on tarkoitus käyttää. Uuden hakemiston voi luoda juurihakemistoon. Uuden hakemiston nimi on varminta muodostaa kirjaimista a-z (ei välilyöntejä, ääkkösiä tms.).&lt;br /&gt;
&lt;br /&gt;
Jos DHCP-palvelinta käytetään IP-osoitteiden ja DNS-nimien jakamiseen dynaamisesti, on suotavaa käyttää NetBIOS-nimeä, jotta asetuksia ei tarvitse muuttaa joka kerta kun verkko sammutetaan. Mikäli käytössä on IP-osoite, voit hypätä kohtaan liittäminen.&lt;br /&gt;
&lt;br /&gt;
Etsitään [[asetustiedosto]]sta &amp;lt;tt&amp;gt;/etc/nsswitch.conf&amp;lt;/tt&amp;gt; rivi&lt;br /&gt;
  hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4&lt;br /&gt;
ja lisätään sinne sana &amp;lt;tt&amp;gt;wins&amp;lt;/tt&amp;gt; &#039;&#039;&#039;ennen&#039;&#039;&#039; kohtaa dns&lt;br /&gt;
  hosts:          files mdns4_minimal [NOTFOUND=return] wins dns mdns4&lt;br /&gt;
&lt;br /&gt;
Asennetaan [[winbind]]. Useimmissa jakeluissa se löytyy joko paketista &amp;lt;tt&amp;gt;samba-winbind&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; tai sitten se on sisällytetty pakettiin &amp;lt;tt&amp;gt;samba&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Kun olet käynyt edellä olevat vaiheet lävitse, käynnistä &amp;lt;tt&amp;gt;netfs&amp;lt;/tt&amp;gt;-[[init]]-skripti (tai tietokone) uudelleen.&lt;br /&gt;
&lt;br /&gt;
===Väliaikainen liittäminen===&lt;br /&gt;
Käyttettäessä tätä tapaa on jako liitettävä joka kerta uudelleen, kun tietokone on käynnistetty uudelleen.&lt;br /&gt;
&lt;br /&gt;
Mikäli liitettävä palvelin ei vaadi salasanaa:&lt;br /&gt;
 mount -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777&lt;br /&gt;
&lt;br /&gt;
Jos jakoon halutaan lukuoikeudet käyttäen vierastiliä:&lt;br /&gt;
 mount -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o guest,iocharset=utf8&lt;br /&gt;
&lt;br /&gt;
Mikäli liitettävä palvelin vaatii salasanaa sen voi antaa liittämisen yhteydessä (sitä kysytään kun kyseessä ei ole vierastili):&lt;br /&gt;
  [[mount]] -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o username=käyttäjänimi,iocharset=utf8,file_mode=0770,dir_mode=0770,gid=users&lt;br /&gt;
&lt;br /&gt;
Sambapalvelin kertoo käytettävät [[UID]]- ja [[GID]]-arvot yms., mutta käytettäessä Windows-palvelinta ne on usemmiten asetettava asiakkaan puolelta. Uudemmat versiot sallivat käyttäjä- ja ryhmänimien käytön. Viimeisessä esimerkissä jaon käyttö on evätty muilta kuin ryhmään users kuuluvilta ja komennon antajalta (tavallisesti [[pääkäyttäjä]]).&lt;br /&gt;
&lt;br /&gt;
===Pysyvä liittäminen===&lt;br /&gt;
Tätä tapaa käyttämällä jakoa ei tarvitse liittää uudestaan joka käynnistyksen jälkeen. Kaikki käynnistyksen yhteydessä liitettävät levyt tallennetaan /etc/[[fstab]]-[[asetustiedosto]]on. Fstabista voi olla hyvä luoda varmuuskopio ennen sen muokkaamista.&lt;br /&gt;
&lt;br /&gt;
Jos palvelin vaatii tunnistautumista, on järkevää luoda salasanoille ja käyttäjätunnuksille [[credentials]]-tiedosto, jossa salasanat ja tunnukset pysyvät piilossa. Tämä tapahtuu luomalla tiedosto &amp;lt;tt&amp;gt;/etc/samba/palvelin.credentials&amp;lt;/tt&amp;gt;, jolle asetetaan oikeudet niin että vain pääkäyttäjä pystyy lukemaan sitä:&lt;br /&gt;
 [[touch]] /etc/samba/palvelin.credentials&lt;br /&gt;
 [[chmod]] 700 /etc/samba/palvelin.credentials&lt;br /&gt;
&lt;br /&gt;
Tiedoston sisällöksi tulee seuraavat rivit:&lt;br /&gt;
  username=käyttäjätunnus_palvelimeen&lt;br /&gt;
  password=käyttäjätunnuksen_salasana&lt;br /&gt;
&lt;br /&gt;
Mikäli liitettävä palvelin vaatii salasanaa, lisätään fstabin loppuun rivi&lt;br /&gt;
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/etc/samba/palvelin.credentials,iocharset=utf8,file_mode=0770,dir_mode=0770, 0 0&lt;br /&gt;
&lt;br /&gt;
Mikäli palvelin ei vaadi salasanaa, lisätään rivi&lt;br /&gt;
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
Mikäli halutaan vain lukuoikeudet käyttäen vierastiliä, lisätään rivi&lt;br /&gt;
 //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    guest,iocharset=utf8 0 0&lt;br /&gt;
&lt;br /&gt;
Kaikki fstabissa listatut listatut tiedostojärjestelmät voi liittää komennolla&lt;br /&gt;
  mount -a&lt;br /&gt;
&lt;br /&gt;
===Graafiset vaihtoehdot===&lt;br /&gt;
[[Kuva:Gnomen-verkko.png‎|250px|right|thumb|Gnomen verkonselaustoiminto.]]&lt;br /&gt;
[[Kuva:Yhdistä-palvelimeen.png‎|250px|right|thumb|Yhdistä palvelimeen -toiminto Gnomessa.]]&lt;br /&gt;
[[Gnome]]ssa voi paikallisverkon Samba-jakoja selata kohdasta &#039;&#039;Sijainnit&#039;&#039; --&amp;gt; &#039;&#039;Verkko&#039;&#039; --&amp;gt; &#039;&#039;Windows-verkko&#039;&#039;. Vapaavalintaisen Samba-jaon voi liittää &#039;&#039;Sijainnit&#039;&#039;-valikon kohdasta &#039;&#039;Yhdistä palvelimeen...&#039;&#039; (Palvelutyyppi: Windows-jako). Jos verkkoa ei voida näyttää Nautiluksessa, järjestelmään ei ole asennettu pakettia &amp;lt;tt&amp;gt;gvfs-backends&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[KDE|KDE4]]:ssä Samba-jaot löytyvät [[Dolphin]]-tiedostonhallintaohjelmassa kohdasta &#039;&#039;Verkko&#039;&#039;. Kuvakkeen &#039;&#039;Samba Shares&#039;&#039; (Samba-jaot) alla voi selata paikallisverkon Samba-jakoja. Vapaavalintaisen jaon voi liittää kohdasta &#039;&#039;Lisää verkkokansio&#039;&#039; (Verkkokansion tyyppi: Microsoft® Windows® verkkolevy).&lt;br /&gt;
&lt;br /&gt;
==Virheilmoituksia==&lt;br /&gt;
===Liitosvirhe 13=== &lt;br /&gt;
Jos näet liitosvirheen 13 = pääsy evätty: &lt;br /&gt;
&amp;lt;tt&amp;gt;(&amp;quot;CIFS VFS: cifs_mount failed w/return code = -13&amp;quot; in dmesg)&amp;lt;/tt&amp;gt; kun olet antanut komennon &amp;lt;tt&amp;gt;mount -a&amp;lt;/tt&amp;gt;, lisää liitoskomentoon asetus &amp;lt;tt&amp;gt;nounix&amp;lt;/tt&amp;gt;. Esimerkiksi&lt;br /&gt;
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/etc/samba/palvelin.credentials,&#039;&#039;&#039;nounix&#039;&#039;&#039;,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
===Väli tiedoston nimessä===&lt;br /&gt;
Jos jonkin jaon nimessä esintyy väli, täytyy se korvata liitoskomennossa merkillä &amp;lt;tt&amp;gt;\040&amp;lt;/tt&amp;gt;&lt;br /&gt;
  //netbiosnimi/jaon_nimi&#039;&#039;&#039;\040&#039;&#039;&#039;ja&#039;&#039;&#039;\040&#039;&#039;&#039;väli    /mnt/jaon_nimi        cifs    credentials=/etc/samba/palvelin.credentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
===OpenOfficen tallennusvirhe===&lt;br /&gt;
Jos saat virheen yrittäessäsi muokata jaettua tiedostoa [[OpenOffice.org]]illa, täytyy lisätä asetus &amp;lt;tt&amp;gt;nobrl&amp;lt;/tt&amp;gt;&lt;br /&gt;
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/etc/samba/palvelin.credentials,iocharset=utf8,&#039;&#039;&#039;nobrl&#039;&#039;&#039;,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
===Pääkäyttäjän omistamat tiedostot===&lt;br /&gt;
Jos pystyt näkemään, mutta et muokkaamaan, poistamaan tai lisäämään tiedostoja [[Samba]]-jakoon, niin kokeile seuraavaa:&lt;br /&gt;
&lt;br /&gt;
1. Selvitä käyttäjänumerosi ([[UID]]) ja ensisijaisen ryhmäsi numero ([[GID]]).&lt;br /&gt;
  id -u;id -g&lt;br /&gt;
&lt;br /&gt;
Tuloste on seuraavaa muotoa, missä ensimmäinen numero (tässä 500) on UID ja toinen numero (tässä 100) GID.&lt;br /&gt;
 500&lt;br /&gt;
 100&lt;br /&gt;
&lt;br /&gt;
2. Lisää GID- ja UID-numerot, sekä asetus &amp;lt;tt&amp;gt;nounix&amp;lt;/tt&amp;gt; fstabissa olevaan liitoskomentoon:&lt;br /&gt;
  /netbiosnimi/jako_nimi    /mnt/jako_nimi        cifs credentials=/etc/samba/palvelin.credentials,iocharset=utf8,&#039;&#039;&#039;gid=100&#039;&#039;&#039;,&#039;&#039;&#039;uid=500&#039;&#039;&#039;,&#039;&#039;&#039;nounix&#039;&#039;&#039;,file_mode=0777,dir_mode=0777 0 0&lt;br /&gt;
&lt;br /&gt;
===Tyhjä rivi puuttuu fstab-tiedostosta===&lt;br /&gt;
Jos fstab-tiedoston lopusta puuttuu tyhjä rivi, voi ilmaantua virheilmoitus&lt;br /&gt;
 (warning: no final newline at the end of /etc/fstab)&lt;br /&gt;
Ongelma poistuu lisäämällä tyhjä rivi tiedoston loppuun.&lt;br /&gt;
&lt;br /&gt;
==Katso myös==&lt;br /&gt;
*[[Active Directory]]&lt;br /&gt;
*[[NFS]]&lt;br /&gt;
*[[Samban käyttöönotto]]&lt;br /&gt;
*[[Samba toimialuepalvelimena]]&lt;br /&gt;
&lt;br /&gt;
==Aiheesta muualla==&lt;br /&gt;
*[http://www.samba.org/ Samban kotisivu]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Verkko]]&lt;br /&gt;
[[Luokka:Palvelimet]]&lt;br /&gt;
[[Luokka:Tiedonsiirto]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Poedit&amp;diff=43777</id>
		<title>Poedit</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Poedit&amp;diff=43777"/>
		<updated>2015-10-15T11:57:12Z</updated>

		<summary type="html">&lt;p&gt;Raspi: /* Katso myös */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ohjelma&lt;br /&gt;
 | nimi=Poedit&lt;br /&gt;
 | kuva=[[Kuva:poedit.png|250px]]&lt;br /&gt;
 | kuvateksti=Suomennos käynnissä Poedit-ohjelmassa.&lt;br /&gt;
 | lisenssi=[[MIT-lisenssi|MIT]] Linux, [[GPL]] Windows, OS X&lt;br /&gt;
 | käyttöliittymä=[[GTK]]&lt;br /&gt;
 | kotisivu=[https://poedit.net/ poedit.net]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Poedit&#039;&#039;&#039; on graafinen käännöstiedostojen muokkain.&lt;br /&gt;
&lt;br /&gt;
==Katso myös==&lt;br /&gt;
*[[Kotoistus]]&lt;br /&gt;
*[[Gettext]]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Kehitystyökalut]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Gettext&amp;diff=43776</id>
		<title>Gettext</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Gettext&amp;diff=43776"/>
		<updated>2015-10-15T11:56:46Z</updated>

		<summary type="html">&lt;p&gt;Raspi: /* Katso myös */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Gettext&#039;&#039;&#039; on [[GNU]]-projektin työkalu ohjelmien [[kotoistus|kotoistamiseen]]. &lt;br /&gt;
&lt;br /&gt;
Gettextiä käytettäessä ohjelman käännettävät merkkijonot merkitään sen [[lähdekoodi]]in, jonka jälkeen lähdekoodista luodaan alkuperäiset tekstit sisältävä &amp;lt;tt&amp;gt;.pot&amp;lt;/tt&amp;gt;-tiedosto. Tähän tiedostoon kääntäjät sitten lisäävät käännökset eri kielille. Lopulta &amp;lt;tt&amp;gt;.pot&amp;lt;/tt&amp;gt;-tiedostosta luotu, käännökset sisältävä &amp;lt;tt&amp;gt;.po&amp;lt;/tt&amp;gt;-tiedosto muutetaan binäärimuotoon (&amp;lt;tt&amp;gt;.mo&amp;lt;/tt&amp;gt;) ja tallennetaan sopivaan hakemistoon. Tämän jälkeen ohjelma korvaa ajon aikana alkuperäiset merkkijonot käännöksillä.&lt;br /&gt;
&lt;br /&gt;
== Käyttö ==&lt;br /&gt;
&lt;br /&gt;
=== Ohjelma käyttämään Gettextiä ===&lt;br /&gt;
Luodaan esimerkiksi [[C]]-kielinen esimerkkiohjelma ja sille käännökset. Luodaan tiedosto &amp;lt;tt&amp;gt;ohjelma.c&amp;lt;/tt&amp;gt; jonka sisältö on seuraava:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
/* Gettextin tarvitsemat kirjastot */&lt;br /&gt;
#include &amp;lt;libintl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;locale.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* Gettext ei ymmärrä muuta kuin gettext()-funktiolla ympäröidyt merkkijonot&lt;br /&gt;
   Käytetään mieluummin lyhyempää _()-funktiota, jonka esikääntäjä sitten&lt;br /&gt;
   korvaa gettext()-funktiolla */&lt;br /&gt;
#define _(merkkijono)    gettext(merkkijono)&lt;br /&gt;
&lt;br /&gt;
int main ( void )&lt;br /&gt;
{&lt;br /&gt;
  /* Alustetaan Gettext */&lt;br /&gt;
  char ohjelma[] = &amp;quot;ohjelma&amp;quot;;&lt;br /&gt;
  setlocale ( LC_ALL, &amp;quot;&amp;quot; );   /* Käytetään ympäristömuuttujia */&lt;br /&gt;
  bindtextdomain ( ohjelma, &amp;quot;./kaannos&amp;quot; );  /* Haetaan käännökset kaannos-alihakemistosta */&lt;br /&gt;
  textdomain ( ohjelma );  /* Otetaan käännökset käyttöön */&lt;br /&gt;
&lt;br /&gt;
  /* Varsinainen ohjelma */&lt;br /&gt;
&lt;br /&gt;
  printf ( _(&amp;quot;Hello Linux.fi\n&amp;quot;) );&lt;br /&gt;
&lt;br /&gt;
  char url[]=&amp;quot;http://linux.fi&amp;quot;;&lt;br /&gt;
  /* TRANSLATORS: Please let %s as it is */&lt;br /&gt;
  printf( _(&amp;quot;Visit %s&amp;quot;) , url);&lt;br /&gt;
&lt;br /&gt;
  printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  return EXIT_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ohjelmassa tulostettavat merkkijonot on korvattu &amp;lt;tt&amp;gt;_()&amp;lt;/tt&amp;gt;-funktiolla, jolle annetaan parametrina alkuperäiskielellä kirjoitettu merkkijono. Tämä ohjelma voidaan kääntää normaalisti [[GCC]]:llä:&lt;br /&gt;
 gcc ohjelma.c -o ohjelma&lt;br /&gt;
Ja ajaa komennolla &lt;br /&gt;
 ./ohjelma&lt;br /&gt;
Ohjelman tuloste on nyt normaalisti englanniksi:&lt;br /&gt;
 $ ./ohjelma&lt;br /&gt;
 Hello Linux.fi&lt;br /&gt;
 Visit http://linux.fi&lt;br /&gt;
&lt;br /&gt;
=== Luodaan .pot-tiedosto ===&lt;br /&gt;
Nyt kun ohjelma käyttää käännöksiä, on seuraavaksi luotava tiedosto, johon kääntäjät voivat lisätä käännöksiä eri kielille. Lähdekooditiedostojen merkkijonot voidaan hakea &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt;-ohjelmalla:&lt;br /&gt;
 xgettext ohjelma.c&lt;br /&gt;
jonka tuloksena on &amp;lt;tt&amp;gt;messages.po&amp;lt;/tt&amp;gt;-niminen tiedosto. Kuitenkin oletuksena &amp;lt;tt&amp;gt;xgettext&amp;lt;/tt&amp;gt; ymmärtää vain &amp;lt;tt&amp;gt;gettext()&amp;lt;/tt&amp;gt;-funktiolla merkattuja merkkijonoja, joten kerrotaan sille, että käytämme &amp;lt;tt&amp;gt;_()&amp;lt;/tt&amp;gt;-funktiota. Lisäksi lähdekoodissa on lisätty kommentti kääntäjille &#039;&#039;TRANSLATORS:&#039;&#039;-tunnisteella varustettuna. Koska haluamme sisällyttää nämä kommentit luotavaan tiedostoon, kerrotaan myös tämä avainsana &amp;lt;tt&amp;gt;xgettextille&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 xgettext -k_ -cTRANSLATORS: ohjelma.c -o ohjelma.pot&lt;br /&gt;
Huomaa, että [[valitsin|valitsimen]] (esim. &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt;) ja parametrin (esim. &amp;lt;tt&amp;gt;TRANSLATORS:&amp;lt;/tt&amp;gt;) välissä ei saa olla välilyöntiä. Jos saat virheilmoituksen, jonka mukaan tiedostossa on muita kuin ASCII-merkkejä, on lisäksi kerrottava käytetty merkistö (yleensä [[UTF-8]]):&lt;br /&gt;
  xgettext --from-code=utf-8 -cTRANSLATORS: -k_ ohjelma.c -o ohjelma.pot&lt;br /&gt;
Nyt tiedoston &amp;lt;tt&amp;gt;ohjelma.pot&amp;lt;/tt&amp;gt; pitäisi näyttää tältä:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# SOME DESCRIPTIVE TITLE.&lt;br /&gt;
# Copyright (C) YEAR THE PACKAGE&#039;S COPYRIGHT HOLDER&lt;br /&gt;
# This file is distributed under the same license as the PACKAGE package.&lt;br /&gt;
# FIRST AUTHOR &amp;lt;EMAIL@ADDRESS&amp;gt;, YEAR.&lt;br /&gt;
#&lt;br /&gt;
#, fuzzy&lt;br /&gt;
msgid &amp;quot;&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&amp;quot;Project-Id-Version: PACKAGE VERSION\n&amp;quot;&lt;br /&gt;
&amp;quot;Report-Msgid-Bugs-To: \n&amp;quot;&lt;br /&gt;
&amp;quot;POT-Creation-Date: 2007-10-13 19:36+0300\n&amp;quot;&lt;br /&gt;
&amp;quot;PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n&amp;quot;&lt;br /&gt;
&amp;quot;Last-Translator: FULL NAME &amp;lt;EMAIL@ADDRESS&amp;gt;\n&amp;quot;&lt;br /&gt;
&amp;quot;Language-Team: LANGUAGE &amp;lt;LL@li.org&amp;gt;\n&amp;quot;&lt;br /&gt;
&amp;quot;MIME-Version: 1.0\n&amp;quot;&lt;br /&gt;
&amp;quot;Content-Type: text/plain; charset=CHARSET\n&amp;quot;&lt;br /&gt;
&amp;quot;Content-Transfer-Encoding: 8bit\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#: ohjelma.c:22&lt;br /&gt;
#, c-format&lt;br /&gt;
msgid &amp;quot;Hello Linux.fi\n&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#. TRANSLATORS: Please let %s as it is&lt;br /&gt;
#: ohjelma.c:26&lt;br /&gt;
#, c-format&lt;br /&gt;
msgid &amp;quot;Visit %s&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tiedoston alussa olevat otsikkotiedot on selitetty [[kotoistus]]-artikkelissa.&lt;br /&gt;
&lt;br /&gt;
Tiedostossa alkuperäiset merkkijonot on merkitty &amp;lt;tt&amp;gt;msgid&amp;lt;/tt&amp;gt;-kohtiin ja käännökset on tarkoitus kirjoittaa &amp;lt;tt&amp;gt;msgstr&amp;lt;/tt&amp;gt;-kohtiin. Huomaa myös kääntäjälle tarkoitettu kommentti, joka kehottaa olemaan muuttamatta &amp;lt;tt&amp;gt;%s&amp;lt;/tt&amp;gt;-merkintää joka on välttämätön C-ohjelman toiminnalle.&lt;br /&gt;
&lt;br /&gt;
=== Kääntäminen ===&lt;br /&gt;
Kun ohjelmasta on luotu &amp;lt;tt&amp;gt;.pot&amp;lt;/tt&amp;gt;-tiedosto, seuraava vaihe on käännöstiedoston luonti, sekä [[kotoistus|käännösten tekeminen]]. Käännöstiedosto voidaan luoda käsin kopioimalla, tai käyttämällä &amp;lt;tt&amp;gt;msginit&amp;lt;/tt&amp;gt; komentoa. &lt;br /&gt;
 msginit -l fi_FI -o fi.po ohjelma.c&lt;br /&gt;
Lopullinen käännöstiedosto voisi näyttää tältä (tiedosto &amp;lt;tt&amp;gt;fi.po&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Linux.fi:n esimerkkiohjelma&lt;br /&gt;
# Copyright (C) Linux.fi&lt;br /&gt;
# This file is distributed under the same license as the ohjelma package.&lt;br /&gt;
# Linux.fi:n koodariryhmä &amp;lt;foo@bar&amp;gt;, 2007&lt;br /&gt;
#&lt;br /&gt;
#, fuzzy&lt;br /&gt;
msgid &amp;quot;&amp;quot;&lt;br /&gt;
msgstr &amp;quot;&amp;quot;&lt;br /&gt;
&amp;quot;Project-Id-Version: 1.0\n&amp;quot;&lt;br /&gt;
&amp;quot;Report-Msgid-Bugs-To: linux.fi\n&amp;quot;&lt;br /&gt;
&amp;quot;POT-Creation-Date: 2007-10-13 18:51+0300\n&amp;quot;&lt;br /&gt;
&amp;quot;PO-Revision-Date: 2007-10-13 18:52+0300\n&amp;quot;&lt;br /&gt;
&amp;quot;Last-Translator: Linux.fin käännösryhmä &amp;lt;foo@bar&amp;gt;\n&amp;quot;&lt;br /&gt;
&amp;quot;Language-Team: Finnish &amp;lt;fi@bar&amp;gt;\n&amp;quot;&lt;br /&gt;
&amp;quot;MIME-Version: 1.0\n&amp;quot;&lt;br /&gt;
&amp;quot;Content-Type: text/plain; charset=UTF-8\n&amp;quot;&lt;br /&gt;
&amp;quot;Content-Transfer-Encoding: 8bit\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#: ohjelma.c:22&lt;br /&gt;
#, c-format&lt;br /&gt;
msgid &amp;quot;Hello Linux.fi\n&amp;quot;&lt;br /&gt;
msgstr &amp;quot;Terve Linux.fi\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#. TRANSLATORS: Please let %s as it is&lt;br /&gt;
#: ohjelma.c:26&lt;br /&gt;
#, c-format&lt;br /&gt;
msgid &amp;quot;Visit %s&amp;quot;&lt;br /&gt;
msgstr &amp;quot;Vieraile osoitteessa %s&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Käännöksen käyttöönotto ===&lt;br /&gt;
Kun käännös on valmis, pitää se muuttaa binäärimuotoon. Tämä onnistuu &amp;lt;tt&amp;gt;msgfmt&amp;lt;/tt&amp;gt;-ohjelmalla komennolla&lt;br /&gt;
 msgfmt fi.po -o ohjelma.mo&lt;br /&gt;
Huomaa, että tiedostonimen pitää olla lähdekoodissa &amp;lt;tt&amp;gt;textdomain()&amp;lt;/tt&amp;gt;-funktiolle annettu nimi ja tiedostopäätteen &amp;lt;tt&amp;gt;.mo&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Koska &amp;lt;tt&amp;gt;bindtextdomain()&amp;lt;/tt&amp;gt;-funktiolla on käännöksen poluksi asetettu &amp;lt;tt&amp;gt;./kaannos&amp;lt;/tt&amp;gt;, on juuri luotu &amp;lt;tt&amp;gt;ohjelma.mo&amp;lt;/tt&amp;gt; tallennettava sen alle sopivaan alihakemistoon joka riippuu käytetystä kielestä, ja suomen tapauksessa se on&lt;br /&gt;
 ./kaannos/fi/LC_MESSAGES/&lt;br /&gt;
[[Mv|Siirrä]] &amp;lt;tt&amp;gt;ohjelma.mo&amp;lt;/tt&amp;gt; nyt tähän polkuun ja aja alussa käännetty ohjelma, jolloin käännösten pitäisi olla käytössä:&lt;br /&gt;
 $ LC_ALL=fi_FI.utf8 ./ohjelma&lt;br /&gt;
 Terve Linux.fi&lt;br /&gt;
 Vieraile osoitteessa http://linux.fi&lt;br /&gt;
&amp;lt;tt&amp;gt;LC_ALL&amp;lt;/tt&amp;gt; muuttuja määrittelee halutun localen. Asennetut localet näkee komennolla &amp;lt;tt&amp;gt;locale -a&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Katso myös ==&lt;br /&gt;
*[[Kotoistus]]&lt;br /&gt;
*[[Poedit]], Graafinen &#039;&#039;&#039;.po&#039;&#039;&#039;-tiedostojen kääntäjä&lt;br /&gt;
&lt;br /&gt;
==Aiheesta muualla==&lt;br /&gt;
*[http://www.sourcerally.net/regin/49-How-to-get-PHP-and-gettext-working-%28ubuntu,-debian%29 How to get PHP and gettext working ubuntu or debian]&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Kehitystyökalut]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Docker&amp;diff=41001</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Docker&amp;diff=41001"/>
		<updated>2014-08-29T05:43:49Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ohjelma&lt;br /&gt;
| nimi=Docker&lt;br /&gt;
| kuva=[[Tiedosto:Docker logo.png|200px]]&lt;br /&gt;
| kuvateksti=&lt;br /&gt;
| lisenssi=[[Apache-lisenssi|Apache]] 2.0&lt;br /&gt;
| käyttöliittymä=teksti&lt;br /&gt;
| kotisivu=[https://www.docker.io/ www.docker.io]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Docker&#039;&#039;&#039; on ohjelma, jonka avulla voi eristää muita ohjelmia toimimaan omissa &amp;quot;säiliöissään&amp;quot;. Se mahdollistaa periaatteessa minkä tahansa jakelun sovelluksen käytön kohdekoneessa.&lt;br /&gt;
&lt;br /&gt;
==Asennus==&lt;br /&gt;
Ohjelma löytyy useimpien jakeluiden pakettivarastoista. Nimi kuitenkin vaihtelee jakeluittain: &amp;lt;tt&amp;gt;docker&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;docker-io&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;docker.io&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Aiheesta muualla==&lt;br /&gt;
* [https://www.docker.com/ Docker, Inc.]&lt;br /&gt;
* [https://github.com/boot2docker/boot2docker boot2docker], minimaalinen distro Docker-säiliöiden testaamiseen ja kehitykseen&lt;br /&gt;
&lt;br /&gt;
[[Luokka: Emulaattorit ja virtuaalikoneet]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Ebuild&amp;diff=40909</id>
		<title>Ebuild</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Ebuild&amp;diff=40909"/>
		<updated>2014-07-29T08:33:31Z</updated>

		<summary type="html">&lt;p&gt;Raspi: esimerkki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ohjelma | nimi=ebuild  | kuva= |  kuvateksti=  | lisenssi=[[GPL]]| käyttöliittymä=ei | kotisivu=[http://gentoo.org gentoo.org] }}&lt;br /&gt;
&lt;br /&gt;
Ebuild on kieli jolla kuvaillaan, miten paketteja asennetaan sekä ohjelma, joka toteuttaa kyseisen kielen. Ebuild on käytössä erityisesti [[Gentoo]]-[[jakelu|jakelussa]] [[paketinhallintajärjestelmä| paketinhallintajärjestelmän]] osana.&lt;br /&gt;
&lt;br /&gt;
==Kieli==&lt;br /&gt;
ebuild epäilemättä on kielenä monipuolinen, jopa tietyllä tapaa täydellinen. On kuitenkin tärkeää muistaa noudattaa oikeita käytäntöjä tehtäessä paketteja Gentoo-järjestelmään. Esimerkiksi valmiiseen järjestelmään kirjoittaminen useimmissa funktioissa on huonoa tyyliä, ja aiheuttaakin tyypillisesti esimerkiksi [[portage |portagessa]] [[sandbox]]-loukkauksen.&lt;br /&gt;
&lt;br /&gt;
===Muuttujat===&lt;br /&gt;
Seuraavien tyypillisesti ebuildin alussa määriteltävien muuttujien määrittely on suositeltavaa:&lt;br /&gt;
&lt;br /&gt;
 #kuvaus&lt;br /&gt;
 DESCRIPTION=&amp;quot;tässä kerrot mitä ohjelma tekee&amp;quot;&lt;br /&gt;
 #ohjelman kotisivu&lt;br /&gt;
 HOMEPAGE=&amp;quot;http://hyodyllinen.ohjelma.org&amp;quot;&lt;br /&gt;
 #mistä ohjelman lähdekoodi haetaan&lt;br /&gt;
 SRC_URI=&amp;quot;ftp://hyodyllinen.ohjelma.org/pub/${P}.tar.bz2&amp;quot;&lt;br /&gt;
 #ohjelman lisenssi&lt;br /&gt;
 LICENCE=&amp;quot;GPL-2&amp;quot;&lt;br /&gt;
 #kertoo, mihin slottiin ebuild asentuu, Gentoossa samassa slotissa&lt;br /&gt;
 #ei voi olla kahta samannimistä pakettia&lt;br /&gt;
 SLOT=&amp;quot;0&amp;quot;&lt;br /&gt;
 #kertoo mihin avainsanoihin ebuild kuuluu&lt;br /&gt;
 KEYWORDS=&amp;quot;x86 -*&amp;quot;&lt;br /&gt;
 #kertoo mitkä USE-muuttujat vaikuttavat ebuildiin &lt;br /&gt;
 IUSE=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #kertoo mitkä paketit ovat paketin riippuvuuksia&lt;br /&gt;
 DEPEND=&amp;quot;dev-libs/hyodyllinen-kirjasto&amp;quot;&lt;br /&gt;
 #kertoo ne ebuildit, jotka ovat ebuildin ajonaikaisia riippuvuuksia&lt;br /&gt;
 #tyypillisesti dynaaminen kirjastolinkkaus voi hajota vain näihin.&lt;br /&gt;
 RDEPEND=&amp;quot;dev-libs/hyödyllinen-kirjasto&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Paketinnimi-muuttujat====&lt;br /&gt;
Kokonaisuudelle, jonka ebuildin nimi on kategoria/paketti-1.0-r1.ebuild muuttujat ovat &lt;br /&gt;
&lt;br /&gt;
*P=&amp;quot;paketti-1.0&amp;quot;&lt;br /&gt;
*PN=&amp;quot;paketti&amp;quot;&lt;br /&gt;
*PV=&amp;quot;1.0&amp;quot;&lt;br /&gt;
*PR=&amp;quot;r1&amp;quot;  &lt;br /&gt;
*PVR=&amp;quot;1.0-r1&amp;quot;&lt;br /&gt;
*PF=&amp;quot;paketti-1.0-r1&amp;quot;&lt;br /&gt;
*CATEGORY=kategoria&lt;br /&gt;
&lt;br /&gt;
Näitä on hyvä käyttää SRC_URI:n ja muun tarvittavan kanssa. Mikäli [[gentoo|gentoon]] tai muun [[jakelu|jakelun]] tarjoama versiomuotoilu ei sovi, määrittele vastaavat sopivat muuttujat MY_ -etuliitteellä, esim. MY_P. Älä muuta ebuildin nimeä.&lt;br /&gt;
&lt;br /&gt;
====Hakemistomuuttujat====&lt;br /&gt;
*ROOT=&amp;quot;/&amp;quot; kertoo, mitä juurta portagen, tai vastaavan, ylläpitämä systeemi käyttää. Älä koske tämän ulkopuolelle, äläkä muuta tätä muuttujaa.&lt;br /&gt;
&lt;br /&gt;
*WORKDIR=&amp;quot;${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/work&amp;quot; kertoo mihin hakemistoon ohjelman SRC_URI-objektit puretaan tai siirretään kääntämistä, tai muuta, varten.&lt;br /&gt;
&lt;br /&gt;
*FILESDIR=&amp;quot;${PORTDIR}/${CATEGORY}/${PN}/files&amp;quot; files-kansio ebuidin hakemistosta tänne voit tallettaa esimerkiksi pienikokoisia patcheja, alle 20 KiB.&lt;br /&gt;
&lt;br /&gt;
*S=&amp;quot;${WORKDIR}/${P}&amp;quot; Tämä kertoo pääasiallisen kansion, jossa työ tehdään oletusasetusta voi muokata tarpeen mukaan, yleensä suhteessa WORKDIR:iin.&lt;br /&gt;
&lt;br /&gt;
*T=&amp;quot;${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/temp&amp;quot; Tilapäishakemisto vapaasti käytettävissä.&lt;br /&gt;
&lt;br /&gt;
*D=&amp;quot;${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/image&amp;quot; Hakemistokuva asennettavasta kokonaisuudesta. Älä muuta.&lt;br /&gt;
&lt;br /&gt;
====Riippuvuusmuuttujat====&lt;br /&gt;
*DEPEND Ebuildin riippuvuudet, näiden tulee olla asennettuina, ennen kuin ebuild ajetaan.&lt;br /&gt;
*RDEPEND Ebuildin ajonaikaiset riippuvuudet, esimerkiksi dynaamisesti ladattavat kirjastot.&lt;br /&gt;
*PDEPEND Ebuildin jälkeisriippuvuudet, nämä tulee asentaa ebuildin ajon jälkeen.&lt;br /&gt;
*PROVIDE Kuvailee paketin tarjoaman virtuaalipaketin, älä käytä, jos et tiedä, mitä olet tekemässä.&lt;br /&gt;
&lt;br /&gt;
Dynaamisten riippuvuuksien määrittely seuraavia yhdistelemällä loogisina lausekkeina. riippuvuudet ilmaistaan pitkässä muodossa kategoria/paketti-(versio)&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;, &amp;gt;, =, &amp;gt;= ja &amp;lt;= nämä kuvaavat, että riippuvuuden version tulee olla kirjatulle versiolle pienempi, suurempi, yhtäsuuri kuin, suurempi tai yhtä suuri kuin tai pienempi tai yhtä suuri kuin.&lt;br /&gt;
&lt;br /&gt;
*use? riippuvuus on voimassa, mikäli USE-muuttuja use on asetettu. Vastaavasti ei voimassa kun !use?.&lt;br /&gt;
&lt;br /&gt;
*|| tai-operaattori jomman kumman riippuvuuksista täytyy olla täytetty&lt;br /&gt;
&lt;br /&gt;
*!kategoria/paketti käänteinen riippuvuus. Tämä ei saa olla asennettuna ebuildia asennettaessa.&lt;br /&gt;
&lt;br /&gt;
* *-jälkiliite, versionumerossa vastaa mitä tahansa merkkijonoa.&lt;br /&gt;
&lt;br /&gt;
====Muut muuttujat====&lt;br /&gt;
*RESTRICT, rajoittaa portagen ominaisuuksia listan mukaan, listaerottimena toimii välilyönti&lt;br /&gt;
**binchecks, jätetään binäärien laadunvalvonta suorittamatta.&lt;br /&gt;
**confcache, ei käytetä confcachea&lt;br /&gt;
**fetch, SRC_URI-kohdetta ei yritetä hakea&lt;br /&gt;
**mirror, älä hae SRC_URI-kohdetta gentoon omilta palvelimilta&lt;br /&gt;
**primaryuri, hae ensisijaisesti SRC_URI-kohde suoraan SRC_URI:sta&lt;br /&gt;
**strip, ei poisteta debug-symboleja&lt;br /&gt;
**test, ei ajeta src_test-funktiota&lt;br /&gt;
**userpriv&lt;br /&gt;
&lt;br /&gt;
*QA-muuttujat Nämä muuttujat vaientavat portagen laadunvalvontavaroituksia. Muuttujien tarkoitus on lähinnä estää varoitukset suljetun lähdekoodin binääreistä, joita ei voida käytännössä korjata.&lt;br /&gt;
**QA_TEXTRELS&lt;br /&gt;
**QA_EXECSTACK&lt;br /&gt;
**QA_WX_LOAD&lt;br /&gt;
&lt;br /&gt;
===Funktiot===&lt;br /&gt;
ebuild-kielessä on otsikon jälkeen [[Bash-skriptaus|bash-syntaksin]] mukaisia funktioita, joilla on oma osansa paketin asennuksessa. Mitään näistä funktioista ei ole pakko määritellä. Funktioton ebuild toimiikin tyypillisesti [[autotools]]-ohjelmaa varten, jolle ei tarvitse määritellä käännösaikaisia valintoja. src-alkuiset funktiot ajetaan tyypillisesti [[sandbox|sandboxin]] sisällä, eikä niissä saisi kajota muuhun järjestelmään.&lt;br /&gt;
&lt;br /&gt;
====pkg_nofetch====&lt;br /&gt;
Tätä funktiota kutsutaan, mikäli RESTRICT=&amp;quot;fetch&amp;quot; on asetettu ja ebuildin SRC_URI kohdetta ei kyetä noutamaan.&lt;br /&gt;
pkg_nofetchin jälkeen muita funktioita ei kutsuta vaan siirrytään ohjelman loppuun.&lt;br /&gt;
====pkg_setup====&lt;br /&gt;
Ajetaan tarkistuksia asetusten suhteen.&lt;br /&gt;
====src_unpack====&lt;br /&gt;
Puretaan SRC_URI-objekti $WORKDIR-muuttujan osoittamaan kansioon ja ajetaan eutils.eclassin epatch-funktio patcheille tarpeen mukaan, tar.bz2 ja tar.gz -pakatuille ohjelmille riittää tässä oletusfunktio.&lt;br /&gt;
&lt;br /&gt;
====src_compile====&lt;br /&gt;
Tässä funktiossa käännetään lähdekoodi tai tehdään muuta vastaavaa.&lt;br /&gt;
&lt;br /&gt;
====src_test====&lt;br /&gt;
Funktiota kutsutaan src_compilen jälkeen, mikäli FEATURES=&amp;quot;test&amp;quot; on määritelty, funktiossa tulee ajaa asennettavan ohjelman tarjoamat yksikkötestaus-rutiinit, oletustoteutuksessa nämä ovat &amp;lt;tt&amp;gt;make check&amp;lt;/tt&amp;gt; ja &amp;lt;tt&amp;gt;make test&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====src_install====&lt;br /&gt;
Tässä funktiossa siirretään kokonaisuuden asennettava osa, esim suoritettava binääri, hakemistorakenteeseen, jonka juurena toimii muuttujan $D osoittama hakemisto, esimerkiksi make install DESTDIR=$D&lt;br /&gt;
&lt;br /&gt;
====pkg_preinst ja pkg_postinst====&lt;br /&gt;
Nämä funktiot ajetaan sandboxin ulkopuolella ennen ja jälkeen $D-kuvan sisällyttämistä varsinaiseen ROOT-muuttujan osoittamaan kohteeseen, tyypillisesti &amp;quot;/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====pkg_prerm ja pkg_postrm====&lt;br /&gt;
Vastaavasti kuin edelliset nämä ajetaan ennen ja jälkeen kokonaisuuden sisällön, eli sen, minkä asensit $D:hen, poistamista järjestelmästä.&lt;br /&gt;
&lt;br /&gt;
====pkg_config====&lt;br /&gt;
Ajetaan viimeiseksi tässä uudistetaan systeemin asetuksia, mikäli se on tarpeen.&lt;br /&gt;
&lt;br /&gt;
===Apufunktiot===&lt;br /&gt;
&lt;br /&gt;
====Usea tarkkailevat apufunktiot====&lt;br /&gt;
USE-muuttujan USE=&amp;quot;valinta&amp;quot; suhteen nämä funktiot tekevät seuraavaa&lt;br /&gt;
&lt;br /&gt;
*useq valinta, Tämä palauttaa tosi, mikäli valinta on määritelty.&lt;br /&gt;
Seuraavat ovat lisäksi käteviä autotools-ohjelmien kanssa.&lt;br /&gt;
*use_with valinta [configure-valitsin=valinta] [configure-valitsinasetus], palauttaa  &amp;lt;tt&amp;gt;--with-configure-valitsin=configure-valitsinasetus&amp;lt;/tt&amp;gt; tai without, mikäli muuttujaa ei ole määritelty.&lt;br /&gt;
*use_enable valinta [configure-valitsin=valinta] [configure-valitsinasetus], palauttaa&lt;br /&gt;
&amp;lt;tt&amp;gt;--enable-configure-valitsin=configure-valitsinasetus&amp;lt;/tt&amp;gt; tai disable, mikäli muuttujaa ei ole määritelty.&lt;br /&gt;
&lt;br /&gt;
====Tulostusfunktiot====&lt;br /&gt;
*einfo &amp;quot;viesti&amp;quot;, merkityksetön tuloste esimerkiksi asennuksen edistymisestä&lt;br /&gt;
*elog &amp;quot;viesti&amp;quot;, tuloste, joka on tarkoitettu huomioitavaksi ja joka tulostetaan myös logeihin&lt;br /&gt;
*ewarn &amp;quot;varoitusviesti&amp;quot;, varoitustuloste&lt;br /&gt;
*eerror &amp;quot;virheilmoitus&amp;quot;, virhetuloste&lt;br /&gt;
*ebegin &amp;quot;tapahtumailmoitus&amp;quot;, tulostaa ilmoituksen tapahtumasta, jonka onnistumisesta voidaan ilmoittaa funktiolla eend.&lt;br /&gt;
*eend &amp;lt;onnistuma&amp;gt; &amp;quot;virheilmoitus&amp;quot; jos onnistuma ei ole 0 tulostetaan virheilmoitus, muuten ilmoitetaan onnistumisesta.&lt;br /&gt;
&lt;br /&gt;
===Muut ominaisuudet===&lt;br /&gt;
*Import-lauseella voit sisällyttää ebuildiin .eclass-tiedostoja eclass-hakemistosta &lt;br /&gt;
*&#039;#&#039;-merkillä alkavat rivit sivuutetaan kommentteina samalla tavalla kuin [[bash]]issa. Omia muuttujia voidaan määritellä bash-tyylisesti missä tahansa ebuidin kohdassa.&lt;br /&gt;
&lt;br /&gt;
===Tyyli===&lt;br /&gt;
Tässä tärkeitä asioita tyylistä ebuildien tekemisestä erityisesti [[gentoo|gentoolle]]&lt;br /&gt;
&lt;br /&gt;
*Käytä muuttujia, erityisesti oletusmuuttujia silloin kuin ne on määritelty. Tämä tekee ebuildeista portattavia - hyvin tehdyn ebuildin kohteen uuden version ebuildin voikin tyypillisesti tehdä vain ebuildin nimeä muuttamalla. Lisäksi esimerkiksi portagen ylläpitämän järjestelmän juuri ei aina ole &amp;quot;/&amp;quot;, esimerkiksi osX:ssä, mutta se on aina $ROOT.&lt;br /&gt;
&lt;br /&gt;
*Käytä apufunktioita silloin kuin sopii.&lt;br /&gt;
&lt;br /&gt;
*Käytä eclasseja silloin kuin on soveliasta ja tutustu ohjelmakategoriasi ebuildien teon periaatteisiin, mikäli niitä on dokumentoitu.  &lt;br /&gt;
&lt;br /&gt;
==Ohjelma==&lt;br /&gt;
Ebuildia käytetään seuraavasti&lt;br /&gt;
 ebuild &amp;lt;polku ebuildiin&amp;gt;&amp;lt;ohjelma&amp;gt;-&amp;lt;versio&amp;gt;.ebuild &amp;lt;toiminto&amp;gt;&lt;br /&gt;
Tässä saatetaan edellyttää, että kohteena oleva ebuild on oikeassa paikassa hakemistopuussa, esimerkiksi PORTDIR_OVERLAY, ja että ohjelman SRC_URI-objekti on saatavilla DISTDIR=${PORTDIR}/distfiles - hakemistossa.&lt;br /&gt;
&lt;br /&gt;
===Toiminnot===&lt;br /&gt;
====Ebuildeja ajavat toiminnot====&lt;br /&gt;
Seuraavat ajavat ebuildilleen (lähes)nimikkofunktionsa täsmälleen&lt;br /&gt;
*unpack&lt;br /&gt;
*compile&lt;br /&gt;
*test&lt;br /&gt;
*preinst&lt;br /&gt;
*install&lt;br /&gt;
*postinst&lt;br /&gt;
*qmerge&lt;br /&gt;
*prerm&lt;br /&gt;
*postrm&lt;br /&gt;
*config&lt;br /&gt;
&lt;br /&gt;
Nämä taas ajavat useampia funktioita, jotka riittävät paketin asennukseen(merge) tai poistoon (unmerge)&lt;br /&gt;
*merge, myös hakee kokonaisuuden SRC_URI-objektin&lt;br /&gt;
*unmerge&lt;br /&gt;
&lt;br /&gt;
====Muut toiminnot====&lt;br /&gt;
*digest, luo SRC_URI-objektin varmentamiseen vaadittavat kryptografiset tiivisteet. Tiivisteet lasketaan $DISTDIR:ssä olevasta objektista tai haetaan tarvittaessa netistä.&lt;br /&gt;
*manifest, Luo tiivisteet itse ebuildiin liittyvistä tiedostoista.&lt;br /&gt;
*fetch, noutaa SRC_URI:n ja asettaa sen $DISTDIR:iin&lt;br /&gt;
*clean, siistii ebuildin luoman hakemistopuun $PORTAGE_TMPDIR:stä&lt;br /&gt;
*package, luo binääripaketin tar.bz2-muodossa $D:n hakemistopuusta ja asettaa sen PGKDIR=&amp;quot;${PORTDIR}/packages&amp;quot;-muuttujan osoittamaan hakemistoon &lt;br /&gt;
*rpm, luo package-toimintoa vastaavasti [[rpm|rpm-paketin]], tämä paketti ei välttämättä toimi kuitenkaan kaikissa [[jakelu|jakeluissa]] ja sen ominaisuudet saattavat olla vajavaiset.&lt;br /&gt;
&lt;br /&gt;
==Lähdekoodin muokkaus- ja uudelleenasennusesimerkki==&lt;br /&gt;
&lt;br /&gt;
Esimerkki squidin ohjelmakoodin muuttamisesta ja uudelleenasennuksesta. Squid on aiemmin jo asennettu järjestelmään.&lt;br /&gt;
&lt;br /&gt;
  $ sudo su&lt;br /&gt;
  # cd /usr/portage/net-proxy/squid&lt;br /&gt;
  # ebuild squid-3.4.5.ebuild digest&lt;br /&gt;
  # ebuild squid-3.4.5.ebuild fetch&lt;br /&gt;
  # ebuild squid-3.4.5.ebuild unpack&lt;br /&gt;
  # cd /var/tmp/portage/net-proxy/squid-3.4.5/work/squid-3.4.5/src/&lt;br /&gt;
  # $EDITOR &amp;lt;tiedosto&amp;gt; tai aja omat patch-tiedostot&lt;br /&gt;
  # cd /usr/portage/net-proxy/squid&lt;br /&gt;
  # ebuild squid-3.4.5.ebuild compile&lt;br /&gt;
  # ebuild squid-3.4.5.ebuild install&lt;br /&gt;
  # ebuild squid-3.4.5.ebuild qmerge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Muuta luettavaa==&lt;br /&gt;
*[[portage]]&lt;br /&gt;
*[[emerge]]&lt;br /&gt;
*[[eclass]]&lt;br /&gt;
===Man-sivut===&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[man]] 1 ebuild&amp;lt;/tt&amp;gt; ebuild-ohjelman man-sivu&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[man]] 5 ebuild&amp;lt;/tt&amp;gt; ebuild-tiedostorakenteen, tai kielen, man-sivu&lt;br /&gt;
&lt;br /&gt;
Lisää man-sivuja aiheesta [[gentoo|gentoossa]] saat&lt;br /&gt;
 [[emerge]] portage-manpages&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;[[man]] eutils.[[eclass]]&amp;lt;/tt&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Paketinhallinta]]&lt;br /&gt;
[[Luokka:Gentoo]]&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Rdfind&amp;diff=40647</id>
		<title>Rdfind</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Rdfind&amp;diff=40647"/>
		<updated>2014-06-16T02:01:37Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: rdfind on ohjelma duplikaattitiedostojen löytämiseen.    Testaa mitä tapahtuisi:   rdfind -dryrun true -deleteduplicates true -checksum sha1 /home/storage  Ohjelma kirjoittaa re...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;rdfind on ohjelma duplikaattitiedostojen löytämiseen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testaa mitä tapahtuisi:&lt;br /&gt;
&lt;br /&gt;
 rdfind -dryrun true -deleteduplicates true -checksum sha1 /home/storage&lt;br /&gt;
&lt;br /&gt;
Ohjelma kirjoittaa results.txt-tiedoston, josta voi tutkia mitä tiedostoja löytyi.&lt;br /&gt;
&lt;br /&gt;
Aja komento oikeasti:&lt;br /&gt;
&lt;br /&gt;
 rdfind -deleteduplicates true -checksum sha1 /home/storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://rdfind.pauldreik.se/&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Etckeeper&amp;diff=40646</id>
		<title>Etckeeper</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Etckeeper&amp;diff=40646"/>
		<updated>2014-06-16T01:56:39Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: &amp;#039;&amp;#039;&amp;#039;etckeeper&amp;#039;&amp;#039;&amp;#039; on kokoelma työkaluja, joilla /etc-hakemisto saadaan versionhallinnan alle. Versionhallinta mahdollistaa konfiguraatiotiedostojen asetusten palauttamisen ja histor...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;etckeeper&#039;&#039;&#039; on kokoelma työkaluja, joilla /etc-hakemisto saadaan versionhallinnan alle. Versionhallinta mahdollistaa konfiguraatiotiedostojen asetusten palauttamisen ja historiaseurannan. etckeeper kytkeytyy mm. apt-, yum- ja pacman-g2 -paketinhallintaan ja järjestelmän päivitysten yhteydessä /etc-hakemiston muutokset tallennetaan atomisesti päivityksen loputtua. &lt;br /&gt;
&lt;br /&gt;
https://joeyh.name/code/etckeeper/&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Git-annex_assistant&amp;diff=40645</id>
		<title>Git-annex assistant</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Git-annex_assistant&amp;diff=40645"/>
		<updated>2014-06-16T00:43:55Z</updated>

		<summary type="html">&lt;p&gt;Raspi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;git-annex assistant&#039;&#039;&#039; on ohjelma hakemiston synkronointiin eri laitteiden välillä. Ohjelmaa voi verrata kaupalliseen DropBoxiin. Synkronoitavat tiedostot voivat sijaita kotiverkossa tai pilvessä. Ohjelma pohjautuu git-annex-ohjelmaan, joka parantaa suurien tiedostojen käsittelyä git-versionhallintaohjelmassa, sillä git itsessään käsittelee suuria tiedostoja huonosti. Ohjelmalla voi myös synkronoida Android-pohjaisten laitteiden tiedostoja.&lt;br /&gt;
&lt;br /&gt;
git-annex assistant -ohjelma tulee git-annex-ohjelmiston mukana. Se löytyy ainakin kaikista suurimmista distroista &#039;&#039;&#039;git-annex&#039;&#039;&#039; -paketin nimellä.&lt;br /&gt;
&lt;br /&gt;
http://git-annex.branchable.com/assistant/&lt;br /&gt;
&lt;br /&gt;
https://github.com/joeyh/git-annex&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
	<entry>
		<id>https://www.linux.fi/w/index.php?title=Git-annex_assistant&amp;diff=40644</id>
		<title>Git-annex assistant</title>
		<link rel="alternate" type="text/html" href="https://www.linux.fi/w/index.php?title=Git-annex_assistant&amp;diff=40644"/>
		<updated>2014-06-16T00:22:54Z</updated>

		<summary type="html">&lt;p&gt;Raspi: Ak: Uusi sivu: &amp;#039;&amp;#039;&amp;#039;git-annex assistant&amp;#039;&amp;#039;&amp;#039; on ohjelma hakemiston synkronointiin eri laitteiden välillä. Ohjelmaa voi verrata kaupalliseen DropBoxiin. Synkronoitavat tiedostot voivat sijaita kotiv...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;git-annex assistant&#039;&#039;&#039; on ohjelma hakemiston synkronointiin eri laitteiden välillä. Ohjelmaa voi verrata kaupalliseen DropBoxiin. Synkronoitavat tiedostot voivat sijaita kotiverkossa tai pilvessä. Ohjelma pohjautuu git-annex-ohjelmaan, joka parantaa suurien tiedostojen käsittelyä git-versionhallintaohjelmassa, sillä git itsessään käsittelee suuria tiedostoja huonosti. Ohjelmalla voi myös synkronoida Android-pohjaisten laitteiden tiedostoja.&lt;br /&gt;
&lt;br /&gt;
git-annex assistant -ohjelma tulee git-annex-ohjelmiston mukana. Se löytyy ainakin kaikista suurimmista distroista &#039;&#039;&#039;git-annex&#039;&#039;&#039; -paketin nimellä.&lt;br /&gt;
&lt;br /&gt;
http://git-annex.branchable.com/assistant/&lt;/div&gt;</summary>
		<author><name>Raspi</name></author>
	</entry>
</feed>