- Published on
2025.11.21
[모두의 리눅스] - 20. 소프트웨어 패키지
20.1. 소프트웨어 패키지
- 패키지: 소프트웨어의 실행 파일, 도큐먼트 파일, 설정 파일, 스크립트를 아카이브한 파일 하나
- 패키지 관리 시스템: 패키지 단위로 소프트웨어를 설치/삭제
리눅스에서 주로 사용되는 패키지 파일 형식
| 패키지 형식 | 배포판 |
|---|---|
| Red Hat 형식(.rpm) | Red Hat Enterprise Linux |
| Debian 형식(.deb) | Debian GNU/Linux, Ubuntu |
패키지 파일을 모아 배포하는 사이트를 리포지토리라 하며, 깃의 리포지토리와는 다르다.
배포판에 기본으로 설정된 리포지토리를 공식 리포지토리, 이외에 서드파티 리포지토리가 있다.
서드파티 리포티토리
| 배포판 | 리포지토리 |
|---|---|
| CentOS | RepoForge(RPMForge), EPEL, Remi |
| Ubuntu | PPA, Japanese Team |
20.2. yum 명령어: 패키지 관리(CentOS)
CentOS 같은 레드햇 계열 리눅스 배포판은 rpm이라는 패키지 파일 형식을 사용하며, 이를 관리하는 시스템은 RPM이다.
rpm 명령어는 단순 조작만 가능하여 주로 yum명령어를 사용한다.
yum [옵션] [명령어] [패키지 이름...]
# 패키지 설치(슈퍼 사용자 권한 필요)
yum install <패키지 이름>
# 패키지 삭제(둘은 동일하게 동작)
yum erase / remove <패키지 이름>
# 패키지 검색(요약)
# install과 달리 슈퍼 사용자 권한 필요하지 않음
yum search <검색 키워드>
# 패지키 설명까지 검색
yum search all <검색 키워드>
# 패키지 정보 출력
yum info <패키지 이름>
설치 전 확인 프롬프트
Is this ok[y/d/n]:: y는 설치 진행, d는 설치하지 않고 패키지 다운만, n은 취소-y옵션을 지정하면 자동으로 y가 입력됨.yum은 설치 시 패키지 의존성을 자동으로 해결하고, 삭제 시에도 자동으로 해결함.
20.3. apt로 패키지 관리(우분투)
우분투와 같은 데비안 계열 리눅스 배포판은 deb이라는 패키지 파일 형식을 사용하며, 현재 deb 파일은 APT 계열의 명령어를 사용.
명령어로는 설치/삭제를 위한 apt-get과 검색/정보 확인를 위한 apt-cache, 둘을 통합한 aptitude가 있음.
- 기본적인 사용법
apt-get [옵션] [명령어] [패키지 이름...]apt-cache [옵션] [명령어] [패키지 이름...]
# 패키지 설치
sudo apt-get install <패키지 이름> # 슈퍼 사용자 권한이 필요하므로 sudo 사용
# 패키지 삭제
sudo apt-get remove <패키지 이름> # 설정 파일 등이 남음
# 패키지 삭제(설정 파일 포함)
sudo apt-get purge <패키지 이름>
# 패키지 검색
apt-cache search <검색 키워드> # 슈퍼 사용자 권한이 필요하지 않아 sudo 사용 x
# 패키지 이름만 검색
apt-cache search --names-only <검색 키워드> # --names-only 옵션 지정
# 검색된 패키지의 정보도 함께 표시
apt-cache search --full <검색 키워드>
# 패키지 상세 정보 표시
apt-cache show <패키지 이름>
yum과 마찬가지로 ATP 계열 명령어도 의존성을 자동으로 해결해준다.
yum과 마찬가지로 -y 옵션 지정 가능.
aptitude 명령어를 사용하면, apt-get, apt-cache 구분 없이 하나의 명령어로 설치/검색 수행 가능.