LXC 3.0.1 リリースのお知らせ¶
2018/06/05
はじめに¶
LXC チームは LXC 3.0.1 のリリースをおしらせできることをうれしく思います!
Stable に対するバグフィックスのためのリリースですので、大きな変更はありません。バグフィックスと細かな使い勝手の改良にフォーカスしています。
ハイライト ¶
- liblxc の様々な部分でスレッドセーフとなるように改良されました
- Coverity によって見つかった問題を多数修正しました
- seccomp の扱いに関していくつか改良が行われました。特に personality に関係する部分です
- GCC 8 をサポートしました
バグフィックス (LXC)¶
- tools: 初期化されていない変数を修正しました
- storage: lvm fs の uuid 生成の問題を修正しました
- lxc-oci: Cmd と Entrypoint のパースの問題を修正しました
- lxc-oci: umoci コマンドの出力を減らしました
- lxclock: スレッドセーフな
*_OFD_*
ロックを使うようにしました - locktests: テストスイートを修正しました
- conf: umount がホストに伝播しないようにしました
- doc: 日本語の lxc.container.conf(5) の翻訳を改良しました
- lxc.init 内のシグナルの送出の問題を修正しました
- rootfs pinning: NFS 上でピンファイルを隠しファイルにし、このファイルを削除しません
- conf: テンポラリファイル作成の問題を修正しました
- ringbuf: テンポラリファイル作成の問題を修正しました
- static な libcap と shared な gnutls な場合のコンパイルの問題を修正しました
- attach: 常に補助 (supplementary) グループを落とすようにしました
- lxc init: デッドコードを削除しました
- storage/rsync: エラー時にメモリを free するようにしました
- tools/utils: エラー時にメモリを free するようにしました
- lxc init: コーディングスタイルの変更を行いました
- utils: 古い glibc で
__NR_setns
がない場合は定義するようにしました - attach: 常に補助 (supplementary) グループを落とそうとするようにしました
- conf: エラー時には gid=5 オプションなしで devpts のマウントを試行するようにしました
- execute: root をマッピングしていないアプリケーションコンテナの問題を修正しました
- conf:
run_script_argv()
中のネットワークタイプのチェックの問題を修正しました - seccomp: アーキテクチャの反転を扱えるようにしました (訳注: カーネルとユーザスペースとコンテナの間での様々な32bit,64bitの組み合わせを扱えるようにした)
- seccomp: すべてのエラーを扱うようにしました
- seccomp: 互換アーキテクチャの処理をクリーンアップしました
- seccomp: ロギングを改良しました
- tools:
lxc-execute
の-d/–daemonize
オプションの記載を man page に追加しました - seccomp: 機能と関係のない変更を行いました(訳注: 変数のリネーム)
- lxc-oci: ダウンロードディレクトリを
mkdir
するようにしました - do_lxcapi_create:
umask
をセットするようにしました - lxc/tools/lxc_monitor:
<stddef.h>
の include が欠けていたので追加しました - pam-cgfs: cgroup 階層を作る場合はシステムの umask を無視するようにしました
- チェックポイント時の CRIU に action script を指定するようにしました
cgfsng_attach
内のメモリリークを修正しましたlist_active_containers
中のメモリリークを修正しましたHAVE_SETNS
が設定されてない場合のtool_utils.c
のビルドを修正しました- coverity: #1435210
- coverity: #1435208
- coverity: #1435207
- coverity: #1435206
- coverity: #1435205
- coverity: #1435203
- coverity: #1435200
- coverity: #1435198
- coverity: #1426734
- lxccontainer: 機能と関係のない変更を行いました
- lxccontainer: スレッドセーフな
*_OFD_*
ロックを使うようにしました - lxccontainer: do_lxcapi_is_running()
- lxccontainer: do_lxcapi_freeze()
- lxccontainer: do_lxcapi_unfreeze()
- lxccontainer: スレッドセーフな open() + write() を使うようにしました
- coverity: #1435263
- execute ログファイルのロジックを修正しました
- utils:
LXC_PROC_PID_FD_LEN
を追加しました - execute: 静的なバッファを使うようにしました
- execute: 継承した fd を再チェックしないようにしました
- TRACE/ERROR ログをいくつか追加しました
- execute: -o によるパスの指定の引数の数を正しくカウントするようにしました
- execute: 存在する init が見つかった時に
init_path
を設定するようにしました - genl: 使わないソースファイルを削除しました
- coverity: #1248104
- coverity: #1248105
- coverity: #1425744
- utils: 終端の
\0
バイトをきちんと扱うようにしました - confile: gcc-8 向けに調整を行いました
- network: gcc-8 向けに調整を行いました
- network: 制限を IFNAMSIZ に合わせるようにしました
- 設定値で指定するサイズの単位は大文字小文字を区別しなくなりました
- utils: parse_byte_size_string() のコーディングスタイルを修正しました
- strlcpy:
strlcpy()
を実装しました - tree-wide: s/strncpy()/strlcpy()/g
- CODING_STYLE:
strlcpy()
についてのセクションを追加しました - tools: s/strncpy()/strlcpy()/g
- Revert "tools: s/strncpy()/strlcpy()/g"
- tools: s/strncpy()/memcpy()/
- doc: 日本語の lxc-execute(1) に "-d/--daemon" オプションの説明を追加しました
- doc: 日本語の lxc.container.conf(5) の単位の書き方の説明を修正しました
- coverity: #1435604
- coverity: #1435603
- coverity: #1435602
- coverity: #1425844
- config: user namespace 内で
/sys
の読み書きができるようになりました - coverity: #1425836
- coverity: #1248106
- capabilities: ambient ケーパビリティを適用するようになりました
- coverity: #1425802
- cgroups: cgroup の扱いをリファクタリングしました
- cgroups: freezer_state() を削除しました
- seccomp: #ifdef SCMP_ARCH_AARCH64
- conf: write_id_mapping() を簡素化しました
- log: スレッドごとのコンテナ名プレフィックスを使えるようにしました
- lxc-init: キャッチできないシグナルはスキップするようにしました
- execute: サポートされている場合は
execveat()
を使うようになりました - tools: リクエストがあったときにのみログファイルを作るようにしました
- seccomp: sscanf 用の配列の割り当て時の off-by-one エラーを修正しました
- seccomp: 混乱させるコメント行を削除しました
- seccomp: 不要な memset を削除しました
- seccomp: システムコール引数のフィルタをパースする際の型の不一致を修正しました
- lxcseccomp: ヘッダをクリーンアップしました
- seccomp: parse_config_v1()
- utils: add remove_trailing_newlines()
- seccomp: get_v2_default_action()
- seccomp: get_action_name()
- seccomp: get_v2_action()
- seccomp: fix get_seccomp_arg_value()
- seccomp: parse_v2_rules()
- seccomp:
#ifdef
行を移動しました - seccomp: get_hostarch()
- seccomp: scmp_filter_ctx get_new_ctx()
- seccomp: do_resolve_add_rule()
- seccomp: parse_config_v2()
- seccomp: parse_config()
- seccomp: lxc_read_seccomp_config()
- tree-wide: s/sigprocmask/pthread_sigmask()/g
- utils: task_blocking_signal() を修正しました
- lxccontainer: シグナルを送る時の fd のリークを修正しました
- confile: アーキテクチャを順に並べました
- start:
setns()
の失敗をログするようにしました - seccomp: リークを修正しました
- seccomp: (別の修正で削除された) アクションの定義をパースする際のエラーチェックを再度追加しました
- seccomp: parse_config の行の扱いをリファクタリングしました
- seccomp: 認められていないアクションの指定をエラーにするようにしました
- seccomp: lxc_read_seccomp_config()
- seccomp: parse_v2_rules()
- seccomp: do_resolve_add_rule() をより厳格にしました
- tools: グローバル設定オプションの
lxc-create
内での扱いを修正しました - coverity: #1435806
- coverity: #1435805
- coverity: #1435803
- coverity: #1435747
- conf: 機能と関係のない変更を行いました
- conf: is_execute を boolean にしました
- conf: close_all_fds 変数を boolean にしました
- conf: 構造体の mount 関係のメンバの配置を変えました
- conf: tty の扱いを簡素化しました
- conf: pts -> pty_max
- utils: task_blocking_signal() を修正しました
- network: ソケットハンドルのリークを修正しました
- start: ns_clone_flags を
-1
で初期化しないようにしました - conf: lxc_delete_tty() がクラッシュしないようにしました
- start: リブートのマクロを追加しました
- conf: root の idmap 構造体を const にしました
- conf: tmp_umount_proc 変数を bool にしました
- conf: va_end を呼ぶようにしました
- confile:
strprint()
を改良しました - ハンドラの返り値の定義を変更しました
- start: waitpid() のブロッキングの問題を修正しました
- start: 未知の info.si_code をログするようにしました
- tree-wide: いくつかのファイルのモードを修正しました
- confile_utils: strprint() を追加しました
- templates: 実際に DOWNLOAD_TEMP ディレクトリを作るようにしました
- templates: download テンプレートを修正しました
lxc-update-config
を修正しました
バグ修正 (LXC templates)¶
- sshd: lxc.autodev を使うようにしました
- sshd: init スクリプトにコンテナ名を渡すようにしました
サポートとアップグレード ¶
LXC 3.0.1 は 2023 年 6 月までサポートされる最新の LTS リリースです。
利用可能になった最新のバグ修正リリースに更新することをお勧めします。
ダウンロード ¶
- LXC リリース tarball : lxc-3.0.1.tar.gz (GPG: lxc-3.0.1.tar.gz.asc)
- LXC テンプレート tarball : lxc-templates-3.0.1.tar.gz (GPG: lxc-templates-3.0.1.tar.gz.asc)
- LXC python3 バインディング tarball : python3-lxc-3.0.1.tar.gz (GPG: python3-lxc-3.0.1.tar.gz.asc)
Contents