1,885
edits
Changes
Created page with '= Using Linux to Access Block Devices and Filesystems = == Objectives == * Format, mount, use, and unmount ext2, ext3, and vfat filesystems on USB flash drives. * Create filesys...'
= Using Linux to Access Block Devices and Filesystems =
== Objectives ==
* Format, mount, use, and unmount ext2, ext3, and vfat filesystems on USB flash drives.
* Create filesystems on various storage devices
== Reference ==
* [http://linuxmanpages.com/ man pages] for cp, mount, umount, fdisk, mkdir, file, mke2fs, mkfs, dumpe2fs
* Online reading material for weeks 1 and 2.
== Required materials ==
* [[http://fedoraproject.org/get-fedora Fedora 12]] Live CD
* USB flash drive, 1 GB or more in size (Warning: the contents of this drive will be erased)
== 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)
{{Admon/important|Using Superuser Privilege|Throughout this course, you may need to execute commands using the privileges of the the administrative user (username "root", also called the "superuser"). To switch from your account to the root account, type the command: <code>su -</code>
After switching user notice and make note of the change in your shell prompt. Also note the difference in output for the <code>whoami</code> and <code>pwd</code> commands.
Whenever this is required, make a note of it, and determine why superuser privilege is required.
When you are finished using the root account type exit to return to your previous account. Avoid using the superuser account unless absolutely necessary, because the superuser account has unlimited privilege and a typo can destroy your system.
}}
{{Admon/note|Disabling the Auto-mounting of Devices|At this point we need to disable the ability for our linux system to automatically detect and mount removeable media. This would interfere with the learning objectives of the rest of the lab. To do this enter the command: <code>pkill hald</code>. '''You will need to do this again if you reboot during this lab.'''}}
=== 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 <code>/media/usb</code> (These steps should be done as "root")
# Next we need to use the mount command to mount the device. Try typing the following command: <code>mount -t vfat /dev/sdb1 /media/usb</code>. This command contains 3 important pieces of information (command arguments):
#* <code>-t vfat</code> tells the mount command to mount it as a FAT filesystem. (Most likely choice for a USB flash drive)
#* <code>/dev/sdb1</code> tells the mount command which device to mount. (If this didn't work try <code>/dev/sdc1</code> or <code>/dev/sda1</code>)
#* <code>/media/usb</code> 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 9. 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 17.
# Type the command mount and observe the output. What is different from step 14? 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 ext2 filesystem? ===
# Unmount your USB flash drive.
# Enter the command: <code>mkfs -t ext2 /dev/sda1</code>
#* 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 <code>lost+found</code> directory is for. Record your findings in your notes.
# Create a new file on the device using the same technique used in step 16.
# 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 step 14.
# 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 <code>mkfs</code> and <code>mkfs.ext3</code> to see how to reformat the device to a ext3 file system with a volume label that is the same as your learn ID.
# Enter the command to reformat the device. {{Admon/tip|Flash drives with no partition table|If your device name ends in a letter (for example, it is <code>/dev/sda</code> instead of <code>/dev/sda1</code>), add <code>-I</code> to the command. This is because your USB flash drive does not have a partition table, which normally causes an error; the <code>-I</code> option tells mkfs to proceed anyways.}}
# The dumpe2fs /dev/sda1 command will allow us to see detailed information about ext2/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/sda1
# Now mount your device. Was it successfull? Try mounting it as ext2. Was it successfull? What has happened to the filesystem on the device?
# Reformat it as vfat and mount it.
# Unmount the device.
Answer the Investigation 2 question.
=== Final Task - Copy some files from your system to a USB flash drive in Fedora Linux ===
Task: Reformat your USB flash drive as an ext2 filesystem with a volume label of "LAB1" and copy the files /etc/services, /etc/issue and /etc/networks to it. Mount your flash drive on /media/lab-one and show it to your Professor along with your detailed lab notes.
=== Completing the Lab ===
Arrange evidence of each of the following items on the screen, and then ask your professor or lab monitor to check them:
# USB Formatted as ext2 ( )
# Volume Label is "LAB1" ( )
# USB Mounted on /media/lab-one ( )
# Following files on USB services, issue, networks ( )
# Instructor satisfied with complete and detailed lab notes ( )
== 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"
== Objectives ==
* Format, mount, use, and unmount ext2, ext3, and vfat filesystems on USB flash drives.
* Create filesystems on various storage devices
== Reference ==
* [http://linuxmanpages.com/ man pages] for cp, mount, umount, fdisk, mkdir, file, mke2fs, mkfs, dumpe2fs
* Online reading material for weeks 1 and 2.
== Required materials ==
* [[http://fedoraproject.org/get-fedora Fedora 12]] Live CD
* USB flash drive, 1 GB or more in size (Warning: the contents of this drive will be erased)
== 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)
{{Admon/important|Using Superuser Privilege|Throughout this course, you may need to execute commands using the privileges of the the administrative user (username "root", also called the "superuser"). To switch from your account to the root account, type the command: <code>su -</code>
After switching user notice and make note of the change in your shell prompt. Also note the difference in output for the <code>whoami</code> and <code>pwd</code> commands.
Whenever this is required, make a note of it, and determine why superuser privilege is required.
When you are finished using the root account type exit to return to your previous account. Avoid using the superuser account unless absolutely necessary, because the superuser account has unlimited privilege and a typo can destroy your system.
}}
{{Admon/note|Disabling the Auto-mounting of Devices|At this point we need to disable the ability for our linux system to automatically detect and mount removeable media. This would interfere with the learning objectives of the rest of the lab. To do this enter the command: <code>pkill hald</code>. '''You will need to do this again if you reboot during this lab.'''}}
=== 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 <code>/media/usb</code> (These steps should be done as "root")
# Next we need to use the mount command to mount the device. Try typing the following command: <code>mount -t vfat /dev/sdb1 /media/usb</code>. This command contains 3 important pieces of information (command arguments):
#* <code>-t vfat</code> tells the mount command to mount it as a FAT filesystem. (Most likely choice for a USB flash drive)
#* <code>/dev/sdb1</code> tells the mount command which device to mount. (If this didn't work try <code>/dev/sdc1</code> or <code>/dev/sda1</code>)
#* <code>/media/usb</code> 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 9. 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 17.
# Type the command mount and observe the output. What is different from step 14? 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 ext2 filesystem? ===
# Unmount your USB flash drive.
# Enter the command: <code>mkfs -t ext2 /dev/sda1</code>
#* 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 <code>lost+found</code> directory is for. Record your findings in your notes.
# Create a new file on the device using the same technique used in step 16.
# 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 step 14.
# 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 <code>mkfs</code> and <code>mkfs.ext3</code> to see how to reformat the device to a ext3 file system with a volume label that is the same as your learn ID.
# Enter the command to reformat the device. {{Admon/tip|Flash drives with no partition table|If your device name ends in a letter (for example, it is <code>/dev/sda</code> instead of <code>/dev/sda1</code>), add <code>-I</code> to the command. This is because your USB flash drive does not have a partition table, which normally causes an error; the <code>-I</code> option tells mkfs to proceed anyways.}}
# The dumpe2fs /dev/sda1 command will allow us to see detailed information about ext2/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/sda1
# Now mount your device. Was it successfull? Try mounting it as ext2. Was it successfull? What has happened to the filesystem on the device?
# Reformat it as vfat and mount it.
# Unmount the device.
Answer the Investigation 2 question.
=== Final Task - Copy some files from your system to a USB flash drive in Fedora Linux ===
Task: Reformat your USB flash drive as an ext2 filesystem with a volume label of "LAB1" and copy the files /etc/services, /etc/issue and /etc/networks to it. Mount your flash drive on /media/lab-one and show it to your Professor along with your detailed lab notes.
=== Completing the Lab ===
Arrange evidence of each of the following items on the screen, and then ask your professor or lab monitor to check them:
# USB Formatted as ext2 ( )
# Volume Label is "LAB1" ( )
# USB Mounted on /media/lab-one ( )
# Following files on USB services, issue, networks ( )
# Instructor satisfied with complete and detailed lab notes ( )
== 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"