Mematikan server dengan mencabut kabel daya itu seperti mematikan mobil dengan menabrakkannya ke tembok: filesystem bisa berhenti tepat di tengah penulisan data dan kerusakannya baru terasa beberapa hari kemudian. Linux karena itu punya protokol mati-mesin yang tertib — memberi tahu pengguna yang sedang login, menghentikan service dengan urutan yang benar, dan menyinkronkan semua data ke disk sebelum daya diputus. Chapter ini membahas shutdown beserta kerabatnya, padanan modern berbasis systemctl, warisan runlevel, dan penyetelan daya khusus laptop.

Matikan dengan Tertib: shutdown dan Temannya #

Bentuk dasarnya: shutdown [OPSI] [WAKTU] [PESAN]. Argumen waktu mengatur kapan aksi terjadi — now untuk seketika, +10 untuk sepuluh menit lagi, atau 22:00 untuk jam dinding tertentu — sedangkan pesan terakhir dikirim ke seluruh sesi yang sedang login. Dua kerabat dekatnya adalah poweroff dan reboot yang langsung bertindak tanpa jadwal. Berkas bantuan shutdown di Debian 13 tinggal di /usr/sbin — satu folder yang sering absen dari PATH user biasa — jadi di sesi latihan kita panggil dengan path penuh:

bash
/usr/sbin/shutdown --help 2>&1 | head -n 12

Output yang Dihasilkan:

text
shutdown [OPTIONS...] [TIME] [WALL...]

Shut down the system.

Options:
     --help      Show this help
  -H --halt      Halt the machine
  -P --poweroff  Power-off the machine
  -r --reboot    Reboot the machine
  -h             Equivalent to --poweroff, overridden by --halt
  -k             Don't halt/power-off/reboot, just send warnings
     --no-wall   Don't send wall message before halt/power-off/reboot

Bedah option yang paling sering dipakai:

  1. -r memuat ulang sistem (reboot), -H menghentikan tanpa memutus daya (halt), -P memutus daya (poweroff); -h adalah kependekan umum dari --poweroff.
  2. -k hanya berlatih: pesan tetap dikirim ke pengguna tetapi mesin tidak benar-benar dimatikan — aman untuk menguji prosedur.
  3. -c membatalkan shutdown terjadwal yang masih menunggu.

Pesan pada argumen terakhir dikirim memakai wall, yang menuliskannya ke setiap terminal aktif. Berikut contoh tampilan yang diterima pengguna yang sedang login:

text
Broadcast message from root@server-kantor (pts/0) (Thu 2026-01-15 21:50:00 WIB):

Server dimatikan pukul 22:00 untuk penggantian UPS. Simpan pekerjaan Anda.

Rangkuman perintah sehari-hari:

PerintahEfekKapan dipakai
sudo shutdown -h nowmatikan seketikamesin uji, darurat terkontrol
sudo shutdown -r +10 "pesan"reboot terjadwal dengan pengumumanupgrade, patch kernel
sudo shutdown -cbatalkan jadwalmaintenance ditunda
sudo poweroff / sudo rebootlangsung tanpa jadwalserver pribadi, mesin virtual

systemctl: Jalan Modern dan Warisan Runlevel #

Pada sistem systemd, cara yang dianjurkan adalah systemctl poweroff, systemctl reboot, dan systemctl suspend — perintah-perintah ini melewati systemd-logind yang lebih sopan: aplikasi dapat memasang inhibitor lock untuk menunda aksi sampai pekerjaannya selesai. Di container latihan yang tidak menjalankan systemd sebagai PID 1 (kondisi yang sudah kita temui di Systemd dan Services ), perintah itu ditolak mentah-mentah:

bash
systemctl poweroff 2>&1

Output yang Dihasilkan:

text
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to system scope bus via local transport: Host is down
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to system scope bus via local transport: Host is down

Pesan itu muncul dua kali karena systemctl mencoba beberapa jalur transportasi sebelum menyerah; di mesin sungguhan dengan systemd aktif, perintah yang sama mengantarkan sistem ke target poweroff.target dengan tertib. Istilah zaman SysV init adalah runlevel — angka 0 berarti halt dan 6 berarti reboot, pengetahuan yang masih berguna saat membaca skrip lama. systemd menjaga kompatibilitasnya lewat symlink:

bash
ls /lib/systemd/system/ | grep -E '^runlevel[06]\.target$'
readlink /lib/systemd/system/runlevel0.target /lib/systemd/system/runlevel6.target

Output yang Dihasilkan:

text
runlevel0.target
runlevel6.target
poweroff.target
reboot.target
  1. Baris 1: dari ratusan unit di /lib/systemd/system/, dua file berawalan runlevel0 dan runlevel6 tersaring.
  2. Baris 2: readlink membongkar kedua symlink — runlevel0.target menuju poweroff.target, runlevel6.target menuju reboot.target, target yang sama persis dengan systemctl poweroff dan systemctl reboot. Peta lengkap targetnya dibahas di Systemd Targets .

Manajemen Daya di Laptop #

Laptop menambah satu lapis lagi: ACPI (Advanced Configuration and Power Interface), standar yang melaporkan kejadian daya — tutupnya lid, baterai lemah, tombol power — dari firmware ke kernel, lalu diteruskan ke desktop environment untuk menentukan aksi default. Penyetelan di luar lingkungan desktop umumnya diserahkan pada TLP, alat yang otomatis menyetel power saving WiFi, USB, dan CPU governor (powersave saat baterai, performance saat tersambung listrik); pembahasan lengkapnya ada di Chapter Manajemen Daya Laptop . Untuk sekadar mengintip pemboros daya, powertop dari paket bernama sama meranking proses menurut konsumsi energinya.

Referensi option shutdown tercantum di shutdown(8) , dan gambaran luas topik daya dirangkum wiki Power management . Mematikan dengan tertib kini urusan yang jelas; di tengah spektrum antara terus menyala dan mati total ada mode hemat daya yang membuat laptop bisa tidur siang tanpa dimatikan — suspend dan hibernate, topik Chapter berikutnya.