これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド guestfs-release-notes です。
プログラム:
NAME
guestfs-release-notes - libguestfs リリースノート
RELEASE 注意事項 FOR リブゲストFS 1.32
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.30.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
New 豊富なツール群
新しい virt-v2v-ローカルへのコピー(1) ツールは補助ツールです。 virt-v2v(1)あなたを許可する
virt-v2v が直接アクセスできないソースゲストを変換します。
New 機能を使用 in 既存の 豊富なツール群
Virt-customize は、ランダム シードを CirrOS (Pino Toscano) に書き込む方法を知っています。
Fedora では、virt-customize が実行されます リタイア(8) - 一番 フラグ、常に更新されるようにします
最新の利用可能なパッケージ。
Virt-builder が 32 ビット Fedora テンプレートを提供するようになりました。
virt-builder と virt-customize - インストール オプションは、32 ビットの Fedora ゲストで機能するようになりました。
以前は、64 ビット パッケージ (Jan Sedlák) をインストールしようとしていました。
Virt-builder は、Simple Streams v1.0 メタデータ (Pino Toscano) を使用してクラウド イメージをフェッチできるようになりました。
Virt-builder が openSUSE クラウド イメージをすぐに取得できるようになりました (Cédric Bosdonnat)。
Virt-customize は、openSUSE でデフォルトでより強力な (SHA-512) 暗号化パスワードを使用するようになりました
≥ 11 (ピノ トスカーノ)。
Virt-builder は、コロン文字 (":") を含む出力ファイル名を正しく処理するようになりました。
デフォルトではなく libguestfs キャッシュ ディレクトリに一時ファイルを作成します。
/ tmpに (ピノ・トスカーノ)。
Virt-resize には新しい --不明-ファイルシステム 求められたときに何をするかを制御するオプション
libguestfs がサイズ変更方法を知らないファイルシステムのサイズを変更します。
Virt-v2v には、 - 所定の位置に ゲストのインプレース変換を許可するフラグ/モード (Roman
カガン)。
Virt-v2v には -圧縮 圧縮された qcow2 出力ファイルを作成するためのオプション。
Virt-v2v は、代わりに libvirt から VMware データセンター パス (dcPath) を正しく取得できるようになりました。
時々間違った答えを得たアルゴリズムを使用して計算しなければならないという問題
(Matthias Bolte、Tingting Zheng)。
Virt-v2v は、64 ビットで実行中の 32 ビット ゲストの RAM サイズを正しく処理するようになりました
ホスト。
言語 バインディング
Perl および Python プログラムでは、「get_program_name」API が実際のプログラム名を返すようになりました。
間違った文字列 "perl" または "python" の代わりに。
Python バインディングは、異なるバージョンの libguestfs に対してコンパイルできるようになりました。
libguestfs の任意のバージョンに対して pip モジュールをビルドできるようにします (代わりに
pip モジュールと libguestfs がまったく同じバージョンである必要があります)。
Ruby rdoc (ドキュメント) の品質が向上しました (Pino Toscano)。
Perl スクリプトは、シバン行で perl の場所をハードコーディングしなくなりましたが、 env(1)
代わりにそれを見つけます(ピノ・トスカーノ)。
OCaml プログラムでは、guestfs ハンドルが誤ってグローバル ルートになりました。
ガベージコレクションはできませんでした。 「閉じる」関数を明示的に呼び出さなかった場合、
プログラム全体が終了するまで、ハンドルは閉じられません。 これは現在修正されているので、
ハンドルは通常の方法でガベージ コレクションされます。 これにより、OCaml の API が変更されます。
関数「Guestfs.event_callback」。 C 言語以外のバインディングは対象外であることに注意してください。
libguestfs API/ABI の保証。変更しないように努めていますが、
この非常に深刻なバグを修正するために不可欠でした。
検査
Alpine Linux と APK パッケージ マネージャー、ALT Linux、Frugalware、および PLD Linux は現在、
認められた(ピノ・トスカーノ)。
存在する場合、 /etc/os-release Linux ゲストの検査には優先されます (Pino
トスカーノ)。
10 以上の Windows ゲストの場合、正しいカーネル バージョンが返されます。
ドキュメント
大きい ゲスト(3) man ページはいくつかの個別の man ページに分割されました。
ゲストのハッキング(1) ゲストの内部(1) ゲストのセキュリティ(1)。 ソース ツリーでは、新しい
ドキュメント ディレクトリには、このドキュメントが含まれています。
アーキテクチャ と プラットフォーム
Libguestfs は、vGICv64 で ARM 3 ビット プラットフォームをサポートするようになりました。
セキュリティ
参照 ゲストのセキュリティとします。
「CVE-2015-5745」
https://bugzilla.redhat.com/1251157
これは libguestfs の脆弱性ではありませんが、常に virtio-serial を提供しているためです。
各ゲストへのポート (ゲストとホストの通信が行われるため)、エスカレーション
アプライアンスからホストへの qemu プロセスが可能です。 これは、次の場合に影響する可能性があります。
· あなたの libguestfs プログラムは、信頼できないプログラムをゲストから実行します (
"guestfs_sh" など)、または
· 別のエクスプロイトが (たとえば) カーネル ファイルシステム コードで発見され、
不正なファイルシステムがアプライアンスを引き継ぐ。
sVirt を使用して qemu を制限すると、一部の攻撃が阻止されます。
virt-customize アクセス許可 .ssh, .ssh / authorized_keys
https://bugzilla.redhat.com/1260778.
以前は、SSH キーをゲストに挿入するように求められたときに、virt-customize (したがって、virt-
ビルダーも) を作成します .ssh ディレクトリと .ssh / authorized_keys ファイルも
他のユーザーが読み取ることができる広範なアクセス許可。 それらは現在 0700 として作成され、
それぞれ 0600 で、これは ssh-copy-id(1)ユーティリティ。
API
New API
"guestfs_get_identifier"
"guestfs_set_identifier"
ハンドルごとの識別子を取得/設定します。 これの主な効果は、トレース出力を変更することです
から:
libguestfs: トレース: foo
以下に送って下さい:
libguestfs: トレース: ID: foo
マルチスレッドプログラムやプログラムが使用する場所でトレースを追跡しやすくする
複数のハンドル (特に virt-v2v)。
"guestfs_vfs_minimum_size"
ファイルシステムの最小サイズを返します (縮小した場合)。 これは ext2/3/4、XFS をサポートします
および btrfs であり、将来的には他のファイルシステム タイプをサポートできます (Maxim Perevedentsev)。
その他 API 変更
"guestfs_disk_create": "preallocation" = "off"/"metadata"/"full" を追加します。
raw の場合、これにより、「スパース」のシノニムとして「オフ」が許可されます (
qcow2)。 qcow2 の場合、これにより、「スパース」を「オフ」の同義語として使用できます。
また、完全に割り当てられていることに対応する「full」も追加されますが、 posix_fallocate(3)
効率化のために。
「guestfs_tar_in」: 新しい「xattrs」、「selinux」、「acl」パラメーター。
「guestfs_tar_out」: 新しい「xattrs」、「selinux」、「acl」パラメーター。
これらの追加パラメーターは、拡張属性、SELinux コンテキスト、および/または
POSIX ACL は、tarball から復元/tarball に保存されます。
"guestfs_add_drive"
既存の「username」および「secret」パラメータを使用して認証を提供できます
iSCSI (ピノ トスカーノ) 用。
建設 変更
「./configure --enable-valgrind-daemon」オプションが削除されました。
RHEL 5 時代 (c.2007) のマシンで libguestfs をビルドすることはできなくなりました。 「古いLinux」を参照してください
(限定的な) RHEL 5 サポートが必要な場合は、ブランチにアクセスしてください。
Virt-p2v は、RHEL 6 時代 (c.2010) の Linux ディストリビューションでビルドできるようになりました。
git からビルドするには、OCaml ≥ 3.11 (2008 年にリリース) が必要になりました。
Perl バインディングのビルドには、"Module::Build" が必要になりました (代わりに
"ExtUtils::MakeMaker")。
作業が完了したため、ビルドは高速になるはずです (特にインクリメンタル リビルドの場合)。
ビルド時間を短縮します。
でジェネレーターを実行する必要がある場合は、OCaml と OCaml findlib モジュールの両方が必要です。
ビルド時間。 以前は、findlib がインストールされていないとビルドが失敗していました。
「make check」テストが並行して実行されるようになりました (各テスト ディレクトリ内)。
「make install」は OCaml をインストールしなくなりました バインドテスト。* ファイルが正しくありません。
「make install」を XNUMX 回実行できるようになりました。 以前は、XNUMX 回目の実行で失敗していました。
「make clean」は、「make」が作成するほぼすべてのファイルを削除する必要があります。
新しい「make installcheck」ルールが追加され、libguestfs のコピーをインストールできるようになりました
テストする。
内部
アプライアンスのサイズを最小限に抑えるためにいくらかの努力が払われました。
libguestfs ハンドルに必要なディスク容量と時間。
アプライアンスが dhcpd に NIC 名を渡すようになり、アプライアンスを実行しているときにハングする問題が修正されました
一部のディストリビューション (Cédric Bosdonnat)。
OCaml "Guestfs.Errno" が生成されるようになりました (Pino Toscano)。
OCaml ツールでは、共通コードが処理するようになりました --debug-gc, -詳細 およびその他の一般的なオプション
(ローマン・ケーガン、ピノ・トスカーノ)。
virt-v2v テスト ハーネスを使用すると、過去の特定の日付にテスト ゲストを起動できます。
Windows の再アクティベーションが開始されないようにします。
ライブラリ コードからパイプを介してサブプロセスを読み書きするための新しい内部 API があります。
「deheader」プログラムを使用して、未使用の「#include」ディレクティブを削除しました。
OCaml ツールでは、"Char" および "String" モジュールが暗黙的に
「Common_utils.Char」および「Common_utils.String」モジュール (stdlib のものではなく)。
「Common_utils」モジュールには、いくつかの追加の文字/文字列ユーティリティ関数が含まれています。
また、stdlib でいくつかの安全でない関数を非表示にします。
rhsrvany と virtio-win がない場合でも、より多くの virt-v2v テストが実行されるようになりました
インストールされています(Roman Kagan)。
巨大な configure.ac ファイルは、呼ばれるいくつかの小さなファイルに分割されました
m4/guestfs_*.m4.
古い テスト/データ と テスト/ゲスト ディレクトリは次の場所に移動されました テストデータ/。 この新しい
最上位ディレクトリには、共通の、大規模な、および/または共有されているすべてのテストデータが含まれています
複数のテスト。
新しいトップレベルがあります Webサイト/ public を含むディレクトリ http://libguestfs.org
ウェブサイト(またはそのほとんど)。
検査のファズテスト (テスト/ファズ) が削除されました。
Virt-p2v は、ソース物理マシンの dmesg 出力を変換サーバーに保存するようになりました
ドライバやファームウェアなどの欠落のケースを簡単にデバッグできます。
バグ 固定の
https://bugzilla.redhat.com/1294956
ext3/ext4 ファイルシステム ラベルを設定すると、set-label が間違ったエラー メッセージを返す
https://bugzilla.redhat.com/1288733
virt-builder の Fedora 23 32 ビット ベース イメージを追加します。
https://bugzilla.redhat.com/1288201
virt-builder は一時ファイルを / tmpに
https://bugzilla.redhat.com/1285847
virt-resize は論理パーティションをコピーしません
https://bugzilla.redhat.com/1281578
virt-inspector は win6.3 イメージのバージョン 10 を返します (10.0 を返す必要があります)
https://bugzilla.redhat.com/1281577
属性取得時の virt-inspector --xpath segfault
https://bugzilla.redhat.com/1280029
libguestfs は stdin が開かれていない状態でコマンドを実行できます (さらに悪いことに、接続されている場合)
ゲストが選択した任意のランダム デバイス)
https://bugzilla.redhat.com/1279273
qcow2の圧縮オプションについて
https://bugzilla.redhat.com/1278878
guestfish は LVM シン レイアウトを処理できる必要があります。
https://bugzilla.redhat.com/1278382
virt-builder から実行すると DNF python プログラミング エラーが発生する
https://bugzilla.redhat.com/1278371
file コマンドがインストールされていない場合、インスペクションは Windows ゲストに対して arch="unknown" を返します
https://bugzilla.redhat.com/1277274
管理者以外のユーザーが virt-v2v を使用するために必要なドキュメント権限
https://bugzilla.redhat.com/1277122
RFE: virt-sparsify: 「--in-place」スパース化を安全に中止できるようにします (適切にまたは
不謹慎)
https://bugzilla.redhat.com/1277074
virt-p2v クライアントは vdsm オプションを提示すべきではありません。これは使用できないためです。
https://bugzilla.redhat.com/1276540
virt-v2v が Windows RAW イメージの変換に失敗: エラー「デバイス名はパーティションではありません」
https://bugzilla.redhat.com/1275806
virt-builder: エラー: [ファイル] はゲストの通常のファイルではありません
https://bugzilla.redhat.com/1270011
Simplestreams テストが失敗します: virt-builder: エラー: キー 'size' の値は
整数
https://bugzilla.redhat.com/1267032
ワイルドカードを使用すると、guestfish の copy-in コマンドが奇妙な/予期しない動作をする
https://bugzilla.redhat.com/1262983
Python: libguestfs がインストールされている場合、pip モジュールをコンパイルできません!= pip guestfs バージョン
https://bugzilla.redhat.com/1262127
virbr0 が存在しない場合の診断メッセージの改善
https://bugzilla.redhat.com/1261436
AVG アンチウイルスがインストールされている win7 ゲストを変換するときに警告が表示されない
https://bugzilla.redhat.com/1260778
virt-builder --ssh-inject が作成されたファイルに適切なパーミッションを設定しない
https://bugzilla.redhat.com/1260689
RFE: V2V をチェックしてユーザーに警告し、Windows でグループ ポリシーとウイルス対策を無効にする
ゲスト
https://bugzilla.redhat.com/1260590
rhev 3.6 に変換した後、ゲストに間違ったグラフィック プロトコルとビデオ タイプが設定される
virt-v2v
https://bugzilla.redhat.com/1258342
vCenter URL の余分なスラッシュが virt-v2v を混乱させる
https://bugzilla.redhat.com/1257895
[RHEV][V2V] virt-v2v は、インターフェース source/@network または source/@bridge が
空の文字列
https://bugzilla.redhat.com/1256405
virt-builder で作成された Fedora 22 32 ビット ディスク イメージを更新できない
https://bugzilla.redhat.com/1256222
virt-p2v GUI モードなし: $ip:22 への制御接続を開く際のエラー: 予期しない …rompt
https://bugzilla.redhat.com/1251909
オプション -oa preallocated -of qcow2 の virt-v2v が効率的に機能しませんでした
https://bugzilla.redhat.com/1250715
v2v: パスではスペースを %20 としてエスケープする必要があります
https://bugzilla.redhat.com/1248678
virt-p2v ISO のすべての受信ポートを閉じます
https://bugzilla.redhat.com/1246882
man virt-customize は概要を XNUMX 回表示します
https://bugzilla.redhat.com/1242853
mount-loop はループ デバイスのセットアップに失敗しました: そのようなファイルまたはディレクトリはありません
https://bugzilla.redhat.com/1237136
BUG: でカーネル NULL ポインター逆参照を処理できない機能中
__blkg_lookup
https://bugzilla.redhat.com/1230412
virt-v2v は grub 設定の偽のカーネル エントリを無視する必要があります
https://bugzilla.redhat.com/1229119
fstab の無関係な情報により、virt-v2v が不明確なエラー情報で失敗する
https://bugzilla.redhat.com/1227609
virt-p2v: 「戻る」ボタンを使用すると、出力リストが複数回再入力される
https://bugzilla.redhat.com/1225789
libvirt への変換後、rhel5.11 ゲスト用に間違ったビデオ ドライバーがインストールされる
https://bugzilla.redhat.com/1204131
RFE: virt-builder が qcow v3 イメージを作成し、qcow v2 のビルド オプションを追加
https://bugzilla.redhat.com/1176801
XenPV ゲストを通常のカーネルで変換すると、ファイル /etc/sysconfig/kernel が更新されない
インストール
https://bugzilla.redhat.com/1174551
「lstatnslist」と「lstatlist」は、API が間違って使用された場合にエラーを出さない
https://bugzilla.redhat.com/1168223
koji spin-livecd が動作中のライブ CD をビルドできない
https://bugzilla.redhat.com/1165785
mount-loop コマンドが失敗しました: マウントに失敗しました: 不明なエラー -1
https://bugzilla.redhat.com/1164708
set-label は、btrfs の場合は 127 バイト以下、ntfs ファイルシステムの場合は 126 バイト以下しか設定できません。
ヘルプ メッセージに対応していません。 また、ntfs の場合、
長さ >128 バイト
https://bugzilla.redhat.com/1020216
libvirt がドメインのシャットダウンに失敗しました: libvirt ドメインを破棄できませんでした: 要求されました
操作が無効です: ドメインが実行されていません
https://bugzilla.redhat.com/1011907
mount-loop はループ デバイスのセットアップに失敗しました: そのようなファイルまたはディレクトリはありません
RELEASE 注意事項 FOR リブゲストFS 1.30
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.28.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
New 豊富なツール群
virt-dib(1) は、OpenStack の「diskimage-builder」ツールの安全で安全な代替手段です。
diskimage-builder 要素と互換性があります。 (ピノ・トスカーノ)
virt-get-カーネル(1) ディスクイメージからカーネルと RAM ディスクを抽出します。 以前はこれ
機能はの一部でした 仮想ビルダー(1)、しかし新しいツールはより機能的です。 (ピノ
トスカーノ)
New 機能を使用 in 既存の 豊富なツール群
virt-v2v(1) -i 卵子 モードは、より広い範囲の OVA ファイルとアンパックされたファイルを読み取ることができるようになりました
(ディレクトリ)。
virt-v2v は安全にオプションを curl に渡すようになったため、パスワードや Cookie などを渡すことはできません。
同じマシンでシェル アクセスを持つユーザーに表示されます。
virt-v2v には新しい --パスワードファイル パスワードを安全に渡すためのオプション、および
インタラクティブなプロンプトを回避します。
virt-v2v が Windows の自動再起動を無効にし、Windows でデバッグ変換が失敗する
容易になります。
virt-v2v には、広範な外部テスト スイートが付属しています。 見る virt-v2v-テストハーネスとします。
virt-v2v を使用すると、virtio ドライバーを任意の場所 (Roman Kagan) から取得できます。
virtio ISO から直接読み取ります。
virt-v2v は、Windows ≥ 8 の変換をサポートしています。これは実験的なものであり、可能性があることに注意してください。
壊れた。 注意して使用してください。
virt-v2v が UEFI ゲストを変換できるようになりました。
virt-p2v(1) ネットワーク構成ダイアログを追加します。
virt-p2v に「p2v.pre」、「p2v.post」、および「p2v.fail」トリガーが追加され、任意のスクリプトが可能になりました
変換のためのホストの準備と、変換後の整理。
virt-p2v は、(マッチボックスの代わりに) より高度なメタシティ ウィンドウ マネージャーを使用するようになりました。
virt-sysprep(1) root 以外のアカウント (Hu Tao) の「/var/spool/mail/username」を削除します。
virt-カスタマイズ(1) 仮想ビルダー(1) および virt-sysprep には、次の新しいオプションがあります。
--ファイルからのコマンド
コマンド ラインからではなく、ファイルからコマンドの長いリストを読み取ることができるようにする
(ピノ・トスカーノ)
- コピー
ゲスト内のファイルをコピーします。 (Maros Zatko)
-コピーイン
ホストファイルを再帰的にゲストにコピーします。 (Pino Toscano)
- 動く
ゲスト内でファイルを移動 (Maros Zatko)
--ssh-注入
ゲストに SSH 鍵を注入 (Pino Toscano)
--sm-アタッチ
--sm-クレデンシャル
--sm-登録
--sm-削除
--sm-登録解除
subscription-manager からのゲストの登録と登録解除 (Pino Toscano)
- 接する
ゲストのファイルに触れる (Pino Toscano)
-切り捨て
--truncate-recursive
ファイルの切り捨て (Maros Zatko)
virt-customize firstboot サポートの改善。 特に、Windows の firstboot は
Linux (Roman Kagan) と同様に動作します。
virt-df(1) を取得するときに、PolicyKit、SASL、およびその他の認証方法を使用できるようになりました。
libvirt からのドメインのリスト。
guestfish bash の完了 (Pino Toscano) の改善。
Bash 補完は、短いオプションと長いオプションを補完するようになりました (Pino Toscano)。
ゲストフィッシュ(1) コマンドに与えられたパラメータの数が
コマンドが間違っています (Hu Tao)。
virt-builder は、RHEL 3 までの Red Hat Enterprise Linux バージョンをサポートするようになりました。
virt-builder は、zypper (Cédric Bosdonnat) を使用して SUSE ゲストをサポートします。
言語 バインディング
Java バインディングには、検証済みの Javadoc とその他の改善 (Pino Toscano) が含まれるようになりました。
PHP バインディング (Pino Toscano) に対する複数の修正と改善。
検査
インスペクションは、RHEL 7 および CentOS 7 からアイコンを取得できるようになりました。
/etc/favicon.png シンボリックリンクが許可されるようになりました。
RPM ベースのゲストの場合、検査で RPM エポック フィールドが返されるようになりました。
Debian パッケージには、個別のエポック フィールドとバージョン フィールドが追加されました (Nikos Skalkotos)。
OpenBSD の検出が追加され、FreeBSD と NetBSD が個別の「ディストリビューション」として追加され、その他の BSD が追加されました。
インスペクションの改善とバグ修正 (Nikos Skalkotos)。
CoreOS 検出が追加されました (Nikos Skalkotos)。
Fedora ≥ 22 のパッケージ マネージャーは "dnf" です。
ReactOS ゲストを検査できます (Maros Zatko)。
UEFI ゲストのサポートを追加します。
カーネル モジュールが gzip または xz 圧縮されている場合に検査が機能するようになりました (Pino Toscano)。
インスペクションが ppc64 および ppc64le ゲストを認識するようになりました (Maros Zatko)。
インスペクションは、Archlinux ゲスト (Nikos Skalkotos) にインストールされているアプリケーションを一覧表示します。
アーキテクチャ と プラットフォーム
PPC64 (POWER7) および PPC64LE (POWER8) アーキテクチャーのサポートが大幅に改善されました。
すぐに使えるはずです。
aarch64 の場合、利用可能な場合は AAVMF (OVMF に基づくオープン ソースの UEFI 実装) を使用します。
アプライアンスを実行します。
armv7 では、 -M 美徳 デフォルトのマシン タイプ。
Linux 以外のプラットフォームでのコンパイルのサポートが改善されました (Pino Toscano、Margaret
レヴィッカ)。
Libguestfs は MIPS 32 ビット リトルエンディアン ("mipsel") で動作するようになりました。 できていない
64ビットまたはビッグエンディアンを試してください。
セキュリティ
CVE-2014-8484
CVE-2014-8485
libguestfs は以前に ストリング(1) 信頼できないファイルに対するユーティリティ。 文字列はできた
安全でない方法で BFD ヘッダーを解析し、任意のコードが実行される可能性があります。
Libguestfs は、フラグ付きの文字列を実行して、BFD を解析しようとしないようになりました
ヘッダー。 これは libguestfs アプライアンスの悪用につながる可能性がありましたが、
libguestfs は、仮想化、SELinux などを通じてアプライアンスをさらに制約します。
ホスト上で権限昇格を引き起こす可能性はほとんどありませんでした。
virt-v2v での XPath インジェクション
XPath インジェクションの脆弱性の 2 つが virt-vXNUMXv で修正されました。 これは持っているかもしれません
virt-v2v によって変換されていた悪意のあるゲストが、
ホスト上で評価される任意の XPath 式 (libxml2 によって
virt-v2v バイナリにリンクされたライブラリ)。 これがどのような影響を与えるかは明らかではありません
かもしれません。
詳細については、アップストリーム コミットを参照してください。
https://github.com/libguestfs/libguestfs/commit/6c6ce85f94c36803fe2db35a98db436bff0c14b0
「qemu-img info」使用時のサービス拒否の問題
「qemu-img info」コマンドで American Fuzzy Lop ファザー (「afl-fuzz」) を使用すると、
Richard WM Jones さんは、特定のファイルによって「qemu-img」プログラムが使用される可能性があることを発見しました。
大量のメモリと時間 (たとえば、6GB のヒープと 14 秒の CPU 時間)
Intel プロセッサ)、場合によってはクラッシュします。 libguestfs は "qemu-img
info" をディスク イメージに保存して何が含まれているかを調べます。
libguestfs をハングアップさせたり、大量のメモリを消費させたりします。
リソース制限を使用してスペースと時間を制限するように、Libguestfs が変更されました。
この問題を回避するために、「qemu-img info」で使用されます。 悪意のあるユーザーがパスしようとした場合
これらのディスク イメージを libguestfs に追加すると、「qemu-img」がクラッシュし、クラッシュが報告されます。
エラー メッセージとして libguestfs の呼び出し元に戻ります。
API
New API
"guestfs_add_libvirt_dom"
これにより、「virDomainPtr」オブジェクトを渡すことができる以前のプライベート API が公開されます。
libvirt から libguestfs に直接。
"guestfs_blockdev_setra"
デバイスの先読みパラメータを調整します。 「blockdev --setra」コマンドを参照してください。
"guestfs_btrfs_balance"
"guestfs_btrfs_balance_cancel"
"guestfs_btrfs_balance_pause"
"guestfs_btrfs_balance_resume"
"guestfs_btrfs_balance_status"
Btrfs ファイルシステム (Hu Tao) のサポートのバランスをとります。
"guestfs_btrfs_filesystem_defragment"
Btrfs ファイルシステム (Hu Tao) のファイルシステム最適化サポート。
"guestfs_btrfs_image"
Btrfs ファイルシステムのイメージを作成します (Chen Hanxiao)
"guestfs_btrfs_qgroup_assign"
"guestfs_btrfs_qgroup_create"
"guestfs_btrfs_qgroup_destroy"
"guestfs_btrfs_qgroup_limit"
"guestfs_btrfs_qgroup_remove"
"guestfs_btrfs_qgroup_show"
"guestfs_btrfs_quota_enable"
"guestfs_btrfs_quota_rescan"
Btrfs ファイルシステム (Hu Tao) のサポートを引用します。
"guestfs_btrfs_rescue_chunk_recover"
Btrfs ファイルシステム (Hu Tao) のチャンク ツリーをスキャンして復元します。
"guestfs_btrfs_rescue_super_recover"
Btrfs ファイルシステム (Hu Tao) のスーパーブロックを復元します。
"guestfs_btrfs_replace"
Btrfs ファイルシステム (Cao Jin) のデバイスを置き換えます。
"guestfs_btrfs_scrub"
"guestfs_btrfs_scrub_cancel"
"guestfs_btrfs_scrub_resume"
"guestfs_btrfs_scrub_status"
Btrfs ファイルシステムをスクラブします (Hu Tao)。
"guestfs_btrfs_subvolume_get_default"
Btrfs ファイルシステム (Hu Tao) のデフォルトのサブボリュームを取得します。
"guestfs_btrfs_subvolume_show"
Btrfs ファイルシステム (Hu Tao) のサブボリュームに関する詳細情報を一覧表示します。
"guestfs_btrfstune_enable_extended_inode_refs"
"guestfs_btrfstune_enable_skinny_metadata_extent_refs"
"guestfs_btrfstune_seeding"
Btrfs ファイルシステムのさまざまなチューニング パラメータ (Chen Hanxiao)。
"guestfs_c_pointer"
基になる "guestfs_h *" への C ポインターを返します。 これにより、
libguestfs バインディングと他のライブラリのバインディング。 詳細については、
https://bugzilla.redhat.com/1075164
"guestfs_copy_in"
"guestfs_copy_out"
ホストとゲストの間でファイルのディレクトリを再帰的にコピーするための柔軟な API
ファイルシステム。 以前は、これらは guestfish コマンドとしてのみ利用可能でしたが、現在は任意の
API ユーザーはそれらを呼び出すことができます (Pino Toscano)。
"guestfs_part_get_gpt_guid"
"guestfs_part_set_gpt_guid"
パーティションごとの GPT GUID を取得および設定します。
"guestfs_part_get_mbr_part_type"
MBR パーティション タイプを取得します (Chen Hanxiao)。
"guestfs_set_uuid_random"
ファイルシステムの UUID をランダムに生成された値に設定します。 サポートされているファイルシステム
現在、ext2/3/4、XFS、Btrfs、および swap パーティションです。 (チェン・ハンシャオ)。
その他 API 変更
「guestfs_disk_create」は VMDK ファイルをバッキング ファイルとして使用できるようになりました。
"guestfs_btrfs_subvolume_snapshot" は追加のオプション パラメータを受け取ります (すべて Hu Tao によって追加されました)。
「ろ」
読み取り専用の Btrfs スナップショットを作成するため
"qgroupid"
スナップショットを qgroup に追加するため
"guestfs_btrfs_subvolume_create" は、オプションの "qgroupid" パラメータを取ることもできます (Hu Tao)。
"guestfs_set_uuid" は、スワップ パーティション、Btrfs (Hu Tao、Chen Hanxiao) の UUID を設定できます。
"guestfs_copy_device_to_file" と "guestfs_copy_file_to_file" には、新しいオプションの "append" があります
パラメータを使用すると、出力ファイルを切り捨てる代わりに追加できます。
「guestfs_mkfs」には、新しいオプションの初期ラベルを設定するための新しい「label」パラメーターがあります。
ファイルシステム (ピノ トスカーノ)。
"guestfs_set_label" および "guestfs_set_uuid" は、"ENOTSUP" が存在しない場合に errno として設定されるようになりました
指定されたマウント可能なファイルシステムのサポートを実装しました (Chen Hanxiao)。
環境変数で、「LIBGUESTFS_DEBUG=true」、「LIBGUESTFS_DEBUG=0」、および
というように。
すべての「guestfs_sfdisk*」API は廃止されました。 なぜなら sfディスク(8) を書き直しました。
互換性がないため、今後のコードでこれらの API を使用することはお勧めしません。 使用
「guestfs_part*」API を代替として。
「guestfs_download」などの API は切り捨てられません / dev / stdout or / dev / stderr に書き込むとき
つまり、stdout または stderr をファイルにリダイレクトすると、そのファイルはもはや
切り捨てられました。
建設 変更
デーモンは、gnulib の独自の別のコピーを使用しなくなりました。 代わりに、単一の
ライブラリでコピーします。
OCaml .annot ファイルが作成されるようになったため、emacs や vi などの IDE やエディターは OCaml を参照できます
ソースコードの型。
さまざまなホスト/アプライアンス アーキテクチャのビルドを可能にするためのさまざまな修正 (Pino Toscano)。
アドホックな Makefile の代わりに、すべての OCaml プログラムをビルドするために Automake が直接使用されるようになりました
ルール。 この副作用の XNUMX つは、OCaml が使用するすべての C コードで警告を有効にすることです。
プログラム。
「-fno-strict-overflow」は、怪しい GCC 最適化を回避するために、ビルド全体で使用されます。
GCC 5 をサポートするための複数のクリーンアップ。
一部の OCaml テストを実行するには、OCaml OUnit2 が必要です。
静的リンクの作成 libguestfs.a 再び働くはずです。
この ソース/API サポート サブディレクトリとそのスクリプトは使用されなくなりました。 代わりに、
ジェネレーター/アクション.ml APIがlibguestfsに追加されたとき。
国際化
翻訳サービスが Transifex から Zanata に変わりました。
ライブラリとツールの両方のメッセージと、
のドキュメントで詳しく説明されています)。
内部
すべての OCaml ツールに、共通の「エラー」、「警告」、「情報」関数、および共通の関数が追加されました。
を設定および取得する方法 - 静かな, -x (トレース) および -v (verbose) フラグ、および色の強調表示
一貫して使用されます。
「COMPILE_REGEXP」マクロは、PCRE コンストラクターとデストラクターを単純化するために使用されます。
ジェネレーターでは、「ポインター」引数がついに実装されました。
内部識別子は、二重および三重のアンダースコアを使用しなくなりました (例:
"guestfs___program_name")。 これらの識別子は、C99 および C++ プログラムでは無効です。
コンパイラはそれらを受け入れますが。
デーモンは、「guestfs_*」オプションを解析しなくなりました /proc/コマンドライン. 代わりに、
通常のコマンド ライン オプション。 アプライアンスの初期化スクリプトは /proc/コマンドライン デーモンに
コマンドラインオプション。
テストでデーモンを「キャプティブ プロセス」として実行できるようになり、直接実行できるようになりました。
ザ・ホスト。 これの主な利点は、デーモンで直接 valgrind を実行できることです。
テスト。
バグ 固定の
https://bugzilla.redhat.com/1239053
Augeas が grub.conf を解析できない場合の virt-v2v エラー報告
https://bugzilla.redhat.com/1238053
v2v:cdrom が接続されたゲストを変換すると、ディスク ターゲット セットが重複する
https://bugzilla.redhat.com/1237869
virt-v2008v で Windows 2 ゲストに Virtio ドライバーがインストールされない
https://bugzilla.redhat.com/1234351
virt-v2v Fedora virtio-win ドライバーのサポート
https://bugzilla.redhat.com/1232192
Virt-v2v は空のディスクでエラーを出します: part_get_parttype: unknown signature, of the
出力: BYT;
https://bugzilla.redhat.com/1229385
カーネルコマンドラインモードの virt-p2v は、変換後にマシンの電源をオフにする必要があります
https://bugzilla.redhat.com/1229340
virt-p2v GUI モードなしでは、最後のコマンド ライン パラメータに \n が追加されます
https://bugzilla.redhat.com/1229305
クリーンアップ時に virt-sysprep が /var/spool/at/.SEQ を削除すると、
https://bugzilla.redhat.com/1226794
virt-p2v クライアントからの変換をキャンセルした後も「Doing conversion……」が表示される
https://bugzilla.redhat.com/1215042
virNetSocketNewConnectUNIX でのメモリ リーク
https://bugzilla.redhat.com/1213324
virt-v2v: 警告: 不明なゲスト OS: 変換時の Windows Windows 6.3
win8,win8.1,win2012,win2012R2 to rhev
https://bugzilla.redhat.com/1213247
virt ツールは同じ形式のバージョン文字列を出力する必要があります
https://bugzilla.redhat.com/1212808
RFE: virt-builder --touch
https://bugzilla.redhat.com/1212807
virt-builder --selinux-relabel フラグがクロスアーキテクチャ ビルドで失敗する
https://bugzilla.redhat.com/1212680
RFE: virt-inspector xpath クエリは、クエリ要素の適切な形式を出力する必要があります
https://bugzilla.redhat.com/1212152
virt-builder firstboot-command が失敗する: ファイル名が長すぎる
https://bugzilla.redhat.com/1211996
virt-inspector が ppc64le ゲストに対して正しくない arch (ppc64) を与える
https://bugzilla.redhat.com/1203817
RFE: virt-customize --move および --copy
https://bugzilla.redhat.com/1201526
index-parser が systemd マウント ファイルを正しく解析できない
https://bugzilla.redhat.com/1196101
virt-builder --upload オプションが FAT パーティションに対して機能しない
https://bugzilla.redhat.com/1196100
virt-builder -x オプションを単独で使用してもトレースは有効になりません
https://bugzilla.redhat.com/1195204
$HOME/.cache ディレクトリが存在しない場合、「virt-builder」はそれを作成する必要があります
https://bugzilla.redhat.com/1193237
チェックが不要な場合でも、virt-builder フィンガープリントが必要です
https://bugzilla.redhat.com/1189284
virt-resize は GPT パーティションの UUID を保持する必要があります。そうしないと、EFI ゲストが起動できなくなります
https://bugzilla.redhat.com/1188866
イメージを解凍するときの virt-builder のパフォーマンスの低下
https://bugzilla.redhat.com/1186800
virt-v2v は入力として gzip 形式の ova をサポートする必要があります
https://bugzilla.redhat.com/1185561
virt-sparsify は読み取り専用 LV を無視する必要があります
https://bugzilla.redhat.com/1182463
「mknod-b」、「mknod-c」、および「mkfifo」は、「モード」から非許可ビットを取り除かない
https://bugzilla.redhat.com/1176493
virt-v2v は、xen ゲストをローカル kvm に変換するときにサウンド デバイスを無視します
https://bugzilla.redhat.com/1175676
「help ping-daemon」のタイプミス
https://bugzilla.redhat.com/1175196
「parse-environment」と「parse-environment-list」が「LIBGUESTFS_TRACE = 0」の解析に失敗する
https://bugzilla.redhat.com/1175035
「is-blockdev」/「is-blockdev-opts」が「/dev/sda」を検出できない
https://bugzilla.redhat.com/1174280
RFE: Oracle Linux 2 VMware VM の v5.8v 変換を許可する
https://bugzilla.redhat.com/1174200
新しい virt-v2v の失敗: CURL: ファイルを開く際のエラー: NSS: クライアント証明書が見つかりません
(ニックネームの指定なし): 無効な引数
https://bugzilla.redhat.com/1174123
virt-v2v の変換後にグラフィックパスワードが消える
https://bugzilla.redhat.com/1174073
vnc のリッスン アドレスは、virt-v2v による変換後に変更されます
https://bugzilla.redhat.com/1171666
検査では、EFIパーティションは別のオペレーティングシステムであると考えられています
https://bugzilla.redhat.com/1171130
RHEL 2 ゲストの virt-v3v 変換が次のエラーで失敗する: All of your loopback devices are in
つかいます
https://bugzilla.redhat.com/1170685
RHEL 4 ゲストの変換が失敗します: rpm -ql 1:kernel-utils-2.4-23.el4: virt-v2v: エラー:
libguestfs エラー: command_lines:
https://bugzilla.redhat.com/1170073
バージョンが等しい場合、virt-v2v は非デバッグ カーネルよりもデバッグ カーネルを選択します。
https://bugzilla.redhat.com/1169045
virt-sparsify: libguestfs エラー: qemu-img 情報: 'virtual-size' は次のように表現できません
64 ビット整数
https://bugzilla.redhat.com/1169015
virt-resize --expand が ubuntu-14.04.img イメージで失敗する (リグレッション)
https://bugzilla.redhat.com/1168144
警告: fstrim: fstrim: /sysroot/: FITRIM ioctl が失敗しました: 操作はサポートされていません
(無視) xen サーバーから win2003 ゲストを変換する場合
https://bugzilla.redhat.com/1167921
p2v: ネットワーク接続ダイアログがありません
https://bugzilla.redhat.com/1167774
virt-p2v が次のエラーで失敗する:"nbd.c:nbd_receive_negotiate():L501: 読み取りに失敗しました"
https://bugzilla.redhat.com/1167623
「If report bugs, run virt-v2v with debugging enabled ..」メッセージを削除
virt-p2v の実行
https://bugzilla.redhat.com/1167601
virt-p2v が失敗しても「変換が成功しました」と表示される
https://bugzilla.redhat.com/1167302
virt-v2v: 警告: ova ファイルから変換すると、ova ハードディスクに親コントローラーがありません
https://bugzilla.redhat.com/1166618
virt-resize は詳細な警告情報を提供して、顧客に何が起こっているかを知らせる必要があります
間違った
https://bugzilla.redhat.com/1165975
ファイル「/boot/grub2/device.map」が、rhel7 ゲストを
esx サーバー
https://bugzilla.redhat.com/1165785
mount-loop コマンドが失敗しました: マウントに失敗しました: 不明なエラー -1
https://bugzilla.redhat.com/1165569
virt-p2v 変換が完了したら、「変換をキャンセル」ボタンを無効にします
https://bugzilla.redhat.com/1165564
virt-p2v の後に再起動/シャットダウン ボタンを提供
https://bugzilla.redhat.com/1164853
qemu での起動でボリューム グループが見つからず、ファイル システムのチェックに失敗しました
https://bugzilla.redhat.com/1164732
「help append」の説明は正確ではありません。カーネル オプションを
libguestfs アプライアンスはゲスト カーネルではありません
https://bugzilla.redhat.com/1164697
man ページのタイプミス
https://bugzilla.redhat.com/1164619
RHEL7 ゲストで Inspect-get-icon が失敗しました
https://bugzilla.redhat.com/1162966
xfs はまた、顧客に制限を知らせるために警告を出す必要があります
https://bugzilla.redhat.com/1161575
v8139v で変換した後、「rtl2」NIC を持つゲストを openstack サーバーにインポートできませんでした
https://bugzilla.redhat.com/1159651
RHEL 7 ゲストを再起動すると、virt-sysprep firstboot スクリプトが削除されない
https://bugzilla.redhat.com/1159258
ファームウェアが ACPI ではないため、esx win2008 32 ビット ゲストが変換後にロードに失敗する
互換性のあります
https://bugzilla.redhat.com/1159016
libvirt バックエンドが RBD パスワードを設定しない
https://bugzilla.redhat.com/1158526
プロセス インタラクションの代わりにパスワード ファイルを使用する
https://bugzilla.redhat.com/1157679
virt-p2v-make-disk はファームウェアを追加する必要があります
https://bugzilla.redhat.com/1156449
f21 ppc64le 上の libguestfs FTBFS
https://bugzilla.redhat.com/1156301
virt-inspector はリモート ディスクの追加をサポートしていますが、そのマニュアル ページでは -a URI / --add URI が
行方不明
https://bugzilla.redhat.com/1155121
-i ova に相対パスを使用すると、Virt-v2v が失敗する
https://bugzilla.redhat.com/1153844
使用時のディレクトリ名の末尾にある冗長空白を完了するために
ゲストの xfs ファイルシステムを使用したゲストフィッシュのディレクトリ名
https://bugzilla.redhat.com/1153589
ディスク コピー フェーズの前に esx ゲストを変換すると、virt-v2v がハングする
https://bugzilla.redhat.com/1152998
virt-v2v / qemu-img が ova イメージで失敗する
https://bugzilla.redhat.com/1151910
virt-ls は、ディレクトリ名を /等/
https://bugzilla.redhat.com/1151900
--csv オプションを指定して virt-ls を実行する場合は、ディレクトリ ファイルのフィールドも追加する必要があります。
https://bugzilla.redhat.com/1151033
VMware vCenter サーバーからの virt-v2v 変換の実行速度が遅い
https://bugzilla.redhat.com/1146832
virt-v2v がディスク タイプ ボリュームのゲストの変換に失敗する
https://bugzilla.redhat.com/1146007
esx ゲストの変換中に入出力エラーが発生しました。
https://bugzilla.redhat.com/1135585
[RFE] virt-builder は、ディレクトリ/ファイルのリストでのコピーをサポートする必要があります
https://bugzilla.redhat.com/1089566
[abrt] livecd-tools: kickstart.py:276:apply:IOError: [Errno 2] No such file または
ディレクトリ:
「/run/media/jones/2tp001data/createlive/temp/imgcreate-_dX8Us/install_root/etc/rpm/macros.imgcreate」
https://bugzilla.redhat.com/1079625
btrfs ファイルシステムに読み取り専用スナップショットが含まれていると、virt-sparsify が失敗する
https://bugzilla.redhat.com/1075164
RFE: Python から事前に開いた libvirt 接続を渡すことを許可します
https://bugzilla.redhat.com/912499
イメージ ファイルのセキュリティ コンテキストがリセットされる
https://bugzilla.redhat.com/889082
[RFE] virt-v2v は、最初に同じ名前のゲストがターゲットに存在するかどうかを確認し、次に
ディスクを転送する
https://bugzilla.redhat.com/855059
RFE: virt-p2v: トポロジなどのネットワーク デバイスに関する詳細情報を表示します。
接着など
https://bugzilla.redhat.com/823758
p2v クライアントには、CPU およびメモリ設定の最大数の制限が必要です
https://bugzilla.redhat.com/709327
hivex は ReactOS からレジストリ ハイブを読み取ることができません
https://bugzilla.redhat.com/709326
virt-inspector が ReactOS を検出できない
https://bugzilla.redhat.com/119673
NFS 経由のインストールが機能していないようです
RELEASE 注意事項 FOR リブゲストFS 1.28
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.26.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
ツール
virt-v2v(1)と virt-p2v(1) は、外国のハイパーバイザー (など) から変換するためのツールです。
VMware または Xen) または物理マシンを KVM に接続します。 これらのツールは、以前は別の
事業。 両方のツールのコードが libguestfs ツリーに統合されました。 一部として
リファクタリングの中で、virt-p2v が書き直され (Ruby から、現在は C)、virt-v2v が使用するようになりました。
qemu のいくつかの最新機能により、以前よりも何倍も高速に実行できます。
virt-v2v(1) 次のものからインポートできます: VMware vCenter、VMware OVA ファイル、ローカル ディスク ファイル、libvirt、
RHEL5 Xen. 出力先: oVirt または Red Hat Enterprise Virtualization (RHEV-M)、
OpenStack Glance、libvirt、qemu、ローカル ディスク ファイル。
仮想ログ(1) は、ゲストからのログ ファイルを一覧表示するための新しいツールです。 色々対応してくれます
Linux トラディショナル、Linux using ジャーナル、および Windows イベント ログを含むゲスト。
仮想ビルダー(1) 新しい「--machine-readable」オプションが追加され、virt-
他のプログラムからのビルダー。
New 仮想ビルダー(1)と virt-カスタマイズ(1) --chmod オプションを選択します。
virt-sysprep(1) 削除: systemd ジャーナル、anaconda ログ、lightdm ログ、debian-
インストーラー ファイル、apt ログ、exim ログ、ConsoleKit ログ、firewalld ログ、grubby ログ、
proftpd ログ、libvirt/libxml ログ、およびその他のいくつかのログ ファイル。 virt-sysprep
「user-account」操作で、特定のユーザー アカウントを削除または保持できるようになりました。 (ピノ
トスカーノ)。
New ゲストマウント(1) --fd オプションを使用すると、別の環境で guestmount キャプティブを実行できます
プロセス。
仮想スパース化(1) 新しい --tmp 一時的な場所を正確に制御できるオプション
ファイルが保存されます。
仮想スパース化(1) ブロックデバイスに書き込めるようになりました。
virt-カスタマイズ(1)と virt-sysprep(1) Windows への firstboot スクリプトの追加をサポートするようになりました
ゲスト
仮想猫(1) virt-編集(1) virt-ls(1) をサポートするようになりました -m オプション、上書きできるようにする
ゲストの自動検査を行い、代わりにパーティションをマウントする場所を指定します (Pino
トスカーノ)。
virt ツールの出力が色付きになりました。OK は緑、エラーは赤、警告は青です。
言語 バインディング
「make -C python sdist」を使用して Python ディストリビューションをビルドできます。
Ruby バインディングは "Test::Unit" から "MiniTest" に切り替わりました。
Java バインディングが OpenJDK 8 (Pino Toscano) と互換性を持つようになりました。
検査
Oracle Linux は「oraclelinux」(Nikos Skalkotos) として返されます。
ない Linux ゲスト /etc/fstab 処理できるようになりました (ピノ トスカーノ)。
Minix は "minix" (Pino Toscano) として返されます。
アーキテクチャ
Aarch64 (64 ビット ARM) のサポートが追加されました。
インスペクションと「guestfs_file_architecture」呼び出しでアーム (32 ビット) を認識できるようになりました。
aarch64 ゲスト。
セキュリティ
CVE-2014-0191 XML 解析におけるネットワークの使用とエンティティの解決
libguestfs は以前、libvirt XML の解析に安全でない libxml2 API を使用していました。 これらの API
デフォルトでは、特定の XML ドキュメントが存在する場合にネットワーク接続の確立が許可されます。
提示されました。 不正な XML ドキュメントを使用すると、すべての CPU を使い果たすことも可能でした。
マシン上のメモリまたはファイル記述子。
libvirt XML は信頼できるソース (libvirt デーモン) に由来するため、そうではありません。
これが悪用される可能性があると考えました。
この問題は libguestfs ≥ 1.27.9 で修正され、修正は安定バージョン ≥ にバックポートされました。
1.26.2、1.24.9以上、1.22.10以上、1.20.13以上。 (ありがとう: Dan Berrange、Pino Toscano)。
シェルショック (bash CVE-2014-6271)
この bash バグは libguestfs に間接的に影響します。 詳細については、次を参照してください。
https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html
API
New API
"guestfs_clear_backend_setting"
"guestfs_get_backend_setting"
"guestfs_set_backend_setting"
これらの API を使用して、個々のバックエンド設定を設定します。
"guestfs_cpio_out"
ディスク イメージ内のディレクトリを cpio 形式に変換します。
"guestfs_journal_get_realtime_usec"
正確なジャーナル時間を取得します。 sd_journal_get_realtime_usecとします。
"guestfs_lstatns"
"guestfs_lstatnslist"
"guestfs_statns"
を返す「guestfs_lstat」、「guestfs_lstatlist」、「guestfs_stat」の拡張バージョン
ナノ秒のタイムスタンプ。
建設 変更
libguestfs を qemu 2.x でビルドできるようになりました。
Mageia でアプライアンスをパッケージ化するためのサポートを追加します (Joseph Wang、Thierry Vignaud)。
Augeas は必須の依存関係になりました。
Flex と bison が必要な依存関係になりました。
内部
User-Mode Linux (UML) は、サポートされていないバックエンドです (ただし、引き続き使用できます)。 これ
誰かが介入してさまざまなリグレッションや破損を修正すると、再びサポートされます
UML (Linux) カーネルで。
「LIBGUESTFS_BACKEND_SETTINGS=gdb」を指定することで、gdb を qemu に接続できるようになりました。
シリアル BIOS (sgabios) が libvirt バックエンド (x86 のみ) で使用されるようになったため、
初期の BIOS メッセージ。
OCaml virt ツールの場合、例外は共通の関数によって処理および出力されるようになりました。
大きなスタック フレームに関する GCC 警告がデフォルトで有効になりました。 いくつかの場所
スタック上で使用される大きな配列と構造体が修正されました。
これで、アプライアンスを繰り返し起動するためのテストが行われました。 カーネルを見つけるのに便利
漏れます。 見る: テスト/qemu/qemu-boot.c
virtio-serial などのさまざまな qemu 機能の速度をテストするためのテストがあります
デバイスの書き込みをアップロードしてブロックします。 見る: テスト/qemu/qemu-speed-test.c
OCaml virt ツールの OCaml-C バインディングに対して GCC 警告が有効になりました。
によって使用されるファイルを編集するためのコード virt-編集(1) ゲストフィッシュ(1)「編集」コマンド、
virt-カスタマイズ(1) --編集 オプションなどは、これらすべてのユーティリティ間で共有されるようになりました (ありがとう
ピノ・トスカーノ)。
FUSE テストは C で書き直され、システム コールの動作をより細かく制御できるようになりました。
テスト済み。
この アップデート-bugs.sh スクリプトが修正されたため、空の「BUGS」が作成されなくなりました
Bugzilla サーバーが使用できない場合は、ファイルを削除してください。
この virt-サイズ変更(1) テストは確率論的手法を使用して、より深く、より広い範囲を保証するようになりました
テスト。
ネットワークが有効になると、アプライアンスは DHCP を使用して IP アドレスを取得するようになりました。
libvirt が使用されている場合、アプライアンスは「virbr0」に接続します (
設定 "LIBGUESTFS_BACKEND_SETTINGS=network_bridge= "。これにより、完全な
機能する ICMP や ping などを使用した、注目のネットワーク接続。
バグ 固定の
https://bugzilla.redhat.com/1153515
空の (ただし設定されている) LIBGUESTFS_BACKEND は、libguestfs: エラー: 無効なバックエンドを出力します:
https://bugzilla.redhat.com/1151766
libguestfs-bash-completion パッケージにはファイルが含まれています
/usr/share/bash-completion/completions/virt-log、ただしなし _virt_log() その機能
file
https://bugzilla.redhat.com/1151738
virt-edit の man ページのタイプミス
https://bugzilla.redhat.com/1151033
VMware vCenter サーバーからの virt-v2v 変換の実行速度が遅い
https://bugzilla.redhat.com/1150880
virt-v2v: 警告: 表示rhel5 の変換時に無視されました
sdl グラフィックを使用したゲスト
https://bugzilla.redhat.com/1150867
'copy-file-to-file /src /dest' コマンドが 'copy-file-to-file' であってもファイル /dest を作成
/src /dest' に失敗しました
https://bugzilla.redhat.com/1150815
「man virt-diff」で「RECURSIVE LONG LISTING」が見つかりません
https://bugzilla.redhat.com/1150701
virt-v2v はデータディスクとマウントされていないファイルシステムを fstrim しません
https://bugzilla.redhat.com/1150475
2 つ以上のディスク ゲストを RHEV にエクスポートすると、インポート後に XNUMX つのディスクのみが表示される
https://bugzilla.redhat.com/1148355
virt-filesystems: Fedora 21 Alpha Atomic イメージを一覧表示する際の LVM vg 名が正しくない
ファイルシステム
https://bugzilla.redhat.com/1148072
オプションがありません --no-selinux-relabel
https://bugzilla.redhat.com/1148012
RFE: qemu-bridge-helper を使用して guestfs_set_network を実装できるようにしました
https://bugzilla.redhat.com/1146815
virt-v2v は警告を出力します: /files/etc/fstab/8/spec は不明なデバイス "cdrom" を参照します
https://bugzilla.redhat.com/1146275
virt-builder/virt-customize でルートパスワードを設定するリグレッション
https://bugzilla.redhat.com/1146017
Windows ゲストの変換中に virt-v2v -v -x が hivex: hivex_open: used でハングする
ブロックID……
https://bugzilla.redhat.com/1145995
クリーンでないファイル システムで Windows ゲストを変換するときのエラー情報を改善
https://bugzilla.redhat.com/1145916
virt-v2v が win7 ゲストの変換に失敗する
https://bugzilla.redhat.com/1144891
RFE: stat 呼び出しがナノ秒のタイムスタンプを返さない
https://bugzilla.redhat.com/1144766
フティメン() ゲストマウントによるノーオペレーションです
https://bugzilla.redhat.com/1144201
次の場合、guestfish は、guestfish を終了するときに端末の出力色を復元できません。
端末の背景色が黒だと不便です
https://bugzilla.redhat.com/1143949
virt-customize オプション '--password-crypto' が機能しない
https://bugzilla.redhat.com/1143887
ゲストを rhev:chown に変換するときに警告が表示されます: 所有権の変更
'/tmp/v2v.u48xag/*.ovf': 引数が無効です
https://bugzilla.redhat.com/1143883
rhel7 ゲストの変換時に警告が表示されます:virt-v2v:grub2 コンソールを更新できませんでした:
aug_get: 一致するノードがありません (無視されます)
https://bugzilla.redhat.com/1143866
virt-v2v が次のエラーで失敗する: db5 を使用してパッケージ インデックスを開けません
https://bugzilla.redhat.com/1142416
part-get-name give 'libguestfs: error: part_get_name: parted は、
'part-get-name /dev/sda 1' の実行時のマシン出力 (-m)' エラー メッセージ
https://bugzilla.redhat.com/1142186
virt-sysprep オプション '--mount-options' がうまく機能しない
https://bugzilla.redhat.com/1142158
不正なコマンド 'part-get-name /dev/sda1 1' により libguestfs アプライアンスがクラッシュする
https://bugzilla.redhat.com/1142004
virt-v2v は warning:WARNING:/files/boot/grub/device.map references unknown device を出力します
「xvda」
https://bugzilla.redhat.com/1141723
virt-v2v: error: disk sda has no defined format が xen hvm ゲストの変換時に表示される
https://bugzilla.redhat.com/1141680
[RFE] virt-v2 は、代わりにドメインの UUID を使用してドメインの変換をサポートする必要があります。
ドメイン名
https://bugzilla.redhat.com/1141631
[RFE] virt-v2 は、プールの uuid を使用してゲストを dir-pool に変換することをサポートする必要があります
https://bugzilla.redhat.com/1141157
virt-sysprep オプション '--user-accounts' がうまく機能しない
https://bugzilla.redhat.com/1141145
virt-v2v が xen pv ゲストの変換に失敗します。
https://bugzilla.redhat.com/1141113
virt-v2v が esx ゲストの変換に失敗する
https://bugzilla.redhat.com/1140946
qemu-img がバッキング ファイルのエラー メッセージを XNUMX 回表示する
https://bugzilla.redhat.com/1140894
「-a guest.img」の後に「--format qcow2」を追加すると、エラー メッセージは出力されません。
生形式の画像ファイル
https://bugzilla.redhat.com/1140547
virt-builder オプション '--format' がうまく機能しない
https://bugzilla.redhat.com/1140156
RFE: RHEV データ ドメインへのエクスポート
https://bugzilla.redhat.com/1140050
複数の競合するオプションを virt-v2v で使用してもエラーが表示されない
https://bugzilla.redhat.com/1139973
パスワードなしの SSH アクセスなしで xen ゲストを変換するときのエラー情報を改善
設定された
https://bugzilla.redhat.com/1139543
スペースが残っていないゲストを変換するときのエラー情報を改善
https://bugzilla.redhat.com/1138586
virt-v2v で実行中のゲストを変換するときにエラーが表示されない
https://bugzilla.redhat.com/1138184
initramfs-*kdump.img でゲストを変換すると、virt-v2v が失敗します。 /ブート
https://bugzilla.redhat.com/1138182
virt-v2v によって変換された後、xen ゲストはカーネルパニックになります
https://bugzilla.redhat.com/1130189
/dev/kvm のパーミッションに関する迷惑なメッセージ
https://bugzilla.redhat.com/1123007
libguestfs 'direct' バックエンドは、qemu を実行する前にファイル記述子を閉じる必要があります
!O_CLOEXEC fds のリークを避ける
https://bugzilla.redhat.com/1122557
出力ファイルとして使用される場合、virt-sparsify はブロックデバイスを上書きします
https://bugzilla.redhat.com/1113156
空の fstab が libguestfs インスペクションを中断する
https://bugzilla.redhat.com/1111662
Guestfs.Error("vgchange_uuid_all: ボリューム グループにはアクティブな論理ボリュームがあります")
https://bugzilla.redhat.com/1109174
virt-win-reg マニュアルページが破損しています
https://bugzilla.redhat.com/1106548
スナップショット ゲストマウント VMDK img のルート以外のディレクトリにアクセスすると、ルートでエラーが発生する
https://bugzilla.redhat.com/1103877
これらの API も `guestfish -h` コマンド リストに追加する必要があります。
https://bugzilla.redhat.com/1102448
mageia パッケージ リストが正しくありません
https://bugzilla.redhat.com/1102447
libxml ライブラリの順序が原因で libguestfs 1.27.13 がビルドされない
https://bugzilla.redhat.com/1100498
RFE: guestmount を検出するための非ポーリング メカニズム --no-fork の準備
https://bugzilla.redhat.com/1099490
スクラブファイルはリンクファイルを処理できません
https://bugzilla.redhat.com/1099284
man ページのタイプミス
https://bugzilla.redhat.com/1098718
RFE: virt-builder エイリアス
https://bugzilla.redhat.com/1096465
virt-builder の「proxy=off」設定でダウンロードのプロキシがオフにならない
https://bugzilla.redhat.com/1094746
virt-sparsify man は、qcow2 イメージ内のスナップショットに何が起こるかについて言及していません
(それらは破棄されます)
https://bugzilla.redhat.com/1092753
virt-builder: 複数のリポジトリに同じ os-version イメージが含まれている場合、それらは
-l 出力で重複
https://bugzilla.redhat.com/1091803
tar-in-opts の実行に失敗し、libguestfs アプライアンスがクラッシュした
https://bugzilla.redhat.com/1088424
virt-resize: libguestfs エラー: part_set_name: parted: /dev/sdb: エラー中
翻訳: 無効または不完全なマルチバイト文字またはワイド文字です
https://bugzilla.redhat.com/1088262
virt-builder がブロックデバイスに書き込めない
https://bugzilla.redhat.com/1085029
Ruby テストが最新の Ruby で失敗する
https://bugzilla.redhat.com/1079210
virt-sparsify --in-place は必要なだけスパース化できません
https://bugzilla.redhat.com/1079182
6.5 にアップデートすると、virt-df が Windows ゲストの使用済みディスク容量を報告できない
https://bugzilla.redhat.com/1077817
virt-builder エラー: 「3 行目の構文エラー: 構文エラー」
https://bugzilla.redhat.com/1056290
出力ファイルとして使用される場合、virt-sparsify はブロックデバイスを上書きします
https://bugzilla.redhat.com/812970
virt-rescue を設定できません ≥ プロンプト、Ubuntu 12.04 の場合
RELEASE 注意事項 FOR リブゲストFS 1.26
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.24.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
ツール
virt-カスタマイズ(1) は、仮想マシンのディスク イメージをカスタマイズするための新しいツールです。 それはあなたを可能にします
パッケージのインストール、構成ファイルの編集、スクリプトの実行、パスワードの設定など。
仮想ビルダー(1)と virt-sysprep(1) virt-customize とコマンド ライン オプションを使用します。
これらのツールはすべて同一になりました。
仮想差分(1) は、XNUMX つのファイルシステムの違いを示すための新しいツールです。
仮想マシン。 これは主に、どのファイルが変更されたかを示すときに役立ちます
スナップショット。
仮想ビルダー(1) が大幅に強化されました。 カスタマイズする方法は他にもたくさんあります
仮想マシン。 複数のリポジトリからテンプレートをプルできます。 並列化された
xzcat の内部実装により、テンプレートの解凍が高速化されます。 Virt-builder は
プランナーを最適化して、VM を構築する最速の方法を選択します。 より使いやすくなりました
他のプログラムからの virt-builder。 国際化サポートが追加されました
メタデータ。 ファイルのより効率的な SELinux の再ラベル付け。 複数のゲストを構築できます
アーキテクチャ。 エラー メッセージが改善されました。 (ピノ・トスカーノ)
仮想スパース化(1) 新しい - 所定の位置に オプション。 これにより、画像がその場でスパース化されます(
それをコピーする)、またはるかに高速です。 (Paolo Bonzini による多くの支援)
virt-sysprep(1) ユーザーの管理下でファイルを削除およびスクラブできます。 ユーザーアカウントをロックできます
または、アカウントにランダムなパスワードを設定します。 より多くのログ ファイルを削除できます。 ゲストの登録を解除できます
Red Hat Subscription Manager から。 操作を有効および無効にする新しい柔軟な方法。
(ワンロン・ガオ、ピノ・トスカーノ)
virt-win-reg(1) URI を使用してリモート ディスク イメージを指定できます。
仮想フォーマット(1) 回復した余分なスペースをホストに渡すことができるようになりました。
ゲストフィッシュ(1) "> を細かく制御するための追加の環境変数があります。 "
促す。 Guestfish は (めったに使用されない) 構成ファイルを別の順序で読み取るようになりました。
そのローカル設定はグローバル設定を上書きします。 (ピノ・トスカーノ)
virt-make-fs(1) は C で書き直されましたが、機能とコマンドに関して変更はありません
ラインの使い方。
言語 バインディング
OCamlバインディングには、エラー番号をチェックするために使用される新しい「Guestfs.Errno」モジュールがあります
「Guestfs.last_errno」によって返されます。
PHP テストが機能するようになりました。 (ピノ・トスカーノ)
検査
インスペクションは Debian ライブ イメージを認識できます。
アーキテクチャ
ARMv7 (32 ビット) が KVM アクセラレーションをサポートするようになりました。
Aarch64 (ARM 64 ビット) はサポートされていますが、アプライアンス部分はまだ動作しません。
PPC64 サポートが修正され、強化されました。
セキュリティ
破損した btrfs ボリュームを含むディスク イメージを検査する際のサービス拒否
libguestfs (および libguestfs をライブラリとして使用するプログラム) をクラッシュさせる可能性がありました。
破損した btrfs ボリュームを含むディスク イメージが表示されます。
これは、サービス拒否を引き起こす NULL ポインタの逆参照が原因であり、そうではありません。
これ以上悪用可能であると考えられます。
修正については、コミット d70ceb4cbea165c960710576efac5a5716055486 を参照してください。 この修正が含まれています
libguestfs 安定ブランチ ≥ 1.26.0、≥ 1.24.6 および ≥ 1.22.8、および RHEL ≥ 7.0 で。
libguestfs の以前のバージョンには脆弱性はありません。
ランダム ルート パスワードとランダム シードのより良い生成
ランダムな root パスワードとランダムなシードを生成する際に、次の XNUMX つのバグが修正されました。
おそらくセキュリティ関連。 まず、過剰なバイトを読み取らなくなりました
は/ dev / urandomの (そのほとんどは捨てられました)。 次に、コードを次のように変更しました
モジュロ バイアスを回避します。 これらの問題は、悪用できるとは考えられていませんでした。 (どちらも変わります
Edwin Török が提案)
API
GUID パラメーターは、API 呼び出しに渡されるときに検証されるようになりました。
任意の文字列を渡すことができました。 (ピノ・トスカーノ)
New API
"guestfs_add_drive_opts": 新しい "discard" パラメータ
新しい「破棄」パラメーターにより、破棄/トリムのサポートをきめ細かく制御できます。
特定のディスク。 これにより、ホスト ファイルをよりまばらにすることができます (またはシン
ファイルを削除するか、「guestfs_fstrim」API 呼び出しを発行すると、プロビジョニングされます)。
"guestfs_add_domain": 新しいパラメーター: "cachemode"、"discard"
これらのパラメータは、ドメインのディスクを追加するときに渡されます。
"guestfs_blkdiscard"
guestfs デバイス上のすべてのブロックを破棄します。 上記の「破棄」パラメータと組み合わせて、
これにより、ホスト ファイルがまばらになります。
"guestfs_blkdiscardzeroes"
破棄されたブロックがゼロとして読み戻されるかどうかをテストします。
"guestfs_compare_*"
"guestfs_copy_*"
API を介して返される構造体ごとに、libguestfs は「guestfs_compare_*」を生成するようになりました
構造体の比較とコピーを可能にする「guestfs_copy_*」関数。
"guestfs_copy_attributes"
あるファイルから別のファイルに属性 (パーミッション、xattrs、所有権など) をコピーします。 (ピノ
トスカーノ)
"guestfs_disk_create"
空のディスク イメージをゼロから作成するための柔軟な API。 これにより、
次のような外部プログラムを呼び出します qemu-imgとします。
"guestfs_get_backend_settings"
"guestfs_set_backend_settings"
バックエンドごとの設定 (環境変数を介して設定することもできます
"LIBGUESTFS_BACKEND_SETTINGS")。 これの主な用途は、TCG モードを強制することです。
qemu ベースのバックエンド。例:
エクスポート LIBGUESTFS_BACKEND=直接
エクスポート LIBGUESTFS_BACKEND_SETTINGS=force_tcg
"guestfs_part_get_name"
パーティションのラベルまたは名前を取得します (GPT ディスク イメージの場合)。
建設 変更
libguestfs 1.26 をビルドするには、次の追加パッケージが必要です。
スーパーミン≧5
このバージョンの libguestfs をビルドするには、Supermin バージョン 5 が必要です。
フレックス、バイソン
Virt-builder は実際のパーサーを使用してメタデータ ファイルを解析するようになったため、これらのツールは
必要。
xz 以前は (理論上) オプションでしたが、これは必須のビルド依存関係になりました。
内部
PO メッセージの抽出がより堅牢になるように書き直されました。 (ピノ・トスカーノ)
「podwrapper」は、 - 入れる or --逐語的 引数パターンが見つかりません。
libguestfs が qemu を渡すようになりました -fips を有効にする qemu がサポートしている場合、FIPS を有効にするオプション。
デフォルトを指定したくない場合は、「./configure --without-qemu」を使用できます
ハイパーバイザー。
読み取り専用ドライブなどに使用されるコピー オン ライト [COW] オーバーレイが作成されるようになりました
内部バックエンド API (「.create_cow_overlay」) を介して。
libvirt バックエンドは、いくつかのファンキーな C マクロを使用して XML を生成します。 これらはより簡単で安全です。
ChangeLog ファイル形式が変更されました。 代わりに、「git log」と同じになりました。
カスタムフォーマットを使用。
アプライアンスの起動が変更されました:
· libguestfs アプライアンスは、物理マシンで行われるのと同じ方法で LVM を初期化するようになりました
マシン。
· libguestfs アプライアンスは空の文字列を / proc / sys / kernel / hotplug
起動時。
あなたが しなければなりません 「CONFIG_UEVENT_HELPER_PATH=""」を持つようにカーネルを構成します
そうしないと、おかしな LVM エラーが発生します (これはどの Linux マシンにも当てはまりますが、
libguestfs だけではありません)。 (ピーター・ラジノハ)
Libguestfs は、あるアーキテクチャ上に構築できるようになりました オカムク(1)しかしそうではない オカムロプト(1)。 (ヒルコ
ベンゲン、オラフ・ヘリング)
「./configure --disable-daemon --enable-appliance」は使用できません。 意味がなかった
とりあえず。 現在は、configure スクリプトによって明示的に禁止されています。
packagelist ファイルは、マクロ展開に「cpp」ではなく「m4」を使用します。
バグ 固定の
https://bugzilla.redhat.com/1073906
javaバインディングinspect_list_applications2スロー
java.lang.ArrayIndexOutOfBoundsException:
https://bugzilla.redhat.com/1063374
[RFE] sysprep に対するサブスクリプション マネージャーのクリーン操作または登録解除操作を有効にする
https://bugzilla.redhat.com/1060404
virt-resize が GPT パーティション名を保持しない
https://bugzilla.redhat.com/1057504
root がマウントされていない場合、mount-local はより明確なエラーを表示する必要があります
https://bugzilla.redhat.com/1056290
出力ファイルとして使用される場合、virt-sparsify はブロックデバイスを上書きします
https://bugzilla.redhat.com/1055452
libguestfs: エラー: 無効なバックエンド: アプライアンス
https://bugzilla.redhat.com/1054761
物理ボリュームが見つからない場合、guestfs_pvs は「不明なデバイス」を出力します
https://bugzilla.redhat.com/1053847
推奨されるデフォルトの時計/タイマー設定
https://bugzilla.redhat.com/1046509
ruby-libguestfs が Guestfs::Guestfs.new で「0 または 1 個の引数が必要」とスローする
https://bugzilla.redhat.com/1045450
cirros 0.3.1 ディスク イメージを完全に検査できません
https://bugzilla.redhat.com/1045033
LIBVIRT_DEFAULT_URI=qemu:///system が libguestfs を壊す
https://bugzilla.redhat.com/1044585
resolv.conf でネームサーバーが設定されている場合、virt-builder ネットワーク (例: --install) が機能しない
127.0.0.1
https://bugzilla.redhat.com/1044014
SSSD がインストールされている場合、libvirt 構成には認証が必要ですが、明確ではありません
ユーザーへ
https://bugzilla.redhat.com/1039995
virt-make-fs がディスク全体の fat/vfat の作成に失敗する: デバイス パーティションが必要ですが、作成されません
デバイス全体のファイルシステム '/dev/sda' (オーバーライドするには -I を使用)
https://bugzilla.redhat.com/1039540
さらにログファイルを削除する virt-sysprep
https://bugzilla.redhat.com/1033207
RFE: libguestfs インスペクションで Free4NAS ライブ CD が認識されない
https://bugzilla.redhat.com/1028660
RFE: virt-sysprep/virt-builder には、ユーザー アカウントをロックするオプションが必要です
https://bugzilla.redhat.com/1026688
libguestfs は、ceph ドライブを使用した libvirt ゲストの調査に失敗します: rbd: イメージ名は開始する必要があります
とともに '/'
https://bugzilla.redhat.com/1022431
$HOME/.cache が存在しない場合、virt-builder が失敗する
https://bugzilla.redhat.com/1022184
libguestfs: バージョン管理された jar ファイルを使用しない
https://bugzilla.redhat.com/1020806
Debian/Ubuntu ですべての libguestfs LVM 操作が失敗する
https://bugzilla.redhat.com/1008417
part-set-gpt-type の helpout を更新する必要があります
https://bugzilla.redhat.com/953907
virt-sysprep が Debian/Ubuntu でホスト名を正しく設定しない
https://bugzilla.redhat.com/923355
guestfish は、エラー メッセージにリテラル "\n" を出力します
https://bugzilla.redhat.com/660687
guestmount: "touch" コマンドが失敗します: touch: `timestamp' の時間を設定します: 無効です
引数
https://bugzilla.redhat.com/593511
[RFE] パーティション名を取得する関数
https://bugzilla.redhat.com/563450
list-devices は、さまざまなタイプのデバイスを順不同で返します
RELEASE 注意事項 FOR リブゲストFS 1.24
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.22.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
User-Mode Linux (UML) は、代替バックエンド (つまり、KVM の代わり) として使用できます。 これ
特に VM 内 (クラウド内など) で libguestfs を使用する場合のパフォーマンスが向上します。 UML
ファーストクラスのバックエンドとしてサポートされています。 の「USER-MODE LINUX BACKEND」を参照してください。 ゲスト(3)
これを使用する方法。
ARM (32 ビット) と PPC64 が完全にサポートされるようになりました。
ツール
仮想ビルダー(1) は、仮想マシン イメージを構築するための新しいツールです。 それはあなたを急速にさせます
安全にゲストを作成し、カスタマイズします。
New virt-sysprep(1) 操作: 内のファイルを削除 / tmpに と / var / tmp. RPM データベースの削除
ファイル。 root とユーザーのパスワードを変更します。 より多くのログ ファイルが削除されます。 新しい操作
デフォルトでは有効になっていません: ファイルシステムのランダムな UUID を作成します。 ファイアウォール ルールをリセットします。
(高万龍)
virt-サイズ変更(1) virt-sysprep は URI を使用してリモートディスクを指定できるようになりました。
「guestfish -N filename=type」を使用して、名前付きディスク イメージを作成します (デフォルトの代わりに
テスト1.img 等)。
仮想スパース化(1) 操作を完了するのに十分なディスク容量があるかどうかをテストします。
途中でスペースが不足する可能性はありません。
仮想フォーマット(1)と virt-make-fs(1): 新規 - ラベル ファイルシステムのラベルを設定するためのオプション。
virt-サイズ変更 --スパースなし フラグを使用して、パーティションやその他のターゲットのサイズを変更できます。
ゼロ化されません。
言語 バインディング
Go プログラミング言語の新しいバインディング。
API
systemd ジャーナルのサポート。
「guestfs_add_drive_opts」は、新しい「cachemode」を通じて qemu キャッシュ モードを制御できるようになりました。
パラメータ。 一時的なドライブのパフォーマンスの向上、または安全性を選択できます。
「guestfs_set_label」が XFS と btrfs で機能するようになりました。
警告メッセージ用の新しい GUESTFS_EVENT_WARNING イベント。
検査
SUSE ゲストの検査の改善 (Olaf Hering)。
非標準の Windows %systemroot% のサポートが向上しました (Matthew Booth)。
Augeas エラーのエラー報告が強化されました。
セキュリティ
CVE-2013-2124
https://bugzilla.redhat.com/show_bug.cgi?id=968306
特定のゲストを検査する際に、サービス拒否が可能でした。 修正されました
1.20 および 1.22 ブランチにバックポートされました。
CVE-2013-4419
https://www.redhat.com/archives/libguestfs/2013-October/msg00031.html
リモート guestfish の安全でない一時ディレクトリの処理を修正しました。 修正されました
1.20 および 1.22 ブランチにバックポートされました。
New API
add-drive-scratch: 一時的なスクラッチ ドライブを追加します
XNUMX月ラベル
XNUMX月-setm
ジャーナルオープン: Systemd ジャーナルのサポート
ジャーナルクローズ
ジャーナル・ネクスト
ジャーナルスキップ
ジャーナル取得
ジャーナル取得データしきい値
ジャーナル セット データしきい値
remount: マウントされたファイルシステムで rw フラグを調整できるようにしました
set-uuid: ファイルシステムの UUID を設定します
「is-file」、「is-dir」、「is-blockdev」、「is-chardev」、「is-fifo」、「is-socket」API に
追加の「followsymlinks」フラグ。
「add-drive」には新しい「cachemode」パラメータがあります。
建設 変更
libguestfs 1.24 をビルドするには、次のパッケージが必要です。
アウゲス≧1.0.0
次のオプション パッケージは、機能を強化するために追加できますが、そうではありません。
必須:
SDジャーナル
それを使用するゲストからジャーナル ファイルを読み取るため。
url_mkcow
UML バックエンド用。
curl
gpg
xz virt-builder 用。
golang ≥ 1.1.1
Go 言語バインディング用。
内部
新しい「make check-*」ルールは「make extra-tests」を置き換えます。 「ヘルプを作成」を参照してください。 ゲスト(3)
詳細。
Perl コードを valgrind できるようになりました。
インスペクション コードがファズ テストされるようになりました。
「make」は、他のすべてのディレクトリのジェネレーター ディレクトリに再帰しなくなりました。 これ
ビルドのオーバーヘッドを大幅に削減します。
Augeas、hivex の追加テスト。
アプライアンスの起動を待機する 20 分の起動タイムアウトを追加します。
すべてのテストにタイムアウト (4 時間) を追加して、qemu またはその他のケースをキャッチできるようにします。
コンポーネントがハングします。
kvmclock と "-cpu host" を使用します。 これにより、クロックの安定性と全体的なパフォーマンスが向上します。
「./configure --enable-packet-dump」モードが修正されました。
「./configure --enable-valgrind-daemon」モードが書き直されました。 今では実現可能です
開発者は、このフラグを常に有効にしておく必要があります。
バックエンドはモジュラーになるようにリファクタリングされています (ただし、実際にはロード可能ではありません)
モジュール)。
有効にすると、ネットワークはリゾルバー構成を使用するようになりました (つまり. /etc/resolv.conf)から
ホスト。
バグ 固定の
https://bugzilla.redhat.com/1019889
libguestfs-tools.conf には man ページが必要です
https://bugzilla.redhat.com/1018149
btrfs_subvolume_list の valgrind エラー
https://bugzilla.redhat.com/1002032
ブロック数が 2 未満の場合、mke2048fs は正しいファイルシステム タイプを返すことができません。
ext3
https://bugzilla.redhat.com/1001876
ワイルドカードを使用するための「rsync-out」ヘルプアウトを更新
https://bugzilla.redhat.com/1001875
tar-out の引数 'excludes' が機能しない
https://bugzilla.redhat.com/1000428
virt-format が vfat ファイルシステムに間違ったパーティションタイプを使用する
https://bugzilla.redhat.com/1000121
マウント前の「sh」コマンドにより、デーモンがセグメンテーション違反を起こす
https://bugzilla.redhat.com/998513
--remote オプションと --add オプションを混在させると、guestfish が機能しない
https://bugzilla.redhat.com/998482
guestfish リモート出力 "libguestfs: エラー: waitpid (qemu): 子プロセスがありません"
https://bugzilla.redhat.com/995711
ブロックデバイスがない場合、list-filesystems コマンドは失敗します
https://bugzilla.redhat.com/994517
cache=none/O_DIRECT の回避策は、バッキング ファイルを含むイメージでは機能しません
https://bugzilla.redhat.com/989356
ファイルに機能が設定されていない場合、cap-get-file はエラーを返します。
https://bugzilla.redhat.com/986877
RFE: set-uuid コマンドを実装
https://bugzilla.redhat.com/986875
RFE: xfs の set-label を実装
https://bugzilla.redhat.com/985269
「acl-set-file」で指定されたユーザーの ACL 値を設定できません
https://bugzilla.redhat.com/983218
起動時にカーネルリンクが失敗すると、libguestfs が二重に解放されます
https://bugzilla.redhat.com/981715
指定されたブロックサイズで xfs ファイルシステムの作成が失敗し、「unknown option -b」エラーが発生する
https://bugzilla.redhat.com/981683
「hivex-commit」は相対パスで失敗するはずです
https://bugzilla.redhat.com/981663
disk-format "qemu-img info: JSON parse error" 対象ファイルが存在しない場合
https://bugzilla.redhat.com/978302
指定されたタイプがそれ以外の場合、mke2fs-J は意味のあるエラーを返す必要があります。
'ext{2,3,4}'
https://bugzilla.redhat.com/975797
virtio インターフェイス ('iface' パラメーター) を指定すると、ダイレクト バックエンドが壊れる - libguestfs
ハングする
https://bugzilla.redhat.com/975753
「virt-resize --expand」および「virt-resize --resize」が Win2008 のエラー メッセージを出力する
32bit OS
https://bugzilla.redhat.com/975412
検査: Augeas 式は augeas >= 0.10 で壊れています
https://bugzilla.redhat.com/974904
virt-resize --expand が Ubuntu Cloud Image で失敗する
https://bugzilla.redhat.com/974489
リグレッション: guestfs_exists から guestfs_is_file への変更により Fedora インスペクションが壊れる
https://bugzilla.redhat.com/972775
txz-out コマンドは、bzip2 圧縮ファイルを生成します (xz 圧縮する必要があります)。
https://bugzilla.redhat.com/969845
ディレクトリへのアップロードが失敗するのではなく時々ハングする
https://bugzilla.redhat.com/968875
virt-sysprep は URL タイプの引数をサポートする必要があります
https://bugzilla.redhat.com/624334
blockdev-setbsz は成功しますが、blockdev-getbsz には影響しません
RELEASE 注意事項 FOR リブゲストFS 1.22
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.20.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
API
ディスクへのリモート アクセス:
· ネットワーク ブロック デバイス (nbd)
・セキュアシェル(ssh)
・HTTPとHTTPS
・FTPとFTPS
· iSCSI
・グルスター
· Ceph/rbd (マイク・ケリー)
・牧羊犬
・TFTP
SYSLINUX および EXTLINUX ブートローダーは、API を使用してディスク イメージにインストールできるようになりました。
インスペクションは、サブボリュームが別々にある btrfs などのファイルシステムを処理できるようになりました
マウント可能 (マシュー ブース)。
「アタッチ メソッド」は「バックエンド」として知られるようになりました。 既存のコードとの互換性は
保存。
新しい QEMU が使用されている限り、ファイル名に「:」を含めることができます。
ツール
virt-alignment-scan と virt-df は、複数のゲストを並行してスキャンします。
Guestmount は、ほとんどの場合、errno をユーザー空間に正確に返すようになりました。
Guestfish やその他のツールは、URI のような構文を使用してリモート ディスクにアクセスできるようになりました。
guestfish -a ssh://example.com/path/to/disk.img
Guestfish と guestmount では、マウント時にファイルシステム タイプを指定できるようになりました。
より安全です (Dave Vasilevsky)。
Guestfish は「ゲスト ファイルシステム シェル」になりました。
Guestfish では、ブール値の「true」「t」「yes」「y」「on」1「false」「f」「no」「n」「off」のみが許可されます
値 (大文字と小文字は区別されません) であり、その他のすべての文字列ではエラーが発生します。
FUSE ファイルシステムを安全にアンマウントするための新しいツール「guestunmount」。
「guestmount --no-fork」フラグは、guestmount のデーモン化を防ぎます。
Virt-resize はデフォルトでスパース コピーを使用するようになり、ゲストのスペースを大幅に節約します。
ほとんど空です。
Bash のタブ補完が書き直され、ほとんどのツールを処理できるようになりました。
完全な「--long」オプション。 さらに、bash 完了スクリプトがオンデマンドで読み込まれます。
言語 バインディング
Java API がイベントをサポートするようになりました。
Python オブジェクトは、"object" 基本クラスから継承されるようになりました。
以前はタプルのリストを返していた Python メソッドが、
Python辞書。 下位互換性のために、これを有効にする必要があります。
コンストラクターオプション「guestfs.GuestFS (python_return_dict=True)」。
PHP バインディングが適切にテストされ、複数の修正が行われました。
長い間非推奨だった Perl の「Sys::Guestfs::Lib」ライブラリが削除されました。
https://www.redhat.com/archives/libguestfs/2013-April/msg00001.html
例
デバッグを有効にしてログ メッセージを取得する方法を示す新しいサンプル プログラム。
その他
ディストリビューターは、次のようにして、任意の追加パッケージをアプライアンスに追加できます。
./configure --with-extra-packages="パッケージ名のリスト"
ディストリビューターは以下を使用できます。
./configure --with-supermin-extra-options="..."
supermin に任意の追加オプションを追加します。
セキュリティ
このリリースでは、セキュリティの問題は見つかりませんでした。
New API
CP-R
extlinux
機能-利用可能
取得プログラム
is-全デバイス
部分取得 gpt タイプ
パーツセット gpt タイプ
リネーム
セットプログラム
syslinux
C のみ:
guestfs_event_to_string
内部
febootstrap ツールの名前が「supermin」に変更されました。 libguestfs はどちらでも使用できますが、
"supermin" を好むようになりました。 http://people.redhat.com/~rjones/supermin/
libguestfs をビルドするには、libxml2 が必要です。
git からビルドするには、(hivex の) hivexregedit プログラムが必要です。
呼び出し元が「-DGUESTFS_PRIVATE=1」を定義しない限り、内部関数は使用できなくなりました。
Python、Ruby バインディングで C コンパイラの警告を有効にします。
libvirt が qemu/KVM をサポートしていない場合 (例: デフォルトの libvirt の場合)、早期に明確に失敗します。
接続先は Xen です)。
「make print-subdirs」ルール。選択的にテストを実行するのに役立ちます。
分離された (sourcedir != builddir) ビルドを許可する複数の修正。
Haskell バインディングに対する複数の修正。
「ln」および「ln-f」API が「errno」を正しくキャプチャするようになりました。
言語バインディング テストは (ほとんどの場合) 標準の番号付けスキームを使用し、同じことをテストすることを目的としています。
各言語の機能の範囲。 また、必要な発射回数が減少しました
したがって、これらのテストはより迅速に実行されるはずです。
ライブラリ コードは内部的に GCC "__attribute__((cleanup))" (利用可能な場合) を使用して簡素化します
メモリ割り当て。
内部ヘッダー ファイルが再編成されました。 のコメントを参照してください src/guestfs-internal*.h
ライブラリと特定のツールの間で共有される内部コードは、静的に配置されるようになりました
「libutils」ライブラリ。
ほぼすべてのサブディレクトリで並列ビルドを使用できるようになりましたが、トップレベルの
ディレクトリは引き続き連続して構築されます。
「PATH_MAX」と「NAME_MAX」の使用はコードから削除されました。
Java API には、JVM ≥ 1.6 が必要になりました。
automake ≥ 1.12 で「serial-tests」の使用を強制します。
ライブラリ プロトコル層でのソケットの使用が抽象化されているため、他の非 POSIX を使用できます。
今後追加されるレイヤー (を参照) src/conn-socket.c).
"qemu-img info --output json" が利用可能な場合は、出力をより安全に解析するために使用されます
このコマンドの。
ディストリビューションは、「make INSTALLDIRS=vendor install」を使用して Ruby バインディングを vendordir に配置できるようになりました。
これにより、Fedora と Debian の両方で運ばれる非アップストリーム パッチが排除されます。
Valgrind ログ ファイルが書き込まれるようになりました tmp/valgrind-DATE-PID.log
「make clean」は、ローカルの「tmp/」ディレクトリをクリーンアップします。
C API テストは、より柔軟なジェネレーター言語を使用して書き直されました。
テスト中に実行される任意の C コード。
バグ 固定の
https://bugzilla.redhat.com/961812
マウント可能なコードの inspect-fs.c のセグメンテーション違反
https://bugzilla.redhat.com/957772
tar-out および base64-out 引用エラー
https://bugzilla.redhat.com/957380
libguestfs: エラー: btrfsvol:/dev/sda2/root: ルート デバイスが見つかりません: これを呼び出すだけです
以前に guestfs_inspect_os によって返されたルート デバイスを持つ関数
https://bugzilla.redhat.com/948324
libosinfo がインストールされていない場合、検査は失敗します
https://bugzilla.redhat.com/928995
サイズがゼロのファイルのファイルは、「空」ではなく「空」を生成するようになりました
https://bugzilla.redhat.com/921292
qemu: ディスク イメージ /tmp/.../snapshot1 を開けませんでした: 許可が拒否されました
https://bugzilla.redhat.com/921040
「エラー: 外部コマンドが失敗しました。以前のエラー メッセージを参照してください」メッセージを変更する必要があります
https://bugzilla.redhat.com/920225
libguestfs は --output json (サポートされている場合) を使用して、qemu- の出力を安全に解析する必要があります。
img コマンド
https://bugzilla.redhat.com/916780
機能のリクエスト: guestmount --with-cleanup-pipefd
https://bugzilla.redhat.com/914934
oom-killer は、大量のデータを tar するときに guestfsd を強制終了します
https://bugzilla.redhat.com/914931
ファイルのコピー中にアプライアンスが停止すると、FileIn コマンドによって segfault が発生する
https://bugzilla.redhat.com/913145
libvirt 1.0.2 の virNetClientProgramCall でのその他のリーク
https://bugzilla.redhat.com/912499
イメージ ファイルのセキュリティ コンテキストがリセットされる
https://bugzilla.redhat.com/909836
libguestfs-test-tool --qemu セグメンテーション違反
https://bugzilla.redhat.com/909624
recv_from_daemon で予期しない非末尾再帰が発生すると、スタック オーバーフローが発生します。
進行状況メッセージを送信する実行時間の長い API 呼び出し
https://bugzilla.redhat.com/908322
virt-tar が存在しないディレクトリ名で失敗する「チャンクエンコーディングでのエラー」
/home/rjones/d/libguestfs/tools/virt-tar 行 272."
https://bugzilla.redhat.com/908321
ディレクトリ名で virt-cat が失敗する「/dev/stdout: チャンクエンコーディングでエラーが発生しました」
https://bugzilla.redhat.com/907554
btrfs により、後続の ntfs-3g ファイルシステムが失敗する
https://bugzilla.redhat.com/905341
「hivex-commit」を実行すると「そのようなファイルやディレクトリはありません」
https://bugzilla.redhat.com/903620
サブボリューム リストの出力が変更されたため、btrfs_subvolume_list が壊れている
https://bugzilla.redhat.com/895910
ゲストマウント: リネーム() シンボリックリンクを誤ってたどる
https://bugzilla.redhat.com/895905
ゲストマウント: リンク() EXDEV であるはずの ENOENT を誤って返す
https://bugzilla.redhat.com/895904
checksums-out は、ディレクトリ内のすべての通常ファイルのチェックサムを計算できません
https://bugzilla.redhat.com/894545
新しい ruby のため、Fedora 19 の libguestfs FTBFS
https://bugzilla.redhat.com/890027
virt-sysprep: Fedora 18 でホスト名、ドメイン名、プリティネームを正しく設定する
https://bugzilla.redhat.com/887971
パーティションにスワップ署名が含まれている場合、pvcreate が失敗する
https://bugzilla.redhat.com/887520
zero_free_space: open: /sysroot//ujqqq135.rd3: メモリを割り当てられません
https://bugzilla.redhat.com/886915
デフォルトのハイパーバイザーが
Xenの
https://bugzilla.redhat.com/847549
長さゼロの virtio-scsi ディスクを追加すると、次の原因になります: qemu-kvm: hw/scsi-bus.c:1568:
scsi_req_complete: アサーション `req->status == -1' が失敗しました。
https://bugzilla.redhat.com/811649
libguestfs は、「:」を含むファイルへのシンボリック リンクであるディスク イメージを開くことができません。
(コロン) 文字
https://bugzilla.redhat.com/664558
RFE: Ruby バインディングでログ コールバックを設定できるようにしました
RELEASE 注意事項 FOR リブゲストFS 1.20
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.18.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
libvirt と sVirt (SELinux 監禁)
また、ご購読はいつでも停止することが可能です 必要に応じて libvirt を使用して、バックエンド アプライアンスを起動および管理します。
・「LIBGUESTFS_ATTACH_METHOD=libvirt[:URI]」を設定
· 「./configure --with-default-attach-method=libvirt[:URI]」を使用
・またはAPIメソッド「guestfs_set_attach_method」を呼び出す
SVirt (SELinux 制限) を使用して、libguestfs アプライアンスを保護します。
バックエンドが選択されています。
virtio-scsi、 より大きい 数 of ドライブ、 ホットプラグ
利用可能な場合、Virtio-scsi がデフォルトで使用されるようになりました。 これで数が大幅に増える
単一の libguestfs ハンドルに追加できるドライブ数 (最大 255)。
ドライブをホットプラグできるようになりました (起動後にドライブを追加および削除します)。
Libguestfs は、すべての API、ツール、およびテストで 25 個を超えるディスクを処理できるようになりました。
ドライブを追加するときにドライブにラベルを付けて、ラベルで参照できます
(/dev/disk/guestfs/LABEL) デバイス名を使用する代わりに (/ dev / sdaに).
新製品 ライブラリ 機能を使用
POSIX アクセス制御リスト (ACL) および Linux ファイルシステム機能を読み取って、
API を介して記述されます。
Windows ダイナミック ディスクがサポートされるようになりました。 メタデータは読み取りのみ可能です (ボリュームを読み取ることはできません)。
変更または作成)。 ただし、ボリューム自体のデータ/ファイル システムは、
マウント、読み取り、および書き込み (Matthew Boot)。
Hivex (Windows レジストリ編集) が API を通じて直接サポートされるようになりました。
または、Windows レジストリをより効率的に編集できます。
いくつかの libguestfs API が再実装されたため、出力に制限がなくなりました。
再実装された API は、「guestfs_cat」、「guestfs_find」、「guestfs_read_file」、
「guestfs_read_lines」、「guestfs_write」、「guestfs_write_append」、「guestfs_lstatlist」、
「guestfs_lxattrlist」、「guestfs_readlinklist」、「guestfs_ls」。
美徳 豊富なツール群
"guestfish touch 'win:c:\new_file'" が期待どおりに動作するようになりました。
「ゲストフィッシュ」に新しい - 通信網 オプションで、libguestfs でユーザー ネットワークを有効にします。
「GUESTFISH_PS1」を設定して、「guestfish」で派手なプロンプトを使用できます。
「rsync」、「ssh」、「less」、「lrzip」コマンドが virt-rescue で利用できるようになりました。 の
さらに、"rsync" を API 経由で使用して増分コピーを実行できます。
「virt-sparsify」は、効率を高めるために qcow2 v3 を使用します。
「virt-sysprep」の機能強化:
· PV と VG の新しい UUID を生成する
· ローカル マシン ID (Wanlong Gao) を削除します。
· ABRT データを削除 (Wanlong Gao)
· パペットキーとログファイルを削除 (Wanlong Gao)
· プロセス アカウンティング ファイルの削除 (Wanlong Gao)
・ 新しい --firstboot ゲストをカスタマイズするための firstboot スクリプトを許可するパラメータ
· "ifcfg-eth*" ファイルから HOSTNAME フィールドを削除しました。 (Wanlong Gao)
· SuSE のその他の改善 (Olaf Hering)
· man ページのキャッシュを削除 (Wanlong Gao)
· kexec-tools (Wanlong Gao) によって生成されたクラッシュ データを削除します。
「virt-make-fs」で仮想フロッピー ディスク (VFD) を作成できるようになりました。
「ゲストマウント」には --pid-ファイル 間の競合状態を回避するために使用できます。
ファイルシステムをアンマウントし、基盤となるディスク イメージを使用します。
言語 バインディング
フル機能の Lua バインディングがこのリリースに追加されました (Jerome Vuarand のおかげで
多くの提案)。
Ruby では、オプション引数 hash はオプションです。
Python では、オプションの引数は特別な "sentinel" 値を使用しないようになったため、任意の整数を使用できます。
オプションの引数として渡されます。
Erlang バインディングには、サンプルとテストが付属しています。
Erlang バインディングが 64 ビット整数パラメータを正しく処理するようになりました。
自動化された「bindtests」は、パラメーターの受け渡しで 64 ビットのクリーン度をテストするようになりました。 いくつかの
その結果、バインディングのバグが発見され、修正されました。
ブロッキング関数とノンブロッキング関数の処理が改善され、libguestfs 呼び出しがより多くなるはずです。
効率的。
検査
無制限のサイズのレジストリを持つ Windows ゲストがサポートされるようになりました。 hivex API を追加することで
libguestfs API に追加すると、はるかに効率的で簡単に検査および変更できます。
ゲストの Windows レジストリ。
SuSE ゲストのサポートが向上しました (Olaf Hering)。
インストールされたアプリケーションのアーキテクチャを返します (John Eckersberg)。
Windows 8がサポートされるようになりました。
Fedora 18 がサポートされるようになりました。
ISO/CD/DVD の検査で、libosinfo データベースを使用できるようになりました。
ポート
アプライアンスなしの libguestfs は、Mac OS X (平田正美) でコンパイルできます。
RHEL 5 は、上流の git の「oldlinux」ブランチを通じて明示的にサポートされるようになりました。
PowerPC 64 ビットがサポートされるようになりました。 また、libguestfs のエンディアンのバグも調査済みです。
これらは修正されています。
デーモン
デーモンの man ページ (ゲストFSD(8))が含まれています。
セキュリティ
ゲストフィッシュ 歴史 file
この $HOME/.guestfish 履歴ファイルが 0600 パーミッションで作成されるようになりました (0644 ではなく)
以前) そのため、誰でも読み取り可能ではなくなりました。
CVE-2012-2690
「virt-edit」と「guestfish」の「edit」コマンドの両方の古いバージョンは、新しいファイルを作成しました
変更は含まれていますが、新しいファイルの権限などが設定されていませんでした。
古いもの。 この結果、次のような機密性の高いファイルを編集した場合、
/ etc / shadow そうすれば、編集後も誰でも読み取り可能な状態になります。
この問題には CVE-2012-2690 が割り当てられており、libguestfs ≥ 1.16 で修正されています。
詳細については、https://bugzilla.redhat.com/show_bug.cgi?id=788642 を参照してください。
New API
acl-delete-def ファイル
acl-get-ファイル
acl セット ファイル
正規デバイス名
キャップ取得ファイル
キャップ セット ファイル
作成フラグ
デバイスインデックス
ディスクにはバッキングファイルがあります
ディスクフォーマット
ディスク仮想サイズ
ファイルシステム-利用可能
フィルディレクトリ
fstream
キャッシュディレクトリを取得
libvirt-要求された認証情報の取得
get-libvirt-requested-credential-prompt
get-libvirt-requested-credential-challenge
get-libvirt-requested-credential-defresult
取得-tmpdir
ハイベックスクローズ
hivex コミット
hivex-node-add-child
hivex-node-children
hivex-node-delete-child
hivex-node-get-child
hivex ノードの取得値
hivex ノード名
hivex ノードの親
hivex ノード設定値
hivex ノード値
ハイベックスオープン
hivex ルート
hivex 値キー
hivex 値タイプ
hivex-value-utf8
hivex-値-値
inspect-list-applications2 (ジョン・エッカーズバーグ)
リスト-ldm-ボリューム
リスト-ldm-パーティション
ldmtool-create-all
ldmtool-diskgroup-disks
ldmtool ディスクグループ名
ldmtool-ディスクグループ-ボリューム
ldmtool-remove-all
ldmtool-スキャン
ldmtool-スキャンデバイス
ldmtool-ボリュームヒント
ldmtool-ボリュームパーティション
ldmtool-ボリュームタイプ
ls0
最大ディスク
mke2fs (ガオ ワンロン)
mk遺失物
mkswap [label と uuid オプションの引数を追加]
mktemp (ワンロン・ガオ)
nr デバイス
解析環境
パース環境リスト
RM-F
rsync
rsync-in
rsync-out
セットキャッシュディレクトリ
set-libvirt-supported-credentials
set-libvirt-requested-credential
セット-tmpdir
シャットダウン [1.16 および 1.18 にバックポート]
tar-in [圧縮フラグを追加]
tar-out [compress、numericowner、excludes flags を追加]
umount [force と lazy のオプション引数を追加]
いつのまにか
xfs-admin (Wanlong Gao)
xfs-growfs (Wanlong Gao)
xfs-info (Wanlong Gao)
xfs-repair (Wanlong Gao)
C API のみ:
guestfs_push_error_handler
guestfs_pop_error_handler
内部
qemu ≥ 1.1 が必要です (≥ 1.2 を推奨)。
febootstrap ≥ 3.20 が必要です。
libvirt はオプションですが、新しい libvirt バックエンドを使用して
アプライアンスの場合、libvirt ≥ 0.10.2 が必要になります。
Coverity は完全なコードベースで実行され、多くの問題が修正されました (Ondrej に感謝)
Vasik、Kamil Dudka)。
以前は optargs がなかった関数は、optargs を持つ関数に変換できるようになりました。
API の拡張がより柔軟になります。 ソースとバイナリの下位互換性は
API のユーザーのために保持されます。
libguestfs API と構造体がジェネレーターで表現される方法が変更されました
タプルの代わりに OCaml 構造体を使用します。 これにより、ジェネレーターの説明がより多くなります
柔軟で分かりやすい。 詳細については、コミット 39d1a7db および eb185eef を参照してください。
ライブラリ コードを複数のファイルに分割:
· 起動バックエンドは別のファイルに配置されるようになりました。 src/launch-appliance.c,
「src/launch-libvirt.c」。
· 生成されたアクション コードが複数に分割されるようになりました ソース/アクション*.c ファイル、高速化
コンパイル。
・ 巨大な src/guestfs.c ファイルは、より小さな論理ユニットに分割されます。
POD (ドキュメント) は、pod2 の代わりに書き直された Perl プログラムを使用して生成されるようになりました* +
シェルスクリプト。
man ページに安定した日付が含まれるようになりました (Hilko Bengen)。
スキップされたテストはコード 77 で終了するようになったため、「make check」出力で「SKIP:」と表示されます。
並列マウントローカル テストが C で書き直されました (RHBZ#838081)。
Ruby 1.8.5 がサポートされるようになりました (ただし、Ruby ≥ 1.9 が推奨されます)。
Perl バインディングは、「./configure --disable-perl」で無効にできます (Wulf C. Krueger)。 ノート
libguestfs をビルドするには Perl が必要です。
「./configure --with-java」または「./configure」を使用して Java バインディングを有効/無効にできるようになりました
--javaなし」(Wulf C. Krueger)。
新しい構成オプション「./configure --enable-code-profiling」および「./configure」
--enable-code-coverage".
言語バインディングで 64 ビット整数を使用するための複数の修正。
アプライアンスのバックエンドは、vgabios の代わりに sgabios を使用するようになりました (Dan Berrange)。
NS "。/ run" スクリプトは、OCaml、Python、
Ruby、Java、GJS、Erlang、Lua プログラム。
"./ run --test" 最小限の出力でテストを実行するためのフラグ。所要時間も出力します。
各テストを実行します。
NS "。/ run" script は累積的にパスを構築するようになりました。つまり、"./ run"
XNUMX 回、または libguestfs と libvirt を使用する "./ run"スクリプトを一緒に。
デーモンが必要とする外部コマンドのリストを抽出して、
特定のディストリビューションで簡単にアプライアンスをインストールできます (Olaf Hering)。
「virt-rescue」コマンドは、「make check」中にテストされるようになりました。
ジェネレーターは、未使用の生成ファイルを削除するようになりました。 これは、行き来するときに役立ちます
git rebase、git bisect などで。
テストは、ソース内の別のトップレベル "tmp/" ディレクトリで実行されるようになりました。 これにより、
ディレクトリに SELinux (sVirt) のラベルが付けられ、クリーンアップも容易になります。
"make syntax-check" がより広範囲に機能するようになり、メイン コードの多くの問題が解消されました。
構文チェックで見つかった問題を修正しました (Jim Meyering さんに感謝)。
生成されたファイルに Emacs モード (-*- foo -*-) が追加されました。
プログレスバーの出力が送信されるようになりました / dev / tty そのため、通常の出力にはなりません
プログラム。 virt-resize と virt-sparsify は、stdout が
tty。
「./configure --without-libvirt」オプションが追加されました。 これは、次のテストに役立ちます。
コードは libvirt なしでもコンパイルされます。
コマンドを実行するための内部ミニライブラリが追加されました。 これにより、リダイレクトできます
外部コマンドからイベントへのエラー。
一時ディレクトリとアプライアンス キャッシュを処理するためのコードが完全に見直されました。
エラーを一時的に無視/無効にするコードは次のようになります。
guestfs_push_error_handler (g、NULL、NULL);
guestfs_mkdir (g, "/foo"); /* これが失敗しても気にしません。 */
guestfs_pop_error_handler (g);
「tests/extra」ディレクトリはなくなりました。 「追加のテスト」は個別に分割されました
「make check-valgrind」などの実行可能なターゲット。 「make help」を使用して、
ターゲット。
「lpj」オプションは、TCG の使用時にアプライアンス カーネルに渡されます。 これで改善するはずです
クロックの安定性 (マルセロ・トサッティ、オラフ・ヘリングに感謝)。
バグ 固定の
https://bugzilla.redhat.com/882417
TMPDIR が絶対パスでない場合、libguestfs ツールが異常なエラー メッセージで失敗する
https://bugzilla.redhat.com/882299
Windows 8 ゲスト ディスクをマウントできません: 「NTFS パーティションは安全でない状態です。
Windows を完全に再開してシャットダウンする (ハイバネーションまたは高速再起動なし) か、マウントしてください。
「ro」マウントオプションを使用してボリュームを読み取り専用にします。」
https://bugzilla.redhat.com/881953
libguestfs: への移行 / etc / hostname、/etc/vconsole.conf、/etc/locale.conf
https://bugzilla.redhat.com/880801
XNUMX つの -a オプションを指定した virt-df で誤ったディスク イメージ名が表示される
https://bugzilla.redhat.com/879416
--help オプションを使用すると libguestfs-test-tool が一時停止する
https://bugzilla.redhat.com/876579
mke2fs API が、ブロック デバイスの命名変換をジャーナルデバイス optarg に適用しない
https://bugzilla.redhat.com/860235
SELinux ポリシーは、qemu が unconfined_u:object_r:user_tmp_t:s0 に書き込むことを許可する必要があります
https://bugzilla.redhat.com/859949
RFE: inspect-list-applications が RPM パッケージのアーキテクチャを返さない
https://bugzilla.redhat.com/859885
inspect-list-applications は、同じ名前のインストール済み RPM パッケージをすべてリストするわけではありません。
異なるバージョン
https://bugzilla.redhat.com/859876
guestfish で印刷されたパスは正規化されていません
https://bugzilla.redhat.com/859875
進行状況バーの出力は tty(?) stderr(?) に移動する必要があります
https://bugzilla.redhat.com/858696
virt-sysprep が Guestfs.Error("read_lines: fopen: /etc/sysconfig/network: No such を報告する
ファイルまたはディレクトリ」) 一部の Fedora ゲストでは
https://bugzilla.redhat.com/858128
libguestfs は、add-drive-ro-with-if によって追加されたデバイスを XNUMX 回一覧表示できません
https://bugzilla.redhat.com/858126
virt-inspector が一部の Windows ゲストで動作しない
https://bugzilla.redhat.com/853762
virt-sparsify は、より堅牢な方法を使用して入力形式を検出する必要があります
https://bugzilla.redhat.com/853393
libvirt はコンソール、シリアルソケットにラベルを付けません
https://bugzilla.redhat.com/853159
Fedora 18 の virt-rescue は完全に壊れています
https://bugzilla.redhat.com/852394
libguestfs インスペクションは、レジストリを 100 MiB に制限します
https://bugzilla.redhat.com/852194
出力が raw 形式の場合、virt-sparsify --compress が失敗する
https://bugzilla.redhat.com/847881
RFE: 追加の引数 (--exclude など) を tar-out に許可
https://bugzilla.redhat.com/847880
tar-out は --numeric-owner を許可 (または強制) する必要があります
https://bugzilla.redhat.com/845522
guestfish の「copy-out / localdir」コマンドが「No such file or directory」で失敗する
https://bugzilla.redhat.com/845488
NTFS で長いファイル名を使用すると、tar アウト、コピーアウトなどが失敗し、「開くことができません:
ファイル名が長すぎます」
https://bugzilla.redhat.com/842307
RFE: libguestfs/sVirt の selinux ポリシーの設計と実装に支援が必要
https://bugzilla.redhat.com/840572
virt-make-fs / tar-in は vfat を適切にサポートする必要があります
https://bugzilla.redhat.com/840115
guestfish touch の問題 - case_sensitive_path API はファイルが存在することを想定しています
https://bugzilla.redhat.com/836710
qcow2 形式のディスク ファイルへの書き込み時のデータ損失
https://bugzilla.redhat.com/834712
LV のサイズを変更しないと、lvresize、lvresize-free は不必要に失敗します。
「新しいサイズ (nn エクステント) は既存のサイズ (nn エクステント) と一致します」
https://bugzilla.redhat.com/824716
compress-device-out は bzip2 をサポートしていませんでした
https://bugzilla.redhat.com/824043
guestfish の認識されないマウント オプションにより、紛らわしいエラー メッセージが表示される
https://bugzilla.redhat.com/823887
vfat ファイルシステムでは漢字を含むファイル名を作成できない
https://bugzilla.redhat.com/823885
virt-make-fs が中国語のファイルシステムを含む vfat ファイルシステムを作成できない
文字
https://bugzilla.redhat.com/823883
virt-make-fs -t fat が不明瞭なエラー メッセージで失敗する
https://bugzilla.redhat.com/823821
/etc/HOSTNAME が空の場合、検査は失敗します
https://bugzilla.redhat.com/801117
libguestfs が Windows 8 のアイコンを取得できない
https://bugzilla.redhat.com/798979
oneiric 以降の Ubuntu インストール CD が認識されない: 「マルチブート オペレーティング
システムはサポートされていません」
https://bugzilla.redhat.com/782167
libguestfs は、一部の構成で Windows ダイナミック ディスクを認識しません。 スパンされた
https://bugzilla.redhat.com/713678
すべての febootstrap メッセージがログ コールバックにリダイレクトされるわけではありません
https://bugzilla.redhat.com/627675
libguestfs インスペクタ コードが処理できない /dev/disk/by-id/*パス
https://bugzilla.redhat.com/602997
part-get-bootable が順序付けされていないパーツ レイアウトで間違った結果を返す
RELEASE 注意事項 FOR リブゲストFS 1.18
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.16.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
美徳 豊富なツール群
- virt-sysprep が書き直され、拡張されました (Wanlong Gao に感謝)
http://libguestfs.org/virt-sysprep.1.html
- virt-sparsify --zero は、名前付きをゼロにする新しいオプションです。
パーティションまたはファイルシステム
- virt-sparsify が Linux スワップ パーティションを安全にスパース化できるようになりました
- virt-sparsify が修正され、^C の後にクリーンアップされるようになりました
http://libguestfs.org/virt-sparsify.1.html
- ビルド用の新しいツール「libguestfs-make-fixed-appliance」が提供されています
コピーできない他のマシンにコピーできる固定アプライアンス
febootstrap のサポートがある
http://libguestfs.org/libguestfs-make-fixed-appliance.1.html
- virt-filesystems が MD の親 (コンテナー) を表示するようになりました
デバイスとボリューム グループ
- 引数なしで実行される virt-alignment-scan は、アライメント情報を表示します
すべての libvirt ドメイン
- virt-df および virt-alignment-scan は、すべての情報を表示します。
ディスクにアクセスできない場合でもゲスト
- スクラッチディスクを作成する virt-rescue 新しい --scratch オプション
https://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content
- virt-make-fs を使用して btrfs を作成できるようになりました
- virt-edit はパーミッション、UID、GID、および SELinux コンテキストを保持します
ファイル編集時
- guestfish は、標準出力とリモートを介して正しく close イベントを渡します
- guestfish の新しい「--pipe-error」オプションにより、パイプ内のエラーを検出できます
コマンド
- guestfish グロブがデバイス名を展開するようになりました
- ファイル名のコンマとコロン文字が正しく処理されるようになりました
すべての仮想ツール
検査
- Fedora 17+ のサポートを追加
- FreeDOS のサポートを追加
- Buildroot と Cirros のサポートを追加
- インスペクションは、Windows ゲストと互換性があるようになりました。
sysprepped (Grant Williamson に感謝)。
API
- 複数のデバイスの追加を含む、追加された btrfs の幅広いサポート
fsck、スナップショット (Wanlong Gao に感謝)
- 新しい「mount-local」API により、FUSE サポートが直接
コア libguestfs API
https://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content
- 新しいマニュアルページ: ゲストのパフォーマンス(1) パフォーマンスを含む
チューニングのヒント
http://libguestfs.org/guestfs-performance.1.html
- 新しいマニュアルページ: ゲストのよくある質問(1) よくある質問
http://libguestfs.org/guestfs-faq.1.html
- ENOTSUP (guestfs_last_errno から) が API に対して返されるようになりました。
サポートされていません
例
- XNUMX つのハンドル間でコピーする方法を示す「copy_over」の例
- 「display_icon」プログラムは、ゲストに関連付けられたアイコンを表示します
- 「mount_local.c」の例は、mount-local API の使用方法を示しています。
セキュリティ
(このリリースでは、セキュリティ上の問題は発見または修正されていません)
New API
btrfs-device-add: デバイスを btrfs ファイルシステムに追加します。
btrfs-device-delete: btrfs ファイルシステムからデバイスを削除します。
btrfs-filesystem-sync: btrfs ファイルシステムを同期します。
btrfs-filesystem-balance: btrfs ファイルシステムのバランスをとります。
btrfs-fsck: btrfs ファイルシステムをチェックします。
btrfs-set-seeding: シードを有効または無効にします。
btrfs-subvolume-create: btrfs スナップショットを作成します。
btrfs-subvolume-delete: btrfs スナップショットを削除します。
btrfs-subvolume-list: btrfs スナップショットとサブボリュームを一覧表示します。
btrfs-subvolume-set-default: デフォルトの btrfs サブボリュームを設定します。
btrfs-subvolume-snapshot: 書き込み可能な btrfs スナップショットを作成します。
get-e2attrs: ファイルの ext2 ファイル属性を一覧表示します。
get-e2generation: ファイルの ext2 ファイル世代を取得します。
isoinfo、isoinfo-device: ISO ファイルのヘッダーから情報を取得します。
llz: SELinux 情報を含むファイルを一覧表示します。
lvcreate-free: 残りの空き容量 % に LVM 論理ボリュームを作成します。
md-stat: MD デバイスから基になるデバイスを返します。
mkfs-brtfs: btrfs ファイルシステムを作成し、すべてのチューナブルを使用します。
mount-local、mount-local-run、umount-local: API での FUSE サポート。
ntfsclone-in、ntfsclone-out: バックアップから NTFS を保存、復元します。
ntfsfix: 一般的なエラーを修正し、Windows に NTFS のチェックを強制します。
set-e2attrs: ファイルの ext2 ファイル属性を設定またはクリアします。
set-e2generation: ファイルの ext2 ファイル生成を設定します。
set-label: ファイルシステム ラベルを設定するための統合インターフェイス。
vgmeta: ボリューム グループのメタデータを取得します。
Wipefs: デバイスからファイルシステムの署名を消去します。
zero-free-space: ファイルシステムの空き容量がゼロ。
内部
- debian/ サブディレクトリが削除されました。 使用することをお勧めします
Hilko Bengen によって作成された公式の Debian パッケージ。
http://people.debian.org/~bengen/libguestfs/
http://packages.debian.org/search?キーワード=libguestfs
- ほとんどすべてのファイルで O_CLOEXEC / SOCK_CLOEXEC が使用されるようになりました
ライブラリが開く記述子。
- posix_fadvise は、大量のデータを順次読み書きするときに呼び出されます。
ファイル。
- すべてのファイル記述子を閉じ、ファイル内のすべてのシグナル ハンドラーを削除します。
回復プロセス
- 複数の gcc 警告と Coverity バグが修正されました。 たくさんの
strict-overflow バグも修正されました
- ./configure --enable-valgrind-daemon を使用して、
デーモン; 多くのエラーが修正されました
- ./configure --with-qemu-options を使用して、追加のオプションを qemu に渡します
- デーモンに拡張可能な文字列バッファ タイプ (DECLARE_STRINGSBUF) が追加されました。
- ヘッダー ファイルは C++ で動作し、リグレッションがあります
これをテストする
- CONFIG 状態でのみ呼び出される複数の API
そうでない場合はエラーを返します
- 絶対パスを使用するように修正された .gitignore
- libguestfs のマッピングを含め、gobject バインディングが拡張されました
イベントから gobject シグナルへ (thanks Matt Booth)
- gobject ドキュメントが適切に生成されます (Matt Booth に感謝)
- gobject ヘッダー ファイルがサブディレクトリに保存されるようになりました
- ジェネレーターの CompareWithString テストが機能するようになりました
- FUInt32、FUInt64 構造体フィールド タイプが正しい XDR タイプを使用するようになりました
- OCaml テストがバイトコードとネイティブ コードで実行されるようになりました。
- java -Xlint:all が使用され、すべての警告が修正されました
- bmptopng、wrestool (など) が見つからないか、失敗しても印刷されない
警告メッセージ
- ruby: Config の代わりに RbConfig を使用します。
- PYTHONPATH は によって設定されます。/ run スクリプト。
- アプライアンスのビルドがスレッドセーフになりました。
- アプライアンスは、'ifconfig' と 'netstat' の代わりに 'ip' を使用するようになりました
コマンド
- 並列ビルドが正しく機能するようにいくつかの修正
- guestfish --listen が適切にクリーンアップするようになりました
- BUSY 状態が削除されました
- gettextize は削除され、シンプルな Makefile.am に置き換えられました
- gettext サポートは、virt-resize、virt-sparsify、および virt-sysprep をカバーするようになりました
- アーム アーキテクチャのサポートの向上
バグ 固定の
- 822490 virt-ls エラー: 「libguestfs: エラー: チェックサム: パス: パラメータを NULL にすることはできません」
- デバッグ進行中の 816839 データ オーバーフロー エラー -1
- 816098 virt-make-fs は、十分なスペースを割り当てないため、btrfs ファイルシステムの作成に失敗します
- 暗号化されたスワップを使用する ubuntu 811872 ゲストで 10.04 インスペクションが失敗する
- 811650 qemu が起動中に失敗すると、guestfs_last_error が設定されない
- 811649 libguestfs は、「:」(コロン) 文字を含むファイルへのシンボリック リンクであるディスク イメージを開くことができません。
- 811117 [RFE][virt-sysprep] net-hwaddr が rhel の「ifcfg-*」ファイルから削除されない
- 811112 [RFE][virt-sysprep] ホスト名を rhel システムで変更できない
- 809361 インスペクションで Fedora 18 (grub2 + GPT) が認識されない
- 807905 btrfs の作成時に mkfs ブロックサイズ オプションが壊れる
- 805070 virt-filesystems は、LV および RAID デバイスの「親」を表示する必要があります
- 804464 LINGUAS が ja または uk と異なる場合、libguestfs をビルドできない
- 803664 Windows XP で libguestfs 検査が失敗する: libguestfs: エラー: hivex: HKLM\SYSTEM\MountedDevices が見つかりませんでした
- 803533 guestfish: 書き込みエラー
- 「close」イベントの 802389 イベント ハンドラがリモート モードで機能しない
- 802109 libguestfs が stderr で putc を使用するため、デバッグ メッセージの個別の 1 バイト書き込みが多数発生する
- 801640 [RFE] resize2fs-M によって報告されるエラーをより明確にする必要がある
- 801298 null 逆参照とリソース リークの可能性
- 801273 set-pgroup のドキュメントを更新する必要がある
- 798196 virt-resize が format 変数と output_format 変数を混同します。 --output-format を使用すると、入力形式が設定されます
- sysprep 状態の Windows XP で 797986 virt-resize を実行すると、「UNMOUNTABLE_BOOT_VOLUME」BSOD が発生する
- 796520 [RFE] アプライアンスの起動後にユーザーが一部のアプライアンス構成コマンドを実行できないようにする
- 790721 マルチプロバイダー ビルド エラー: RuntimeError: リンク: /tmp/.guestfs-0/kernel /tmp/.guestfs-0/kernel.10139: ファイルが存在します
- 789960 存在しないディスクをマウントしようとすると、guestfsd がクラッシュする
- 789504 virt-df (他のツール?) は、ゲストディスクが見つからない場合でもあきらめるべきではありません
- 788641 virt-edit がファイルのパーミッションを保持しない
- 786215 libguestfs インスペクションが FreeDOS オペレーティング システムを認識しない
- 786188 libguestfs インスペクションで FreeDOS インストール CD が認識されない
- 785668 aug-defnode: デーモンのクラッシュ
- 784647 Libguestfs が非推奨の net-tools を使用する
- 769304 RHEL 6 カーネルの virt-resize がパーティションテーブルの再読み込みに失敗する
- 755729 resize2fs-M のエラー メッセージは微調整が必要
- 701814 ディスクフォーマットが定義されていない libvirt ゲストで virt-win-reg が失敗する: 「フォーマットパラメーターが空であるか、許可されていない文字が含まれています」
- 679737 libguestfs: アプライアンスで zerofree を使用できない場合のエラー メッセージを改善
- 635971 glob mkfs ext2 /dev/vd[bt]1 が展開されない
RELEASE 注意事項 FOR リブゲストFS 1.16
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.14.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
libguestfs
- 既存のファイルシステム上に XFS ファイルシステムを作成できるようにする
(高万龍)
- part-disk の (指定されていない) デフォルトの位置合わせが行われました
ハイエンドのネットワーク接続のサポートを強化するために 64K に変更
ストレージ利用料
- 新しい ゲストのテスト(1)マニュアルページ
- list-filesystems は、ファイルシステムを含む MD デバイスを返します
(マシュー・ブース)
- GCC >= 4.7 のサポート (Jim Meying)
- ユーザーが同じドライブを XNUMX 回追加していないことを確認します (Wanlong Gao)。
言語 バインディング
- GObject をサポートする実験的な GObject バインディング
内省。 Javascript から libguestfs を使用できるようになりました。
これらは、このリリースでは安定しておらず、最終版ではないことに注意してください。
(マシュー・ブース)。
- Ruby >= 1.9 のサポート
- Ruby バインディングを個別に無効にできるようになりました。 (Hilko Bengen)
- Python 2.6、3.x のサポート (Richard Jones、Hilko Bengen)
- PHP >= 5.4 のサポート
- 新しい %guestfs_introspection ハッシュが Perl バインディングで利用可能になりました。
どのオプションの引数が利用可能かを問い合わせることができます
検査
- MD デバイスを備えたゲストを検査できます (Matthew Boots)
- GNU/Hurd ゲストのサポート
ゲストフィッシュ
- libguestfs イベント (プログレス バー イベントやログ メッセージなど)
ユーザー定義のシェルスクリプトによってトラップおよび処理されます。
- MD デバイスはタブで補完 (Matthew Boot)
美徳 豊富なツール群
- ブランク ディスクを消去および作成するための新しいツール virt-format
- virt-sparsify の新しい --compress および -o オプションで圧縮を許可
および異なる形式の出力
- virt-sparsify が .vdi ファイルを検出してスパース化できるようになりました
- virt-sysprep はもはや xmlstarlet を必要としません。 新しい virt-inspector --xpath
この機能を置き換えるオプションが追加されました
- virt-rescue には、マウント コマンドを提案する新しい --suggest オプションがあります
ゲストのために
- virt-resize は OCaml pcre ライブラリを必要としなくなりました
libguestfs ライブ
- デーモンはライブの /etc/lvm 設定を編集しようとしなくなりました
- 予測可能な潜在的なセキュリティ問題を修正 / tmpに 名前(スティーブ・ケンプ)
セキュリティ
CVE-2011-4127、RHBZ#757071
SG_IO ioctl による権限昇格の可能性を軽減する
For more information, see: https://github.com/libguestfs/libguestfs/commit/9a5f784d511a8f00a8386f316eab41fe660430db
New API
blkid: blkid が認識しているデバイスのすべての属性を出力します。 (Wanlong Gao 氏)
e2fsck: e2fsck のより多くの機能へのアクセス (Wanlong Gao)
list-md-devices: Linux MD デバイスのリスト (Matthew Booth)
md-create: MD デバイスを作成します
md-detail: MD デバイスのメタデータを返します (Matthew Booth)
md-stop: MD デバイスを停止します (Wanlong Gao)
tune2fs: ext2/3/4 ファイルシステムのチューニングを許可
内部
Git ホスティングは次の場所に移動しました http://github.com/libguestfs
さまざまなテスト ディレクトリが論理的に再配置され、現在
すべて「tests/」の下に表示されます。
通常のテストを実行する「make extra-tests」ルールがあり、
valgrind を使用してメモリの問題をチェックする追加のテスト。
複数のメモリ リークやその他の問題が valgrind によって検出され、修正されました。
ジェネレーターでのオプション引数のサポートが書き直されました
より多くの機能と安全性を提供します (Matthew Boots)。
gcc では -fvisibility=hidden が内部シンボルに使用され、
PLT を介したコール インダイレクション。
ジェネレーターで RHashtable 関数をテストできます。
デーモンの ADD_ARG マクロにより、arg リストを
スタック破壊のリスク。
10 個を超える引数を持つ OCaml 関数の生成を修正しました。
psmisc がアプライアンスに追加され、「fuser」を使用できるようになりました。
デバッグ用の「killall」と「pstree」。
bindtests が RBufferOut とオプションの引数をカバーするようになりました (Matthew Boots)。
バグ 固定の
- 769680 アプライアンスのビルド中に作成された一時ディレクトリがエラーでクリーンアップされない
- 761460 名前付きパイプで guestfs_utimens がハングする
- 761451 guestfs_utimens がディレクトリに時間を設定できない
- 760775 「guestfish: マルチブート オペレーティング システムは、-i オプションではサポートされていません」のほうがわかりやすい
- 760669 guestfish のコピーインと
- 760000 libguestfs が Ruby >= 1.9 でコンパイルに失敗する
- 755729 resize2fs-M のエラー メッセージは微調整が必要
- 750889 Python v3 と互換性のない Python コード。
- 596761 Ctrl-\ により、guestfish が中止される
RELEASE 注意事項 FOR リブゲストFS 1.14
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.12.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
Erlang バインディング。
virt-alignment-scan は、アライメントをチェックする新しいツールです。
仮想マシンまたはディスク イメージ内のパーティション。
virt-sparsify は、仮想マシンのディスク イメージを作成するための新しいツールです。
まばらです。
virt-sysprep は、テンプレートからゲストのクローンを作成するための新しいツールです
もっと簡単です。
ゲストフィッシュ
- 環境変数を設定する新しいコマンド setenv、unsetenv。
- 入力ファイルと行番号がエラー メッセージに出力されます。
- guestfish の進行状況バーは、他のユーザーが使用する「ミニ ライブラリ」になりました。
ツールも。
ゲストマウント
- --live オプション (ライブ VM へのアクセス用) が機能するようになりました。
仮想猫
- virt-cat が Windows パスとドライブ文字を処理できるようになりました (RHBZ#693359)。
virt-ファイルシステム
- MBR パーティション タイプ バイトは --long 出力に表示されます。
virt-make-fs
- virt-make-fs が MBR パーティション タイプ バイトを正しく設定するようになりました。
Windows との互換性の向上 (RHBZ#746295)。
virt-サイズ変更
- virt-resize は、拡張および論理を使用してゲストと連携できるようになりました
パーティション、特に Ubuntu ゲスト。
- virt-resize は、Windows ゲストの最初のパーティションを整列できるようになりました。
パフォーマンスの向上。 新しい virt-resize --align-first オプション
この動作を制御します。
- virt-resize --machine-readable フラグにより、
他のプログラムからの virt-resize。
- パーティションは、128 セクター (通常は 64K) に整列されます。
デフォルト。 これにより、ハイエンド ストレージの効率が向上します。 新しい
virt-resize --alignment オプションにより、アライメントを
調整済み。
virt-win-reg
- レジストリ キーと値を削除するための構文が文書化されています。
マニュアルページ (RHBZ#737944)。
ライブラリ
- 非印刷文字は、デバッグ出力で正しくエスケープされます。
- GUESTFS_EVENT_ENTER は、
libguestfs 関数が呼び出されます。
- ライブラリには systemtap/DTrace プローブが含まれています。
- ライブラリを hivex なしでコンパイルできるようになりました (RHBZ#723474)。
検査
- Windows ディスクの検出を改善。
- 以下のサポートを追加:
ttylinux - 最小限の Linux
Mageia (Michael Scherer に感謝)
OpenSUSE と zypper (Michael Scherer と Vincent Untz に感謝)
Ubuntu のロゴ (Michael Scherer に感謝)
NetBSD と pkgsrc (Michael Scherer に感謝)
- /etc/fstab で /dev/root を使用するいくつかのゲスト タイプを処理します。
- ディスク数が 26 を超えるゲストの処理を修正 (thanks Matthew Booth)
- HP Smart Array ディスクを使用するゲストのサポートを追加 (thanks Matthew Booth)
フェブートストラップ
- FEBOOTSTRAP_KERNEL、FEBOOTSTRAP_MODULES 環境変数は
アプライアンスに使用するカーネルを選択するために設定する必要があります。
miscの
- ArchLinux サポートが Linux 3.0 で動作するようになりました (Erik Nolte に感謝)
- マークされた libvirt ディスク次の場合に読み取り専用で追加されるようになりました
virt-tools の「-d」オプションを使用します。
セキュリティ
(このリリースでは、セキュリティ上の問題は発見または修正されていません)
New API
圧縮アウト、圧縮デバイス アウト、デバイスからデバイスへのコピー、
デバイスからファイルへのコピー、ファイルからデバイスへのコピー、ファイルからファイルへのコピー、
get-smp、part-to-partnum、set-smp。
マウント API は、暗黙的に -o sync,noatime オプションを追加しなくなりました。
add-domain には、制御するための新しい「readonlydisk」オプション パラメータがあります
どうやってディスクを扱っています。
内部
- ソースで Coverity を実行したところ、さらに多くのバグが特定され、
修正されました。
- libguestfs のビルドに PCRE ライブラリが必要になりました。
- APIC がアプライアンスのデフォルトになりました。 有効にすることもできます
アプライアンスでの SMP サポート。
- OCaml バインディングは、コールバック中に GC ロックを正しく取得するようになりました。
- ツリー外のビルドが正しく動作するようになりました (Hilko Bengen に感謝)。
- ./configure --with-extra="..." は、パッケージャーが設定するために使用できます
追加のバージョン文字列。
- ゼロ、ゼロデバイス API: ブロックにすでにゼロが含まれている場合、
不必要に
基盤となるストレージが非スパースです。
- is-zero、is-zero-device API: これらを最適化して、ゼロ検出が行われるようにします。
もっと早く。
バグ 固定の
- 748266 libguestfs は、-machine pc オプションを必要とする qemu のバージョンを検出する必要があります。
- 747290 libguestfs が無視するlibvirt XML で
- 747287 ディスク イメージを開く権限が拒否された場合の誤解を招くエラー メッセージ
- 746295 virt-make-fs がパーティション ID を設定しない
- 744795 guestmount --live が使用できない
- 737944 virt-win-reg ハイフン (削除キー) 構文が間違っている可能性があり、文書化されていません
- 733297 ruby イベントハンドラーが「コールバックの例外: 間違った引数タイプ Proc (期待されるデータ)」で失敗する
- 731744 libguestfs は、デバッグ出力で特殊文字/非印刷文字をエスケープする必要があります
- 729887 flags=4 で aug_init を実行するとアプライアンスがクラッシュする
- 729075 libguestfs が Hp_recovery パーティションと Windows ルート ファイルシステムを混同する
- 727178 エラー: luks_open: cryptsetup: 共有ライブラリの読み込み中にエラーが発生しました: libfipscheck.so.1: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
- 726739 libguestfs: エラー: aug_get: 一致するノードがありません。ホスト名を検索しようとしています
- 723474 hivex や pcre がインストールされていない場合、libguestfs がコンパイルに失敗する
- 693359 virt-cat と virt-edit が大文字と小文字を区別する NTFS パスを適切に処理しない
- 678231 virt-inspector が未知のファイルシステム UUID を報告する
- 671082 libguestfs が kernel-rt で機能しない
- 666578 libguestfs: 不明なファイルシステム ラベル SWAP-sda2
- 642821 virt-resize が論理スワップパーティションのあるディスクイメージでフォールオーバーする
RELEASE 注意事項 FOR リブゲストFS 1.12
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.10.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
ゲストフィッシュ
- guestfish 文字列はエスケープを使用できます。
例えば。 > write /foo "1行目\n2行目\n"
- guestfish write-append コマンドを使用して、ファイルに追加できます。
- 実行時間の長いファイルのアップロードとダウンロードは、
API またはゲストフィッシュで ^C を押すことによって。
- グラフィカル ファイルを表示するための新しい guestfish "display" コマンド
ゲストの内部。
- guestfish で、タブ補完が機能するようになりました /dev/マッパー デバイス。
virt-インスペクター
- 検査 API は、特定のゲストのアイコンまたはロゴを取得できます。
- virt-inspector には、特定のゲストのロゴとホスト名が含まれます。
- virt-inspector が RPM のバージョンとリリース番号を取得できるようになりました
パッケージ。
- CentOS と Scientific Linux は、別のディストリビューションとして扱われるようになりました。
インスペクション API。
virt-サイズ変更
- virt-resize で btrfs を処理できるようになりました。
- 新しい virt-resize --ntfsresize-force オプションにより、Windows VM を
何度もリサイズ。
他の 美徳 豊富なツール群
- ゲストフィッシュ、ゲストマウント、virt-cat、virt-df、virt-edit、virt-filesystems、
virt-inspector、virt-ls、および virt-rescue を使用できるようになりました
UUIDでゲストを指定する「-d UUID」オプション。 これにより、より多くの
他のプログラムから使用するのに堅牢です。
- virt-ls -lR オプションにより、複雑なファイル反復とゲスト分析が可能になります。
- virt-win-reg は HKEY_USERS\ をサポートしますおよび HKEY_USERS\ .
- virt-win-reg の新しいオプション --unsafe-printable-strings により印刷可能
出力に表示される文字列 (危険: ドキュメントを読んでください)
使用する前に)。
- virt-edit が C で書き直されました。
API と 言語 バインディング
- Java が完全にサポートされるようになりました。
見る http://libguestfs.org/guestfs-java.3.html
- JRuby は、Java バインディングを介してサポートされます。
- guestfs_close がトレース メッセージに表示されるようになりました。
- Python バインディングにより、明示的な g.close() メソッドが追加されます。
- Python プログラムで新しいイベント API を使用できるようになりました。
- libguestfs の呼び出し中に Python GIL が解放され、マルチスレッドが可能になります。
Python プログラムが正しく動作するようにします。
- 9pfs (ホストからエクスポートされた Plan 9 ファイルシステム) がサポートされるようになりました。
- 非推奨の API の使用について警告する -DGUESTFS_WARN_DEPRECATED=1 を追加
C プログラムの関数。
- 新しいマニュアルページ guestfs-レシピ(1)レシピ付き。
- mkfs-opts は、作成されたファイルシステムの inode サイズとセクター サイズを設定できるようになりました
(ニキータ・メンコビッチに感謝)。
- guestfs_last_errno が OCaml からアクセスできるようになりました (g#last_errno () として)。
セキュリティ
- optargs_bitmask は、オプションがない呼び出しに対してもチェックされます
引数。 これにより、デーモンでのエクスプロイトの可能性が閉じられます。
信頼できない発信者。
New API
btrfs-filesystem-resize、get-pgroup、inspect-get-icon、is-zero、
is-zero-device、list-9p、list-dm-devices、mount-9p、ntfsresize-opts、
set-pgroup、write-append
内部
- Coverity (静的分析ツール) がコードベース全体で実行され、
多くの修正が行われた。
- Generator は RBufferOut を返す関数を処理でき、
オプションの引数。
- Perl 5.14 と互換性があります。
- gcc 4.6 と互換性があります。
- QEMU の安全性チェックを実行します。
- C API テストは、オプションの引数を持つ呼び出しを完全にテストできるようになりました。
- ./configure --enable-install-daemon を使用して /usr/sbin/guestfsd をインストールします。
- po-docs ディレクトリがすべての man ページをカバーするようになりました。
- qemu プロセスの stderr がイベント サブシステムによってキャプチャされるようになりました。
バグ 固定の
- 602997 part-get-bootable が順序付けられていないパーツ レイアウトで間違った結果を返す
- 661280 virt-rescue: シャットダウン時のパニック: "/sbin/再起動: そのようなファイル、又はディレクトリはありません"
- 700369 qemu-system-x86_64 で「このターゲットでは KVM はサポートされていません」と表示される
- 705200 ゲストマウントを試行すると、アクセスが拒否される
- 714981 「list-filesystems」が virtio 9p ファイルシステムを認識しないか、既存のマウントを検出しない
- 717786 libguestfs python バインディングには、明示的なクローズ コールが必要です。
- 721275 F16 の virt-resize は btrfs をサポートする必要があります
リリース ノート for libguestfs 1.10.0
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.8.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
- libguestfs とツールは、ライブ仮想マシンに対して使用できます。
「guestfish --live」および「guestmount --live」オプションを参照してください。
低レベル インターフェイス) 新しい API set-attach-method および
get-attach-メソッド。
- 新しい仮想ツール:
virt-copy-in、virt-copy-out、virt-tar-in、virt-tar-out。
- libguestfs は、Windows ゲストのドライブ文字マッピングを取得できます。
- virt-inspector は、Windows ゲストのドライブ文字のマッピングを表示します。
- virt-edit および guestfish プログラムでドライブ文字を使用できるようになりました
Windows ゲストで操作する場合。
- virt-resize が 32 ビット ホストで動作するようになりました。
- さまざまなインストール ディスクとライブ CD を検査できるようになりました
オペレーティングシステム。
- ゲストフィッシュ
- guestfish、guestmount、virt-rescue はすべて --ro および --rw をサポートするようになりました
オプション、およびこれのデフォルトは構成を介して選択できます
ファイル (/etc/libguestfs-tools.conf)。
- 新しいイベント API により、複数のコールバックを登録できます
各イベントは、他の言語から API を呼び出すことを可能にします。
ほぼすべてのログ、デバッグ、およびトレース メッセージを再ルーティングできます。
stderr から。
- 使用を含む、一時ファイルの FHS 準拠の強化 / var / tmp
再起動しても存続するはずの大きなキャッシュ ファイルの場合 ( / tmpに).
- guestfish、guestmount -m オプションを使用すると、マウント オプションを渡すことができます
基礎となるファイルシステムまで。
- mkfs-opts により、ファイルシステム機能を指定できます。
- mkmountpoint、mount を許可する、マウントポイントのよりインテリジェントな処理
および umount-all コマンドが適切に連携するようにします。
- トレース メッセージには個別の文字列がプレフィックスとして付けられるため、
デバッグ出力から簡単に「grep」できます。
- guestfs_launch (guestfish の「実行」コマンド) が進行状況を生成するようになりました
5 つ以上かかる場合は、メッセージ (guestfish プログレス バー)
実行する秒。
- 時間を見積もることができない、いくつかの長時間実行コマンド
完了するまで、「パルスモード」進行イベントを生成します。 プログレスバー
in guestfish が更新され、これらが表示されます。
- C、Perl、Python、OCaml、Ruby で新しいサンプル コードを公開します。
- 新しい virt-dhcp-address サンプル プログラム。
- Java と Ruby のバインディングが大幅に改善されました。
- Perl には、最後のエラーの errno を取得する方法が含まれています。
- Python バインディングが rpyc と互換性を持つようになりました (Erez Shinan に感謝)。
- 現在、Transifex を使用して翻訳を管理しています。
http://www.transifex.net/projects/p/libguestfs/
- インスペクションが Red Hat Desktop、Slackware ディストリビューションをサポートするようになりました。
- XNUMX つ以上の Windows ゲストの検査が失敗しなくなりました。
より多くのディスク。
- インスペクションで Windows 2008 Server の違いを判別できるようになりました
およびWindows 7。
- インスペクションでは、32 ビットにインストールされた 64 ビット アプリケーションを検出できます
WOW64 エミュレーターで実行される Windows。
- 一連のプロトコル修正により、古いバグ RHBZ#576879 が修正されました。
これは、アップロード コマンド中にエラーが発生して失われていたものです。
プロトコル同期。
- 新しいロゴ!
セキュリティ
[なし]
New API
first-private、get-attach-method、inspect-get-drive-mappings、
inspect-get-product-variant、
inspect-get-windows-current-control-set、next-private、resize2fs-M、
セットアタッチメソッド。
内部
- 「HACKING」ファイルは廃止されました。 コンテンツは次の場所に移動されました
のセクション ゲスト(3)マニュアルページ。
- libguestfs-test-tool を簡略化。 静的はもう必要ありません
バイナリまたは ISO の構築を試みます。
- rpcgen で生成されたファイルは -fno-strict-aliasing でコンパイルされます
どちらがより安全なはずです (Matt Booth に感謝)。
- virt-resize は OCaml で書き直されました。
- valgrind でテストされた guestfish およびその他のツール。 いくつかのメモリリーク
修正されました。
バグ 固定の
- 502533 libguestfs のポーランド語翻訳を更新
- 576879 ディスクをマウントする前に「アップロード」すると、libguestfs プロトコルの同期が失われる
- 599503 mkmountpoint と umount-all を混在させることはできないというドキュメント
- 617440 guestfish: $HOME 環境が設定されていない場合、チルダ展開 '~' に失敗する
- 664558 RFE: Ruby バインディングでログ コールバックを設定できるようにする
- 665358 パンジャブ語翻訳完了 (pa_IN)
- 666577 libguestfs: 不明なファイルシステム /dev/fd0
- 667610 複数のバグ、libguestfs ruby バインディングでのメモリ リーク
- 668112 ファイルシステムラベルが破損しているゲストで virt-filesystems コマンドが失敗する
- 668574 guestfish -i がすべてのマウントをマウントしようとしています。 /etc/fstab デバイスが存在しない場合はエラーで失敗します
- 673479 LIBGUESTFS_TRACE 出力に grep に適した文字列を追加
- 674130 ディスクが XNUMX つある Windows ゲストで検査コードが失敗する
- 682756 list-filesystems がエラーを返すと libguestfs が segfault をトレースする
- 682979 libguestfs が、Red Hat デスクトップを「redhat」ではなく「redhat ベース」として誤って検出する
- 690819 mkfs は、'ide' インターフェースでディスクを使用している場合、ディスクデバイス上にファイルシステムを作成するのに失敗します
- 691389 拡張属性がゲストマウントで機能しない (FUSE)
- 691724 virt-inspector が不明なファイルシステム /dev/vda1 を報告する
- 692545 inspect-list-applications が、32 ビット Windows の WOW64 エミュレーターにインストールされた 64 ビット アプリの検出に失敗する
- 693324 sfdisk の python インターフェイスは、lines パラメーターのタイプが「list」のリストのみを受け入れます。
リリース ノート for libguestfs 1.8
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.6.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
- Debian と Ubuntu のサポートとパッケージ。
- リスクを軽減するために、Debian および Ubuntu の git リポジトリからの毎日のビルド
回帰の。
- ArchLinux 'pacman' への移植 (Thomas S Hatch に感謝)。
- 次のツールが C で書き直されました (元は Perl):
。 仮想猫
。 virt-df
. virt インスペクター
。 virt-ls
. 仮想レスキュー
- 一部の C ツールは、暗号化されたゲストを自動的にサポートします。 これは
サポート対象: guestfish、guestmount、virt-cat、virt-inspector、
virt-ls。
- 新しいツール virt-filesystems (C) に置き換わる
virt-list-filesystems および virt-list-partitions であり、スーパーセットがあります
それらのツールの機能の。
- guestfish、guestmount、および C ツールは、統一されたコマンド ライン オプションを使用します
解析するため、「-a disk.img」などの多くの一般的なオプションがサポートされています。
「-d libvirt ドメイン」、「-x」、「-v」。 古いコマンド ライン オプション
解析は、スクリプトなどでの互換性のために保持されます。
- guestfish は Perl に依存しなくなりました
- プログラミング例を含む新しい man ページ: guestfs-例(3) (C/C++)、
ゲストfs-ocaml(3) ゲストfs-python(3) guestfs-ルビーとします。
- トレース モードは、API 関数からの戻り値を出力します。
- virt-inspector は、Windows ゲストにインストールされているアプリケーションを一覧表示できます。
これらのアプリケーションに関する大量の情報を提供します。
- インスペクションのサポートを追加: Linux Mint、Mandriva、FreeBSD。
- guestfish --rw オプション (現在は効果なし) を潜在的に作成する
危険な書き込みアクセスが明示的です。
- csh、tcsh との互換性のための guestfish --listen --csh (ありがとう
エリック・ブレイク)。
- 各 API 関数を導入した最初のアップストリーム バージョンは現在
に文書化 ゲストとします。
- guestfs_last_errno を使用すると、
デーモン、ローカル オペレーティング システムに正しく変換されます。
- 関数にオプションのパラメーターを指定できるようになりました。
- アップロードの進行状況バーと進行状況通知が発生するようになりました
コマンド。
- アプライアンス ビルダーは、一時ファイルを残さないように注意を払います
/tmp あたり。
- getfattr/setfattr コマンドが virt-rescue に追加されました。
- ROADMAP ファイルには、将来のリリースのロードマップと目標が含まれています。
セキュリティ
- 新しい SECURITY セクション ゲスト(3) API ドキュメント。
- virt-inspector はゲスト コマンドを実行しなくなりました。
- インスペクション コードは、非常に大きなファイルを回避することに、より注意を払っています。
以前にサービス拒否を引き起こした可能性のあるゲストから。
- guestmount -x を使用すると、guestmount への FUSE 呼び出しがトレースされるようになりました。
New API
- ドメインを追加
- ドライブのオプションを追加
-getxattr
- インスペクト-取得-ホスト名
- インスペクト・ゲット・パッケージ・フォーマット
- インスペクト-取得-パッケージ管理
- インスペクト-ゲット-ルート
- インスペクトリストアプリケーション
-lgetxattr
-mkfs-opts
内部
- C プログラムは、使用するライブラリのみを正確にリンクするようになりました。
- PCRE、libmagic、hivex、および libvirt ライブラリが完全に
ビルドのオプション。
- 複数のメモリ リークとファイル記述子リークが修正されました。
- POD ラッパーを追加して、man ページと HTML ファイルの生成を統一
すべてのプログラムにわたって。
- ソースには、Fedora、Debian、Ubuntu および
Windows ゲスト。
- Ruby バインディングには「make install」ルールがあります。
- 単一のファイルになりました。
- XDR ヘッダーは必要ありません。
- ocaml xml-light ライブラリをビルドする必要がなくなりました (ありがとうございます
マキシム・コルツォフ)。
- ./configure --disable-[...] 各言語バインディング用 (ありがとう
マキシム・コルツォフ)。
- 古い ocaml-viewer プログラムが削除されました (代わりに guestfs-browser を使用してください)。
- 新しい C API テスト タイプ 'InitScratchFS' により、テストが少し実行されます
より迅速に。
- アプライアンスで除外されたパッケージが別のリストに表示されるようになりました
ファイル appliance/excludelist.in にあり、ディストリビューションごとにカスタマイズできます。
バグ 固定の
- 663407 一部のパスで readlink および readlinklist が /sysroot/ を返す
- 661280 virt-rescue: シャットダウン時のパニック: "/sbin/再起動: そのようなファイル、又はディレクトリはありません"
- 657499 checksum: チェックサムのタイプが間違っているため、umount が失敗する
- 655554 virt-inspector によってディスクパス全体が正規化されない
- 654638 openssl を 1.0.0b にアップデート libguestfs は正確なファイル名に依存
- 652796 ruby バインディングが「make install」によってインストールされないため、バイナリ配布から除外される
RELEASE 注意事項 FOR リブゲストFS 1.6
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.4.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
- アプライアンスの作成とキャッシュに新しい方法を使用します。 これ
libguestfs のパフォーマンスを大幅に向上させます。
x 4 ~ x 5 の
- 通常のゲスト検査 (virt-inspector など) のサポート
API とすべての言語バインディング。 「guestfish -i」オプションはサイドとして -
効果がはるかに速くなります。
- virt-inspector およびコア インスペクション API は、実行中のゲストを検出できるようになりました。
Fedora、Debian、Ubuntu、Windows、Red Hat Enterprise Linux、CentOS、
Scientific Linux、Gentoo、Pardus、Arch Linux、MeeGo。
- ゲストでの LUKS ディスク全体の暗号化のサポート。
- PHP バインディング。
- 進行状況メッセージ (および guestfish と virt-resize の進行状況バー)
特定の長時間実行オペレーションの場合。
- virt-df がより効率的になりました。 「--one-per-guest」を使用して復元します
古いゲストごとの分離動作。
- ファイルをコピーするための guestfish の「copy-in」および「copy-out」コマンド
ディレクトリを再帰的にゲストに出入りさせます。
- デバイスのバイナリ編集を行うための guestfish 'hexedit' コマンドと
ファイル。
- guestfish -i 構文を変更して、コマンドを
コマンドライン (下位互換性を保持)。
- ゲストフィッシュ '-d ' libvirt ドメインからディスクを追加します。
- guestfish の「-N」オプションは、いくつかの新しい準備済みディスク イメージ タイプをサポートします。
lvfs : ファイルシステムでフォーマットされた LV のディスク
lv : LV を持つディスク
ブートルート : ブート + ルート
bootrootlv : LV でのブートとルート
- guestfish の「more」および「edit」コマンドは、任意のファイルで機能するようになりました。
- guestfish '--echo-keys' オプションを使用すると、キー/パスフレーズをエコーできます
それらを入力しながら。
- guestmount は、guestfish のような -a / -d / -i オプションをサポートするようになりました。
- アプライアンスとの通信に virtio-serial を使用します。 これ
また、パフォーマンス上の大きな利点もあります。
- 編集したファイルのバックアップを作成するための virt-edit '-b' オプション。
- 非インタラクティブなファイル編集用の virt-edit '-e' オプション。
- アプライアンスからコア ダンプをキャプチャする機能 (Matthew Booth に感謝)。
- virt-rescue が正常にシャットダウンするようになりました (thanks Matthew Booth)。
- virt-rescue に、ネットワーク アクセスを有効にする --network オプションが追加されました。
- virt-resize は、GPT パーティション テーブル形式を使用するゲストを処理できるようになりました。
- virt-resize は、ゲストの縮小をより適切にサポートします。
- virt-resize は qcow2 形式のゲストをサポートします。
- $TMPDIR を使用して、ほとんどすべての一時ディレクトリの使用をオーバーライドできます。
- OCaml ユーザーは、別の OO スタイルのコーディングを使用できます。 g#launch ()
- API は、オプションのパラメーターを取る呼び出しをサポートしています。
$g->add_drive_opts ("ディスク", 読み取り専用 => 1);
- トレース出力は、大きな文字列をエスケープして短縮するようになりました (感謝
マシュー・ブース)。
- 自動同期がデフォルトでオンになり、動作の信頼性が向上しました
ハンドルを閉めたところ。
- virt-df --uuid オプションにより、移行全体でドメインを追跡できます
そして改名。
- マニュアルページの翻訳。
セキュリティ
- CVE-2010-3851 libguestfs: ディスク追加時のディスクフォーマット指定子がありません
https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html
これは、このリリースで包括的に修正されており、修正は次のようになります。
さらにテストした後、他の安定版ブランチにバックポートされました。
- virt-inspector は信頼されていないゲストコードを一覧表示することに依存しなくなりました
一部のゲストでのアプリケーション。
New API
ダウンロード オフセット、ファイル アーキテクチャ、findfs ラベル、findfs uuid、
インスペクト-OS、インスペクト-ゲット-アーチ、インスペクト-ゲット-ディストリビューション、
inspect-get-filesystems、inspect-get-major-version、
inspect-get-minor-version、inspect-get-mountpoints、
検査取得製品名、検査取得タイプ、is-blockdev、is-chardev、
is-fifo、is-lv、is-socket、is-symlink、list-filesystems、luks-add-key、
luks-close、luks-format、luks-format-cipher、luks-kill-slot、
luks-open、luks-open-ro、lvm-clear-filter、lvm-canonical-lv-name、
lvm-set-filter、part-to-dev、pread-device、pwrite-device、
アップロードオフセット
内部
- ループ反復子には size_t を使用します。
- ライブラリ コードを個別のファイルにリファクタリングします。
- ジェネレータ コードを個別のファイルにリファクタリングします。
- guestfish コマンドを生成します。
- guestfish と guestmount オプションの処理が統合されました。
- プロトコルの変更:
エラー メッセージのサイズが 64K に増加
エラー番号をライブラリに送信
- バイナリディストリビューションを作成するための「make bindist」を追加。
- valgrind の下でのよりクリーンな動作。
- guestfish コマンド ライン オプションと libvirt のさらなるテスト
統合。
- Perl インスペクション コードは、どのツールでも使用されなくなりました。
バグ 固定の
- 646822 libguestfs トレース モードで長いバイナリ文字列を出力しない
- 646821 virt-df には --uuid オプションが必要です
- 646432 /dev/マッパー パスは guestfs_mountpoints から返されるべきではありません
- 643624 libguestfs ツールのドキュメントに、シェルからゲスト ドメイン名を引用する方法を記載する必要があります。
- 642934 ディスクを libguestfs に追加するときにディスク形式を指定する方法がない
- 642933 すべての可能な場所で guestfs_list_filesystems を使用する必要があります。
- 642932 guestmount オプションは、guestfish オプションと一致する必要があります
- 642930 virt-inspector (Sys::Guestfs::Lib) は C インスペクション API を使用する必要があります
- 642929 C インスペクション コードは無視する必要があります / dev / fd* で /etc/fstab
- 642826 virt-resize は、ユーザーに通知せずに他の画像形式を raw に変換します。指示ではこれが説明されていません。
- 640961 virt-resize 後に古い Linux ゲストに grub-install が必要になる可能性があることを文書化
- 639986 libvirt ドメイン名で virt-df --csv が "" を適切に引用しない
- 639405 キャッシュされたアプライアンスの作成が中断されると、libguestfs が使用できなくなる
- 638901 アプライアンスのファイル名にリポジトリ名を含めないでください
- 638899 /dev/マッパー パスは C インスペクション API から返されるべきではありません
- 636918 スペイン語翻訳の更新
- 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: プロセス /usr/bin/guestfish がシグナル 11 (SIGSEGV) によって強制終了されました
- 635969 glob echo mkfs ext2 /dev/vd[bt]1 がガベージを出力する
- 634246 パーティション、LV、またはファイルシステムに対して実行すると、guestfs_part_get_parttype が「ループ」を返す
- 633766 virt-resize --shrink が失敗する
- 633357 スペイン語翻訳の更新
- 633096 virt-resize がブロックデバイスサイズを正しく計算せず、qcow2 ターゲットでは機能しない
- 629593 オランダ語の翻訳を追加
- 627556 libguestfs のスペイン語翻訳の更新
- 626843 スペイン語翻訳の更新
- 619793 [RFE] 特定のブロックデバイスが論理ボリュームかどうかを判断する方法が必要
- 618556 virt-rescue が終了時にゼロ値を返さない
- 617200 マウント操作が失敗し、読み取り専用モードで実行されている一部のイメージでハングする
- 610880 libguestfs は tmpdir に幅広い読み取り権限を設定する必要があるため、umask 077 で実行すると一部の状況で機能します
- 599503 mkmountpoint と umount-all を混在させることはできないというドキュメント
- 571714 ディスク イメージで virt-df を実行するとラベルが付け直されるため、qemu は書き込みできなくなります。
- 502533 libguestfs のポーランド語翻訳を更新
RELEASE 注意事項 FOR リブゲストFS 1.4
これらのリリース ノートは、以前の安定版/開発版ブランチの分割との違いのみをカバーしています
(1.2.0)。 詳細な変更ログについては、git リポジトリまたは ChangeLog ファイルを参照してください。
tarball で配布されます。
New 機能を使用
- guestfish では、準備されたディスク イメージを選択できます。例:
guestfish -N fs:ext4
- guestmount (FUSE) モジュールに書き込みサポートを追加。
- virt-resize は、パーティションおよび論理のコンテンツのサイズを変更できるようになりました
ゲストのボリュームを削減し、ゲストの縮小に対するサポートを改善しました。
- guestfish の Bash タブ補完スクリプト。
- virt-rescue に ZFS サポートを追加します。
- コンテンツを含むファイルシステムを作成するための新しいツール「virt-make-fs」。
- 任意のゲストフィッシュ番号パラメーターに接尾辞を許可します。 「1M」。
- guestfish 'man' コマンドでマニュアル ページが開きます。
- guestfish は、ファイルをアップロードするための「heredoc」構文をサポートしています。
アップロード -<<_end_ /foo
コンテンツ
_終わり_
- 一部の guestfish コマンドは、出力を XNUMX 進数または XNUMX 進数で出力するようになりました
必要に応じて (RHBZ#583242)。
- guestfish コマンド ラインでダッシュ プレフィックスを許可します。 これは、
578407 番目のコマンドからのエラー: (RHBZ#XNUMX)
ゲストフィッシュ -- cmd1 : -cmd2 : cmd3
- guestfish -h / help コマンドは、存在しない場合にエラーを返すようになりました
コマンド (RHBZ#597145)。
- オプションのグループを一覧表示する、guestfish の新しい「supported」コマンド
デーモン/構成でサポートされているコマンド。
- virt-inspector と guestfish -i がファイル名に対して機能するようになりました
スペースが含まれています (RHBZ#507810)。
- 回避するために、リンクローカル アドレスを使用するようにプロトコルを変更します。
ホストが使用している可能性のあるアドレスと競合する
(RHBZ#588763)。
- libguestfs がファイルシステムに正しい時刻とタイムゾーンを設定するようになりました
変更。
- virt-df でドメインをアルファベット順に並べ替えます。
- ブロックサイズをマッピングすることにより、mkfs-b コマンドを FAT および NTFS で機能させる
パラメーターをクラスター サイズに追加します (RHBZ#599464)。
- Perl モジュールにバージョン番号を追加 (RHBZ#521674)。
- すべての libguestfs ツールでローカライズが機能するようになりました (RHBZ#559963)。
- ツールが filesystem-on-image VM をサポートするようになりました (RHBZ#590167)。
- virt-list-partitions には、ディスクの合計サイズを表示する「-t」オプションがあります。
- supermin アプライアンス (マシュー ブース) に追加の Augeas レンズを含めます。
- エラーを追加し、コールバックを閉じます。
- Perl API に明示的な close メソッドを追加します。
- RHEL 5 互換性のための複数の修正。
- Debian/Ubuntu 互換性のための複数の修正。
- ドキュメントを改善するための複数のリビジョン。
セキュリティ
- virt-inspector と virt-v2v の潜在的な DoS を修正します。
細工されたディスク イメージには、いずれかの代わりに char デバイスが含まれていました。
以下で読み取る構成ファイル の/ etc (RHBZ#582484)。
New API
- aug-clear - Augeas パスをクリアする
- available-all-groups - すべてのオプション グループのリストを返します
- base64-in - base64 でエンコードされたデータをファイルにアップロード
- base64-out - ファイルをダウンロードし、base64 としてエンコードします
- checksum-device - デバイスの内容のチェックサムを計算します
- checksums-out - ディレクトリ内の複数のファイルのチェックサムを計算します
- debug-upload - ファイルをアプライアンスにアップロードします
- fallocate64 - ゲスト ファイル システムにファイルを事前に割り当てる
- fill-pattern - バイトの繰り返しパターンでファイルを埋める
- get-umask - 現在の umask を取得します
- lvresize-free - LV を拡張して空き領域を埋める
- ntfsresize - NTFS ファイルシステムのサイズを変更します
- ntfsresize-size - NTFS ファイルシステムのサイズを変更します (サイズを指定)
- part-del - パーティションを削除します
- part-get-bootable - パーティションの起動可能フラグを取得します
- part-get-mbr-id - パーティションの MBR タイプ バイトを取得します
- part-set-mbr-id - パーティションの MBR タイプ バイトを設定します
- pvresize-size - 物理ボリュームのサイズ変更 (サイズ付き)
- pwrite - ファイルの一部に書き込みます
- resize2fs-size - ext2/3/4 ファイルシステムのサイズを変更します (サイズ付き)
- txz-in - 圧縮された tarball をディレクトリに展開 (RHBZ#580556)
- txz-out - ディレクトリを圧縮 tarball にパック (RHBZ#580556)
- vfs-label - ファイルシステムのラベルを取得
- vfs-uuid - ファイルシステムの UUID を取得します
- vgscan - LVM 物理ボリューム、ボリューム グループ、および論理ボリュームの再スキャン
- 書き込み - 新しいファイルを作成
- zero-device - デバイス全体にゼロを書き込みます
内部
- ジェネレーターを拡張して、オプション機能のテストをサポートします。
- 多くの呼び出しに対する入力パラメーターのチェックをより厳密に (RHBZ#501893 RHBZ#501894)
- プロトコルを拡張して、任意の 8 ビット データ バッファの送信をサポートします。
- リリースとともに「BUGS」ファイルを出荷します。 バグのまとめです
Red Hat Bugzilla データベース。
- リリース ノートを含む「RELEASE-NOTES」ファイルをリリースとともに出荷します。
- febootstrap 2.7 で、supermin アプライアンスのビルドを XNUMX か所に統合。
- 両端がキャンセルを送信するケースを処理するようにプロトコル コードを修正します。
同時にメッセージ。
バグ 固定の
- 612178 guestfish: -m オプションを --listen オプションと組み合わせて使用すると、アプライアンスが停止する
- 610880 libguestfs は tmpdir に幅広い読み取り権限を設定する必要があるため、umask 077 で実行すると一部の状況で機能します
- 604691 OCaml バインディングはスレッドセーフではない
- 603870 スペイン語翻訳の更新
- 602592 [RFE] perl バインディングで guestfs_close を公開
- 600977 virt-df -h --csv "引数 .. printf の数値ではありません"
- 599464 mkfs-b は vfat/ntfs をサポートしていません
- 598807 add_cdrom が RHEL 6 で機能しない
- 598309 part-list およびその他のいくつかのコマンドが RHEL5 の libguestfs で失敗する
- 597145 guestfish の「help」コマンドは、不明なコマンドで終了ステータスのエラーを示す必要があります
- 597135 guestfish write-file コマンドが「サイズ」パラメータをチェックしない
- 597118 ラベルの長さについて、mke2journal-L のヘルプで警告を表示する必要があります。
- 597112 get-e2uuid は、「tune2fs -l」の代わりに blkid を使用してファイルシステム UUID を取得する必要があります
- 596776 virt-inspector が RHEL 3 ゲストで modprobe エイリアスを検出しない
- 596763 スペイン語翻訳の更新
- 593292 スペイン語翻訳の更新
- 592883 guestmount コマンドでマウントされたイメージ上のファイルを編集できない
- 592360 スペイン語翻訳の更新
- 591250 virt-tar は、アーカイブが圧縮されているか、正しい形式ではない場合、「tar_in: tar サブコマンドがディレクトリで失敗しました」と出力します。
- 591155 ディスクイメージが書き込み可能でない場合、virt-tar が「tar_in: ディレクトリで tar サブコマンドが失敗しました」と出力する
- 591142 virt-inspector は、認識されないディスク イメージに対してエラーを表示する必要があります
- 590167 virt-inspector およびその他の virt ツールは、filesystem-on-image VM を処理できる必要があります。
- 589039 大きなファイルを読み取ると、guestfish read-file コマンドによってデーモンがハングアップする
- 588851 guestfs_launch() は -1 を返すが、guestfs_last_error() == NULL
- 588763 libguestfs は、アプライアンス ネットワークに非パブリック アドレスまたはリンクローカル アドレスを使用する必要があります
- 588733 スペイン語翻訳の更新
- 588651 guestfish 'strings-e' コマンドで適切なエラー メッセージまたはヒントが表示されない
- 587484 lvresize でボリュームのサイズを縮小できない
- 585961 スペイン語翻訳の更新
- 585223 ntfsresize はファイルシステムの縮小をサポートする必要があります
- 585222 pvresize は PV の縮小をサポートする必要があります
- 585221 resize2fs はファイルシステムの縮小をサポートする必要があります
- 584038 スペイン語翻訳の更新
- 583554 [FEAT] モードを明示的に設定するには、mknod-mode コマンドが必要です。
- 583242 [RFE] guestfish は出力を適切な基数 (モードの場合は XNUMX 進数など) で出力する必要があります。
- 582993 大文字と小文字を区別しないパスをタブで完了すると、guestfish が単語を食べる
- 582953 lvcreate コマンドに関する誤解を招くヘルプ情報
- 582948 mknod コマンドがブロック、キャラクター、または FIFO デバイスを作成しない
- 582929 mknod が無効なモードをチェックしない
- 582901 guestfish の chmod/umask コマンドが無効なモード値をチェックしない
- 582899 guestfish:sparse がコマンドのオートコンプリート リストにない
- 582891 [機能のリクエスト] guestfish umask コマンドの動作と戻り値を変更する必要がある
- 582548 [mknod] モードが明示的に設定されている場合、umask は有効にならない
- 582484 一部の guestfish サブコマンドが特殊ファイルを適切に処理できない
- 582252 スペイン語翻訳の更新
- 581501 スペイン語翻訳の更新
- 580650 virt-inspector が「[...] の /usr/lib/perl5/Sys/Guestfs/Lib.pm に grub デフォルトが指定されていません」と警告する
- libguestfs が .txz tarball をサポートするための 580556 リクエスト
- 580246 使用可能な容量を超えてアップロードすると、tar-in コマンドがハングする
- 580016 guestfish の aug-ls が augeas 変数を引数として取りません
- 579664 イメージの割り当てに十分なスペースがない場合、guestfish はエラーを報告しません。
- 579608 ゲストフィッシュの複数のコマンドがシンボル リンクに対して機能しない
- 579155 qemu が起動しない場合 (null vmchannel モードで) libguestfs がハングする
- 578407 サブコマンドのプレフィックス '-' は、リモート コントロール モードの guestfish によって処理されません。
- 576879 ディスクをマウントする前に「アップロード」すると、libguestfs プロトコルの同期が失われる
- 559963 libguestfs Perl プログラムはロケールを設定しますが、ローカリゼーションは機能しません
- 521674 Perl モジュールはバージョン管理されていませんが、バージョン番号を保持する必要があります
- 516096 test_swapon_label_0 での競合状態: /sbin/blockdev: BLKRRPART: デバイスまたはリソースがビジーです
- 507810 guestfish -i / virt-inspector がファイル名のスペースを処理できない
- 502533 libguestfs のポーランド語翻訳を更新
- 501894 一部の文字列パラメータは OptString にする必要があります
- 501893 文字列パラメータで != NULL をチェックする必要がある
- 501889 write-file は ASCII NUL を含む文字列をサポートしていません
- 484986 virtio ディスクで grub-install が失敗する
RELEASE 注意事項 FOR 歴史的 バージョン OF リブゲストFS
2010 年以前は、libguestfs には公式のリリース ノートや正式なバージョンがありませんでした。
ナンバリングシステム。 ただし、これらは歴史的に重要なバージョンへのリンクです。
2009-11-10(1.0.78)
https://www.redhat.com/archives/libguestfs/2009-November/msg00095.html
2009-09-13(1.0.67)
https://www.redhat.com/archives/libguestfs/2009-August/msg00281.html
2009-07-23(1.0.64)
https://www.redhat.com/archives/libguestfs/2009-July/msg00059.html
2009-07-14(1.0.59)
https://www.redhat.com/archives/libguestfs/2009-July/msg00023.html
2009-04-01 (最初の発表)
http://rwmj.wordpress.com/2009/04/01/libguestfs-access-and-modify-virtual-machine-disk-images/
onworks.net サービスを使用してオンラインで guestfs-release-notes を使用する