본문 바로가기
메가IT아카데미 국기과정/리눅스와 시스템보안

[1-13] 패키지 관리

by 한님폐하 2022. 9. 11.

1. RPM 패키지

  • RPM(Redhat Package Manager)는 레드헷에서 제공하는 패키지이며 CentOS에서 사용한다.
  • 'bind-utils' 패키지에서 'nslookup', 'dig', 'host'를 제공한다.
rpm -qa 
rpm -qa | wc -l
rpm -ql openssh | egrep -v "/doc|/man"
rpm -qi openssh
rpm -qf /usr/libexec/openssh

 

  • X 윈도우로 root 계정 로그인을 실시하면 자동으로 'CentOS-Stream-8' DVD가 마운트된다.
  • '/run/media/root/CentOS-Stream-8-x86_64-dvd/AppStream/Packages' 디렉토리에 RPM 패키지가 제공된다.
cd /run/media/root/CentOS-Stream-8-x86_64-dvd/AppStream/Packages && ls -l

 

1-1. RPM 패키지 명령어

rpm -ivh package-filename.rpm			# 이전 버전의 패키지를 삭제하지 않고 새 버전 설치
rpm -Fvh package-filename.rpm			# 이전 버전의 패키지가 있을 경우만 패키지를 업데이트
rpm -Uvh package-filename.rpm			# 패키지가 없으면 설치, 있으면 업그레이드
rpm -ivh --nodeps package-filename.rpm		# 의존성 체크 안함, 의존성 문제를 무시하고 설치
rpm -Uvh --force package-filename.rpm		# 패키지 충돌이 발생해도 강제적으로 설치
rpm -e package-filename				# 패키지 삭제 [참고] 패키지를 삭제할 경우, 환경 설정 관련 파일 및 사용자 정의 파일은 백업본을 자동으로 생성해준다.
rpm -e --nodeps package-filename		# 패키지 삭제, 의존성 문제를 무시하고 패키지 삭제
rpm -i --replacepkgs vsftpd-3.0.3-35.el8.x86_64.rpm 	# 패키지에 제공하는 특정 파일만 재설치

 

2. YUM 패키지

  • 인터넷을 통해서 RPM 파일이 저장된 저장소(Repository)로부터 패키지를 의존성 체크, 다운로드, 설치, 다운로드 파일 삭제까지 제공하는 서비스이다.
  • yum을 이용하여 패키지를 다운로드하고 설치가 완료되면, 다운로드된 패키지 파일을 자동으로 삭제된다.
yum repolist
cat /etc/yum.repos.d/CentOS-Stream-AppStream.repo
cat /var/cache/dnf/appstream-773ef6463612e8e2/mirrorlist	# mirrorlist 확인

 

2-1. YUM 명령어

yum list vsftpd
yum info vsftpd
yum -y install vsftpd
yum erase -y vsftpd
yum reinstall vsftpd				# rpm에서 '--replacepkgs' 옵션과 동일
yum check-update 				# 업데이트 가능한 패키지 확인
yum update					# 모든 패키지 업데이트(오래 걸림!!!)
yum download php				# 설치 없이 해당 패키지 파일만 다운로드하는 경우
yum -y install php --downloadonly		# 설치 없이 패키지 및 의존성 패키지까지 다운로드하는 경우
yum -y install php --downloadonly --downloaddir=/root/yumdownload	# 설치 없이 패키지 및 의존성 패키지를 특정 디렉토리에 다운로드하는 경우

 

[참고] wget

  • URL를 지정하여 파일을 다운로드만 하는 명령어

 

[참고] CentOS, Debian/Ubuntu

rpm dpkg
yum apt-get