Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Archives
Today
Total
관리 메뉴

bbbb's blog

[linux] 패키지 관리 도구 본문

SE/linux

[linux] 패키지 관리 도구

bbbb56146 2022. 1. 17. 17:57

yum

패키지 관리 도구

rpm

  • 로컬에서 사용하는 관리 도구 (ex. 윈도우의 exe파일과 흡사함)
  • 의존성 문제 있음 (선행 패키지들을 미리 설치해야 원하는 패키지 설치 가능)

yum

  • 네트워크 연결 기반 (연결되야 사용할 수 있음)
  • 의존성 문제 해결 (필요한 선행 패키지 자동설치)

rpm

  • 패키지를 관리하는 용도로 사용
  • 로컬에 파일이 있어야 설치 가능
  • 파일 형식 : 패키지 이름 - 메인 버전 - 릴리즈 버전 - 아키텍처.rpm
  • windows에서 .exe파일과 흡사
  • 컴파일되어 설치할 실행파일, 관리파일, 등을 하나로 묶어놓은 파일
  • 설치된 패키지를 모두 나열
    • q옵션 : 쿼리, 특정 패키지에대한 정보를 확인할 때 사용하는 필수 옵션
    • qa옵션 : 설치된 패키지를 모두 나열
    • noarch : 패키지가 python, perl 같은 스크립트 같은 경우 32비트, 64 비트 상관없이 동작하므로 x86_64나 i686대신 noarch라고 표시됨.
    • rpm -qa
  • rpm 파일 설치
    • 파일의 위치를 알아야함
    • rpm -ivh httpd-tools-2.4.6-97.el7.centos.2.x86_64.rpm

yum

  • rpm 업그레이드
  • rpm 기반의 시스템을 위한 자동 업데이터 및 패키지 설치, 제거 프로그램
  • rpm과 다르게 인터넷 사용 필수
  • 패키지 간의 의존성 문제가 해결
  • (ex. A패키지를 설치하기 전에 필요한 B패키지까지 모두 한번에 설치 가능)
  • 패키지 리스트 확인
    yum list | grep mariadb 
    #결과 
    mariadb-libs.x86_64 1:5.5.68-1.el7 @anaconda mariadb.x86_64 1:5.5.68-1.el7 base 
    ...​
  • 키워드에 따라 패키지를 나열
    yum search http #http가 들어간 패키지 나열
  • 패키지의 정보 확인
    yum info httpd #http 패키지의 정보 확인​
  • 지정된 경로 이름과 일치하는 패키지 설치
    yum provides /var/www/html​
  • 설치
    yum install httpd #패키지명 뒤에 *을 붙이면 패키지명으로 시작하는 모든 패키지 설치​
     
    • 패키지명 뒤에 *을 붙이면 패키지명으로 시작하는 모든 패키지 설치
    • y 옵션을 사용하여 설치시 묻는 질문에 yes 자동 응답 (ex.yum -y install httpd)
  • 패키지 업데이트
    yum update​
  • 패키지 제거
    yum remove httpd​

    • y 옵션을 사용하여 제거시 묻는 질문에 yes 자동 응답 (ex.yum -y remove httpd) 사용권장 하지 않음. 패키지 제거시 신중하게 생각해야함
    • y옵션 사용시 연관된 패키지들도 함께 지워질 수도 있는 것을 확인할 수 없다. 사용 권장 x
  • 해당 패키지가 포함되어 있는 그룹 확인 가능
yum group list
  • 그룹 패키지 확인 가능
yum group info
  • 그룹 패키지 설치
yum group install "Development Tools"
  • 패키지 설치 및 제거에 대한 요약 표시
yum history
  • 저장소(리포지토리)
    • /etc/yum.repos.d/
    • vim /etc/yum/repos.d/CentOS-Base.repo 내용은 다음과 같다.확장자 명은 무조건 .repo
      [base]
      name=CentOS-$releasever - Base
      mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
      #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
      
      #released updates
      [updates]
      name=CentOS-$releasever - Updates
      mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
      #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7​
      속성
    • [id] : 아이디 지정
    • name: 이름 지정, 시스템에서 인식 (대부분 id 부분과 동일)
    • mirrorlist: 중간 저장소
    • baseurl : 다운로드 하려는 패키지의 주소 지정
    • enabled
      • 동작 여부 설정
      • 0 또는1, true 또는 false로 표현
      • 리포지토리를 여러개 설정해 뒀을 경우 하나라도 동작하지 않을 경우 패키지 설치 불가 (ex) 3개 설정하고 2개는 맞게 , 1개 틀리게 됐을 경우 패키지 설치 x)
      • 잠깐 비활성화 하는 용도로 0 설정
    • gpgcheck : gpgkey 사용 여부 설정.
      • 0 또는 1, true 또는 false 로 표현
    • gpgkey
      • gpgkey가 0으로 설정되어 있는 경우 gpgkey 입력할 필요 x
      • 패키지를 설치하는 중에 사용할 키 값을 어디에 저장해 두었는지의 정보 표시
      • wget으로 받아옴
      • 설치시 라이센스 같은 역할
      • 자동 업데이트 시에 키를 사용

dnf : 8버전 이후 패키지 관리 도구(yum이랑 비슷)

'SE > linux' 카테고리의 다른 글

[linux] ACL  (0) 2022.01.18
[linux] 파일 시스템  (0) 2022.01.17
[linux] 작업 스케줄링  (0) 2022.01.17
[linux] SSH  (0) 2022.01.14
Comments