Salah satu alat yang paling kuat dan berguna untuk pengguna Linux, khususnya distro modern seperti Ubuntu, adalah perintah sistemctl. Utilitas baris perintah ini biasanya digunakan untuk berinteraksi dengan systemd, sistem, dan manajer layanan.
Melalui perintah ini, Anda dapat mengelola layanan sistem, melihat statusnya, memulai atau menghentikannya, serta mengaktifkan dan menonaktifkannya saat startup sistem. Cukup berguna, bukan? Namun jika perintah systemctl tidak ditemukan atau dikenali, Anda akan menghadapi masalah “sudo:systemctl: perintah tidak ditemukan” kesalahan.
Jadi, mari kita bahas tentang apa arti kesalahan “systemctl: command not found”, berbagai alasan mengapa Anda menghadapi kesalahan ini, dan cara memperbaiki kesalahan ini.
Apa Arti systemctl: Perintah Tidak Ditemukan?
Sederhananya, kesalahan “systemctl: command not found” berarti utilitas baris perintah systemctl tidak tersedia atau dapat diakses di lingkungan saat ini. Hal ini dapat disebabkan oleh sejumlah alasan, yang semuanya disebabkan oleh lingkungan non-sistem atau paket systemd tidak diinstal pada sistem.
Pada dasarnya, paket systemd tidak diinstal, atau distro atau versi Linux Anda tidak menggunakan systemd; sebaliknya, ia menggunakan sistem manajemen layanan lama seperti init.d. Salah satu kemungkinan lainnya adalah variabel lingkungan PATH tidak menyertakan direktori tempat systemctl berada, artinya shell Anda tidak dapat menemukannya.
Sekarang setelah Anda memiliki gambaran tentang apa yang mungkin salah dengan sistem Anda, yang menyebabkan kesalahan “systemctl: command not found”, mari kita lihat bagaimana Anda dapat memverifikasi di mana letak masalahnya dan bagaimana cara memperbaikinya.
Memperbaiki systemctl: Kesalahan Perintah Tidak Ditemukan
Pada langkah-langkah berikut, kami akan memverifikasi apakah sistem Anda telah menginstal systemd dan menggunakan systemctl atau tidak, serta memeriksa jalur systemctl. Setelah kami memverifikasi masalahnya, kami akan mengambil langkah-langkah yang diperlukan untuk memperbaiki kesalahan tersebut.
1. Memverifikasi Jika Sistem Anda Menggunakan systemd
Karena Ubuntu systemctl hanya dapat digunakan jika Anda telah menginstal paket systemd, pertama-tama kita akan memeriksa apakah sistem Anda seharusnya menggunakan systemd dengan menjalankan perintah berikut:
ps -p 1 -o comm=
Atau Anda dapat memeriksa versi systemd dengan perintah berikut:
systemd --version
Jika outputnya adalah systemd, maka systemd adalah sistem init Anda dan Ubuntu systemctl harus diinstal. Namun, jika outputnya adalah init atau manajer proses lain, itu berarti sistem Anda menggunakan sistem inisialisasi alternatif, dan systemctl tidak akan berfungsi kecuali Anda bermigrasi ke systemd.
Jika Anda melihat sistem inisialisasi lama seperti Pemula atau SysVinit dan ingin beralih ke systemd untuk menggunakan systemctl, ikuti langkah-langkah berikut:
1. Instal systemctl dengan menginstal systemd menggunakan perintah berikut:
sudo apt install systemd-sysv
2. Nyalakan ulang sistem Anda dengan menjalankan perintah ini:
sudo reboot
3. Periksa apakah sistem Anda sekarang menggunakan systemd:
ps -p 1 -o comm=
Outputnya seharusnya systemd sekarang.
2. Memastikan systemd Diinstal dengan Benar
Dalam keadaan normal, ketika systemd diinstal dan dijalankan sebagai sistem init Anda, perintah systemctl akan berfungsi dengan benar. Jika tidak, berarti paket systemd hilang atau tidak diinstal dengan benar.
Perhatikan bahwa jika Anda menggunakan versi minimal Ubuntu, seperti container Docker atau instance cloud, systemd mungkin belum diinstal secara default. Untuk menginstal systemctl melalui instalasi systemd, jalankan perintah berikut:
sudo apt update sudo apt install systemd
Setelah diinstal, periksa untuk melihat apakah perintah systemctl tersedia.
3. Memeriksa PATH systemctl
Salah satu masalah umum dengan kesalahan systemctl not found adalah systemctl dapat diinstal, tetapi tidak ada di PATH sistem Anda. Untuk memeriksa apakah biner systemd ada di direktori umum tempatnya berada, seperti /bin, /usr/bin, atau /usr/local/bin, Anda dapat menggunakan perintah berikut:
which systemctl
Jika systemctl ditemukan di salah satu direktori Anda yang terdaftar di PATH, Anda akan mendapatkan keluaran seperti ini:
/usr/bin/systemctl
Jika systemctl tidak ditemukan di salah satu direktori di PATH, perintah yang mana tidak akan menghasilkan apa pun.
Namun, systemctl mungkin masih tidak berfungsi meskipun ditemukan di direktori Anda. Ini karena systemctl dapat ditempatkan di direktori yang tidak termasuk dalam PATH. Dalam situasi ini, Anda harus memverifikasi apakah direktori tempat systemctl berada merupakan bagian dari sistem Anda dengan menggunakan perintah berikut:
echo $PATH
Outputnya harus seperti ini:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Sekarang, yang harus Anda lakukan adalah memeriksa apakah direktori tempat systemctl berada (yang Anda dapatkan dari perintah yang mana) termasuk dalam direktori yang tercantum dalam output dari perintah echo $PATH.
Jika direktori systemctl tidak disertakan dalam output echo $PATH, Anda harus menambahkannya ke variabel PATH Anda. Untuk melakukan ini, Anda harus menjalankan perintah berikut:
Untuk Pengguna shell Bash, buka file ~/.bashrc di editor teks:
nano ~/.bashrc
Tambahkan baris berikut di akhir file:
export PATH=$PATH:/usr/bin
/usr/bin adalah direktori tipikal tempat systemctl berada dalam contoh ini.
Sekarang, simpan dan tutup file dengan menekan CTRL + X, lalu Y untuk konfirmasi, dan Enter untuk menyimpan.
Untuk Pengguna Zsh, Buka file ~/.zshrc di editor teks:
nano ~/.zshrc
Tambahkan baris berikut di akhir file:
export PATH=$PATH:/usr/bin
/usr/bin adalah direktori tipikal tempat systemctl berada dalam contoh ini.
Sekarang, simpan dan tutup file dengan menekan CTRL + X, lalu Y untuk konfirmasi, dan Enter untuk menyimpan.
Setelah Anda selesai dengan langkah-langkah di atas, gunakan perintah echo $PATH untuk memverifikasi apakah direktori systemctl Anda telah ditambahkan ke PATH Anda. Sekarang, Anda seharusnya dapat menjalankan systemctl tanpa mengalami kesalahan “systemctl: command not found”.
4. Menginstal ulang sistemd
Jika perbaikan sebelumnya tidak berhasil dan Anda masih menghadapi kesalahan perintah tidak ditemukan, menginstal ulang systemd sepenuhnya mungkin dapat menyelesaikan masalah. Untuk melakukannya, jalankan perintah berikut:
sudo apt purge systemd sudo apt install systemd
Kemudian, reboot sistem Anda dengan perintah ini:
sudo reboot
Periksa untuk melihat apakah systemctl berfungsi.
5. Memverifikasi systemd Dikonfigurasi dengan Benar
Terkadang, masalahnya bisa sesederhana instalasi systemd yang salah dikonfigurasi, yang mengakibatkan kesalahan “systemctl: command not found”. Yang harus Anda lakukan untuk memperbaiki masalah ini adalah menjalankan perintah berikut, dan selesai:
sudo dpkg-reconfigure systemd
6. Subsistem Windows untuk Linux (WSL) yang ketinggalan jaman
Jika Anda menggunakan Ubuntu di bawah WSL (Subsistem Windows untuk Linux) Anda harus tahu bahwa versi WSL yang lebih lama, seperti WSL 1, tidak mendukung systemctl secara asli, jadi apa pun perbaikan sebelumnya yang Anda gunakan, Anda tidak akan dapat menjalankan systemctl.
Jika Anda ingin memanfaatkan fungsi systemctl, Anda harus meningkatkan ke WSL 2, yang memiliki dukungan lebih baik untuk systemd. Jika Anda tidak yakin apakah Anda menggunakan WSL atau tidak, Anda dapat memeriksanya dengan menggunakan perintah berikut:
uname -a
Jika output menyebutkan WSL, itulah mengapa Anda melihat kesalahan “systemctl: command not found”.
7. Menggunakan Layanan Sudo Sebagai Alternatif untuk systemctl
Jika Anda menghadapi kesalahan “systemctl: command not found” karena sistem Anda tidak menggunakan systemd, Anda dapat menggunakan perintah sudo service untuk mengelola layanan. Perintah ini berfungsi dengan sistem init lama seperti SysVinit atau Pemula. Ini berguna untuk sistem Ubuntu yang mengandalkan skrip init, bukan systemd.
Misalnya, untuk memulai layanan, Anda akan menjalankan:
sudo service <service_name> start
Pikiran Terakhir
systemd dan utilitas baris perintah systemctlnya telah menggantikan sebagian besar sistem init lama lainnya seperti SysVinit dan Pemula. Meskipun systemd mungkin tidak disukai semua orang karena desainnya yang monolitik dan filosofi non-Unix, systemd secara umum masih dianggap sebagai pilihan umum. Jadi, mudah-mudahan, Anda dapat mengatasi kesalahan perintah systemctl tidak tersedia, karena tidak dapat menggunakan utilitas baris perintah systemd sangat membatasi kemampuannya.
Pertanyaan Umum
Apa itu systemctl dan Apa Arti systemctl: Perintah Tidak Ditemukan?
systemctl adalah alat baris perintah yang digunakan untuk mengelola layanan di sistem Linux yang menjalankan systemd, seperti Ubuntu. Kesalahan “systemctl: command not found” terjadi ketika alat tidak tersedia atau dapat diakses, biasanya karena sistem tidak menggunakan systemd atau paket systemd tidak diinstal.
Apakah systemctl tersedia di semua versi Ubuntu?
Tidak, systemctl tidak tersedia di semua versi Ubuntu. systemctl adalah bagian dari sistem init systemd, yang merupakan default di sebagian besar versi Ubuntu modern (mulai 15.04 dan seterusnya). Versi lama atau instalasi minimal tertentu mungkin menggunakan sistem init alternatif seperti SysVinit atau Upstart.