duplicate
あくまで一般論を書くことにしよう。UNIX 系のソフトを使っていると、あるいはこういう目にあうことがあるかもしれない、そんな話である。
あるソフト(以下 A とする)を、それまでは distro が供給するパッケージでインストールしていた、とする。で、distro におけるそのソフトの更新が滞っていて、ソースから自分でビルドしてインストールすることにしよう、と思い、ソースを持ってきて make、そしてインストールしたとする(こちらを以下 A' とする)。これをたとえば /usr/local/A-dash 以下にインストールして、PATH を /usr/local/A-dash/bin に通して、使い始めたとしよう。
A' がなかなかいい感じなので、A をアンインストールしようと思い、distro のパッケージ管理ソフトでアンインストールを試みる。しかし、どういうわけか妙なエラーが出て、アンインンストールがうまくいかない。どうして? ……はいはい、まああり得る話ですね。
A のアンインストールのプロセスで、システムが A やその周辺のソフトを起動するのはよくある話である。しかし、A' の方が優先されるようにユーザーの PATH は設定されているはずだ。アンインストールのプロセスを sudo で起動すると、設定次第ではユーザーの PATH がそのまま sudo で走るプロセスに引き継がれる。だから、システムは A を起動しているつもりで、実は A' を起動してしまっている。だからアンインストールがうまくいかないのだろう。
こういうときに、A' をインストールするのは馬鹿のやることである。何がどうなっているか何も自分で考えていないから、そんなことをするハメになる。マトモなオツムを持っているならば、まず PATH を変更して、A' が起動しない状況にして、A をアンインストールし、しかる後に A' に再び PATH を通しておけばいい。それだけの話である。
しかし、どうも、この世には僕の知らない世界があって、そこでは僕の知らないロジックに依拠した、僕に理解できない経験則が通用しているらしい。まあ、そういう人と関わりを持たないことこそが人生を有用に保つ術なのであって、こんな手合いと関わってしまった己を、まずは恥じるべきなのかもしれないけれど。