리눅스를 사용하면서 필수적으로 알아야 할 것 중 하나가 바로 소프트웨어 설치 및 관리 방법입니다. 배포판에 따라 다양한 패키지 관리자가 존재하며, 이를 잘 활용하면 손쉽게 원하는 프로그램을 설치하고 유지보수할 수 있습니다. 이번 포스팅에서는 대표적인 패키지 관리자 apt, yum, dnf, snap, pacman을 자세히 다뤄보겠습니다.
1. APT (Advanced Package Tool) - Debian 계열 (Ubuntu, Debian 등)
APT는 Debian 계열 리눅스에서 사용하는 패키지 관리 시스템입니다.
1.1 패키지 목록 업데이트
sudo apt update
1.2 패키지 설치
sudo apt install <패키지명>
예: sudo apt install vim
1.3 패키지 제거
sudo apt remove <패키지명>
예: sudo apt remove vim
1.4 의존성까지 완전히 삭제
sudo apt autoremove
1.5 시스템 업그레이드
sudo apt upgrade
2. YUM (Yellowdog Updater, Modified) - RHEL 계열 (CentOS 7, RHEL 7 등)
YUM은 RHEL 및 CentOS에서 주로 사용되는 패키지 관리자입니다.
2.1 패키지 목록 업데이트
sudo yum update
2.2 패키지 설치
sudo yum install <패키지명>
예: sudo yum install nano
2.3 패키지 제거
sudo yum remove <패키지명>
2.4 의존성까지 정리
sudo yum autoremove
2.5 시스템 업그레이드
sudo yum upgrade
3. DNF (Dandified YUM) - RHEL 계열 (Fedora, CentOS 8, RHEL 8+)
DNF는 YUM의 향상된 버전으로, 속도와 안정성이 개선되었습니다.
3.1 패키지 목록 업데이트
sudo dnf update
3.2 패키지 설치
sudo dnf install <패키지명>
예: sudo dnf install htop
3.3 패키지 제거
sudo dnf remove <패키지명>
3.4 시스템 업그레이드
sudo dnf upgrade
4. SNAP - 모든 리눅스 배포판에서 사용 가능
Snap은 Canonical에서 개발한 패키지 관리 시스템으로, 배포판과 무관하게 패키지를 실행할 수 있습니다.
4.1 Snap 설치 (Debian/Ubuntu 계열)
sudo apt install snapd
4.2 Snap 패키지 검색
snap find <패키지명>
4.3 Snap 패키지 설치
sudo snap install <패키지명>
예: sudo snap install vlc
4.4 Snap 패키지 제거
sudo snap remove <패키지명>
4.5 설치된 Snap 패키지 목록 확인
snap list
5. PACMAN - Arch Linux 및 Manjaro 계열
Pacman은 Arch Linux 및 Manjaro에서 사용되는 패키지 관리자입니다.
5.1 패키지 데이터베이스 업데이트
sudo pacman -Sy
5.2 패키지 설치
sudo pacman -S <패키지명>
예: sudo pacman -S neofetch
5.3 패키지 제거
sudo pacman -R <패키지명>
5.4 패키지 전체 정리
sudo pacman -Rns <패키지명>
5.5 시스템 전체 업데이트
sudo pacman -Syu
6. 패키지 관리자 비교
패키지 관리자주요 배포판주요 명령어
APT | Debian, Ubuntu | apt update, apt install |
YUM | CentOS 7, RHEL 7 | yum update, yum install |
DNF | Fedora, CentOS 8+ | dnf update, dnf install |
SNAP | 모든 배포판 | snap install, snap remove |
PACMAN | Arch, Manjaro | pacman -S, pacman -R |
각 패키지 관리자마다 장단점이 있으며, 사용 중인 리눅스 배포판에 맞는 패키지 관리자를 익히는 것이 중요합니다.
7. 결론
리눅스에서 소프트웨어를 설치하고 관리하는 것은 배포판에 따라 다소 차이가 있지만, 핵심 개념은 비슷합니다. APT, YUM, DNF, SNAP, PACMAN을 잘 활용하면 효율적으로 패키지를 관리할 수 있습니다.
어떤 패키지 관리자를 사용하든 패키지 목록을 주기적으로 업데이트하고, 필요 없는 패키지는 삭제하여 시스템을 최적화하는 것이 좋습니다. 각 명령어를 직접 실행해 보며 익숙해지는 것이 가장 좋은 학습 방법입니다!
💡 추가로 배우면 좋은 것
- Flatpak 패키지 관리 시스템
- AppImage 활용법
- 소스 코드에서 직접 빌드하여 프로그램 설치하기 (make, cmake)
'운영체제 > 리눅스(CentOS)' 카테고리의 다른 글
리눅스에서 crontab을 이용한 작업 스케줄링 (0) | 2025.04.01 |
---|---|
리눅스 서비스 및 데몬 관리: systemd, init, service, systemctl (0) | 2025.03.30 |
리눅스 기본 네트워크 명령어 정리 (0) | 2025.03.29 |
리눅스 프로세스 관리 자세한 가이드 (0) | 2025.03.28 |
리눅스 사용자 및 그룹 관리 완벽 가이드 (0) | 2025.03.27 |