
Begin the CompTIA Linux+ part 1 of 2 course with an introduction to LX0-103 and LX0-104 concepts, laying the foundation for practical Linux administration.
Explore linux networking basics, including domain name services, nfs file sharing, and printing. Learn interoperability with other systems, remote access, security, web hosting, mysql, ftp, email, and troubleshooting and maintenance.
Ken Mayer introduces the CompTIA Linux+ course, sharing decades of experience with Unix, Linux, networks, and security, and explains how he will help you use Linux commands effectively and securely.
Open with a practical introduction to Linux and its terminology. Acknowledge varied pronunciations, and reference distributions like Gentoo to illustrate the landscape.
Explore Linux as Unix-like, open source, and freely available, with distributions such as Ubuntu bundled with Firefox and OpenOffice for web, documents, and office tasks.
Discover how Linux platforms enable enterprise-class computing, with Red Hat's tuned enterprise solutions, middleware, and licensing, while powering Linux-based routers, switches, desktops, and pdas.
Explore popular Linux distros, including Ubuntu, Red Hat Enterprise, Fedora, and Susa, comparing ease of use, multilingual support, server needs, and licensing to guide distro choices.
Debian is a customizable, powerful Linux distribution developed by a large open-source community. Backtrack and Helix show purpose-built tools for security testing and forensics, guiding your choice by goals.
Compare closed source and open source licensing, learn GPL and LGPL implications, and see how permissive licenses like MIT and Apache govern use, modification, and distribution.
Explore how linux is like unix and bsd but not the same due to licensing, and ensure you follow licensing models to avoid fines during audits.
Explore pre-installation tasks for Linux, review licensing issues, and outline what we must do before starting the installation.
Gather hardware details and drivers during pre-installation to ensure Linux compatibility on servers, including interrupt settings and IP addresses; choose installation destination and partitioning with dual-boot or CD options.
Download installation files from online linux distros, such as those found via Distrowatch, then burn the ISO to a DVD or CD and install from the media drive.
Explore installation types such as CDs, DVDs, ISO files, and USB boot media, including live CD/DVD with RAM drive, and net installation that downloads the rest via network or NFS.
Perform pre-installation checks to choose installation files for your machine type and processor architecture (32-bit or 64-bit), noting that 32-bit on a 64-bit processor may not deliver full benefits.
Learn the practical steps for installing Linux, including completing licenses, preparing pre-install tasks, and laying groundwork before the actual installation.
Explore partitioning as a key pre-install step by using non-destructive tools like parted or gparted to create or resize partitions during installation, including resizing Windows partitions.
Join a practical linux installation in a vmware virtual machine for the CompTIA Linux+ course, using a fedora 12 iso to set memory and disk, then explore grub and commands.
The lecture demonstrates logging into Debian with the trainer account, then explores the desktop, multiple workspaces, and open source apps like image manipulation program and OpenOffice Draw, Writer, Impress.
This unit reviews Linux basics and installation steps, from downloading and choosing a distribution to burning an installation disc, licensing considerations, and configuring file systems and partitions.
Introduce the graphical user interface, the most comfortable and familiar part of any operating system. Explore how the graphical user interface shapes user interaction and navigation.
Explore the Linux user interface architecture, where the kernel interacts with the shell and X Windows to render graphical interfaces and support remote desktop and multi-user access.
Explore the evolution of X Windows and the graphical user interface, illustrating how GUI architecture provides kernel-to-graphics interaction and modular components that can vary across Linux systems.
Demonstrates two Linux desktop environments, GNOME and KDE, highlighting the task bar and start-like menus, plus basic terminal commands such as who am i and pwd.
Explore desktop environments like Gnome, KDE, and XFCE, their interaction with windows and the kernel, and the open source nature that enables customization.
Explore GNOME, the GNU network object model environment, default on many Linux distros like Fedora and Red Hat. Customize the desktop and use programming libraries to build your own interfaces.
The GNOME environment provides a Windows-like UI with a taskbar, open windows, a Start menu, and familiar navigation for resizing, full screen, closing windows, and toolbars.
Explore the KDE desktop environment, a Windows-like graphical interface with the K button and K bar start menu, and its support for up to four customizable desktops.
Explore xfce, an x windows desktop environment that offers windows-like icons, a taskbar, and multiple desktops. Learn to choose and customize a desktop environment that fits your workflow and preferences.
Explore how Linux integrates with shells and GUIs, interact with hardware, manage file systems, and run applications like OpenOffice and Firefox, while server tools handle user management, network and monitoring.
Explore end-user applications on a Debian GNOME desktop, create and save a hello world text in OpenOffice Writer, and navigate the browser, terminal, and basic office tools.
Examine the Linux command line option, the command line interface, and the shell, and contrast its look and feel with Windows graphical user interface and the Windows command line.
Explore the Bash shell, the Bourne Again shell, its history and licensing, and learn essential commands, tools, and keyboard shortcuts that streamline command-line work.
Explore basic bash navigation and command usage in a kde environment, including pwd, ls -l, path exploration, command history, up-arrow, tab completion, and emacs-style shortcuts.
Master keyboard-focused shell navigation with keystroke tricks to move through recent output. Use shift-page up, shift-page down, and control-t to jump to the top or bottom without leaving the keyboard.
Learn to use the history command to recall recent commands with the up and down arrows, and edit long commands with control b, f, d, a, and e.
Explore shell metacharacters and command composition, including grouping with braces and colons, and learn how background execution and pipes control flow in commands like cd /bin && ls.
Learn tab completion to speed Linux command entry and avoid spelling mistakes. Type a few letters, press tab to complete, or tab tab to see matches.
Explore the Bash command line by revisiting essential commands like who am I, history, ls, and cd, plus tips on using pipes, exclamations, and tab completion.
Explore piping and redirecting in the Linux command line to control output and input using redirection operators, combine commands with pipes, and leverage environment variables to build powerful workflows.
Explore piping and redirection using ls, more, cat, tee, and redirecting output; create and move into directories, view contents, and practice commands while logging in anonymously and simulating FTP redirection.
Learn to use named pipes, created with mkfifo, to share data between applications as a persistent, file-backed conduit operating as a first-in, first-out channel.
Demonstrate named pipes (fifos) to transfer data between shells by creating a fifo, redirecting command output into it, reading from it with cat, then removing the pipe.
Learn how to read a man page, which is organized by name, synopsis, and description, and navigate it in the shell using the space bar and q to quit.
Compare man pages and info pages, and learn how end users access help in the shell for commands you can type; note that not all commands have a manual page.
Explore linux help commands and the manual, showing piping to more for paged output, searching within manual pages, and quitting with q while inspecting sections like locale.
Explore help options with man -k and apropos, view command details via ls --help, and read outputs with more; navigate using up arrow, spacebar, and q to quit.
Explore how the GUI is composed, how it works, and how it interacts with Windows in the kernel, plus common applications and the command line interface.
Master the Linux file and directory hierarchy by creating, editing, copying, and deleting directories and files, and mounting optical disks and USB drives within the file system.
Explore directory organization and hierarchy to understand how containers and subdirectories structure files for efficient organization.
Explore the filesystem hierarchy standard and root as the top of the structure. Learn common directories including /bin, /boot, /dev, /etc, /home, /lib, and /NT for mounting points.
Master the cd command to navigate directories using absolute paths and relative paths, move up with dot dot, use dot for the current directory, and understand permissions and root access.
Learn to use pushd and popd to create memory-stored directory references, quickly move between frequently used directories, with tips to use history and the up arrow to recall cd commands.
Explore the linux file hierarchy and FHS directories, and learn key navigation commands such as pwd, cd, and ls, plus pushd and popd for shortcut navigation.
Create directories with mkdir in a path, avoid spaces; quote when needed, rename or move with env, delete with rm dir, and use ignore fail on non empty.
Explore creating and removing directories with command line and GUI, using mkdir, rm, and dash P, handling spaces with quotes and backslashes, while navigating root and live user contexts.
Master command-line file operations, including copying and moving with name conflicts, using -f, -i, and -u, and performing recursive deletion with -R, plus notes on recovery and application-level handling.
Learn to manage files in linux using both command line and gooey, creating, viewing, copying, and deleting files with touch, cat, cp, and rm, handling interactive prompts, and using wildcards.
Explore the vi editor, an early visual text tool with editing and command modes. It served as a primitive notepad for typing and saving code in the 80s.
Delves into vi commands for text editing, including append and insert with colon, delete with de or D, yank and paste, undo, quit, and hjkl navigation.
Explore the vi editor's basic workflow: switch between command and insert modes, edit and move text, yank and paste, undo changes, and save and quit to update a file.
Demonstrate creating hard and symbolic links in Linux using the ln command and GUI tools; verify links with cat and ls, and show how moving a linked file affects accessibility.
Discover how Linux treats every item as a file and learn commands to reveal file information, including ls -l, file, stat, and test, with discussion on naming conventions.
Explore file metadata by using the RLS command with the Lf option to display long information, including permissions, links, owner and group, size, date, and file type.
Explore how to locate files with find, compare help options, test time-based searches, and pipe results to ls, while using which, whereis, and locate to identify command locations.
Explore removable storage and the rise of terabyte-scale drives. Learn how mounting these devices merges them into your system.
Mount volumes like optical and USB drives into a single root directory with the mount command, using type, device file, and mount point options; desktop systems often mount cds automatically.
Learn to use the mount command by specifying the filesystem type, device file, and mount point. Then apply options like read-only, read-write, user access, exec, noexec, and auto.
Explore the fstab file, which automates mounting volumes at boot and stores default mount options, and learn how to mount or unmount devices by specifying device files or mount points.
Learn to perform privilege escalation by switching from a regular user to root with su, or by using sudo to run commands like mount and unmount as root.
Explore Linux file systems, directories, and mounting drives, and practice creating, editing, copying, and deleting files manually using absolute and relative paths, including cd commands, in the shell.
Explore system administration by managing the operating system, handling authentication and authorization, configuring discretionary permissions for files and directories for users and groups, and setting environment variables and gooey environment.
Delve into authentication, users and groups. Explore the basics of authorization and triple A concepts, with accounting and logging addressed later.
Store user accounts in /etc/passwd on a Linux multi-user system. Expose passwords and hashes in clear text, making them vulnerable to rainbow tables.
Implement the shadow file in /etc/shadow to securely store passwords, readable only by root or kernel functions, and address hard drive storage and physical security.
Explain how the shadow file tracks usernames and passwords, recording last change date, min and max days, warning/grace periods, and automatic disable to prevent brute-force password attacks.
Learn to perform privileged tasks safely with su and sudo, never log in as root, and elevate when needed to edit the shadow file or manage users and groups.
Explore how user accounts are stored and secured in Linux by inspecting the password and shadow files, distinguishing root from non-root access, and understanding file permissions.
Add the trainer to the sudoers file to enable password-protected sudo from any computer, editing with vi and verifying the change by testing sudo.
Create a new Linux user with the useradd command, including add user variants, interactive prompts, and switches for home directory, group id, encrypted password, shell, user id, and skeleton directory.
Identify how the /etc/login.defs file sets default user account settings, including mail location, password length and expiration, UID/GID ranges, and home directory, to simplify administrator management.
Explore the /etc/default/useradd file, which sets default values for the user account, including primary group, home directory, shell, skeleton directory, grace period, and expiration dates.
The /etc/skel directory stores the skeleton startup files copied into every new user's home directory at login, including hidden dot files like .bashrc, .bash_logout, and .profile.
Configure the /etc/adduser.conf file to establish defaults for adduser, including default shell, home directory, uid and gid ranges, quotas, and extra groups, with optional overrides.
Create and manage user accounts from the command line, inspecting login definitions, aging controls, and password and shadow files, using useradd and adduser to set home directories and IDs.
Explore GUI admin tools for adding a new user account, ensure it includes group assignments and consistent, correct configuration, and learn when a command-line script is faster for bulk migrations.
Learn how to create new user accounts using the graphical user interface, including setting a password, optionally specifying a user ID or group, and adjusting account properties.
Explore safe methods to modify user accounts using the usermod command, updating home directories, primary groups, logins, usernames, and shells while avoiding direct edits to password or shadow files.
learn to use the chfn command to change a user's full name and contact fields, and why locking accounts with usermod -L or password -L is preferred to deleting them.
Understand how to use the finger command to retrieve user information, revealing data you would see in the password file and guiding decisions about changes.
Demonstrate modifying linux user accounts with usermod to rename logins, move home directories (-d, -m), and set full names (-f), and contrast command-line options with gui tools in system administration.
Create groups to grant mass permissions to multiple users, using a group id and optional password or system group. Apply file permissions to a group instead of individuals.
Learn to add users to groups with usermod -G, then note that removal requires editing /etc/group or using groupmod/usermod, since no direct remove command exists.
Learn to create groups, add and modify members, inspect /etc/group, and use tail for last entries, comparing command line and GUI workflows for Linux group management.
Decide whether to lock or delete a user account, and avoid reusing user IDs to prevent permission creeping; delete groups when needed.
Delete users and groups with userdel and groupdel, after locking accounts and verifying changes in /etc/shadow and /etc/passwd. Confirm removals and handle non-existent users, noting Linux is case sensitive.
File ownership in inodes identifies the user and group owners, a key aspect of discretionary access control, with creators typically becoming the owner and their primary group the group owner.
Explore how Linux file ownership differs from Windows ACL entries, showing how the owner and primary group determine permissions and how the owner can set or change them.
Change your primary group with the newgrp command to access a file owned by another group, then use chown and chgrp to modify its owner and group.
Explore file and directory permissions by creating files, changing ownership to a user, and adjusting groups and access with the command line, highlighting ownership, groups, and permission bits.
Explore inodes and file metadata, then interpret mode column to understand user, group, and other permissions as read, write, and execute, with dashes indicating absence and numeric values for changes.
Learn to view and interpret file permissions using ls -l and identify file types with ls -lF, noting owner, primary group, and others and distinguishing directories from files.
Learn how to modify file and directory permissions using chmod, applying plus or minus signs to user, group, and others, and remember to specify the target name.
Learn to change file permissions using the mode command, set a file to 777, and verify via command output and GUI properties, including enabling or disabling execute access.
Review default Linux file permissions: new files are 666 and new directories 777; adjust the umask to change defaults, as the mask subtracts permissions you don't want granted automatically.
Use the umask to subtract a three-bit mask from default permissions when creating files or directories. Watch how 666 becomes 644 and the mask adjusts the 777 permissions.
Learn how the umask defines default file permissions by subtracting from the base 666, demonstrated with touch and ls, and how to set and revert a mask like 2077.
Examine special permissions in mode, including the user ID and group ID, the sticky bit, and how S and T indicate special bits when the execute permission is present.
Apply special permissions with chmod using numeric and symbolic forms; interpret leading zero and how the first digit controls user id, group id, and the sticky bit.
Explore managing Linux file permissions with special permissions, using chmod to set setuid, setgid, and sticky bits on files and directories, and verify with ls -l and touch commands.
Explore extended file system attributes like compression, secure deletion, and append-only flags, and learn how to view and modify them with lsattr and the change attribute commands, noting root-only restrictions.
View and modify ext3 file attributes using the list attributes and change attribute commands, applying append-only and other options with plus and minus signs, including redirecting output and handling deletion.
Learn to use and change environmental variables in the shell, and understand user environment configurations and the role of created variables, including named pipes as storage.
Explore the difference between shell and environmental variables, their lifetimes and scope, and examine common vars like path, home, mail, and prompt using the set command.
View and filter environmental and custom variables using set, env, echo, and grep via pipes, then assign and export variables to persist beyond the shell.
Set a variable by naming it, assigning a value with equals, for your custom scripts. View it with echo $var and export to make it permanent, at creation or later.
Learn how the path sets the search order for executables, with directories like /home, local/bin, and user bin, and how to append to the path or use full paths.
Change the shell prompt by editing the PS1 value to a custom string, using placeholders U for username, H for host name, and W for the current directory.
Learn how a prompt conveys username, hostname, and current directory to help you navigate, especially when you are remotely connected, and how you can customize it for usefulness and clarity.
Explore the Linux shell and environment variables, using set and env to view and edit variables, understand uppercase conventions, path manipulation, and how PS1 prompts adapt.
Learn how command aliases shorten repetitive commands by mapping a simple alias to a longer real command, such as using ls with long format and color options.
Create command aliases to map show and get commands across different devices, shortening long syntax and streamlining work across vendor operating systems.
Learn to view and create linux command aliases, test for conflicts with which, and map shortcuts like k list to a preferred command with color auto to customize the environment.
Save a command alias in an environment file to persist across sessions by editing dot profile and dot bashrc, then add an lz alias with color auto using vi.
Learn how Linux installers configure the GUI automatically and when to start the GUI manually with start X, plus manual X11 or X386 configurations in /etc.
Explore how to use GNOME's GUI to adjust screen resolution, refresh rate, and rotation. Choose between system-wide or user-specific defaults.
Explore screen savers in a Linux desktop environment, set idle time, activation duration, and optional locking, and discover the cool options Linux offers.
Explore appearance preferences in Linux, including themes, backgrounds, and font options, mirroring a Windows environment. Change background colors and downloadable themes to improve focus with solid, light colors.
Configure mouse preferences to tailor input, including ambidextrous use, left- or right-handed setups, and pointer speed, while understanding click behaviors and efficient movement with a mouse pad.
Configure keyboard preferences to control repeat rate, dash timing, display, and cursor blinking, and customize layouts, accessibility options, and the choice between Qwerty and Dvorak for ergonomic typing.
Configure the mouse and keyboard settings, including handedness, pointer visibility, and double-click speed. Explore keyboard layouts and regional options, such as the United States standard and Dvorak.
Start the X Windows GUI using start X on older Linux systems. Turn off the desktop management with stop or stop X from the init.d/gdm directory, using root or sudo.
Demonstrate stopping and starting the X Windows graphical interface by using sudo to stop the gdm manager, re-log in, and run startx to restore the GUI.
Explore authentication, authorization, and accounting basics; manage users and groups, apply file permissions, tune environmental variables, and optimize the GUI to secure and efficiently operate a Linux system.
Master Linux application management by learning how to install, manage, and remove software, from packaged binaries to source code compilation, demystifying the process and boosting confidence.
Explore packages and package managers for application management, then learn to build installations from source code, highlighting ease, flexibility, and options for windows users familiar with easy installers.
Explore software distribution for Linux, comparing binaries, source code, and packages; understand how Linux enables hardware access and how Windows drivers shape cross-platform software compatibility.
Explore how binaries target specific hardware and operating systems, and how source code, as uncompiled text, is compiled and linked to run on a chosen platform.
Identify packages as precompiled applications that bundle binaries, meta information, and dependencies, and publish them in repositories in common formats like Debian and Red Hat to simplify installation and upgrades.
Explore various package managers and types of packages, including rpm, apt, yum, and yast, and learn to use their command line options and help or man pages to install software.
Watch how to install a package using the synaptic package manager GUI: browse categories such as games, search for items, mark affected components, and apply changes to complete installation.
Using the command line, install a package with dpkg and apt-get, explore install and purge options, then verify AbiWord via synaptic to confirm a successful setup.
View installed software on your Linux system using the gooey or command-line package managers, and see what is installed with apt show or rpm -q.
Demonstrates how to determine installed packages and gather detailed package information using both GUI (Synaptic) and command line (apt-cache). Learn to search, view descriptions, and compare tools on Debian.
Remove software via a graphical interface or the command line, using appropriate flags such as dash r or dash E, and consult help commands or man pages for specifics.
Use the command line to remove packages with apt get remove and auto remove, review with synaptic, mark for removal, apply, and be careful not to delete components like asteroids.
Define and manage repositories as storage locations for packages, local or networked, public or private, with access for installation programs; choose repositories via GUI or command line.
Use Synaptic's software sources to manage repositories and choose where to download software. Include options like officially supported, source code, third-party software, updates, and necessary authentication to log in.
Explore source code software, enabling downloads as text files instead of bulky install packages, and learn how missing libraries during compilation can stress users in the Linux environment.
Download the source code from a tarball, extract it, then compile and link to build a binary using libraries that handle input and output for your operating system and hardware.
Learn to extract tar archives from downloaded tar balls by using tar with -z, -x, -v, and -f, decompressing gz or tgz files and extracting to a chosen directory.
Explore how a configure script checks dependencies and generates a makefile to build an executable binary through compilation and linking.
Use a makefile to compile the program, install the binary with make install (via root or sudo), and clean up temporary files with make clean while working with source code.
Install the GNU C compiler (gcc) using the synaptic package manager, explore options, install necessary gcc components, and prepare to compile your own source code.
Download a source code tarball from SourceForge, extract it with tar, install the lib SDL development package, configure, compile with make, and install the program on Linux.
Learn system configurations for Linux hardware, formatting drives, creating partitions and volumes, mounting and auto-mount, plus quotas, swap, RAID-based recovery, and recognizing USB, CD-ROM, and PCI devices.
Explore disk management basics, review hard drive components and terminology, and learn tools for partitioning and formatting drives.
Explain how ATA/IDE disk drives use master/slave configurations and drive numbering, then describe SCSI bus mastering and daisy-chaining that improves throughput and supports many devices.
Explore drive components like platters, a center spindle, and a read/write head on an arm that moves to tracks and sectors, and note how rpm affects seek time and performance.
Explore drive components, compare hard disk drives with solid state drives, and learn how to designate storage by volumes and partitions for Linux systems.
Explore drive geometry: how hard drives use tracks, cylinders, and sectors to locate data, and how formatting creates a file system that stores file metadata and location addresses.
Understand that partitioning a single drive does not increase capacity or speed; use root and swap partitions to organize files and virtual memory, and consider separate drives for true performance.
Use fdisk to create and format partitions, describe drive geometry, and specify partition size and name, logically partitioning the drive into distinct partitions.
Explore parted, a text mode partition editor, to create partitions and file systems from the command line by specifying the /dev device, file system type, and start/stop addresses.
Learn to use fdisk to list partitions, create a primary partition, and write changes to a virtual disk, and verify the partition table.
Explore partitions with a graphical disk utility, comparing gparted and palimpsest, and learn to create, label, and format file systems, including boot and swap partitions, via gui tools.
Demonstrates formatting a four-gig drive with mkfs and ext3, creating inode tables and journal blocks. Then uses fsck -p, mounts at /mnt/Ken's drive, and notes a minimal filesystem with lost+found.
Configure automatic detection of new drives using /etc/fstab, enabling predefined templates to mount drives on reboot and automate drive setup.
Edit the fstab with vi to add a sdb entry mounted as ext3 using default options. Save and quit, then reboot to verify drives mount automatically at startup.
Mount loop devices to treat image files like ISO disks as virtual drives, using losetup or mount -o loop to expose CD/DVD images as accessible devices.
Demonstrate mounting an iso as a loop device in Debian, creating a loop test directory, mounting and navigating the loop file system, and unmounting to use virtual disks.
Explore how to manage the file system, work with partitions and volumes, and fine-tune the swap file and quotas.
Set quotas to limit disk space per user or group based on file ownership, choosing hard or soft limits, and manage them via FS tab file in the Etsy folder.
Enable quotas by adding entries to the fstab file to set space limits for users or groups. Learn how to configure quota entries in fstab to manage disk usage.
Learn to use the edquota tool to rewrite the fstab file, leveraging a vi-like interface and mastering edit mode and command mode for effective quota management.
Edit the soft quota time limit (default seven days) and then use the rep quota tool to confirm that quotas are running and functioning as expected.
Swap space uses a hard drive as virtual memory to extend RAM, but it's slower than real memory. Decide swap size near RAM and set a priority within swap partitions.
Learn why Linux uses a dedicated swap partition to prevent fragmentation, and how separate drives or controllers improve performance for root and swap.
Log in as root to create new swap space, choosing a partition or a swap file, designate it with mk swap, then enable it with swap on.
Allocate swap space as a partition or a file; if using a file, fill it to size to avoid fragmentation, then use dd for input-to-output sector-by-sector copies in forensic work.
Manage swap using both command line and GUI tools, create new swap locations, and inspect usage to ensure you don't miss options when configuring swap space.
Learn to create a new swap file, manage swap space, and enable it with mkswap and swapon while monitoring memory and the existing swap configuration.
Learn how disk arrays use redundancy to expand storage beyond a single drive and maintain data access during failures, delivering fault tolerance and high uptime through raid types.
Raid level 0 uses disk striping to boost performance and increase storage, with no redundancy. Stripe across two to 32 drives to enable parallel saves and faster read/write operations.
Identify raid level 1, also called mirroring or duplexing, where two identical drives store the same data. Keep the system running with the remaining drive until replacement.
Explain raid level 3, a striping with parity approach that stores data across multiple drives and uses a parity drive to recreate missing data, less common than raid level five.
Explain how raid level 5 distributes parity across all disks, enabling rebuild after a single drive failure and ongoing access during replacement, with a minimum of three disks.
Learn to use the logical volume manager to create and expand virtual volumes, group multiple disks into a single logical volume, and configure striped or redundant volumes.
Install llVM package, create physical volumes with PV, then form volume groups with VG and logical volumes. Format with Mkfs, mount volumes, and update fstab for automatic mounting on reboot.
Demystify device management by exploring its meaning and purpose, and clarify the Linux /dev directory in this precursory overview.
Treat all devices as files in the device directory. Learn buffered and non buffered, and block and character transfers, with a mouse as character and a hard drive as block.
Understand how devices are represented as files you read from or write to in Linux, with examples like /dev/random, loopback, PCI devices, USBs, and CD-ROMs.
Explore the /dev directory to inspect device files and practice redirecting output to /dev/null. Learn about the random device, non printable characters, and consult a hardware compatibility list.
Discover how to view USB devices using lsusb, including the verbose -v option, and locate device information in /proc/bus/usb/devices as a backup alternative.
Learn how Linux lists USB hubs and devices with lsusb, dump the USB hierarchy using -t, and inspect /proc/bus/usb/devices for detailed device information.
Learn to view PCI devices with the ls PCI command and its verbose mode, and inspect bus PCI location to see what’s found, defined, and hooked up to your system.
Examine Linux processes and module management, identifying what processes are, how to view them, kill or adjust priorities, and how to view kernel information and manage modules.
Explore process management, clarify the difference between a process and a program, and explain why managing these processes matters.
Differentiate a program from a process: a program sits on disk, while a running process is in-memory instance, including child processes, user and system processes, managed by time-slicing on multiprocessors.
Learn how preemptive multitasking lets the operating system divide processor time between processes, contrasting it with cooperative multitasking and the playful origin of daemons.
Describe how Linux assigns process IDs, including kernel pid zero and the init daemon with pid one, and use init.d to restart, stop, or manage services for soft reboots.
Explore how process trees form from parent to child processes, starting at process ID zero, and how changes to one process can affect others and overall program execution.
Explore running processes using graphical system monitor and command line tools to view process ids and hierarchical trees with pstree, and inspect /proc for cpu, memory, and mounted file systems.
Learn to view running processes using the ps command, explore dash, no-dash, and double-dash options, and consult the ps manual to tailor information with filters.
Explore common ps command forms, using ps -F for full details in the current shell and across terminals, and ps -L to show flags, permissions, and state information.
Explore common ps command forms to view process priority, state, CPU time, memory, and user IDs across terminals and daemons on Linux.
ps aux outputs per‑process cpu and memory usage to identify misbehaving processes slowing the system; analyze start time, user, and related processes to decide on termination or priority adjustments.
Use the top command to display the top offenders and sort processes by CPU usage, time, or memory to view what matters most.
Demonstrates viewing processes and devices with ps and top, using options for full details and paging, and exploring the CIS directory (proc) to inspect buses and USB devices.
Learn how to manage rogue or misbehaving processes with the kill command. Use signals like SIGTERM (15), SIGHUP, SIGINT, SIGQUIT, and SIGKILL to interrupt, quit, or forcefully stop a process.
Use advanced kill commands like pgrep and pkill to target processes by pattern or name, and apply signal trapping with sigkill to terminate rogue or zombie processes.
Monitor and manage processes across two terminals by using ps and ps ax with grep to find sleep processes, then terminate them with signal 15 or 9.
Learn to prioritize processes and manage their execution, focusing on foreground versus background operation to optimize how tasks run on the system.
Explore process forking by starting a shell and forking a sub shell to run a command, then returning to the main shell. Wait for the sub shell to finish.
Run commands in the background using an ampersand, letting you continue in the parent shell while the foreground process forks and executes in a sub shell.
Explain how process priority governs CPU time for running processes, with a range from zero to 1 to 27, and why higher priority yields longer time slices.
View existing process priorities using the PRI column and the top command to assess ripple effects before adjusting a process's priority, and understand the suggested change range.
Learn to adjust process priority with the nice command, using -20 to 19 values, where negative raises priority and positive lowers it, and reset with renice by pid.
Use renice to change a running process's priority by its process ID, then restore the task to its original priority after the work completes.
This demo shows how to manage process priorities using the sleep command, nice, and renice, and how to inspect changes with ps -l and psl.
Explore how Linux uses modular kernel components you can add or modify to fine-tune the operating system. Learn options for advanced users to customize performance through kernel modules.
Explore kernel tuning and hardening to improve performance and security, using sysctl to adjust settings and the CIS control config file in the /etc directory.
Explore Linux sysctl network settings, including default forwarding and gateway behavior, icmp handling (echo ignore, redirects), ignore broadcasts, and source routing to manage routes and security.
Learn to view kernel information using uname and /proc/version, explore sysrq controls, and compare paging tools like less versus more, including safe kernel parameter adjustments as root.
Load and manage kernel modules as on-demand components, understanding that adding drivers or services expands the kernel and can cause security breaches if unnecessary.
Explore how the modprobe command inserts or removes kernel modules while automatically handling dependencies to prevent boot errors, with -c, -l, and -r options.
Explore module related files under the etsy folder, including config dot modules, modprobe config, and modprobe daemon, to understand how modules can be configured to fine tune the operating system.
Explore kernel modules on a Linux system by using lsmod and modprobe -l to view loaded and available modules, then inspect /etc/modprobe.d and /lib/modules to understand dependencies.
Explore how Linux handles processes and kernel modules, learning to view, kill, and reprioritize processes, and to fine-tune and harden the kernel for performance and control.
Prepare for disasters with backups and restoration plans; automate routine maintenance so systems run themselves. Monitor Linux performance, establish baselines, and log events to prevent issues.
Develop a backup and restore plan that meets business needs to minimize downtime during backups and disaster recovery.
Explore how compression shifted from saving storage space on hard drives to reducing bandwidth on WAN transfers and voice over IP traffic, lowering latency on RTP links.
Explore the concept of data compression as a mathematical transformation that replaces common data patterns with smaller representations, covering symmetric vs asymmetric and lossless vs lossy algorithms.
Assess the compression ratio to quantify storage savings from a compression algorithm and file type, noting that some files compress poorly.
Explore lossless and lossy compression algorithms, from Huffman coding and run-length encoding to DCT and wavelets, and note that choosing an algorithm often requires research or sticking with Linux defaults.
Discover how linux handles compressed file types like zip and gzip, and that extensions are not required in linux, while jpeg, png, gif, mpeg, and mp3 use data-specific algorithms.
Explore linux compression utilities, including compress, gzip as the replacement for compress, and formats like gz, zip, and bz2, with gunzip for unzipping.
Explore how gzip, as a replacement for compress, uses options like -d to decompress, -t to test, -v for verbose, -f to force, and compression level flags; learn gunzip.
Compare bzip2 and zip for compression; bzip2 offers higher ratios but is less popular and may be unavailable on some Linux versions.
Use the gui by right-clicking a file, selecting the zip option, and choosing the compression algorithm, avoiding the command line when possible.
Master tar tape archives by using common options like -c, -f, -t, -v, -x, and -z to create, list, extract, and compress archives, then decompress and access the resulting files.
Create a tar archive from log files named log backup, then compress to log backup.tar.gz. Extract with tar -x to restore the files from the single compressed tar ball.
Cpio collects and copies files to standard output for backups, while find locates backup targets with cpio using criteria like permissions, name, or last access times, and dump and restore.
Learn to back up with cpio by finding the trainer folder, piping files into cpio to create backup.cpio, then redirecting to /var/temp and compressing with gzip to backup.gz.
Explore dd, a sector-by-sector copy utility used for backups and forensic analysis on hard drives, noting it copies data without performing analysis.
Learn dd for backing up your file system and disks, including backing up the MBR and using input and output files to back up and restore data.
This lecture shows backing up a drive with dd by copying from SDA1 device to a file in home directory using block size 512 and count 1 under root permissions.
Learn how to reduce daily maintenance by scheduling tasks, choosing between one-time and ongoing jobs, so you automate routine programs without interrupting your work.
Explore the two primary scheduling commands in Unix/Linux: at for one-time tasks and cron for recurring jobs, and learn how to verify execution with job reports.
Learn to schedule a command at now plus one minute, redirect output to testing.txt, verify with date and cat, and observe that the job runs once.
Schedule tasks with the cron command to run on a repeated daily, weekly, or monthly basis by configuring what and when, using crontab and cron.d.
Inspect and understand the crontab file, identify scheduled jobs and their actions, and learn how to read descriptors and edit schedules without using the cron command.
Read the crontab file to interpret frequency: minutes, hour, day of month, month, day of week, and the command to run. See how to review or remove unnecessary scheduled jobs.
Read and manage the cron tab to schedule tasks, control access with /etc/cron.allow and /etc/cron.deny, and use anacron for laptops that aren’t on 24/7.
Demonstrates scheduling a cron job with crontab, setting minute and hour fields, and verifying execution by creating, viewing, and cleaning up a cron test file.
Emphasize proactive performance monitoring by routinely collecting baselines during normal operation, so you can compare current performance to what is expected and quickly identify issues.
Install the sysstat package to access mpstat, iostat, and SAR for processor, disk, and system activity monitoring. Use free, top, uptime, and vmstat to view current memory and swap.
Install the systat package using the synaptic package manager, search for systat, apply changes, and verify with mpstat and iostat commands.
Learn how mpstat reveals processor utilization by showing system and user process activity, threads, and busy intervals, with adjustable time frequency to refresh your performance snapshot.
Use iostat to monitor drive input and output and identify bottlenecks, noting that memory swapping can cause high io and slow system performance.
Install systat to run mpstat for cpu usage, i/o wait, and idle time, then use iostat -C and -d to monitor cpu and disk performance and spot bottlenecks.
Explore the sar system activity reporter from the sysstat package, schedule data collection with cron, and review /var/log/sar outputs to establish a baseline of machine activity.
Examine sar output to analyze cpu utilization, including user, system, io wait, and idle percentages, with repeated runs showing a brief history of each sample.
Explore how the SAR system activity reporter collects CPU and I/O statistics, demonstrates options like -A and -B, and shows defaults and cron scheduling for troubleshooting performance.
Explore how the uptime command reports system runtime since last boot, logged-in users, and load, while highlighting the importance of patches, updates, and occasional rebooting for security.
The free command shows memory and swap availability to gauge when the system is running out of memory, guiding server deployment planning.
Master the top command to quickly identify the largest CPU users by sorting in descending order, with options to order by CPU percentage, process IDs, or user names.
Explore how the vmstat command helps analyze memory and swap usage to determine if resources are sufficient, overloaded, or misplanned, aiding service and workload analysis.
Explore memory statistics utilities and process monitoring using uptime, free, vmstat, and top, then use system monitor to view, end, and adjust processes and daemon files.
Learn how load average from the uptime command measures real-time CPU load over 1, 5, and 10 minutes to indicate overload and guide enterprise planning with Apache and MySQL.
Open a terminal, run the top command, and view the load average over the 110 and 15 minute periods to assess whether the cpu is overloaded.
Adopt proactive and post mortem logging on Linux servers to support the five nines of uptime. Store logs off the system with a syslog server to preserve evidence for analysis.
Explore Linux log files such as boot, cron, mail, messages, secure, and X window logs to monitor startup, scheduled tasks, backups, and security events.
explore how to view logs in /var/log using less and sudo, inspect the message file for hardware detection, and interpret startup timing and device settings.
Configure syslog logging with the syslog.conf in the /etc directory to control what, how, and where logs are written; adjust severity levels such as debug to balance visibility and performance.
Explore editing the syslog config to specify facilities and severity levels, targeting log files such as mail, users, and daemons, and define where to store them.
Identify and monitor linux logging facilities such as auth, cron, daemons, kern, lpr, mail, syslog, and user, and relate them to log severity levels.
Explore the eight syslog priorities from emergency to debug, including alert for subsystem failures, notice for configuration changes, and info for events, with debug for real-time troubleshooting.
Learn linux syslog notation for facility and level, including kernel dot warning, kernel dot equals warning, and bang to express not.
Discover how syslog.conf determines what gets logged on a system, viewing and editing with less and sudo access. Inspect daemon log and facilities by severity levels, and search for errors.
Explore log rotation and its daemon, which keeps log files from getting too large by archiving and rotating them. Configure rotation in the log rotate config and inspect archived files.
Explore a sample logrotate.conf demonstrating how to set rotation frequency, create new log files, apply compression, and store rotation state in /etc/logrotate.d, with separate rules for temp files.
Explore how log rotation archives logs to keep files small, inspect /var/log with less, and review a logrotate setup that rotates weekly, preserves archives, creates empty logs, and avoids compression.
Search log files with grep to match patterns and regular expressions, from words to numerical ranges. Use head for the first lines and tail for the latest updates.
Learn how grep uses regular expressions to search text and log files, with options for case sensitivity, whole word versus partial matches, and inverse matching.
Understand head and tail: display the first or last lines of a file by default, with options to set line counts; tail highlights the most recent log entries.
Explore sed, a powerful stream editor for search and replace, deleting lines, and directing output to screen or files for reading log information.
Explore text file manipulation by tailing logs, grepping for specific entries, and using sed to replace usernames, while guarding log integrity and backing up logs to a separate system.
Learn how awk functions as a scripting language to search patterns, print expressions, and load variables from a file like month names to generate listings.
Master AWK as a powerful Linux scripting tool for automating tasks, manipulating variables and files, checking email and log files, printing results to the screen, and scheduling outputs with cron.
Master proactive system maintenance by backing up and restoring data, compressing files, creating tape archives, and scheduling tasks with AWK and logging daemons to monitor performance.
Learn the network basics to build a foundation for understanding what happens behind the scenes when a Linux machine communicates with the internet or other servers beyond its local host.
Explore how network protocols and open standards like IP, TCP, and UDP via the OSI architecture enable cross-platform communication between Windows and Linux.
Explore the OSI reference model, the Open System Interconnect framework describing node-to-node communications across seven layers, with focus on the lower layers.
Describe the osi model's top layers: layer seven is the application layer and layer six is the presentation layer, with examples like word processing documents and mp3 files.
Explore the OSI reference model's session layer, layer five, and learn how operating systems track multiple users and applications to prevent communications from switching or mixing during browsing.
Explore how the transport layer uses TCP and UDP for segmentation and delivery, then examine the network and data link layers with IP addressing, broadcast domains, and logical addresses.
Identify how the data link layer uses the MAC address burned into your network interface card to deliver frames through switches. Observe that IP addresses are logical and may change.
Explore the OSI reference model's layered architecture, from application and session to transport, network, data link, and physical layers, and how these layers manage packaging, addressing, and transmission.
Explore how the OSI reference model governs receiving data, verifying physical and IP addresses, and reassembling packets to enable standard, interoperable communications across dissimilar systems.
Explore the TCP/IP suite, its layers, and core protocols like TCP, UDP, DNS, DHCP, ARP, and ICMP, plus practical IP addressing and MAC address concepts.
Explain how OSI upper layers map to TCP/IP application and transport, discuss ports and sessions, and describe IPv4/IPv6 addresses and Ethernet MAC addresses.
Learn IPv4, a 32-bit address in dotted decimal notation with four octets. Grasp classful origins, subnetting, and temporary fixes such as CIDR, NATting, and padding.
Explore the transition to IPv6, its 128-bit address space, hex notation with colons, and deployment across providers, focusing on configuring Linux systems for new address assignments.
Compare character based names and static host files with dynamic DNS mappings, and learn how DNS registers name to IP changes as network topology evolves.
Learn how source and destination ports in tcp/ip identify services and manage traffic, using well-known ports (80, 443, 53) and source ports (0 to 65,535) to keep sessions separate.
Inspect /etc/services with less to view ports, noting tcp/udp usage and common services, most ports are 1–1024, with some outside, and use search engine work to learn meanings.
Explore the triple a of authentication, authorization, and accounting, and learn how remote access relies on authentication, permission control, and logging of actions under accounting.
Learn to verify a user’s identity through authentication factors: something you know, something you have, and something you are. Explore practical examples like usernames, passwords, smart cards, tokens, and biometrics.
One-factor authentication is easy to break through social engineering and password exposure; adopt multi-factor authentication using two or more factors: something you know, something you are, or something you have.
Two-factor authentication adds a second method to verify identity, so even if someone steals a password they still need a smart card, a phone verification, or a fingerprint.
Three-factor authentication combines password, biometrics, and a smart card or token to secure access, but the weakest link, often people, can undermine even strong systems.
Explore network services that simplify connectivity, including DNS and DHCP, and learn how they streamline communications for local area networks and Internet access.
Configure the network card to obtain a suitable address, verify connectivity with ifconfig, and explore static configuration files while emphasizing the use of dynamic host configuration protocols (DHCP).
Use ifconfig to view and configure network interfaces, including the loopback, and learn routing with route commands to manage gateways, multiple routers, and the default route.
Use ifconfig to view and configure eth0, switching from dhcp to a static 192.168.1.x with a 255.255.255.0 netmask and gateway 192.168.1.1, and inspect /etc/network/interfaces.
Learn to configure a dhcp client on linux by editing the interfaces file or using dhclient, observe dhcp discover and offer, and manage interface up/down with ifconfig and related commands.
Install the dhcp server package and run the dhcp daemon to set up a dhcp server, ensuring the server uses a static ip while it dynamically assigns addresses to clients.
Explains configuring a DHCP server with the dhcpd config file, defining scopes, leases, and options such as DNS server and default gateway to enable network access.
Install and configure dhcp server services, create scopes and options, manage leases, and implement authoritative settings to prevent rogue dhcp risks and man-in-the-middle attacks.
Explore network time services and the NTP protocol, which keeps servers and clients synchronized to an authoritative time source to prevent replay attacks and ensure small time differences.
The internet super daemon intercepts on-demand service requests and starts the daemon as needed, then shuts it down to conserve resources, with Debian using init.d and Red Hat using xinetd.
Watch a demo of viewing daemon startup options. Learn how the inetd config on Debian controls services, and how /etc/rc*.d directories list startup services that boot Linux.
Discover how the domain name system maps names to IP addresses with a hierarchical, zone-based structure managed by authoritative servers, acting like a scalable phone book for billions of URLs.
Trace the name resolution process via recursive and forward lookups, as your service provider’s DNS server caches queries and forwards to authoritative servers, returning the IP address.
Learn to use DNS tools such as nslookup, dig, and host to resolve names, query authoritative name servers, inspect NS records, and perform forward lookups with debian.org.
Configure Bind to run a DNS server for your local network, defining the named.conf, authoritative zone, and host-to-ip mappings along with aliases and service mappings.
Explore dns resource records, including a, cname, mx, ns, ptr, and srv, understand the start of authority and zone authorship, and focus on a records for ip addresses.
Install bind9 to turn the system into a dns server, examine the default route table and route hints, and review local host zones and forward lookups via route servers.
Manage the bind dns service by starting, stopping, or restarting it to recover from issues, using the init daemon and init.d or rc.d paths.
Start the bind9 service from the init.d path with the default configuration to run as a caching DNS server, caching queries for about 30 minutes.
Explore local name resolution using the host file, a static list of server names and IPs that speeds up lookups, helps bootstrapping, but requires manual updates and bypasses DNS.
Explore the default /etc/hosts file, including the local host 127.0.0.1 and IPv6 localhost entries, and understand local loopback and accessing services via http://localhost.
Configure services statically by mapping them to host names with the nsswitch.conf file, then recursively resolve those host names to their ip addresses.
Examine how the host file resolves names to IPs, guided by the name service switch, using local files and the loopback address before DNS.
Review the basics of networking services, terms, and foundation for configuring network connections and DNS management. Explain how OSI and TCP/IP layers interact and why lower-layer details matter for troubleshooting.
The CompTIA Linux+ 2009 course covers the basic administration, security, networking, performance and maintenance tasks required to efficiently and smoothly run a Linux environment. The course contents are based on the recommended curriculum by CompTIA for the CompTIA Linux+ certification exams.
The CompTIA Linux+ course offers theoretical as well as practical knowledge to effectively install, configure and manage a Linux based IT environment. The course is equally helpful to guide the students towards pursuing the CompTIA Linux+ certification. It covers the required content as specified in CompTIA’s exam objectives. The course has been designed in such a way that candidates will be able to install Linux and end up with a useable and secure Linux system.