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(사용안함)으로 지정