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.service                     
2. 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]
WantedBy=multi-user.target
3. Cek apakah file rc.local sudah ada di direktori /etc, jika belum silahkan buat, bisa dengan menggunakan command :
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local          
4. Ganti mode file rc.local agar dapat dieksekusi
sudo chmod +x /etc/rc.local                                                         
5. Gunakan perintah dibawah ini agar rc.local dapat di eksekusi ketika system start-up
sudo systemctl enable rc-local                                                     
Output :
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.service                                             
7. Cek Status service rc.local
sudo systemctl status rc-local.service                                          
Output
 rc-local.service - /etc/rc.local Compatibility                                                                     
 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                                                                               
 Isi dari file /etc/rc.local seperti dibawah ini :
#!/bin/bash
exit 0

 Script yang ingin kita jalankan bisa di sisipkan pada file tersebut sebelum perintah "exit 0"

Contoh :
#!/bin/bash
shutdown -P 01:00
exit 0
Sekian sharing ga jelas ini, semoga bisa menjadikan ilmu :D

Komentar

Archive

Formulir Kontak

Kirim