본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

리눅스에서 소프트웨어를 설치·갱신·삭제하는 방법을 정리한 문서이다. 배포판 계열마다 패키지 형식과 관리 도구가 다르고, 패키지가 없을 때는 소스를 직접 컴파일해 설치한다.

계열별 패키지 도구

편집 원본 편집
계열 패키지 형식 저수준 도구 고수준 도구(의존성 자동 해결) 저장소 설정
레드햇 계열 (RHEL, Rocky, Fedora) .rpm rpm dnf, yum /etc/yum.repos.d/*.repo
데비안 계열 (Debian, Ubuntu) .deb dpkg apt, apt-get, apt-cache /etc/apt/sources.list
SUSE 계열 .rpm rpm zypper /etc/zypp/repos.d/
  • 저수준 도구는 받은 패키지 파일 하나를 설치하며 의존성을 스스로 해결하지 않는다.
  • 고수준 도구는 저장소에서 패키지와 의존 패키지를 함께 내려받아 설치한다.
  • Rocky Linux 8에서 yum은 dnf를 가리키는 링크이므로 두 명령의 사용법이 같다.

패키지 파일 이름은 이름-버전-릴리스.배포판.아키텍처.rpm 형식이다. 예: httpd-2.4.37-56.el8.x86_64.rpm

작업 명령
설치 (진행 표시) rpm -ivh 파일.rpm
업그레이드 (없으면 설치) rpm -Uvh 파일.rpm
설치된 것만 업그레이드 rpm -Fvh 파일.rpm
삭제 rpm -e 패키지명
의존성 무시 --nodeps
설치 여부 확인 rpm -q 패키지명
전체 목록 rpm -qa
패키지 정보 rpm -qi 패키지명
설치된 파일 목록 rpm -ql 패키지명
설정 파일 목록 rpm -qc 패키지명
파일이 속한 패키지 rpm -qf /경로/파일
설치 전 파일 정보 확인 rpm -qip 파일.rpm, rpm -qlp 파일.rpm
의존성 확인 rpm -qR 패키지명
설치 파일 변조 검사 rpm -V 패키지명, rpm -Va
서명 키 가져오기 rpm --import 키파일
작업 명령
설치 dnf install 패키지
삭제 dnf remove 패키지
업데이트 확인 / 실행 dnf check-update / dnf update (dnf upgrade)
검색 dnf search 키워드
정보 dnf info 패키지
목록 dnf list installed, dnf list available
파일을 제공하는 패키지 dnf provides /usr/sbin/httpd
그룹 설치 dnf groupinstall "그룹명" (dnf group install)
저장소 목록 dnf repolist
작업 이력 dnf history
캐시 정리 dnf clean all
모듈 스트림 dnf module list, dnf module enable php:7.4

자세한 내용은 리눅스 dnf와 리눅스 yum 문서를 본다.

작업 dpkg apt
설치 dpkg -i 파일.deb apt install 패키지
삭제 dpkg -r 패키지 apt remove 패키지
설정 파일까지 삭제 dpkg -P 패키지 apt purge 패키지
목록 dpkg -l apt list --installed
설치된 파일 목록 dpkg -L 패키지
파일이 속한 패키지 dpkg -S 파일
패키지 상태 dpkg -s 패키지 apt show 패키지
저장소 목록 갱신 apt update
설치된 패키지 업그레이드 apt upgrade
검색 apt search 키워드 (apt-cache search)

패키지로 제공되지 않거나 컴파일 옵션을 바꿔야 할 때 소스 코드를 받아 직접 빌드한다.

# 1) 압축 해제
$ tar xvzf program-1.0.tar.gz
$ cd program-1.0

# 2) 환경 검사와 Makefile 생성 (설치 경로 지정)
$ ./configure --prefix=/usr/local/program

# 3) 컴파일
$ make

# 4) 설치 (root 권한)
# make install

# 빌드 결과물 정리
$ make clean
  • configure : 시스템 환경을 검사하고 Makefile을 만든다. --prefix로 설치 위치를 지정한다.
  • make : Makefile에 적힌 규칙에 따라 gcc 등으로 컴파일한다.
  • 최근 프로젝트는 CMake(cmake → make)나 meson(meson → ninja)을 쓰기도 한다.
  • 공유 라이브러리를 새로 설치했다면 ldconfig로 캐시를 갱신한다. 실행 파일이 필요로 하는 라이브러리는 ldd로 확인한다.
도구 확장자 압축 / 해제 tar 옵션
gzip .gz gzip 파일 / gunzip 파일.gz (gzip -d) z
bzip2 .bz2 bzip2 파일 / bunzip2 파일.bz2 j
xz .xz xz 파일 / unxz 파일.xz (xz -d) J
compress .Z compress 파일 / uncompress 파일.Z Z
# 묶고 gzip 압축
$ tar cvzf backup.tar.gz /etc
# 내용 확인
$ tar tvf backup.tar.gz
# 지정한 디렉터리에 풀기
$ tar xvf backup.tar.gz -C /tmp

자세한 내용은 리눅스 tar 문서를 본다.

  • rpm -U와 -F의 차이, -qf / -ql / -qc / -qi 조회 옵션
  • dnf(yum)와 apt 하위 명령 대응
  • 소스 설치 3단계 configure → make → make install과 --prefix
  • tar의 압축 옵션 z / j / J 구분