1
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?

【備忘録】Ubuntuでホームディレクトリを/home以外の場所に置くときは、「ln -s hoge/home /home」とかしてはいけない

Posted at

前提

  • Ubuntu Serverを入れてサーバー運用していたマシンを、仕事部屋用作業マシンにしようと思い、再インストールも面倒だったので、sudo apt install ubuntu-desktopしてデスクトップ版にした。
  • 元サーバー運用用なのでディスクは/varを大きめに切って、/var/homeをホームディレクトリの親にしていた
  • ルートディレクトリにはln -s /var/home /homeでリンクを作っていた

2000年頃のLinuxだったらこんな感じで上手くいってたなー、と思いながら何も考えずに上記のセットアップをして運用していたものの、デスクトップ版にアップデートしたら問題発生。

  • ブラウザがインストールされていないので、sudo apt install firefoxしたらエラーが発生。
$ sudo snap install firefox
[sudo] password for User:
cannot create mount point /tmp/snap.rootfs_00owC7//home: Read-only file system

調べてみると、/home以外にホームディレクトリがある場合、snapがエラーを吐くとのこと。対策として以下のコマンドを実行。

sudo apt update
sudo apt upgrade snapd
sudo snap set system homedirs=/var/home
sudo systemctl restart snapd

ところが動かないまま。色々なパターンで試したが、理由は謎のまま動かない。

回答

ルートディレクトリ直下のシンボリックリンクは削除し、ホームディレクトリの実体をマウントする。sudo snap unset system homedirsも忘れない。

sudo mkdir /home
sudo mount --bind /var/home /home

起動時にマウントされるように、/etc/fstabに以下を追加。

/var/home       /home   none    bind    0       0

/etc/passwd等のホームディレクトリ位置は/home/$HOMEでOK。

結果

$ sudo snap install firefox
[sudo] password for User:
firefox 130.0.1-1 from Mozilla✓ installed

動いた!

結論

今どきシンボリックリンクでホームディレクトリを移動してはいけない。

1
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
1
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?