4. FreeBSD - メンテナンス・トラブルシュート - pkg・ports アップデート関連 - アップデートをロックする

 
4.1 能書き
4.2 pkg をロックする
4.3 ports をロックする
4.4 ロックした状態でのアップデート

4.1 能書き

 この項目の上の方に書いてありますが、WordPress をアップデートするのは、WordPress 自身の機能で行うことにしました。  そうすると、アップデート時に依存の関係で、WordPress がアップデート対象になってしまったときに意図しないことになってしまうので、なんとかならないかと調べてみました。

4.2 pkg をロックする

 この項目は、下記を参考にさせていただきました。
慶應義塾ITC本部・技術メモ - FreeBSD pkg (pkgng)でのカスタマイズ環境アップグレード」

「pkg - FreeBSD入門
 pkg のロックは pkg コマンドで行います。

> pkg lock パッケージ名
 ロック状態を確認するには

> pkg info -k パッケージ名
 ちなみにアンロックするには

> pkg unlock パッケージ名
 WordPress をロックしてみます。

> pkg lock ja-wordpress
ja-wordpress-4.8.3: lock this package? [y/N]: y
Locking ja-wordpress-4.8.3
> pkg info -k ja-wordpress
ja-wordpress-4.8.3             yes
 わたしは、WordPress は、ports で管理していますので、これでは不十分です。

4.3 ports をロックする

 この項目は、下記を参考にさせていただきました。
portupgradeの導入・利用
 恥ずかしながら、今まで /usr/local/etc/pkgtools.conf をさわったことがなかったのですが、これで指定できるそうです。  デフォルトで1項目指定されているようです。

  HOLD_PKGS = [
    'bsdpan-*',
  ]
 今回の場合 ja-wordpress を加えます。

  HOLD_PKGS = [
    'bsdpan-*',
    'ja-wordpress',
  ]
 これで、次回の依存アップデートのときにどうなるか見てみたいと思います。

4.4 ロックした状態でのアップデート

 ロックした状態で、依存している php56 のアップデートがありました。  アップデート時のログの最後の方で

Installing php56-zlib-5.6.33...
===>  Cleaning for php56-zlib-5.6.33
--->  Cleaning out obsolete shared libraries
--->  Skipping 'japanese/wordpress' because it is held by user (specify -f to force)
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        * japanese/wordpress (ja-wordpress-4.8.3)
 なるほど、ホールドされているので japanese/wordpress をスキップしたと出ています。