SUSE Linux Zypper 명령어 사용법: 패키지 설치, RPM 다운로드, 저장소 관리
```Zypper는 SUSE Linux Enterprise Server와 openSUSE에서 사용하는 명령줄 패키지 관리자다. 패키지 설치와 제거뿐 아니라 의존성 해결, 소프트웨어 저장소 새로고침, 패키지 검색과 RPM 다운로드 작업도 수행할 수 있다.
- 패키지 설치:
zypper install - 설치된 패키지 검색:
zypper search -i - 라이브러리 제공 패키지 검색:
zypper search --provides - 저장소 목록 확인:
zypper repos - 저장소 메타데이터 갱신:
zypper refresh
Zypper 기본 명령어 구조
Zypper 명령어는 일반적으로 다음 구조로 실행한다.
zypper [전역 옵션] <하위 명령어> [명령어 옵션] [인수]
패키지 설치나 저장소 갱신처럼 시스템을 변경하는 명령은 일반 사용자 권한으로 실행할 수 없으므로
일반적으로 sudo를 함께 사용한다.
sudo zypper install <패키지명>
Zypper 주요 명령어 한눈에 보기
| 작업 | 명령어 | 설명 |
|---|---|---|
| 패키지 설치 | zypper install 패키지명 |
활성화된 저장소에서 패키지와 필요한 의존성을 설치한다. |
| 로컬 RPM 설치 | zypper install ./파일.rpm |
현재 디렉터리에 있는 RPM 파일을 의존성과 함께 설치한다. |
| 전체 파일 선다운로드 | zypper install --download-in-advance ./파일.rpm |
설치 트랜잭션에 필요한 패키지를 모두 받은 후 설치를 시작한다. |
| RPM 다운로드 | zypper download 패키지명 |
패키지를 설치하지 않고 RPM 파일만 다운로드한다. |
| 설치된 패키지 검색 | zypper search -i 패키지명 |
검색 결과를 현재 설치된 패키지로 제한한다. |
| 라이브러리 제공 패키지 검색 | zypper search --provides '라이브러리명' |
특정 파일이나 기능을 제공하는 패키지를 검색한다. |
| 저장소 목록 확인 | zypper repos |
시스템에 등록된 소프트웨어 저장소를 표시한다. |
| 저장소 새로고침 | zypper refresh |
활성화된 저장소의 패키지 메타데이터를 갱신한다. |
| 명령어 도움말 | zypper help download |
지정한 하위 명령어의 옵션과 사용법을 출력한다. |
패키지 설치
저장소에서 패키지 설치
sudo zypper install <패키지명>
활성화된 저장소에서 지정한 패키지를 검색하고, 필요한 의존성 패키지를 함께 설치한다.
install은 in으로 줄여서 사용할 수도 있다.
sudo zypper install vim
```
# 단축 명령어
sudo zypper in vim
```
여러 패키지를 한 번에 설치하려면 패키지 이름을 공백으로 구분한다.
sudo zypper install vim curl wget
sudo zypper refresh를 먼저 실행하는 것이 좋다.
로컬 RPM 파일 설치
sudo zypper install ./<패키지명>.rpm
현재 디렉터리에 있는 RPM 파일을 설치한다.
파일명 앞에 ./ 또는 절대 경로를 지정하면 Zypper가 패키지 이름이 아닌 로컬 파일로 인식한다.
sudo zypper install ./example-package.rpm
```
# 절대 경로 사용
sudo zypper install /tmp/example-package.rpm
```
rpm -ivh와 달리 Zypper는 등록된 저장소를 이용해 부족한 의존성 패키지를 해결할 수 있다.
다만 필요한 의존성 패키지가 활성화된 저장소에 존재하지 않으면 설치가 실패한다.
필요한 패키지를 먼저 다운로드한 후 설치
sudo zypper install --download-in-advance ./<패키지명>.rpm
--download-in-advance 옵션은 설치 트랜잭션에 필요한 RPM 파일을 모두 다운로드한 다음
실제 설치 작업을 시작하도록 지정한다.
네트워크 연결이 불안정한 환경에서는 일부 패키지를 설치한 뒤 나머지 파일 다운로드에 실패하는 상황을 줄이는 데 도움이 된다. 전체 파일이 준비되므로 설치 전에 파일 충돌 검사도 더 정확하게 수행할 수 있다.
sudo zypper install --download-in-advance nginx
--download-in-advance가 기본 다운로드·설치 방식으로 안내된다.
명시적으로 옵션을 적으면 스크립트의 실행 의도를 더 분명하게 표현할 수 있다.
:contentReference[oaicite:0]{index=0}
RPM 파일만 다운로드
패키지 하나 다운로드
zypper download <패키지명>
패키지를 시스템에 설치하지 않고 RPM 파일만 내려받는다. 오프라인 서버에 전달하거나 패키지 파일을 별도로 분석해야 할 때 사용할 수 있다.
zypper download curl
여러 패키지 한 번에 다운로드
zypper download <패키지1> <패키지2> <패키지3>
다운로드할 패키지 이름을 공백으로 구분해 여러 개를 지정할 수 있다.
zypper download curl wget vim
zypper download는 지정한 패키지의 RPM 파일을 받는 용도다.
해당 패키지를 다른 시스템에 설치할 때 필요한 모든 의존성 RPM까지 자동으로 완전하게 수집한다는 의미는 아니다.
오프라인 설치 자료를 준비할 때는 의존성 포함 여부를 별도로 확인해야 한다.
시스템에서 download 명령을 인식하지 못한다면 현재 Zypper의 하위 명령어 목록과
설치된 확장 기능을 확인한다.
zypper help
```
zypper help download 설치된 패키지 검색
zypper search -i <패키지명>
search는 저장소에서 검색 가능한 패키지를 조회하며,
-i 또는 --installed-only 옵션을 사용하면 설치된 패키지만 표시한다.
zypper search -i curl
```
# search 단축 명령어 사용
zypper se -i curl
```
패키지 이름을 정확히 모를 때는 일부 문자열만 입력해 검색할 수 있다.
zypper se -i python
검색 결과의 상태 열에서는 사용자가 직접 설치한 패키지와 의존성으로 자동 설치된 패키지가 서로 다른 상태 값으로 표시될 수 있다. :contentReference[oaicite:1]{index=1}
특정 라이브러리를 제공하는 패키지 검색
zypper search --provides '<라이브러리명>'
프로그램 실행 중 공유 라이브러리나 특정 파일이 없다는 오류가 발생했을 때, 해당 파일 또는 기능을 제공하는 패키지를 찾는 데 사용한다.
zypper search --provides 'libssl.so.3'
```
zypper search --provides '/usr/bin/curl'
```
검색 문자열에 * 같은 셸 특수문자가 들어갈 수 있으므로
작은따옴표로 감싸는 것이 안전하다.
저장소 목록 확인
zypper lr
lr은 repos 명령의 단축형이다.
등록된 저장소의 번호, 별칭, 이름, 활성화 상태와 자동 새로고침 여부를 확인할 수 있다.
zypper repos
```
# 저장소 URL과 우선순위 등 상세 정보 표시
zypper repos --details
# 단축 옵션
zypper lr -d
```
저장소 번호는 저장소를 추가하거나 삭제한 뒤 변경될 수 있으므로, 자동화 스크립트에서는 번호보다 고유한 저장소 별칭을 사용하는 것이 안전하다.
저장소 새로고침
sudo zypper ref
ref는 refresh의 단축형이다.
활성화된 저장소에서 최신 패키지 목록과 메타데이터를 내려받아 로컬 캐시를 갱신한다.
sudo zypper refresh
패키지를 찾지 못하거나 저장소의 패키지 버전이 실제 서버와 맞지 않을 때 먼저 실행할 수 있다.
저장소 메타데이터를 강제로 다시 내려받으려면 --force 옵션을 사용한다.
sudo zypper refresh --force
```
# 단축형
sudo zypper ref -f
```
Download 명령어 도움말 확인
zypper help download
특정 하위 명령어에서 지원하는 옵션, 인수와 사용 예시를 확인한다. 설치된 Zypper 버전에 따라 지원되는 옵션이 다를 수 있으므로 운영 서버에서는 로컬 도움말을 우선 확인하는 것이 정확하다.
동일한 방식으로 다른 명령어의 도움말도 확인할 수 있다.
zypper help install
```
zypper help search
zypper help repos
zypper help refresh 실무에서 자주 사용하는 실행 순서
저장소를 갱신한 후 패키지를 검색하고 설치하는 기본 흐름은 다음과 같다.
# 1. 저장소 상태 확인
```
zypper lr -d
# 2. 저장소 메타데이터 새로고침
sudo zypper ref
# 3. 패키지 검색
zypper se nginx
# 4. 패키지 설치
sudo zypper in nginx
# 5. 설치 여부 확인
zypper se -i nginx
```
로컬 RPM을 설치해야 하는 경우에는 다음과 같이 진행할 수 있다.
# RPM 파일 확인
```
ls -lh ./example-package.rpm
# 전체 패키지를 먼저 다운로드한 후 설치
sudo zypper install --download-in-advance ./example-package.rpm
# 설치 결과 검색
zypper se -i example-package 명령어 실행 시 주의사항
- 패키지 설치와 저장소 새로고침은 일반적으로 관리자 권한이 필요하다.
- 운영 서버에서는 설치 전 변경 대상 패키지와 의존성 목록을 확인한다.
- 외부 RPM은 배포처, GPG 서명, SUSE 버전과 아키텍처 호환성을 확인한다.
- 저장소 우선순위와 공급업체가 다르면 예기치 않은 패키지 교체가 발생할 수 있다.
- 트랜잭션 기반 읽기 전용 시스템에서는 일반 Zypper 대신 별도의 업데이트 방식이 적용될 수 있다.
실제 설치를 수행하지 않고 결과를 미리 확인하려면 지원되는 환경에서 --dry-run을 활용한다.
sudo zypper install --dry-run <패키지명>
정리
SUSE Linux에서 Zypper를 사용하면 저장소 패키지와 로컬 RPM을 동일한 방식으로 관리할 수 있다.
일반적인 작업에서는 zypper ref로 저장소 정보를 갱신하고,
zypper se로 패키지를 검색한 다음 zypper in으로 설치한다.
RPM 파일만 필요할 때는 zypper download를 사용하고,
특정 라이브러리를 제공하는 패키지를 찾을 때는 zypper search --provides를 사용하면 된다.
옵션 지원 여부가 불확실한 경우에는 현재 시스템의 zypper help 결과를 기준으로 판단해야 한다.
'지식 공유 > Server' 카테고리의 다른 글
| 중첩 본딩의 위험과 MLAG를 이용한 2:2 단일 본딩 40G 구성 방법 (0) | 2026.07.23 |
|---|---|
| SUSE OS에서 PostgreSQL 기반 DBMS 대용량 처리 문제 정리 (0) | 2026.06.24 |
| SUSE Enterprise 16 SSH 포트 변경과 PuTTY 인증 메시지 정리 (0) | 2026.06.24 |
| 신규 개발 쿠버네티스 서버 구축과 기존 개발 클러스터 연동 방안 (0) | 2026.06.22 |
| WAS WildFly 설치 방법과 기본 설정 순서 (1) | 2026.06.20 |
