터미널 명령을 실행할 수 없습니다 :“ 'sudo'명령은 '/ usr / bin / sudo'에서 사용 가능합니다. '


13

나는 우분투 12.04를 꽤 오랫동안 사용 해 왔으며 이런 식으로 나에게 문제가 없었습니다. 우분투 시스템에 파이썬 3.2를 설치하려고하는데 파이썬 소스를 컴파일하기 위해 코드를 실행할 때 마다이 오류가 발생합니다.

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

또한 gksudo환경이 보여주는 것을보기 위해 명령을 실행하려고 시도 했지만 거의 같은 오류가 발생합니다.


커맨드 라인을 통해 응용 프로그램을 실행하려고 할 때 아마도 동일한 오류가 발생합니다. 출력은 cat /etc/environment무엇입니까?
Alaa Ali

어떤 프로그램을 실행하려고하는지 말씀해 주시겠습니까? 일부 프로그램은 PATH 변수를 변경하지만 이름이 없으면 확신 할 수 없습니다.
Braiam

답변:


24

오류에서 알 수 있듯이 /usr/binPATH 환경 변수에 디렉토리를 추가해야 합니다. 이렇게하려면 터미널에서 다음 명령을 실행하십시오.

export PATH=$PATH:/usr/bin

을 사용한 후 파일을 sudo편집 /etc/environment하여 변경 사항을 영구적으로 만들 수 있으므로 터미널에서 실행하십시오.

sudo nano /etc/environment

파일을 편집합니다. 경로가 다음과 같은지 확인하십시오.

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

Ctrl+를 사용 하여 파일을 저장하고 닫은 XY메시지가 표시되면을 누릅니다 .

참조 : PATH에 디렉토리를 추가하는 방법?


그래도 영구적이지 않습니까? 다시 시작하면 다시 사라집니다.
Alaa Ali

1
예. 사용자에 대한 영구적 인 설정에서 아마 ~/.profile, ~/.bashrc, ~/.pam_environment또는 ~/.xsessionrc. 모든 사용자의 설정에 아마 /etc/profile, /etc/profile.d/*, /etc/environment, /etc/bash/bashrc, /etc/lightdm/xsession. 사용자 파일 중 하나가 기본 시스템 전체 설정보다 우선합니다. 다른 사용자 나 게스트 계정을 사용하도록 설정 한 경우 다른 사용자와 함께 시도하여 해당 다른 사용자에게도 문제가 있는지 확인하십시오. 그렇지 않은 경우 자신의 사용자 시작 스크립트 파일을 확인하십시오.
soulsource

1
완벽하게 작동했습니다. 대단히 감사합니다! 그러나이 변경을 영구히 수행하는 방법에 대한 자세한 정보를 추가 할 수 있습니까 ??? 미리 감사드립니다.
OscaRoCa

이 오류가 발생했습니다. MY_USER_NAME이 sudoers 파일에 없습니다. 이 사건은보고 될 것입니다. , 나는 관리자가 아닙니다 .. 내가해야 할 일 ..
Ghanem

6

.bashrc 파일을 편집하여 문제를 해결했습니다.

  1. nano를 사용하여 .bashrc 파일을여십시오

    $ sudo nano ~/.bashrc
    
  2. bashrc 파일에 다음 줄을 추가하십시오

    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:   /usr/local/games"
    
  3. Ctrl + X를 눌러 파일을 저장하십시오.

  4. 파일을 chnage하라는 메시지가 표시되고 y를 누르고 Enter를 누르십시오.

끝났습니다.


1
~사용하여 홈 디렉토리 ( )의 파일을 조작하지 마십시오 sudo. 해결하는 것보다 더 많은 문제를 일으킬 수 있습니다.
Melebius

1

PATH시스템 변수에 새 값을 추가하려는 경우 ~/.bashrc또는 ~/.bash_profile파일에 새 줄을 추가 할 가능성이 높습니다 .

예를 들어에 추가 /opt/netbeans/bin하려면 PATH이 줄을 ~/.bashrc파일 끝에 추가해야 합니다.

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

이 줄을 나누자.

  • export PATH-여기서 우리는 PATH변수를 참조 합니다
  • =- 연산자를 사용하여 새로운 값 을 할당하려고합니다 =(나머지 문자열은에 저장 될 값입니다 PATH)
  • $PATH- 현재 명령 이전의 변수 PATH에 있던 값에 변수 를 할당합니다
  • : -새로운 가치에 대한 구분 기호를 추가합니다
  • /opt/netbeans/bin -그리고 새로운 가치를 PATH

당신은 당신의 모두를 의미보아야 PATH에서 변수 ~/.bashrc또는 ~/.bash_profile파일과 당신이 확장 있는지 확인 -

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

그리고 하지 이런 식으로 덮어 -

export PATH=/opt/netbeans/bin

PATH변수

PATH사용 하는 모든 참조 $PATH:및 그 이후의 추가 가치를 확인해야합니다.


작동하지 않으면 다음과 같이 할 수 있습니다.

  • /etc/environment파일에 다음 변수와 같은 것이 있으며이 파일에서 다시 정의되지 않는지 확인하십시오 .
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • 위에서 누락 된 경로를 추가 PATH하여에 변수 PATH에있는 변수/etc/environment

파일을 변경할 때마다 테스트하기 전에 구성을 업데이트해야합니다.

예를 들어 ~/.bashrc파일의 경우 :

source `~/.bashrc`
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.