리눅스 패키지 관리 방법 (apt / yum / dnf 명령어 사용법)
리눅스를 사용하다 보면 다양한 프로그램을 설치하거나 업데이트해야 하는 상황이 발생한다. Windows에서는 설치 파일을 직접 다운로드하여 설치하는 방식이 일반적이지만, 리눅스에서는 패키지 관리 시스템(Package Manager)을 이용해 프로그램을 설치하고 관리한다. 패키지 관리 시스템은 소프트웨어의 설치, 업데이트, 삭제 등을 효율적으로 관리할 수 있도록 도와주는 도구다. 대표적으로 Debian 계열에서는 apt, RedHat 계열에서는 yum과 dnf 명령어가 사용된다. 이번 글에서는 리눅스에서 가장 많이 사용되는 패키지 관리 명령어인 apt, yum, dnf의 기본 사용 방법을 알아보도록 하겠다.
apt 명령어 (Debian / Ubuntu 계열)
apt는 Debian 및 Ubuntu 계열 리눅스에서 사용하는 패키지 관리 도구다. APT는 Advanced Package Tool의 약자로 패키지 설치 및 업데이트를 간편하게 수행할 수 있도록 도와준다. 대표적으로 Ubuntu 서버나 Debian 기반 환경에서 많이 사용 된다.
패키지 목록 업데이트
먼저 새로운 패키지를 설치하기 전에 패키지 목록을 업데이트하는 것이 일반적이다. 일단 무조건 업데이트부터 한 번 하고 시작한다고 생각하자.
sudo apt update
위 명령어는 저장소(repository)에 등록된 최신 패키지 목록을 가져오는 역할을 한다.
패키지 설치
특정 프로그램을 설치하려면 다음 명령어를 사용한다. 별로 어렵지 않다. 그냥 update 대신 install이 들어가고 그 뒤에 프로그램명이 들어갈 뿐이다.
sudo apt install 프로그램명
예를 들어 vim 편집기를 설치하려면 다음과 같이 입력한다.
sudo apt install vim패키지 삭제
설치된 패키지를 제거할 때는 다음 명령어를 사용한다. 위에 기재헀었던 install과 반대로 remove가 들어간다. uninstall이라고 생각할 수 있는데 그건 Windows 이야기고 여기는 remove다.
sudo apt remove 패키지명
만약 기존에 설정 된 설정 파일까지 함께 삭제 하려면 다음과 같은 명령어를 사용할 수도 있다.
sudo apt purge 패키지명시스템 패키지 업데이트
현재 시스템에 설치된 패키지를 최신 버전으로 업데이트하려면 다음 명령어를 사용한다.
sudo apt upgradeyum 명령어 (RedHat / CentOS 계열)
yum은 RedHat 계열 리눅스에서 사용하는 패키지 관리 도구다. YUM은 Yellowdog Updater Modified의 약자로 CentOS와 RHEL에서 오랫동안 사용되어 온 패키지 관리 시스템이다. 위에서 설명한 apt와 사용법은 거의 동일하다.
패키지 설치
패키지 설치는 아까 위에서 보았던 apt와 사용법이 동일하다. 사실 설치 말고 아래에 나올 다른 것들도 거의 동일하다. 빠르게 살펴보자.
[코드]
sudo yum install 패키지명
[샘플]
sudo yum install httpd패키지 삭제
패키지 삭제는 아래와 같이 진행한다. 역시 어디선가 많이 본 것 같을 것이다. 그게 맞다.
sudo yum remove 패키지명패키지 목록 확인
패키지 목록을 보고 싶다면 아래와 같이 입력하면 된다. 현재 설치 되어 있는 패키지 리스트가 나열된다.
yum list
또는 아래와 같이 특정 패키지를 검색할 수도 있다.
yum search 패키지명시스템 업데이트
아래 명령어는 시스템에 설치된 모든 패키지를 최신 버전으로 업데이트한다.
sudo yum update
dnf 명령어 (최신 RedHat 계열)
최근 CentOS 8, Fedora, RHEL 8 이후 버전에서는 yum 대신 dnf 명령어가 기본 패키지 관리 도구로 사용되고 있다. DNF는 yum의 성능과 의존성 처리 기능을 개선한 차세대 패키지 관리자라고 볼 수 있다. 사용법은 앞서 말한 명령어들과 차이가 없다시피 하기 때문에 명령어만 짚고 넘어가도록 하겠다.
패키지 설치
자 빠르게 살펴보자. 어디선가 본 것 같은가? 다시 한 번 이야기하지만 Linux는 이렇게 특정 명령어를 익혀 두면 다른데서도 응용해서 사용하기 참 좋다.
sudo dnf install 패키지명패키지 삭제
역시 어디선가 본 것 같은 명령어일 것이다. 빠르게 넘어가자.
sudo dnf remove 패키지명패키지 검색
다음 명령어도 보자. yum에서 본 그 명령어 그대로 맞다.
dnf search 패키지명시스템 업데이트
자 마지막이다. 업데이트 역시 기존 다른 명령어와 동일한 구조다.
sudo dnf updateapt / yum / dnf 차이
지금까지 보아서 알겠지만 각 명령어 별로 사용 계열이 다를 뿐이지 실제 실행어는 크게 다르지 않다. 다만 리눅스를 처음 접한다면 사용하는 배포판에 따라 패키지 관리 명령어가 다르다는 점을 기억해 두면 좋다. 아래 표를 보고 본인이 사용하는 계열을 확인하고 명령어를 잘 익혀 두도록 하자.
| 명령어 | 사용 계열 |
|---|---|
| apt | Debian / Ubuntu |
| yum | CentOS / RHEL (구버전) |
| dnf | Fedora / CentOS8 / RHEL8 이후 |
마무리
리눅스에서는 패키지 관리 시스템을 통해 다양한 소프트웨어를 쉽게 설치하고 관리할 수 있다. 특히 apt, yum, dnf 명령어는 리눅스 서버 운영이나 개발 환경에서 매우 자주 사용되는 기본 명령어이기 때문에 익숙하게 사용해 두는 것이 좋다. 리눅스 환경을 운영하다 보면 새로운 프로그램 설치나 시스템 업데이트가 필요한 상황이 자주 발생한다. 이때 패키지 관리 명령어를 활용하면 보다 효율적으로 시스템을 관리할 수 있다. 내가 사용하는 것이 어떤 시스템인지 확인하고 잘 익혀 두자.
Add your first comment to this post