DarwinPorts 시스템이란
DarwinPorts 과는, FreeBSD 의 ports 과 같은 기능을 가짐과 동시에 장래의 확장성도 유지하게 만들어진, 소프트웨어의 빌드, 인스톨,및 패키지 작성을 위한 기반입니다.
DarwinPorts 은 현재시점에서 MacOS X 10.2(Darwin 6.0)과 MacOS X 10.3(Darwin 7.0)위에서 작성되어, 이것들 위에서 동작합니다. 이 시스템은 TCL 과 한정된 TCL익스텐션을 이용한 C 에서 씌어져 있을 테니까, 높은 이식성이 있습니다.
” DarwinPorts User Guide”이 이하에 있습니다 :http://darwinports. opendarwin. org/docs
ports 시스템의 내부구조에 대해서 보다 깊게 알기 위해서는, base/doc/INTERNALS를 참조해 주십시오.
DarwinPorts 은 2개의 부분에 나뉘어져 있는 것에 주의해 주십시오. 1개는” darwin ports infrastructure”이며, 이것은 base/서브 디렉토리에 존재하는 이 시스템의 유일한 중핵부분에 맞습니다. 또 하나는” dports”디렉토리에서, 여기에는 실제로 이식된 소프트웨어의 설명등이 두어지고 있습니다. 후자는 필요에 응해서 네트워크너머에 손에 넣을 수도 있고, 눈앞에 있는 파일을 이용하는 것도 가능합니다. 후술한다 /etc/ports/sources. conf 에 관한 설명을 참조해 주십시오.
인스톨
플랫폼(platform)별의 설명은 base/doc/README. platforms 에 있습니다.
인스톨 순서:
1. cd base/. /configurebase/디렉토리에서 configure 스크립트를 실행합니다.
configure 스크립트에는 몇개의 인수를 줄 수 있습니다 (후술).
2. make 모두의 필수 소프트웨어를 컴파일합니다.
3. sudo make installDarwinPorts 을 이 시스템에 인스톨합니다.
4./etc/ports/ports. conf 의 편집 [생략 가능]설정 파일이다 /etc/ports/ports. conf 에서는, DarwinPorts를 위한 몇개의 설정 항목이 정의되고 있습니다. 인스톨처의 패스나 port 시스템을 위한 여러가지 데이터가 보존되고 있는 장소를 변경하고 싶을 때는, 이하의 설정을 변경합니다 :
portdbpath ports 시스템을 위한 데이터를 보존하는 장소
prefix ports 을 인스톨하는 디렉토리
[Mac OS X 10.2만] Mac OS X 10.2위의 Tcl 8.3에는, Port 이미지에 이용하고 있다 [file link]함수가 포함되어 있지 않기 위해서 , /etc/ports/ports. conf 안(속)에서 인스톨 종별을 변경 할 필요가 있습니다.
이 행을 변경해 주십시오 :변경전: portinstalltype image 변경후: portinstalltype direct
5./etc/ports/sources. conf 의 편집 [생략 가능]/etc/ports/sources. conf 에는, 네트워크상과 로컬과의 양쪽에 대해서, 소프트웨어 계층의 일람이 기술되고 있습니다.
./configure 스크립트에 --with-dports-dir=DIR 이라고 하는 인수가 주어지지 않고 있으면, 디폴트의 dports-tree ( 조금전에의 인스톨에 의해 만들어진 darwinports/dports)이 sources. conf 에 추가됩니다.
모든 필수 코드와 TCL 은 아래와같이 인스톨됩니다 : [Mac OS X 10.3]/Library/Tcl/darwinports 1.0 [Mac OS X 10.2]/System/Library/Tcl/darwinports 1.0 [FreeBSD]/usr/local/lib/tcl 8.3/darwinports 1.0- DarwinPorts 시스템을 이용하기 위한 TCL 라이브러리
PREFIX 은 표준에서는 /opt/local 이 됩니다만, base/디렉토리에서 ./configure 스크립트를 움직일 때에 --prefix 인수에서 지정하는 것으로 이것을 바꿀 수 있습니다.
$PREFIX/bin/port-커맨드라인으로부터 port 을 작성하기 위한 유틸리티$PREFIX/share/darwinports/- ports 시스템 내부에서 이용하는 TCL 라이브러리 군
이하의 파일은 시스템을 주문해서 만들게 하기 위한 물건입니다 :
/etc/ports/ports. conf-사용자가 port 의 설정을 바꾸기 위한 파일/etc/ports/sources. conf- port 의 소스(어디부터 ports 의 데이터를 입수할 것인가)의 일람
port 커맨드를 사용한다
최초에 /opt/local/bin ( 또는 DarwinPorts 을 인스톨한 디렉토리에 응한 $PREFIX/bin)을 【코만도사치파스】에 추가합니다.
Panther (OS X 10.3)을 사용하고 있다면, ∼/. profile 에 다음 행을 추가합니다.
만약 이 파일이 존재하지 않으면 작성해 주십시오. (이 방법은 Jaguar 위에서 bourneshell 을 사용하고 있을 때에도 유효합니다. )
export PATH=$PATH:/opt/local/bin
Jaguar (OS X 10.2)을 사용하고 있다면, ∼/. cshrc 에 다음 행을 추가합니다.
만약 이 파일이 존재하지 않으면 작성해 주십시오. (이 방법은 Panther 위에서 tcsh 을 사용하고 있을 때에도 유효합니다. )
set path=($path /opt/local/bin)
상기의 설정은 새로운 쉘을 기동할때 까지 유효해지지 않습니다.
port 을 빌드해서 인스톨하고 싶을 때는 다음 커맨드를 사용합니다 :
port install <portname>
어떤 port 을 찾고 싶을 때는” port search”을 사용합니다 :
port search vi
port 커맨드에 관한 완전한 설명은 온라인(on-line) 메뉴얼을 참조해 주십시오.
시스템상의 모든 port 을 빌드하거나 입수하거나 하는 것도 가능해서, 이것은 portall 커맨드를 사용합니다. 이 커맨드에는 기본적으로 port 커맨드와 같은 인수를 줄 수 있고, dports/이하에 있는 각 port 에 대하여 같은 동작을 되풀이할 수 있습니다. 예를 들면 이 디렉토리에서” make clean”을 실행하려고 하면,” portall clean”이 호출되어서 모두를 clean 에 해줍니다.
새로운 ports 을 만든다
ports 은 Portfile 과 그것에 관련되는 파일 군을 보존한 디렉토리에 의해 구성됩니다. 지금으로서는, patch 파일만이 거기에 보존되고 있어서, 게다가 이것들의 파일은 될 수 있는한 적게 끝나게 되고 있습니다.
Portfile 에는, DarwinPorts 시스템에 부속되는 TCL interpreter에 의해 평가되는 TCL 코드가 포함되어 있습니다. Portfile 은, 이름과 값의 조에 의한 매우 단순한 구조를 가지고 있으므로, 작자가 필요에 응해서 TCL 의 기능을 자유(자재)로 사용할 수 있게 되고 있습니다.
우선은 base/doc/exampleport 과 portfile(7)의 온라인(on-line) 메뉴얼을 읽을 것인가,또는 http://darwinports. opendarwin. org/docs 에 있는 The DarwinPortsGuide 을 읽는 것부터 시작하면 좋지요.
'[1] IT 관련 > 1. Apple' 카테고리의 다른 글
| 드뎌... 미친척 하기 시작했습니다. (0) | 2010/07/26 |
|---|---|
| Mac에서 TimeMachine 네트워크 공유에 사용하기... (0) | 2009/08/31 |
| DarwinPorts 시스템이란 (0) | 2009/06/22 |
