Tidak dapat menjalankan perintah terminal: "perintah 'sudo' tersedia di '/ usr / bin / sudo'"

13

Saya telah menggunakan Ubuntu 12,04 untuk waktu yang cukup lama dan tidak pernah memiliki masalah dengan saya seperti ini. Saya mencoba untuk menginstal python 3.2 pada sistem Ubuntu saya dan setiap kali saya menjalankan kode untuk mengkompilasi sumber python, saya mendapatkan kesalahan ini:

'Command 'sudo' is available in '/usr/bin/sudo'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
sudo: command not found'

Saya juga mencoba menjalankan gksudoperintah untuk melihat apa yang ditunjukkan oleh lingkungan saya, tetapi saya cukup banyak mendapatkan kesalahan yang sama.

pengguna188283
sumber
Saya yakin Anda mungkin akan mendapatkan kesalahan yang sama ketika Anda mencoba menjalankan aplikasi Anda melalui baris perintah. Apa output dari cat /etc/environment?
Alaa Ali
Bisakah Anda memberi tahu kami program apa yang ingin Anda jalankan? Beberapa program mengubah variabel PATH, tetapi tanpa nama kami tidak dapat memastikan.
Braiam

Jawaban:

24

Seperti kesalahan katakan, Anda harus menambahkan /usr/bindirektori ke variabel lingkungan PATH Anda. Untuk melakukan ini, jalankan perintah berikut di terminal:

export PATH=$PATH:/usr/bin

Setelah Anda dapat menggunakan sudo, Anda dapat mengedit /etc/environmentfile untuk membuat perubahan permanen, jadi, jalankan di terminal:

sudo nano /etc/environment

untuk mengedit file. Pastikan jalurnya seperti ini:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Simpan dan tutup file dengan Ctrl+ Xdan tekan Yketika Anda diminta.

Lihat juga: Bagaimana cara menambahkan direktori ke PATH?

Radu Rădeanu
sumber
Ini tidak permanen, kan? Jika dia restart, itu akan hilang lagi.
Alaa Ali
1
Iya. Pengaturan permanen untuk pengguna Anda mungkin dalam ~/.profile, ~/.bashrc, ~/.pam_environmentatau ~/.xsessionrc. Pengaturan untuk semua pengguna mungkin dalam /etc/profile, /etc/profile.d/*, /etc/environment, /etc/bash/bashrc, /etc/lightdm/xsession. Mungkin salah satu file pengguna Anda menimpa pengaturan lebar sistem default. Jika Anda memiliki pengguna lain atau akun tamu diaktifkan, coba dengan pengguna lain dan lihat apakah masalahnya ada untuk pengguna lain itu juga. Jika tidak, periksa file skrip startup pengguna Anda sendiri.
soulsource
1
Itu bekerja dengan sempurna. Terima kasih banyak! Tapi, bisakah Anda menambahkan informasi lebih lanjut tentang bagaimana membuat perubahan ini permanen? Terima kasih sebelumnya.
OscaRoCa
Saya mendapat kesalahan ini: MY_USER_NAME tidak ada dalam file sudoers. Kejadian ini akan dilaporkan. , Saya bukan admin .. apa yang harus saya lakukan ..
Ghanem
6

Saya mendapatkan masalah dan memperbaikinya dengan mengedit file .bashrc saya

  1. Buka file .bashrc Anda menggunakan nano

    $ sudo nano ~/.bashrc
    
  2. Tambahkan baris berikut ke file bashrc

    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:   /usr/local/games"
    
  3. Tekan Ctrl + X untuk menyimpan file

  4. Ini akan meminta untuk mengatur file, tekan y dan Enter

Kamu sudah selesai.

pengguna3721406
sumber
1
Jangan memanipulasi file di direktori home Anda ( ~) menggunakan sudo. Itu bisa menciptakan lebih banyak masalah daripada yang bisa dipecahkan.
Melebius
1

Saat Anda ingin menambahkan nilai baru ke PATHvariabel sistem, Anda kemungkinan besar menambahkan baris ~/.bashrcatau ~/.bash_profilefile baru.

Misalnya, jika Anda ingin menambahkan /opt/netbeans/binuntuk PATH, Anda harus menambahkan baris ini ke akhir ~/.bashrcberkas:

export PATH=$PATH:/opt/netbeans/bin

Mari kita hancurkan garis ini.

  • export PATH- Di sini kita merujuk pada PATHvariabel
  • =- Kami ingin menetapkan nilai baru menggunakan =operator (Sisa string adalah nilai yang akan disimpan dalam PATH)
  • $PATH- Kami menetapkan variabel PATHke nilai yang ada di variabel sebelum perintah saat ini
  • : - Kami menambahkan pemisah untuk nilai baru
  • /opt/netbeans/bin - Dan tambahkan nilai baru ke PATH

Anda harus melihat semua referensi Anda merujuk ke PATHvariabel di dalam ~/.bashrcatau ~/.bash_profilefile dan pastikan Anda memperluas -

export PATH=$PATH:/opt/netbeans/bin

dan tidak menimpa seperti ini -

export PATH=/opt/netbeans/bin

yang PATHvariabel

Anda harus memastikan, dalam setiap referensi yang PATHAnda gunakan $PATH:dan nilai tambahan Anda setelahnya


Jika tidak berhasil, Anda dapat melakukan sesuatu seperti ini:

  • Pastikan, ada sesuatu seperti variabel berikutnya dalam /etc/environmentfile dan tidak pernah didefinisikan ulang dalam file ini:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • Tambahkan jalur yang hilang dari PATHvariabel di atas ke PATHvariabel Anda yang terletak di/etc/environment

Sebelum menguji setelah setiap perubahan dalam file tidak ingat untuk memperbarui konfigurasi Anda.

Misalnya untuk ~/.bashrcfile:

source `~/.bashrc`
fedotsoldier
sumber