Difference between revisions of "OPS235 Assignment 1 Fall 2013"

From CDOT Wiki
Jump to: navigation, search
(Exploring Your Options)
 
(71 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Admon/note | Please take note! | Doing your assignment is part of your ongoing learning process. As such you will be tested on this material in future tests and exams. If you have any questions or need help, please consult your instructor in a timely manner. The due date for this assignment will not be extended. As it must be marked in class.
+
{{Admon/caution|THIS IS AN OLD VERSION OF THE ASSIGNMENT|'''This is an archived version. Do not use this in your OPS235 course.'''}}
This assignment will be marked partially through demonstration and partially through the submission of files.}}
+
= OPS235 Assignment 1 =
  
{{Admon/important | Important/warning! | Complete all parts of this assignment on your <code>fedora2</code> virtual machine '''except''' for the installation of Linux on a new VM. Before starting your assignment make a backup of your virtual machine following the instructions in lab 3.}}
+
'''Weight''': 5% of the overall grade
  
=OPS235 Assignment #1 -- Winter 2010=
+
'''Due Date''': Week 7 (in class)
  
Weight: 5% of the overall grade<br>
+
== Create a new virtual machine ==
Due Date:  First week after study week.<br>
+
# It doesn't matter whether you use the Fedora Live CD or Installation DVD for this.
(Check with your Professor for exact date)<br>
+
# The virtual machine name and the hostname for the machine must be your learn user ID.
Due at the start of class.
+
# The regular user you create during installation must also be your learn user ID.
 +
# Make sure that LVM is used for your new system, "Use all space" should take care of that.
  
{{Admon/important | Very Important! | Before making any changes to your system configuration, backup the original configuration files into the <code>/backups</code> directory.}}
+
The rest of this assignment should be done after the installation is completed successfully.
  
==Basic Chores==
+
== LVM/fstab ==
 +
# Add two more drives to your virtual machine, 1GB each.
 +
# Add your new drives to the existing volume group.
 +
# Create a new logical volume using all available space in the volume group, call it lv_extra
 +
# Create a directory named "extra" in your home directory.
 +
# Make a change to your fstab so that lv_extra can be mounted on that new directory when the command "mount /home/youruser/extra" is issued.
 +
# Make sure that the mount command can be issued successfully by your regular user.
 +
# Aso make sure lv_extra is not mounted automatically at boot.
  
'''Complete the following tasks on your system (4 points for each completed task).'''
+
== Package Management ==
{{Admon/note | Important | To complete the first task you may need to create an additional virtual disk image for the <code>fedora2</code> virtual machine.}}
 
  
#Setup your system so that the command <code>mount /assignmentdir</code> -- executed by any user -- will attach the logical volume <code>assignment-vol</code> from the volume group called <code>ASSIGNMENTGROUP</code> (minimum 100 MB) to the mountpoint <code>/assignmentdir</code> (The volume should NOT be automatically mounted at boot time)
+
Research the <code>rpm</code> and <code>yum</code> commands to:
#Setup your system login message to say '''The Open Source Community Is About Freedom And Choice''' (to be displayed on all virtual consoles after the login prompt)
 
#Setup your system login banner to say '''Free as in --Free of Charge-- is good too.''' (User should see this before login to the system)
 
#Setup your system so that every user has a command alias called <code>rmtempdir</code> which will delete the contents of a directory called <code>~/temp</code> '''NOT''' the <code>/tmp</code> directory.
 
  
==Finding your way==
+
# Verify the integrity of a package using <code>rpm</code> to see if any of its files have been altered since installation. (you will be asked to demonstrate this when your assignment is marked)
 +
# Add the [http://rpmfusion.org/ rpmfusion.org] repository to the yum configuration. (you will be asked to demonstrate installing a package from the rpmfusion repository when your assignment is marked)
  
'''Research on your Fedora system to come up with sets of commands to accomplish the following tasks :(5 points for each completed task)'''
+
== Alternate Software Installation ==
  
#Display a list of all the files under the <code>/etc</code> directory and its sub-directories that have been created or modified within the last 4 hours.
+
Review the <code>yum group*</code> commands and use them to:
#Display a list of all the files under the <code>/var</code> directory and all its sub-directories that have been created or modified today (since mid-night).
 
#Display a list of all the files under the <code>/boot</code> directory and all its sub-directories that have been accessed or modified  within the last 30 minutes
 
#Display a list of all the files under the <code>/home</code> directory and all its sub-directories that were last modified more than 4 days ago
 
  
Put each set of commands in a separate file. Name the file for task (1) as ass1-1, task (2) as ass1-2, etc. It must be possible to run these script files simply by typing their name (set the permissions appropriately).
+
# Find and install the XFCE dektop environment discussed in the following article: [http://www.osnews.com/story.php/5478/XFce-4--A-Refreshingly-Solid-Desktop XFCE Review]
 +
# Do the rest of the assignment (including the assignment submission) while running XFCE.
  
==To sudo or not to sudo==
+
Review the procedures for compiling and installing software from source code and use them to:
 +
# Download and extract the source code for ISO Master.
 +
# Compile and install it (you will need gtk2-devel installed).
 +
# Now run it and have a look at the Help/About dialog box. You will have to change the contents of that box.
 +
# Edit the file about.c in the source you use earlier, and change "An application for editing ISO9660 images based on the bkisofs access library and the GTK2 GUI toolkit." to "An application used by YOURNAME for OPS235 Assignment 1".
 +
# Compile and install the application again, exactly the same way you did the first time. Your change should be simple enough that complicated bugs are unlikely.
  
'''Study the man page for the <code>sudo</code> command and:'''
+
== Install a second Linux distribution as a Virtual Machine ==
  
#Update sudo's configuration file (using the proper program) to allow your Learn account to run <code>sudo</code> for the following commands as <code>root</code>:  (8 points)
+
* Create another virtual machine.
#*<code>mkfs</code>
+
* The virtual machine name and the hostname for the machine must be your learn user ID followed by -mint. For example asmith15-mint
#*<code>fdisk</code>
+
* Install Linux Mint in the new virtual machine.
#*<code>ifconfig</code>
 
#*<code>less</code>
 
#Create a new user called <code>helper</code> and allow this user to run <code>sudo</code> for the following commands as your learn account: (4 points)
 
#*<code>find</code>
 
#*<code>grep</code>
 
  
{{Admon/tip | Bonus Marks: | Allowing access to the <code>less</code> command through <code>sudo</code> creates a serious security issue. For '''5 BONUS MARKS''' Research why this is so and write a short paragraph describing your findings. Submit your typed response to your Professor on the day your assignment is marked.}}
+
== Submission ==
  
==Package Management==
+
'''Due date:''' When you are ready for your assignment #1 to be marked, call over your instructor. Students that do not have ALL required information for instructor to mark their assignment #1 will automatically lose 20% of their assignment mark (deducted from total assignment mark calculation).  In that case you may show me your submission in the second lab that week instead. Assignments submitted after that will receive a grade of 0, but must still be completed satisfactorily in order to pass the course.
  
'''Research the <code>rpm</code> and <code>yum</code> commands to:'''
+
'''Ready to show:''' open terminal windows having run the commands necessary to show all the required items in the rubric below. It is ok to switch windows and virtual machines while submitting your assignment, but you should not need to run any commands.
  
#Verify the integrity of a package using <code>rpm</code> to see if any of its files have been altered since installation. (you will be asked to demonstrate this when your assignment is marked)(4 points)
+
If you have questions about the assignment - please wait until everyone's assignment is submitted and ask your question after that.
#Add the [http://rpmfusion.org/ rpmfusion.org] repository to the yum configuration. (you will be asked to demonstrate installing a package from the rpmfusion repository when your assignment is marked) (4 points)
 
  
==Alternate Software Installation==
+
== Rubric ==
  
'''Review the <code>yum group*</code> commands and use them to: (5 points)
+
{| class="wikitable" border="1"
 
+
! Task !!  Maximum mark !! Actual mark
#Find and install the XFCE dektop environment discussed in the following article: [http://www.osnews.com/story.php/5478/XFce-4--A-Refreshingly-Solid-Desktop XFCE Review]
+
|-
#*You will be asked to demonstrate how to switch to this desktop environment and back again without restarting the X server.
+
| New Fedora VM installed || 1 ||
 
+
|-
'''Review the procedures for compiling and installing software from source code and use them to: (7 points)'''
+
| Correct VM name / hostname / username || 2 ||
#Find and install the E3 text editor from source code. The project page for it can be found here: [http://freshmeat.net/projects/e3 E3 Project]
+
|-
#*You will be asked to demonstrate how to create a file using this editor.
+
| Two 1GB virtual drives added || 2 ||
 
+
|-
==SysAdmin Portion==
+
| 2GB lv_extra || 2 ||
 
+
|-
'''Create a bash script called <code>/bin/snapshot.sh</code> to record the following information: (6 points)'''
+
| No space left available in the VG || 2 ||
*A list of all recent bad login attempts.
+
|-
*A list of Logical Volumes, Physical Volumes, and Volume Groups.
+
| Correct fstab entry || 2 ||
*A report of all mounted filesystems, the amount of space used and the amount of space available.
+
|-
*The information should be appended to the file <code>/var/log/mysnapshot.txt</code>
+
| RPM integrity verification command || 2 ||
 
+
|-
'''Research the <code>at</code> command and and schedule your script to execute at 2:00am on Wednesday March 31st. (2 points)'''
+
| Installing package from rpmfusion.org || 2 ||
 +
|-
 +
| Using XFCE || 2 ||
 +
|-
 +
| Modified ISO Master about dialog box || 2 ||
 +
|-
 +
| Other linux installed and running, one terminal window open || 2 ||
 +
|-
 +
| Everything ready to show when professor comes by to look || 2 ||
 +
|-
 +
| '''Total''' || 23 ||
  
==Exploring Your Options==
 
 
'''Research and install one software application for each of the following tasks: (4 points)'''
 
 
*Desktop Publishing
 
*Video Editing
 
*Accounting/Bookkeeping
 
*First Person Shooter Game
 
 
{| style="float: right; margin: 0 0 3em 2em; border: 1px solid black;"
 
!style="background: #cccccc"| Assigned 2nd Distros for Winter 2010
 
|-
 
|[[OPS235_A1W10_A|Section A]]<br/>
 
[[OPS235_A1W10_B|Section B]]<br/>
 
[[OPS235_A1W10_C|Section C]]<br/>
 
[[OPS235_A1W10_D|Section D]]<br/>
 
[[OPS235_A1W10_E|Section E]]<br/>
 
[[OPS235_A1W10_F|Section F]]<br/>
 
[[OPS235_A1W10_G|Section G]]<br/>
 
 
|}
 
|}
  
'''Install a second Linux distribution as a Virtual Machine. (10 points)'''
+
= Old Assignments =
 
 
You will be asked to demonstrate booting the 2nd distro in class. To determine which Linux distribution to install, click on your section in the list to the right, then find your student ID number.
 
 
 
{{Admon/important|Install the second Linux distribution in a new VM on your disk pack|Do NOT install the second Linux distro on <code>fedora2</code> -- create a new VM on your disk pack and install it there.}}
 
 
 
==Submitting your assignment==
 
 
 
'''(10 points)'''
 
 
 
*'''Parts 4, 5, & 7 will be marked in class'''
 
*'''Parts 1, 2, 3, & 6 must be submitted on a filesystem image.'''
 
 
 
'''Make an 2MB (2048 1k blocks) ext2 formatted image file with a filesystem label that is your LearnID.'''
 
 
 
'''The image file should have the name <code><learnid>.img</code>.'''
 
 
'''Copy the following files to the image file:'''
 
 
 
*<code>/etc/fstab</code>
 
*<code>/etc/issue</code>
 
*<code>/etc/motd</code>
 
*<code>/etc/bashrc</code>
 
*<code>/bin/snapshot.sh</code>
 
*<code>/etc/sudoers</code>
 
 
 
'''Copy all of the script files created in part 2 to the image file.'''
 
 
 
'''Execute the following commands on your system:'''
 
 
 
*<code>atq >> assign1.data</code>
 
*<code>lvs >> assign1.data</code>
 
*<code>vgs >> assign1.data</code>
 
*<code>pvs >> assign1.data</code>
 
 
 
'''Copy your <code>assign1.data</code> file to the filesystem image.'''
 
  
'''Create a file called <code>backups.txt</code> that contains a directory listing of your <code>/backups</code> directory.'''
+
Still here for historical purposes. Obviously you don't need to do them.
  
'''Copy the file called <code>backups.txt</code> to the filesystem image.'''
+
* [[OPS235_Assignment_1/W12]]
  
'''Upload the file system image file to http://cs.senecac.on.ca/~brian.gray/cgi-bin/assign1.cgi'''
+
[[Category:OPS235]]

Latest revision as of 12:02, 27 November 2019

Stop (medium size).png
THIS IS AN OLD VERSION OF THE ASSIGNMENT
This is an archived version. Do not use this in your OPS235 course.

OPS235 Assignment 1

Weight: 5% of the overall grade

Due Date: Week 7 (in class)

Create a new virtual machine

  1. It doesn't matter whether you use the Fedora Live CD or Installation DVD for this.
  2. The virtual machine name and the hostname for the machine must be your learn user ID.
  3. The regular user you create during installation must also be your learn user ID.
  4. Make sure that LVM is used for your new system, "Use all space" should take care of that.

The rest of this assignment should be done after the installation is completed successfully.

LVM/fstab

  1. Add two more drives to your virtual machine, 1GB each.
  2. Add your new drives to the existing volume group.
  3. Create a new logical volume using all available space in the volume group, call it lv_extra
  4. Create a directory named "extra" in your home directory.
  5. Make a change to your fstab so that lv_extra can be mounted on that new directory when the command "mount /home/youruser/extra" is issued.
  6. Make sure that the mount command can be issued successfully by your regular user.
  7. Aso make sure lv_extra is not mounted automatically at boot.

Package Management

Research the rpm and yum commands to:

  1. Verify the integrity of a package using rpm to see if any of its files have been altered since installation. (you will be asked to demonstrate this when your assignment is marked)
  2. Add the rpmfusion.org repository to the yum configuration. (you will be asked to demonstrate installing a package from the rpmfusion repository when your assignment is marked)

Alternate Software Installation

Review the yum group* commands and use them to:

  1. Find and install the XFCE dektop environment discussed in the following article: XFCE Review
  2. Do the rest of the assignment (including the assignment submission) while running XFCE.

Review the procedures for compiling and installing software from source code and use them to:

  1. Download and extract the source code for ISO Master.
  2. Compile and install it (you will need gtk2-devel installed).
  3. Now run it and have a look at the Help/About dialog box. You will have to change the contents of that box.
  4. Edit the file about.c in the source you use earlier, and change "An application for editing ISO9660 images based on the bkisofs access library and the GTK2 GUI toolkit." to "An application used by YOURNAME for OPS235 Assignment 1".
  5. Compile and install the application again, exactly the same way you did the first time. Your change should be simple enough that complicated bugs are unlikely.

Install a second Linux distribution as a Virtual Machine

  • Create another virtual machine.
  • The virtual machine name and the hostname for the machine must be your learn user ID followed by -mint. For example asmith15-mint
  • Install Linux Mint in the new virtual machine.

Submission

Due date: When you are ready for your assignment #1 to be marked, call over your instructor. Students that do not have ALL required information for instructor to mark their assignment #1 will automatically lose 20% of their assignment mark (deducted from total assignment mark calculation). In that case you may show me your submission in the second lab that week instead. Assignments submitted after that will receive a grade of 0, but must still be completed satisfactorily in order to pass the course.

Ready to show: open terminal windows having run the commands necessary to show all the required items in the rubric below. It is ok to switch windows and virtual machines while submitting your assignment, but you should not need to run any commands.

If you have questions about the assignment - please wait until everyone's assignment is submitted and ask your question after that.

Rubric

Task Maximum mark Actual mark
New Fedora VM installed 1
Correct VM name / hostname / username 2
Two 1GB virtual drives added 2
2GB lv_extra 2
No space left available in the VG 2
Correct fstab entry 2
RPM integrity verification command 2
Installing package from rpmfusion.org 2
Using XFCE 2
Modified ISO Master about dialog box 2
Other linux installed and running, one terminal window open 2
Everything ready to show when professor comes by to look 2
Total 23

Old Assignments

Still here for historical purposes. Obviously you don't need to do them.