0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

alternativesコマンドでfailed to read linkが出たときの対処法

Last updated at Posted at 2024-04-02

はじめに

alternativesでjavaの設定をしているときにfailed to read linkが出力されて、コマンドの削除も上書きもできなくなったことがあったので、その対処法を書き残しておきます。

原因

alternatives --installでコマンドを登録するときに、存在しないディレクトリをリンク先に設定してしまった場合に発生するようです。

sh-4.4# alternatives --install /HOGE/java java /usr/lib/jvm/jre-17/bin/java 100
failed to link /HOGE/java -> /etc/alternatives/java: No such file or directory

一度存在しないリンク先で登録してしまうと、--removeオプションで削除しようとしても、--installオプションで正しいパスの設定で上書きしようとしても発生してしまいます。

# 削除
sh-4.4# alternatives --remove java /usr/lib/jvm/jre-17/bin/java
failed to read link /HOGE/java: No such file or directory

# 正しいパスで上書き
sh-4.4# alternatives --install /usr/bin/java java /usr/lib/jvm/jre-17/bin/java 100
failed to read link /HOGE/java: No such file or directory
the primary link for java must be /HOGE/java

対処法

/var/lib/alternatives(administrativeディレクトリ)に存在する、間違えて登録したリンク名のファイルを削除します。削除すると再びコマンドを登録できるようになります。

sh-4.4# ls
java  python  python3
sh-4.4# rm java
sh-4.4# alternatives --install /usr/bin/java java /usr/lib/jvm/jre-17/bin/java 100

おわりに

最初からパスを間違えないで設定していれば...と思いました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?