
私の状況はかなり特殊で、約 2 時間のグーグル検索でも解決できませんでした。
私は Cmake を使用してプロジェクトを構築しており、最終的には mock を使用してターゲット アーキテクチャの rpm を生成します。現在、chroot 環境を適切に動作するように設定しています。これはすべて CentOS 5 インストールで実行しています。mock.cfg ファイルをセットアップし、以前の問題のトラブルシューティングを行った後、次を実行します。
mock --init -r [my-mock-config]
以下が得られます:
DEBUG: Executing command: ['perl', '-p', '-i', '-e', 's/^(mockbuild:)!!/$1/;', '/etc/passwd']
DEBUG: Child returncode was: 13
ログは、単にエラーを繰り返すことよりも役に立ちません。
/etc/passwd を編集する perl スクリプトが少し奇妙だと思うという事実はさておき (実際にそれが行われている場合)、壊れたパイプの戻りコードは権限の問題を示していますか? Fedora (および他の) の推奨に従って、これらを非ルート ユーザーとしてモック/ビルドを実行しています。
私は決してこの分野の専門家ではありませんが、/etc/passwd の権限を変更することに非常に躊躇しています。これまでに同じ問題に遭遇した人はいますか? うまくいけば、ここが質問する適切な場所になります。