RPM/YUM

2022. 10. 20. 16:57리눅스

RPM(Redhat package management)

 - Redhat 사에서 제공하는 리눅스용 프로그램을 배포하는 기술
 - 프로그램의 설치, 검증, 삭제 등의 다양한 기능을 제공

 

RPM에 대한 정보

 - www.rpm.org
 - https://tldp.org/HOWTO/RPM‐HOWTO/index.html

 

RPM 패키지의 구조

 - 패키지명‐버전‐릴리즈.아키텍처.rpm

 

질의

 - # rpm  ‐qa : 시스템에 설치된 모든 패키지명
 - # rpm  ‐qi 패키지명 : 패키지의 상세한 정보
 - # rpm  ‐ql 패키지명 : 패키지의 파일 리스트
 - # rpm  ‐qf 파일명 : 지정한 파일이 포함된 패키지

 

설치 및 업그레이드

 - # rpm [‐ivh | ‐Uvh | ‐Fvh] 패키지명

 

옵션
‐i : 설치
‐U : 업그레이드 (이전버젼 미설치시 ‐i와 동일)
‐F : 업그레이드만
‐v : 설치과정 출력
‐h : 설치정도 출력 (#)

 

삭제

 - # rpm  ‐e 패키지명
 - 지정한 패키지를 삭제한다.

 

옵션
‐‐nodeps : 의존성을 무시하고 작업한다.
(삭제에 주로 이용)
‐‐force : 같은 버전의 패키지나 파일이 있어도 무시하고
작업진행
‐‐oldpackage : 다운그레이드시 사용

 

 - 의존성 문제가 심각하다.

 

YUM

yum list

 - 패키지를 확인한다.
 

# yum list [installed | updates | available | 패키지명]
 - 설치 가능한 모든 패키지 목록을 보여준다.
 - installed : 설치된 패키지 목록을 보여준다
 - updates : 업데이트된(가능한) 패키지 목록을 보여준다.
 - available : 설치 가능한 패키지 목록을 보여준다.
 - 패키지명 : 패키지의 설치 여부와 update 정보를 보여준다.

 

[root@Linux1 ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.anigil.com
 * extras: mirror.anigil.com
 * updates: mirror.anigil.com
repo id                             repo name                             status
!base/7/x86_64                      CentOS-7 - Base                       10,072
!extras/7/x86_64                    CentOS-7 - Extras                        515
!updates/7/x86_64                   CentOS-7 - Updates                     4,300
repolist: 14,887

 

설치

# yum install [‐y] 패키지명
 - 패키지를 repository로 부터 설치한다.

업데이트
# yum update [‐y] 패키지명
 - 패키지를 repository로 부터 업데이트한다.

 

[root@Linux1 ~]# yum provides */httpd.conf
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.anigil.com
 * extras: mirror.anigil.com
 * updates: mirror.anigil.com
base/7/x86_64/filelists_db                               | 7.2 MB     00:00
extras/7/x86_64/filelists_db                             | 276 kB     00:00
httpd-2.4.6-95.el7.centos.x86_64 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /etc/httpd/conf/httpd.conf
Filename    : /usr/lib/tmpfiles.d/httpd.conf

httpd-2.4.6-97.el7.centos.x86_64 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf
Filename    : /usr/lib/tmpfiles.d/httpd.conf

httpd-2.4.6-97.el7.centos.1.x86_64 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf
Filename    : /usr/lib/tmpfiles.d/httpd.conf

httpd-2.4.6-97.el7.centos.2.x86_64 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf
Filename    : /usr/lib/tmpfiles.d/httpd.conf

httpd-2.4.6-97.el7.centos.4.x86_64 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf
Filename    : /usr/lib/tmpfiles.d/httpd.conf

httpd-2.4.6-97.el7.centos.5.x86_64 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf
Filename    : /usr/lib/tmpfiles.d/httpd.conf

[root@Linux1 ~]# yum install -y vsftpd
Complete!

 

삭제

# yum remove [패키지명]
 - 지정한 패키지를 삭제한다.

 

초기화

# yum clean headers
# yum clean packages
# yum clean metadata

 

Group package 확인과 설치

# yum group [list | install "그룹" | remove "그룹" | info "그룹"]
 - list : 그룹 목록을 출력한다.
 - install "그룹" : 그룹을 설치한다.
 - remove "그룹" : 그룹을 제거한다.
 - info "그룹" : 그룹의 정보를 검색한다.
 - 그룹은 Environment 그룹과 패키지 그룹으로 나뉘며 CentOS7부터 지원되는 Environment 그룹은 

   패키지 그룹에 비해 OS 구성의 기본이 되는 대단위 그룹을 의미한다.

 

[root@Linux1 ~]# yum group list
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirror.anigil.com
 * extras: mirror.anigil.com
 * updates: mirror.anigil.com
Available Environment Groups:
   최소 설치
   계산 노드
   인프라 서버
   파일 및 프린트 서버
   기본 웹 서버
   가상화 호스트
   서버 - GUI 사용
   GNOME 데스크탑
   KDE Plasma Workspaces
   개발 및 창조를 위한 워크스테이션
Available Groups:
   개발용 툴
   과학기술 지원
   그래픽기반 관리 툴
   레거시 UNIX 호환성
   보안 툴
   스마트카드 지원
   시스템 관리
   시스템 관리 도구
   콘솔 인터넷 툴
   호환성 라이브러리
Done

'리눅스' 카테고리의 다른 글

DNS서버  (1) 2022.10.24
CRON/RSYNC  (0) 2022.10.21
PING, NETSTAT, ARP, HOST, LOOKUP, DIG, IP ALIASES  (0) 2022.10.20
네트워크  (0) 2022.10.20
파일시스템 및 파티션  (0) 2022.10.20