Difference between revisions of "OSL740 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Creating initial page)
 
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:OSL740]][[Category:peter.callaghan]]
 
[[Category:OSL740]][[Category:peter.callaghan]]
{| style="float: right; margin: 0 0 3em 2em; border: 1px solid black;"
+
= Winter 2023=
!style="background: #cccccc"| Quick Links
+
This schedule is a considered to be a general guideline for week-by-week content. Due dates may vary per instructor.
|-
 
|<div style="background:#ffff00">[[OSL740 Weekly Schedule|Weekly Schedule]]</div>[https://ict.senecacollege.ca/course/OSL740 Course Outline]
 
|-
 
!style="background: #cccccc"| Assignments
 
|-
 
<!--|[https://wiki.cdot.senecacollege.ca/wiki/OSL740_Assignment_1 Assignment 1]-->
 
|Assignment 1
 
|-
 
|Assignment 2
 
<!--[[OSL740 Assignment 2|Assignment 2]]-->
 
|}
 
  
= Welcome to OSL740 - ''Administration of Open Source Systems'' =
+
{| class="wikitable"
{| width="100%" align="right" cellpadding="10"
+
!style="width: 10%"|Week
|- valign="top"
+
!style="width: 30%"|Objectives and Tasks
| width="55%"|
+
!References
== What This Course is About ==
+
!style="width: 30%"|Labs
 +
|- style="vertical-align:top;"
 +
|'''Week 1:'''<br>08 - 12 May
 +
|'''Create a CentOS Linux VM in VMware:'''
 +
*Install CentOS (Full Install) in VMware Workstation application (create customized partitions)
 +
*Shell Scripting
 +
*Obtain System Information
 +
|'''Lecture Notes:'''
 +
<!--*[https://ict.senecacollege.ca/~ops245/slides/w1-l1.pptx Welcome to OPS245!]-->
 +
*[https://www.dropbox.com/s/4haxp0xwbi3o9fj/w1-l2.pptx?dl=1 Installing Linux]
 +
|[[OSL740 Lab 1|Lab 1: Installing CentOS 7 with VMWare Workstation]]
  
<u>This course is the second in a series of courses about Linux technologies</u>
 
  
:* OSL640 taught you to be a Linux ''user''. In OSL740, you will move from being a Linux ''user'' to being a Linux system ''administrator''.
+
<p>'''WARNING:'''
 +
<br>'''If working from home, use VMware Workstation (Windows/Linux) or VMware Fusion (macOS).'''
  
:* As a system administrator, you will be responsible for installing, configuring, adjusting, maintaining, and troubleshooting the operation of computer systems. This is a lot of responsibility, and with that responsibility comes power. You will be able to change anything on the system, and you will also have the ability to damage or destroy the system.
+
<br><br>'''Do not use any other virtualization software!'''
  
:* In addition to manually configuring machines, you will learn to use bash and Python to automate some configuration tasks.  Although this course will not cover the full features of either language, it will serve as an introduction to scripting and automation to make you a more capable and efficient system administrator.
 
  
:* In this course you use an external SSD drive (USB 3) with the lab computers to set up a Linux system. You will also set up at least four additional Linux systems using "Virtual Machines", and therefore gain experience with different types of system configurations as well as setting up networking between systems.
+
|- style="vertical-align:top;"
 +
|'''Week 2:'''<br>15 - 19 May
 +
|'''Post-Installation Tasks:'''
 +
*Post-Install Commands
 +
*Bash Shell Scripting Essentials
 +
*Introduction to Python Scripting
 +
*Using a Python Shell Script to Create a Post Installation Report
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/0ltyu91p1wnzga1/w2-l1.pptx?dl=1 Python Scripting (part 1)]
  
:* The next course in the OSL stream will expand on what you learn here and teach you to administer Linux servers (web servers, DNS servers, FTP servers, file sharing servers) -- and to use more complex Python scripting to boost your system administration efficiency.
+
|'''Scripting Practice:'''
 +
*[[OSL740_Scripting_Exercises | OSL740 Scripting Exercises]]
  
== Learning by Doing ==
+
|- style="vertical-align:top;"
 +
|'''Week 3:'''<br>22 - 26 May
 +
|'''Creating & Using Virtual Machines'''
 +
*Installing and Using Virtualization Software
 +
*Installing Guest VMs
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/eea1p3q9noruddg/w3-l1.pptx?dl=1 Installing Virtual Machines]
 +
*[https://www.dropbox.com/s/81bu4ejorsju1px/w3-l2.pptx?dl=1 Python Scripting (part 2)]
 +
'''Script Samples:'''
 +
*[https://www.dropbox.com/s/zghzz1buba69uev/menu.py?dl=1 menu.py]
 +
*[https://www.dropbox.com/s/mhqktafdpgyl8ej/if1.py?dl=1 if1.py]
 +
*[https://www.dropbox.com/s/c84qd7letrdjy5q/twoif.py?dl=1 twoif.py]
 +
*[https://www.dropbox.com/s/lwmqwf1z6zlvgls/if2.py?dl=1 if2.py]
 +
*[https://www.dropbox.com/s/23jf41sm27dgx14/if3.py?dl=1 if3.py]
 +
*[https://www.dropbox.com/s/57qk32m33e8xh0e/if4.py?dl=1 if4.py]
 +
*[https://www.dropbox.com/s/1xjjad2apjsredg/if5.py?dl=1 if5.py]
 +
|[[OSL740 Lab 2|Lab 2: Creating and Using Virtual Machines]]
  
Most of the learning in this course occurs through the hands-on problem solving that takes place in the eight labs and two assignments.
+
|- style="vertical-align:top;"
 +
|'''Week 4:'''<br>29 May  - 02 June
 +
|'''Creating & Using Virtual Machines / Continued:'''
 +
*Manipulating Virtual Machines
 +
*Backing-up Virtual Machines
 +
*Manipulating Virtual Machines with Shell Scripts
 +
*Decision Making in Python Scripts
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/lf4ctrf456geu3z/w4-l1.pptx?dl=1 Managing Virtual Machines]
 +
*[https://www.dropbox.com/s/58jmn3ytdijf371/w4-l2.pptx?dl=1 Python Scripting (part 3)]
 +
'''Script Samples:'''
 +
*[https://www.dropbox.com/s/sorkj6d0ciz386g/userprint.py?dl=1 userprint.py]
 +
*[https://www.dropbox.com/s/k4j5kkmi53zvz6y/countup.py?dl=1 countup.py]
 +
*[https://www.dropbox.com/s/j329vtfbzfrc4ll/countup2.py?dl=1 countup2.py]
  
<u>Requirements for Success</u>
+
|
  
:* It is very important to stay up-to-date with the coursework, and to practice until you have confidently mastered each task.
 
  
:* All of the software used in this course is ''open source'' software, so you are free to use, modify, and redistribute it. This means that you can install it as many times as you want on as many different computers as you would like. It also means that you can tinker with it -- you can take it apart, see how it works, and put it back together in the same or a different way, limited only by your time and ambition. You are encouraged to experiment and question liberally.
+
|- style="vertical-align:top;"
 +
|'''Week 5:'''<br>05 - 09 June
 +
|'''Troubleshooting, Archiving, Package Management:'''
 +
*Common Troubleshooting Examples
 +
*Archiving Files
 +
*Package Management
 +
*Looping in Python scripts
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/45uhysjtaubbipp/w5-l1.pptx?dl=1 Troubleshooting, Archiving, Package Management]
 +
*[https://www.dropbox.com/s/y02ovj0zaskykuk/w5-l2.pptx?dl=1 Python Scripting (part 4)]
 +
|[[OSL740 Lab 3|Lab 3: Troubleshooting, Archiving, and Packages]]
  
:* The notes that you make during the labs and assignments are your reference material for the quizzes, tests, and assignments. Take really good notes, and if you have questions, experiment and consult with your professor.
+
|- style="vertical-align:top;"
 +
|'''Week 6:'''<br>12 - 16 June
 +
|'''Managing Users, Groups & Services:'''
 +
*User Management
 +
*Group Management
 +
*Service Status
 +
*Starting / Stopping Services
 +
*Command Line Arguments in Python Scripts
 +
'''Evaluation:'''
 +
*Assignment 1
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/bknq79t3nvw0vmm/w6-l1.pptx?dl=1 Managing Users, Groups & Services]
 +
*[https://www.dropbox.com/s/dqu8oeguuu53hjl/w6-l2.pptx?dl=1 Managing Sudo]
 +
*[https://www.dropbox.com/s/432n67vzbjlzu8m/w6-l3.pptx?dl=1 Python Scripting (part 5)]
 +
'''Script Samples:'''
 +
*[https://www.dropbox.com/s/w2iivrlgyg7il6b/pizza1.py?dl=1 pizza1.py]
 +
*[https://www.dropbox.com/s/mjdgqbqmjgsgji2/pizza2.py?dl=1 pizza2.py]
 +
*[https://www.dropbox.com/s/ojfy3vpsi8y7ktq/pizza2.1.py?dl=1 pizza2.1.py]
 +
*[https://www.dropbox.com/s/i0ryrg7xbgqnuzo/pizza3.py?dl=1 pizza3.py]
 +
|[[OSL740 Lab 4|Lab 4: Users, Groups and Services]]
  
:* Carefully read ALL lab instructions and check your work regularly. The labs have been designed with backup safeguards to prevent the student from losing their work. On the other hand, students may lose their work if they fail to follow lab instructions or accidentally forget their removable hard disks in the workstation's hard disk bay drive!
+
|- style="vertical-align:top;"
 +
|'''Week 7:'''<br>29 - 23 June<br>
 +
|'''Evaluation:'''
 +
*Midterm Test
 +
|
 +
|
  
== Course Faculty ==
 
  
'''During the <b>Winter 2022</b> semester, OSL740 is taught by:'''
+
|- style="vertical-align:top;"
 +
!colspan="4" style="text-align:left;"| '''Study Week:'''<br>26 June - 30 June
  
| width="40% |
+
|- style="vertical-align:top;"
 +
|'''Week 8:'''<br>03 - 07 July
 +
|'''Monitoring Disk Space, Intro to LVM'''
 +
*Monitoring Hard Disk Space
 +
*LVM - Definition
 +
*Using LVM
 +
*Creating Shell Scripts to Flag Low Disk Space
 +
*Error Handling in Python Scripts
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/jnqqbpg63u6v3k6/w8-l1.pptx?dl=1 Monitoring Disk Space, <code>crontab</code>]
 +
*[https://www.dropbox.com/s/ghs4kldg86dmjpj/w8-l2.pptx?dl=1 Python Scripting (part 6)]
 +
|[[OSL740 Lab 5|Lab 5: Monitoring Disk Space - Investigation 1]]
  
==Required Materials==
 
<table cellpadding="10" cellspacing="0" width="100%"><tr><td  width="10%" style="border-bottom: thin solid #cccccc;">[[Image:ssd.png|left|95px]]</td><td  width="20%" style="border-bottom: thin solid #cccccc;padding-top:25px;padding-bottom:25px;">'''Solid State Drive (SSD)'''</td><td  width="20%" style="border-bottom: thin solid #cccccc;text-align:right;">'''Minimum Capacity:''' 240 GB</td></tr><tr valign="top"><td  width="10%" style="border-bottom: thin solid #cccccc;">[[Image:blank-cd.png|left|50px]]</td><td  width="20%" style="border-bottom: thin solid #cccccc;">'''CentOS 7 Full Install<br>DVD Image'''</td><td  width="20%" style="border-bottom: thin solid #cccccc;text-align:right;">[https://mirror.senecacollege.ca/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso Download at Seneca Lab]<br>[https://mirror.netflash.net/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso Download from Home]</td></tr><tr><td  width="10%" style="border-bottom: thin solid #cccccc;">[[Image:ubs-key.png|left|50px]]</td><td  width="20%" style="border-bottom: thin solid #cccccc;padding-top:25px;padding-bottom:25px;">'''USB Flash Drive'''<br>(3.0 preferred)</td><td  width="20%" style="border-bottom: thin solid #cccccc;text-align:right;">'''Minimum Capacity:''' 16 GB</td></tr><tr><td  width="10%" style="border-bottom: thin solid #cccccc;">[[Image:log-book.png|left|44px]]</td><td  width="20%" style="border-bottom: thin solid #cccccc;">'''Lab Logbook'''<br>(download &amp; print<br>Both sides per lab permitted)<br><b>NOTE: If you've taken this<br> class in a previous semester, <br>you MAY NOT bring that <br>version of the lab logbook<br>to any testing.</b></td><td  width="20%" style="border-bottom: thin solid #cccccc;text-align:right;">[[:Media:OSL740-Logbook-Online.doc|Download Doc]]</td></tr><tr><td  width="10%" style="border-bottom: thin solid #cccccc;padding-top:25px;padding-bottom:25px;padding-left:25px;"><span style="font-size:3em;font-family:arial;color:red;font-weight:bold;">!</span></td><td  width="20%" style="border-bottom: thin solid #cccccc;">'''Dos and Don'ts'''</td><td  width="20%" style="border-bottom: thin solid #cccccc;text-align:right;">[[OSL740 - Tips|Tips]]</td></tr></table>
 
|}
 
{|cellpadding="15" width="70%"
 
|- valign="top"
 
|[[Image:petercallaghan.jpg|thumb|left|223px|<b>Peter Calaghan</b><br>Section '''NAA'''<br />[mailto:peter.callaghan@senecacollege.ca peter.callaghan@senecacollege.ca]<br /> ]]
 
|[[Image:AhadM_200x200.jpg|thumb|left|230px|<b>Ahad Mammadov</b><br />Section '''NBB'''<br />[mailto:ahad.mammadov@senecacollege.ca ahad.mammmadov@senecacollege.ca]<br /> ]]
 
  
 +
|- style="vertical-align:top;"
 +
|'''Week 9:'''<br>10 - 14 July
 +
|'''Using LVM'''
 +
*Using Logical Volume Manager (LVM)
 +
*Creating Shell Scripts to Flag Low Disk Space
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/r1vwtb2p61asgkr/w9-l1.pptx?dl=1 Introduction to LVM]
 +
*[https://www.dropbox.com/s/ixttb7hovdhaite/w9-l2.pptx?dl=1 Advanced uses of the <code>awk</code> command]
 +
*Demonstration of Growing ''/home'' partition using LVM: [https://youtu.be/4fGQmw9RInYg YouTube]
 +
'''Script Samples:'''
 +
*[https://ict.senecacollege.ca/~ops245/samples/cars cars]
 +
*[https://ict.senecacollege.ca/~ops245/samples/users2.txt users2.txt]
 +
*[https://www.dropbox.com/s/3ijejkbajvrs33r/awkFile1?dl=1 awkFile1]
 +
*[https://www.dropbox.com/s/r6ltcp89vofymls/awkFile2?dl=1 awkFile2]
 +
*[https://www.dropbox.com/s/7wwp6fmuwyhczo3/awkFile3?dl=1 awkFile3]
 +
*[https://www.dropbox.com/s/amd6j0akop9o3em/awkFile4?dl=1 awkFile4]
 +
|[[OSL740 Lab 5#INVESTIGATION 2: MANAGING HARD DISK SPACE USING LVM|Lab 5: Using LVM - Investigation 2]]
  
  
 +
|- style="vertical-align:top;"
 +
|'''Week 10:'''<br>17 -21 July
 +
|'''Configuring a Network Using Virtual Machines'''
 +
*Static Network Configuration
 +
*Network Configuration with a DHCP client
 +
*Basic TCP/IP network commands: <code>ping</code>, <code>ip</code>, <code>ss</code>
 +
*Using Python Scripts to Access Files
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/m40pmj5kq4ndava/w10-l1.pptx?dl=1 Creating a Virtual Network]
 +
*[https://www.dropbox.com/s/72dydlt1s1usbnf/w10-l2.pptx?dl=1 Python Scripting (part 7)]
 +
|[[OSL740 Lab 6|Lab 6: Virtual Networks]]
  
  
|}
+
|- style="vertical-align:top;"
 +
|'''Week 11:'''<br>24 -28 July
 +
|'''Setup and Configure Secure Shell Services'''
 +
*Network Services
 +
*SSH
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/yuerrtir9nfdva2/w11-l1.pptx?dl=1 Securing Network via SSH]
 +
*[https://www.dropbox.com/s/hnzq8wr27dgmn5p/W11-l2.pptx?dl=1 Configuring Firewalls (iptables)]
 +
|[[OSL740 Lab 7|Lab 7: Setup and Configure SSH]]
  
===Evaluation:===
 
* Labs and Quizzes - 25%
 
* Assignments (minimum of 2) - 30%
 
* Tests (minimum of 1) - 20%
 
* Final Assessment - 25%
 
  
== Wiki Participation ==
+
|- style="vertical-align:top;"
 +
|'''Week 12:'''<br>31 July - 04 Aug
 +
|'''Setting Up, Using & Maintaining a DHCP Server'''
 +
*DHCP Server
 +
|'''Lecture Notes:'''
 +
*[https://www.dropbox.com/s/ya14qe2ldh4953u/w12-l1.pptx?dl=1 Setting up a DHCP Server]
 +
|[[OSL740 Lab 8|Lab 8: Setup and Configure a DHCP Server]]
  
* You can edit these pages! Please feel free to fix typos or add links to additional resources. Please use this capability responsibly.
+
 
 +
|- style="vertical-align:top;"
 +
|'''Week 13:'''<br>07 -11 Aug
 +
|'''Evaluation:'''
 +
*Assignment 2
 +
|
 +
|
 +
 
 +
|- style="vertical-align:top;"
 +
|'''Week 14:'''<br>14 - 18 Aug
 +
|'''Evaluation:'''
 +
*Final Exam
 +
|
 +
|

Latest revision as of 21:45, 29 April 2023

Winter 2023

This schedule is a considered to be a general guideline for week-by-week content. Due dates may vary per instructor.

Week Objectives and Tasks References Labs
Week 1:
08 - 12 May
Create a CentOS Linux VM in VMware:
  • Install CentOS (Full Install) in VMware Workstation application (create customized partitions)
  • Shell Scripting
  • Obtain System Information
Lecture Notes: Lab 1: Installing CentOS 7 with VMWare Workstation


WARNING:
If working from home, use VMware Workstation (Windows/Linux) or VMware Fusion (macOS).

Do not use any other virtualization software!

Week 2:
15 - 19 May
Post-Installation Tasks:
  • Post-Install Commands
  • Bash Shell Scripting Essentials
  • Introduction to Python Scripting
  • Using a Python Shell Script to Create a Post Installation Report
Lecture Notes: Scripting Practice:
Week 3:
22 - 26 May
Creating & Using Virtual Machines
  • Installing and Using Virtualization Software
  • Installing Guest VMs
Lecture Notes:

Script Samples:

Lab 2: Creating and Using Virtual Machines
Week 4:
29 May - 02 June
Creating & Using Virtual Machines / Continued:
  • Manipulating Virtual Machines
  • Backing-up Virtual Machines
  • Manipulating Virtual Machines with Shell Scripts
  • Decision Making in Python Scripts
Lecture Notes:

Script Samples:


Week 5:
05 - 09 June
Troubleshooting, Archiving, Package Management:
  • Common Troubleshooting Examples
  • Archiving Files
  • Package Management
  • Looping in Python scripts
Lecture Notes: Lab 3: Troubleshooting, Archiving, and Packages
Week 6:
12 - 16 June
Managing Users, Groups & Services:
  • User Management
  • Group Management
  • Service Status
  • Starting / Stopping Services
  • Command Line Arguments in Python Scripts

Evaluation:

  • Assignment 1
Lecture Notes:

Script Samples:

Lab 4: Users, Groups and Services
Week 7:
29 - 23 June
Evaluation:
  • Midterm Test


Study Week:
26 June - 30 June
Week 8:
03 - 07 July
Monitoring Disk Space, Intro to LVM
  • Monitoring Hard Disk Space
  • LVM - Definition
  • Using LVM
  • Creating Shell Scripts to Flag Low Disk Space
  • Error Handling in Python Scripts
Lecture Notes: Lab 5: Monitoring Disk Space - Investigation 1


Week 9:
10 - 14 July
Using LVM
  • Using Logical Volume Manager (LVM)
  • Creating Shell Scripts to Flag Low Disk Space
Lecture Notes:

Script Samples:

Lab 5: Using LVM - Investigation 2


Week 10:
17 -21 July
Configuring a Network Using Virtual Machines
  • Static Network Configuration
  • Network Configuration with a DHCP client
  • Basic TCP/IP network commands: ping, ip, ss
  • Using Python Scripts to Access Files
Lecture Notes: Lab 6: Virtual Networks


Week 11:
24 -28 July
Setup and Configure Secure Shell Services
  • Network Services
  • SSH
Lecture Notes: Lab 7: Setup and Configure SSH


Week 12:
31 July - 04 Aug
Setting Up, Using & Maintaining a DHCP Server
  • DHCP Server
Lecture Notes: Lab 8: Setup and Configure a DHCP Server


Week 13:
07 -11 Aug
Evaluation:
  • Assignment 2
Week 14:
14 - 18 Aug
Evaluation:
  • Final Exam