ニュースのトップページに戻る

LXC 2.0.7 リリースのお知らせ

2017/01/23

このリリースは LXC 2.0 の 7 回目のバグフィックスリリースです。

このリリースに含まれる主なバグフィックスは以下です:

  • attach: lsm ラベルのファイルディスクリプタを閉じるようしました
  • attach: 機能と関係のない変更を行いました (訳注: ログ出力の改良と関数内の処理の簡素化)
  • attach: lsm_opennat() を簡素化しました (訳注: 関数内の処理の簡素化)
  • caps: lxc_cap_is_set() 関数を追加しました
  • conf: attach: errno を保存して close を呼び出します
  • conf: drop と keep のどちらかだけを使用するようにわかりやすくレポートします (訳注: lxc.cap.(drop|keep)の両方が設定された場合のエラー表示をわかりやすくした)
  • conf: criu: make_anonymous_mount_file() 関数を追加しました (訳注: /tmp がないシステムのために tmpfile() の代わりに memfd_create() を使うようになった)
  • conf: suggest_default_idmap() 関数を修正しました (訳注: 数値を読み取るときにエラーになるので改行を削除するようにしました)
  • configure: --enable-gnutls オプションを追加しました
  • configure: memfd_create() システムコールの有無をチェックするようにしました
  • configure: gettid() が宣言されているかどうかチェックするようにしました
  • configure: major()/minor()/makedev() の検出に AC_HEADER_MAJOR を使うようになりました
  • conf: 機能と関係のない変更を行いました (訳注: ソースコードのフォーマット)
  • conf: スレッドセーフでない strsignal 呼び出しを削除し、ログ出力を改良しました
  • init: sysvinit の LSB ヘッダの Should-Start/Stop に cgroupfs-mount を追加しました
  • log: lxc_unix_epoch_to_utc() 関数を追加しました (訳注: UNIX Epoch をログ出力用の UTC 時刻文字列に変換)
  • log: lxc_unix_epoch_to_utc() 関数内にコメントを追加しました
  • log: タイムゾーンを変換する関数をすべて削除しました
  • log: 日付が確実に正しくフォーマットされるようにしました
  • log: lxc_unix_epoch_to_utc() を使うようにしました
  • log: スレッドで getpid() != gettid() の際に日時の代わりに "N/A" という文字列を出力するようにしました
  • log: スレッドセーフな localtime_r() を使うようにしました
  • lvm: ファイルディスクリプタのリークに関する警告を出力しないようにしました
  • lxccontainer: init の pid へのシグナルの送出に失敗したことをログに出力するようになりました
  • monitor: さらにロギングを行うようにしました
  • monitor: exit 時に mainloop がオープンしていたらクローズするようにしました (訳注: エラー時にきちんと後始末するようになった)
  • monitor: ログの改良を行い、ログレベルを DEBUG に設定しました
  • monitor: パイプのファイルディスクリプタが使用中であることをログ出力するようになりました
  • monitor: lxc-monitord を async シグナルセーフにしました
  • monitor: 機能と関係のない変更を行いました (訳注: ソースのフォーマットとログの改良など)
  • python3-lxc: s390x 上の api_test.py を修正しました
  • start: setgroups() の前に CAP_SETGID をチェックするようにしました
  • start: execute(lxc-execute) を修正し、setgroups() の呼び出しを改良しました
  • state: lxc_wait() 内で async シグナルセーフな関数を使うようにしました
  • templates: lxc-debian: ホスト上の /usr/lib/systemd から取得しようとしないようにしました
  • templates: lxc-debian: 起動時の getty サービスを修正しました
  • templates: lxc-debian: dpkg の --print-foreign-architectures オプションの Typo を修正しました
  • templates: lxc-debian: ppc アーキテクチャを powerpc として扱うようにしました
  • templates: lxc-opensuse: openSUSE のデフォルトリリースを Leap 42.2 にしました
  • templates: lxc-opensuse: libgcc_s1 を削除しました
  • templates: lxc-opensuse: poweroff.target から sigpwr.target へのコピーをしないようにしました
  • templates: lxc-opensuse: AppArmor を unconfined に設定するようになりました
  • templates: lxc-opensuse: Leap 42.2 向けの更新を行いました
  • tests; クリーンアップのエラー時にテストを失敗にしなくなりました
  • tests: 壊れた overlay モジュールでは非特権のテストを行わないようにしました
  • tools: ログ出力の改良を行いました
  • tools: lxc-start: c->is_defined(c) のチェックを削除しました (訳注: volatile コンテナを扱うためにコンテナの存在をチェックしなくなった)
  • tools: lxc-start: load_config の後に configfile を設定するようにしました
  • tools: O_RDONLY だけをチェックするようになりました (訳注: lxcpath のチェック)
  • tree-wide: 色々な場所のマクロのクリーンアップを行いました
  • tree-wide: variable length array を削除しました
  • tree-wide: Sic semper assertis! (訳注: ?? assert の使用を止めているようです)
  • utils: __LXC_NUMSTRLEN マクロを追加しました
  • utils: uid, gid, group を扱うのに便利なラッパー関数を追加しました

ダウンロード

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

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