Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

11 linux filesystem copy


Published on

Unix / Linux Fundamentals

Published in: Technology
  • Be the first to comment

11 linux filesystem copy

  1. 1. Linux File System
  2. 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. 3. Partitions & the fdisk command • The fdisk command supports many types of partitions. • Alternative: – Gnu parted – create, copy and manipulate partitions. – Sfdisk
  4. 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. 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. 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. 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. 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. 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. 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.
  11. 11. Creating Ext 3 File System • Use mkfs command to create Ext 3 FS. • Example: # mkfs -t ext3 -b 2048 -j -L local /dev/hdb1 • -t - FS type (default Ext 2) • -b - Block Size (Default 1024) • -j - Journaled • -L - volume label
  12. 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. 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. 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. 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.
  16. 16. Using the fsck Command # fsck -f /dev/hda1 fsck 1.32 (09-Nov-2002) e2fsck 1.32 (09-Nov-2002) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /boot: 35/26520 files (2.9% non- contiguous), 12575/105808 blocks
  17. 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. 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. 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. 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.
  21. 21. Mouting File Systems / usr home etc local hda1 bin sbin lib hdb1 bin sbin
  22. 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. 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. 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. 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. 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.
  27. 27. The /etc/fstab File LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 /dev/hda3 swap swap defaults 0 0 /etc/fstab file structure
  28. 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. 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. 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. 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. 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. 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.
  34. 34. /etc/mtab File # cat /etc/mtab /dev/hda2 / ext3 rw 0 0 none /proc proc rw 0 0 none /dev/pts devpts rw,gid=5,mode=620 0 0 usbdevfs /proc/bus/usb usbdevfs rw 0 0 /dev/hda1 /boot ext3 rw 0 0 none /dev/shm tmpfs rw 0 0 Example of/etc/mtab file:
  35. 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. 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. 37. The umount Command #fuser -v -m /dev/hda1 USER PID ACCESS COMMAND /dev/hda1 root 2471 f.... vi • Example:
  38. 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.