Back to the news overview

LXC 1.0.6 リリースのお知らせ

24th of September 2014

このリリースは LXC 1.0 シリーズの 6 回目のバグフィックスとなるリリースです。

LXC 1.0 と将来リリースする LXC 1.1 の両方を簡単にサポートするために、このバージョンでは lxc-start に -F オプションを追加しました。(現在の 1.0 で) デフォルトでフォアグラウンドで起動している lxc-start ではこのオプションは不要ですが、この動きは LXC 1.1 で変わる予定です (訳注: バックグラウンドがデフォルトに変わる予定です)。1.0 で -F を導入したのは、アップグレード後も作成したスクリプトが変わらずに動くようにするためです。

変更点

  • rootfs_is_blockdev: rootfs が指定されていないときには実行されないようにしました (訳注: rootfs が指定されていない場合はストレージバックエンドがブロックデバイスかどうかチェックを行う処理を実行しないようにしました)
  • confile: netdev->priv を設定する前に netdev->type のチェックを行うようにしました
  • ubuntu.common 設定ファイル中の mountcgroups フックのコメント内での例示を削除しました (訳注: 例示は "lxc.mount.auto = cgroup:mixed" に置き換わっています)
  • mountcgroup フックファイルを削除しました
  • lxc_init が SIGPWR を扱えるようになりました
  • Sysvinit スクリプトを修正しました
  • 非特権コンテナ: 指定がない場合は次に利用可能な NIC 名を使用するようにしました
  • btrfs のエラーメッセージの typo を修正しました
  • apparmor: スレーブバインドマウントが可能になりました
  • 古いリリースに対する SELinux ポリシーの例を追加しました
  • idmap (idのマッピング) なしで非特権コンテナを作成しようとした場合に参考になるエラーメッセージを出力するようにしました
  • Android ではスレッドセーフでない getpwuid と getpwgid を使うようにしました
  • btrfs: 再帰的な subvolume の削除をサポートしました (v2)
  • '--log-priority' を '--logpriority' に修正しました (訳注: エラーメッセージ中の typo の修正)
  • デーモン化の際ファイルディスクリプタのリークを修正しました
  • monitord が起動する際のファイルディスクリプタのリークを修正しました
  • pts セットアップ時に確実に /dev/pts ディレクトリが存在するようにしました
  • LVM バックエンドのコンテナのスナップショットを禁止しました (訳注: LVM でスナップショットが正常に動作しないための一時的な処置です)
  • 設定項目として lxc.console.logpath を追加しました
  • coverity: null チェックの後に newname を使わないようにしました (訳注: クローン時のクローン先のコンテナが存在しないかどうかのチェックの際にテンポラリ変数を使わないように処理を変更した)
  • coverity: btrfs_node tree の malloc を正しいサイズで行うようにしました
  • --with-distro=raspbian が使用可能になりました (訳注: configure 時のオプション指定です)
  • cgmanager get/set: cgmanager で確実に子グループを刈り取るようにしました
  • デバッグ出力の追加
  • do_mount_entry: remount 時に必要であれば nexec, nosuid, nodev, rdonly フラグを追加するようにしました (訳注: 関連 https://lkml.org/lkml/2014/8/13/746)
  • command socket: 必要な場合にハッシュを使うようにしました (訳注: コンテナのコマンドソケット名が長すぎる場合にはハッシュを使うようにしました)
  • monitor: 長い lxcpath の場合のソケット名の計算を修正しました
  • btrfs の subvolume の削除が失敗した場合の出力の変更 (issue #315)
  • SIGKILL (CTRL-C) と SIGQUIT (CTRL-) を無視するようにしました (issue #313) (訳注: lxc-attach コマンドの処理です)
  • コンテナディレクトリを 0770 に chmod するようにしました
  • build: 分離したビルドとソースディレクトリのサポートの修正
  • mount_entry: statvfs を使うように変更しました (訳注: /proc/self/mountinfo をパースしていたのを変更しました)
  • lxc_mount_auto_mounts: 再マウント時に存在する nodev などのオプションをきちんと評価できるようにしました
  • statvfs: statvfs が存在しない場合に何もしないようにしました (android/bionic)
  • ifindex の初期化時のコンパイラの警告がでないようにしました (訳注: 内部で使っている変数初期化の際の警告の抑止です)
  • build: clean の際に設定テンプレートを削除しないようにしました (訳注: make clean 時です)
  • build: distutils のエラーを防ぐために srcdir から setup.py を実行するようにしました
  • コマンドソケット名の扱いの処理の変更をしました (v2)
  • lxc-cgm: ネストした chown の際の問題を修正しました
  • monitord (コンテナをモニタリングするデーモン) にコンテナの終了ステータスを報告するようになりました
  • cgmanager が 'all' サブシステムをサポートしている時は 'all' を使うようにしました (訳注: 原文は「'all' containers」となっていて、該当のコミットログもそうなっていますが、修正内容を見る限りは cgroup の複数のサブシステムを扱う話に見えますのでそのように訳しています→コミット)
  • log: quiet モードのバグを修正しました
  • lxc.c ビルド内のビルド時のエラー(ISO C90仕様違反)を修正しました
  • lxc_map_ids: 不要な newgidmap コマンドのチェックを行わないようにしました。コード中にその部分のコメントを追加しました。
  • コンテナ終了時に autodev 処理に使ったディレクトリを掃除するようにしました
  • MLでの議論で、リブート時は autodev 処理に使ったディレクトリを掃除しないようにしました
  • 少し異なったrmdir処理の呼び出しに起因するビルドの失敗を修正しました
  • IPv6アドレスとゲートウェイの表現の修正
  • lxc-start: -F (フォアグラウンド) オプションの追加
  • all: インラインコメントの使用をやめました (訳注: 付属の標準設定ファイルの話です)
  • centos: DHCPリクエストにホスト名を含めるようにしました
  • centos, fedora, gentoo: arch コマンドを uname -m に変更しました
  • altlinux: バグ修正をしました
  • archlinux: /etc/locale.conf にデフォルトのロケールを適切に設定するようにしました
  • centos template: mingetty 実行時に vhangup(2) が呼ばれないようにしました
  • download: wget が 3 度リトライをするようにしました
  • download: --keyserver オプションが実際に動作するようにしました
  • gentoo: インストール時のファイルとディレクトリがオリジナルのuid/gidを保持するようにしました
  • gentoo: portage distdir の決定に portageq を使用するようにしました
  • plamo: インストール時のファイルとディレクトリがオリジナルのuid/gidを保持するようにしました
  • plamo: バグを修正しました
  • ssh: DHCP サーバにホスト名を送るようにしました
  • ubuntu: $rootfs/run/shm の存在チェックを行わないようにしました
  • ubuntu: ヘルプを追加しました
  • lxc-test-{unpriv,usernic.in}: 確実に chgrp されるようにしました
  • lxc-test-unpriv: lxc-clone -s のテストを行うようにしました
  • tests: shutdown をテストする前に sync を呼ぶようにしました
  • tests: 使用可能であればダウンロードキャッシュをコピーするようにしました [v2]
  • 非特権の cgroup 管理のテストを修正しました
  • doc: 非特権の場合に veth.pair が無視されることを追記しました (日本語manでも追記しました)
  • doc: lxc-start(1) に -F オプションの説明を追加しました
  • doc: 日本語の lxc.container.conf(5) の SELinux の説明を更新しました
  • lxc-create(1) の -B オプションのパラメータに 'zfs' を追加しました
  • doc: 日本語の lxc.container.conf(5) に lxc.console.logpath の説明を追加しました
  • doc: 言語の修正
  • doc: 日本語の lxc.container.conf(5) の誤記を修正しました
  • lxc-snapshot(1) に destroy オプションの説明を追加しました
  • lxc.system.conf(5) に lxc.cgroup.use が cgmanager を使っているときは無視されることを追記しました

これらの stable の修正は 24 名のコントリビュータによってなされました。

このリリースの tarball は ダウンロードページ から取得できます。
そして、各ディストリビューションがすぐに LXC 1.0.6 のパッケージをリリースするでしょう。

個々の変更点に興味がある場合、そして開発の履歴を見たい場合、stable ブランチは GitHub にあります。