Pengenalan systemd

Published by Dhani Setiawan on
Filed under: Debian Tags: , ,

systemd, ditulis dengan huruf kecil, adalah init system baru di Debian Jessie dan belum pernah ada di versi Debian sebelumnya. Tulisan ini adalah sedikit apa yang saya ketahui dari systemd di Debian 8.

Para pengguna Debian mungkin saja sudah tahu bahwa keputusan Debian untuk mengadopsi systemd sebagai init system melalui perdebatan yang panjang antara pro systemd dan kontra systemd yang akhirnya menyebabkan para developer Debian terpecah menjadi dua kubu.

Kontroversi systemd

systemd memang mejadi kontroversi karena beberapa hal. Pertama, sebagian orang menganggap systemd tidak menghormati filosofi Unix. saya ingat ketika awal sekali mengenal Linux, bahwa Linux adalah sistem operasi yang Unix-like dan Unix terkenal dengan filosofi-nya, diantaranya:

  • Tugas sebuah program adalah melakukan satu hal dan melakukannya dengan baik.
  • Sistem yang besar dan kompleks merupakan gabungan dari program-program kecil yang bekerja bersama.
  • Teks adalah interface yang universal
  • Segalanya di Unix adalah file.

systemd dianggap tidak conform dengan filosofi Unix diatas sehingga banyak yang menolaknya. systemd awalnya di-develop oleh Lennart Poettering, developer yang sekarang bekerja untuk Red Hat. Lennart Poettering sebelumnya juga membuat program yang kontroversial yaitu Avahi dan PulseAudio. Silahkan baca tentang Lennart Poettering di halaman Wikipedia

Beberapa kritik terhadap systemd, systemd tidak hanya menjadi init system tapi juga mengambil alih banyak fungsi. Misalnya systemd berusaha mengatur network, cron, fstab, syslog/rsyslog, dll. Artinya systemd bukanlah sebuah program yang melakukan satu hal saja, tapi banyak hal. Kemudian, systemd dikritik karena logging filenya tidak berbasis teks seperti Unix dan Linux log pada umumnya, tapi binary log file.

Diantara kritik terhadap systemd ada beberapa yang tidak valid, misalnya saja systemd dianggap tidak modular. Lennart Poettering menjawab kritik yang seperti ini di halaman blognya dengan judul The Biggest Myths

Lahirnya Devuan GNU/Linux

Di Debian sendiri, setelah perdebatan panjang, systemd menjadi default init system di rilis Debian mulai Debian 8. Debian termasuk terlambat karena beberapa distribusi Linux sebelumnya sudah menggunakan systemd seperti Red Hat dan Fedora, Ubuntu, Gentoo, dll.

Akibat dari keputusan ini, beberapa developer Debian yang menolak systemd membuat distribusi baru berbasis Debian, Debian tanpa systemd yang diberi nama Devuan. Devuan adalah Debian yang masih menggunakan sysvinit, tentang Devuan bisa dilihat di https://devuan.org/


Bagi user seperti Saya, systemd atau bukan systemd tidak banyak pengaruhnya kecuali mempelajari command-command baru. Dan ini pendapat saya setelah beberapa waktu menggunakan Debian 8 dan systemd.

systemd adalah sistem yang modular. Di Debian 8, implementasi systemd hanya init system dan journal log. Debian menjaga backward compatibility dengan sysvinit, dan antara journal dan rsyslog. Artinya, dari sisi user tidak ada bedanya karena user tetap bisa menggunakan sysvinit dan logging menggunakan rsyslog, command service <service> (start|stop|restart) tetap bisa digunakan. systemd memang menawarkan banyak fitur seperti networking, cron, dsb tapi itu semua optional, satu-satunya fitur yang tidak bisa dipisahkan dari systemd adalah journald untuk system log, itu pun tidak mematikan service rsyslog dan rsyslog tetap bisa digunakan.

systemd adalah sistem yang modern, berbanding terbalik dengan sysvinit. Sysvinit memang sudah seharusnya hilang dari dunia per-init-an karena mangatur service melalui script itu tidak mudah dan tidak teratur. Ubuntu pernah membuat pengganti Sysvinit dengan Upstart, tapi kemudian ditinggalkan dan beralih ke systemd. systemd menggunakan file konfigurasi yang disebut unit, cara membuat file unit pun gampang karena konfigurasinya yang ini-style.

Yang menurut saya kurang adalah sistem logging dengan journald karena file log-nya bukan teks. Sebelumnya, dengan teks logging rsyslog bisa menggunakan tool apa saja seperti cat, grep, tail, atau head, tapi dengan journald hanya bisa menggunakan satu tool yaitu journalctl.

Command-command systemd

Beberapa command systemd yang sering digunakan.

Untuk me-restart service, systemctl restart. Misalnya merestart apache2

systemctl restart apache2

systemctl juga bisa me-restart beberapa service sekaligus, untuk restart apache2 dan mysql

systemctl restart apache2 mysql

Untuk start, stop dan reload, tinggal ganti restart dengan start, stop atau reload.

Mengaktifkan service saat start-up, misal mengaktifkan service systemd-networkd

systemctl enable systemd-networkd

Menonaktifkan service saat start-up, misal menonaktifkan service networking

systemctl disable networking

Restart

systemctl reboot

Shutdown

systemctl poweroff

Melihat tanggal dan jam

timedatectl

Set waktu

timedatectl set-time "2016-02-21 22:33:44"

Melihat log secara live

journalctl -f

Melihat log untuk service, email server postfix misalnya

journalctl -u postfix

Melihat log dari tanggal 20 sampai 21 Februari

journalctl --since "2016-02-20" --until "2016-02-21"

Melihat log dua jam terakhir

journalctl --since "2 hours ago"

Masih banyak lagi tentang systemd yang tidak tertulis disini dan belum saya ketahui. Manual untuk systemd bisa dibaca di https://www.freedesktop.org/software/systemd/man/


Sebarkan artikel ini :



Anda tidak perlu repot-repot mengunjungi blog ini.
Silahkan masukkan alamat email dan begitu ada post baru, Saya akan minta robot FeedBurner mengantarkannya ke email inbox Anda.

Delivered by FeedBurner


blog comments powered by Disqus