linux_wiki:file_system_hierarchy

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
linux_wiki:file_system_hierarchy [2015/11/16 22:34]
billdozor created
linux_wiki:file_system_hierarchy [2016/05/09 22:38]
billdozor [Top Level Directories]
Line 4: Line 4:
  
 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**
Line 12: Line 15:
  
 ====== Top Level Directories ====== ====== Top Level Directories ======
 +
 +EL7 = Enterprise Linux 7 (Red Hat, CentOS, Scientific)
  
 ^  Directory  ^  Used For  ^ ^  Directory  ^  Used For  ^
 |  /  | Root directory; file system tree starts here | |  /  | Root directory; file system tree starts here |
-|  /bin  | Executable programs needed to repair system; essential during boot |+|  /bin  | Executable programs needed to repair system; essential during boot; \\ EL7 symlinks /bin -> /usr/bin |
 |  /boot  | All files needed to boot the Linux kernel | |  /boot  | All files needed to boot the Linux kernel |
 |  /dev  | Special/device files; refer to physical device  | |  /dev  | Special/device files; refer to physical device  |
 |  /etc  | "etcetera"; configuration files local to the system | |  /etc  | "etcetera"; configuration files local to the system |
 |  /home  | User local home directories | |  /home  | User local home directories |
-|  /lib and /lib64  | Shared libraries used by programs in /boot,/bin, /sbin |+|  /lib and /lib64  | Shared libraries used by programs in /boot,/bin, /sbin; \\ EL7 symlinks /lib -> /usr/lib and /lib64 -> /usr/lib64 |
 |  /media and /mnt  | Mount points for removable media and temporary file systems respectively  | |  /media and /mnt  | Mount points for removable media and temporary file systems respectively  |
 |  /opt  | Add on or optional packages | |  /opt  | Add on or optional packages |
Line 26: Line 31:
 |  /root  | Home directory for the root user | |  /root  | Home directory for the root user |
 |  /run  | Process/user specific info created since last boot | |  /run  | Process/user specific info created since last boot |
-|  /sbin  | Similar to /bin, except for system administration not used by regular users |+|  /sbin  | Similar to /bin, except for system administration not used by regular users; \\ EL7 symlinks /sbin -> /usr/sbin |
 |  /srv  | Directory to use for data used by services (such as NFS, FTP, HTTP) | |  /srv  | Directory to use for data used by services (such as NFS, FTP, HTTP) |
 |  /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) |
  
Line 37: Line 42:
 ====== 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      1.8G   0% /dev
 +tmpfs                                 tmpfs     1.8G      1.8G   0% /dev/shm
 +tmpfs                                 tmpfs     1.8G  8.6M  1.8G   1% /run
 +tmpfs                                 tmpfs     1.8G      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>
  • linux_wiki/file_system_hierarchy.txt
  • Last modified: 2019/05/25 23:50
  • (external edit)