Pkg을 사용하여 FreeBSD 10.1의 패키지를 관리하는 방법

Pkg을 사용하여 FreeBSD 10.1의 패키지를 관리하는 방법

2022-06-01 last update

8 minutes reading System Tools Getting Started FreeBSD

소개


FreeBSD의 바이너리 패키지 관리자 pkg은 사전 컴파일된 응용 프로그램의 설치, 즉 FreeBSD와 같은 효과가 있는 데비안과 RPM 패키지를 쉽게 관리할 수 있다.FreeBSD에서 다른 유행하는 소프트웨어 설치 방법에 비해 소프트웨어 패키지를 사용하여ports 집합 컴파일 포트를 사용하여 더욱 간단하고 빠른 대체 방법을 제공하여 많은 상황에서 사용할 수 있다.단, 패키지는 포트보다 유연하지 않습니다. 패키지 설치를 사용자 정의할 수 없습니다. 소프트웨어 설치를 위한 컴파일 옵션이 필요하면 패키지 대신 ports 를 사용하십시오.
이 강좌에서는 FreeBSD 10.1에서 소프트웨어 패키지를 관리하는 방법을 보여 드리겠습니다.여기에는 패키지 설치 및 제거 및 기타 관련 작업이 포함됩니다.

선결 조건


이 강좌의 명령을 사용하려면 FreeBSD 서버의 루트 액세스 권한이 있어야 합니다.즉, sudo 명령을 통해 루트 사용자나 다른 슈퍼 사용자 권한을 가진 사용자로 서버에 로그인할 수 있어야 합니다.루트를 사용할 계획이라면 예시 명령의 sudo 부분을 생략할 수 있습니다.

Pkg을 사용하여 새 패키지를 설치하는 방법


설치할 소프트웨어 패키지의 이름을 알고 있으면 다음과 같이 pkg 명령을 사용하여 설치할 수 있습니다.
sudo pkg install package_name
설치할 여러 소프트웨어 패키지를 다음과 같이 공백으로 구분하여 지정할 수도 있습니다.
sudo pkg install package1 package2 ...
예를 들어, Nginx, 유행하는 웹 서버pkg를 설치합니다.
sudo pkg install nginx
이 명령을 실행하면 지정한 패키지의 설치가 시작됩니다.먼저 패키지 저장소 디렉터리 업데이트가 확인됩니다.완전히 업데이트된 경우 지정된 패키지를 검색합니다.가방을 찾으면 가방과 의존하는 가방이 나열됩니다.확인 메시지가 나타납니다.
이 경우 nginx 패키지만 설치됩니다.y 응답 프롬프트를 사용하여 확인:
New packages to be INSTALLED:
	nginx: 1.6.2_1,2

The process will require 654 KB more space.
244 KB to be downloaded.

Proceed with this action? [y/N]: y
패키지 설치를 확인한 후 나열된 패키지를 다운로드하여 시스템에 설치합니다.일부 소프트웨어 패키지에는 응용 프로그램 사용에 대한 중요한 설치 후 정보나 설명이 표시되므로 설치 후 반드시 설치 후 설명을 따라야 합니다.
기본 셸 tcsh 또는 csh 을 사용하는 경우 PATH 에서 바이너리 파일 목록을 재구성하려면 다음 명령을 사용해야 합니다.
rehash
또 주의해야 할 것은 서비스로서의 응용 프로그램은 설치 후 자동으로 시작되거나 서비스로 사용되지 않는다는 것이다.이제 서비스를 어떻게 운영하는지 봅시다.

서비스 실행 방법


FreeBSD에서 패키지와 함께 설치된 서비스는 /usr/local/etc/rc.d 에서 서비스 초기화 스크립트를 제공합니다.서비스로 실행되는 Nginx 예에서 시작 스크립트nginx를 호출합니다.명령을 실행할 때, 강조 표시된 "nginx"대신 적당한 서비스 스크립트 이름을 바꾸어야 합니다.
활성화되지 않은 서비스를 시작하려는 경우 소프트웨어를 설치한 후 즉시 service 명령을 사용하여 소프트웨어를 시작하십시오.
sudo service nginx start
서비스가 시작되지 않습니다. 다음과 같은 메시지가 표시됩니다.
Cannot 'start' nginx. Set nginx_enable to YES in /etc/rc.conf or use 'onestart' instead of 'start'.
이 서비스를 활성화하려면 메시지의 지침에 따라 다음 줄을 추가하십시오/etc/rc.conf.
nginx_enable="YES"
편집기에서 /etc/rc.conf 을 열고 행을 추가하거나 sysrc 유틸리티를 사용하여 다음과 같이 파일을 업데이트할 수 있습니다.
sudo sysrc nginx_enable=yes
현재 이 서비스가 활성화되었습니다.시스템이 부트될 때 시작됩니다. 이전에 시도한 start 하위 명령을 사용할 수 있습니다.
sudo service nginx start
서비스를 한 번만 실행하고 사용하지 않으려면 onestart 하위 명령을 사용할 수 있습니다.이런 방식으로 서비스를 시작하면 시작 스크립트가 바로 실행되지만 시스템이 시작될 때 시작되지 않습니다.지금 시도:
sudo service nginx onestart
서비스를 사용하기 전에 서비스 구성을 테스트하려면 onestart 하위 명령을 사용하면 매우 유용합니다.

Pkg을 사용하여 패키지 정보 보기


설치된 패키지에 대한 정보를 보려면 다음과 같이 pkg info 명령을 사용하십시오.
pkg info package_name
소프트웨어 설명, 컴파일할 때 사용하는 옵션, 의존하는 라이브러리 목록 등 지정된 패키지에 대한 다양한 정보를 출력합니다.

Pkg을 사용하여 설치된 패키지를 업그레이드하는 방법


다음 명령을 사용하여 시스템에 설치된 패키지의 최신 사용 가능한 버전을 설치할 수 있습니다.
sudo pkg upgrade
이 명령을 실행하면 설치된 패키지와 저장소 디렉토리의 버전을 비교하고 최신 버전으로 업데이트할 수 있는 패키지 목록을 인쇄합니다.
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking for upgrades (2 candidates): 100%
Processing candidates (2 candidates): 100%
The following 2 packages will be affected (of 0 checked):

Installed packages to be UPGRADED:
	python27: 2.7.8_6 -> 2.7.9
	perl5: 5.18.4_10 -> 5.18.4_11

The process will require 2 MB more space.
23 MB to be downloaded.

Proceed with this action? [y/N]: y
열거된 소프트웨어 패키지를 계속 업그레이드하라는 프롬프트에 y 로 응답합니다.

Pkg 삭제 패키지 사용 방법


삭제할 패키지의 이름을 알고 있으면 다음과 같이 pkg 명령을 사용하여 삭제할 수 있습니다.
sudo pkg delete package_name
다음 그림과 같이 삭제할 여러 개의 패키지를 공백으로 구분할 수도 있습니다.
sudo pkg delete package1 package2 ...
이전에 설치한 Nginx 패키지를 삭제합니다.
sudo pkg delete nginx
다음 메시지가 표시되고 확인 메시지가 표시됩니다.
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	nginx-1.6.2_1,2

The operation will free 654 KB.

Proceed with deinstalling packages? [y/N]: y
패키지 삭제 작업을 확인하려면 y 응답 프롬프트를 사용하십시오.

사용하지 않은 의존 항목을 삭제하는 방법


의존 항목이 설치된 패키지를 삭제하면 의존 항목이 설치됩니다.설치된 패키지가 더 이상 필요하지 않은 패키지를 삭제하려면 다음 명령을 실행하십시오.
sudo pkg autoremove
삭제할 패키지 목록이 인쇄되고 프롬프트가 표시됩니다.나열된 패키지를 삭제하려면 y 확인 프롬프트에 응답하십시오.

Pkg이 들어 있는 가방을 찾는 방법


저장소에서 사용할 수 있는 바이너리 패키지를 찾으려면 pkg search 명령을 사용합니다.

패키지 이름별


가장 기본적인 검색 방식은 패키지 이름입니다.패키지 이름을 검색하려면 다음 명령을 사용합니다.
pkg search package_name
예를 들어, 이름에 "nginx"가 포함된 패키지를 검색하려면 다음 명령을 사용합니다.
pkg search nginx
"nginx"가 있는 버전 번호를 포함한 패키지 목록을 인쇄합니다.
nginx-1.6.2_1,2
nginx-devel-1.7.8
p5-Nginx-ReadBody-0.07_1
p5-Nginx-Simple-0.07_1
p5-Test-Nginx-0.24
열거된 패키지에 대한 자세한 패키지 정보를 보려면 다음과 같이 -f 옵션을 사용하십시오.
pkg search -f package_name
지정한 패키지 이름과 일치하는 각 패키지의 패키지 정보를 인쇄합니다.

설명에 따르다


설치할 소프트웨어 패키지의 이름이 확실하지 않으면 -D 옵션을 지정하여 저장소에서 사용할 수 있는 소프트웨어 패키지에 대한 설명을 검색할 수도 있습니다.기본적으로 패턴 일치는 대소문자를 구분하지 않습니다.
pkg search -D pattern
예를 들어, 설명에 "java"가 포함된 모든 패키지를 검색하려면 다음 명령을 사용합니다.
pkg search -D java
이것은 설명 필드에서 사용 가능한 모든 패키지의 이름과 설명을 지정된 모드로 인쇄합니다.

Pkg 사용에 대한 자세한 내용


Pkg은 매우 유연한 실용 프로그램으로 본 강좌에서 소개하지 않은 많은 방식으로 사용할 수 있다.다행히도, 어떤 옵션과 하위 명령이 사용할 수 있는지, 그리고 그 역할을 찾을 수 있는 간단한 방법을 제공했다.
사용 가능한 옵션 및 하위 명령을 인쇄하려면 다음 명령을 사용합니다.
pkg help
각 하위 명령의 매뉴얼 페이지를 읽으려면 pkg help 를 사용하고 다음과 같은 명령을 지정합니다.
pkg help subcommand
예를 들어, pkg search 사용에 대한 자세한 내용을 보려면 다음 명령을 입력합니다.
pkg help search
이것은 어떻게 사용하는지 설명하는 매뉴얼 페이지를 팝업합니다pkg search.

결론


FreeBSD 서버에서 바이너리 패키지를 관리하는 방법pkg을 충분히 알고 있을 것입니다.
FreeBSD 서버에서 소프트웨어를 관리하는 방법에 대한 자세한 내용은 본 강좌의 포트를 참조하십시오How To Install and Manage Ports on FreeBSD 10.1.