IT/Error

[Linux] bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

Erynn 2022. 12. 8.
Naver Cloud Platform
OS : CentOS 7.8

 

에러발생

yum을 사용해서 패키지를 다운로드 받으려고 하니 에러메시지가 뜨며 설치가 되지 않았다.

에러메시지는 총 두개였는데 한번에 해결되었다.

-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: Permission denied
-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

에러원인

해당 에러는 yum 의 python 경로가 제대로 지정이 안되어 있어서 생기는 오류이다.


해결방안

1.  파일 경로 찾기

 

whereis 명령어로 위치를 찾아준다.

[root@test bin]# whereis python
python: /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/local/bin/python3.7m /usr/local/bin/python3.7 /usr/local/bin/python3.7m-config /usr/local/lib/python3.7 /usr/include/python2.7 /usr/share/man/man1/python.1.gz

[root@test bin]# whereis yum
yum: /usr/bin/yum /etc/yum /etc/yum.conf /usr/share/man/man8/yum.8

 

2. yum 설정파일 확인

 

설정파일 첫줄에 보면 python 경로가 /usr/bin 으로 되어있음을 볼 수 있다.

[root@test bin]# vim /usr/bin/yum

#!/usr/bin/python

/usr/bin에 python이 있는지 확인해보니, 

[root@test bin]# ll | grep python
-rwxr-xr-x    1 root root      11240 Apr  3  2020 abrt-action-analyze-python
-rwxr-xr-x.   1 root root       7144 Apr  2  2020 python2.7

해당 파일이 없어서 실행오류가 된 것이다.

 

3. 심볼릭 링크 설정

 

yum파일 내에서 python 경로 설정을 다시해주어도 좋지만,

간단하게 심볼릭 링크를 설정하여 위에서 확인한 python 경로(/usr/bin/python)를 맞추어줌으로서 해결해주었다.

[root@test bin]# ln -s python2.7 python
[root@test bin]# ll | grep python
-rwxr-xr-x    1 root root      11240 Apr  3  2020 abrt-action-analyze-python
lrwxrwxrwx    1 root root          9 Dec  8 13:33 python -> python2.7
-rwxr-xr-x.   1 root root       7144 Apr  2  2020 python2.7
💡 심볼릭링크 생성
ln -s 원본파일 링크파일