ZYpp
ZYpp초기 릴리즈 | 2006년 1월 14일;[1] | 전
---|---|
안정적 해제 | 17.25.10[2] / 2021년 4월 28일; |
리포지토리 | |
기록 위치 | C++ |
운영 체제 | 리눅스 |
유형 | 패키지 관리자 |
면허증 | GNU 일반 공중 사용권 |
웹 사이트. | en |
ZYpp(또는 libzypp; "Jen / YaST Package Patches Patterns Products")[3]는 YaST, Zyper와 같은 Linux 애플리케이션과 개방형 PackageKit 구현을 지원하는 패키지 관리자 엔진이다.SUSE 및 SUSE 리눅스 Enterprise.[4]일부 더 기본적인 패키지 매니저와는 달리, 그것은 패키지 의존성을 계산하는 만족스러운 해결사를 제공한다.[5]Novell이 후원하고 GNU General Public License v2 이상의 조건에 따라 라이센스가 부여된 무료 오픈소스 소프트웨어 프로젝트다.ZYpp는 주로 프로그래밍 언어 C++로 구현된다.
Zypper는 로컬 또는 원격(네트워크화된) 미디어의 소프트웨어 패키지를 설치, 제거, 업데이트 및 쿼리하기 위한 ZYpp 패키지 관리자의 기본 명령줄 인터페이스다.그 그래픽은 YaST 패키지 매니저 모듈이다.그것은 개방적으로 사용되어 왔다.버전 10.2 베타1 이후 SUSE.열려 있음SUSE 11.1, 자이퍼는 버전 1.0에 도달했다.2009년 6월 2일 Arc Linux는 종속성 해결사 검토를 완료하고 ZYpp와 노후화된 APT-RPM을 대체할 도구를 첫 번째 배포로 선택했다고 발표했다.[6]자이퍼는 모바일 리눅스 배포판 미고, 세일피시 OS, 타이젠의 일부분이다.
역사
목적
2003년 시미안과 SusE GmbH를 연속 인수한 후, Novell은 지금까지 Novell에서 두 가지 솔루션이 사용되었기 때문에 최상의 방식으로 YaST 패키지 매니저와 Red Carpet을 통합하기로 결정했다.현존하는 오픈 소스 툴과 2005년에 이용 가능한 그 성숙도를 살펴보면, 그 어떤 것도 요건을 충족시키지 못했으며, 시미안, SUSE가 개발한 현존하는 리눅스 관리 인프라 소프트웨어와도 원활하게 작동할 수 있었기 때문에, 현존하는 제품에서 최고의 아이디어를 얻어 새로운 구현에 힘쓰기로 결정했다.결과 라이브러리인 Libzypp는 SUSE 배포의 소프트웨어 관리 엔진과 Novell ZENworks Management 제품군의 리눅스 관리 구성요소가 될 계획이었다.
초기
Libzypp의 해결사는 설치된 시스템의 패키지를 업데이트하기 위해 작성된 레드 카펫 해결사의 포트였다.이를 전체 설치 프로세스에 사용함으로써 한계점에 이르렀고, 취약한 종속성 및 패치 지원 등의 확장을 추가하면 취약하고 예측할 수 없게 되었다.[7]이 ZYpp의 첫 번째 버전은 만족스럽게 작동했지만, ZMD 데몬이 결합된 회사 엔터프라이즈 제품에 대해서는 오픈으로 이어졌다.2006년 5월에 출시된 SUSE 10.1 릴리즈는 시스템 패키지가 예상대로 작동하지 않는다.2006년 12월 오픈SUSE 10.2 릴리즈는 재방문된 ZYpp v2를 사용하여 이전 릴리즈의 일부 결함을 수정했다. 이후 ZMD는 10.3 릴리즈에서 제거되었고 기업용 제품만을 위해 예약되었다.ZYpp v3가 열린 상태로 제공되는 동안기존 패키지 매니저에 버금가는 비교적 우수한 패키지 매니저를 보유한 SUSE는 구현에 일부 결함이 발생해 속도 성능이 크게 제한됐다.
SAT 해결사 통합
libzypp가 개선이 필요한 영역은 의존성 해결사의 속도였다.libsolv는 개정된 BSD 면허에 따라 작성되어 발매되고 있다.[8]
OPIUM([9][10]Optimal Package Install/Uninstall Manager)과 MANCOOSI와[11] 같은 프로젝트는 SAT 해결기로 종속성 문제를 해결하기 위해 노력하고 있었다.APT(Advanced Packaging Tool)와 같은 전통적인 해결사들은 때때로 받아들일 수 없는 결함을 보여준다.SAT 알고리즘을 ZYpp 스택에 통합하기로 결정되었다. 사용되는 해결사 알고리즘은 인기 있는 미니사트 해결사를 기반으로 했다.[12]
공개된 SAT 해결사 구현SUSE 11.0은 독립적이지만 두 가지 주요 블록을 기반으로 한다.
- 데이터 사전 접근 방식을 사용하여 패키지 및 종속성 정보 저장 및 검색저장소를 문자열 사전, 관계 사전 및 모든 패키지 종속성으로 저장하는 새로운 solv 형식이 생성되었다.여러 solv 리포지토리를 읽고 병합하는 데는 단 밀리초밖에 걸리지 않는다.
- 패키지 종속성 계산에 만족도 사용Boolean 만족도 문제는 많은 모범적인 해결사들을 이용할 수 있는 잘 알려진 문제다.SAT 솔버를 사용하는 다른 분야에 비해 패키지 해결의 복잡성이 매우 낮기 때문에 매우 빠르다.또한 복잡한 알고리즘이 필요하지 않으며, 왜 문제가 해결되지 않는지에 대한 증거를 계산하여 이해할 수 있는 제안을 제공할 수 있다.
수개월의 작업 끝에 SAT 해결사와 통합된 이 네 번째 ZYpp 버전의 벤치마크 결과는 고무적인 수준 이상으로 속도와 크기 면에서 YaST와 Zypper가 다른 RPM 기반 패키지 관리자보다 앞서고 있다.[13][14]
참고 항목
참조
- ^ 가장 먼저 알려진 변경 로그
- ^ "Release 17.25.10". 28 April 2021. Retrieved 24 May 2021.
- ^ "Acronyms - openSUSE Wiki".
- ^ "Libzypp documentation".
- ^ "Libzypp project homepage".
- ^ "Another look at Linux packaging systems". June 2009.
- ^ "Michael Schroeder, History of satsolver". GitHub. 26 November 2021.
- ^ "libsolv on github". GitHub. 26 November 2021.
- ^ Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin (2007), "OPIUM: OPtimal Package Install/Uninstall Manager" (PDF), 29th International Conference on Software Engineering, ICSE'07.
- ^ EDOS Project Workpackage 2 Team (March 2006), "Report on formal management of software dependencies", EDOS Project Deliverable Work Package 2, Deliverable 2.
- ^ Le Berre, Daniel; Parrain, Anne (2008), "On SAT Technologies for dependency management and beyond" (PDF), ASPL 2008, Limerick, Mancoosi.org.
- ^ "Minisat.se".
- ^ "yum and ZYpp speed / memory usage". 16 May 2008. Retrieved 23 October 2008.
- ^ "Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar". 6 June 2008. Retrieved 15 October 2017.