참고링크 [Bottom] [Top]

필요한 프로그램 검색 [Bottom] [Top]

설치해야 할 프로그램이 어떤 기능이 있으며 프로그램 이름이 무엇인지 알고 있다면 다음과 같은 방법으로 검색할 수 있다.

패키지 시스템 [Bottom] [Top]

패키지 설치 [Bottom] [Top]

패키지를 직접 다운로드하여 설치하는 방법을 알아보자. 먼저 가까운 FreeBSD FTP 사이트로 접속한다. FTP 사이트 목록은 FreeBSD Handbook - Appendix A.2 FTP Sites 를 참고한다.

# ftp -a ftp.kr.freebsd.org

위와 같이 익명 계정으로 접속하여 필요한 패키지를 다운로드 한다. 설치는 pkg_add(1) 를 사용한다.

-r 옵션을 사용할 경우 FTP 사이트는 환경 변수 PACKAGESITE 에 지정하면 된다. 기타 다른 옵션은 man page 의 pkg_add(1) 를 참고한다.

패키지 관리 [Bottom] [Top]

pkg_info(1) 는 설치되어 있는 패키지 리스트와 간략한 설명을 보여준다.

# pkg_info

-L 옵션을 사용하면 특정 패키지로 설치된 파일 목록을 볼 수 있다 (예: lsof 패키지).

# pkg_info -L lsof-4.56.4

pkg_version(1) 은 설치되어 있는 모든 패키지의 버젼을 요약해 보여준다.

# pkg_version

패키지 버젼은 다음과 같은 문자로 설치된 패키지의 버젼과 로컬 포트 트리에서 사용할 수 있는 버젼의 관계를 보여준다.


표시

설 명

=

설치된 패키지 버젼 = 로컬 포트 트리 버젼 (현재 버젼)

<

설치된 패키지 버젼 < 로컬 포트 트리 버젼 (구 버젼)

>

설치된 패키지 버젼 > 로컬 포트 트리 버젼 (최신 버젼)

?

설치된 패키지를 포트 컬렉션에서 찾을 수 없다.

*

다양한 버젼의 패키지가 설치되어 있다.

!

설치된 패키지 버젼 정보를 비교할 수 없다.

패키지 삭제 [Bottom] [Top]

설치된 패키지는 pkg_delete(1) 를 사용한다 (예: lsof 패키지).

# pkg_delete lsof-4.56.4

패키지 정보 [Bottom] [Top]

설치된 패키지의 자세한 정보는 /var/db/pkg 디렉토리에 저장되어 있으며, 설치된 파일 목록과 각 패키지의 설명은 이 디렉토리에 있는 파일에서 찾을 수 있다.

포트 컬렉션 [Bottom] [Top]

포트 컬렉션 받기 [Bottom] [Top]

포트를 설치하기 전에 기본적은 파일 (Makefile, 패치, 정보 등) 을 가지고 있는 포트 콜렉션을 먼저 받아야 한다.

포트를 설치하기 전에 포트 컬렉션을 업데이트 했다면 포트와 관련된 보안 문제를 FreeBSD VuXML 에서 확인해야 한다. 그리고 portaudit 를 이용하여 자동으로 확인할 수 있다. 이 도구는 security/portaudit 포트를 설치한 후 사용할 수 있다.

# portaudit -F

새로운 포트를 설치하기 전에 -F 옵션을 사용하면 최신 보안 데이타베이스로 패치한다. 자세한 정보는 man page 의 portaudit(1)periodic(8) 를 참고한다.

포트 설치 [Bottom] [Top]

포트 컬렉션의 각 포트는 다음과 같은 파일과 디렉토리로 구성되며 필요에 따라 추가적인 파일이 더 있을 수도 있다. 좀 더 자세한 정보는 FreeBSD Porter's Handbook 를 참고한다.


파일명

설 명

Makefile

포트의 컴파일과 설치 정보를 가지고 있다.

pkg-descr

포트의 자세한 설명을 제공한다.

pkg-plist

포트가 설치하는 모든 파일 목록을 가지고 있다.

distinfo

다운로드 해야될 파일과 파일 오류 체크를 위한 md5(1) 정보를 가지고 있다.

file 디렉토리

FreeBSD 시스템에서 컴파일하고 설치하는 패치를 가지고 있다.


포트는 위에서 설명한 whereis(1)포트 콜렉션의 검색 기능 을 사용하여 포트 디렉토리로 이동한 후 설치를 시작한다 (예: lsof 포트).

# whereis lsof
lsof: /usr/ports/sysutils/lsof
# cd /usr/ports/sysutils/lsof
# make install

설치는 간단히 make install 로 시작되며, 소스 코드는 FTP 에서 자동으로 다운로드 되어 설치된다. 포트 시스템은 fetch(1) 를 사용하여 파일을 다운로드하며 FTP_PASSIVE_MODE, FTP_PROXY, FTP_PASSWORD 와 같은 환경 변수로 다양한 설정이 가능하다. fetch 와 관련된 환경 변수는 man page 의 fetch(3) 를 참고한다.

포트 삭제 [Bottom] [Top]

포트를 삭제하는 방법은 설치할 때와 동일한 디렉토리에서 가능하다. 다음과 같이 포트를 삭제한다 (예: lsof 포트).

# cd /usr/ports/sysutils/lsof
# make deinstall

삭제한 포트를 다시 설치할 경우 make reinstall 을 사용하여 다시 설치한다.

# cd /usr/ports/sysutils/lsof
# make reinstall

그러나 make clean 을 실행하여 포트를 정리한 경우 make deinstallmake reinstall 을 실행할 수 없다. 이 경우 포트를 삭제해야 한다면, pkg_delete(1) 를 사용한다.


참고> 포트 설치 및 제거 명령 정리

설치 명령

설 명

make

포트를 컴파일 한다.

make build

make depends

포트와 종속된 포트들을 설치한다.

make install

포트를 설치 한다.

make clean

포트를 정리 한다.

make reinstall

포트를 재설치 한다.

make deinstall

포트를 제거 한다.

포트 업그레이드 [Bottom] [Top]

포트 업그레이드는 sysutils/portupgrade 를 이용하여 자동으로 업그레이드 해준다. 다음과 같이 portupgrade 를 설치하고 포트를 업그레이드 해보자.

# cd /usr/ports/sysutils/portupgrade
# make install
# pkgdb -F
# portupgrade -a

pkgdb -F 는 패키지 데이타베이스를 생성하는 명령으로 설치된 포트 목록를 읽어서 /var/db/pkg 디렉토리에 데이타베이스 파일을 생성한다. 그리고 portupgrade -a 는 패키지 데이타베이스와 포트 INDEX 파일을 읽은 후, 각 포트의 다운로드가 시작되고 컴파일과 설치가 진행된다. 이 과정에서 기존 설정을 백업한 후 설치하고 업데이트된 포트를 정리한다.

설치된 모든 포트가 아닌 특정 포트를 업그레이드 해야 한다면 portupgrade pkgname 를 사용한다. pkgname 은 포트 이름이며, 업그레이드 해야할 포트의 의존성과도 동작해야 된다면 -r 옵션을 사용하고, -R 옵션은 포트가 필요한 모든 패키지와 동작한다. 포트 대신 패키지를 사용하여 설치하려면 -P 옵션을 사용한다. 자세한 정보는 portupgrade(1) 의 man 페이지를 참고한다.

참고> 패키지 데이타베이스가 일치하지 않는 문제를 해결하기 위해 pkgdb -F 를 사용하여 정기적으로 업데이트하는 것이 필요하다.


CategoryUnix

FreeBSD/Ports (last modified 2008-01-21 05:21:40)