패키지 관리 기초 지식: apt,yum,dnf,pkg

패키지 관리 기초 지식: apt,yum,dnf,pkg

2022-05-31 last update

7 minutes reading Linux Commands Getting Started System Tools Linux Basics

소개


대부분의 현대 유닉스 운영체제는 소프트웨어를 찾고 설치하는 집중식 메커니즘을 제공한다.일반적으로 패키지로 배포되어 저장소에 저장됩니다.가방을 사용하는 것을 가방 관리라고 부른다.패키지는 운영체제의 핵심 구성 요소와 공유 라이브러리, 응용 프로그램, 서비스와 문서를 제공합니다.
패키지 관리 시스템은 일회용 소프트웨어만 설치하는 것이 아니다.또한 설치된 패키지를 업그레이드할 수 있는 도구도 제공합니다.패키지 저장소는 코드가 심사되어 시스템에서 사용할 수 있고 소프트웨어의 설치 버전이 개발자와 패키지 관리자의 승인을 받은 것을 확보하는 데 도움이 된다.
서버나 개발 환경을 설정할 때 보통 공식 저장소를 뛰어넘어야 한다.릴리스 안정 버전의 소프트웨어 패키지는 이미 유행이 지났을 수도 있으며, 특히 새로운 소프트웨어나 빠른 변화에 관련된 소프트웨어는 유행이 지났을 수도 있다.그럼에도 불구하고 소프트웨어 패키지 관리는 시스템 관리자와 개발자에게 매우 중요한 기능이지만 주요 발행판에 사용되는 대량의 소프트웨어 패키지는 커다란 자원이다.
이 설명서는 다양한 릴리스에서 소프트웨어 패키지를 검색, 설치 및 업그레이드하는 데 필요한 기초 지식을 신속하게 참조하고 시스템 간에 이러한 지식을 전환할 수 있도록 도와줍니다.

포장 관리 시스템: 간략한 개술


대부분의 패키지 시스템은 패키지 파일 집합을 중심으로 구축된다.패키지 파일은 일반적으로 컴파일된 응용 프로그램과 소프트웨어에 사용되는 다른 자원과 설치 스크립트를 포함하는 압축 파일입니다.패키지는 의존 항목과 설치하고 실행하는 데 필요한 다른 패키지의 목록을 포함하는 가치 있는 메타데이터를 포함한다.
기능과 이점은 비슷하지만 패키지 형식과 도구는 플랫폼에 따라 다릅니다.
  • Debian/Ubuntu: .debapt
  • 에 의해 설치된 패키지
  • Rocky/Fedora/RHEL: dpkg.rpm
  • 에 의해 설치된 패키지
  • FreeBSD의 경우: yum .txz
  • 에서 설치된 패키지
    Ubuntu, Linux Mint, Raspbian 같은 데비안과 그 기반 시스템에서 패키지 형식은 pkg 파일입니다..deb, 가장 일반적인 작업에 사용할 수 있는 명령을 제공하는 고급 패키지 도구: 저장소 검색, 패키지 집합 및 의존 항목 설치, 업그레이드 관리.apt 명령은 저급apt 유틸리티의 전단으로 실행되며, 이 유틸리티는 로컬 시스템의 단일dpkg 파일의 설치를 처리하고 때때로 직접 호출합니다.
    대부분의 Debian 파생 버전의 최신 버전에는 .deb 명령이 포함되어 있으며, 이 명령은 통상적으로 더욱 구체적인 aptapt-get 처리된 일반적인 조작에 간결하고 통일된 인터페이스를 제공한다.
    Rocky Linux, Fedora 및 Red Hat 패밀리의 다른 구성원은 RPM 파일을 사용합니다.이것들은 apt-cache라는 패키지 관리자를 사용하는 데 쓰인다.Fedora와 그 파생물의 최신 버전에서yum는 이미 yum에 의해 대체되었다. 이것은 dnf의 대부분 인터페이스를 보존한 현대화된 포크이다.
    FreeBSD의 바이너리 패키지 시스템은 yum 명령으로 관리됩니다.FreeBSD는 또한 포트 집합, 로컬 디렉터리 구조와 도구를 제공하여 사용자가 Makefiles를 사용하여 원본 코드에서 패키지를 직접 가져오고 컴파일하며 설치할 수 있도록 한다.일반적으로 사용하는 것이 더 편리하지만pkg 사전 컴파일러를 사용할 수 없거나 컴파일러의 옵션을 변경해야 할 수도 있습니다.

    패키지 목록 업데이트


    대부분의 시스템은 원격 저장소에서 얻을 수 있는 패키지를 포함하는 로컬 데이터베이스를 가지고 있다.패키지를 설치하거나 업그레이드하기 전에 이 데이터베이스를 업데이트하는 것이 좋습니다.이 모드의 일부 예외로 pkg 일부 작업을 수행하기 전에 업데이트를 확인하지만, 언제든지 업데이트를 사용할 수 있는지 문의할 수 있습니다.
  • Debian/Ubuntu: dnf
  • Rocky/Fedora/RHEL: sudo apt update
  • FreeBSD 패키지의 경우: dnf check-update
  • FreeBSD 포트의 경우: sudo pkg update
  • 설치된 패키지 업그레이드


    만약 소프트웨어 패키지 시스템이 없다면, 기계에 설치된 모든 소프트웨어를 최신 상태로 유지하는 것은 매우 어려운 임무가 될 것이다.수백 개의 다른 가방의 업스트림 변경 사항과 안전 경보를 추적해야 합니다.패키지 관리자는 소프트웨어를 업그레이드할 때 발생하는 모든 문제를 해결할 수 없지만, 몇 가지 명령을 통해 대부분의 시스템 구성 요소를 유지할 수 있습니다.
    FreeBSD에서 설치된 포트를 업그레이드하면 중단되거나 수동 구성 절차가 필요할 수 있습니다.업그레이드sudo portsnap fetch update 전에 읽는 것이 좋다/usr/ports/UPDATING.
  • Debian/Ubuntu: portmaster
  • Rocky/Fedora/RHEL: sudo apt upgrade
  • FreeBSD 패키지의 경우: sudo dnf upgrade
  • 패키지 찾기


    대부분의 발행판은 패키지 집합에 도형이나 메뉴 구동의 앞부분을 제공한다.이것들은 유형별로 새로운 소프트웨어를 조회하고 발견하는 좋은 방법이다.그러나 가방을 찾는 가장 빠르고 효과적인 방법은 명령행 도구를 사용하여 검색하는 것이다.
  • Debian/Ubuntu: sudo pkg upgrade
  • Rocky/Fedora/RHEL: apt search search_string
  • FreeBSD 패키지의 경우: dnf search search_string
  • 참고: Rocky, Fedora 또는 RHEL에서 패키지 제목과 설명을 함께 검색할 수 있습니다 pkg search search_string.FreeBSD에서 dnf search all 검색 설명을 사용할 수 있습니다.

    특정 패키지에 대한 정보 보기


    무엇을 설치할지 결정할 때, 소프트웨어 패키지의 상세한 설명을 읽는 것이 보통 도움이 된다.인간이 읽을 수 있는 텍스트를 제외하고, 이 텍스트들은 일반적으로 버전 번호와 패키지의 의존항 목록과 같은 메타데이터를 포함한다.
  • Debian/Ubuntu: pkg search -D
  • Rocky/Fedora/RHEL: apt show package
  • FreeBSD 패키지의 경우: dnf info package
  • FreeBSD 포트의 경우: pkg info package
  • 저장소에서 패키지 설치


    패키지의 이름을 알면 보통 하나의 명령으로 패키지와 의존 항목을 설치할 수 있습니다.일반적으로 여러 소프트웨어 패키지를 나열하여 동시에 설치할 수 있습니다.
  • Debian/Ubuntu: cd /usr/ports/category/port && cat pkg-descr
  • Rocky/Fedora/RHEL: sudo apt install package
  • FreeBSD 패키지의 경우: sudo dnf install package
  • 로컬 파일 시스템에서 패키지 설치


    때때로 소프트웨어가 지정된 운영체제를 위해 정식으로 포장되지 않아도 개발자나 공급업체는 소프트웨어 패키지 파일을 다운로드할 수 있도록 제공한다.웹 브라우저를 사용하거나 명령줄의 sudo pkg install package 을 통해 이 내용을 검색할 수 있습니다.패키지가 대상 시스템에 있으면 일반적으로 단일 명령을 사용하여 설치할 수 있습니다.
    Debian 파생 시스템에서 curl 개별 패키지 파일을 처리합니다.패키지에 충족되지 않은 의존 항목이 있으면 dpkg 공식 저장소에서 검색할 수 있습니다.
    Rocky Linux에서 Fedora 또는 RHELgdebi은 단일 파일을 설치하는 데 사용되며 필요한 종속성을 처리합니다.
  • Debian/Ubuntu: dnf
  • Rocky/Fedora/RHEL: sudo dpkg -i package.deb
  • FreeBSD 패키지의 경우: sudo dnf install package.rpm
  • 설치된 패키지 하나 이상 제거


    패키지 관리자는 패키지에 어떤 파일을 제공했는지 알고 있기 때문에, 소프트웨어가 더 이상 필요하지 않으면, 시스템에서 깔끔하게 삭제할 수 있습니다.
  • Debian/Ubuntu: sudo pkg add package.txz
  • Rocky/Fedora/RHEL: sudo apt remove package
  • FreeBSD 패키지의 경우: sudo dnf erase package
  • 도움말 얻기


    웹 기반 문서를 제외하고는 셸의 대부분의 명령에 사용할 수 있는 유닉스 매뉴얼 페이지를 기억하십시오.페이지를 보려면 다음을 사용하십시오sudo pkg delete package:
    1. man page
    man에서 화살표 키를 사용하여 탐색할 수 있습니다.페이지에서 텍스트를 검색하고 q를 누르면 종료합니다.
  • Debian/Ubuntu: man
  • Rocky/Fedora/RHEL: man apt
  • FreeBSD 패키지의 경우: man dnf
  • FreeBSD 포트의 경우: man pkg
  • 결론과 진일보한 읽기


    이 안내서는 복잡한 주제의 표면에만 닿지만 시스템 간에 교차 참조할 수 있는 동작을 개괄적으로 설명합니다.특정 시스템에 대한 자세한 내용은 다음 리소스를 참조하십시오.
  • This guide는 Ubuntu와 Debian 패키지 관리에 대해 자세히 설명합니다.
  • 하나Fedora wiki page about man ports 와 하나official manual for dnf itself가 있다.
  • This guide에는 FreeBSD 패키지를 관리하는 데 사용dnf이 포함됩니다.
  • FreeBSD Handbook포함 section on using the Ports Collection.