9.5. ソフトウェア管理
YUM 機能またはプラグインは、ログサービスが利用できない場合でもメッセージをログに記録することがあります。
ログサービスが利用できない場合は、特定の YUM 機能またはプラグインによってメッセージが標準出力または標準エラーに記録されることがあります。ログメッセージのレベルは、メッセージが記録される場所を示します。
- 情報メッセージは標準出力に記録されます。
- エラーおよびデバッグメッセージは標準エラーに記録されます。
その結果、YUM オプションをスクリプト化する場合は、標準出力または標準エラーに不要なログメッセージが出力され、スクリプトの機能に影響する可能性があります。
この問題を回避するには、yum -q
コマンドを使用して、標準出力と標準エラーからのログメッセージを抑制します。これにより、ログメッセージは抑制されますが、標準出力で期待されるコマンド結果は抑制されません。
Jira:RHELPLAN-50409[1]
cr_compress_file_with_stat()
がメモリーリークを引き起こす可能性がある
createrepo_c
C ライブラリーには API cr_compress_file_with_stat()
関数があります。この関数は、char **dst
を 2 番目のパラメーターとして宣言します。他のパラメーターによって、cr_compress_file_with_stat()
は、入力パラメーターとして dst
を使用するか、割り当てられた文字列を返すために使用します。dst
の内容をいつ解放するかユーザーに通知しないため、この予測できない動作いよりメモリーリークが発生する可能性があります。
この問題を回避するために、dst
パラメーターを入力としてのみ使用する新しい API cr_compress_file_with_stat_v2
関数が追加されました。これは char *dst
として宣言されます。これにより、メモリーリークが回避されます。
cr_compress_file_with_stat_v2
関数は一時的で、RHEL 8 のみに存在することに注意してください。後で、cr_compress_file_with_stat()
が代わりに修正されます。
Bugzilla:1973588[1]
スクリプトレットが失敗したときに成功したと報告された YUM トランザクション
RPM バージョン 4.6 以降、インストール後のスクリプトレットは、トランザクションに致命的な影響を与えることなく失敗することが許可されています。この動作は YUM まで伝播します。これにより、スクリプトレットが作成され、パッケージトランザクション全体が成功したと報告されているときに失敗することがあります。
現在利用できる回避策はありません。
これは、RPM と YUM の間で一貫性を保つことが期待される動作であることに注意してください。スクリプトレットの問題は、パッケージレベルで対処する必要があります。