22.3.3. その他の主な変更点


RHEL 9 と RHEL 10 の間で RPM に加えられた最も顕著な変更点を説明します。

ユーザー名とグループ名の解決が厳密にローカルになる

パッケージをインストールするときに、RPM は、Name Service Switch (NSS) を使用するのではなく、ローカルシステムの passwd(5)group(5) ファイルからそれぞれユーザーとグループに関する情報を取得するようになりました。

パッケージをビルドするときに、%defattr ディレクティブは、実際の所有権に関する情報をディスクから取得する代わりに、ユーザーおよびグループ属性のダッシュ (-) プレースホルダーを root として解釈するようになりました。同様に、spec ファイル、ソースアーカイブ、パッチファイルなどのソース RPM パッケージ内のファイルは、ディスク上の所有権に関係なく、常に root ユーザーとグループによって所有されるようになりました。

ビルドの成功後、ビルドツリー (%_builddir) がデフォルトで削除されるようになる
以前は、rpmbuild(8)-bb などのより一般的に使用されるモードではなく、--rebuild モードでのみビルドディレクトリーをクリーンアップしました。その結果、複数のパッケージがビルドされ、時間の経過とともに不要なファイルが蓄積されるようになりました。この機能拡張により、致命的ではないビルドの問題を調査するなど、ビルドツリーを常に保持したい場合は、--noclean オプションを使用できます。
%patch ディレクティブは、適用するパッチ番号を明示的に指定する必要がある

パッチ番号は次のいずれかの方法で指定できます。

  • -P オプションを使用すると、たとえば %patch -P1 -P2 のようにパッチ番号 1 と 2 を適用できます。
  • パッチ番号を位置引数として渡すと、たとえば、%patch 1 2 のようにパッチ番号 1 と 2 が適用されます。
重要

%patchN 構文 (N は適用するパッチ番号) は非推奨となりました。

注記

%patch ディレクティブで明示的なパッチ番号が指定されていない場合、ビルドはエラーで終了します。

注記

%patch ディレクティブを使用して個々のパッチを手動で適用するのではなく、可能な限り %autosetup マクロを使用することを推奨します。%autosetup を使用すると、パッチはパッチ番号で識別される順序で自動的に適用されます。その結果、spec ファイルの読み取りと保守が容易になります。詳細は、パッチ適用の自動化 を参照してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る