/var 内的目录位于根分区而不是 /var 分区上

/var 内的目录位于根分区而不是 /var 分区上

几周前,我安装了 Opensuse 13.2。我对磁盘进行了分区,以便根目录“/”、/var、/tmp 和 /home 位于不同的分区上。今天我注意到,虽然 /var 位于分区 sda8 上,但 /var 中的所有目录(例如 /var/tmp 和 /var/spool)与根目录一起位于 sda5 上!!

以下是df、 和 的转储/etc/fstab

wsl@wsl-home:~> df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda5       20978688  6735728  13435504  34% /
devtmpfs         8165516        4   8165512   1% /dev
tmpfs            8172456       92   8172364   1% /dev/shm
tmpfs            8172456     2272   8170184   1% /run
tmpfs            8172456        0   8172456   0% /sys/fs/cgroup
/dev/sda5       20978688  6735728  13435504  34% /.snapshots
/dev/sda5       20978688  6735728  13435504  34% /usr/local
/dev/sda5       20978688  6735728  13435504  34% /srv
/dev/sda5       20978688  6735728  13435504  34% /opt
/dev/sda5       20978688  6735728  13435504  34% /boot/grub2/x86_64-efi
/dev/sda5       20978688  6735728  13435504  34% /boot/grub2/i386-pc
/dev/sda1          98304    29763     68541  31% /boot/efi
/dev/sda7       20510716  6516980  12928780  34% /home
/dev/sda9        8123832    19528   7668592   1% /tmp
/dev/sda8        8122808   256472   7430676   4% /var
/dev/sda5       20978688  6735728  13435504  34% /var/tmp
/dev/sda5       20978688  6735728  13435504  34% /var/spool
/dev/sda10     688740348 30521160 658219188   5% /home/wsl/data
/dev/sda5       20978688  6735728  13435504  34% /var/opt
/dev/sda5       20978688  6735728  13435504  34% /var/log
/dev/sda5       20978688  6735728  13435504  34% /var/lib/pgsql
/dev/sda5       20978688  6735728  13435504  34% /var/lib/named
/dev/sda5       20978688  6735728  13435504  34% /var/crash
/dev/sda5       20978688  6735728  13435504  34% /var/lib/mailman

wsl@wsl-home:~> cat /etc/fstab 
UUID=4d3e8ed7-ebcf-4b7f-b5d0-dc6c34d8cfaa swap swap defaults 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 / btrfs defaults 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /boot/grub2/i386-pc btrfs subvol=boot/grub2 /i386-pc 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /boot/grub2/x86_64-efi btrfs subvol=boot/grub2 /x86_64-efi 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /opt btrfs subvol=opt 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /srv btrfs subvol=srv 0 0
UUID=55fc7bae-856b-42f1-87de-f8e0f96017c6 /tmp ext4 acl,user_xattr 1 2
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /usr/local btrfs subvol=usr/local 0 0
UUID=c40639b5-7e55-4194-a1c4-7ec7a88046bf /var ext4 acl,user_xattr 1 2
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /var/crash btrfs subvol=var/crash 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /var/lib/mailman btrfs subvol=var/lib/mailman 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /var/lib/named btrfs subvol=var/lib/named 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /var/lib/pgsql btrfs subvol=var/lib/pgsql 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /var/log btrfs subvol=var/log 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /var/opt btrfs subvol=var/opt 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /var/spool btrfs subvol=var/spool 0 0
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /var/tmp btrfs subvol=var/tmp 0 0
UUID=525E-0482 /boot/efi vfat umask=0002,utf8=true 0 0
UUID=9efb5733-8a11-4cf2-83c9-3a72548f3748 /home ext4 acl,user_xattr 1 2
UUID=75b8af56-c4bd-4067-b8d8-091cd244aed0 /.snapshots btrfs subvol=.snapshots 0 0
UUID=27E244980138EAC9 /home/wsl/data ntfs-3g uid=1000,gid=100,umask=0026 0 0

现在我需要将 /var 中的所有这些目录移动到 sda8。另外我想知道是什么原因造成的?!我肯定没有在安装 Opensuse 时创建所有这些挂载点!

谢谢。

答案1

看起来 openSUSE 安装程序将 /var 下的一堆目录放在了 btrfs 子卷上。我不知道如何在安装程序中禁用此行为。但是,对于此已安装的系统,如果您需要删除子卷,您可以启动到救援模式,挂载 /var 并挂载子卷,然后对于挂载在挂载点 i 的每个子卷,mkdir i.tmp,将所有内容从 i/ 移动到 i.tmp/,umount i,rm i,mv i.tmp 到 i,最后在 fstab 中注释掉 i 的行。

请注意,您可能试图通过将 /var 树隔离到单独的文件系统来完成这项任务,而这项任务显然已经通过使用 btrfs 子卷为您完成了。

如果您想了解有关 btrfs 的更多信息,请观看有关在 btrfs 上安装 Arch Linux 的视频教程:

https://www.youtube.com/watch?v=fBIqG2bEjrE

相关内容