728x90

Redhat 계열(가령 CentOS)의 운영체제를 쓰면 패키지 매니저로 yum 을 기본적으로 사용합니다. 사전에 쉘 환경에 Path 가 잘 잡혀 있다면 면 yum 으로 설치한 패키지 실행에 큰 문제가 없지만, 간혹 다른 사람이 운영하던 환경의 서버에서 작업시, 패키지가 실행되지 않아 곤란하던 경험들이 다들 있으실 겁니다. 

이런 경우에는 Full Path 를 같이 사용하여 어플리케이션을 실행해야 합니다. 하지만, 어디에 설치되었는지 잘 모르겠다 싶은 경우에 패키지 설치 경로를 확인할 필요가 있겠죠? 몇 번 비슷한 상황을 겪을때마다 검색해서 찾았던 내용을 간단하게 정리해 봅니다. 


yum 으로 패키지 설치하기

yum 은 Redhat 계열의 운영체제에 기본적으로 탑재되어 있습니다. 설치 방법을 계정 권한에 따라 sudo 를 넣어야 하는가, 그렇지 않은가 정도의 차이만 있고 install [패키지명] 으로 대부분 해결이 됩니다. 

$ yum install mtr

혹은

$ sudo yum install mtr

 

설치된 패키지 확인하기

기존에 설치된 패키지가 있는 경우 install 명령을 이용했을 때, 이미 패키지가 설치되어 있다는 안내를 만나게 됩니다. 주의할 것은 어플리케이션에 따라 버전의 영향을 받는 경우가 종종 있기 때문에 설치된 패키지의 버전을 확인할 필요가 있습니다. 설치된 패키지를 확인하는 명령은 아래와 같습니다. 

// 설치된 모든 패키지를 확인
$ yum list | less
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * epel: d2lzkl7pfhq30w.cloudfront.net
Installed Packages
ConsoleKit.x86_64                         0.4.1-6.el6           @anaconda-CentOS-201703281317.x86_64/6.9
ConsoleKit-libs.x86_64                    0.4.1-6.el6           @anaconda-CentOS-201703281317.x86_64/6.9
ConsoleKit-x11.x86_64                     0.4.1-6.el6           @base
...

// 설치된 특정한 패키지를 확인
$ yum list | grep mtr
mtr.x86_64                                2:0.75-5.el6          @anaconda-CentOS-201703281317.x86_64/6.9
mtr-gtk.x86_64                            2:0.75-5.el6          base

 

패키지 설치 경로 확인하기

그런데 문제가 있습니다. 패키지가 설치된 것을 확인헀고 버전까지 알아볼 수 있었지만 실제 어느 경로에 설치되어 있는지는 yum 으로는 알기가 어렵습니다. 이때 사용하는 것이 또 다른 패키지 관련 명령인 rpm 입니다. rpm 은 -q 로 시작하는 명령을 통해 다양한 조회 기능을 제공합니다. 눈치 채셨을 것 같습니다만 -q 는 query 의 앞 글자입니다. 

// 설치한 패키지가 실행이 안된다...
$ mtr
-bash: mtr: command not found

// 설치된 모든 패키지를 조회
$ rpm -qa | less
ftp-0.17-54.el6.x86_64
fipscheck-1.2.0-7.el6.x86_64
strigi-libs-0.7.0-2.el6.x86_64
libgcc-4.4.7-23.el6.i686
...

// 특정 패키지로 한정하여 조회
$ rpm -qa | grep mtr
mtr-0.75-5.el6.x86_64

// 특정 문자열을 가진 패키지의 설치 경로를 조회
$ rpm -ql mtr
/usr/sbin/mtr
/usr/share/doc/mtr-0.75
...

// Full Path 로 실행!
$ sudo /usr/sbin/mtr -v
mtr 0.75

결과를 보니 mtr 이 /usr/sbin 경로에 위치한 것을 확인할 수 있었습니다. 보통 /usr/sbin 은 PATH 에 잡혀 있을 가능성이 높습니다만, 환경에 따라 다를 수 있는 부분입니다. 패키지를 설치했는데 실행되지 않는다면, 경로를 조회해서 실행하시기 바랍니다! 자주 써야 한다면 .bash_rc 나 .bash_profile 등에 PATH 환경 변수에 추가해 주면 되겠습니다!

#bash #터미널 #redhat #centos #yum #패키지관리자 #rpm #패키지설치경로 #설치경로조회 

728x90
728x90

가끔 사용중인 리눅스 배포판의 버전과 커널의 버전 확인이 필요할때가 있습니다. 워낙에 배포판도 많고 커널의 버전도 다양하기 때문에 환경에 적합하게 구성된 패키지를 설치하지 않는 경우 이슈가 생길수도 있기 때문이지요. yum 이나 apt-get 으로 설치하는 경우에는 별 문제가 없겠지만 별도로 어플리케이션을 다운로드 받거나 빌드할 필요가 있을때는 버전을 잘~ 맞추어줄 필요가 있습니다.


Cent OS 를 이용하는 경우 아래와 같은 명령을 이용해서 운영체제의 버전과 커널의 버전을 확인할 수 있습니다. redhat 과 같은 다른 배포판 역시 비슷한 네이밍 컨벤션을 사용하고 있기 때문에 해당 폴더에서 어렵지 않게 관련된 파일을 확인할 수 있으니 참고하시기 바랍니다. 자꾸 까먹게 되어 블로그에 기록해 둡니다. 누군가에겐 또 도움이 되리라 믿으며..!!



#cat etc/centos-release

#uname -r 



728x90
728x90
 

엊그제 마이크로소프트가 윈도우 7 RTM 출시와 함께 윈도우 서버 2008 R2 RTM 을 같이 출시했습니다. R2 RTM 에서 서버 가상화 도구인 Hyper-V 에 많은 변화가 있어서 가상화 벤더들이 긴장하고 있는데요, 이 즈음해서 작년에 무료 버전을 공개한 XenServer 의 5번째 버전을 한번 되돌아 보는 시간을 갖도록 하겠습니다.

- NoPD -
728x90

+ Recent posts