잠시만 기다려 주세요

HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (853)  |  추천 및 재미 (105)  |  자료실 (18)  |  끄적거림 (493)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2020년 05월 29일
시간은 순식간에 지나간다. 궁지에 몰리기 전에 움직여라. - 바다아이
 




    freebsd 데스크탑

freebsd 데스크탑 - Port와 PKG 사용법, 명령어
이 름 : 바다아이   |   조회수 : 24         짧은 주소 : https://www.bada-ie.com/su/?441590027607
FreeNAS 의 호스트에서는 pkg 와 port 명령어를 사용해서는 안됩니다!
FreeNAS 는 어플라이언스로서 Host 에는 어떠한 변경도 가해선 안됩니다. 제 3자 소프트웨어 설치는 반드시 jail 내에서 이루어져야 합니다.
호스트를 변경하는 것은 다루지 않을 것이며, 그로 인해 생길 수 있는 문제에 대해선 책임지지 않습니다

PKG 와 Port?

pkgPort 는 FreeBSD 에서 프로그램을 설치하고 관리하기 위한 소프트웨어입니다. 데비안 계열 리눅스를 만져 봤다면 알고 있을 apt 와 같습니다.

하지만 FreeBSD 의 port 와 pkg 는 리눅스 진영의 것과는 좀 다릅니다.

port는 다른 플랫폼에 프로그램을 이식하는 porting 에서 따온 말입니다. FreeBSD 와 같은 BSD 는 리눅스 계열처럼 커널만 개발하는 것이 아니라 설치되는 프로그램 또한 관리합니다.

이렇게 관리된 프로그램들을 port 나 pkg 를 통해 설치하고 관리할 수 있는데, 몇 가지 차이점이 있습니다.

  • port 는 소프트웨어 설치시 소스를 받아와 컴파일을 하여 설치합니다.
    • 옵션을 지정해서 설치할 수 있습니다.
      예를 들어 Nginx 를 설치할 때, modsecurity3 라는 제 3자 모듈을 함께 컴파일해 Nginx 가 modsecurity3 를 지원하게 할 수 있습니다.
      이러한 설정은 컴파일 시, 또는 컴파일 전에 대화창으로 쉽게 설정이 가능하며, 설정은 저장되기 때문에 이후 설치나 업데이트 시에도 유지됩니다. 물론, 옵션을 지정하지 않고 기본값으로 설치도 가능합니다.
    • 업데이트가 쉽습니다.
      컴파일 옵션 등이 모두 저장되기 때문에 이후 업데이트 시에도 같은 옵션으로 컴파일 할 수 있습니다. 그래서 간단한 명령어로 업데이트가 가능합니다.
    • 라이센스 문제 등으로 패키지에 없는 프로그램도 설치할 수 있습니다.
      예를 들어, oracle 자바는 개인 사용 용도로만  사용할 수 있도록 제한되어 있습니다. 그래서 pkg 로는 설치할 수 없지만, porttree 에는 linux-oracle-jdk8 과 같은 port가 있습니다.
    • 설치가 느립니다.
      설치와 업데이트 과정에서 소스 파일을 다운로드 받고 컴파일을 해서 설치해야 함으로 서버에 부하가 걸리며, 설치 속도가 느립니다.
  • pkg 는 미리 컴파일 된 바이너리 파일을 설치합니다.
    • 옵션을 지정해서 설치할 수 없습니다.
      ‘기본 컴파일 옵션’ 으로 컴파일 된 바이너리 파일들을 내려받아 설치하는 것이기 때문에 옵션을 지정할 수 없습니다.
    • 업데이트가 간단합니다. 명령어 한번에 업데이트가 가능합니다.
    • 모든 프로그램은 패키지로 설치할 수 있는 것은 아닙니다.
      라이센스 문제 등으로 패키지로 설치할 수 없는 프로그램도 존재합니다.
    • 설치가 빠릅니다.
      바이너리 파일을 내려받아 설치하는 것이기 때문에 부하가 거의 걸리지 않으며 설치 속도가 빠릅니다.

FreeBSD 는 컴파일 설치와 바이너리 설치를 둘 다 지원합니다.

PKG 사용법

pkg 는 pkg 라는 명령을 통해서 사용 할 수 있습니다. 자주 사용되는 명령어만 알아보도록 하겠습니다.

pkg update : 레포를 새로고침합니다.

pkg upgrade : 설치한 패키지를 업데이트합니다.

pkg search “name” : “name” 을 레포에서 검색합니다.

pkg install name : name 패키지를 설치합니다.

pkg info name : 설치한 name 패키지에 대한 정보를 봅니다.

pkg remove name : 설치한 name 패키지를 제거합니다.

FreeBSD 특성상 해당 패키지의 종속성은 지워 주지 않기 때문에 일일히 지우거나, 아래 autoremove 명령어를 사용해 종속성을 전부 삭제해야 합니다. 가장 좋은 방법은 설치할 때 어떤 패키지를 설치하였는지 기록해두거나, 스냅샷을 찍어 뒀다가 롤백하는 것입니다.

pkg autoremove : 의존성을 모조리 삭제합니다. 필요하고 아니고를 구분하지 않고 그냥 다 날려 버리기 때문에 주의해서 사용하여야 합니다.

pkg lock name : name 패키지를 잠급니다. name 은 pkg upgrade 명령을 사용해도 업데이트 되지 않습니다.

pkg unlock name : name 패키지의 잠금을 해제합니다.

PKG 처음 사용시

pkg 명령어를 처음 사용할 경우 아래와 같은 출력이 나타날 수 있습니다.

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]:

이는 pkg 가 설치되어 있지 않을때 나타나는 메세지입니다. 그래서 pkg 를 설치할 것이냐 묻는 것인데, y 를 눌러 주면 pkg 가 설치됩니다.

PKG 레포 바꾸기

FreeBSD 의 레포는 여러 버전이 있습니다. 기본 레포는 quarterly 인데, 긴급 업데이트가 필요하지 않은 한 1년에 4번 (각 분기 마다) 업데이트 됩니다. 검증된 레포이기 때문에 안정적이긴 하나, 업데이트가 느리다는 문제점이 있습니다.

기본 레포를 그대로 사용해도 되긴 하지만, 레포를 바꿀 수도 있습니다.

FreeBSD 의 기본 레포는 /etc/pkg/FreeBSD.conf 에 저장되어 있습니다. 하지만 이것을 수정하는 것은 권장하지 않습니다.

대신 새로운 레포 파일을 만들어 그것을 기본으로 사용하게 지정할 수 있습니다.

mkdir -p /usr/local/etc/pkg/repos
vi /usr/local/etc/pkg/repos/FreeBSD.conf

/usr/local/etc/pkg/repos 디렉토리를 만들고 FreeBSD.conf 라는 레포 설정 파일을 작성합니다.

FreeBSD: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
enabled: yes
}

위 설정을 작성할 시, 레포가 최신 (latest) 으로 변경됩니다. latest 레포는 업데이트 사항이 있을 때 마다 갱신됩니다.

Port 사용법

port는 pkg 에 비해 사용법이 조금 더 복잡합니다.

portsnap

port tree를 관리하는 명령어입니다.

port tree는 port의 목록입니다. /usr/ports 아래에 저장되는데, /usr/ports/www/nginx 와 같이 트리 형태를 지녀서 port tree라 합니다.

portsnap auto : portsnap fetch, portsnap extract, portsnap update 를 합한 것으로, port tree를 받아와 압축을 해제하고 port tree를 업데이트 합니다.

여담으로, 위 명령어를 실행할 시 아래와 같은 출력이 ‘엄청 많이’ 나옵니다.

(...)
/usr/ports/www/p5-RT-Extension-SLA/
/usr/ports/www/p5-RTx-Calendar/
/usr/ports/www/p5-Reaction/
/usr/ports/www/p5-Reddit-Client/
/usr/ports/www/p5-Reddit/
/usr/ports/www/p5-Role-REST-Client/
/usr/ports/www/p5-Rose-HTML-Objects/
/usr/ports/www/p5-Router-Boom/
/usr/ports/www/p5-Router-Simple-Sinatraish/
/usr/ports/www/p5-Router-Simple/
(...)

이는 받아온 porttree 의 압축을 해제함으로서 나오는 출력입니다. 좀 ‘조용하게’ 하는 옵션이 있을 만도 한데 안보이네요.

port 검색

pkg search -o “PortName”

pkg 명령을 통해 “PortName” port 를 찾습니다. 보통 이 명령어를 많이 사용합니다. pkg search -o nano 를 검색했을 때, editors/nano 라는 결과가 나온다면, nano 의 포트 위치는 /usr/ports/editors/nano 입니다.

find /usr/ports -name “PortName”

find 명령어를 이용해 port tree 가 저장된 디렉토리 에서 PortName 이라는 port를 찾습니다.

make

port 로 프로그램을 설치할 때 사용되는 명령어입니다. 설치하고자 하는 port 디렉토리에서 사용하여야 합니다.

make config : 컴파일을 하기 전에 컴파일 옵션을 설정합니다.

make config-recursive : 컴파일을 하기 전에 컴파일 옵션을 해당 port 의 종속성 port 도 재귀적으로 설정합니다. 예를 들어, py36-Fail2Ban 을 port 로 설치할 시 Fail2Ban 이라는 port 의 컴파일 옵션과 python3.6 의 컴파일 옵션을 설정합니다.

make fetch : port 의 소스 파일을 다운로드 받습니다.

make install : port를 설치합니다. 만약 소스코드가 다운로드 되어 있지 않다면 다운로드도 같이 수행합니다.

make clean : port 를 설치하는 과정에서 생긴 소스 파일이나 임시 파일 등을 정리합니다.

make install clean : 소스 파일을 다운로드하고 port 를 설치한 후 임시 파일 등을 정리합니다.

portupgrade

portupgrade : portupgrade 라는 소프트웨어를 사용하여 port를 쉽게 업데이트 할 수 있습니다. 기본 소프트웨어가 아니기 때문에 port나 pkg를 이용해 설치하여야 합니다.

portupgrade PortName : PortName 을 port를 통해 업데이트 합니다.

portupgrade -R PortName : PortName 을 종속성까지 포함해 port 를 통해 업데이트 합니다.



출처 : https://admion.net/port-and-pkg/
 

| |


      1 page / 1 page
번 호 카테고리 제 목 이름 조회수
현재글 freebsd 데스크탑 Port PKG , 바다아이 25
27 freebsd 데스크탑 freebsd nvidia driver, nvidia 바다아이 1516
26 freebsd 데스크탑 freebsd locale 바다아이 1502
25 freebsd 데스크탑 freebsd , disk partition, diskbandwidth 바다아이 1760
24 freebsd 데스크탑 freebsd , , . shell 바다아이 1866
23 freebsd 데스크탑 freebsd 바다아이 1865
22 freebsd 데스크탑 freebsd , .... hard Transfer speed test 바다아이 1823
21 freebsd 데스크탑 freebsd , , user add del 바다아이 2191
20 freebsd 데스크탑 freebsd geoip 바다아이 2117
19 freebsd 데스크탑 freebsd , .... ko_KR.UTF-8, csh, bash 바다아이 2231
18 freebsd 데스크탑 FreeBSD csh linux bash 바다아이 2005
17 freebsd 데스크탑 freebsd , , , ls, ll ... 바다아이 2081
16 freebsd 데스크탑 freebsd, linux top cpu , cpu , core 바다아이 2229
15 freebsd 데스크탑 , freebsd tar , 바다아이 3100
14 freebsd 데스크탑 freebsd pkg repo 바다아이 3012
13 freebsd 데스크탑 freebsd , , , libreoffice 바다아이 3485
12 freebsd 데스크탑 freebsd , 바다아이 2991
11 freebsd 데스크탑 freebsd .... ... 바다아이 2870
10 freebsd 데스크탑 freebsd smplayer mpv mplayer vlc 바다아이 2653
9 freebsd 데스크탑 freebsd , 바다아이 3134
8 freebsd 데스크탑 freebsd zfs , , 바다아이 2878
7 freebsd 데스크탑 freebsd virtualbox 바다아이 2699
6 freebsd 데스크탑 freebsd zfs ... 바다아이 2726
5 freebsd 데스크탑 freebsd firefox thunderbird 바다아이 3377
4 freebsd 데스크탑 freebsd navi , , xfce 바다아이 3546
3 freebsd 데스크탑 freebsd kernel , nvidia 바다아이 2649
2 freebsd 데스크탑 freebsd ext4 바다아이 2689
1 freebsd 데스크탑 freebsd ps/2 바다아이 2608
| |




Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : 구글 클라우드 플랫폼  실행시간 : 0.20487
to webmaster... gogo sea. gogo sea.