본문 바로가기

[☩ OS Tip ☩]

yum를 활용한 리눅스 업데이트


● 최신 업데이트 목록의 확인

# yum check-update

iwl4965-firmware.noarch                  228.57.2.21-1.1        updates-newkey
nss_compat_ossl.i386                     0.9.3-1.fc8            updates-newkey
selinux-policy.noarch                    3.0.8-115.fc8          updates-newkey
selinux-policy-targeted.noarch           3.0.8-115.fc8          updates-newkey
tomcat5-jsp-2.0-api.i386                 5.5.27-0jpp.2.fc8      updates-newkey
tomcat5-servlet-2.4-api.i386             5.5.27-0jpp.2.fc8      updates-newkey

"check-update" 커맨드를 이용하면 현재 시스템에 설치되어 있는 패키지들 중에서 업데이트 가능한 목록들을 쭈욱 보여줍니다. 보니 selinux와 tomcat도 업데이트가 되었네요. 자 그럼 위 패키지들을 실제로 설치를 해보겠습니다. 설치할때에는 하나씩 패키지를 지정해서 설치할 수도 있고 한꺼번에 모든 업데이트를 설치할 수도 있습니다.

● 패키지의 업데이트
업데이트된 패키지 중 일부만 지정해서 설치하는 경우
# yum [-y] update [패키지명1] [패키지명2] ....

업데이트 된 패키지들을 모두 설치 하는 경우
# yum [-y] update

이때 중간에 계속 진행할 것인지 물어보는 프롬프트가 뜨는데 프롬프트를 없애려면 "-y" 를 옵션을 하면 모든 프롬프트에 자동으로 "yes"를 입력해 줍니다.

● 패키지의 검색 및 인스톨
현재 시스템에 설치되어 있지 않은 패키지를 인스톨 하기 위해 먼저 아래와 같이 패키지를 검색합니다.
아래 명령은 검색어가 포함되어 있는 모든 패키지를 보여줍니다.

# yum search mc

그런데 search 커맨드는 검색어가 포함되어 있는 패키지는 모두 보여주기 때문에 위 명령어처럼 mc(midnight commander)를 검색하면 tomcat 도 같이 출력됩니다. 그러므로 가능하다면 패키지명을 확인한 뒤 list 명령어를 사용하는 편이 깔끔합니다.

# yum list mc
Available Packages
mc.i386                                  1:4.6.1a-50.20070604cv updates-newkey

Available 패키지로 표시되네요. 인스톨 하기전에 조금 더 자세한 정보를 보고 싶으시면 info 커맨드를 사용합니다.

# yum info mc.i386

text console file manager and visual shell이라고 설명이 나오네요. 윈도우즈에서 사용하는 Total Commander와 같다고 보시면 됩니다. ^^ 꽤 편리하니 강추입니다. 자 그럼 이제 패키지를 인스톨 하기 전에 혹시라도 이미 시스템에 설치되어 있는지 확인해 보겠습니다.

# yum list installed mc
Error: No matching Packages to list

없네요! 그럼 이 편리한 툴을 설치하겠습니다.

# yum [-y] install mc.i386

.... 끝입니다. ;ㅁ; 간단하죠 ? 사실은 설치할때에도 여러가지 옵션을 이용하여 설치 디렉토리를 변경 하거나 하는것도 가능하지만 나중에 유지보수를 생각한다면 디폴트로 설치하는게 가장 편합니다.
그럼 이제부터 확인작업입니다.

# yum list installed mc
Installed Packages
mc.i386                                  1:4.6.1a-50.20070604cv installed
# yum list mc
Installed Packages
mc.i386                                  1:4.6.1a-50.20070604cv installed

● 패키지의 삭제
패키지를 설치했다면 삭제할 일도 있겠죠. 삭제 할때에는 의존성 때문에 주의가 필요합니다. "--force" 옵션을 이용하면 의존성 무시하고 강제로 삭제할 수도 있지만 언제 어디서 에러가 발생할지 모릅니다. 하도 이리저리 엮여 있어서요.. 그러니 의존성 에러가 발생한다면 왠~만하면 그냥 놔두시라고 권해드립니다.

# yum remove [패키지명]


● 파일의 해당 패키지 확인
가끔가다 보면 이 파일이 도대체 어느 패키지에 속해있는 것인지 확인해야 할 때가 있습니다. 그럴때 provides 커맨드를 사용하실 수 있습니다.

# yum provides libdb-4.6.so
db4-4.6.21-2.fc8.i386 : The Berkeley DB database library (version 4) for C
Matched from:
Other       : libdb-4.6.so

db4-4.6.21-1.fc8.i386 : The Berkeley DB database library (version 4) for C
Matched from:
Other       : libdb-4.6.so

db4-4.6.21-2.fc8.i386 : The Berkeley DB database library (version 4) for C
Matched from:
Other       : Provides-match: libdb-4.6.so

위 명령어를 입력하면 "libdb-4.6.so" 파일이 어느 패키지에 해당되는지 알려줍니다. 저 파일은 "db4-4.6.21-2.fc.i386" 패키지에 포함되어 있는 파일이군요! 그럼 info 커맨드로 더 자세한 정보를 알아보는 것도 가능하리라 생각됩니다. 또한 *도 사용할 수 있네요.

# yum provides /usr/sbin/vg*

와 같이 이용하는 것도 가능합니다.


 

원문 : http://cafe.daum.net/jjh-paw