OPS235 Lab 1 - Fedora17
Contents
- 1 Using Linux to Access Block Devices and Filesystems
- 1.1 Objectives
- 1.2 Reference
- 1.3 Required materials
- 1.4 Instructions
- 1.4.1 Investigation 1: How does Linux enable you to access two different drives without using a drive designator?
- 1.4.2 Investigation 2: How do you create a vfat or ext3 filesystem?
- 1.4.3 Investigation 3: How do you create an ext3 filesystem on a USB flash drive with a volume label?
- 1.4.4 Investigation 4 - How do you create hard disk partitions?
- 1.4.5 Investigation 5 - How do you create and access a Linux filesystem on a hard disk partition?
- 1.4.6 Investigation 6 - How can you save an image of a filesytem?
- 1.4.7 Investigation 7 - How to restore/duplicate image of a filesystem?
- 1.4.8 Investigation 8 - Accessing a compressed file system image
- 1.4.9 Investigation 9 - How do you create a file system in a regular file?
- 1.4.10 Investigation 10 - How can you backup the MBR (Master Boot Record)?
- 1.5 Completing the Lab
- 1.6 Preparing for the Quizzes
- 1.7 Useful Information
Using Linux to Access Block Devices and Filesystems
Objectives
- Format, mount, use, and unmount ext3, ext4, and vfat filesystems on USB flash drives.
- Create filesystems on various storage devices
- Create hard disk partitions
- Backup filesystems and images
- Mount a filesystem stored within a a regular file
Reference
- man pages for cp, mount, umount, fdisk, mkdir, file, mkfs, dumpe2fs, grep, dd
- Online reading material for weeks 1 and 2.
Required materials
- Fedora 13 Live CD
- USB flash drive, 64 MB or more in size (Warning: the contents of this drive will be erased!)
- One SATA hard disk in a removable drive tray (minimum 160GB)
Instructions
- Set your computer's drive selector switch to external, then power up the computer.
- Insert the Fedora Live CD into the CD/DVD drive.
- Reboot the system.
- The boot process is completed when you see the GDM Login Screen. Click on "Automatic Login" to login as the "Live System User".
- We are going to start by opening a terminal window to access our shell environment. Click on Applications --> System Tools --> Terminal to start the terminal.
- At the top of the terminal window, you should see the command prompt similar to [liveuser@localhost ~]$ This prompt indicates that it is ready to take your command. The program that is running is called a shell.
- At the command prompt, enter the command whoami (all in one word) and press return. This command shows the so-called User Name. Make notes of this user name.
- At the command prompt, enter the command pwd and press return. This command shows the so-called present working directory or current working directory. Record the present working directory of the shell running on the terminal window. As we have not yet changed directories this should also be your users home directory. (Also indicated by the ~ character in the prompt)
Investigation 1: How does Linux enable you to access two different drives without using a drive designator?
- Type the command mount. Describe the output of the command in your lab log. What do the fields of data represent? Use the man page for the mount command and google searches to find this information
- Insert your USB flash drive into a USB port on the computer.
- Because we have turned off the automatic mounting feature nothing will happen. In order to access the file system on this storage device we must mount it on to our existing file/directory structure.
- To mount a device we must first create a mount point to mount it on. Create a new directory called
/media/usb
(These steps should be done as "root") - Next we need to use the mount command to mount the device. Try typing the following command:
mount -t vfat /dev/sdb1 /media/usb
. This command contains 3 important pieces of information (command arguments):-
-t vfat
tells the mount command to mount it as a FAT filesystem. (Most likely choice for a USB flash drive) -
/dev/sdb1
tells the mount command which device to mount. (If this didn't work try/dev/sdc1
or/dev/sda1
) -
/media/usb
tells the mount command where to mount the device (the "mount point")
-
- Type the command mount and compare the output with the output from step 1. Record what has changed.
- What file system type is the USB device mounted as? Where was it mounted? What is the device name?
- Create a file in the directory /media/usb/ by redirecing the output of the cal command: cal >/media/usb/month
- Display a detailed listing of the directory where the device is mounted and record the output: ls -l /media/usb
- Type the command umount /media/usb -- What happened to the contents of the /media/usb directory? Compare results with step 9.
- Type the command mount and observe the output. What is different from step 6? Why?
- Make a new mount point called /media/usb2 Mount your usb flash drive on the new mount point.
- Display a detailed listing of the new mount point again. Is your file there?
Answer the Investigation 1 question: How does Linux enable you to access two different drives without using a drive designator? (Write the answer in your lab log book).
Investigation 2: How do you create a vfat or ext3 filesystem?
- Unmount your USB flash drive.
- Enter the command to format your USB drive's filesystem:
mkfs -t ext3 /dev/sdb1
- What is the purpose of this command? Use the man page for mkfs to research what you did with this command.
- Did we execute the command on the device name or the mount point?
- Attempt to mount the USB flash drive using the command you used in Investigation 1. What was the result?
- Check the man page for the mount command to see how to change your command to mount the device correctly, and issue that command.
- Once the device is mounted do a long directory listing of the mount point. What has changed?
- Do an internet search to find out what the
lost+found
directory is for. Record your findings in your notes. - Create a new file on the device using the same technique used in Investigation 1.
- Unmount the device and remount it on the original mount point. Is the new file there?
- Type the command mount and observe the type value for the USB flash drive filesystem. Compare this value to the type found in Investigation 1.
- Change your current working directory to where the device is mounted.
- Attempt to unmount the USB flash drive. What was the result? Why? Record your findings in your notes.
- Solve the error and unmount the device.
- Consult the man pages for
mkfs
andmkfs.ext3
to see how to format the device again (usingmkfs
) as a ext3 file system with a volume label that is the same as your learn ID. - Enter the command to reformat the device.
- The
dumpe2fs /dev/sdb1
command will allow us to see detailed information about ext3 filesystems. Use it to confirm your volume label is correct and record the size of your journal. - Mount the device again as an ext3 filesystem.
- While the device is still mounted reformat the device as a vfat filesystem. What error message did you receive? Why? Record your conclusions in your notes.
- Unmount the device and format it as vfat.
- Now you will investigate what happens when you copy files to the device name rather than the mount point. Issue the command cp /etc/hosts /dev/sdb1
- Now mount your device. Was it successful? Try mounting it as ext3. Was it successful? What has happened to the filesystem on the device?
- Reformat it as vfat and mount it.
- Unmount the device.
Investigation 3: How do you create an ext3 filesystem on a USB flash drive with a volume label?
- Shutdown your computer. (Under the "System" menu)
- Insert your removable SATA hard disk, remove your USB flash drive and restart the computer. (Leave your "Live CD" in the computer)
- When the computer has restarted and you have logged in. Insert your USB flash drive into the USB port.
- Open a terminal window and run the
mount
command. - It is quite possible that the device name for your USB flash drive has changed from what you were using previously. Your hardware configuration is different because now you have a hard drive connected. One way to determine what your USB device name is now is to look at the system log. Use the tail command to view the last 20 lines of the file
/var/log/messages
There should be kernel entries that were generated when you inserted the device. - Create a Linux ext3 filesystem on the USB device, giving it a volume label of "Lab1", and record the following in in your logbook:
- What is the block size for the new format?
- How many blocks were created?
- How often will the new filesystem be automatically checked?
- What volume label was given to the filesystem?
- According to the man page what is the purpose of dumpe2fs?
- If you executed dumpe2fs on an MS-DOS filesystem what do you think would be the result?
- Mount the USB device onto the mount point /media/lab1
- Copy the files
/etc/services
,/etc/networks
to the USB flash drive.
Investigation 4 - How do you create hard disk partitions?
- Enter the command
fdisk -l /dev/sda
and describe the output in your log book. The output may be similar to the following:
Disk /dev/sda: 12.0 GB, 12072517632 bytes 255 heads, 63 sectors/track, 1467 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System ...
- Read and study this reading about how to use the fdisk command before you go on to the next step.
- Review the man page for the fdisk command.
- Enter the command fdisk /dev/sda to start the hard disk partition program.
- At the fdisk command prompt, enter the letter p to print out the current partition table of the hard disk. If there are any partitions, use the d option to delete all of them, starting with the highest partition number first.
- At the fdisk command prompt, use the n and t commands to create these three partitions:
/dev/sda1 - 300MB (primary, Linux Native) /dev/sda2 - the rest of the hard disk (extended) /dev/sda5 - 300MB (logical, Linux Native)
- Use the p option the display the new partition and record it in your log book.
- Remember to use the w option to write the new partitions information instead of the q option to quit without saving.
- Logout and restart Fedora.
Answer the Investigation 4 question in your lab log book.
Investigation 5 - How do you create and access a Linux filesystem on a hard disk partition?
- After rebooting Fedora, open up a Terminal Window and enter the command
fdisk -l /dev/sda
to display the hard disk partition table. Verify that you have partitioned your hard disk correctly. - Create a Linux 3rd extended filesystem (ext3) on the 300MB primary partition /dev/sda1
- Create the empty directory
/mnt/harddisk
to serve as a mount point for the partition. - Use the command
mount -t ext3 /dev/sda1 /mnt/harddisk
to attach the file system you just created to the Fedora Live Linux file system tree. - Copy the files
/etc/passwd
and/var/log/messages
to the mounted partition. Can you do this with a single command? - Unmount the partition.
Answer the Investigation 5 question in your lab log book.
Investigation 6 - How can you save an image of a filesytem?
- Your
/dev/sda1
partition is formatted with an ext3 filesystem and contains 2 files. You can now create an "image" of that device and duplicate it. - First create an image of the device using the following command:
dd if=/dev/sda1 of=sda1.img
- The image file you created is a byte by byte duplicate of the original device and all of its contents. You can even mount it as a if it was a real partition.
- Make a mount point called
/media/sda1-image
and mount the image file using the following command:-
mount -o loop -t ext3 sda1.img /media/sda1-image
- (The
-o loop
option is used to mount regular files as if they were real block storage devices.)
-
- List the contents of the mount point. Are your files there?
- Copy the file
/var/log/boot.log
to the mount point. - Unmount the image.
Answer the Investigation 6 question in your lab logbook.
Investigation 7 - How to restore/duplicate image of a filesystem?
-
/dev/sda5
was a partition created exactly the same size as/dev/sda1
. We should be able to restore the/dev/sda1
image file to it without any loss of data. - Remember that
/dev/sda5
was unformatted. Restore the image file by using thedd
command:-
dd if=sda1.img of=/dev/sda5
-
- Now attempt to mount
/dev/sda5
onto the mount point/media/harddisk
- Were you successful?
- Does the partition contain a filesystem?
- List the contents of
/media/harddisk
are all 3 files there?
Answer the Investigation 7 question in your lab logbook.
Investigation 8 - Accessing a compressed file system image
- Download lab1-image.bin and copy that file to your mounted hard disk partition (you may need to enter your Learn ID and password). The default download location is
~/Downloads
- To determine the file type of the file
lab1-image.bin
, enter the command:-
file lab1-image.bin
-
- Record the output. What was the original name of the uncompressed file?
- The
file
command in the previous step should also report thatlab1-image.bin
is a gzip compressed data file. - Use the
gunzip
command to uncompress the file. - You will probably receive an error message when you run the
gunzip
command. You may need to rename the file before you can uncompress it successfully. See the man pages for additional information if required. - After you have uncompressed the file rename it to the original name reported in step 3.
- To determine the file type of the file
lab1-image.img
, enter the command:-
file lab1-image.img
-
- Record the output. What type of data does the file contain?
- Mount the file system image. The command should be similar to what you used in investigation 6.
- Copy the contents of the file system image to your desktop.
- To display the specific information about the ext3 file system contained in the file
lab1-image.img
, enter the command:-
dumpe2fs lab1-image.img
-
- From the output, find out the volume name and the block count of the ext3 file system.
Conclusion: Not only can we put a Linux file system on a removeable storage device, or a hard disk partition, we can also create a Linux file system on a regular disk file.
Answer the Investigation 8 question in your lab logbook.
Investigation 9 - How do you create a file system in a regular file?
- Create an empty file that is exactly 3 MB in size using the following command:
-
dd if=/dev/zero of=/tmp/fstest bs=1k count=3072
-
- How does this command ensure that the file is 3 MB in size?
- What is in the file at first?
- Create an ext3 filesystem within the newly-created file
/tmp/fstest
. - Note the warning message/question that appears.
- Mount the filesystem (remember to use the loopback option; refer to Investigation 8 if required). Use a mountpoint of your choosing.
- Copy the files
/etc/services
and/etc/protocols
to the filesystem mounted in the previous step. - Unmount the filesystem.
- Test your filesystem to be sure that the files
/etc/services
and/etc/protocols
were in fact copied into the filesystem within the file named/tmp/fstest
. - How much space is left in that filesystem? (Hint:
df -h
).
Answer the Investigation 9 question in your lab logbook.
Investigation 10 - How can you backup the MBR (Master Boot Record)?
- We can duplicate the first 512 bytes of a hard disk using the dd command. Use this command to backup the MBR of your hard disk:
dd if=/dev/sda of=mbr.bak bs=512 count=1
-
if
is the input file or device -
of
is the output file or device -
bs
is the block size -- 512 bytes (1 sector) in this case -
count
is the number of blocks to be copied
-
- Under what circumstances do you think this will be useful?
Answer the Investigation 10 question in your lab logbook.
Completing the Lab
- USB Formatted as ext3 ( )
- Volume Label is "LAB1" ( )
- USB Mounted on
/media/lab-one
( ) - Following files on USB services, networks ( )
-
/dev/sda5
contains 3 files ( ) - jpg on Desktop ( )
-
/tmp/fstest
mounted ( ) - Complete and detailed lab notes
- Disk pack is labelled with your name and contact information ( )
Preparing for the Quizzes
The online readings linked on the course web page contain some useful information about Free and Open Source Software. Use them and Internet searches to answer the following questions to help you prepare for the quizzes:
- Who is Linus Torvalds?
- Name 3 open source software projects widely used today?
- What license agreement does GNU/Linux use?
- What are the 4 basic software freedoms that define "Free Software"?
- Who makes up the Fedora Community?
- Name 4 other significant Linux "Distros"
- What command can you use to determine the type of data a file contains?
- What are 3 journalled filesystems supported by Linux?
- What command will create a Linux ext3 file system on
/dev/sdb5
, with a volume label called "ops235"? - What is the main function of the
fdisk
utility? - What command is used to attach the file system on a storage device (e.g. hard disk partition, flash memory card etc) to the file system on a running Linux/UNIX system?
- What command is used to detach the file system on a storage medium from the file system on a running Linux/UNIX system?
- What type of files are stored in the
/dev
directory? - Is the
dd
command used to copy multiple files to another directory?
Useful Information
Hard disk partition names (disk drive is x)
Partition | 1 | 2 | 3 | 4 | 5 | 6 | ... |
---|---|---|---|---|---|---|---|
Type | primary, extended | primary, extended | primary, extended | primary, extended | logical | logical | logical |
Linux Name | /dev/sdx1 | /dev/sdx2 | /dev/sdx3 | /dev/sdx4 | /dev/sdx5 | /dev/sdx6 | /dev/sdx7 -- sdx15 |