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?

More than 1 year has passed since last update.

NixOSでhostsファイルを書きかえられない問題

Posted at

発生した問題

coc.nvimをインストールし、:CocInstall coc-jsonコマンドを実行する段階で、IPv6で接続できないというエラーが発生しました。

hostコマンドでIPアドレスを調べ、/etc/hostsファイルを編集しようとしました。

sudo vim /etc/hosts

E166: リンクされたファイルに書込めません

ls -lコマンドで確認してみると、/etc/static/hostsファイルからのシンボリックリンクが張られていました。
こちらに書き込むのが正しいのかなと考え、/etc/static/hostsファイルを編集しようとしました。

sudo vim /etc/static/hosts

E166: リンクされたファイルに書込めません

こちらのファイルもls -lコマンドで確認してみると、/nix/store/<ハッシュ値>-hostsファイルからのシンボリックリンクが張られていました。

問題の原因

今までconfiguration.nixファイルなどを編集して設定を変更していたにも関わらず、今回の例ではhostsファイルを直接弄っていたことが問題の原因でした。

解決策

networking.extraHostsに対してホスト名とIPアドレスの対応を記述することでhostsファイルに追記されます。

configuration.nix
# 省略
{
 # ...
 networking.extraHosts = 
  ''
   IPアドレス ホスト名
  ''
 # ...
}

ビルド後、/etc/hostsファイルや/etc/static/hostsファイルを確認してみると、ファイルの末尾に今回追記した内容が追加されています。

# ...
IPアドレス ホスト名

まとめ

水曜日からNixOSを触り始めたということもあり、わたしの理解が浅いせいで発生したエラーだと思います。

戒めとしてこの記事は残しておきたいと思います。

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?