Mengaktifkan sang legend "rc.local" pada system yang sudah menganut aliran systemd [tested on ubuntu 18.04]
Sebelum ke topic utama, ada baiknya kita bahas dulu apa itu systemd, kalau kita membaca maka kita bisa memahami sebagai ‘system d’, d di sini berarti daemon. Salah satu tujuan penggunaan systemd adalah untuk menyatukan konfigurasi dasar dan juga service-service di antara berbagai macam distribusi Linux.
Pada tahun 2015, hampir semua distribusi Linux sudah menjalankan systemd yang utamanya bertujuan untuk inisialisasi, manajemen dan pelayanan penelusuran sistem dan daemons di linux, semuanya saat baru memulai dan ketika sistem berjalan. Sebelumnya, pekerjaan tersebut dulu dilakoni oleh SysVinit (System V init, atau juga init).
Salah satu yang termasuk datri sysvinit yaitu rc.local, yang dulu sering digunakan untuk menjalankan script-script pada saat start-up atau system menyala. Namun sekarang ini semua dijalankan oleh systemd, tapi saya pribadi lebih suka menggunakan rc.local, lalu apakah rc.local bisa digunakan lagi? berikut kita bahas triknya:
1. Buat file rc-local.service di folder /etc/systemd/system
sudo nano /etc/systemd/system/rc-local.service2. Isi file rc-local.service dengan script berikut :
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]3. Cek apakah file rc.local sudah ada di direktori /etc, jika belum silahkan buat, bisa dengan menggunakan command :
WantedBy=multi-user.target
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local4. Ganti mode file rc.local agar dapat dieksekusi
sudo chmod +x /etc/rc.local5. Gunakan perintah dibawah ini agar rc.local dapat di eksekusi ketika system start-up
sudo systemctl enable rc-localOutput :
Created symlink from /etc/systemd/system/multi-user.target.wants/rc-local.service to /etc/systemd/system/rc-local.service.6. Jalankan rc.local
sudo systemctl start rc-local.service7. Cek Status service rc.local
sudo systemctl status rc-local.serviceOutput
rc-local.service - /etc/rc.local CompatibilityIsi dari file /etc/rc.local seperti dibawah ini :
Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2015-11-27 00:32:56 CST; 14min ago
Process: 879 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
Main PID: 880 (watch)
CGroup: /system.slice/rc-local.service
#!/bin/bash
exit 0
Script yang ingin kita jalankan bisa di sisipkan pada file tersebut sebelum perintah "exit 0"
Contoh :
#!/bin/bashSekian sharing ga jelas ini, semoga bisa menjadikan ilmu :D
shutdown -P 01:00
exit 0
Komentar