Course objectives and plans
Although it is quite a bit of material, we plan to follow the outline
below.
Week 1:
Introduction to Linux
Day 1: Basic concepts of the operating system
Kernel, shells, applications; multiuser system, users and groups; processes;
file system and directories; login process and user configuration files.
Demonstrations and laboratory exercises with elementary Unix commands.
Day 2: System installation and configuration
Disk partitions, fdisk and disk druid tools; workstation installation from a
CD; system customization and upgrade; learning rpm for package installation,
remove, upgrade and query; kickstart system installation.
Week 2: Introduction to Networking
Day 1: Basic concepts
Network packets, hardware address, protocols and TCP/IP; IP addresses and
network mask; address resolution protocol (ARP); subnets and routing;
configuring Linux machine on the network; ifconfig and netstat
commands.
Day 2: Network ports, services and tools
Protocols (TCP, UDP, ICMP, SNMP) and ports; laboratory exercises with network
services and tools: telnet, ftp, http; inetd.conf; opening and closing
ports; packet sniffing with ethereal.
Week 3: System Security
Day 1: Securing a Linux box
Management of user accounts; changing file ownerships and permissions;
TCP-wrappers, disabling vulnerable services; installing and configuring the
secure shell (SSH); intrusion detection utilities, Tripwire.
Day 2: Linux firewalls
Packet filtering with ipchains; building a Linux firewall; NAT and
DMZ firewall implementations.
Week 4: Network System Services
Day 1: Network File System (NFS)
File system sharing over the network: NFS installation and configuration;
portmap; rpc; auto-mount configuration.
Day 2: Network Information Service (NIS)
Password/group sharing over the network: NIS installation and configuration;
configuration of net-groups.
Week 5: Integrating Linux and Windows
Day 1: Dual boot
Running Windows and Linux on the same PC (dual boot); LILO and NT boot
loaders; access Windows partitions from Linux and vice versa.
Day 2: Samba server
Installing and configuring Linux Samba server for network printing and file
sharing; Linux NIS server for Windows domains.
Week 6: Linux Programming
Day 1: Shell scripting
Bash shell scripting; using awk and grep; interactive,
batch and scheduled jobs ( at and cron); job priorities.
Day 2: Code development
C and Fortran compilers; code development, compilation and debugging with
gdbx; using make and Makefiles.
Week 7: Midterm Exam Week
Day 1: System boot-up and shutdown
System run time levels; startup services; adding and removing services from
the startup.
Day 2: Midterm exam
Week 8: Linux Clustering I
Day 1: Cluster for computing
Beowulf high performance Linux clusters; cluster monitoring tools; Scheduling
Systems concepts.
Day 2: Parallel programming
Programming with MPI libraries; MPI tutorial.
Week 9: Linux Clustering II
Day 1: High availability web servers
Configuration of Apache web server; concepts of high availability Linux
servers.
Day 2: Linux virtual server
Server director; virtual IP address; NAT, direct routing (DR) and IP
tunneling (IT) concepts of LVS; redundancy.
Week 10: Group Projects
Day 1: Project assignment and discussion
Group A) Building a Beowulf Linux cluster with Codine queue system
Group B) Building a high availability Linux Virtual Server (LVS)
Day 2: Projects (Step 1)
Group A: Building the cluster network: NAT configuration, NFS, NIS.
Group B: Setting one director with IPVS and two Apache servers with NAT.
Week 11: Group Projects
Days 1 - 2: Projects (Step 2)
Group A: Installation and configuration of Codine scheduling system
Group B: Configuration of the second server director, virtual IP address
configuration.
Week 12: Group Projects
Days 1 - 2: Projects (step 3)
Group A: MPI installation on the cluster; Codine configuration for MPI.
Group B: Installation of Heart-Beat redundancy system.
Week 13: Group Projects
Days 1 - 2: Projects (step 4)
Group A: Running parallel jobs on the cluster
Group B: Testing the server for redundancy and availability.
Week 14: Final Week
Days 1 - 2: Project reports and presentation
|