2017年5月28日日曜日

【超絶悲報】binutilsを消しちゃった

Gentoo Linuxはローリング・リリースを採用しているので、ディストリビューションのバージョンという概念がありません。

UbuntuなどのようにLTSが出るたびに一斉に更新ではなく、定期的に更新していかないと簡単にパッケージが競合を起こして更新できなくなります。

そんな場合、問題のパッケージをemerge -Cで強引に削除したあと、あらためてインストールすれば大抵なおります。

でも、世の中そんなに甘くない。何も考えずにパッケージを削除してえらい目にあったおまぬけさんの物語です。
 (イントロなげーよ)


何が起きた?

そもそもタイトルで出落ち感がありますが、一応説明します。

パッケージを更新しよう!

なんか競合してるぞ!

binutilsとかいうやつが問題っぽい!

よしいつもどおり一旦削除だ

あらためてアップグレード!

ビルドできない(´;ω;`)

binutilsはパッケージのビルドに必須なので、消したらそれ以降のパッケージ更新が一切できなくなるという罠でした。

どうやって直す?

一応調べてみたらこんな記事が→ gentoo - Fatal mistake: Uninstalled sys-devel/binutils - emerge don't work anymore - Unix & Linux Stack Exchange

やっぱり世の中には同じおまぬけさんがいるんですね。
ここの回答によると、
  • GentooのダウンロードページからStage 3のtarballをダウンロード
  • tarball内以下のファイルをシステムにコピー
    • /etc/env.d/binutils/x86_64-pc-linux-gnu-2.25.1
    • /usr/lib64/binutils/x86_64-pc-linux-gnu/*
    • /usr/share/binutils-data/x86_64-pc-linux-gnu/*
    • /usr/x86_64-pc-linux-gnu/binutils-bin/*
  • env-update && source /etc/profile
ここまでやって、あらためてemerge binutilsでリビルドすればいいとのこと。

できた(●´ω`●)

おまぬけ仲間がいたらぜひお試しあれっ

0 件のコメント:

コメントを投稿