Ero sivun ”Systemd” versioiden välillä

Siirry navigaatioon Siirry hakuun
3 030 merkkiä lisätty ,  4. kesäkuuta 2019
p
(ajastimista)
(5 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 7: Rivi 7:
* Käyttää Linuxin [[control group]] -toimintoa prosessien seuraamiseen
* Käyttää Linuxin [[control group]] -toimintoa prosessien seuraamiseen
* Yhteensopiva [[System V init]] -komentosarjojen kanssa
* Yhteensopiva [[System V init]] -komentosarjojen kanssa
* Tarvittaesa viivästää palveluiden aktivointia siihen asti että joku yrittää niitä käyttää
* Tarvittaessa viivästää palveluiden aktivointia siihen asti että joku yrittää niitä käyttää


== Yksiköt ==
== Yksiköt ==
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 ''yksikkö'' (englanniksi unit).
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 ''yksikkö'' (englanniksi unit).


Erityyppiset yksiköt erottaa toisistaan helposti nimen loppuosan perusteella. Palvelut päättyvät aina <tt>.service</tt>-merkkijonoon, kun taas esimerkiksi tiedostojärjestelmien liitospisteitä vastaavien yksiköiden nimien lopussa on aina <tt>.mount</tt>.
Erityyppiset yksiköt erottaa toisistaan helposti nimen loppuosan perusteella. Palvelut päättyvät aina <tt>.service</tt>-merkkijonoon, kun taas esimerkiksi tiedostojärjestelmien liitospisteitä vastaavien yksiköiden nimien lopussa on aina <tt>.mount</tt>.
Rivi 172: Rivi 172:
</source>
</source>


==Kritiikkiä==
Ajastimet voidaan listata <code>systemctl list-timers</code> -komennolla. Esimerkkituloste:
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] ''( "tee yksi asia ja tee se hyvin" )''-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.
 
<pre>
# systemctl list-timers
NEXT                          LEFT          LAST                          PASSED      UNIT                        ACTIVATES
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
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
Tue 2018-08-28 00:00:00 EEST  7h left      Mon 2018-08-27 00:00:01 EEST  16h ago      logrotate.timer              logrotate.service
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
Tue 2018-08-28 00:00:00 EEST  7h left      Mon 2018-08-27 00:00:01 EEST  16h ago      shadow.timer                shadow.service
 
5 timers listed.
Pass --all to see loaded but inactive timers, too.
</pre>
 
== Verkon hallinta ==
 
* https://www.freedesktop.org/software/systemd/man/systemd.network.html
* https://www.freedesktop.org/software/systemd/man/systemd.netdev.html - virtuaaliset verkkoliitännät
* <code>networkctl</code>
* <code>systemctl status systemd-networkd</code>
* <code>systemctl status systemd-networkd-wait-online.service</code>
 
=== Kiinteä IP-osoite ===
 
<code>/etc/systemd/network/eth0.network</code>:
 
<pre>
[Match]
# Verkkokortin nimi
Name=eth0
 
[Network]
Description=eth0:n kiinteä verkko
DHCP=no
Address=192.168.1.11/24
# Gateway IP Address
Gateway=192.168.1.1
# DNS server address
DNS=192.168.1.1
#Domains=home.lan
</pre>
 
=== DHCP ===
 
<code>/etc/systemd/network/eth0.network</code>:
 
<pre>
[Match]
# Verkkokortin nimi
Name=eth0
 
[Network]
Description=eth0:n verkko DHCP:lla
# DHCP no|yes|ipv4|ipv6
DHCP=ipv4
# DNS server address
#DNS=192.168.101.1
#Domains=home.lan
</pre>
 
=== Verkkokortin nimen vaihtaminen (.link) ===
 
Verkkokorttien nimiä voidaan vaihtaa SystemD:n <code>.link</code>-tiedostoilla. Verkkokortin uudelleennimeäminen on hyödyksi silloin, kun esimerkiksi palomuurisääntöjä pitää voida helpommin siirtää järjestelmästä toiseen.
Tässä esimerkissä verkkokortti nimeltä <code>eno1</code> uudelleennimetään <code>phy0</code>-nimiseksi.
 
Listataan verkkokortit:
 
<pre>
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 74:d0:2b:2c:6e:d7 brd ff:ff:ff:ff:ff:ff
</pre>
 
Luodaan <code>/etc/systemd/network/10-phy0.link</code>:
 
<pre>
[Match]
# Käytetään MAC-osoitetta tunnistamaan verkkokortti
MACAddress=74:d0:2b:2c:6e:d7
 
[Link]
# Uusi nimi
Name=phy0
Description=USB-portin vasemmalla puolella oleva ylempi verkkokortti
MACAddressPolicy=persistent
# Käännä verkkokortin rautakiihdytettyjä ominaisuuksia pois päältä (offloading)
# ethtool-ohjelmalla näitä voidaan hallita vielä monipuolisimmin
#TCPSegmentationOffload=off
#TCP6SegmentationOffload=off
#GenericSegmentationOffload=off
#GenericReceiveOffload=off
#LargeReceiveOffload=off
</pre>
 
Lisätietoa: https://www.freedesktop.org/software/systemd/man/systemd.link.html
 
== Muita Init-järjestelmiä ==
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ä.


==Katso myös==
==Katso myös==
Rivi 180: Rivi 279:


[[Luokka: Järjestelmä]]
[[Luokka: Järjestelmä]]
{{Malline:Palvelin}}
76

muokkausta

Navigointivalikko