Operating systems have come a long way in recent years. They have a smaller footprint, are more efficient with resource management, and have become much faster than early computing systems. For all of the improvements made, there are still "old school" pieces of the puzzle that we simply can't live without. Filesystems, and by necessity, filesystem tables, are one of these constants. These can be a bit tricky for a lot of users, so we will look at /etc/fstab
(fstab
) a little closer.
What is it?
Your Linux system's filesystem table, aka fstab
, is a configuration table designed to ease the burden of mounting and unmounting file systems to a machine. It is a set of rules used to control how different filesystems are treated each time they are introduced to a system. Consider USB drives, for example. Today, we are so used to the plug and play nature of our favorite external drives that we may completely forget that operations are going on behind the scenes to mount the drive and read/write data.
In the time of the ancients, users had to manually mount these drives to a file location using the mount
command. The fstab
file became an attractive option because of challenges like this. It is designed to configure a rule where specific file systems are detected, then automatically mounted in the user's desired order every time the system boots. Not only is it less work over time, but it also allows the user to avoid load order errors that could eat up valuable time and energy.
[ Download now: A system administrator's guide to IT automation. ]
Table structure
The table itself is a 6 column structure, where each column designates a specific parameter and must be set up in the correct order. The columns of the table are as follows from left to right:
- Device: usually the given name or UUID of the mounted device (sda1/sda2/etc).
- Mount Point: designates the directory where the device is/will be mounted.
- File System Type: nothing trick here, shows the type of filesystem in use.
- Options: lists any active mount options. If using multiple options they must be separated by commas.
- Backup Operation: (the first digit) this is a binary system where
1
= dump utility backup of a partition.0
= no backup. This is an outdated backup method and should NOT be used. - File System Check Order: (second digit) Here we can see three possible outcomes.
0
means that fsck will not check the filesystem. Numbers higher than this represent the check order. The root filesystem should be set to1
and other partitions set to2
.
Location and options
Obviously your table will be different depending on your environment, however, I want to look at an example using a virtual machine so that we can see what information is provided and break down what we are seeing. You will see my fstab
below:
[tcarrigan@rhel ~]$ vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Jan 27 10:04:34 2020
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=64351209-b3d4-421d-8900-7d940ca56fea /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
~
~
~
"/etc/fstab" [readonly] 14L, 579C 1,0-1 All
This table consists of six columns defining certain parameters around a given filesystem. The first thing that pops out at you is the comments in the header. For now, ignore the Created by section and move to the Accessible filesystems portion. These directories and man pages are worth noting and can provide valuable information should you need it. Next, skip down to the After editing section and note the systemctl daemon-reload
command used to update the systemd components after making changes to this file.
[ Learn how to manage your Linux environment for success. ]
Now that we have looked at the comments, let's break down the actual configuration that is present and look at the various bits of info that a user needs to note.
The first (and only, in this case) filesystem that you see is the root filesystem for this VM /dev/mapper/rhel-root
. You also see that it is an xfs
filesystem. You may see any number of options here, such as ext3, ext4, fat file systems, etc. Directly below the root filesystem, you find the Universally Unique Identifier (UUID). The UUID remains persistently assigned to the filesystem. UUIDs are a great way to label filesystems, especially in smaller environments. However, they can lead to issues in larger environments where network-based drives are in use. I digress the UUID of my filesystem here is: UUID=64351209-b3d4-421d-8900-7d940ca56fea
You also see that there is a swap
partition present at this location, as well as the mount point for the root filesystem /
. Moving to the right, you see a pair of zero's. The first zero is a binary option (0=false and 1=true) for "dumping." This is an outdated backup method and should be set to zero or unused. The next number to the right tells the system to run a filesystem check or fsck. Here, an option of 0 = skip. The root filesystem should be set to 1 and any others you want to be checked assigned after that.
NOTE: These options must be listed in order if the configuration is to work correctly.
Advanced usage
There are other options for more advanced users that I do not have configured here (therefore, there are no examples shown). However, there are some great resources on the web to explain these options. The ones that I would check out are as follows:
- auto/noauto: controls whether the partition is mounted automatically on boot (or not).
- exec/noexec: controls whether or not the partition can execute binaries. In the name of security, this is usually set to noexec.
- ro/rw: controls read and write privileges - ro = read-only, where rw= read-write.
- nouser/user: controls whether or not the user has mounting privileges. This defaults to noexec for all user accounts.
Wrapping up
Hopefully, you now have a better grasp of the purpose of /etc/fstab
and can make sense of what is shown on your system. Many casual users do not use this file. However, if you find yourself curious or in need of making changes, you are now better equipped to do so!
[ Free online course: Red Hat Enterprise Linux technical overview. ]
執筆者紹介
Tyler is the Sr. Community Manager at Enable Sysadmin, a submarine veteran, and an all-round tech enthusiast! He was first introduced to Red Hat in 2012 by way of a Red Hat Enterprise Linux-based combat system inside the USS Georgia Missile Control Center. Now that he has surfaced, he lives with his wife and son near Raleigh, where he worked as a data storage engineer before finding his way to the Red Hat team. He has written numerous technical documents, from military procedures to knowledgebase articles and even some training curricula. In his free time, he blends a passion for hiking, climbing, and bushcraft with video games and computer building. He is loves to read and enjoy a scotch or bourbon. Find him on Twitter or on LinkedIn.
類似検索
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
オリジナル番組
エンタープライズ向けテクノロジーのメーカーやリーダーによるストーリー
製品
ツール
試用、購入、販売
コミュニケーション
Red Hat について
エンタープライズ・オープンソース・ソリューションのプロバイダーとして世界をリードする Red Hat は、Linux、クラウド、コンテナ、Kubernetes などのテクノロジーを提供しています。Red Hat は強化されたソリューションを提供し、コアデータセンターからネットワークエッジまで、企業が複数のプラットフォームおよび環境間で容易に運用できるようにしています。
言語を選択してください
Red Hat legal and privacy links
- Red Hat について
- 採用情報
- イベント
- 各国のオフィス
- Red Hat へのお問い合わせ
- Red Hat ブログ
- ダイバーシティ、エクイティ、およびインクルージョン
- Cool Stuff Store
- Red Hat Summit