PORTS(7)

명칭
ports - 기증된 어플리케이션

해설
FreeBSD ports 콜렉션 에 의해, 유저나 관리자는 간단하게 어플리케이션을 인스톨 한다 일이 생깁니다. port (은)는 각각, 오리지날의 원시 코드를 BSD 위에서 컴파일 해 실행 시키기 위해서(때문에) 필요한 패치의 모든 것을 포함하고 있습니다. 어플리케이션의 컴파일은, port 의 디렉토리에서 make build (이)라고 입력하는 것만으로 간단하게 할 수 있습니다. port 의 Makefile (은)는, 로컬 디스크로부터도 깔고는 FTP 를 사용해, 자동적으로 어플리케이션의 원시 코드를 취득 (fetch) 해, 자신의 시스템으로 그것을 전개해, 패치를 맞혀 컴파일 합니다. 모든 것이 순조롭게 진행되었을 경우, make install (을)를 실행하는 것으로써, 어플리케이션이 인스톨 됩니다.

인스톨 된 시스템보다 새로운 ports 를, FreeBSD 리포지터리(repository)로부터 다운로드해 사용할 수 있습니다. 다만, 최초로 적절한 “업그레이드 킷” (을)를 http://www.FreeBSD.org/ports/ (으)로부터 취득해 인스톨 하는 것이 중요합니다! 새로운 ports 를 다운로드할 경우에는, portcheckout(1) 스크립트 (물론 이것도 port 입니다! )(이)가 도움이 되겠지요.

port 의 이용에 관해서 한층 더 정보가 필요하면, 의 “Packages and Ports” (원문 file:/usr/share/doc/handbook/ports.html 또는, http://www.FreeBSD.org/handbook/ports.html , 일본어 문장 file:/usr/share/doc/ja/books/handbook/ports.html 또는, http://www.FreeBSD.org/ja/handbook/ports.html) 에 대충 훑어봐 주세요. port 를 신규에 작성하기 위한 정보에 대해서는, (file:/usr/share/doc/handbook/porting.html 또는, http://www.FreeBSD.org/handbook/porting.html) 에 대충 훑어봐 주세요.

타겟
타겟의 몇개인가는, 서브 디렉토리를 재귀적으로 make 하고 갑니다. 이것에 의해, 예를 들면, “biology” 의 port 모든 것을 인스톨 하는 것이 할 수 있습니다. 재귀적으로 make 를 행하는 타겟은, build, checksum, clean, configure, depends, extract, fetch, install, package 입니다.

다음의 타겟은, 각각 바로 앞의 타겟으로 따라 순서에 자동적으로 실행됩니다. 즉, build (은)는, (필요가 있으면, ) install 에 의해 실행됩니다. 이하의 타겟 각각 붙어, 같은 룰이 fetch 까지 차례차례 적용됩니다. 통상은, 타겟으로서 install (을)를 지정하는 것만으로 좋을 것입니다.

fetch
    MASTER_SITES (와)과 PATCH_SITES 그리고 리스트 된 사이트로부터, 이 port 를 구축하기 위해서 필요한 파일 모든 것을 취득 (fetch) 합니다. FETCH_CMD (와)과 MASTER_SITE_OVERRIDE (을)를 참조해 주세요.

checksum
    취득한 distfile 의 체크 섬이 port 로 동작 확인된 것과 일치하는지 어떤지를 검증합니다. NO_CHECKSUM (을)를 정의하는 것으로, 이 스텝을 날릴 수가 있습니다.

depends
    현재의 port 와 의존관계(dependencies)에 있는 port 를 인스톨 (혹은, 필요가 있는 경우만 컴파일) 합니다. 타겟 extract 혹은 fetch 에 의해 불려 갔을 경우, fetch-depends, build-depends 등으로 해서 하나씩 실행됩니다. NO_DEPENDS (을)를 정의하는 것으로, 이 스텝을 날릴 수가 있습니다.

extract
    distfile 를 작업용 디렉토리에 전개합니다.

patch
    port 에 필요한 패치 모든 것을 적용합니다.

configure
    port 를 구성 (configure)합니다. port 에 따라서는, 이 단계에서 질문해 오는 것도 있습니다. INTERACTIVE (와)과 BATCH (을)를 참조해 주세요.

build
    port 를 구축합니다. 이것은 타겟 all (을)를 호출하는 것과 같습니다.

install
    port 를 인스톨 해, 이 port 를 인스톨 한 것을 package (역주: FreeBSD 의 package system 에 있어서의 패키지를 가리키는 경우에 이렇게 표기합니다) 시스템에 등록합니다. 이 타겟은, 실제로 필요한 일 모든 것을 행해 줍니다.

다음의 타겟은, 통상의 인스톨 프로세스에서는 실행되지 않습니다.

fetch-list
    이 port 를 구축하기 위해서 취득이 필요한 파일의 리스트를 표시합니다.

pretty-print-run-depends-list, pretty-print-build-depends-list
    컴파일 의존 port 리스트와 실행 의존 port 리스트를 표시합니다. 또, 이러한 의존 port 리스트가 의존하는 port 에 대해서도 표시합니다.

clean
    전개된 원시 코드를 삭제합니다. NOCLEANDEPENDS (을)를 정의해 두지 않는 이상 삭제는 의존관계(dependencies)에 있는 port 에 재귀적으로 적용됩니다.

distclean
    그 port 의 distfile 를 삭제해, clean 타겟을 실행합니다. NOCLEANDEPENDS (을)를 정의해 두지 않는 이상 clean 의 부분은 의존관계(dependencies)에 있는 port 에 재귀적으로 적용됩니다. 그러나, distclean 의 부분은 결코 재귀적으로 적용되지 않습니다 (이 거동은 혹시 버그일지도 모릅니다).

reinstall
    deinstall (을)를 사용 해야할 때 로 무심코 pkg_delete(1) (을)를 사용해 버렸을 경우, 이 타겟을 사용해 port 를 restore시켜 주세요.

deinstall
    pkg_delete(1) (와)과 같게, 인스톨 한 port 를 시스템으로부터 삭제합니다.

package
    이 port 의 바이너리 package 를 작성합니다. 아직 인스톨 되어 없었던 경우, 그 port 를 인스톨 합니다. package 는 .tgz 파일이며, 그 port 를 다른 머신에 pkg_add(1) (을)를 사용해 인스톨 할 때에 사용할 수가 있습니다. PACKAGES 그리고 지정된 디렉토리가 존재하지 않으면, package 는 커런트 디렉토리에 놓여집니다. PKGREPOSITORY (와)과 PKGFILE (을)를 참조해 주세요.

readmes
    그 port 의 README.html 파일을 생성합니다. 이것은, 당신의 시스템상의 전 port 를 웹으로 브라우즈 할 수 있도록(듯이) 하기 위해서, /usr/ports (으)로부터 사용 가능합니다.

search
    INDEX 파일을, key (port 의 이름, 코멘트, 의존을 조사합니다) 또는 name (port 의 이름만을 조사합니다)의 make(1) 변수로 지정된 패턴으로 검색합니다. 예를 들면, 다음과 같이 입력합니다:

        cd /usr/ports && make search name=query

    그러자(면), 전 ports 중 이름이 “query” 에 적합하는 것이 찾아집니다. 결과에는, 적합하는 ports 의 패스, 코멘트, 멘테나, 구축 의존, 실행 의존이 포함됩니다.

index
    /usr/ports/INDEX (을)를 작성합니다. 이것은, pretty-print-* 및 search 의 타겟으로 사용됩니다. CVS 리포지터리(repository)의 마스터 INDEX 파일은 정기적으로 갱신됩니다만, index 타겟을 실행하는 것으로, INDEX 파일이 ports 트리에 대해서 최신인 것을 프로텍션합니다.

환경 변수
이것들 환경 변수의 모든 것을 변경할 수가 있습니다.

PORTSDIR
    port 트리의 장소를 지정합니다. 이것은 FreeBSD (와)과 OpenBSD 그럼 /usr/ports 그리고, NetBSD 그럼 /usr/pkgsrc 입니다.

WRKDIRPREFIX
    일시파일을 작성하는 장소입니다. PORTSDIR 하지만 읽기 전용의 경우 (아마 CD-ROM 를 mount 했을 경우) 유용합니다.

DISTDIR
    distfile 를 찾는 장소이며, 취득한 distfile 를 두는 장소입니다. 통상은 PORTSDIR 의 아래의 distfiles/ 입니다.

PACKAGES
    타겟 package 에서만 사용됩니다. package 트리의 베이스 디렉토리입니다. 통상은, PORTSDIR 의 아래의 packages/ 입니다. 이 디렉토리가 존재하는 경우, package 트리가 (부분적으로) 구축됩니다. 이 디렉토리는 존재할 필요는 없습니다. 존재하지 않는 경우, package 는 커런트 디렉토리에 놓여집니다. 혹은, 이하의 어느쪽이든 한편을 정의 할 수가 있습니다.

    PKGREPOSITORY
        package 를 두는 디렉토리.

    PKGFILE
        그 package 의 풀 패스.

PREFIX
    일반적으로, 성과물을 어디에 인스톨 하는지를 지정합니다 (통상은 /usr/local 인가, /usr/X11R6 입니다).

MASTER_SITES
    로컬 머신에 배포 파일이 존재하지 않는 경우, 최초로 취득하러 가는 사이트입니다.

PATCH_SITES
    로컬 머신에 패치 파일이 존재하지 않는 경우, 최초로 취득하러 가는 사이트입니다.

MASTER_SITE_FREEBSD
    이것이 설정되어 있는 경우, 모든 파일을 FreeBSD 의 마스터 사이트에 취하러 갑니다.

MASTER_SITE_OVERRIDE
    모든 파일과 패치에 대해, 우선 이 사이트에 가 취득을 시도합니다.

NOCLEANDEPENDS
    이것이 정의되고 있는 경우, 의존관계(dependencies)에 있는 port 에 대해서 clean (을)를 재귀적으로 적용하지 않습니다.

FETCH_CMD
    파일을 취득할 때에 사용하는 명령입니다. 통상은 fetch(1) 입니다.

FORCE_PKG_REGISTER
    이것이 설정되어 있는 경우, 이미 시스템에 존재하는 package 등록 정보를 덧쓰기합니다.

MOTIFLIB
    libXm.{a,so} 의 위치를 지정합니다.

INTERACTIVE
    이것이 설정되어 있는 경우, 유저 입력이 필요한 port 에게만 동작합니다.

BATCH
    이것이 설정되어 있는 경우,100% 자동적으로 인스톨 할 수 있는 port 에게만 동작합니다.

관련 파일
/usr/ports
    디폴트의 port 디렉토리 (FreeBSD (와)과 OpenBSD)
/usr/pkgsrc
    디폴트의 port 디렉토리 ( NetBSD).
/usr/ports/Mk/bsd.port.mk
    본존 같아 어머나 사의.

관련 항목
make(1), pkg_add(1), pkg_create(1), pkg_delete(1), pkg_info(1), pkg_version(1)

다음에 나타내는 것은 ports 콜렉션의 일부입니다:

pib(1), portcheckout(1), portlint(1) The FreeBSD Handbook.

http://www.FreeBSD.org/ports (port 모든 것이 검색 가능한 인덱스)

저자
-nosplit 이 메뉴얼 페이지는, 원래는 David O'Brien 에 의하는 것입니다. ports 콜렉션은 Satoshi Asami (와)과 무서운 port 팀에 의해 유지 관리되고 있습니다.

역사
ports 콜렉션 (은)는, FreeBSD 1.0 그리고 등장했습니다. 그 후, NetBSD (와)과 OpenBSD 에도 퍼졌습니다.

버그
port 에 관한 문서가 4 개소에 분산되어 버리고 있습니다. /usr/ports/Mk/bsd.port.mk (와)과 (와)과 의 “Packages and Ports” 섹션과 ports(7) 의 4 개(살)입니다.

이 메뉴얼 페이지는 너무 깁니다.