From b81e00d8b450bf2766f4e26db66ca9f903542f80 Mon Sep 17 00:00:00 2001 From: syukri Date: Wed, 28 May 2025 04:17:31 +0000 Subject: [PATCH] ComputerSystems-Virtualization-LinuxFundamentals-v2 --- ...ystems-Virtualization-LinuxFundamentals-v2 | 314 ++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 IT Sofware Engineering Training/month-01/week-01/day-01/ComputerSystems-Virtualization-LinuxFundamentals-v2 diff --git a/IT Sofware Engineering Training/month-01/week-01/day-01/ComputerSystems-Virtualization-LinuxFundamentals-v2 b/IT Sofware Engineering Training/month-01/week-01/day-01/ComputerSystems-Virtualization-LinuxFundamentals-v2 new file mode 100644 index 0000000..0c70f95 --- /dev/null +++ b/IT Sofware Engineering Training/month-01/week-01/day-01/ComputerSystems-Virtualization-LinuxFundamentals-v2 @@ -0,0 +1,314 @@ +## Training and Lab Activity: Computer Systems, Virtualization & Linux Fundamentals + +**Target Audience:** Beginners with little to no prior experience in computer systems, virtualization, or Linux. + +**Duration:** 4 Hours (240 minutes) + +**Materials:** +* Projector and Whiteboard +* Computers for each participant (or pairs) with at least 8GB RAM and 100GB free disk space. +* Pre-installed VirtualBox on all lab machines. +* CentOS 7 or RHEL 8 ISO image (downloaded beforehand). +* Internet access (for potential troubleshooting and resource lookups). +* Handouts with key commands and concepts (optional, but recommended). + +--- + +### **Hour 1: Computer Systems & Virtualization - The Foundation (60 minutes)** + +**Part A: Introduction to Computer System Basics and Network Fundamentals (30 minutes - Lecture/Discussion)** + +* **Learning Objectives:** + * Understand the fundamental components of a computer system. + * Grasp basic network concepts and their importance. + * Appreciate the role of operating systems. +* **Content:** + * **What is a Computer System?** + * **Hardware:** + * CPU (Processor): The brain – what it does. + * RAM (Memory): Short-term storage, speed. + * Storage (HDD/SSD): Long-term storage, types and differences. + * Motherboard: The central hub. + * Input/Output Devices (Keyboard, Mouse, Monitor, Printer). + * **Software:** + * Operating System (OS): The manager (Windows, macOS, Linux). + * Applications: Programs for specific tasks. + * **Network Fundamentals (Simplified):** + * What is a network? Why do we need it? + * Basic components: Routers, Switches, Cables. + * IP Addresses: Unique identifiers. + * Client-Server Model (brief overview). + * The Internet as a global network. +* **Activity:** + * Quick Q&A: "What's the difference between RAM and a hard drive?" + * Analogy: Compare a computer system to a human body or a factory. + +**Part B: Bare Metal vs Virtualization vs Containerization (30 minutes - Lecture/Discussion)** + +* **Learning Objectives:** + * Differentiate between bare metal, virtualization, and containerization. + * Understand the core benefits and use cases of each approach. +* **Content:** + * **Bare Metal:** + * Definition: OS directly on hardware. + * Pros: Maximum performance, direct hardware access. + * Cons: Resource underutilization, difficult to manage multiple applications, hardware dependency. + * **Virtualization:** + * Concept: Running multiple virtual machines (VMs) on a single physical host. + * Hypervisor (Type 1 vs. Type 2 - focus on Type 2 for VirtualBox): The software that manages VMs. + * Pros: Resource isolation, efficient resource utilization, portability, disaster recovery. + * Cons: Overhead from hypervisor, slightly lower performance than bare metal. + * **Analogy:** An apartment building (bare metal) vs. a shared house with separate rooms (virtualization). + * **Containerization (Brief Overview - for context):** + * Concept: Lightweight, isolated environments sharing the host OS kernel. + * Examples: Docker. + * Pros: Even lighter than VMs, faster startup, highly portable. + * Cons: Less isolation than VMs, shares host kernel. + * **Analogy:** Virtualization is a separate house for each family; Containerization is separate apartments within one house. +* **Activity:** + * Interactive poll: "If you had a powerful server, would you prefer bare metal, virtualization, or containerization for running 10 different applications?" (Discuss why). + * Quick comparison table on whiteboard (Bare Metal | Virtualization | Containerization) with Pros/Cons. + +--- + +### **Hour 2: Virtualization with VirtualBox - Hands-On (60 minutes)** + +**Part A: Overview of Virtualization with VirtualBox (20 minutes - Lecture/Demonstration)** + +* **Learning Objectives:** + * Understand the purpose and benefits of using VirtualBox. + * Identify key system requirements for running VirtualBox and VMs. + * Familiarize with the VirtualBox interface. +* **Content:** + * **Why VirtualBox?** + * Free, open-source, widely used for personal and small-scale virtualization. + * Great for learning and testing new OS. + * Supports a wide range of guest OS. + * **Benefits of Virtualization (reiterate from Hour 1, specifically for VirtualBox):** + * Running multiple OS simultaneously. + * Testing software in isolated environments. + * Creating snapshots (rollback points). + * Portability of VMs. + * **System Requirements for Host Machine:** + * CPU with virtualization extensions (Intel VT-x/AMD-V). + * Sufficient RAM (min. 4GB for host + 2GB per VM). + * Ample disk space (min. 20GB per VM). + * **VirtualBox Interface Tour:** + * Main window, toolbar. + * Global settings. + * VM settings panes (System, Display, Storage, Network). +* **Demonstration (Trainer):** + * Launch VirtualBox. + * Show how to create a new VM (without installing OS yet). + * Walk through basic VM settings (RAM, CPU cores, disk size). + * Show how to attach an ISO image to a virtual CD/DVD drive. + +**Part B: Lab Activity: Creating a Virtual Machine in VirtualBox (40 minutes - Hands-On)** + +* **Learning Objectives:** + * Successfully create a new virtual machine in VirtualBox. + * Configure basic VM settings (RAM, CPU, storage). + * Attach an ISO image to the VM. +* **Activity:** + * **Step 1: Launch VirtualBox.** + * **Step 2: Create a New Virtual Machine.** + * Click "New" to start the VM creation wizard. + * Name: `MyCentOSVM` (or `MyRHELVM`) + * Type: `Linux` + * Version: `Red Hat (64-bit)` (or `CentOS (64-bit)`) + * Memory size: Set to at least `2048 MB (2 GB)` (adjust based on host RAM). + * Hard disk: `Create a virtual hard disk now`. + * Hard disk file type: `VDI (VirtualBox Disk Image)`. + * Storage on physical hard disk: `Dynamically allocated`. + * File location and size: Default location, set size to `20 GB` (minimum). + * **Step 3: Configure VM Settings (Crucial before starting).** + * Select the newly created VM and click "Settings". + * **System > Processor:** Enable `PAE/NX` (if available), adjust CPU cores to `2` (if host has enough). + * **Storage:** + * Under "Controller: IDE", click the empty CD icon. + * On the right, click the CD icon again and select "Choose/Create a Virtual Optical Disk...". + * Navigate to and select the downloaded CentOS/RHEL ISO image. + * **Network:** (Briefly mention options, keep as NAT for now for simplicity). + * **Step 4: Verify Settings.** +* **Troubleshooting Tips (Trainer):** + * "VT-x/AMD-V is not available" error: Explain BIOS/UEFI settings. + * Insufficient RAM/Disk space messages. +* **Trainer Walk-around:** Provide one-on-one assistance. + +--- + +### **Hour 3: Linux OS Fundamentals (CentOS/RHEL) - Part 1 (60 minutes)** + +**Part A: Introduction to Linux (30 minutes - Lecture/Discussion)** + +* **Learning Objectives:** + * Understand the history and philosophy of Linux. + * Differentiate between various Linux distributions. + * Explain why CentOS/RHEL is preferred in enterprise environments. +* **Content:** + * **What is Linux?** + * Operating system kernel created by Linus Torvalds. + * Open-source philosophy: Free to use, modify, distribute. + * Analogy: Linux is the engine, distributions are different car models built around it. + * **Linux Distributions (brief overview):** + * **Debian-based:** Ubuntu, Mint (user-friendly, desktops). + * **Red Hat-based:** RHEL, CentOS, Fedora (enterprise, servers). + * Other popular ones: SUSE, Arch. + * **Why CentOS/RHEL for Enterprises?** + * **Stability and Reliability:** Long-term support (LTS) releases. + * **Security:** Strong focus on security, regular updates. + * **Scalability:** Designed for high-performance servers and large deployments. + * **Support:** RHEL offers paid enterprise support; CentOS was a community-supported rebuild (now CentOS Stream). + * **Industry Standard:** Widely adopted in data centers and cloud environments. +* **Activity:** + * Discussion: "Based on what we've learned, why would a company choose RHEL over Ubuntu for their critical servers?" + * Show a picture of the Linux mascot, Tux. + +**Part B: Lab Activity: Installing CentOS/RHEL in VirtualBox (30 minutes - Hands-On)** + +* **Learning Objectives:** + * Successfully start the CentOS/RHEL installation process within the VM. + * Navigate the installation wizard (basic steps). +* **Activity:** + * **Step 1: Start the Virtual Machine.** + * Select `MyCentOSVM` (or `MyRHELVM`) and click "Start". + * **Step 2: Follow Installation Prompts.** + * When prompted at the boot screen, select `Install CentOS Linux 7` (or RHEL equivalent) and press Enter. + * **Language Selection:** Choose your preferred language. + * **Installation Summary Screen:** + * **DATE & TIME:** Set your correct time zone. + * **KEYBOARD:** Set your keyboard layout. + * **INSTALLATION SOURCE:** Verify it's "Local media". + * **SOFTWARE SELECTION:** Choose "Minimal Install" for efficiency (we only need command line for basics). + * **INSTALLATION DESTINATION:** + * Click on the disk icon. + * Ensure "Automatically configure partitioning" is selected. + * Click "Done". + * **NETWORK & HOSTNAME:** (Optional for this lab, but mention its importance). + * **BEGIN INSTALLATION.** + * **Step 3: Set Root Password and Create User (During Installation).** + * While installation is running, click on `ROOT PASSWORD` and set a strong password (e.g., `Pa$$w0rd!`). + * Click on `USER CREATION` and create a standard user (e.g., `student` with password `password`). Make this user an administrator by checking "Make this user administrator". + * **Troubleshooting Tips (Trainer):** + * VM not booting from ISO: Recheck Storage settings. + * Cursor stuck: Ctrl+Right Alt (or Host key) to release. +* **Trainer Walk-around:** Ensure everyone is successfully installing. *Note: Installation might take some time.* + +--- + +### **Hour 4: Linux OS Fundamentals (CentOS/RHEL) - Part 2 & Lab (60 minutes)** + +**Part A: Basic Commands, File System Structure, and User Permission Concepts (30 minutes - Lecture/Demonstration)** + +* **Learning Objectives:** + * Execute fundamental Linux commands. + * Understand the hierarchical Linux file system structure. + * Grasp basic user and file permission concepts. +* **Content:** + * **Booting into CentOS/RHEL:** + * First boot after installation. + * Login screen (text-based for minimal install). + * Logging in as the `student` user. + * **The Linux Command Line Interface (CLI):** + * What is a shell? (Bash). + * Prompt: `username@hostname ~$` + * **Essential Basic Commands:** + * `pwd`: Print working directory. + * `ls`: List directory contents (`ls -l`, `ls -a`). + * `cd`: Change directory (`cd ..`, `cd ~`, `cd /`). + * `mkdir`: Make directory. + * `touch`: Create empty file. + * `cat`: Display file content. + * `cp`: Copy files/directories. + * `mv`: Move/rename files/directories. + * `rm`: Remove files (`rm -rf` - caution!). + * `clear`: Clear screen. + * `history`: Command history. + * `man`: Manual pages (e.g., `man ls`). + * **Linux File System Hierarchy (Simplified):** + * `/`: Root directory. + * `/bin`: Essential user binaries. + * `/etc`: Configuration files. + * `/home`: User home directories. + * `/var`: Variable data (logs, mail). + * `/tmp`: Temporary files. + * `/dev`: Device files. + * `/proc`: Process information. + * **User and File Permissions (Basic Concepts):** + * Users: `root` (administrator), `standard user`. + * Groups. + * Permissions: Read (r), Write (w), Execute (x). + * Owner, Group, Others. + * `ls -l` output interpretation (e.g., `drwxr-xr-x`). + * `chmod` (brief mention, not for deep dive). + * `sudo`: Running commands as root. +* **Demonstration (Trainer):** + * Live demo of each command in a terminal. + * Navigate through different parts of the file system. + * Show `ls -l` output and explain permissions. + +**Part B: Lab Activity: Basic Linux Commands and Navigation (30 minutes - Hands-On)** + +* **Learning Objectives:** + * Log in to the CentOS/RHEL VM. + * Practice common file system navigation commands. + * Create, modify, and delete files/directories. + * Use `sudo` for administrative tasks. +* **Activity:** + * **Step 1: Log in to your CentOS/RHEL VM.** + * If the installation finished, reboot the VM. + * At the login prompt, type `student` and press Enter, then enter your password (`password`). + * **Step 2: Explore the File System.** + * `pwd` (should be `/home/student`) + * `ls -l` + * `cd /` + * `ls -l` (observe root directory contents) + * `cd /etc` + * `ls` + * `cd /home/student` (or `cd ~`) + * **Step 3: Create and Manage Files/Directories.** + * `mkdir my_first_directory` + * `cd my_first_directory` + * `touch my_file.txt` + * `ls -l` + * `echo "Hello Linux!" > my_file.txt` (brief intro to redirection) + * `cat my_file.txt` + * `mkdir another_dir` + * `cp my_file.txt another_dir/` + * `cd another_dir` + * `ls` + * `mv my_file.txt renamed_file.txt` + * `ls` + * `rm renamed_file.txt` + * `cd ..` + * `rmdir another_dir` (will fail if not empty, good teaching point) + * `rm -rf another_dir` (demonstrate, but warn about `rm -rf`) + * `ls` + * **Step 4: Practice with `sudo`.** + * `sudo ls /root` (should prompt for `student`'s password, then show root's home directory). + * `sudo touch /testfile.txt` (create a file in root, then `sudo rm /testfile.txt`) + * `ls -l /` (verify file creation/deletion). + * **Step 5: Use `man` pages.** + * `man ls` + * Press `q` to quit the man page. +* **Troubleshooting Tips (Trainer):** + * Command not found errors: Typo, or not installed (unlikely for basic commands). + * Permission denied: Try with `sudo`. +* **Wrap-up & Q&A:** + * Review key takeaways from the entire 4 hours. + * Answer any remaining questions. + * Provide resources for further learning (online tutorials, books). + +--- + +**Post-Training Resources (Optional Handout/Email):** + +* **VirtualBox Documentation:** [https://www.virtualbox.org/manual/](https://www.virtualbox.org/manual/) +* **CentOS Official Site:** [https://www.centos.org/](https://www.centos.org/) +* **RHEL Documentation:** [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/) +* **Linux Command Line Cheat Sheets:** Search online for "Linux basic commands cheat sheet". +* **Recommended Online Courses:** Coursera, Udemy, edX for Linux fundamentals. + +--- + +This structured plan provides a good balance of theoretical knowledge and hands-on experience, essential for beginners to grasp these foundational concepts. Remember to encourage questions and walk around to assist participants during lab activities. \ No newline at end of file