Terminal komutları yürütülemiyor: “'sudo' komutu '/ usr / bin / sudo' da mevcut”


13

Ubuntu 12.04'ü uzun süredir kullanıyorum ve bana böyle bir sorun çıkmadı. Ubuntu sistemime python 3.2 yüklemeye çalışıyorum ve python kaynağını derlemek için kodu her çalıştırdığımda, bu hatayı alıyorum:

'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'

Ayrıca gksudoortamımın ne gösterdiğini görmek için komut çalıştırmayı denedim ama hemen hemen aynı hatayı alıyorum.


Bahse girerim, uygulamalarınızı komut satırı üzerinden çalıştırmaya çalıştığınızda muhtemelen aynı hatayı alırsınız. Çıktısı nedir cat /etc/environment?
Alaa Ali

Hangi programı yürütmeye çalıştığınızı söyleyebilir misiniz? Bazı programlar PATH değişkenini değiştirir, ancak ad olmadan emin olamadık.
Ağustos'ta Braiam

Yanıtlar:


24

Hata dediği gibi, /usr/binPATH ortam değişkeninize dizin eklemelisiniz . Bunu yapmak için terminalde aşağıdaki komutu çalıştırın:

export PATH=$PATH:/usr/bin

Kullandıktan sonra , değişikliği kalıcı hale getirmek için dosyayı sudodüzenleyebilirsiniz /etc/environment, bu nedenle terminalde çalıştırın:

sudo nano /etc/environment

dosyayı düzenlemek için. Yolun böyle bir şey olduğundan emin olun:

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

Dosyayı Ctrl+ ile kaydedin ve kapatın ve istendiğinde Xdüğmesine basın Y.

Ayrıca bkz: PATH'e nasıl dizin eklenir?


Bu kalıcı değil, değil mi? Yeniden başlarsa, tekrar gider.
Alaa Ali

1
Evet. Sizin kullanıcı için kalıcı ayarlar muhtemelen vardır ~/.profile, ~/.bashrc, ~/.pam_environmentveya ~/.xsessionrc. Tüm kullanıcılar için Ayarlar muhtemelen /etc/profile, /etc/profile.d/*, /etc/environment, /etc/bash/bashrc, /etc/lightdm/xsession. Muhtemelen kullanıcı dosyalarınızdan biri sistem genelindeki varsayılan ayarları geçersiz kılar. Etkinleştirilmiş başka bir kullanıcı veya misafir hesabı varsa, diğer kullanıcıyla deneyin ve sorunun diğer kullanıcı için de mevcut olup olmadığına bakın. Değilse, kendi kullanıcı başlangıç ​​komut dosyası dosyalarınızı kontrol edin.
soulsource

1
Mükemmel çalıştı. Çok teşekkür ederim! Ancak, bu değişikliğin nasıl kalıcı yapılacağı hakkında daha fazla bilgi ekleyebilir misiniz ??? Şimdiden teşekkürler.
OscaRoCa

Bu hatayı aldım: MY_USER_NAME sudoers dosyasında değil. Bu olay rapor edilecektir. , Ben yönetici değilim .. ne yapmalıyım ..
Ghanem

6

Sorunu aldım ve .bashrc dosyamı düzenleyerek düzelttim

  1. Nano kullanarak .bashrc dosyanızı açın

    $ sudo nano ~/.bashrc
    
  2. Aşağıdaki satırı bashrc dosyasına ekleyin

    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:   /usr/local/games"
    
  3. Dosyayı kaydetmek için Ctrl + X tuşlarına basın

  4. Dosyayı değiştirmek isteyecek, y ve Enter'a basacak.

Sen bittin.


1
Ana dizininizdeki ( ~) dosyaları kullanarak değiştirmeyin sudo. Çözebileceğinden daha fazla sorun yaratabilir.
Melebius

1

PATHSistem değişkenine yeni bir değer eklemek istediğinizde , büyük olasılıkla ~/.bashrcveya ~/.bash_profiledosyalara yeni bir satır eklersiniz .

Eklemek istediğiniz Örneğin, /opt/netbeans/biniçin PATH, size sonuna bu satırı eklemelisiniz ~/.bashrcdosyanın:

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

Bu çizgiyi parçalayalım.

  • export PATH- Burada PATHdeğişkene atıfta bulunuyoruz
  • =- İşleç kullanarak yeni bir değer atamak istiyoruz =(Dizenin geri kalanı, içinde depolanacak değerdir PATH)
  • $PATH- Değişkeni, geçerli komuttan önceki değişkeninPATH içindeki değere atarız
  • : - Yeni değer için bir ayırıcı ekliyoruz
  • /opt/netbeans/bin - Ve yeni bir değer PATH

Veya dosyalarındaki PATHdeğişkenle ilgili tüm referanslarınızı görmeli ve genişlettiğinizden emin olmalısınız -~/.bashrc~/.bash_profile

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

ve bunun üzerine yazmamak -

export PATH=/opt/netbeans/bin

PATHdeğişken

Her atıfla, emin olmalısınız PATHkullandığınız $PATH:ondan sonra ve ek değer


Eğer işe yaramazsa, böyle bir şey yapabilirsiniz:

  • /etc/environmentDosyadaki bir sonraki değişken gibi bir şey olduğundan ve bu dosyada asla yeniden tanımlanmadığından emin olun :
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • Yukarıdaki PATHdeğişkenin eksik yollarını PATH,/etc/environment

Dosyalardaki her değişiklikten sonra test etmeden önce yapılandırmalarınızı güncellemeyi unutmayın.

Örneğin ~/.bashrcdosya için:

source `~/.bashrc`
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.