Running Linux, 5th Edition - Matthias Kalle Dalheimer [182]
In fact, information on file ownership, permissions, and so forth is provided only by filesystem types that are meant to be used for storing Linux files. For filesystem types that don't store this information, the kernel drivers used to access these filesystems "fake" the information. For example, the MS-DOS filesystem has no concept of file ownership; therefore, all files are presented as if they were owned by root. This way, above a certain level, all filesystem types look alike, and each file has certain attributes associated with it. Whether this data is actually used in the underlying filesystem is another matter altogether.
As the system administrator, you need to know how to create filesystems should you want to store Linux files on a floppy or add additional filesystems to your hard drives. You also need to know how to use the various tools to check and maintain filesystems should data corruption occur. Also, you must know the commands and files used to access filesystems—for example, those on floppy or CD-ROM.
Filesystem Types
Table 10-1 lists the filesystem types supported by the Linux kernel as of Version 2.6.5. New filesystem types are always being added to the system, and experimental drivers for several filesystems not listed here are available. To find out what filesystem types your kernel supports, look at the file /proc/filesystems. You can select which filesystem types to support when building your kernel; see "Kernel configuration: make config" in Chapter 18.
Table 10-1. Linux filesystem types
Filesystem
Type
Description
Second Extended filesystem
ext2
Used to be the most common Linux filesystem, but is slowly being made obsolete by the Reiser and Third Extended filesystems
Reiser filesystem
reiserfs
A journaling filesystem for Linux
Third Extended filesystem
ext3
Another journaling filesystem for Linux that is downward-compatible with ext2
JFS
jfs
IBM's implementation of a journaled filesystem for Linux; an alternative to ext3 and reiserfs
Network File System (NFS)
NFS
Allows access to remote files on network
UMSDOS filesystem
umsdos
Installs Linux on an MS-DOS partition
DOS-FAT filesystem
msdos
Accesses MS-DOS files
VFAT filesystem
vfat
Accesses Windows 95/98/ME files
NT filesystem
ntfs
Accesses Windows NT/2000/XP files
/proc filesystem
proc
Provides process information for ps
ISO 9660 filesystem
iso9660
Used by most CD-ROM s
UDF filesystem
udf
The most modern CD-ROM filesystem
SMB filesystem
smbfs
Accesses files from a Windows server over the network
Coda filesystem
coda
An advanced network filesystem, similar to NFS
Cifs filesystem
cifs
The Common Internet File System, Microsoft's suggestion for an SMB successor; supported by Windows 2000, 2003, and XP, as well as the Samba server
Each filesystem type has its own attributes and limitations; for example, the MS-DOS filesystem restricts filenames to eight characters plus a three-character extension and should be used only to access existing MS-DOS floppies or partitions. For most of your work with Linux, you'll use the Second or Third Extended (ext2 or ext3) filesystem, which were developed primarily for Linux and support 256-character filenames, a 32-terabyte maximum filesystem size, and a slew of other goodies, or you will use the Reiser (reiserfs ). Earlier Linux systems used the Extended filesystem (no longer supported) and the Minix filesystem. (The Minix filesystem was originally used for several reasons. First of all, Linux was originally cross-compiled under Minix. Also, Linus was quite familiar with the Minix filesystem, and it was straightforward to implement in the original kernels.) Some other obscure filesystems available in