Linux
리눅스 설치 관련 rpm, yum, dnf, repository 명령어 정리
쓱은감자
2022. 8. 10. 21:54
리눅스 설치 명령어
RPM
- 래드햇사에서 Windows의 setup.exe와 같이 프로그램 설치 후 바로 실행할 수 있게 제작한 설치 파일
- 리눅스의 프로그램 설치보다는 획기적으로 편리해졌지만, 의존성 문제 존재
- 설치
rpm -Uvh 패키지파일이름.rpm
- U : 기존에 패키지가 설치되어 있지 않으면 설치하고 설치되어 있으면 업그레이드
- v : 설치 과정 확인
- h : 설치 진행 과정을 # 기호로 화면에 출력
- 삭제
rpm -e 패키지이름
- 이미 설치된 패키지 조회
rpm -qa 패키지이름
: 시스템에 패키지가 설치되었는지 확인rpm -qf 파일의절대경로
: 이미 설치된 파일이 어느 패키지에 포함된 것인지 확인rpm -ql 패키지이름
: 특정 패키지에 어떤 파일들이 포함되었는지 확인rpm -qi 패키지이름
: 설치된 패키지의 상세 정보
- 아직 설치되지 않은 rpm 파일 조회
rpm -qlp 패키지이름.rpm
: 패키지 파일에 어떤 파일들이 포함되었는지 확인rpm -qip 패키지파일이름.rpm
: 패키지 파일의 상세 정보
YUM
- YUM(Yellodog Updater Modified)는 RPM 기반의 시스템을 위한 자동 업데이터 및 패키지 설치/제거 프로그램
- RPM과 달리 인터넷 사용이 필수여서 패키지간 의존성 문제를 해결할 수 있음
- 설치
yum install 패키지이름
- 삭제
yum remove 패키지이름
- 업그레이드
yum update 패키지이름
- 목록 확인
yum list 패키지이름
DNF
- CentOS 8부터 제공되는 패키지 설치 관리자로 YUM의 기능을 대폭 개선함
- YUM과 사용법이 거의 비슷하며 저장소 또한 동일하게 /etc/yum.repos.d/를 사용
- 설치
dnf -y install 패키지이름
- rpm 파일 설치 방법
dnf install rpm파일이름.rpm
- 업데이트 가능한 목록 보기
dnf check-update
: 업데이트가 가능한 패키지의 목록을 출력, 이 명령을 실행하기 전에dnf clean all
명령을 실행해서 기존의 dnf 관련 임시 파일을 지우는 것이 좋음
- 업데이트
dnf update 패키지이름
: 별로 사용할 필요가 없음,dnf install 패키지이름
명령을 실행하면 설치가 안되어 있으면 설치하고 설치되어 있으면 업데이트dnf update
: 업데이트 가능한 모든 패키지를 업데이트
- 삭제
dnf remove 패키지이름
- 정보 확인
dnf info 패키지이름
- 패키지 그룹 설치
dnf groupinstall "패키지그룹이름"
: 패키지 그룹에 포함된 패키지들을 통째로 설치, 패키지 그룹의 이름은 띄어쓰기가 많으므로 큰 따옴표(“”)안에 써야함
- 패키지 리스트 확인
dnf list 패키지이름
dnf list all
: 모든 패키지 목록dnf list httpd*
: httpd라는 이름이 들어간 패키지 목록dnf list available
: 현재 설치 가능한 목록
- 특정 파일이 속한 패키지 이름 확인
dnf provides 파일이름
- GPG 키 검사 생략
dnf install --nogpgcheck rpm파일이름.rpm
: CentOS 8에서 인증되지 않은 rpm 파일을 설치할 때 사용하면 GPG 키 인증을 생략하여 설치
- 기존 저장소 목록 지우기
dnf clean all
Repository
- dnf, yum 명령어와 관련된 설정 파일은
/etc/yum.conf
와/etc/yum.repos.d/
yum.conf
파일은 특별히 설정을 변경할 것이 없으므로 신경쓸 필요 없음- /etc/yum.repos.d/ 디렉토리에 각 파일에는 dnf 명령을 실행했을 때 이터넷에서 해당 패키지 파일을 검색하는 네트워크 주소가 들어 있음
- CentOS-Base.repo : CentOS의 가장 기본적인 설치 패키지가 들어 있음
- CentOS-AppStream.repo : X 윈도 등 추가 소프트웨어 패키지가 주로 들어 있음
- CentOS-Extras.repo, CentOS-Plus.repo, CentOS-PowerTools.repo
- repo 파일 내부 분석
- 대괄호([])는 저장소 식별자
- [BaseOS], [AppStream], [extra], [centosplus], [PowerToos] 등
- 식별자별로 별도의 파일로 저장해도 되고 하나의 파일 안에 사용할 수 있음
- 각 식별자는 서로 관련 없이 독립적으로 존재
- # : 주석
- name : 저장소의 이름, 아무 이름이나 지정해도 되며 별로 중요하지 않음
- baseurl : URL이 적혀 있어야 하며 http, ftp, file 3가지 중 하나가 오면 됨
- baseurl 다음에 여러 URL이 이어져 나오면 앞의 주소가 응답하지 않을 경우 다음 주소를 확인하는 방식
- gpgcheck : 패키지의 GPG 서명을 확인할 지 여부를 1(사용), 0(사용안함)으로 지정
- gpgkey : gpgcheck가 1일 경우 아스키 GPG 키가 들어 있는 저장소의 URL
- mirrorlist : baseurl에 설정 값이 생략되어 있으면 그 대신 mirrorlist에 적힌 URL 사용
- enabled : 이 저장소를 사용할지의 여부를 1(사용), 0(사용안함)으로 지정
- 대괄호([])는 저장소 식별자