Portage(소프트웨어)

Portage (software)
휴대품
Portage-oppdatering.png
이동 중
원저작자대니얼 로빈스
개발자Gentoo 개발자(Funtoo fork용 Funtoo 사용자)
안정된 릴리스
3.0.30 / 2021년 12월 12일, 7개월 전(2021-12-12)[1]
저장소
기입처파이썬
운영 체제Gentoo LinuxGentoo/FreeBSD, Chrome OS, Chrome OS, Sabayon, Funtoo Linux, Calculate Linux
플랫폼POSIX 호환/Python 지원
유형패키지 관리 시스템
면허증.GNU 일반 공중 라이선스 v2
웹 사이트wiki.gentoo.org/wiki/Project:Portage

Portage는 원래 Gentoo LinuxChrome OS, Calculate, Sabayon, Funtoo Linux용으로 작성 및 사용되는 패키지 관리 시스템입니다.Portage는 포트 컬렉션 개념을 기반으로 합니다.Gentoo는 Portage가 매우 유연하기 때문에 메타 배포라고 불리기도 합니다.이것에 의해, operating system[2][3][4][5]의존하지 않게 됩니다.Gentoo/Alt 프로젝트에서는 Portage를 사용하여 BSD, macOS, Solaris 등의 다른 운영체제를 관리하는 것을 고려하고 있습니다.이러한 구현 중 가장 주목할 만한 것은 Gentoo/FreeBSD 프로젝트입니다.

Package Manager Specification Project(PMS;[6] 패키지 매니저 사양 프로젝트)라고 불리는 지속적인 노력이 있습니다.Portage의 동작을 표준화하고 문서화하여 ebuild tree 및 Gentoo 시스템 패키지를 Paludis 및 pkgcore와 같은 대체 패키지 매니저와 함께 사용할 수 있도록 합니다.패키지 매니저와 ebuild의 정확한 기능 및 동작을 특정하여 Portage의 권위 있는 참조가 되는 것을 목적으로 하고 있습니다.

개요

Portage 액세스

포트홀 그래픽 프런트 엔드

Portage는 포트라고 불리는 BSD 스타일의 패키지 관리와 유사하며 원래 FreeB를 사용하여 설계되었습니다.SD의 포트를 [7]염두에 두고 있습니다.Portage는 Python 프로그래밍 언어로 작성되며 Gentoo를 정의하는 주요 유틸리티입니다.시스템 자체는 Portage로 알려져 있지만 ebuild 시스템과 emerge의 두 가지 주요 부분으로 구성되어 있습니다.ebuild 시스템은 패키지 구축 및 설치의 실제 작업을 처리하는 반면 emerge는 ebuild를 위한 인터페이스를 제공합니다. ebuild 저장소 관리, 의존관계 해결 및 유사한 문제.(따라서 이 두 가지는 rpm과 yum 또는 dpkgAPT의 관계와 거의 동일합니다.)

Portage에서는 GTK+ 기반의 GUI(Porthole)를 사용할 수 있습니다.Himerge GUI도 있습니다.Haskell Interface for eMerge를 나타냅니다.

제공되는 기능

Portage의 주요 기능은 사용자가 설치하고자 하는 패키지를 소스 코드에서 컴파일하는 입니다.이를 통해 컴파일러 및 타깃 애플리케이션 옵션을 시스템 사양과 사용자 자신의 희망에 맞게 맞춤화할 수 있습니다.시스템 관리와 관련된 기능에는 병렬 패키지 버전 설치 허용, 크로스 패키지 종속성 추적, 설치된 패키지의 데이터베이스 관리, 로컬 ebuild 저장소 제공, 로컬 Portage 트리 원격 저장소 동기화 등이 있습니다.개별 패키지 설치와 관련된 기능으로는 타깃머신의 컴파일 설정 지정 및 패키지 컴포넌트 선택 등이 있습니다.

portage는 ebuild에서 안정성의 3가지 수준을 구분합니다.예를 들어, 소프트웨어는 출시 시점에 알려진 보안 문제가 없는 상태에서 의도한 대로 작동함), 키워드 마스크(주로 타깃 시스템 아키텍처에서 안정성이 충분히 테스트되지 않은 패키지의 경우) 및 하드 마스크(파손 또는 매우 안전하지 않음) 패키지입니다.

특징들

드러나다

공간 병합FM 파일 매니저

emerge 명령줄 도구는 Portage의 핵심입니다.이 명령어는 많은 옵션과 한정자를 사용하여 커스터마이즈할 수 있습니다.emerge 도구는 명령줄에서 Portage 기능에 액세스하기 위한 가장 중요한 유틸리티입니다.

이 프로그램은 종속성을 계산 및 관리하고 ebuild를 실행하며 설치된 패키지의 로컬 Portage 트리와 데이터베이스를 유지합니다.ebuild가 사용하는 컴파일 설정은 개별 컴퓨터의 사양과 사용자의 최적화 요구에 따라 CFLAGS 환경변수를 통해 변경할 수 있습니다.emerge 유틸리티는 샌드박스 환경에서 ebuild를 실행합니다.이렇게 하면 시스템은 ebuild에 의해 실행되는 소프트웨어로부터 보호되며, 결과적으로 생성되는 바이너리는 빌드 및 샌드박스 설치가 성공한 후에만 병합됩니다.

의존관계로서 인스톨 되는 것은 USE 플래그 설정의 영향을 받습니다.애플리케이션 설치 또는 업그레이드 시 포함할 옵션 기능을 결정합니다.emerge 명령어는 미리 컴파일된 바이너리 파일을 다운로드 및 설치하기 위해서도 사용할 수 있습니다.

USE 플래그

시스템 업데이트 중 이동

Portage 시스템에서는, 「USE 플래그」를 사용할 수 있습니다.이 플래그를 사용하면, 패키지의 빌드중에 포함할(및 제외) 소프트웨어 기능을 지정할 수 있습니다.예를 들어, USE 플래그가 활성화되어 컴파일된 패키지에 DVD 지원을 포함하는 경우가 있습니다.USE 플래그는 필요한 의존관계에 영향을 줍니다.일반적으로 프로그램이 컴파일될 때 프로그램에 내장되는 옵션 기능에 영향을 줍니다.예를 들어 구성 스크립트를 사용하는 패키지의 경우 USE 플래그feature로 번역될 것이다../configure --with-feature.

USE 플래그를 지정하는 것은 Gentoo에서 프로그램을 설정하는 일반적인 방법입니다.USE 플래그는 수동으로 설정할 수도 있고 플래그를 설명과 함께 나열하는 'ufed'(USE 플래그 편집기)와 같은 사용자에게 친숙한 도구를 통해 설정할 수도 있습니다.사용 가능한 USE 플래그 목록은 Gentoo 웹사이트의 USE 플래그 인덱스에서 확인할 수 있습니다.

구축하다

Gentoo는 디폴트로는 다른 패키지 관리 시스템(pacman이나 apt 등)과 같은 바이너리 패키지를 사용하지 않고 대신 ebuild라는 형식을 사용합니다.는 소프트웨어에 대한 설명이 포함된 변수와 함수 및 설명서와 함께 구성 및 편찬하다.,고 설치,을 얻는데 반면에 RPM바이너리들은precompiled 양극 ebuilds 있셸 스크립트 더 밀접하게( 하지만 강력한)은.spec 파일 SRPMs.[8]에 배포한이 넘는 1만 9천 ebuilds 이용 가능하다 유사하다. 엄마.조리티는 젠투 거울에 의해 분배됩니다.로컬 ebuild 저장소를 미러와 동기화하여 새로운 ebuild 및 업데이트된 ebuild를 얻을 수 있습니다.이 작업은 다음 명령을 실행하여 수행합니다.emerge --sync역사적으로 Gentoo는 많은 일반적인 프로그램, 특히 Mozilla Firefox나 OpenOffice.org과 같이 컴파일 시간이 긴 프로그램들을 위해 미리 배포된 바이너리 패키지를 제공해 왔습니다.패키지 이름에 "-bin"을 추가하여 바이너리 버전을 설치하는 것만으로 emerge와 함께 설치됩니다.

GNOME 터미네이터용 ebuild의 예:

# Copyright 1999-1996 Gentoo Authors # GNU General Public License v2 EAPI=7 PYON_COMPT=(python3_{6,7,8}) DISTUTILS_USE_SETUPTOOLS="no" inheritutils-r1 virtual xd-D-D-D-D-D-D-D-D-D-D-D-D-D-S" 설명" 설명"에 의거 배포Https://github.com/gnome-terminator/terminator/releases/download/v${PV}/${P}.tar.gz"LICENSE="GPL-2"SLOT="0"KEYWORDS="~ppc x86amd64"IUSE="dbus +libnotify"RDEPEND=">=dev-libs/glib-2.32:2dev-libs/keybinder:3[자기 성찰]dev-python[${PYTHON_USEDEP}]dev-python[${PYTHON_USEDEP}]dev-python[${PYTHON_USEDEP}]d.ev-python/pygobject:3 [${PYthon_USEDEP}]>=x11-libs/gtk+-3.16:3 x11-libs/vte:2.91 [ spection ]dbus? ( dev - python / dbus - python [ $ { PYthon _ USEDEP } ) libnotify ? ( x11 - libs / libnotify [ spection ] ) " BDEPEND = " dev - lib - intool " distutils _ enable _ setup.py PATCHS = ( $ { FILESDIR } / termination ) ) 。- 1.92 - metainfo . cache } src _ evironment _ extils - r1 _ src _ test } src _ test ( ){ virtx distutils - r1 _ src _ test }pkg _ pkg _ postinst ( ) { xdg _ _d _ x x x x x ( xd _ )

이진 패키지

Gentoo 에는 바이너리 패키징 형식이 있습니다.이것은 추가 메타데이터가 포함된 .tbz2 파일(bzip2 압축 tar)입니다.이 기능을 사용하면 (Portage를 사용하여) 하나의 시스템에서 바이너리 패키지를 구축할 수 있습니다.buildpkg또는quickpkg그 후 동일한 다른 시스템(Portage 탑재)에 빠르게 설치getbinpkg또는emerge -K)의 상세한 것에 대하여는, 「Gentoo Linux Handbook」의 「Portage Features」를 참조해 주세요.

마스킹

마스킹은 Gentoo가 시스템에 적합한 패키지를 결정하는 방법입니다.다른 아키텍처 또는 실험 소프트웨어용으로 설계된 ebuild는 일반적으로 사용자의 개입 없이 안정적인 시스템이 이를 설치하지 못하도록 마스킹됩니다.

일반적으로 테스트가 필요하지만 정상적으로 동작하는 패키지는 키워드 마스크라고 불립니다(ACCEPT_KEYWORDS make.conf 엔트리가 문자로 시작하는 시스템에서 사용할 수 있습니다).~,예를 들어~x86,~amd64,~ppc개별 키워드 마스크된 패키지를 마스크 해제하는 표준 방법은 완전한 패키지 이름과 키워드를 가진 파일을 에 추가하는 것입니다./etc/portage/package.accept_keywords/사용자는 여기서 서브디렉토리를 작성할 수도 있기 때문에 커스텀 구성을 할 수 있습니다.예를 들어 마스크된 패키지에 여러 개의 마스크된 종속성이 있는 경우 사용자는 원래 마스크된 패키지의 이름으로 디렉토리를 만들고 패키지의 모든 마스크 파일과 종속성을 해당 디렉토리에 저장할 수 있습니다.이 스킴은 오래된 스킴으로 대체됩니다./etc/portage/package.accept_keywords텍스트 파일 목록으로 사용합니다.

이미 알려진 문제가 있거나 안정적인 후보가 될 만큼 성숙하지 않은 패키지는 /usr/portage/profiles의 다양한 package.mask 파일 중 하나에 의해 하드 마스크됩니다.이러한 엔트리는 일반적으로 마스크의 이유를 설명하는 개발자의 코멘트를 수반합니다.


젠투/알트

Gentoo/Alt는 Mac OS X 및 무료 BSD다른 운영체제로의 이식 및 기타 기능을 관리하기 위해 작성된 프로젝트입니다.Gentoo/Alt는 Pieter Van den AbeleDaniel Robbins가 Mac OS X용 Gentoo를 설립한 후 Pieter Van den Abele에 의해 설립되었습니다.

Mac OS X

Gentoo for Mac OS X는 Gentoo의 첫 번째 비 Linux 프로젝트였으며 Portage 시스템을 별도의 엔티티로 도입함으로써 Gentoo를 애플의 운영 체제에서 사용할 수 있도록 하는 데 초점을 맞췄다.이는 Fink MacPorts와 거의 유사하지만 Debian 또는 Ports와 유사한 시스템 대신 Portage를 사용했습니다.이후 Mac OS X용 Gentoo는 Gentoo/Alt의 서브프로젝트가 되었습니다.호스트 OS를 사용하고 수정하지 않는다는 주요 가정은 현실적이지 않아 보였고 결국 대부분의 패키지가 파손되거나 유지보수가 불가능했기 때문에 프로젝트는 더 이상 진행되지 않습니다.Gentoo for Mac OS X는 Gentoo Prefix로 대체되었습니다.이 프리픽스는 현재 Gentoo가 Mac OS X [9]사용자에게 제공하는 것입니다.

Mac OS X의 Prefix 프로젝트는 PowerPC,[10] IA-32x86-64 아키텍처의 Mac OS X Tiger, Leopard 및 Snow Leopard에서 테스트 및 지원됩니다.

FreeBSD

Gentoo/FreeB
Gentoo/FreeBSD logo
OS 패밀리Unix 라이크(BSD)
동작 상태단종[11]
소스 모델오픈 소스
저장소
패키지 매니저휴대품
커널 타입모노리식(kFreeB)SD)[11]
유저랜드FreeBSD[11]
면허증.여러가지
공식 웹사이트Gentoo/FreeBSD

Gentoo/FreeBSD는 Gentoo Linux의 설계, 구조 및 Portage나 Gentoo Linux 베이스 레이아웃 등의 툴을 FreeB에 가져옵니다.SD 운영 체제원래 FreeB 대신 Gentoo의 GNU 툴체인이 사용됩니다.SD 원

이 프로젝트는 현재 Gentoo 개발자에 의해 유지되지 않지만 Gentoo/FreeB를 완전히 설치할 수 있는 지침이 있습니다.SD [11]시스템FreeBSD 시스템의 ebuild는 메인 포티지 트리에 통합되어 있지만 포팅해야 할 패키지의 양과 적절한 Live CD(FreeSB)가 없기 때문에 이 포트는 완전하지 않습니다.IE 라이브 CD 또는 FreeBSD 셋업 CD 는 인스톨중에 사용됩니다).

현재 Gentoo/FreeB 공식 로고SD는 Gentoo Linux 오리지널 로고에서 파생되어 BSD 데몬에서 영감을 얻은 데몬화된 "g"입니다.이것은 마리우스 모라우스키가 디자인했고,[12] 그의 블로그에서 디에고 엘리오 페테네가 시작한 비공식 대회에 응답했다.

넷BSD

Gentoo/NetBSD는 Portage가 관리하는 GNU 사용자 랜드에 NetBSD 커널을 제공하는 프로젝트입니다.이 프로젝트는 Damian Florczyk에 의해 시작되었습니다.x86 아키텍처만 대상으로 하며 시스템 전체가 불완전한 상태입니다.

오픈BSD

Gentoo/OpenB
Gentoo/OpenBSD logo
OS 패밀리Unix 라이크(BSD)
소스 모델오픈 소스
최신 릴리즈OpenBSD의 Gentoo 프리픽스 / 2011년 4월 4일 (2011-04-04)
저장소
패키지 매니저휴대품
커널 타입모노리식(kOpenB)SD)
유저랜드오픈BSD
면허증.여러가지
공식 웹사이트Gentoo/OpenBSD

Gentoo/OpenBSD는 Gentoo/*Portage와 같은 Gentoo 기능을 OpenB에 포트하는 BSD 서브프로젝트SD 운영 체제원래 Grant Goodyear에 의해 시작되었으며 현재 개발 중단 상태입니다[when?].OpenBSD 3.8 기반의 ISO 이미지는 현재 Karol Pasternak에 의해 관리되고 있으며 프로젝트 웹사이트에서 다운로드할 수 있습니다.

드래곤플라이비SD

Gentoo/DragonFlyBSD는 현재 DragonFlyBSD 커널에 대한 비공식[when?] 포트입니다.이 프로젝트는 Robert Sebastian Gerus에 [13]의해 개발되었습니다.

GNU 허드

GNU Hurd의 비공식 포트도 개발 [14]중이었으나 2006년 말에 폐기되었습니다.

안드로이드

Benda Xu가 이끄는 "Gentoo RAP for Android Devices"는 [15]Android와 함께 디렉토리 프리픽스에 Gentoo RAP이라고 불리는 Gentoo의 변종을 설치합니다.Linux 커널은 Android와 Gentoo [15]RAP 모두에서 사용됩니다.

혼재

Gentoo/Interix(eprefix)는 Microsoft Windows Services for UNIX(SFU) 또는 Subsystem for Unix-based Applications(SUA)라고도 하는 Windows용 Interix 서브시스템 상단에서 실행되는 Gentoo 포트입니다.Gentoo/Interix 프로젝트의 결과로 Portage 시스템을 설치하고 사용하여 네이티브 Windows 애플리케이션을 생성할 수 있습니다(Visual Studio, 2008 Express Edition도 필요합니다).단, 이 기능은 다른 플랫폼(Interix 포함)에서 지원되는 다양한 패키지를 지원하지 않습니다.

포르타리스

Solaris 운영체제 "Portaris"의 비공식 포트는 2006년경에 발표되었지만 일반에 공개되지는 않았습니다.Gentoo Prefix 프로젝트로 대체되었습니다.

플랜 9

2011년 Google Summer of Code 프로젝트로 시작된 Plan 9 For Gentoo는 Gentoo를 기반으로 Plan [16]9에서 영감을 얻은 사용자 공간을 오버레이합니다.이 프로젝트의 목표는 하드웨어 지원 향상, 소프트웨어 지원 향상, Linux [16]시스템 사용 경험이 있는 사용자에게 '문화 충격'을 주는 것입니다.이 프로젝트는 로버트 [16]시튼에 의해 관리되고 있다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "repo/gentoo.git". gitweb.gentoo.org. Retrieved January 2, 2022.
  2. ^ "About Gentoo". gentoo.org. Retrieved August 23, 2019.
  3. ^ My Workstation OS: Gentoo Tom Chance 웹사이트 2009-07-08 Wayback Machine 아카이브 완료
  4. ^ Daniel Robbins (10 October 2002). "Gentoo Linux Reloaded - O'Reilly Media". Retrieved 27 May 2015.
  5. ^ "OSNews.com". Retrieved 27 May 2015.
  6. ^ "Project:Package Manager Specification". wiki.gentoo.org. Retrieved August 23, 2019.
  7. ^ Gentoo Linux 문서 - 배포 작성, Part 3 Wayback Machine에서 2014-12-22 아카이브 완료
  8. ^ "ebuild - Gentoo Wiki". wiki.gentoo.org. Retrieved 2019-12-17.
  9. ^ Groffen, Fabian (2005-12-15). "Gentoo for Mac OS X project targets". Archived from the original on 2008-05-21. Retrieved 2017-07-20.
  10. ^ Groffen, Fabian (2009-06-01). "Gentoo Prefix Bootstrap Process for Mac OS X". Archived from the original on 2009-07-19. Retrieved 2017-07-20.
  11. ^ a b c d "Gentoo FreeBSD". Gentoo Wiki. 2018-08-20. Retrieved 2019-03-06.
  12. ^ Pettenò, Diego Elio (2005-07-16). "Not-so-official Gentoo/FreeBSD artwork contest". Flameeyes's Weblog. Retrieved 2017-07-20.
  13. ^ Goodyear, Grant; Pettenò, Diego Elio (2006-10-19). "Gentoo/*BSD". Archived from the original on 2007-12-28. Retrieved 2017-07-20.
  14. ^ "Gentoo GNU HURD". Archived from the original on 2010-01-09. Retrieved 2017-07-20.
  15. ^ a b "Project:Android - Gentoo Wiki". Wiki.gentoo.org. 2016-01-13. Retrieved 2016-09-24.
  16. ^ a b c Seaton, Robert (2011-08-01). "Plan 9 From Gentoo: Plan 9 Meets Gentoo". Archived from the original on 2012-04-26. Retrieved 2017-07-20.

외부 링크

공식 문서
비공식 문서
유사 소프트웨어