이 글에서는 패키지 관리자가 무엇인지 알아보고 , 리눅스 시스템에서 가장 인기 있는 두 가지 패키지 관리자인 APT(Advanced Package Tool) 와 YUM(Yellowdog Updater, Modified)에 대해 살펴보겠습니다 . 리눅스 패키지 관리자의 작동 원리를 이해하고, 두 관리자의 기능과 장점을 비교하며, 패키지 관리를 위한 기본 명령어와 기능을 포함한 실제 사용 사례를 살펴보겠습니다.
패키지 관리자 는 운영 체제에서 소프트웨어 구성 요소(패키지)의 설치, 업데이트 및 제거를 관리하도록 설계된 도구입니다. 간단히 말해, 패키지 관리자는 컴퓨터에 소프트웨어를 설치, 삭제 및 업데이트하는 데 도움을 줍니다. 리눅스 운영 체제 에서 패키지 관리자는 이러한 과정을 자동화하여 시스템의 모든 프로그램이 충돌 없이 올바르게 작동하도록 보장하기 때문에 특히 중요합니다.
APT 패키지 관리자
일반 정보
APT 는 데비안 및 우분투 와 같은 데비안 기반 운영 체제용 패키지 관리자이며 , apt-get 및 apt-cache 도 포함합니다 . 소프트웨어 패키지를 설치, 제거 및 관리하는 데 사용됩니다. 다른 리눅스 유틸리티와 마찬가지로 apt는 직관적인 구문을 가지고 있습니다.
apt command option package_name
가장 일반적인 명령은 다음과 같습니다.
update – 패키지 목록을 새로 고칩니다.upgrade – 설치된 패키지 업그레이드install – 새로운 패키지 설치remove – 패키지 제거purge – 구성 파일과 함께 패키지를 제거합니다.autoremove – 사용하지 않는 패키지 제거search – 패키지 검색
기본 명령어에 대한 정보는 도움말 섹션을 참조하시면 얻을 수 있습니다.
또는 포괄적인 매뉴얼을 열어서:
man apt
매뉴얼에서 사용 가능한 모든 명령과 각 명령에 대한 자세한 설명을 익힐 수 있습니다. 예시 디스플레이:
기본 명령 외에도 사용자는 추가 인수인 옵션도 활용할 수 있습니다. 다음은 그 중 일부입니다.
-y, --yes – APT가 제시할 수 있는 모든 프롬프트를 자동으로 확인하는 데 사용됨-q, --quiet – 출력을 더 조용하게 만들어 화면에 표시되는 정보의 양을 줄입니다.-t, --target-release – 패키지 설치 또는 업데이트를 위한 대상 운영 체제 버전을 지정할 수 있습니다.-f – 종속성이 충족되지 않은 경우에도 패키지 설치를 강제합니다.-c – 사용할 구성 파일을 지정합니다.
사용 예
실제로 몇 가지 명령과 옵션을 살펴보겠습니다. 예를 들어 Python3을 사용하겠습니다. 시작하려면 패키지 목록을 업데이트해야 합니다.
apt update
그런 다음 설치를 진행할 수 있습니다.
apt install python3
나중에 이 도구를 제거해야 하는 경우 다음 명령을 사용하여 패키지를 제거할 수 있습니다.
apt remove python3
또는 패키지와 해당 구성 파일을 제거합니다. 이 명령은 시스템에서 패키지와 모든 관련 데이터를 완전히 지웁니다.
apt purge python3
일상적인 사용을 위해서는 설치된 패키지의 업데이트를 수행하는 것이 좋습니다. 이는 다음 명령으로 용이하게 할 수 있습니다.
apt upgrade
종속성으로 설치되었지만 더 이상 어떤 패키지에도 필요하지 않은 패키지를 제거하는 명령도 마찬가지로 유용합니다.
apt autoremove
비슷한 예를 들어보겠습니다. 하지만 옵션을 사용해보세요.
패키지 목록의 자동 업데이트:
apt-get update -y
설치된 모든 패키지의 조용한 업데이트:
apt-get upgrade -q
운영 체제의 대상 버전을 지정하는 패키지 설치(예: Ubuntu 22.04):
apt-get install <package_name> -t jammy
맺음말
APT 패키지 관리자에 대한 섹션을 마무리하면서, 장점과 단점을 모두 언급하는 것이 좋습니다. 장점은 다음과 같습니다.
- 다양한 패키지 선택: 공식 및 타사 저장소에 대한 액세스;
- 사용 편의성: 설치, 업데이트, 제거를 위한 직관적인 명령
- 종속성의 자동 관리: 사용자 개입 없이 종속성을 해결합니다.
- 보안: 암호화 서명을 사용하여 패키지의 진위 여부를 확인합니다.
단점으로는 다음과 같은 점을 언급할 가치가 있습니다.
- 타사 패키지에 대한 지원이 제한됨
- 다른 패키지 관리자에 비해 업데이트가 느립니다.
- 일부 아키텍처에 대한 지원이 부족합니다.
이러한 단점에도 불구하고 APT는 Linux 환경에서 가장 인기 있고 안정적인 패키지 관리 도구 중 하나로 남아 있으며, 사용자에게 소프트웨어 설치 및 업데이트 시 편의성과 효율성을 제공합니다.
YUM 패키지 관리자
일반 정보
YUM 은 Red Hat 에서 개발한 Linux 운영 체제용 패키지 관리자로, 소프트웨어 설치, 업데이트 및 제거를 관리합니다. RHEL , CentOS , Fedora 와 같은 배포판에서 표준 패키지 관리 도구로 사용됩니다.
명령의 구문은 매우 간단하고 직관적입니다. 주로 패키지 관리자가 수행하는 작업을 정의하는 키워드와 매개변수로 구성됩니다. 주요 명령을 더 자세히 살펴보겠습니다.
패키지 설치:
yum install <package_name>
패키지 업데이트:
yum update <package_name>
패키지 제거:
yum remove <package_name>
키워드로 패키지 검색:
yum search <keyword>
설치된 패키지 나열:
yum list
사용 가능한 모든 명령어 목록은 도움말 섹션에서 확인할 수 있습니다.
표준 명령 세트 외에도 이 도구는 추가 옵션과 플래그도 지원합니다. 다음은 이러한 매개변수의 몇 가지 예입니다.
-C – 구성 파일을 사용합니다-q – 추가적인 조용함을 위해 출력을 억제합니다.-y – 상호 작용 비활성화-v – 자세한 출력 활성화-e – 확장된 출력 활성화
가장 일반적인 플래그는 다음과 같습니다.
--installroot – 지정된 디렉토리에 패키지 설치--releasever – 지정된 릴리스 버전의 패키지 설치--exclude – 지정된 패키지를 설치에서 제외합니다.--allowerasing – 새 패키지 설치 중에 설치된 패키지 제거 허용--nogpgcheck – 패키지 설치 중 GPG 검사 비활성화
YUM은 구성 파일을 통해 구성됩니다.
- /etc/yum.conf – 이 파일에는 프로그램의 전역 설정이 포함되어 있습니다.
- /etc/yum.repos.d – 이 디렉토리는 YUM이 패키지를 다운로드하는 각 저장소에 대한 구성 파일을 저장합니다.
사용 예
Nginx를 예제의 기반으로 사용해 보겠습니다. 패키지를 설치하려면 다음 명령을 사용합니다.
yum install nginx
패키지 정보 표시:
yum info nginx
Nginx에 사용 가능한 업데이트 목록을 표시합니다.
yum check-update nginx
최신 버전으로 업데이트하세요:
yum update nginx
시스템에서 프로그램을 제거합니다:
yum remove nginx
다음 명령을 사용하여 설치된 모든 패키지를 업데이트합니다.
yum update
업데이트를 설치하지 않고 사용 가능한 업데이트만 확인하려는 경우:
yum check-update
앞서 논의한 매개변수와 플래그를 포함하는 더 복잡한 예를 살펴보겠습니다.
/etc/yum.conf 구성 파일을 사용하여 출력 및 확인 없이 nginx 패키지를 설치합니다.
yum -q -y -C install nginx
커널을 제외한 모든 패키지를 자세한 출력과 함께 업데이트합니다.
yum -v --exclude=kernel update
Apache 패키지와 모든 종속성을 제거하면 이 프로세스 중에 설치된 패키지도 제거됩니다.
yum -y remove httpd --allowerasing
제품 개요
다른 도구와 마찬가지로 YUM에는 강점과 약점이 있습니다. 장점은 다음과 같습니다.
- YUM은 패키지 관리를 위한 간단하고 직관적인 인터페이스를 제공합니다.
- 패키지를 설치하거나 제거하는 동안 종속성을 자동으로 관리합니다.
- 수천 개의 바로 사용 가능한 패키지가 들어 있는 중앙 저장소에 액세스할 수 있습니다.
- 자동 업데이트 기능을 지원합니다.
단점은 다음과 같습니다.
- 속도. 실행 시간은 느릴 수 있는데, 특히 대량의 데이터나 느린 네트워크를 처리할 때 그렇습니다.
- 데이터베이스 업데이트. 일부 작업에는 패키지 데이터베이스 업데이트가 필요하며, 이는 패키지 관리 프로세스를 느리게 할 수 있습니다.
- 패키지 버전에 대한 지원이 제한적입니다. YUM은 때때로 이전 패키지 버전만 제공하는데, 이는 최신 버전의 소프트웨어가 필요한 경우 문제가 될 수 있습니다.
- 저장소 구성. 때때로 특정 패키지나 버전에 접근하기 위해 추가 저장소를 설정하는 것이 필요합니다.
전반적으로 YUM은 Red Hat 기반 시스템에서 패키지를 관리하는 강력하고 편리한 도구이지만, 다른 소프트웨어와 마찬가지로 사용 시 고려해야 할 장단점이 있습니다.
패키지 관리자가 필요합니다
APT와 YUM은 모두 리눅스에서 소프트웨어 관리에 중요한 역할을 하며, 패키지와 업데이트에 편리하게 접근할 수 있도록 해줍니다. 구문과 기능에는 차이가 있지만, 이 두 패키지 관리자는 종속성 관리와 소프트웨어 업데이트를 효율적으로 수행할 수 있도록 지원합니다. 어떤 패키지 관리자를 선택하든, 리눅스 텍스트 편집기 든 다른 소프트웨어든 다양한 응용 프로그램을 설치하는 데 없어서는 안 될 필수 도구입니다.