FreeBSD Daily Topics

2014年8月29日pkg(8)バージョン1.3.7へのアップグレード方法

pkg

pkg 1.3.7 released

pkg(8)のバージョン1.3.7がリリースされました。これまでと同じようにアップグレード手順を踏んでもよいのですが、その場合には通常のアップグレードと比較して再インストールされるパッケージの量が増えてしまいますので、次のような手順でアップグレード作業をすることが推奨されています。

まず、次のようにしてリポジトリをアップデートします。

リポジトリデータのアップデート
# pkg update
Updating repository catalogue
digests.txz                       100% 1988KB 397.6KB/s 527.9KB/s   00:05
packagesite.txz                   100% 5169KB 516.9KB/s 559.1KB/s   00:10
Incremental update completed, 23409 packages processed:
22912 packages updated, 410 removed and 497 added.
#

次に、pkg(8)のみをバージョン1.3.7へアップデートします。最初のプロンプトで「y」を入力してpkg(8)をアップデートし、次のプロンプトでは入力しないでそのままリターンキーを押して処理を終了します。

pkg(8)のみをバージョン1.3.7へアップグレード
# pkg upgrade
Updating repository catalogue
New version of pkg detected; it needs to be installed first.
Upgrades have been requested for the following 1 packages:

	Upgrading pkg: 1.2.7_4 -> 1.3.7

The upgrade will require 1 MB more space

2 MB to be downloaded

Proceed with upgrading packages [y/N]: y  ← ここで「y」と入力
pkg-1.3.7.txz                       100% 2263KB 323.3KB/s 352.9KB/s   00:07
Checking integrity... done
[1/1] Upgrading pkg from 1.2.7_4 to 1.3.7... done
If you are upgrading from the old package format, first run:

  # pkg2ng
Updating FreeBSD repository catalogue...
pkg: Repo "FreeBSD" upgrade schema 2006 to 2007: Add conflicts and provides
pkg: Repo "FreeBSD" upgrade schema 2007 to 2008: Add FTS index
pkg: Repo "FreeBSD" upgrade schema 2008 to 2009: Optimize indicies
pkg: Repo "FreeBSD" upgrade schema 2009 to 2010: Add legacy digest field
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Updating database digests format: 100%
Checking for upgrades (207 candidates): 100%
The following 116 packages will be affected (of 0 checked):

New packages to be INSTALLED:
	p5-Mozilla-CA: 20130114
	db5: 5.3.28_1
	libevent2: 2.0.21_2

Installed packages to be UPGRADED:
	pcre: 8.34_1 -> 8.35
	python27: 2.7.6_4 -> 2.7.8_4
	python2: 2_2 -> 2_3
	python: 2.7_1,2 -> 2.7_2,2
	...略...
	faad2: 2.7_4,1 -> 2.7_5,1
	GeoIP: 1.4.8_6 -> 1.6.0_2

Installed packages to be REINSTALLED:
	gettext-0.18.3.1_1 (needed shared library changed)
	gobject-introspection-1.36.0_2 (needed shared library changed)
	gtk2-2.24.22_3 (needed shared library changed)
	libxcb-1.10_2 (options changed)
	...略...
	libmpeg2-0.5.1_5 (needed shared library changed)
	libcddb-1.3.2_3 (needed shared library changed)

The operation will free 72 MB.
219 MB to be downloaded.

Proceed with this action? [y/N]: ← ここではアップデートを実施せずに抜けます

#

次にパッケージ間の共有ライブラリ依存関係の更新を行います。この処理で共有ライブラリの依存関係が修正され、不要なアップグレード処理がなくなります。

共有ライブラリ依存関係のアップデート
# pkg check -Ba
Checking all packages: 100%
#

ここまで処理したら、次のように通常通りのアップデートを実施します。

通常のアップデート作業を実施
# pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking for upgrades (207 candidates): 100%
The following 76 packages will be affected (of 0 checked):

New packages to be INSTALLED:
	p5-Mozilla-CA: 20130114
	db5: 5.3.28_1
	libevent2: 2.0.21_2

Installed packages to be UPGRADED:
	pcre: 8.34_1 -> 8.35
	python27: 2.7.6_4 -> 2.7.8_4
	python2: 2_2 -> 2_3
	python: 2.7_1,2 -> 2.7_2,2
	...略...
	faad2: 2.7_4,1 -> 2.7_5,1
	GeoIP: 1.4.8_6 -> 1.6.0_2

Installed packages to be REINSTALLED:
	gtk2-2.24.22_3 (needed shared library changed)
	libxcb-1.10_2 (options changed)
	fontconfig-2.11.0_3,1 (options changed)
	freeglut-2.8.1_2 (options changed)
	sdl-1.2.15_4,2 (options changed)
	tiff-4.0.3_4 (options changed)
	libsigc++-2.3.1 (options changed)
	avahi-app-0.6.31_2 (needed shared library changed)
	gdk-pixbuf2-2.28.2_1 (needed shared library changed)
	jasper-1.900.1_14 (options changed)
	gtk-update-icon-cache-2.24.22 (needed shared library changed)
	giflib-nox11-4.2.3_3 (options changed)
	bitstream-vera-1.10_5 (options changed)

The operation will free 72 MB.
164 MB to be downloaded.

Proceed with this action? [y/N]: y ← ⁠y」と入力してアップグレードを実施します
...略...
[1/78] Upgrading xproto from 7.0.25 to 7.0.26: 100%
[2/78] Upgrading pcre from 8.34_1 to 8.35: 100%
[3/78] Upgrading python27 from 2.7.6_4 to 2.7.8_4: 100%
[4/78] Reinstalling fontconfig-2.11.0_3,1: 100%
...略...
[68/78] Upgrading nginx from 1.6.0_2,2 to 1.6.1_1,2: 100%
[69/78] Upgrading python33 from 3.3.5_1 to 3.3.5_4: 100%
[70/78] Upgrading sudo from 1.8.10.p3 to 1.8.10.p3_1: 100%
[71/78] Upgrading vim-lite from 7.4.334 to 7.4.398: 100%
[72/78] Upgrading tmux from 1.9.a_1 to 1.9.a_2: 100%
[73/78] Upgrading taglib from 1.9.1_1 to 1.9.1_2: 100%
[74/78] Upgrading pkgconf from 0.9.6 to 0.9.6_1: 100%
[75/78] Upgrading libdca from 0.0.5 to 0.0.5_1: 100%
[76/78] Upgrading liba52 from 0.7.4_2 to 0.7.4_3: 100%
[77/78] Upgrading faad2 from 2.7_4,1 to 2.7_5,1: 100%
[78/78] Upgrading GeoIP from 1.4.8_6 to 1.6.0_2: 100%
#

こうした処理が必要になったのは、バージョン1.3.7で共有ライブラリ依存関係の部分が大幅に更新されたことに理由があります。これまで共有ライブラリの依存関係には誤った部分がりましたが、1.3.7でそういった部分が改善されています。

告知

こんなシェルスクリプトは書いちゃダメだ!~ワーストケースから学ぶ扱いやすいシェルスクリプトの作り方~

来週の月曜日、2014年9月1日に技術評論社 本社5F会議室においてシェルスクリプトの勉強会「技評×オングス こんなシェルスクリプトは書いちゃダメだ!」を開催します。

タイトル技評×オングス
こんなシェルスクリプトは書いちゃダメだ!
~ワーストケースから学ぶ扱いやすいシェルスクリプトの作り方~
日時2014年9月1日 19:00~21:00
定員40名
会場技術評論社 本社5F会議室 ⁠東京都新宿区市谷左内町21-13)
参加申込https://atnd.org/events/53942

シェルやシェルスクリプトはUNIX系システムを扱う上で花形の技術です。上級スキルを持つエンジニアほどシェルやシェルスクリプトを巧みに操り、超絶技巧でさまざまな問題を華麗に解決していきます。

シェルやシェルスクリプトは便利なソフトウェアなのですが、エンジニアのスキルによる違いがとても出やすいソフトウェアでもあります。本勉強会では「こうやって書くとだいたい失敗するぞ」というダメなパターンを紹介するところから、シェルやシェルスクリプトのスキルをアップする方法を紹介します。

もっとシェルやシェルスクリプトを活用したい方、スキルをアップしたい方、企業システムの開発にどうやってシェルやシェルスクリプトが使われているのか知りたい方、そういった方向けの勉強会です。

おすすめ記事

記事・ニュース一覧