カテゴリー別アーカイブ: FreeBSD

Virtualbox 5.0

Virtualbox 5.0 がリリースされました。Changelogによると新規に追加された機能は次の通りです。

1.  時刻合わせと性能向上のための準仮想化

ゲストに応じて次の準仮想化が使えます。FreeBSD Guest の場合 GENERIC カーネルに含まれる vmbus ドライバが組み込まれていれば準仮想化が効いているはずです。

  • Linux Guest : KVM
  • Windows Guest : Hyper-V
  • FreeBSD GUest : Hyper-V

 2. ゲストが使用できる命令セットの追加。

ホストCPUがサポートしている場合に以下を利用可能です。

  • SSE 4.1, SSE4.2, AVX, AVX-2, AES-NI, POPCNT, RDRAND, RDSEED

3. USB3 サポートのための xHCI

4. 双方向ドラッグ&ドロップ。

Windows, Linux, Solaris で可能です。

5. ディスクイメージの暗号化

拡張パックが必要です。AESによる暗号化がサポートされました。

6. 仮想マシンをセパレートモードで起動可能。

予めデータッチモードで起動することにより画面をアタッチ・デタッチできるようになりました。

7. ゲストのウィンドウサイズ変更

8. ステータスバー・メニューバーのカスタマイズ

9. ディスクイメージ暗号化の設定タブを追加。

10. HiDPI サポート

特にRetina Mac用の機能です。

11. SATAディスクのホットプラグ

 

FreeBSD 10.1-p14

最近いろいろと更新されている FreeBSD ですが、新規インストールするときにパッチの当たった最新版をいれられるようリリースイメージを作りました。

amd64版のみですが、以下のURLからダウンロードできます。

ftp://yuisoft.com/pub/FreeBSD/releases/ISO-IMAGES/10.1-p14/

パッケージは 10.1-RELEASE 時点のものです。最新のパッケージを取得するには pkg コマンドでアップデートしてください。

また、公式の配布物とは sha のハッシュ値が異なるため、freebsd-update は公式の p14 をダウンロードしようとします。

UFSのデッドロックを回避するためのインストールイメージとして使えます。

FreeBSD 10.1-RELEASE

FreeBSD 10.1-RELEASE がでました。マイナーバージョンアップですので、10.0-Rからのアップデートであれば、それほど問題なく上げられると思います。

共有ライブラリなどのバージョンが上がっていませんので、ほとんどのportsも再コンパイルなしで動くのではないでしょうか。

ports/databases/sqlite3

FreeBSDのports/databases/sqlite3のライブラリバージョンがこっそり変更されたようです。libsqlite3.so.8だったものがlibsqlte3.so.0.8.6に変わっています。リンク切れになるportsもあるようですので、調べて再コンパイルしたほうがよいようです。

 

portsの共有ライブラリ

FreeBSDのportsを使用して共有ライブラリをインストールした場合、それらが更新されるときにファイル名が変わり利用している実行バイナリが軒並みリンク切れで実行できなくなることがあります。

例えば xml を扱うライブラリである libxml2 が libxml2.so.5 から libxml2.so.2.9.1 に変わった場合、libxml2.so.5が削除されると libxml2.so.5 をリンクしているバイナリが起動できなくなります。

portmaster では -w オプションをつけることで、古いライブラリを /usr/local/lib/compat/pkg に移動して保存してくれます。通常、このディレクトリにあるライブラリもダイナミックリンカの検索対象となりますので、起動できないという事態を避けることができます。

-w を毎回設定するのが面倒な場合は portmaster.rc に “SAVE_SHARED=wopt” と書いておくと良いでしょう。

このようにして古いライブラリを使用しているportsを探すにはpkg_libchkコマンドが便利です。ports/sysutils/bsdadminscripts でインストールできます。-a オプションを渡すと全てのインストールされているportsを検索し、ライブラリのリンク切れ、またはcompat/pkgを使用しているportsの一覧を表示してくれます。

後はそれらを再コンパイルすると良いでしょう。