「pkg」の版間の差分
提供: FreeBSD入門
(→すでのサードパーティ製ソフトウェアがインストールされている場合) |
|||
行1: | 行1: | ||
− | |||
− | |||
[[pkg]]は、次世代パッケージ管理システムとそのコマンドです。 | [[pkg]]は、次世代パッケージ管理システムとそのコマンドです。 | ||
[[FreeBSD]] 10-CURRENT から採用されました。 | [[FreeBSD]] 10-CURRENT から採用されました。 | ||
行9: | 行7: | ||
== 概要 == | == 概要 == | ||
− | |||
[[pkg]]は、次世代パッケージ管理システムとそのコマンドです。 | [[pkg]]は、次世代パッケージ管理システムとそのコマンドです。 | ||
[[FreeBSD]] 10-CURRENT から採用されました。 | [[FreeBSD]] 10-CURRENT から採用されました。 | ||
[[FreeBSD]] 9.1-RELEASE で利用できます。 | [[FreeBSD]] 9.1-RELEASE で利用できます。 | ||
+ | [[FreeBSD 10.0-RELEASE]]では、デフォルトで使用できます。 | ||
[[ports|Ports Collection]]をベースに1-2週間ごとにパッケージが更新されます。 | [[ports|Ports Collection]]をベースに1-2週間ごとにパッケージが更新されます。 | ||
行18: | 行16: | ||
== 設定 == | == 設定 == | ||
− | |||
=== 設定ファイル === | === 設定ファイル === | ||
− | |||
* /usr/local/etc/pkg.conf | * /usr/local/etc/pkg.conf | ||
+ | |||
+ | [[FreeBSD 10.0-RELEASE]] /etc/pkg/FreeBSD.conf | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | # $FreeBSD: release/10.0.0/etc/pkg/FreeBSD.conf 258710 2013-11-28 14:24:26Z gjb $ | ||
+ | FreeBSD: { | ||
+ | url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", | ||
+ | mirror_type: "srv", | ||
+ | signature_type: "fingerprints", | ||
+ | fingerprints: "/usr/share/keys/pkg", | ||
+ | enabled: yes | ||
+ | } | ||
+ | </syntaxhighlight> | ||
=== make.conf === | === make.conf === | ||
− | |||
[[FreeBSD]] 10.x 未満の場合は、下記設定を /etc/make.conf にします。 | [[FreeBSD]] 10.x 未満の場合は、下記設定を /etc/make.conf にします。 | ||
行37: | 行44: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
% pkg help | % pkg help | ||
− | + | Usage: pkg [-v] [-d] [-l] [-N] [-j <jail name or id>|-c <chroot path>] | |
+ | [-C <configuration file>] [-R <repo config dir>] <command> [<args>] | ||
Global options supported: | Global options supported: | ||
-d Increment debug level | -d Increment debug level | ||
− | -j Execute pkg( | + | -j Execute pkg(8) inside a jail(8) |
− | -c Execute pkg( | + | -c Execute pkg(8) inside a chroot(8) |
− | -v Display pkg( | + | -C Use the specified configuration file |
+ | -R Directory to search for individual repository configurations | ||
+ | -l List available commands and exit | ||
+ | -v Display pkg(8) version | ||
+ | -N Test if pkg(8) is activated and avoid auto-activation | ||
Commands supported: | Commands supported: | ||
add Registers a package and installs it on the system | add Registers a package and installs it on the system | ||
+ | annotate Add, modify or delete tag-value style annotations on packages | ||
audit Reports vulnerable packages | audit Reports vulnerable packages | ||
autoremove Removes orphan packages | autoremove Removes orphan packages | ||
行52: | 行65: | ||
check Checks for missing dependencies and database consistency | check Checks for missing dependencies and database consistency | ||
clean Cleans old packages from the cache | clean Cleans old packages from the cache | ||
+ | config Display the value of the configuration options | ||
+ | convert Convert database from/to pkgng | ||
create Creates software package distributions | create Creates software package distributions | ||
delete Deletes packages from the database and the system | delete Deletes packages from the database and the system | ||
行58: | 行73: | ||
info Displays information about installed packages | info Displays information about installed packages | ||
install Installs packages from remote package repositories | install Installs packages from remote package repositories | ||
+ | lock Locks package against modifications or deletion | ||
+ | plugins Manages plugins and displays information about plugins | ||
query Queries information about installed packages | query Queries information about installed packages | ||
register Registers a package into the local database | register Registers a package into the local database | ||
行65: | 行82: | ||
search Performs a search of package repository catalogues | search Performs a search of package repository catalogues | ||
set Modifies information about packages in the local database | set Modifies information about packages in the local database | ||
+ | ssh ssh packages to be used via ssh | ||
shell Opens a debug shell | shell Opens a debug shell | ||
shlib Displays which packages link against a specific shared library | shlib Displays which packages link against a specific shared library | ||
stats Displays package database statistics | stats Displays package database statistics | ||
+ | unlock Unlocks a package, allowing modification or deletion | ||
update Updates package repository catalogues | update Updates package repository catalogues | ||
updating Displays UPDATING information for a package | updating Displays UPDATING information for a package | ||
行73: | 行92: | ||
version Displays the versions of installed packages | version Displays the versions of installed packages | ||
which Displays which package installed a specific file | which Displays which package installed a specific file | ||
+ | |||
+ | Commands provided by plugins: | ||
For more information on the different commands see 'pkg help <command>'. | For more information on the different commands see 'pkg help <command>'. | ||
行149: | 行170: | ||
=== パッケージをインストールする === | === パッケージをインストールする === | ||
− | |||
パッケージのインストールの例。 | パッケージのインストールの例。 | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
pkg install tmux | pkg install tmux | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | === パッケージをアンインストールする === | |
+ | <syntaxhighlight lang="bash"> | ||
+ | pkg delete tmux | ||
+ | </syntaxhighlight> | ||
=== バージョンチェック === | === バージョンチェック === | ||
− | |||
アップデートできるパッケージがないか調べます。 | アップデートできるパッケージがないか調べます。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行170: | 行191: | ||
adns-1.4_1 = | adns-1.4_1 = | ||
amap-5.2 = | amap-5.2 = | ||
+ | </syntaxhighlight> | ||
+ | ==== 時代遅れなパッケージを調べる ==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | pkg version -l '<' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
行189: | 行214: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo pkg upgrade -n | sudo pkg upgrade -n | ||
+ | </syntaxhighlight> | ||
+ | === 使われていないインストールされているパッケージの依存を削除する === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | pkg autoremove | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== パッケージの検証 === | === パッケージの検証 === | ||
− | |||
脆弱性のあるソフトウェアがインストールされていないか、検証できます。 | 脆弱性のあるソフトウェアがインストールされていないか、検証できます。 | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
pkg audit -F | pkg audit -F | ||
行212: | 行239: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | === | + | === リモートのパッケージの情報を取得する === |
+ | query は、任意の文字列が入ります。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | pkg search 'query' | ||
+ | </syntaxhighlight> | ||
+ | ==== リモートのパッケージの一覧を取得する ==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | pkg search '.' | ||
+ | </syntaxhighlight> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | user@b0:/ % pkg search '.'|wc | ||
+ | 22691 22691 457583 | ||
+ | </syntaxhighlight> | ||
+ | ==== リモートのパッケージを検索する ==== | ||
+ | [[pkg]]のsearchコマンドは、以下の引数をとります。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | Usage: pkg search [-egix] [-r repo] [-S search] [-L label] [-Q mod]... | ||
+ | <pkg-name> | ||
+ | pkg search [-cDdefgiopqRx] [-r repo] <pattern> | ||
+ | |||
+ | Search and Label options: comment description name origin pkg-name | ||
+ | Output Modifiers: annotations arch categories comment depends-on | ||
+ | description full licenses maintainer name options pkg-size | ||
+ | prefix repository required-by shared-libs-required shared-libs-provided | ||
+ | size url version www | ||
+ | For more information see 'pkg help search'. | ||
+ | </syntaxhighlight> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | user@b0:/ % pkg search vim | ||
+ | vim-7.4.110_3 | ||
+ | vim-lite-7.4.110 | ||
+ | vimpager-1.8.3 | ||
+ | xpi-vimperator-3.5 | ||
+ | </syntaxhighlight> | ||
+ | ==== リモートのパッケージの情報の詳細を取得する ==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | user@b0:/ % pkg search sshsudo | ||
+ | sshsudo-1.0 | ||
+ | </syntaxhighlight> | ||
+ | -f オプションで詳細情報が取得できます。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | user@b0:/ % pkg search -f sshsudo | ||
+ | sshsudo-1.0 | ||
+ | Name : sshsudo | ||
+ | Version : 1.0 | ||
+ | Origin : sysutils/sshsudo | ||
+ | Architecture : freebsd:10:x86:32 | ||
+ | Prefix : /usr/local | ||
+ | Categories : sysutils | ||
+ | Licenses : GPLv3 | ||
+ | Maintainer : gaod@hychen.org | ||
+ | WWW : http://code.google.com/p/sshsudo/ | ||
+ | Comment : A bash script to run sudo command on multiple remote computers | ||
+ | Flat size : 40.5KiB | ||
+ | Pkg size : 15 KB | ||
+ | Description : | ||
+ | A bash script to run sudo command on multiple remote computers with least effort | ||
+ | |||
+ | WWW: http://code.google.com/p/sshsudo/ | ||
+ | </syntaxhighlight> | ||
+ | === インストールされているパッケージの情報を取得する === | ||
+ | ==== インストールされているパッケージの一覧を取得する ==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | pkg info | ||
+ | </syntaxhighlight> | ||
+ | ==== パッケージの情報を取得する ==== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
% pkg info tmux | % pkg info tmux | ||
tmux-1.8 A Terminal Multiplexer | tmux-1.8 A Terminal Multiplexer | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | ==== パッケージの情報を詳細な取得する ==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | user@b0:/ % pkg info -f tmux | ||
+ | tmux-1.8_1 | ||
+ | Name : tmux | ||
+ | Version : 1.8_1 | ||
+ | Origin : sysutils/tmux | ||
+ | Architecture : freebsd:10:x86:32 | ||
+ | Prefix : /usr/local | ||
+ | Categories : sysutils | ||
+ | Licenses : BSD | ||
+ | Maintainer : gahr@FreeBSD.org | ||
+ | WWW : http://www.sourceforge.net/projects/tmux/ | ||
+ | Comment : A Terminal Multiplexer | ||
+ | Options : | ||
+ | BACKSPACE : off | ||
+ | LIBEVENT2 : off | ||
+ | LIBEVENT_STATIC: off | ||
+ | Shared Libs required: | ||
+ | libevent-1.4.so.4 | ||
+ | Flat size : 476KiB | ||
+ | Description : | ||
+ | Tmux is a terminal multiplexer, it enables a number of terminals to be accessed | ||
+ | and controlled from a single terminal. tmux is intended to be a simple, modern, | ||
+ | BSD-licensed alternative to programs such as GNU screen. | ||
+ | WWW: http://www.sourceforge.net/projects/tmux/ | ||
+ | </syntaxhighlight> | ||
+ | ==== インストールされているファイルの一覧を取得する ==== | ||
インストールされているファイルの一覧を表示する。 | インストールされているファイルの一覧を表示する。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行242: | 行362: | ||
/usr/local/share/licenses/tmux-1.8/catalog.mk | /usr/local/share/licenses/tmux-1.8/catalog.mk | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | === インストールされているパッケージの統計を表示する === | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | user@b0:/ % pkg stat | ||
+ | Local package database: | ||
+ | Installed packages: 116 | ||
+ | Disk space occupied: 583 MB | ||
+ | Remote package database(s): | ||
+ | Number of repositories: 1 | ||
+ | Packages available: 22691 | ||
+ | Unique packages: 22691 | ||
+ | Total size of packages: 94 GB | ||
+ | </syntaxhighlight> | ||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[ports]] | * [[ports]] | ||
* [[ソフトウェアの管理]] | * [[ソフトウェアの管理]] | ||
+ | <!-- vim: fileencoding=utf-8 filetype=mediawiki --> |
2014年2月4日 (火) 00:26時点における版
pkgは、次世代パッケージ管理システムとそのコマンドです。 FreeBSD 10-CURRENT から採用されました。
読み方
- pkg
- ぴーけーじー
目次
- 1 概要
- 2 設定
- 3 使い方
- 4 関連項目
概要
pkgは、次世代パッケージ管理システムとそのコマンドです。 FreeBSD 10-CURRENT から採用されました。 FreeBSD 9.1-RELEASE で利用できます。 FreeBSD 10.0-RELEASEでは、デフォルトで使用できます。
Ports Collectionをベースに1-2週間ごとにパッケージが更新されます。 最新のコレクションをバイナリでインストール・アップグレードできます。
設定
設定ファイル
- /usr/local/etc/pkg.conf
FreeBSD 10.0-RELEASE /etc/pkg/FreeBSD.conf
# $FreeBSD: release/10.0.0/etc/pkg/FreeBSD.conf 258710 2013-11-28 14:24:26Z gjb $ FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", enabled: yes }
make.conf
FreeBSD 10.x 未満の場合は、下記設定を /etc/make.conf にします。
WITH_PKGNG= yes
使い方
pkg コマンドのオプション
% pkg help Usage: pkg [-v] [-d] [-l] [-N] [-j <jail name or id>|-c <chroot path>] [-C <configuration file>] [-R <repo config dir>] <command> [<args>] Global options supported: -d Increment debug level -j Execute pkg(8) inside a jail(8) -c Execute pkg(8) inside a chroot(8) -C Use the specified configuration file -R Directory to search for individual repository configurations -l List available commands and exit -v Display pkg(8) version -N Test if pkg(8) is activated and avoid auto-activation Commands supported: add Registers a package and installs it on the system annotate Add, modify or delete tag-value style annotations on packages audit Reports vulnerable packages autoremove Removes orphan packages backup Backs-up and restores the local package database check Checks for missing dependencies and database consistency clean Cleans old packages from the cache config Display the value of the configuration options convert Convert database from/to pkgng create Creates software package distributions delete Deletes packages from the database and the system fetch Fetches packages from a remote repository help Displays help information info Displays information about installed packages install Installs packages from remote package repositories lock Locks package against modifications or deletion plugins Manages plugins and displays information about plugins query Queries information about installed packages register Registers a package into the local database remove Deletes packages from the database and the system repo Creates a package repository catalogue rquery Queries information in repository catalogues search Performs a search of package repository catalogues set Modifies information about packages in the local database ssh ssh packages to be used via ssh shell Opens a debug shell shlib Displays which packages link against a specific shared library stats Displays package database statistics unlock Unlocks a package, allowing modification or deletion update Updates package repository catalogues updating Displays UPDATING information for a package upgrade Performs upgrades of packaged software distributions version Displays the versions of installed packages which Displays which package installed a specific file Commands provided by plugins: For more information on the different commands see 'pkg help <command>'.
はじめて起動するとき
% sudo /usr/sbin/pkg The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: Bootstrapping pkg please wait Installing pkg-1.0.11... done If you are upgrading from the old package format, first run: # pkg2ng usage: pkg [-v] [-d] [-j <jail name or id>|-c <chroot path>] <command> [<args>] Global options supported: -d Increment debug level -j Execute pkg(1) inside a jail(8) -c Execute pkg(1) inside a chroot(8) -v Display pkg(1) version Commands supported: add Registers a package and installs it on the system audit Reports vulnerable packages autoremove Removes orphan packages backup Backs-up and restores the local package database check Checks for missing dependencies and database consistency clean Cleans old packages from the cache create Creates software package distributions delete Deletes packages from the database and the system fetch Fetches packages from a remote repository help Displays help information info Displays information about installed packages install Installs packages from remote package repositories query Queries information about installed packages register Registers a package into the local database remove Deletes packages from the database and the system repo Creates a package repository catalogue rquery Queries information in repository catalogues search Performs a search of package repository catalogues set Modifies information about packages in the local database shell Opens a debug shell shlib Displays which packages link against a specific shared li brary stats Displays package database statistics update Updates package repository catalogues updating Displays UPDATING information for a package upgrade Performs upgrades of packaged software distributions version Displays the versions of installed packages which Displays which package installed a specific file For more information on the different commands see 'pkg help <command>'.
すでにサードパーティ製ソフトウェアがインストールされている場合
FreeBSD に ports などでソフトウェアがインストールされている場合は、データベースを新しいフォーマットへ変換する必要があります。
sudo /usr/local/sbin/pkg2ng
% sudo /usr/local/sbin/pkg2ng 省略 Moved old package database to /var/db/pkg.bak. Conversion has been successfully finished Your old packages database has been moved to: /var/db/pkg.bak. % ls /var/db/pkg local.sqlite repo.sqlite
パッケージをインストールする
パッケージのインストールの例。
pkg install tmux
パッケージをアンインストールする
pkg delete tmux
バージョンチェック
アップデートできるパッケージがないか調べます。
pkg version
% pkg version ImageMagick-6.8.0.7 < ORBit2-2.14.19 = R-2.15.3 = adns-1.4_1 = amap-5.2 =
時代遅れなパッケージを調べる
pkg version -l '<'
データベースのダウンロード
% sudo pkg update -f Updating repository catalogue repo.txz 100% 1832 1.8KB/s 1.8KB/s 00:00
バージョンアップ
新しいバージョンのパッケージにアップグレードします。
sudo pkg upgrade
ドライラン(Dry run)します。
sudo pkg upgrade -n
使われていないインストールされているパッケージの依存を削除する
pkg autoremove
パッケージの検証
脆弱性のあるソフトウェアがインストールされていないか、検証できます。
pkg audit -F
% sudo pkg audit -F auditfile.tbz 100% 87KB 86.8KB/s 86.8KB/s 00:01 ca_root_nss-3.14 is vulnerable: mozilla -- multiple vulnerabilities WWW: http://portaudit.FreeBSD.org/a4ed6632-5aa9-11e2-8fcb-c8600054b392.html 省略 10 problem(s) in your installed packages found.
リモートのパッケージの情報を取得する
query は、任意の文字列が入ります。
pkg search 'query'
リモートのパッケージの一覧を取得する
pkg search '.'
user@b0:/ % pkg search '.'|wc 22691 22691 457583
リモートのパッケージを検索する
pkgのsearchコマンドは、以下の引数をとります。
Usage: pkg search [-egix] [-r repo] [-S search] [-L label] [-Q mod]... <pkg-name> pkg search [-cDdefgiopqRx] [-r repo] <pattern> Search and Label options: comment description name origin pkg-name Output Modifiers: annotations arch categories comment depends-on description full licenses maintainer name options pkg-size prefix repository required-by shared-libs-required shared-libs-provided size url version www For more information see 'pkg help search'.
user@b0:/ % pkg search vim vim-7.4.110_3 vim-lite-7.4.110 vimpager-1.8.3 xpi-vimperator-3.5
リモートのパッケージの情報の詳細を取得する
user@b0:/ % pkg search sshsudo sshsudo-1.0
-f オプションで詳細情報が取得できます。
user@b0:/ % pkg search -f sshsudo sshsudo-1.0 Name : sshsudo Version : 1.0 Origin : sysutils/sshsudo Architecture : freebsd:10:x86:32 Prefix : /usr/local Categories : sysutils Licenses : GPLv3 Maintainer : gaod@hychen.org WWW : http://code.google.com/p/sshsudo/ Comment : A bash script to run sudo command on multiple remote computers Flat size : 40.5KiB Pkg size : 15 KB Description : A bash script to run sudo command on multiple remote computers with least effort WWW: http://code.google.com/p/sshsudo/
インストールされているパッケージの情報を取得する
インストールされているパッケージの一覧を取得する
pkg info
パッケージの情報を取得する
% pkg info tmux tmux-1.8 A Terminal Multiplexer
パッケージの情報を詳細な取得する
user@b0:/ % pkg info -f tmux tmux-1.8_1 Name : tmux Version : 1.8_1 Origin : sysutils/tmux Architecture : freebsd:10:x86:32 Prefix : /usr/local Categories : sysutils Licenses : BSD Maintainer : gahr@FreeBSD.org WWW : http://www.sourceforge.net/projects/tmux/ Comment : A Terminal Multiplexer Options : BACKSPACE : off LIBEVENT2 : off LIBEVENT_STATIC: off Shared Libs required: libevent-1.4.so.4 Flat size : 476KiB Description : Tmux is a terminal multiplexer, it enables a number of terminals to be accessed and controlled from a single terminal. tmux is intended to be a simple, modern, BSD-licensed alternative to programs such as GNU screen. WWW: http://www.sourceforge.net/projects/tmux/
インストールされているファイルの一覧を取得する
インストールされているファイルの一覧を表示する。
% pkg info -l tmux tmux-1.8 owns the following files: /usr/local/bin/tmux /usr/local/etc/bash_completion.d/tmux /usr/local/man/man1/tmux.1.gz /usr/local/share/doc/tmux/CHANGES /usr/local/share/doc/tmux/FAQ /usr/local/share/doc/tmux/README /usr/local/share/doc/tmux/TODO /usr/local/share/examples/tmux/bash_completion_tmux.sh /usr/local/share/examples/tmux/h-boetes.conf /usr/local/share/examples/tmux/n-marriott.conf /usr/local/share/examples/tmux/screen-keys.conf /usr/local/share/examples/tmux/t-williams.conf /usr/local/share/examples/tmux/tmux.vim /usr/local/share/examples/tmux/tmux_backup.sh /usr/local/share/examples/tmux/vim-keys.conf /usr/local/share/licenses/tmux-1.8/BSD /usr/local/share/licenses/tmux-1.8/LICENSE /usr/local/share/licenses/tmux-1.8/catalog.mk
インストールされているパッケージの統計を表示する
user@b0:/ % pkg stat Local package database: Installed packages: 116 Disk space occupied: 583 MB Remote package database(s): Number of repositories: 1 Packages available: 22691 Unique packages: 22691 Total size of packages: 94 GB