Kesalahan terjadi karena biner yang Anda coba panggil dari baris perintah hanya bagian dari variabel PATH pengguna saat ini, tetapi bukan bagian dari PATH pengguna root.
Anda dapat memverifikasi ini dengan menemukan path biner yang Anda coba akses. Dalam kasus saya, saya mencoba memanggil "bettercap-ng". Jadi saya berlari,
$ which bettercap-ng
output: /home/user/work/bin/bettercap
Saya memeriksa apakah lokasi ini adalah bagian dari PATH pengguna root saya.
$ sudo env | grep ^PATH
keluaran: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Jadi sudo tidak dapat menemukan biner yang saya coba panggil dari commandline. Oleh karena itu mengembalikan perintah kesalahan yang tidak ditemukan.
Anda dapat mengarahkan sudo untuk menggunakan PATH pengguna saat ini saat memanggil biner seperti di bawah ini.
$ sudo -E env "PATH=$PATH" [command] [arguments]
Bahkan, seseorang dapat membuat alias dari situ:
$ alias mysudo='sudo -E env "PATH=$PATH"'
Dimungkinkan juga untuk menamai alias itu sendiri sudo, menggantikan sudo aslinya.
Silakan lihat video ini untuk solusi langkah demi langkah