Nykyinen versio |
Oma tekstisi |
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 |
| * Tarvittaessa viivästää palveluiden aktivointia siihen asti että joku yrittää niitä käyttää | | * Tarvittaesa 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 [[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). | | 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). |
|
| |
|
| 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 171: |
Rivi 171: |
| </pre> | | </pre> |
|
| |
|
| Ajastimet voidaan listata <code>systemctl list-timers</code> -komennolla. Esimerkkituloste:
| | ==Kritiikkiä== |
| | | 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 278: |
Rivi 179: |
|
| |
|
| [[Luokka: Järjestelmä]] | | [[Luokka: Järjestelmä]] |
| {{Malline:Palvelin}}
| |