ダウンロードした一部の.rpmをインストールしようとすると、次のメッセージが表示されます。
> sudo rpm -i something.rpm
error: open of something.rpm failed: Permission denied
rpmの選択は重要ではないようです。まず、.rpmをchmodded(777)しましたが、違いはありませんでした。私は何を見逃していますか?使用時にrpm -i -v
追加情報は公開されません。
システムはRHEL6 64ビットです。
答え1
rpm ファイルがホームディレクトリにあり、ホームディレクトリが NFS にある場合、ルートはそのファイルにアクセスできない可能性があります。これはやや珍しい現象です。通常、ルートはすべてのファイルにアクセスできます。ただし、一般的な設定では、ルートがNFSマウントディレクトリにアクセスするときに、rootnobody
ユーザーの代わりにそのユーザーの権限が使用されます。主な目的は、クライアントのルートがサーバーのルートと同じ方法でファイルを操作できないようにすることです。これは、「ルートはルート以外の誰にも権限を持つことができます」ではなく、「ルートは誰にも権限がありません」として実装されます。これは主に簡単です(他の理由がある可能性があります。一部のNFSサーバーは、すべてのシステムユーザーを保護するためにルートを除いてこのユーザーを適用します)。
これが問題の場合は、rpmファイルとそれを含むディレクトリへのルートアクセス権を付与する必要があります。これは、ユーザーがアクセスできるようにすることを意味しnobody
、これを行う唯一の方法は、誰もがファイルとディレクトリを読み取ることができるようにすることです。より正確には、最小権限は
chmod a+x .
chmod a+r something.rpm
または、rpmファイルをローカルディレクトリに移動します。
mv something.rpm /tmp
sudo rpm -i /tmp/something.rpm