2 분 소요

LInux - RPM

  • Redhat 사에서 Windows의 setup.exe와 같이 프로그램 설치 후 바로 실행할 수 있는 설치 파일을 제작했다.
  • 설치 파일의 확장명은 *.rpm이며 이를 패키지(Package) 라고한다.
  • 예전 리눅스의 프로그램 설치보다는 획기적으로 편리해졌지만, rpm 명령어 역시 단점이 있다.
  • 가장 큰 문제점은 의존성 이다.
  • 간단한 예로 CentOS의 기본 웹 브라우저인 Firefox는 당연히 X윈도상 에서 가동된다. 그런데, X 윈도가 설치되지 않은 상태에서 Firefox를 설치한다면? Firefox는 X 윈도에 의존성이 있으므로 설치가 되지 않을 것이다.
  • 이러한 의존성 문제를 해결하기 위해 CentOS에서는 dnf라는 명령을 제공한다.

RPM 명령어 옵션

# 설치

rpm -i(U)vh 패키지이름.rpm

i : 설치
U : 업그레이드
v : 설치 과정 확인
h : 설치 진행 과정을 # (hash) 로 화면에 출력
# 삭제

rpm -e 패키지이름

e : erase (지움) 의 약자
# 확인

rpm -qa 패키지이름

-qa : 시스템에 설치되어 있는 전체 패키지 목록 조회.
-qf : 이미 설치된 파일이 어느 패키지에 포함된 것인지 확인.
-ql : 특정 패키지에 어떤 파일들이 포함되었는지 확인.
-qi : 설치된 패키지의 상세 정보.

rpm -qa | grep 패키지이름 => 시스템에 설치되어 있는 전체 패키지 목록 조회

grep : 패턴검색
옵션 설명
–test 작업을 테스트만하고, 실제 설치/삭제 하지는 않는다.
–force 작업을 강제로 한다. 무시할 수 있는 에러는 무시하고, 설치 시 같은 패키지는 덮어씌운다.

RPM 명령시 주의해야 점

  • 의존성(Failed dependencies) 오류를 무시하지 말자.
  • 의존성 오류를 제기한 패키지들부터 작업을 한다.
  • 가급적 의존성 오류무시 (–nodeps)를 가급적 사용하지 말자. (상호 의존의 경우는 제외)
  • lib 으로 시작하고 중간에 so 가 들어간 것들은 패키지가 아니므로 무시한다.
  • 디렉토리 구조로 표시되는 것도 일단은 무시한다.
  • 패키지는 대표 패키지부터 작업을 한다.
  • 나머지는 화면에 보이는 순서대로 작업을 한다.
  • 되도록 버전을 일치시킨다.

RPM 패키지 아키텍쳐

image


yum : yellowdog updater, modified

  • RedHat Linux에서는 제공하지 않다가 Fedora Core Project로 넘어오면서 RedHat, RedHat 계열의 리눅스에 포팅되었다.
  • 단, 네트워크 연결이 되어 있어야만 사용가능하다.
  • 지정된 서버주소로부터 업데이트된 패키지들을 검사하여 다운로드하고 설치까지 해 주는 텍스트 기반의 업데이트 프로그램이다.
  • 또한 의존성 문제도 같이 검사하여 관련 패키지들을 자동으로 설치해주기 때문에 이전에 다소 불편하던 RPM 기반의 프로그램 설치 및 업데이트를 대폭 개선한 패키지 관리자이다.
  • 단, 패키지명을 알고 있어야 사용가능하다.
yum -y update [packagename]  => 업데이트 가능한 최신 패키지 조회 후 업데이트, 리눅스 설치.
yum -y install [packagename] => 업데이트 가능한 최신 패키지 조회 후 업데이트, 리눅스 설치.
yum -y update        => 업데이트 가능한 최신 패키지 조회 후 업데이트, 리눅스 설치.
yum list             => 업데이트 가능한 패키지 확인.
vi /etc/yum.conf     => 설정 파일의 위치로 업데이트 서버의 URL과 세부적인 사항이 기록.
Yum -y remove yum    => vim패키지를 삭제하는 명령어.
ps -ef |grep yum     => yum의프로세스를 간추려서 보여달라.
yum -y install vim-* => vim으로 시작하는 모든 패키지를 다 설치해달라. -*

태그:

카테고리:

업데이트:

댓글남기기