誤ってbinutilsを削除し、バイナリパッケージとしてインストールしようとしました。
ただし、emerge
は常に、その名前のパッケージがないことを訴えています。
here からパッケージをダウンロードし、それを/usr/portage/packages
に(後でdistfilesにも)コピーしました。
その後、chown portage:portage
を実行し、パッケージをインストールしようとしました。
Sudo emerge --ask --usepkgonly binutils-2.24-r3.tbz2
PKGDIR
を調整するように指示されますが、すでに/usr/portage/packages
に設定されています。
その後、私はこれを試しました:
Sudo emerge --ask --usepkgonly =binutils-2.24-r3
それは私に言います:
emerge: there are no binary packages to satisfy "=binutils-2.24-r3".
私の間違いがどこにあるのかわかりません。正しく記述され、適切な権限があり、適切な場所にあります...(make.conf
の場所はすべてデフォルトです)。
このStack Overflowの質問 に関する最後の投稿も役に立ちませんでした。
解決策のように見えるものを見つけました: 致命的な間違い:アンインストールされたsys-devel/binutils-emergeはもう機能しません (以前は見ていませんでした);ただし、バイナリパッケージを使用して問題を解決しようとはしないため、この質問には答えません。
おそらく、binutilsからいくつかのユーティリティが欠落しているため、Portageはいくつかの内部魔法に失敗します。 tar -xjf /usr/portage/packages/binutils*bz2 -C /
を使用して、ルートパーティションのバイナリパッケージを解凍できます。次に、binutilsの再出現を試みることができます。
また、ダウンロードしたbinpackageが本当にtbz2であると確信していますが、たとえばhtmlではありませんか?
パッケージファイルから、BUILD_TIMEからREPOまでのすべてのパッケージに関する情報を削除する必要があります。
次に、次のようなことを行うことができます:emerge --usepkg = media-gfx /graphite2-1.3.13そしてそれは動作します。
/ usr/portage/packagesにもカテゴリが必要なためです。バイナリパッケージは、パッケージ内のsys-develというサブディレクトリに配置する必要があります。