Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
linux_wiki:file_system_hierarchy [2015/11/17 22:54] billdozor [Top Level Directories] |
linux_wiki:file_system_hierarchy [2019/05/25 23:50] (current) |
| |
Some of the most common top level directories in the Linux file system. | Some of the most common top level directories in the Linux file system. |
| |
| **Checklist** |
| * Distro(s): Any |
| |
**Sources** | **Sources** |
| /sys | To interface with hardware devices managed by the kernel | | | /sys | To interface with hardware devices managed by the kernel | |
| /tmp | Temporary files that could be deleted without warning during boot | | | /tmp | Temporary files that could be deleted without warning during boot | |
| /usr | Directory containing sub directories with program files, libraries, and documentation. Typically mimics the contents of /. Not required during boot. | | | /usr | Directory containing sub directories with program files, libraries, and documentation. Typically mimics the contents of /. EL6: Not required during boot. EL7: Important directory contents has been relocated here; now required during boot. | |
| /var | Files that can change dynamically (log files, mail, and spool files) | | | /var | Files that can change dynamically (log files, mail, and spool files) | |
| |
====== Common Directories with Own Partition ====== | ====== Common Directories with Own Partition ====== |
| |
It is common to separate the following directories onto their own mount point/partition: | It is common to mount the following directories onto their own partition: |
| |
* / => isolate the core OS away from the rest of the system. | ^ Directory ^ Reason ^ |
* /boot => isolate kernel boot images, cannot be LVM. | | / | isolate the core OS away from the rest of the system | |
* /home => in order to isolate user data from the rest of the system. | | /boot | isolate kernel boot images, cannot be LVM | |
* /tmp => isolate world writeable /tmp to give more secure mount options. | | /home | isolate user data from the rest of the system; usually to allocate more storage space and preserve user data during upgrades | |
* /var => isolate other variable data that could grow from affecting the rest of the system. (yum cache, common place for applications to write to) | | /tmp | isolate world writeable /tmp to give more secure mount options | |
* /var/log => prevent run away log files from affecting the rest of the system. | | /var | isolate other variable data that could grow from affecting the rest of the system. (yum cache, common place for applications to write to) | |
| | /var/log | prevent run away log files from affecting the rest of the system | |
| |
---- | ---- |
| |
| ====== View Mounts ====== |
| |
| Different ways to see file system mounts. |
| |
| ---- |
| |
| ===== Find Mounts ===== |
| |
| The "findmnt" command shows a tree like mount structure. |
| |
| <code bash> |
| [root@srv01 ~]# findmnt |
| TARGET SOURCE FSTYPE OPTIONS |
| / /dev/mapper/vgroot-lvroot xfs rw,relatime,attr2,inode64,noquota |
| ├─/proc proc proc rw,nosuid,nodev,noexec,relatime |
| │ └─/proc/sys/fs/binfmt_misc systemd-1 autofs rw,relatime,fd=40,pgrp=1,timeout=300,minproto=5,maxproto=5,direct |
| ├─/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime |
| │ ├─/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime |
| │ ├─/sys/fs/cgroup tmpfs tmpfs rw,nosuid,nodev,noexec,mode=755 |
| │ │ ├─/sys/fs/cgroup/systemd cgroup cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd |
| │ │ ├─/sys/fs/cgroup/cpuset cgroup cgroup rw,nosuid,nodev,noexec,relatime,cpuset |
| │ │ ├─/sys/fs/cgroup/cpu,cpuacct cgroup cgroup rw,nosuid,nodev,noexec,relatime,cpuacct,cpu |
| │ │ ├─/sys/fs/cgroup/memory cgroup cgroup rw,nosuid,nodev,noexec,relatime,memory |
| │ │ ├─/sys/fs/cgroup/devices cgroup cgroup rw,nosuid,nodev,noexec,relatime,devices |
| │ │ ├─/sys/fs/cgroup/freezer cgroup cgroup rw,nosuid,nodev,noexec,relatime,freezer |
| │ │ ├─/sys/fs/cgroup/net_cls cgroup cgroup rw,nosuid,nodev,noexec,relatime,net_cls |
| │ │ ├─/sys/fs/cgroup/blkio cgroup cgroup rw,nosuid,nodev,noexec,relatime,blkio |
| │ │ ├─/sys/fs/cgroup/perf_event cgroup cgroup rw,nosuid,nodev,noexec,relatime,perf_event |
| │ │ └─/sys/fs/cgroup/hugetlb cgroup cgroup rw,nosuid,nodev,noexec,relatime,hugetlb |
| │ ├─/sys/fs/pstore pstore pstore rw,nosuid,nodev,noexec,relatime |
| │ ├─/sys/kernel/config configfs configfs rw,relatime |
| │ └─/sys/kernel/debug debugfs debugfs rw,relatime |
| ├─/dev devtmpfs devtmpfs rw,nosuid,size=1829904k,nr_inodes=457476,mode=755 |
| │ ├─/dev/shm tmpfs tmpfs rw,nosuid,nodev |
| │ ├─/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 |
| │ ├─/dev/mqueue mqueue mqueue rw,relatime |
| │ └─/dev/hugepages hugetlbfs hugetlbfs rw,relatime |
| ├─/run tmpfs tmpfs rw,nosuid,nodev,mode=755 |
| ├─/mnt/redusb /dev/mapper/vgredusb-lvredbackups ext4 rw,relatime,data=ordered |
| ├─/mnt/blackusb /dev/mapper/vgblackusb-lvblackbackups ext4 rw,relatime,data=ordered |
| ├─/boot /dev/sda1 xfs rw,relatime,attr2,inode64,noquota |
| ├─/tmp /dev/mapper/vgroot-lvtmp xfs rw,relatime,attr2,inode64,noquota |
| ├─/home /dev/mapper/vgroot-lvhome xfs rw,relatime,attr2,inode64,noquota |
| └─/var /dev/mapper/vgroot-lvvar xfs rw,relatime,attr2,inode64,noquota |
| </code> |
| |
| ---- |
| |
| ===== Mount ===== |
| |
| The "mount" command showing only xfs and ext4 file system types (-t xfs,ext4) |
| |
| <code bash> |
| [root@srv01 ~]# mount -t xfs,ext4 |
| /dev/mapper/vgroot-lvroot on / type xfs (rw,relatime,attr2,inode64,noquota) |
| /dev/mapper/vgblackusb-lvblackbackups on /mnt/blackusb type ext4 (rw,relatime,data=ordered) |
| /dev/mapper/vgredusb-lvredbackups on /mnt/redusb type ext4 (rw,relatime,data=ordered) |
| /dev/mapper/vgroot-lvtmp on /tmp type xfs (rw,relatime,attr2,inode64,noquota) |
| /dev/mapper/vgroot-lvhome on /home type xfs (rw,relatime,attr2,inode64,noquota) |
| /dev/mapper/vgroot-lvvar on /var type xfs (rw,relatime,attr2,inode64,noquota) |
| /dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota) |
| </code> |
| |
| ---- |
| |
| ===== df ===== |
| |
| "df" command with human readable (-h) and print file system type (-T): |
| <code bash> |
| [root@srv01 ~]# df -hT |
| Filesystem Type Size Used Avail Use% Mounted on |
| /dev/mapper/vgroot-lvroot xfs 30G 1.9G 29G 7% / |
| devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev |
| tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm |
| tmpfs tmpfs 1.8G 8.6M 1.8G 1% /run |
| tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup |
| /dev/mapper/vgblackusb-lvblackbackups ext4 99G 65G 29G 70% /mnt/blackusb |
| /dev/mapper/vgredusb-lvredbackups ext4 99G 66G 28G 71% /mnt/redusb |
| /dev/mapper/vgroot-lvtmp xfs 8.0G 33M 8.0G 1% /tmp |
| /dev/mapper/vgroot-lvhome xfs 100G 65G 36G 65% /home |
| /dev/mapper/vgroot-lvvar xfs 8.0G 527M 7.5G 7% /var |
| /dev/sda1 xfs 247M 164M 83M 67% /boot |
| </code> |