2. Partitions & the fdisk command
• fdisk is an interactive utility to manipulate disk
partitions.
• Use fdisk –l to review the disks and
partitions on the system.
• Use fdisk and the disk special device file in
order to create new partitions.
Example:
# fdisk /dev/hda
3. Partitions & the fdisk command
• The fdisk command supports many types
of partitions.
• Alternative:
– Gnu parted – create, copy and manipulate
partitions.
– Sfdisk
4. Supported Local File Systems
• Linux Supports vast amount of local, disk based, file
systems. For example:
– Ext 2 – previous native Linux file system.
– Ext 3 – Current native Linux file system.
– Vfat – DOS 32 file system.
– ISO9660 – CDROM Image file system.
5. Ext 3 File System
• Ext 3 is the default FS in many Linux distributions.
• Ext 3 is a journal FS, thus improves data integrity
and system availability (fast fsck).
• Ext 3 is an improvement of Ext 2, so transfer to Ext 3
is considerably easy.
• Ext 3 FS is part of Linux Kernel since version 2.4.16.
6. Super
Block
Ext 3 File System Structure
Group
Disctiptors
Block
Bitmap
Inode
Bitmap
Inode
Table
Data Data Data
Block Group
Same for all block groups
7. Ext 3 File System Structure
• Ext 3 FS is divided to block groups in order to reduce
seek time and preserve data integrity (reduce
fragments).
• Each block group contains the following:
– Super Block – the super block contains
data about the status of the current FS.
There are several instances of the Super
Block on the FS. Each instance is stored at
an offset of 1024 Bytes from the previous one.
8. Ext 3 File System Structure
The Super Block contains the following data:
Number of Inodes on the FS and the number of free Inodes.
Number of data blocks on the FS and the number of
free data blocks.
Time and mounting point of the last system mount.
Flags indicating the state of the FS.
Number of times the FS was mounted.
Time the FS was last checked.
Maximum time permissible between checks.
Magic number indicating an Ext 3 FS.
9. Ext 3 File System Structure
– Group Discriptors – Contain information about
the block group. Such as:
The address of the block containing
the block bitmap of the group.
The address of the block containing
the inode bitmap of the group.
The address of the block containing
the indoe table of the group.
10. Ext 3 File System Structure
Count of free blocks in the group.
Count of free indoes in the group.
• Block bitmap indicates which blocks in the group
have been allocated.
• Inode bitmap indicates which Inodes in the group
have been allocated.
• Inode table is an array of Inodes for that particular
group.
12. The dumpe2fs Command
• Use the dumpe2fs command in order to view
the properties of the Ext2/Ext3 file system.
• The dumpe2fs command prints the super block
and blocks group information for the
file system present on device.
13. Converting Ext 2 to Ext 3
• Use tune2fs to convert exsisting Ext 2 FS to Ext 3 FS.
• Example:
# tune2fs -j -L local /dev/hdb1
• -j - Add journal to the FS
• -L - Volume Label
14. Using the fsck Command
• File system status must be clean in order to be
mounted and made available on the system.
• The fsck command is used to check the
consistancy of the file system, and optionally,
repair it.
15. Using the fsck Command
• Usage:
fsck [-fp] [-b superblock ] device
• -f – Force FS check. When the superblock indicates
the FS state is clean, fsck exits automatically. Use
this option to force fsck check.
• -p – Fix file system inconsistancies automatically
(rather then interactivly asking
for intervention).
• Device – Logical device name or volume label.
17. Restoring Damaged Superblock
• Use fsck with -b superblock option to restore
damaged superblocks from backup.
• If the superblock of the FS is damaged, there could
be no access to data on the FS.
• Ext 3 keeps backups of the Superblock.
• Use mkfs with the -n option to find out the location
of the superblock backup.
18. # mkfs -t ext3 -n /dev/hda1
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
...
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Superblock Back up Locations
Restoring Damaged Superblock
19. Restoring Damaged Superblock
# fsck -b 8193 /dev/hda1
fsck 1.32 (09-Nov-2002)
e2fsck 1.32 (09-Nov-2002)
/boot was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
...
Pass 5: Checking group summary information
/boot: ***** FILE SYSTEM WAS MODIFIED *****
/boot: 35/26520 files (2.9% non-contiguous), 12575/105808 blocks
• Use the information gained by the mkfs
command to salvage the FS superblock:
20. Mounting File Systems
• In order to make the file system available for use,
the file system must be mounted.
• Use a directory as a mount point, to connect the file
system about to be mounted to the file system tree,
starting from root (/).
• Each directory can be used to mount one file system
at a time.
• A directory that is being used can not serve as a
mount point.
22. The Mount Command
• Use the mount command in order to
make FS available.
• Syntax:
mount -t type -o options logical_device
mount_point
• Example:
# mount -t ext3 -o noatime /dev/hdb1 /usr/local
23. The Mount Command
• -t – file system type. Local file systems could be:
Ext 2 (default)
Ext 3
msdos – FAT 16 FS
vfat – FAT 32 FS
ntfs - Windows NT
24. The Mount Command
• -o – Mount option. Options could be:
ro – read only.
rw – read and write.
suid/nosuid – allow/deny suid bit to take effect.
exec/noexec – permit/deny the execution
of binaries.
noatime – do not update file access time
(makes FS much faster).
25. The Mount Command
• logical_device – this could be either a logical
device name like: dev/hdb1
or, a volume label like: LABEL=local
• mount_point – A directory that would serve as the
mount point for the file system.
26. The /etc/fstab File
• The /etc/fstab file is used to mount FS
automatically at boot time or to make the
mounting of frequently mounted FS easier.
• The /etc/fstab is created during system installation
and should be edited manually to include
filesystems needed to be available when system
starts.
28. The /etc/fstab File
• Device to Mount – Logical device name or Volume
Label of the device to be mounted.
• Mount Point – The directory to be the mount point
of the file system.
• File System Type – The type of te file system to be
mounted.
29. The /etc/fstab File
• Mount Options – options should be used while
working with the file system (defaults = rw, suid,
exec, auto, nouser, async).
• FS Backup – is used by the dump tool to decide
which FS needs to be backed up. Accepted values
are 0 for no backup, or 1 indicating this file system
needs to be backed up.
30. The /etc/fstab File
• FS Check Pass – the order by which file systems
needs to be checked before being mounted.
Acceptable values are 1 to 9.
– File systems are being checked according to the order
starting with 1 ending with 9.
File systems with FS check pass 1 are being checked
one after the other, while file systems with FS check
pass 2 and up are being checked in parallel.
31. The /etc/fstab File
fsck will try and correct any error it encountered
which does not require changes to the file system.
If the error requires changes to the file system,
the system drops to single user mode and fsck
must be run manually.
32. The /etc/fstab File and mount
• Upon writing an incomplete mount command,
mount will try and get the missing information from
/etc/fstab
• Use the mount -a command to mount all local
file systems listed in /etc/fstab (excpet those
indicating noauto in the mount options).
33. /etc/mtab File
• The /etc/mtab file contains information about all
mounted file systems.
• The /etc/mtab file is dynamically changed by the
system and should not be edited manually.
35. The umount Command
• Use the umount command to make file systems
unavailable.
• Command usage: umount dir | device
• Use either mount point or logical device name
to make a file system unavailable.
36. The umount Command
• File systems could not be made unavailable if
resources on that file system is being used.
# cd /boot
# umount /boot
umount: /boot: device is busy
• Use fuser -v -m logical_device to check which
processes are using the file system.
37. The umount Command
#fuser -v -m /dev/hda1
USER PID ACCESS COMMAND
/dev/hda1 root 2471 f.... vi
• Example:
38. The umount Command
# fuser -k -m /dev/hda1
/dev/hda1: 2471
• Use fuser -k -m device to kill processes making
use of the file system.