ZYpp
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
ZYpp는 SUSE Linux 배포판의 소프트웨어 관리 엔진으로, 패키지 관리를 위한 명령줄 유틸리티이다. 2003년 Novell이 Ximian과 SUSE Linux를 인수하면서 기존 패키지 관리 시스템의 통합 필요성에 따라 개발되었다. 초기에는 Red Carpet의 해결자를 이식하여 사용했으나, 종속성 문제와 속도 저하 등의 문제로 인해 SAT 솔버를 통합하여 성능을 개선했다. Zypper는 저장소 관리, 소프트웨어 설치/제거, 업데이트 관리, 패키지 정보 검색 등 다양한 기능을 제공하며, 'zypper moo' 명령어를 통해 이스터 에그를 확인할 수 있다.
더 읽어볼만한 페이지
- 리눅스 패키지 관리 관련 소프트웨어 - 어드밴스트 패키징 툴
어드밴스트 패키징 툴(APT)은 데비안 계열 리눅스 배포판에서 패키지를 관리하는 도구 모음으로, 패키지 설치, 삭제, 업데이트, 업그레이드 기능을 제공하며, 특히 패키지 간 의존성을 자동 관리하는 특징을 가진다. - 리눅스 패키지 관리 관련 소프트웨어 - DNF (소프트웨어)
DNF는 Yum의 후속 패키지 관리 시스템으로, libsolv 라이브러리를 사용하여 의존성 해결 능력을 향상시키고 페도라를 포함한 여러 리눅스 배포판에서 사용되며, 다양한 명령어를 통해 패키지 관리를 수행한다. - 자유 패키지 관리 시스템 - F-Droid
F-Droid는 2010년 키어런 걸트니엑스가 설립한 안드로이드용 자유 소프트웨어 앱 저장소로, 구글 플레이 스토어에 없는 자유/오픈 소스 소프트웨어 앱을 제공하며 감시, 검열 저항, 개인 정보 보호에 중점을 둔 클라이언트 앱, 저장소 관리 도구, 웹사이트 생성기 등의 하위 프로젝트로 구성된다. - 자유 패키지 관리 시스템 - 어드밴스트 패키징 툴
어드밴스트 패키징 툴(APT)은 데비안 계열 리눅스 배포판에서 패키지를 관리하는 도구 모음으로, 패키지 설치, 삭제, 업데이트, 업그레이드 기능을 제공하며, 특히 패키지 간 의존성을 자동 관리하는 특징을 가진다. - 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 브루클린 미술관
브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다. - 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 광주지방기상청
광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.
| ZYpp - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 기본 정보 | |
| 이름 | ZYpp |
| 종류 | 패키지 관리자 |
| 라이선스 | GNU 일반 공중 사용 허가서 |
| 웹사이트 | Libzypp 프로젝트 홈페이지 |
| 개발 | |
| 개발자 | 오픈수세 |
| 프로그래밍 언어 | C++ |
| 출시 | |
| 최초 출시일 | 2006년 1월 14일 |
| 최신 안정 버전 | 17.23.6 |
| 최신 안정 버전 출시일 | 2020년 6월 4일 |
| 기타 | |
| 운영체제 | 리눅스 |
2. 역사
libzypp는 2003년 노벨이 Ximian과 SuSE GmbH를 인수하면서, 기존의 패키지 관리 시스템인 YaST와 Red Carpet을 통합해야 할 필요성에서 탄생했다.[1] 초기 버전은 Red Carpet 해결자를 이식하여 개발되었으나, 여러 한계와 불안정성 문제를 겪었다.[6] openSUSE 10.1 및 10.2 릴리스에서 이러한 문제점들이 드러났고, 10.3 릴리스에서는 ZMD 데몬이 제거되었다. ZYpp v3는 기능은 우수했지만, 속도 성능에 제한이 있었다.
의존성 해결 속도를 개선하기 위해 SAT 솔버가 도입되었다.[7] 최적 패키지 설치/제거 관리자(OPIUM)[8][9] 및 MANCOOSI[23] 같은 프로젝트에서 영감을 받아, 충족 가능성 문제 해결에 널리 사용되는 minisat 솔버를 기반으로 한 SAT 알고리즘이 ZYpp 스택에 통합되었다.[11]
SAT 솔버는 데이터 사전 방식을 사용하여 패키지 및 의존성 정보를 효율적으로 저장하고 검색하며, 패키지 의존성 계산에 만족성을 사용한다. 이를 통해 ZYpp는 다른 RPM 기반 패키지 관리자보다 속도와 크기 면에서 우위를 확보하게 되었다.[12][13]
2. 1. 개발 배경 (목적)
2003년 노벨은 Ximian과 SuSE GmbH를 연이어 인수하면서, 기존에 사용하던 두 패키지 관리 시스템인 YaST 패키지 관리자와 Red Carpet을 통합해야 했다. 당시 노벨에서 이 두 솔루션을 모두 사용하고 있었기 때문이다. 2005년에 이용할 수 있었던 기존 오픈 소스 도구들은 노벨의 요구 사항을 충족시키지 못했고, Ximian과 SUSE가 개발한 기존 리눅스 관리 인프라 소프트웨어와의 호환성 문제도 있었다.이에 따라 노벨은 기존 시스템의 장점을 결합한 새로운 패키지 관리 시스템을 개발하기로 결정했다. 그 결과물인 Libzypp는 SUSE 배포판의 소프트웨어 관리 엔진이자 노벨 ZENworks 관리 제품군의 리눅스 관리 구성 요소로 사용될 예정이었다.[1]
2. 2. 초기 개발 및 한계
Libzypp의 해결자는 설치된 시스템의 패키지를 업데이트하기 위해 작성된 Red Carpet 해결자에서 이식되었다. 이를 전체 설치 프로세스에 사용하면서 한계에 도달했고, 약한 종속성 및 패치 지원과 같은 확장을 추가하면서 불안정하고 예측 불가능하게 되었다.[6] ZYpp의 이 첫 번째 버전의 해결자는 ZMD 데몬과 결합된 회사의 엔터프라이즈 제품에서 만족스럽게 작동했지만, 2006년 5월에 출시된 openSUSE 10.1 릴리스에서 시스템 패키지가 예상대로 작동하지 않는 결과를 초래했다. 2006년 12월, openSUSE 10.2 릴리스는 ZYpp v2를 재검토하여 이전 릴리스의 몇 가지 결함을 수정했다. ZMD는 이후 10.3 릴리스에서 제거되었으며 회사의 엔터프라이즈 제품에만 사용하도록 예약되었다. ZYpp v3는 기능적으로는 우수했지만, 구현상의 몇 가지 결함으로 인해 속도 성능이 크게 제한되었다.2. 3. SAT 솔버 통합
Libzypp에서 개선이 필요했던 부분은 의존성 해결 속도였다. libsolv는 수정된 BSD 라이선스로 작성 및 배포되었다.[7]최적 패키지 설치/제거 관리자(OPIUM)[8][9] 및 MANCOOSI[23] 등의 프로젝트는 SAT 솔버를 사용하여 의존성 문제를 해결하려고 시도했다. Advanced Packaging Tool(APT) 등의 기존 솔버는 때때로 용납할 수 없는 결함을 보였다. ZYpp 스택에 SAT 알고리즘을 통합하기로 결정했으며, 사용된 솔버 알고리즘은 널리 사용되는 minisat 솔버를 기반으로 했다.[11]
openSUSE 11.0에 나타나는 SAT 솔버 구현은 다음과 같은 두 가지 주요 블록을 기반으로 한다.
- 데이터 사전 방식을 사용하여 패키지 및 의존성 정보를 저장하고 검색한다. 새로운 solv 형식이 생성되었으며, 이는 저장소를 문자열 사전, 관계 사전, 그리고 모든 패키지 의존성으로 저장한다. 여러 solv 저장소를 읽고 병합하는 데 몇 밀리초밖에 걸리지 않는다.
- 패키지 의존성을 계산하기 위해 만족성을 사용한다. 충족 가능성 문제는 연구가 많이 진행된 문제이며 많은 예제 솔버가 있다. 패키지 해결 복잡성이 SAT 솔버가 사용되는 다른 영역에 비해 매우 낮기 때문에 매우 빠르다. 또한 복잡한 알고리즘이 필요하지 않으며 문제가 해결 불가능한 이유에 대한 증거를 계산하여 이해할 수 있는 제안을 제공할 수 있다.
몇 달간의 작업 후, SAT 솔버가 통합된 이 네 번째 ZYpp 버전의 벤치마크 결과는 매우 고무적이었으며, YaST와 Zypper는 다른 RPM 기반 패키지 관리자보다 속도와 크기 면에서 우위를 보였다.[12][13]
3. Zypper 사용법
Zypper 사용법은 다음과 같다.[27] 괄호 안은 명령어의 축약형이다.
3. 1. 저장소 관리
ZYpp는 저장소 목록을 표시하고 갱신하는 기능을 제공한다.저장소 목록을 보려면 다음 명령어를 사용한다.
저장소를 갱신하려면 다음 명령어를 사용한다.
3. 2. 소프트웨어 관리
ZYpp는 다음과 같은 기능을 통해 소프트웨어를 관리한다.- 패키지 설치: `zypper install (in) 패키지 이름`
- 특정 패키지 삭제: `zypper remove (rm) 패키지 이름`
- 불필요해진 패키지 자동 삭제: `zypper remove (rm) --clean-deps 패키지 이름`
3. 3. 업데이트 관리
ZYpp는 패키지를 개별적으로 업데이트하거나, 수정(패치)을 통해 업데이트하는 기능을 제공한다.[27]- 패키지 업데이트:
```bash
zypper update (up)
```
- 사용 가능한 업데이트 목록 표시:
```bash
zypper list-updates (lu)
```
- 수정 설치:
```bash
zypper patch
```
- 적용 가능한 수정 목록 표시:
```bash
zypper list-patches (lp)
3. 4. 패키지 정보 검색
ZYpp영어는 다음 명령어를 통해 패키지를 검색할 수 있다.```bash
zypper search(se) 패키지명
```
ZYpp영어는 다음 명령어를 통해 패키지의 상세 정보를 확인할 수 있다.
```bash
zypper info(if) 패키지명
3. 5. 이스터 에그
zypper영어에는 이스터 에그가 하나 있는데, 터미널에 `zypper moo`를 입력하면 볼 수 있다.참조
[1]
문서
Earliest known changelog
https://github.com/o[...]
[2]
웹사이트
Acronyms - openSUSE Wiki
https://en.opensuse.[...]
[3]
웹사이트
Libzypp documentation
https://doc.opensuse[...]
[4]
웹사이트
Libzypp project homepage
https://en.opensuse.[...]
[5]
웹사이트
Another look at Linux packaging systems
https://arklinux.wor[...]
2009-06
[6]
웹사이트
Michael Schroeder, History of satsolver
https://github.com/o[...]
2021-11-26
[7]
웹사이트
libsolv on github
https://github.com/o[...]
2021-11-26
[8]
간행물
OPIUM: OPtimal Package Install/Uninstall Manager
https://www.cs.ucsd.[...]
ICSE'07
[9]
간행물
Report on formal management of software dependencies
http://www.edos-proj[...]
Deliverable 2
2009-06-06
[10]
간행물
On SAT Technologies for dependency management and beyond
http://www.mancoosi.[...]
Limerick
[11]
웹사이트
Minisat.se
http://minisat.se/
[12]
웹사이트
yum and ZYpp speed / memory usage
http://duncan.mac-vi[...]
2008-10-23
[13]
웹사이트
Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar
https://news.opensus[...]
2017-10-15
[14]
웹사이트
libzypp.changes
https://github.com/o[...]
GitHub
2019-10-21
[15]
웹사이트
Releases
https://github.com/o[...]
GitHub
2020-06-05
[16]
웹사이트
Libzypp documentation
http://doc.opensuse.[...]
2017-11-19
[17]
웹사이트
Libzypp project homepage
http://en.opensuse.o[...]
2017-11-19
[18]
웹사이트
Another look at Linux packaging systems
http://arklinux.word[...]
2017-11-19
[19]
웹사이트
Michael Schroeder, History of satsolver
http://git.opensuse.[...]
2017-11-19
[20]
웹사이트
libsolv on github
https://github.com/o[...]
2017-11-19
[21]
간행물
OPIUM: OPtimal Package Install/Uninstall Manager
http://www.cs.ucsd.e[...]
ICSE'07
[22]
간행물
Report on formal management of software dependencies
http://www.edos-proj[...]
Deliverable 2
2006-03
[23]
간행물
On SAT Technologies for dependency management and beyond
http://www.mancoosi.[...]
Limerick
[24]
웹사이트
Minisat.se
http://minisat.se/
2017-11-19
[25]
웹사이트
yum and ZYpp speed / memory usage
http://duncan.mac-vi[...]
2008-10-23
[26]
웹사이트
Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar
http://news.opensuse[...]
2017-10-15
[27]
웹사이트
SDB:Zypper usage
https://en.opensuse.[...]
openSUSE project
2018-08-23
[28]
문서
Earliest known changelog
https://github.com/o[...]
[29]
웹인용
Libzypp documentation
https://doc.opensuse[...]
[30]
웹인용
Libzypp project homepage
https://en.opensuse.[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com