Linux RPM , YUM
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 패키지 아키텍쳐
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으로 시작하는 모든 패키지를 다 설치해달라. -*
댓글남기기