LoginSignup
0
0

More than 3 years have passed since last update.

overlayfs の mount

Last updated at Posted at 2019-12-20

Fedora 30 の Silverblue をデスクトップ環境として使ってみている。

rpm の導入については rpm-ostree を使えば良いが、
ostree の機能の為 /usr が read only になっている為にそれ以外で
/usr に書き込みを行ないたい時は困る。

ostree admin unlock ではその変更が失われてしまうので、
/usr に overlayfs を使ってみることにした。

  1. オーバーレイ用ファイルシステムを作成し、 /mnt/overlay-usr に mount する。
  2. /mnt/overlay-usr/UPPER と /mnt/overlay-usr/WORK を作る。
  3. /usr 上に mount する。
# mount -t overlay overlay -o lowerdir=/usr,upperdir=/mnt/overlay-usr/UPPER,workdir=/mnt/overlay-usr/WORK /usr
#
# mount |fgrep overlay
/dev/md122 on /var/mnt/overlay-usr type btrfs (rw,relatime,seclabel,space_cache,subvolid=5,subvol=/)
overlay on /usr type overlay (rw,relatime,seclabel,lowerdir=/usr,upperdir=/mnt/overlay-usr/UPPER,workdir=/mnt/overlay-usr/WORK)

取り敢えずこれで目的は達したように見える。

これを起動時に mount したいと思って /etc/mtab を参照して、/etc/fstab に下記のように書いてみた。

overlay /usr overlay rw,seclabel,relatime,lowerdir=/usr,upperdir=/mnt/overlay-usr/UPPER,workdir=/mnt/overlay-usr/WORK 1 3

所が、うまく mount されない。はて?

起動後手動で

# mount /usr

する分には問題無く mount されるのだが?

色々厄介なようなので、今回は /etc/init.d/ 下のスクリプトに、

#
/usr/bin/mount | /usr/bin/fgrep "overlay on /usr"
if (( $? != 0 )); then
    /usr/bin/mount /usr;
fi
#

と書き足して済ませることにしました。

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