Hata, komut satırından çağırmaya çalıştığınız ikili, geçerli kullanıcının PATH değişkeninin yalnızca bir parçası olması, ancak kök kullanıcının PATH'sinin bir parçası olmaması nedeniyle oluşur.
Erişmeye çalıştığınız çiftin yolunu bularak bunu doğrulayabilirsiniz. Benim durumumda "bettercap-ng" demeye çalışıyordum. Bu yüzden koştum
$ which bettercap-ng
output: /home/user/work/bin/bettercap
Bu konumun kök kullanıcının PATH'sinin bir parçası olup olmadığını kontrol ettim.
$ sudo env | grep ^PATH
çıktı: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Yani sudo komut satırından aramaya çalıştığım ikili dosyayı bulamıyor. Bu nedenle bulunmayan hata komutunu döndürür.
Aşağıdaki gibi bir ikili çağırırken geçerli kullanıcının PATH'sini kullanmak için sudo'yu yönlendirebilirsiniz.
$ sudo -E env "PATH=$PATH" [command] [arguments]
Aslında, bunun bir takma adı olabilir:
$ alias mysudo='sudo -E env "PATH=$PATH"'
Orijinal takma adı yerine takma adı sudo olarak da adlandırmak mümkündür.
Lütfen adım adım çözüm için bu videoya bakın