Preface
Goal: Thorough /etc/fstab/ example
Table of Content
Overview
There are three parts of mount point on fstab ,
that we are going to talk about.
Initial: clean install: root and swap
Common: shared partition, and windows data partititon
Custom: access to other OS
OpenSUSE: access to: Fedora, Debian, KaOSx.
Fedora: access to: openSUSE, Debian, KaOSx.
Debian: access to: openSUSE, Fedora, KaOSx.
KaOSx: access to: openSUSE, Fedora, Debian.
Device Name and UUID
There are two approach of setting mount point
List Block Device
We are going to use lsblk ,
to have a listing of our beloved block device .
% lsblk
NAME MAJ :MIN RM SIZE RO TYPE MOUNTPOINT
sda 8 :0 0 465 .8 G 0 disk
├─sda1 8 :1 0 131 .9 G 0 part /media /System
├─sda2 8 :2 0 1 K 0 part
├─sda5 8 :5 0 57 .7 G 0 part /media /Works
├─sda6 8 :6 0 66 .4 G 0 part /media /Docs
├─sda7 8 :7 0 999 M 0 part /media /Boot
├─sda8 8 :8 0 9 .9 G 0 part /media /Fun
├─sda9 8 :9 0 49 .1 G 0 part /media /openSUSE
├─sda10 8 :10 0 49 .1 G 0 part /media /KaOSx
├─sda11 8 :11 0 49 .1 G 0 part /
├─sda12 8 :12 0 49 .1 G 0 part /media /Debian
└─sda13 8 :13 0 2 .5 G 0 part [SWAP ]
Dotfiles Document
Config is available at:
1: Using Device Path
Since openSUSE with BTRFS is complex,
I’m going to start with Fedora.
Before we use UUID, I start with device name.
It is easier to read /dev/sda9
than read c114d95e-bc0a-4b41-a2db-abd21aa9850f .
Manual Page
This is where to get help.
$ man fstab
Initial
Depend on your installation,
your minimum fstab contain only this two entry.
# Fedora
/dev /sda11 / ext4 defaults 1 1
/dev /sda13 none swap swap 0 0
Common
Add shared Partition.
And this Windows is common to all linux.
### Common
/dev /sda1 /media /System ntfs -3 g defaults ,noauto ,locale =en_US .UTF -8 0 0
/dev /sda6 /media /Docs ntfs -3 g defaults ,locale =en_US .UTF -8 0 0
/dev /sda5 /media /Works ext4 defaults ,users ,exec 0 2
Custom Access
How about the rest.
### Other Distribution
/dev /sda10 /media /KaOSx xfs defaults ,noauto ,users 0 0
/dev /sda12 /media /Debian ext4 defaults ,noauto ,users 0 0
### OpenSUSE
/dev /sda9 /media /openSUSE btrfs defaults ,noauto ,users 0 0
/dev /sda7 /media /Boot ext4 defaults ,noauto ,user ,errors =remount -ro 0 0
/dev /sda8 /media /Fun xfs defaults ,noauto ,users 0 0
And the result of lsblk -o is:
% lsblk -o NAME ,FSTYPE ,LABEL ,MOUNTPOINT
NAME FSTYPE LABEL MOUNTPOINT
sda
├─sda1 ntfs System /media /System
├─sda2
├─sda5 ext4 Works /media /Works
├─sda6 ntfs Docs /media /Docs
├─sda7 ext4 boot /media /Boot
├─sda8 xfs Fun /media /Fun
├─sda9 btrfs /media /openSUSE
├─sda10 xfs KaOSx /media /KaOSx
├─sda11 ext4 Fedora /
├─sda12 ext4 Debian /media /Debian
└─sda13 swap [SWAP ]
Complete
And finally this is all.
# Fedora
# /etc/fstab
/dev /sda11 / ext4 defaults 1 1
/dev /sda13 none swap swap 0 0
### Common
/dev /sda1 /media /System ntfs -3 g defaults ,noauto ,locale =en_US .UTF -8 0 0
/dev /sda6 /media /Docs ntfs -3 g defaults ,locale =en_US .UTF -8 0 0
/dev /sda5 /media /Works ext4 defaults ,users ,exec 0 2
### Other Distribution
/dev /sda10 /media /KaOSx xfs defaults ,noauto ,users 0 0
/dev /sda12 /media /Debian ext4 defaults ,noauto ,users 0 0
### OpenSUSE
/dev /sda9 /media /openSUSE btrfs defaults ,noauto ,users 0 0
/dev /sda7 /media /Boot ext4 defaults ,noauto ,user ,errors =remount -ro 0 0
/dev /sda8 /media /Fun xfs defaults ,noauto ,users 0 0
Additional entry
However, there are entry on the fourth field, like this one:
defaults ,noauto ,users
You can read what it mean in mount manual page.
$ man 8 mount
Shared partition
I have my shared partition at /media/Works
Except for working partition, I want to make my script executable.
defaults ,users ,exec
My working partition is going to be automatically mounted, at boot time.
Because I put my samba (network neighbourhood) directory over there.
2: Using UUID
Now we are going to convert each device name such as /dev/sda9 ,
to UUID such as c114d95e-bc0a-4b41-a2db-abd21aa9850f .
First, consider what the map in your PC.
% tree /dev /disk /by -uuid
/dev /disk /by -uuid
├── 0095473 d -ae63 -4722 -8350 -f5716e5df333 -> ../../sda8
├── 01 CF01333AD2FF20 -> ../../sda6
├── 23342 d48 -c3be -402 c -b049 -b3e9ddeafbc0 -> ../../sda7
├── 4190 d7a9 -fb03 -4 d19 -864 f -7 d04f89c3be0 -> ../../sda12
├── 442456 A824569CAC -> ../../sda1
├── 50 f93bc6 -711 d -4 f70 -84 cf -09748 e653543 -> ../../sda10
├── 954 a9b1e -c8c0 -4 f38 -8877 -fa891c79c9ae -> ../../sda5
├── 9 c76fb33 -fa7a -46 af -b2bb -f82d385b81b6 -> ../../sda11
├── b623e30b -c7a5 -4 f99 -a250 -45372 da4c5b4 -> ../../sda13
└── c114d95e -bc0a -4 b41 -a2db -abd21aa9850f -> ../../sda9
0 directories , 10 files
Fedora
Still, I’m going to start with Fedora.
Clean Install without additional mount point.
Depend on your installation,
your minimum fstab contain only this two entries.
UUID =9 c76fb33 -fa7a -46 af -b2bb -f82d385b81b6 / ext4 defaults 1 1
UUID =b623e30b -c7a5 -4 f99 -a250 -45372 da4c5b4 none swap swap 0 0
In a complete fashion, this would be:
# Fedora
#
# /etc/fstab
# Created by anaconda on Fri Jul 21 22:03:59 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
# / was on /dev/sda11 during installation
UUID =9 c76fb33 -fa7a -46 af -b2bb -f82d385b81b6 / ext4 defaults 1 1
# swap was on /dev/sda13 during installation
UUID =b623e30b -c7a5 -4 f99 -a250 -45372 da4c5b4 none swap swap 0 0
mtab
Consider cross check the result with /etc/mtab .
Note that normally swap would not be shown.
% cat /etc /mtab | grep sda | column -t
/dev /sda11 / ext4 rw ,relatime ,data =ordered 0 0
Debian
In a same way, consider have a look at ext4 in Debian.
# / was on /dev/sda12 during installation
UUID =4190 d7a9 -fb03 -4 d19 -864 f -7 d04f89c3be0 / ext4 errors =remount -ro 0 1
# swap was on /dev/sda13 during installation
UUID =b623e30b -c7a5 -4 f99 -a250 -45372 da4c5b4 none swap sw 0 0
/dev /sr0 /media /cdrom0 udf ,iso9660 user ,noauto 0 0
KaOSx
And, also have a look at XFS in KaOSx.
# / was on /dev/sda10 during installation
UUID =50 f93bc6 -711 d -4 f70 -84 cf -09748 e653543 / xfs defaults ,noatime 0 1
# swap was on /dev/sda13 during installation
UUID =b623e30b -c7a5 -4 f99 -a250 -45372 da4c5b4 swap swap defaults ,noatime 0 0
It is pretty much the same with XFS.
openSUSE
But very different with BTRFS in openSUSE.
# / was on /dev/sda9 during installation
UUID =23342 d48 -c3be -402 c -b049 -b3e9ddeafbc0 /boot ext4 errors =remount -ro 0 1
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f / btrfs defaults 0 0
UUID =0095473 d -ae63 -4722 -8350 -f5716e5df333 /home xfs defaults 1 2
UUID =b623e30b -c7a5 -4 f99 -a250 -45372 da4c5b4 swap swap defaults 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /boot /grub2 /i386 -pc btrfs subvol =@/boot /grub2 /i386 -pc 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /boot /grub2 /x86_64 -efi btrfs subvol =@/boot /grub2 /x86_64 -efi 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /opt btrfs subvol =@/opt 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /srv btrfs subvol =@/srv 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /tmp btrfs subvol =@/tmp 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /usr /local btrfs subvol =@/usr /local 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /cache btrfs subvol =@/var /cache 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /crash btrfs subvol =@/var /crash 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /lib /libvirt /images btrfs subvol =@/var /lib /libvirt /images 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /lib /machines btrfs subvol =@/var /lib /machines 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /lib /mailman btrfs subvol =@/var /lib /mailman 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /lib /mariadb btrfs subvol =@/var /lib /mariadb 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /lib /mysql btrfs subvol =@/var /lib /mysql 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /lib /named btrfs subvol =@/var /lib /named 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /lib /pgsql btrfs subvol =@/var /lib /pgsql 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /log btrfs subvol =@/var /log 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /opt btrfs subvol =@/var /opt 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /spool btrfs subvol =@/var /spool 0 0
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /var /tmp btrfs subvol =@/var /tmp 0 0
3: Common Mount Point
No matter what your distribution,
You can just add this mount point to your fstab .
#Entry for /dev/sda1 (windows system):
UUID =442456 A824569CAC /media /System ntfs -3 g defaults ,noauto ,locale =en_US .UTF -8 0 0
#Entry for /dev/sda6 (windows data):
UUID =01 CF01333AD2FF20 /media /Docs ntfs -3 g defaults ,locale =en_US .UTF -8 0 0
#Entry for /dev/sda5 (shared partition) :
UUID =954 a9b1e -c8c0 -4 f38 -8877 -fa891c79c9ae /media /Works ext4 defaults ,users ,exec 0 2
I mean for every fstab in my system (Fedora, openSUSE, Debian, KaOSx).
mtab
Consider cross check the result with /etc/mtab .
4: Custom Mount Point
Now mount point to access other distribution.
Fedora
Still, start with Fedora.
Access: openSUSE, Debian, KaOSx.
#Entry for /dev/sda10 :
#/dev/sda10 /media/KaOSx xfs defaults,noauto,users 0 0
UUID =50 f93bc6 -711 d -4 f70 -84 cf -09748 e653543 /media /KaOSx xfs defaults ,noauto ,users 0 0
#Entry for /dev/sda12 :
UUID =4190 d7a9 -fb03 -4 d19 -864 f -7 d04f89c3be0 /media /Debian ext4 defaults ,noauto ,users 0 0
#Entry for /dev/sda9 (openSUSE root):
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /media /openSUSE btrfs defaults ,noauto ,users 0 0
#Entry for /dev/sda7 (openSUSE boot):
UUID =23342 d48 -c3be -402 c -b049 -b3e9ddeafbc0 /media /Boot ext4 defaults ,noauto ,user ,errors =remount -ro 0 0
#Entry for /dev/sda8 (openSUSE home):
UUID =0095473 d -ae63 -4722 -8350 -f5716e5df333 /media /Fun xfs defaults ,noauto ,users 0 0
Have a look at the /etc/fstab
config for Fedora:
mtab
Again, consider cross check the result with /etc/mtab .
% cat /etc /mtab | grep sda | column -t
/dev /sda11 / ext4 rw ,relatime ,data =ordered 0 0
/dev /sda5 /media /Works ext4 rw ,nosuid ,nodev ,relatime ,data =ordered 0 0
/dev /sda1 /media /System fuseblk rw ,relatime ,user_id =0 ,group_id =0 ,allow_other ,blksize =4096 0 0
/dev /sda6 /media /Docs fuseblk rw ,relatime ,user_id =0 ,group_id =0 ,allow_other ,blksize =4096 0 0
/dev /sda12 /media /Debian ext4 rw ,nosuid ,nodev ,noexec ,relatime ,data =ordered 0 0
/dev /sda9 /media /openSUSE btrfs rw ,nosuid ,nodev ,noexec ,relatime ,space_cache ,subvolid =257 ,subvol =/@ 0 0
/dev /sda10 /media /KaOSx xfs rw ,nosuid ,nodev ,noexec ,relatime ,attr2 ,inode64 ,noquota 0 0
/dev /sda7 /media /Boot ext4 rw ,nosuid ,nodev ,noexec ,relatime ,errors =remount -ro ,data =ordered 0 0
/dev /sda8 /media /Fun xfs rw ,nosuid ,nodev ,noexec ,relatime ,attr2 ,inode64 ,noquota 0 0
Debian
In a same way, we can do the same thing again with Debian.
Access: Fedora, openSUSE, KaOSx.
#Entry for /dev/sda10 :
#/dev/sda10 /media/KaOSx xfs defaults,noauto,users 0 0
UUID =50 f93bc6 -711 d -4 f70 -84 cf -09748 e653543 /media /KaOSx xfs defaults ,noauto ,users 0 0
#Entry for /dev/sda11 :
UUID =9 c76fb33 -fa7a -46 af -b2bb -f82d385b81b6 /media /Fedora ext4 defaults ,noauto ,user ,errors =remount -ro 0 0
#Entry for /dev/sda9 (openSUSE root):
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /media /openSUSE btrfs defaults ,noauto ,users 0 0
#Entry for /dev/sda7 (openSUSE boot):
UUID =23342 d48 -c3be -402 c -b049 -b3e9ddeafbc0 /media /Boot ext4 defaults ,noauto ,user ,errors =remount -ro 0 0
#Entry for /dev/sda8 (openSUSE home):
UUID =0095473 d -ae63 -4722 -8350 -f5716e5df333 /media /Fun xfs defaults ,noauto ,users 0 0
Have a look at the /etc/fstab
config for Debian:
KaOSx
And so does KaOSx.
Access: Fedora, openSUSE, Debian.
#Entry for /dev/sda12 :
UUID =4190 d7a9 -fb03 -4 d19 -864 f -7 d04f89c3be0 /media /Debian ext4 defaults ,noauto ,users 0 0
#Entry for /dev/sda11 :
UUID =9 c76fb33 -fa7a -46 af -b2bb -f82d385b81b6 /media /Fedora ext4 defaults ,noauto ,user ,errors =remount -ro 0 0
#Entry for /dev/sda9 (openSUSE root):
UUID =c114d95e -bc0a -4 b41 -a2db -abd21aa9850f /media /openSUSE btrfs defaults ,noauto ,users 0 0
#Entry for /dev/sda7 (openSUSE boot):
UUID =23342 d48 -c3be -402 c -b049 -b3e9ddeafbc0 /media /Boot ext4 defaults ,noauto ,user ,errors =remount -ro 0 0
#Entry for /dev/sda8 (openSUSE home):
UUID =0095473 d -ae63 -4722 -8350 -f5716e5df333 /media /Fun xfs defaults ,noauto ,users 0 0
Have a look at the /etc/fstab
config for KaOSx:
openSUSE
And also does openSUSE.
Access: Fedora, Debian, KaOSx.
### Other Distribution
#Entry for /dev/sda10 :
#/dev/sda10 /media/KaOSx xfs defaults,noauto,users 0 0
UUID =50 f93bc6 -711 d -4 f70 -84 cf -09748 e653543 /media /KaOSx xfs defaults ,noauto ,users 0 0
#Entry for /dev/sda11 :
UUID =9 c76fb33 -fa7a -46 af -b2bb -f82d385b81b6 /media /Fedora ext4 defaults ,noauto ,user ,errors =remount -ro 0 0
#Entry for /dev/sda12 :
UUID =4190 d7a9 -fb03 -4 d19 -864 f -7 d04f89c3be0 /media /Debian ext4 defaults ,noauto ,users 0 0
Have a look at the /etc/fstab
config for openSUSE:
GParted
Again with GUI, to have better understanding.
What’s Next?
Consider continue reading [ Multiboot: chroot ].