< Day Day Up > |
File Systems in Unix are very flexible in that they need not be physically present on your computer; you can have network access to other file systems on other machines. The Linux file system structure (the Virtual File System we spoke of at the beginning of the chapter) makes it appear as if all the file systems, regardless of type and location, are local and mounted somewhere on the root file system. As the system administrator, you decide what file systems are to be made available and where they will be attached, or mounted, to the root file system. The standard arrangement of the file system tree is that installed by default by Fedora Core Linux. The source of that standard arrangement is found in the File System Hierarchy Standards. Although a detailed discussion of those standards is beyond the scope of this section, they can be examined at http://www.pathname.com/fhs/. In this section, you learn how to mount file systems to the root file system and add file systems to the system, and you learn the traditional mount points of commonly used file systems as well. In Linux (and its Unix cousins), all file systems whether local, remote, images on a disk, or in memory are mounted on a single point known as root (which is not the same as the root operator, also known as the superuser). This mount point is written as a forward slash, /, which is read and pronounced "root." The resulting file directory hierarchy all starts from /. Once mounted, the physical location of the files is unimportant because they all appear to be local. Even if the file systems are different (FAT, ext2, HPFS, ntfs, and so on), the Linux kernel modules and the VFS make them all appear as part of the directory tree as native files. Listing the file systems as native files obviates the need for any applications to be aware of the physical location of the file or the true nature of the native file system. As a result, programming these applications is simplified because the applications only have to work with what they think are local, native files. Any file system can be mounted anywhere, but some places are more traditional than others. Removable media devices are traditionally mounted under the /mnt directory (for example, floppy drives on /mnt/floppy and CD-ROM drives on /mnt/cdrom). The /mnt directory is the traditional place to mount removable or remote file systems that are unrelated to the local system directories that branch from the root mount point. The mount CommandFile systems are mounted with the mount command and unmounted, curiously enough, with the umount command. During the installation, you have the opportunity to decide where and how your partitions will be mounted. You indicate your choices, and Fedora Core automatically stores them in /etc/fstab, the File System Table, for you. The mount command looks at /etc/fstab and mounts the file system according to those set preferences. You learn more about the File System Table later in this section. The syntax for mount is mount t type file system_to_be mounted mount_point Here are the components of the mount command, and a brief explanation of each:
The only real restriction to "mount anything anywhere" is that the critical system files in /bin, /etc, /lib, /dev, /proc, and /tmp need to be accessed at bootup, which typically means that they need to be on the same physical disk. If they cannot be accessed at bootup, Linux will not load and run. Here are a few examples of using the mount command: Mounting a floppy: # mount -t vfat /dev/fd0 /mnt/floppy Mounting a CD-ROM: # mount -t iso9660 /dev/scd0 /mnt/cdrom Mounting a Network File System (NFS) volume: # mount -t nfs remote_host:/dir [options] mount_point Numerous mount options exist. These options are used primarily in the /etc/fstab file. You can invoke a mount option by preceding it (or a comma-delimited string of options) with the -o switch. The mount options are listed in the fstab section of this chapter. The umount CommandTo unmount a file system, use the umount command with the following syntax: umount mount_point You can also unmount by device name: umount device_name CAUTION Do not use umount -a to unmount everything that the system does not require to run (or is not currently using). Unmounting everything is a particularly bad idea on a multiuser, networked system because your users will undoubtedly lose access to some or all their files. So, as any good sysadmin will tell you, do not do that. Mounting Automatically with /etc/fstabA special file, /etc/fstab, exists to provide the system with predetermined options and mount points so that the file systems can be automatically or manually mounted with minimal typing and without having to recall arcane Linux syntax. The /etc/fstab file can only be written to by the superuser. The commands fsck, mount, and umount all read information from /etc/fstab. Each file system gets its own line with the information separated by tabs. On each line of fstab, the first field indicates the block device or remote file system that will be mounted. The second field identifies the mount point on the local system where the file system will be mounted. The third field is the file system type, and the fourth field is a comma-delimited list of mount options. Options include
For iso9660 file systems, the interesting option is unhide, which shows hidden and associated files. The fstab man pages contain an in-depth description of fstab and its options. The fifth field of /etc/fstab is used by dump (a traditional Unix backup program) to determine whether the file system should be dumped (backed up); 1 is yes, and 0 is no. Default values are set for you during the initial installation. They are of concern only if you actually use dump; then you would set the value to 1 for the file systems you wanted to back up. The sixth field is used by fsck to determine how fsck needs to interact the file system 0 means that fsck is never run on the file system (a FAT32 file system, for example); 1 means that fsck will be run on the drive at a predetermined time. 2 is recommended for non-root file systems so that fsck is not run on them as frequently. Here is a simple /etc/fstab file from a system with a RAID0 ext3 root partition and dual-booted with MS Windows. LABEL=/12 / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda11 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 /dev/hda1 /mnt/win_c vfat auto,quiet,exec 0 0 Notice the two entries marked with the kudzu option. This is the result of the actions of updfstab, which keeps fstab synchronized with the state of any removable devices on the system such as CD-ROMs, floppy drives, Zip and Jaz drives, LS-120 drives, and some digital cameras. The quiet option shown for the Windows partition will suppress error messages and is recommended if you use the Wine application. NOTE Device labels can be very useful. You can use the label in /etc/fstab, and if you have many devices, their labels might be easier for you to remember and track than would their device names. You can also shuffle around partitions without editing fstab, just by changing their labels. The e2label command is easier to remember than the analogous tune2fs command. The command e2label can display or change the label of a device. (You also can change a device label with tune2fs -L.) For example, to change the label of /dev/hda4 to archives, use # e2label /dev/hda4 archives As mentioned earlier, you record mounting preferences in /etc/fstab during installation. You only need to modify /etc/fstab if you make changes to your mounts or desire to change the default settings to address the specific needs of your system. As long as the superuser understands the syntax and options of the fstab file, she can edit the file with any text editor. GUI Tools to Mount File SystemsThe usermount graphical file system management client is available for use with Fedora Core Linux. Although Fedora Core provides usermount as the default file system mounting tool, it is not as feature-rich as KDiskFree, which is installed when you select the KDE desktop during installation. The K Desktop Environment (KDE) provides several disk- and file system-related utilities. You might find one or more available on your Fedora Core system if you select KDE for installation. Found in the Extras menu under System Tools, the KDiskFree menu item (it is kdf from a command line) displays all the file systems noted in the /etc/fstab file, presents information about them, and allows you to easily mount and unmount them (see Figure 37.1). KWikDisk enables mounts and unmounts from a panel applet. Figure 37.1. KDiskFree provides a graphical interface to tools used to configure custom mount options, as well as mount, or unmount disks.TIP KWikDisk is the KDE panel applet for KDiskFree. You would normally right-click on the KDE panel and add the applet to the panel. Fedora Core has omitted KWikDisk from the KDE applet menu, but still includes it with Fedora Core. Launch it from a command line, and it will appear on the KDE panel or on the GNOME desktop. Clicking on the KwikDisk panel icon launches an abbreviated version of KDiskFree: $ kwikdisk & The User Mount Tool, accessed from the System Tools menu as the Disk Management menu item, is a convenient way to mount and unmount file systems (see Figure 37.2). It also allows you to format floppy disks. Figure 37.2. The User Mount Tool is the default Fedora Core disk management GUI tool. It can mount and unmount file systems, as well as the cdrom device.Floppy Formatter is a KDE tool to easily format a floppy in ext2 or FAT format. You can start it by choosing System Tools, Floppy Formatter. Floppy Formatter can format floppy disks in 3.5" and 5.25" high- and low-density formats (see Figure 37.3). Figure 37.3. Point and click for floppy formatting makes it easy. A larger choice of formatting options (like a 1.7MB 3.5" floppy) would be nicer. The Floppy Formatter is found under the System Tools menu.
|
< Day Day Up > |