Linux - The Penguin Marches On
by Patrick McClanahan
- Publisher
- San Joaquin Delta College
- Subjects
- Engineering, Computer Science
- Licence
- CC BY-NC 4.0, as LibreTexts states it. Non-commercial use only.
- Who can read
- Tweens profiles and older, judged from its title and subjects
Contents
LibreTexts writes equations in TeX, and here they show as TeX; the PDF has them typeset.
- Front Matter
- Title Page
- InfoPage
- Table of Contents
- Licensing
- ASCCC OERI
- Module 01: Back to the Basics
- 01-A.1: Introduction to Linux
- 01-A.2: Open Source Software
- 01-A.3: Free Software vs Open Source
- 01-A.4: Different FOSS licensing...
- 01-A.5: The GNU Project
- 01-A.6: Unix - What's the Connection?
- 01-A.7: Finally - Linux
- 01-A.8: Advantages and Disadvantages of Linux
- 01-A.9: Distro List
- 01-A.10: How is Linux Used?
- 01-B.11: How the Shell and CLI Work
- 01-B.12: CLI - The Good and the Bad
- 01-B.13: Shells: What and Why
- 01-B.14: Doing bash
- 01-B.15: Bash Command How To
- 01-B.16: Let's Look at the Basics
- 01-B.17: File Basics: More Later
- 01-B.18: Who is superuser?
- 01-B.19: Leftovers, What Else Do We Need?
- 01-C.20: Help! Where can I find help in Linux?
- 01-C.21: Linux man pages
- 01-C.22: Man Page Format
- 01-C.23: Additional Linux System Help Choices
- 01-C.24: Sources of Online Linux Documentation
- 01-C.25: Asynchronous Linux Help Resources
- Module 02: User & Group Administration
- 02-A.1: Users, and How to Acquire Superuser Power
- 02-A.2: Who Is the Superuser?
- 02-A.3: su: The Command
- 02-A.4: Other Options for Administrative Privileges
- 02-B.5: Users: Create, Modify, and Delete
- 02-B.6: Users: Create, Modify, and Delete (cont'd)
- 02-B.7: Users: Create, Modify and Delete (continued)
- 02-B.8: Users: Create, Modify, and Delete - passwd Command
- 02-B.9: Users: Create, Modify, and Delete - etc passwd and etc shadow
- 02-B.10: Users: Create, Modify, and Delete - Edit /etc/passwd File
- 02-C.11: Groups: Create, Modify, and Delete
- 02-C.12: Groups: Create, Modify, and Delete - Modify Group
- 02-D.13: User and Group Queries
- 02-E.14: User Account Profile Configuration
- 02-E.15: Example: Bash RC file
- 02-E.16: System Wide User Profiles
- 02-E.16.1: System Wide User Profiles: /etc/profile
- 02-E.16.2: System Wide User Profiles: The /etc/profile.d Directory
- 02-E.16.3: System Wide User Profiles: The /etc/bashrc File
- Module 03: Permission and Ownership Management
- 03-A.1: Modify Permissions: File and Directory
- 03-A.2: Modify Permissions: File and Directory (continued)
- 03-B.3: Modify Ownership of Files and Directories
- 03-C.4: Special Permission Types - The setuid Bit
- 03-C.4.1: Special Permission Types - The setgid Bit
- 03-C.4.2: Special Permission Types - The Sticky Bit
- 03-C.5: File Attributes
- 03-D.6: Permission Issues and How to Troubleshoot
- Module 04: Managing Linux Storage
- 04-A.1: Storage Devices
- 04-A.2: Linux File Systems
- 04-A.3: Inodes
- 04-A.4 Journaling File Systems
- 04-A.5: Linux Virtual File System
- 04-A.6: Partitions and Labels
- 04-A.6.1: Partitions and Labels continued
- 04-A.7: Disk Setup Process - fdisk
- 04-A.7.1: Disk Setup Process - parted
- 04-A.7.2: Disk Setup Process - mkfs & mount
- 04-A.8: The dev Directory
- 04-B.9: Logical Volume Management
- 04-B.9.1: LVM and other stuff
- 04-B.9.2: LVM Tools
- 04-C.10: Mounting Linux File Systems
- 04-D.11: File System Management
- 04-D.11.1: File System Management - ext Filesystem Tools
- 04-D.11.2: File System Management - xfs Tools
- 04-E.12: Linux Directory Structure
- 04-E.12.1: Linux Directory Structure - Hierarchy
- 04-E.12.2: Linux Directory Structure - Home Directory
- 04-E.12.3: Linux Directory Structure - Paths
- 04-F.13: Storage Issues - Find and Fix
- 04-F.13.1: Storage Issues - IO Scheduling
- 04-F.13.2: Storage Issues - More IO Scheduling
- 04-F.13.3: Storage Issues - iostat, ioping
- 04-F.13.4: Storage Issues - Quota Management
- Module 05: File and Directory Management
- 05-A.1: Creating and Editing Text files
- 05-A.2: Creating and Editing Text files - Vim Editor
- 05-A.2.1: Vim - Insert Mode
- 05-A.2.2: Vim - Visual Mode
- 05-A.2.3: Vim - Command-Line Mode
- 05-A.3: Nano Editor
- 05-A.4: Gedit and More
- 05-B.5: Searching for Files on Linux
- 05-B.5.1: Searching for Files on Linux - find Command
- 05-B.5.2: Searching for Files on Linux - which Command
- 05-B.5.3: Searching for Files on Linux - whereis Command
- 05-C.6: Working with Files and Directories - cat Command
- 05-C.6.1: Working with Files and Directories - head/tail Commands
- 05-C.6.2: Working with Files and Directories - less/more Command
- 05-C.6.3: Working with Files and Directories - cp/mv Command
- 05-C.6.4: Working with Files and Directories - rm/touch Command
- 05-C.6.5: Working with Files and Directories - ls/rmidir/mkdir Command
- 05-D.7: Handling Text Files - echo/printf
- 05-D.7.1: Handling Text Files - tr/wc Command
- 05-D.7.2: Handling Text Files - sort/diff Commands
- 05-D.7.3: Handling Text Files - cut/paste
- 05-D.7.4: Handling Text Files - grep Command
- 05-D.7.5: Handling Text Files - awk Command
- 05-D.7.6: Handling Text Files - sed Command
- 05-D.7.7: Handling Text Files - ln Command
- 05-E.8: File Output Manipulation
- 05-E.8.1: File Output Manipulation - pipe
- 05-E.8.2: File Output Manipulation - xargs
- 05-E.8.3: File Output Manipulation - tee & /dev/null
- Module 06: Kernel Module Management
- 06-A.1: Examine the Linux Kernel
- 06-A.2: Linux Kernel
- 06-A.3: Linux Kernel Subsystem
- 06-B.4: Kernel Modules
- 06-B.5: Kernel Module Management - lsmod/modinfo Command
- 06-B.5.1: Kernel Module Management - insmod/rmmod Command
- 06-B.5.2: Kernel Module Management - modprobe/depmod Command
- 06-B.6: Kernel Modules - Configuration
- 06-B.7: Kernel Modules - Kernel Parameters
- 06-C.8: Kernel Module Monitoring
- 06-C.9: The dmesg Command
- Module 07: Linux Boot Process
- 07-A.1: Configuring Boot Components
- 07-A.2: Configuring Boot Components (continued)
- 07-A.3: Configuring initrd
- 07-A.4: Boot Process
- 07-B.5: GRUB2 - Installation
- 07-B.6: GRUB2 - Configuration
- Module 08: How to Manage System Components
- 08-A.1: Localization Options - Configuration
- 08-A.2: Localization - date/timdatectl Command
- 08-A.3: Localization - localectl Command
- 08-B.4: GUI Configuration
- 08-B.5: GUI Desktop Environments
- 08-B.6: Remote Desktop Access
- 08-B.7: Remote Console - SSH/X Forwarding
- 08-C.8: Managing Linux Services
- 08-C.8.1: Managing Linux Services - systemctl
- 08-C.8.2: Managing Linux Services - hostnamectl
- 08-C.8.3: Managing Linux Services - SysVinit
- 08-C.8.4: Managing Linux Services - inittab & init.d
- 08-D.9: Process Troubleshooting
- 08-D.9.1: Process Troubleshooting - ps command
- 08-D.9.2: Process Troubleshooting - top command
- 08-D.9.3: Process Troubleshooting - lsof Command
- 08-D.9.4: Process Troubleshooting - Process Priorities
- 08-D.9.5: Process Troubleshooting - Background / Foreground Processes
- 08-D.9.6: Process Troubleshooting - nohup and kill Commands
- 08-E.10: CPU and Memory Troubleshooting
- 08-E.10.1: CPU and Memory Troubleshooting - sar & Memory Issues
- 08-E.10.2: CPU and Memory Troubleshooting - free / vmstat Commands
- 08-E.10.3: CPU and Memory Troubleshooting - OOM & swap
- Module 09: Managing Linux Devices
- 09-A.1: Supported Linux Devices
- 09-A.1.1: Supported Linux Devices (cont'd)
- 09-A.1.2: Supported Linux Devices (continued)
- 09-B.2: Configuring Linux Devices
- 09-B.2.1: Configuring Linux Devices - Printing
- 09-C.3: Monitoring Devices in Linux
- 09-D.4: Troubleshooting: Hardware Issues
- Module 10: Network Management
- 10-A.1: TCP/IP Fundamentals
- 10-A.1.1: TCP/IP Fundamentals - Identities
- 10-A.1.2: TCP/IP Fundamentals - Addressing
- 10-A.1.3: TCP/IP Fundamentals - Ports and Segments
- 10-B.2: Server Roles in Linux
- 10-B.2-3: Server Roles in Linux (continued)
- 10-B.2.1: Server Roles in Linux - Continued
- 10-B.2.4: Server Roles in Linux (continued)
- 10-C.3: Network Connection
- 10-D.4: Static VS Dynamic IP Addresses
- 10-D.5: DHCP Configuration
- 10-D.6: Name Resolution
- 10-E.7: Cloud Configuration
- 10-E.8: The Cloud and Virtualization
- 10-E.9: Cloud Bootstrapping and Storage
- 10-E.10: Configuring Networks and Virtualization Tools
- 10-F.11: How to Troubleshoot Networking Problems
- 10-F.11.1: Network Troubleshooting Commands - netstat / ss
- 10-F.11.2: Network Troubleshooting Commands - dig / nslookup / host
- 10-F.11.3: Network Troubleshooting Commands - ip / route / nmap
- 10-F.11.4: Network Troubleshooting Commands - wireshark
- 10-F.11.5: Network Troubleshooting Commands - iftop / iperf / mtr
- 10-F.11.6: Network Troubleshooting Commands - arp / whois
- Module 11: Package Management
- 11-A.1: Who are the Package Managers
- 11-B.2: rpm / yum How To
- 11-C.3: dpkg / apt How To
- 11-D.4: Repository Configuration
- 11-E.5: Other Software Sources
- 11-F.6: Software Builds from Source
- 11-G.7: Software Dependency Troubleshooting
- Module 12: Linux Systems Security
- 12-A.1: Best Cybersecurity Practices
- 12-A.1.1: Best Cybersecurity Practices - Continued
- 12-A.2: chroot Jail
- 12-A.3: Encryption in Linux
- 12-A.4: Security Best Practices
- 12-B.5: Identity and Access Management
- 12-B.6: Pluggable Authentication Modules
- 12-B.7: TTY Security & PKI
- 12-B.8: OpenSSL / VPN
- 12-B.9: Authentication Issues
- 12-C.10: SELinux Configuration
- 12-C.11: AppArmor
- 12-D.12: Firewall Configuration in Linux
- 12-D.13: Access Control Lists / iptables
- 12-D.14: UFW & firewalld
- 12-D.15: Netfilter / IP Forwarding
- 12-E.16: Linux Logging
- 12-E.17: journalctl & last Commands
- 12-F.18: Backup and Restore in Linux
- 12-F.19: tar / cpio / dd
- 12-F.20: mirrorvg / rsync / scp
- 12-F.21: File Compression
- 12-F.22: Integrity Check and Checksums
- Module 13: Working with Bash Scripts
- 13-A.1: How to Customize the Bash Shell
- 13-A.2: env / alias / PATH / time
- 13-B.3: Fundamentals of Linux Scripts
- 13-B.4: Shell Operators
- 13-B.5: Strings / Arrays / Functions
- 13-C.6: Writing and Running Linux Scripts
- 13-C.7: Shell Expansion / Variable Substitution / Command Substitution
- 13-C.8: Positional Parameters / exec Command / source Command
- 13-C.9: Script Permissions / Script Extensions
- 13-D.10: Shell Control Statements
- 13-D.11: Script Loops
- Module 14: Task Automation
- 14-A.1: Job Scheduling - at Command
- 14-A.2: Cron
- 14-B.3: Git: Version Control
- 14-C.4: Orchestration
- Module 15: Linux Installation
- 15-A.1: Linux Installation
- 15-A.2: Installation: Methods and Preparation
- Ancillary Materials
- Lab Exercises
- Powerpoint Presentations
- Back Matter
- Index
- Glossary
- Detailed Licensing