FreeBSD Daily Topics

2012年8月15日pkg(8)でソフトウェアをアップグレードする方法

pkgng

How to upgrade the softwares by pkg(8)

pkg(8)では定期的にリモートリポジトリがアップデートされます。pkg(8)でインストールしたソフトウェアは、リモートリポジトリがアップデートされたら更新することができます。Ports Collectionにおいてportmaster(8)やportupgrade(8)でソフトウェアをアップグレードする操作のようなものです。

まず、次のようにリモートリポジトリを更新します。リモートリポジトリがローカルのリポジトリよりも新しくなっていれば、次のようにダウンロードが実施されます。

# pkg update
Updating remote repository
repo.txz         100% 9682KB 403.4KB/s 571.9KB/s   00:24    
#

pkg upgradeでアップグレード操作を実施します。pkg(8)そのものがアップグレードされている場合には、まず次のようにpkg(8)そのものをアップグレードするかどうかを尋ねられます。

# pkg upgrade
Updating remote repository
Remote repository up-to-date, no need to upgrade
New version of pkg detected, it needs to be installed first.
After this upgrade it is recommended that you do a full upgrade using: 'pkg upgrade'

The following packages will be upgraded:

        Upgrading pkg: 1.0.b17 -> 1.0.r5_1

The installation will require 247 kB more space

1 MB to be downloaded

Proceed with upgrading packages [y/N]: y
pkg-1.0.r5_1.txz                      100% 1750KB 250.0KB/s 390.3KB/s   00:07    
Checking integrity... done
Upgrading pkg from 1.0.b17 to 1.0.r5_1... done
#

pkg(8)をアップグレードしたあとにもう一度pkg upgradeを実施することで、pkg(8)経由でインストールしたソフトウェアをまとめてアップグレードすることができます。

# pkg upgrade
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be upgraded:

        Installing pkgconf: 0.8.5
        Upgrading python27: 2.7.3_2 -> 2.7.3_3
        Upgrading png: 1.5.11 -> 1.5.12
        Upgrading libogg: 1.2.2,4 -> 1.3.0,4
        Upgrading pcre: 8.30_2 -> 8.31
        Upgrading tiff: 4.0.2 -> 4.0.2_1
        Upgrading libvorbis: 1.3.3,3 -> 1.3.3_1,3
        Upgrading pciids: 20120625 -> 20120711
        Upgrading dbus: 1.4.14_2 -> 1.4.14_3
        Upgrading libtheora: 1.1.1_2 -> 1.1.1_3
        Upgrading gstreamer-plugins: 0.10.36,3 -> 0.10.36_1,3
        Upgrading py27-libxml2: 2.7.8_1 -> 2.7.8_2
        Upgrading sqlite3: 3.7.12.1 -> 3.7.13
        Upgrading nspr: 4.9.1_1 -> 4.9.2
        Upgrading libdvdread: 4.2.0_1 -> 4.2.0_2
        Upgrading libidn: 1.22 -> 1.25
        Installing cmake-modules: 2.8.8
        Installing freeglut: 2.8.0
        Upgrading flac: 1.2.1_2 -> 1.2.1_3
        Upgrading iso-codes: 3.35 -> 3.37
        Upgrading alsa-lib: 1.0.23 -> 1.0.25
        Upgrading libpurple: 2.10.4_1 -> 2.10.6
        Upgrading exiv2: 0.21.1,1 -> 0.23,1
        Upgrading cvsps: 2.1 -> 2.1_1
        Upgrading x264: 0.123.2189_2 -> 0.125.2201
        Reinstalling libcheck-0.9.8
        Upgrading zsh: 4.3.17_3 -> 5.0.0
        Upgrading bash: 4.2.28 -> 4.2.37
        Upgrading dri: 7.6.1,2 -> 7.6.1_1,2
        Upgrading xterm: 279_1 -> 281
        Upgrading nettle: 2.4 -> 2.5
        Upgrading p11-kit: 0.11 -> 0.13
        Upgrading libsndfile: 1.0.25_1 -> 1.0.25_2
        Upgrading libcanberra: 0.28_2 -> 0.28_3
        Upgrading speex: 1.2.r1_3,1 -> 1.2.r1_4,1
        Upgrading openldap-client: 2.4.31_1 -> 2.4.32_1
        Upgrading mesa-demos: 7.6.1 -> 7.6.1_1
        Upgrading vte: 0.26.2_2 -> 0.26.2_3
        Upgrading alsa-plugins: 1.0.23_3 -> 1.0.25
        Upgrading opera: 12.00 -> 12.01
        Upgrading pidgin: 2.10.4_1 -> 2.10.6
        Upgrading automake: 1.12.1 -> 1.12.2
        Upgrading help2man: 1.40.10 -> 1.40.11
        Upgrading geeqie: 1.0_5 -> 1.0_6
        Upgrading git: 1.7.10.3 -> 1.7.11.4
        Upgrading GeoIP: 1.4.8_2 -> 1.4.8_3
        Upgrading portmaster: 3.12.2 -> 3.13.13
        Upgrading flex: 2.5.35_4 -> 2.5.36
        Upgrading qt4-gui: 4.8.2 -> 4.8.2_1
        Upgrading sdl: 1.2.15_1,2 -> 1.2.15_2,2
        Upgrading virtualbox-ose-kmod: 4.1.18 -> 4.1.18_1
        Upgrading cmake: 2.8.8 -> 2.8.8_1
        Upgrading yajl: 2.0.1 -> 2.0.4_1
        Upgrading texi2html: 5.0,1 -> 5.0_1,1
        Upgrading ibus: 1.4.0_4 -> 1.4.1
        Upgrading ffmpeg: 0.7.13,1 -> 0.7.13_6,1

The installation will require 1 MB more space

0 B to be downloaded

Proceed with upgrading packages [y/N]: y

…略…

#

pkg(8)は10-CURRENTにマージされ、現在開発段階にあります。多くのソフトウェアが登録されていますが、パッケージをビルドするタイミングによっては人気の高いソフトウェアがパッケージに含まれなかったり、ライブラリ/バイナリの入れ替えなどでうまく利用できないことがあります。こうした問題はpkg(8)の使用が普及するにつれ解決されていくと思われますが、実験的にpkg(8)を使い始める場合、そういった問題も発生するということを覚えておいてください。

おすすめ記事

記事・ニュース一覧