FreeBSD 포트

FreeBSD 포트 컬렉션()은 FreeBSD 운영체제를 위한 패키지 관리 시스템이다. 컬렉션의 포트는 기여된 소프트웨어에 따라 다양하다. 2020년 2월에는 38,487개의 포트가 있었고 2024년 9월에는 36,504개가 있었다. 또한 NetBSD의 Pkgsrc 시스템의 기반으로 채택되기도 했다.

 소스에서 설치 
포트 컬렉션은 Makefile을 디렉터리 계층으로 배열하여 make 명령으로 소프트웨어를 빌드, 설치 및 제거할 수 있도록 한다. 원하는 애플리케이션의 포트 디렉터리에서 make install 또는 make install clean과 같은 시작 명령을 실행한 후에는 사용자 개입이 거의 필요하지 않다. 대부분의 경우 소프트웨어는 인터넷에서 자동으로 다운로드되고, 필요한 경우 패치 및 구성된 다음, 컴파일, 설치 및 패키지 데이터베이스에 등록된다. 새 포트에 다른 애플리케이션이나 라이브러리에 대한 의존성이 필요한 경우, 이들은 자동으로 미리 설치된다.

대부분의 포트는 대부분의 사용자에게 일반적으로 적합하다고 여겨지는 기본 옵션으로 이미 구성되어 있다. 그러나 이러한 구성 옵션(노브라고 불림)은 때때로 make config 명령을 사용하여 설치 전에 변경할 수 있으며, 이 명령은 사용자가 원하는 옵션을 선택할 수 있는 텍스트 기반 인터페이스를 표시한다.

역사적으로 각 포트(또는 소프트웨어 패키지)는 포트의 최신 상태를 보장하고 일반적인 지원을 제공하는 책임을 지는 개별 포트 관리자에 의해 유지보수되었다. 오늘날 많은 포트들은 전용 메일링 리스트(예: kde@FreeBSD.org, java@FreeBSD.org 등)를 가진 특별 태스크포스나 서브 프로젝트에 의해 유지보수되며, 유지보수되지 않는 포트들은 일반 그룹인 ports@FreeBSD.org에 할당된다. 일반적으로 누구나 자신이 좋아하는 소프트웨어를 컬렉션에 기여하여 포트 관리자가 될 수 있다. 또한 활성 관리자가 없는 기존 포트를 유지보수할 수도 있다.

 패키지 
미리 컴파일된(바이너리) 포트는 패키지라고 불린다. 해당 포트에서 make package 명령으로 패키지를 만들 수 있으며, 미리 빌드된 패키지는 FreeBSD 호스팅 패키지 저장소에서도 다운로드할 수 있다. 사용자는 pkg install 명령에 패키지 이름을 전달하여 패키지를 설치할 수 있다. 이 명령은 설치된 FreeBSD 릴리스 버전에 적합한 패키지를 다운로드한 다음, 모든 소프트웨어 종속성을 포함하여 애플리케이션을 설치한다. 기본적으로 패키지는 FreeBSD 주 패키지 저장소(pkg.freebsd.org)에서 다운로드되지만, 패키지 업데이트 후 문제가 발생하면 이전 버전의 패키지는 저장소가 하위 폴더 인덱스를 거부하므로 설치할 수 없다. 이 경우 사용자는 OS 버전을 최신 릴리스로 업그레이드하고 최신 패키지를 설치해야 한다.

FreeBSD는 모든 지원되는 아키텍처와 주요 릴리스에 대한 모든 패키지가 빌드되는 pointyhat 클러스터라는 빌드 팜을 유지보수한다. pointyhat 클러스터를 통해 패키지로 빌드된 모든 포트에 대한 빌드 로그 및 알려진 오류는 데이터베이스에서 확인할 수 있으며, 주간 빌드 로그는 메일링 리스트 아카이브를 통해서도 확인할 수 있다.

이러한 사전 컴파일된 패키지는 사용 가능한 아키텍처별로 범주로 나뉜다. 패키지는 각 현재 프로덕션 릴리스에 대해 여러 "릴리스" 디렉토리로 더 나뉘며, 이는 포트 컬렉션에서 빌드되어 릴리스와 함께 제공된다. 이러한 프로덕션 릴리스 디렉토리는 절대 업데이트되지 않는다.

또한 몇몇 주요 릴리스 브랜치에 대한 안정 및 현재 디렉토리가 있다. 이들은 거의 매주 업데이트된다. 대부분의 경우 이전 버전의 FreeBSD용으로 생성된 패키지는 바이너리 역방향 호환성이 주요 릴리스 간에 기본적으로 활성화되어 있기 때문에 새 시스템에서 어려움 없이 설치하고 사용할 수 있다.

FreeBSD 10에서는 pkg라는 바이너리 패키지용 패키징 시스템이 패키지 관리 시스템을 대체했다.

 역사 
조던 허버드는 1994년 8월 21일 자신의 포트 메이크 매크로를 FreeBSD CVS 저장소에 커밋했다. 그의 패키지 설치 스위트 Makefile은 1년 전(1993년 8월 26일)에 커밋되었다. 핵심 포트 프레임워크는 처음에 허버드와 아사미 사토시가 몇 년 동안 유지보수했다. 나중에 포트 관리 팀이 이 작업을 담당하기 위해 구성되었다.

NetBSD의 pkgsrc와 OpenBSD의 포트 컬렉션은 FreeBSD에 뿌리를 두고 있다.

 DPorts 
DragonFly BSD 3.6 버전 출시 이후, DragonFly BSD 프로젝트는 FreeBSD 포트를 자체 DPorts 포트 컬렉션의 기반으로 사용한다. DragonFly BSD 프로젝트의 존 마리노(John Marino)는 DPorts를 생성하기 위해 FreeBSD 포트를 오버레이하고 수정하는 패치 및 파일 모음인 DeltaPorts 저장소를 만들었다.

 같이 보기 
 MacPorts

 각주 

 외부 링크 
 FreeBSD 포트 공식 웹 페이지
 FreshPorts - 포트 업데이트를 추적하는 웹사이트
 Port-Tags  - 포트 컬렉션에 태그를 추가하는 프로젝트
 FreeBSD 핸드북에서 애플리케이션 설치: 패키지 및 포트 (4장)

분류:FreeBSD
분류:자유 패키지 관리 시스템