Solaris 11 で古いバージョンのパッケージをインストールしようとした時などに
以下のように怒られる。
$ sudo pkg update -vn pkg://build2/web/php-53/extension/[email protected],5.11-0.0.175.1.0.0.24.3:20130114T113315Z
Creating Plan (Solver setup): \
pkg update: No matching version of web/php-53/extension/php-memcache can be installed:
Reject: pkg://build2/web/php-53/extension/[email protected],5.11-0.0.175.1.0.0.24.3:20130114T113315Z
Reason: This version is excluded by installed incorporation pkg://solaris/consolidation/userland/[email protected],5.11-0.175.1.3.0.4.0:20130102T192845Z
user-land-incorporation によってバージョンがロックされているので、
以下のようにロックを外してからインストールすればよい。
まず、facet の確認
$ pkg facet facet.version-lock.web/php-53/extension/php-memcache
FACETS VALUE
facet.version-lock.web/php-53/extension/php-memcache True
version-lock が true になっているので、これを false にしてロックを外す。
$ sudo pkg change-facet facet.version-lock.web/php-53/extension/php-memcache=false
Packages to update: 1257
Variants/Facets to change: 1
Create boot environment: No
Create backup boot environment: Yes
PHASE ITEMS
Removing old actions 1/1
Updating image state Done
Creating fast lookup database Done
Reading search index Done
Building new search index 1257/1257
これで version-lock が外れたので、バージョンを指定してパッケージを入れ替え。
$ sudo pkg update -v pkg://work-spec/web/php-53/extension/[email protected],5.11-0.11.1:20130123T010822Z
Packages to update: 1
Estimated space available: 850.69 GB
Estimated space to be consumed: 40.98 MB
Create boot environment: No
Create backup boot environment: Yes
Rebuild boot archive: No
Changed packages:
solaris -> work-spec
web/php-53/extension/php-memcache
3.0.6,5.11-0.175.1.0.0.24.0:20120904T174925Z -> 2.2.7,5.11-0.11.1:20130123T010822Z
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 1/1 2/2 0.0/0.0 4.7M/s
PHASE ITEMS
Removing old actions 16/16
Installing new actions 11/11
Updating modified actions 4/4
Updating package state database Done
Updating package cache 1/1
Updating image state Done
Creating fast lookup database Done
Reading search index Done
Updating search index 1/1
古いバージョンを入れるだけでなく、
自分でビルドした新しいバージョンのパッケージのインストールも
同じ方法でいけるはずです。