Back to the news overview

LXC 1.0.7 リリースのお知らせ

5th of December 2014

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

変更点

コア :

  • IPv4/IPv6 アドレスをキーに問い合わせたとき、ネットワークプレフィックスも含めるようにしました
  • apparmor: 'silent' マウントを黙って拒否するようにしました
  • デバッグ出力にファイル、関数、行数の情報を含めるようにしました
  • apparmor: プロセスに対する signal と ptrace を制限するようにしました
  • cgmanager: いくつか修正を行いました (訳注: 非特権コンテナで全てのコントローラを同じパスにマウントしていない時の操作が失敗することがある不具合を修正しました)
  • lxc: / が ramfs のときに pivot_root を呼ばないようにしました
  • lxc.mount.auto の後片付けを修正しました
  • conf.c: Android に対する MS_PRIVATE を定義しました
  • network: ifname パラメータを const に変更しました (訳注: ネットワークインターフェース関連の関数の引数を char から const char に変更しています)
  • network: if_nametoindex() の返り値のチェックを行うようにしました (訳注: 内部的に使用している関数の返り値が
    NULL でないかどうかのチェックを追加しました)
  • network: 名前空間を移動するときに allow lxc_network_move_by_index() でネットワークインターフェースの名前を変更できるようにしました
  • network: lxc_netdev_isup() という名前の関数の導入 (訳注: ネットワークインターフェースの状態が up か down かを取得する関数を追加しました)
  • lxccontainer.c: enter_to_ns 関数を enter_net_ns という名前に変更しました
  • root の場合でも非 root の場合でも lxc_global_config_value 関数がデフォルトの lxc.cgroup.pattern を返すようにしました
  • do_rootfs_setup: 返り値のバグを修正しました
  • lxc-start: rootfs がマウントされているときに rootfs のマウントをリトライしないようにしました
  • attach: confstr(_CS_PATH) を使わないようにしました
  • lxc_global_config_value: テーマを簡素化しました (訳注: グローバルの設定値用の内部変数の解放を簡素化して安全に解放するようにしました)
  • ipvX gatewayの値のミスマッチの修正をしました (設定値 ipvX.gateway 関係の内部処理で "ipvX_gateway" という文字列で比較していたので期待通りの処理が行われていない部分があったのを修正しました)
  • attach: stdin がリダイレクトされているときに sigint/sigkill を無視しないようにしました
  • cgmanager: "all" コントローラをサポートした 'attach' の修正を行いました
  • lxc/utils: 解放されたポインタの返り値に関する修正を行いました
  • conf.c: 関数名などで使っている 'instanciate' の綴りを 'instantiate' に変更しました
  • 間違った nlmsg_\len の長さを修正しました
  • read-only フラグが与えられているときは bind mount を再マウントするようにしました
  • lxc_clear_config_item 関数が idmaps をクリアできるようにしました
  • overlayfs と aufs のクローンを行うときの処理 (clone_path) をより確実に行えるようにしました
  • overlayfs: overlayfs ver.22 以上の場合にはマウントに workdir オプションを付けるようにしました
  • クローン時の問題を修正しました (訳注: aufs と overlayfs のクローンを行うときに問題が起こる場合があるのを修正しました)
  • veth のエラーの場合のロギングの改良を行いました
  • コメントの typo の修正を行いました
  • audit: capacity と reserve() を netlink メッセージに追加しました (訳注: netlink メッセージがオーバーフローしないようにしました)
  • rmdir と lxc_unpriv がマイナスの値を返さないようにしました
  • typo の修正をしました - https://github.com/vlajos/misspell_fixer を使って

バインディング :

  • src/python-lxc/setup.py を .gitignore に追加しました

Tests:

  • tests: 非特権のテストを修正しました
  • lxc-test-unpriv: /etc/lxc/lxc-usernet をクリアしないようにしました
  • lxc-test-unpriv: サブシステムごとに異なる cgroup である場合のテストを追加しました
  • tests: waitpid() が errno として EINTR を返したときにリトライするようにしました

コマンド :

  • lxc_start: コンテナが実行中のときは ERROR を返すようにしました (訳注: ↓で更に修正されて0を返すようになってます)
  • lxc-start: コンテナが実行中のときはエラーでなく 0 を返すようにしました
  • 古い lxc-ls コマンドをより適切に処理がなされるようにしました (訳注: python3 がインストールされていない場合にインストールされる古いシェル版の lxc-ls です)
  • lxc_info: fork する処理を呼ぶ前に stdout をフラッシュするようにしました

テンプレート :

  • lxc-gentoo テンプレートの typo を修正しました
  • busybox template: 非特権コンテナをサポートしました
  • busybox template: fstab が利用できる場合はマウントするようにしました
  • gentoo テンプレートで更に他の typo を修正しました
  • コンテナの代わりにキャッシュに apt proxy を作成するようにしました (訳注: Ubuntu テンプレート)
  • lxc-plamo: /dev/shm を tmpfs でマウントするようにしました
  • lxc-cirros: 非特権コンテナの作成と実行をサポートしました
  • lxc-openmandriva の typo を修正しました
  • lxc-centos の typo を修正しました
  • lxc-opensuse: openSUSE 13.2 環境上でのコンテナの作成を無効にしました
  • lxc-alpine: /dev/shm が確実に誰でも書き込み可能になるようにしました
  • lxc-alpine: コンソール用のデフォルトの tty を作成するようにしました
  • lxc-debian: パッケージインストール用のサポートを追加しました
  • lxc-debian: デフォルトミラーの修正を行いました
  • lxc-debian: PID 1 として systemd をサポートしました
  • lxc-debian: init のシステム設定の調整を行いました
  • lxc-debian: Wheezy と Jessie で udev サービスのマスクをおこないました 
  • lxc-opensuse: openSUSE Tumbleweed 上でのコンテナ作成を無効化し、検出を改良しました。

ドキュメント :

  • lxc(7) のカーネルと cgroup の情報を最新情報に修正
  • lxc-create の -t オプションを必須に変更
  • 日本語の lxc(7) のカーネルと cgroup の情報を最新情報に修正
  • タブ/スペースの一貫性

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

ダウンロード

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

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