웹사이트 검색

openSUSE 사용자를 위한 Zypper 패키지 관리자 사용자 안내서


실용적인 예제를 통해 openSUSE의 패키지 관리자 Zypper를 사용하는 방법을 배우고 소프트웨어와 저장소를 손쉽게 설치, 업데이트 및 관리하는 방법을 알아보세요.

Zypper는 openSUSE, SUSE Linux Enterprise 및 그 파생 배포판에서 사용되는 명령어 기반 패키지 관리자입니다(DEB 기반 시스템의 APT나 RPM 기반 시스템의 DNF와 유사). 사용자가 소프트웨어 패키지와 저장소를 설치, 업데이트, 제거 및 관리할 수 있는 빠르고 유연한 방법을 제공하며, 시스템의 소프트웨어 환경을 완전히 제어할 수 있게 해줍니다.

Zypper는 내부적으로 RPM 패키지와 함께 작동합니다. RPM 패키지는 많은 RPM 기반 리눅스 배포판에서 사용되는 동일한 패키지 형식입니다. Zypper는 의존성을 해결하고, 저장소를 관리하며, 트랜잭션을 안전하고 효율적으로 처리하는 백엔드 라이브러리인 libzypp에 의존합니다.

이 가이드에서는 실용적인 Zypper 명령어와 실제 사례를 통해 새로운 애플리케이션을 설치하고, 시스템을 최신 상태로 유지하며, 패키지를 검색하고, 리포지토리를 관리하는 방법 등을 보여드릴 것입니다. 마지막에는 터미널에서 openSUSE 시스템을 효율적으로 관리할 수 있을 만큼 자신감을 가지시길 바랍니다.

Zypper에 이미 익숙하고 특정 명령어나 옵션을 다시 확인하고 싶다면 아래 예제를 빠른 참조용으로 사용할 수도 있습니다.

Zypper 명령어 치트 시트: 짧은 버전과 긴 버전

Zypper는 거의 모든 작업을 수행하는 두 가지 방법을 제공합니다 — 속도와 편의를 위한 짧은 형태와 가독성과 명확성을 위한 긴 형태입니다. 짧은 형태는 빠른 명령에 편리하기 때문에 실제로 널리 사용되며, 긴 형태는 더 명확하여 스크립트나 문서에서 자주 사용됩니다.

어떤 것을 선택하든 전적으로 당신에게 달려 있습니다 — 결과는 동일합니다. 단순함을 위해, 그리고 일반적으로 사용하는 방법이기 때문에, 아래 예제에서는 축약형을 사용하겠습니다. 하지만 실제 사용에 들어가기 전에, 가장 자주 사용하는 Zypper 명령어의 축약형과 전체형을 보여주는 표를 먼저 보겠습니다.

짧은긴설명
안에설치하다패키지 설치
rm제거하다패키지 제거(삭제)
위업데이트설치된 패키지 업데이트
복제배포 업그레이드배포 업그레이드 수행(스마트 해결사)
루업데이트 목록사용 가능한 업데이트 목록
ve확인하다패키지 의존성을 확인하고 수정합니다
세검색패키지 검색
만약정보상세 패키지 정보 보기
파패키지사용 가능한 또는 설치된 모든 패키지 목록
lr레포지토리모든 저장소 목록
아르저장소 추가저장소 추가
rr레포 제거저장소 제거
참조새로 고침저장소 메타데이터 새로 고침
깨끗한깨끗한캐시 및 메타데이터 정리

패키지 베이스 새로 고침

가장 자주 사용하게 될 Zypper 명령어 중 하나인 zypper ref(또는 zypper refresh)부터 시작하겠습니다. 이 명령어는 패키지 기반을 새로 고칩니다. 명령어를 실행하면 Zypper가 각 저장소 서버에 접속하여 최신 메타데이터—패키지 목록, 버전, 의존성, 업데이트 정보를 다운로드합니다.

sudo zypper ref

패키지 기반을 새로 고치는 중입니다.

새로 고침은 아무 것도 설치하지 않는다는 점을 기억하세요. 새로 고침은 단순히 업데이트를 확인하거나 적용하기 전에 시스템이 가장 최신 패키지 정보를 가지고 있는지 확인하는 역할을 합니다.

대부분의 워크플로에서는, 이러한 작업이 최신 메타데이터를 필요로 하기 때문에 zypper lu, zypper up, zypper dup와 같은 명령을 실행하기 전에 이것이 첫 번째 단계입니다.

사용 가능한 패키지 업데이트 확인

zypper lu (또는 zypper list-updates)는 저장소 메타데이터가 오래된 경우 자동으로 갱신하며 시스템의 모든 패키지 중 업데이트 가능한 버전을 나열합니다. 설치는 수행하지 않으며, 순수하게 정보 제공 목적입니다.

sudo zypper lu

사용 가능한 패키지 업데이트를 확인하세요.

v로 표시된 각 줄은 사용 가능한 최신 버전이 있는 패키지를 나타내며, 해당 패키지의 저장소, 현재 버전, 사용 가능한 버전 및 아키텍처와 함께 표시됩니다.

이미 아시겠지만, zypper lu를 실행하기 전에 zypper ref를 실행할 필요는 없습니다. 왜냐하면 zypper lu는 실제로 저장소 메타데이터가 오래된 경우 자동으로 갱신하기 때문입니다.

패키지 업데이트 적용

zypper up (또는 zypper update)는 가장 일반적으로 사용되는 Zypper 명령 중 하나로, 시스템에 사용 가능한 모든 일반 패키지 업데이트를 설치합니다. 이 명령은 현재 저장소 메타데이터를 기반으로 작동하며, 필요할 경우 Zypper가 진행 전에 자동으로 저장소를 새로 고칩니다.

sudo zypper up

패키지 업데이트를 적용하세요.

전체 시스템 업그레이드

zypper dup (또는 zypper dist-upgrade)는 모든 사용 가능한 업데이트를 설치하므로 zypper up를 대체할 수 있습니다. 그러나 필요할 때는 더 나아가 패키지 공급업체를 전환하거나, 이름이 변경된 패키지를 설치하거나, 오래되거나 쓸모없는 패키지를 제거하여 시스템을 활성화된 저장소와 일치하도록 유지할 수 있습니다.

sudo zypper dup

전체 시스템/배포 업그레이드

대부분의 업데이트는 두 명령어 아래에서 비슷하게 보이지만, 패키지가 이전 구성 요소를 제거하거나 다른 리포지토리로 이동해야 할 때는 zypper dup만이 이러한 변경을 수행할 수 있습니다. 이것이 배포 업그레이드에 사용되는 이유이며, 때때로 더 이상 어떤 리포지토리에서도 제공되지 않는 패키지를 제거할 수 있는 이유입니다.

패키지 검색

zypper se (또는 zypper search)를 사용하여 이름이나 설명으로 패키지를 찾으세요. 이 명령은 모든 활성화된 저장소를 검색하고 설치된 패키지와 사용 가능한 패키지를 포함한 일치하는 결과를 표시합니다. 예를 들어:

zypper se firefox

패키지를 검색하세요.

S 열은 패키지 상태를 보여줍니다(예: 설치된 경우 i), 그 다음 Name 열에는 정확한 패키지 이름이, Summary 열에는 간단한 설명이, 그리고 Type 열에는 일반 패키지인지, 패턴인지, 또는 다른 패키지 유형인지를 나타냅니다.

설치된 패키지만 검색하려면 -i 옵션을 추가하세요:

zypper se -i firefox

설치된 패키지에서만 검색합니다.

이 필터는 이름과 일치하는 설치된 패키지만 결과에 표시되도록 합니다. 아무 것도 반환되지 않으면 패키지가 설치되지 않은 것입니다.

패키지 설치

사용 가능한 저장소에서 새 패키지를 시스템에 추가하려면 zypper in (또는 zypper install)을 사용하세요. 이 명령어는 의존성을 자동으로 해결하고 선택한 패키지가 실행되는 데 필요한 모든 것을 설치합니다. 예를 들어:

sudo zypper in chromium

패키지를 설치하세요.

여러 패키지를 동시에 설치하려면 패키지 이름을 공백으로 구분하여 차례대로 나열하세요.

sudo zypper in chromium htop vlc

패키지 제거

시스템에서 패키지를 제거하려면 zypper rm(또는 zypper remove)을 사용하세요. 이 명령은 다른 설치된 패키지가 필요로 하지 않는 한 더 이상 필요하지 않은 의존성도 제거합니다. 예를 들어:

sudo zypper rm chromium

패키지를 제거하세요.

설치 명령어와 마찬가지로, openSUSE 시스템에서 여러 패키지를 제거하려면 패키지 이름을 공백으로 구분하여 순서대로 입력하세요.

sudo zypper rm chromium htop vlc

패키지 정보 보기

패키지에 대한 상세 정보를 확인하려면 zypper if (또는 zypper info)를 사용하세요. 여기에는 버전, 제공자, 저장소, 설치 상태, 요약, 설명 및 의존성이 포함됩니다. 예를 들어:

zypper info chromium

패키지 정보를 보여 주세요.

이것은 openSUSE에서 어떤 패키지 버전이 설치되어 있는지, 그리고 어느 저장소에서 제공하는지를 확인하는 가장 빠른 방법입니다.

설치된 패키지 확인

설치된 모든 패키지가 필요한 종속성을 충족하는지 확인하려면 zypper ve (또는 zypper verify)를 사용하세요. 수동 파일 삭제, 업데이트 중단, 또는 저장소 혼합 후에 문제가 발생하면, 이 명령어가 문제를 식별하고 해결 방법을 제안합니다.

sudo zypper ve

설치된 패키지를 확인하세요.

Zypper는 시스템을 검사하고 모든 의존성 문제를 보고하며, 필요할 경우 일관성을 복원하기 위해 패키지를 설치하거나 제거할 것을 제안합니다.

캐시된 데이터 삭제

다운로드한 패키지 파일과 메타데이터와 같은 캐시된 저장소 데이터를 제거하려면 zypper clean를 사용하세요. 이렇게 하면 디스크 공간을 확보하고 zypper가 다음에 저장소에 접근할 때 최신 메타데이터를 가져오도록 강제할 수 있습니다.

sudo zypper clean

소프트웨어 저장소 관리

Zypper는 openSUSE 시스템이 패키지를 설치하고 업데이트하는 데 사용하는 소프트웨어 저장소를 완전히 제어할 수 있도록 합니다. 몇 가지 간단한 명령어만으로 명령줄에서 직접 저장소를 나열, 추가, 제거, 활성화, 비활성화하거나 설정을 조정할 수 있어 시스템이 소프트웨어를 가져오는 방식을 정확하게 제어할 수 있습니다.

저장소 목록

시스템에 구성된 모든 저장소를 나열하려면 zypper lr (또는 zypper repos)를 사용하세요. 출력에는 각 저장소의 별칭, 이름, 활성화/비활성화 상태, 자동 새로고침 설정, 우선순위 및 URL이 표시됩니다.

zypper lr

모든 저장소를 나열하세요.

저장소 추가

openSUSE 시스템에 저장소를 추가하려면 zypper ar(또는 zypper addrepo)를 사용하여 시스템에 새로운 소프트웨어 저장소를 추가할 수 있습니다. 저장소의 URL을 지정하고 나중에 zypper repos에 나타날 별칭을 설정할 수 있습니다. 예를 들어:

sudo zypper addrepo -f https://download.opensuse.org/repositories/network/openSUSE_Leap_16.0/ network

저장소를 추가하세요.

저장소를 추가한 후, zypper는 패키지를 설치하거나 업데이트할 때 해당 저장소를 포함합니다. 필요에 따라 추가 옵션을 사용하여 자동 새로고침을 활성화하거나 우선순위를 지정할 수도 있습니다.

위 예제에서 -f 옵션은 자동 새로고침을 활성화합니다. 그러나 이미 저장소가 추가되어 있는 경우에는 다음과 같이 자동 새로고침을 켤 수 있습니다:

sudo zypper modifyrepo -f netwrok

여기서 'network'는 저장소의 별칭입니다.

저장소 제거

시스템에서 저장소를 삭제하려면 zypper rr (또는 zypper removerepo)를 사용하세요. zypper lr에 표시된 대로 별칭이나 숫자 ID를 지정하여 제거할 수 있습니다.

sudo zypper rr network

저장소를 제거합니다.

저장소 활성화/비활성화

Zypper는 저장소를 추가하거나 제거할 수 있을뿐만 아니라 이미 있는 저장소를 활성화하거나 비활성화할 수도 있습니다. 저장소를 비활성화하려면 zypper mr -d (또는 zypper modifyrepo -d)를 사용하세요. 저장소는 별칭(alias)이나 zypper lr에 표시된 숫자 ID로 참조할 수 있습니다.

sudo zypper modifyrepo -d network

openSUSE에서 저장소를 비활성화합니다.

마찬가지로, 이를 활성화하려면 zypper md -e (또는 zypper modifyrepo -e)를 사용하세요:

sudo zypper modifyrepo -e network

openSUSE에서 저장소를 활성화합니다.

패턴

마지막으로, 다른 배포판에서는 종종 메타 패키지라고 부르는 편리한 개념을 openSUSE에서는 패턴이라고 하는데, 이를 사용하는 방법을 보여드리겠습니다. 그렇다면 정확히 이것이 무엇일까요?

요약하자면, 패턴은 openSUSE가 완전한 기능 환경이나 역할을 설치하는 데 사용하는 미리 정의된 패키지 그룹입니다. 패키지를 하나씩 설치하는 대신, 패턴은 데스크톱 환경, 개발 도구, 서버 서비스와 같이 특정 작업에 필요한 모든 것을 묶어서 제공합니다.

주요 장점은 무엇일까요? 패턴을 설치하면 필요한 모든 구성 요소, 권장 추가 항목, 그리고 지원 라이브러리를 한 번에 받을 수 있어, 개별 패키지를 일일이 추적하지 않고도 주요 시스템 기능을 쉽게 추가할 수 있습니다.

목록 패턴

시스템에서 사용 가능한 모든 패턴을 나열하려면 zypper pt(또는 zypper patterns)를 사용하세요. 명령어의 출력에는 각 패턴의 이름, 설치 여부 및 제공하는 내용에 대한 간단한 설명이 표시됩니다.

zypper pt

사용 가능한 패턴 목록을 보여 주세요.

설치 패턴

예를 들어 한 번의 명령으로 시나몬(Cinnamon) 데스크톱 환경을 설치하고 싶다고 가정해 봅시다. 예상할 수 있듯이 패턴 이름은 cinnamon입니다. 해당 그룹에 속한 모든 패키지를 설치하려면 zypper in -t pattern 다음에 패턴 이름을 사용하세요.

sudo zypper in -t pattern cinnamon

openSUSE에서 패턴(패키지 그룹) 설치하기.

보시다시피, 이것은 필요한 구성 요소와 권장 구성 요소를 포함하여 전체 시나몬 데스크톱 환경(패턴)을 설치합니다.

하지만, 한 가지 주의해야 할 특이한 점이 있습니다. 패턴을 제거한다고 해서 예상할 수 있듯이 원래 함께 설치된 패키지들이 제거되는 것은 아닙니다. 대신, 개별 패키지들은 수동으로 제거하지 않거나 다른 의존성 변경으로 인해 고아 패키지가 되지 않는 한 그대로 설치되어 있습니다. 따라서, 만약 다음 명령을 실행한다면:

sudo zypper rm -t pattern cinnamon

패턴 제거 중.

패턴 자체만 제거되며, 포함된 패키지는 제거되지 않습니다. 다시 말해, 패턴을 제거해도 해당 메타데이터만 삭제되며, 이전에 설치된 수백 개의 실제 시나몬 패키지는 그대로 남아 있습니다. 그것들을 제거하려면 각 패키지를 수동으로 삭제해야 합니다.

결론

이 가이드에서는 openSUSE에서 소프트웨어를 효율적으로 관리하기 위한 필수 Zypper 명령어를 보여주었습니다. 이제 패키지를 설치, 업데이트, 검색, 제거하고, 패턴을 다루며, 커맨드 라인에서 저장소를 관리하는 방법을 알게 되었습니다.

네, YaST는 이 모든 것을 처리할 수 있는 훌륭한 GUI 도구이지만, Zypper를 아는 것은 그래픽 도구에만 의존하지 않도록 필요한 더 깊은 이해를 제공합니다. 그리고 YaST가 데스크톱 환경에서 모든 것을 다루지만, 서버에서 소프트웨어를 관리하려면 명령어 줄에서 Zypper를 숙달하는 것이 필수적입니다.

물론, Zypper 패키지 관리자는 훨씬 더 많은 옵션을 제공합니다. 공식 openSUSE 문서나 SUSE 웹사이트에서 이러한 옵션들을 익히는 것을 강력히 권장합니다.

시간 내 주셔서 감사합니다. 언제나 그렇듯이, 귀하의 의견을 환영합니다.