「RPM 6.1.0」リリース ─ 特定環境下でインストール時間を最大26%短縮

PKCS#11トークンによるファイル署名、新しいマクロ修飾子をサポート

1:12

 RPM Projectは8月20日(現地時間)、パッケージ管理システム「RPM 6.1.0」をリリースした。

 「RPM」は、Fedora、Red Hat Enterprise Linux、openSUSEなど、多数のLinuxディストリビューションで利用されているパッケージ管理システム。RPMパッケージの作成、インストール、削除、検証、署名などを行うコマンドとライブラリを提供している。

 「RPM 6.1.0」は、新機能とバグ修正を含む安定版アップデート。RPM 6.0.2以降の変更として、パッケージインストール処理の高速化、キーストアのロック機構改善、Name Service Switch(NSS)によるユーザーおよびグループ検索の復元、新しいマクロ構文などが導入されている。

 「RPM 6.1.0」のハイライトは次の通り。
〇Linux 5.11以降とglibc 2.34以降の環境でファイルディスクリプタ処理を効率化
〇一部の条件でパッケージのインストール時間を約26%短縮
〇キーストアでトランザクションロックとは別のロックを使用
〇NSSによるユーザーおよびグループ検索をデフォルトで復元
〇リテラル展開とワンショット展開に対応するマクロ修飾子を追加
〇%defineに定義時展開用の-eオプションとグローバルコンテキスト用の-gオプションを追加
〇ビルドスクリプトの環境をrpmbuild.envへ出力
〇rpmuncompressでCARファイルをサポート
〇rpmbuildに%checkスクリプトレットを実行するkビルドステージを追加
〇rpmsignによるファイル署名でPKCS#11トークンをサポート
〇rpm-plugin-syslogのsystemd journal対応を改善
〇Clangでのコンパイルエラーと警告を修正
〇複数の新しいmanページを追加
〇Linuxカーネルに着想を得た新しいリリースモデルを採用
など。

 今回の性能改善では、RPMがスクリプトレットやファイルトリガーを実行する際のファイルディスクリプタ処理が変更された。従来は、開いているファイルディスクリプタを順番に調べ、fcntl()を使ってclose-on-execフラグを設定していた。「RPM 6.1.0」では、Linux 5.11以降とglibc 2.34以降の環境において、close_range()を利用して複数のファイルディスクリプタを一括処理する。プロジェクトによるテストでは、この変更によって一部の大規模なトランザクションで、インストール処理に要する時間が最大で約26%短縮されたという。対応していない環境では、従来の処理が引き続き利用される。

 「RPM 6.1.0」は、Webサイト上から入手できる。

(川原 龍人/びぎねっと)

[関連リンク]
リリースノート
RPM 6.1.0(GitHub)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored