Video description
Over 9Hours of Video Instruction
Description
Learn all about Linux internals and how Linux really works.
Linux Under the Hoodis a unique video project that focuses on Linux internals, so you can get the most out of the Linux operating system. Although most Linux books and videos explain how to accomplish tasks in Linux, this video course goes beyond the how and dives into the why. So, instead of learning how to use commands and configure services, you will take a look at what's happening in Linux when you perform tasks. We'll go deeply into the Linux operating system in a way that is understandable to anyone who has already worked a bit with Linux. There's no need to be an expert or have a C programming language background; the only thing that is required is a bit of experience with the Linux operating system and a desire to learn really understand it.
This course offers 13 lessons that cover everything the audience needs to know to understand how Linux functions. The approach of this video course emphasizes real concept teaching. A minimal amount of slides will be used, with most videos diving into Linux internals and concepts using white board explanations and command line screencasts.
The video lessons cover the following topics:
Lesson 1: How Linux is organized
Lesson 2: About C code, scripts and compiled programs
Lesson 3: Understanding Linux commands and how they work
Lesson 4: Understanding the Linux boot procedure
Lesson 5: Understanding Linux storage
Lesson 6: Understanding memory management
Lesson 7: Understanding processes
Lesson 8: Security
Lesson 9: Hardware initialization
Lesson 10: Looking closer at the kernel
Lesson 11: Understanding networking
Lesson 12: Performance optimization
Lesson 13: The future of Linux
About the Instructor
Sander van Vugtis an independent Linux trainer, author, and consultant living in the Netherlands. Sander has written numerous books about different Linux-related topics and many articles for Linux publications around the world. Sander has been teaching Red Hat, Ubuntu, SUSE, and LPI Linux classes since 1994. As a consultant, he specializes in Linux High Availability solutions and Performance Optimization. More information about Sander is on his website at www.sandervanvugt.com.
Skill Level
What You Will Learn
Who Should Take This Course
The target audience for this course consists of people that have used Linux for a while and who want to know what it really is doing. The typical primary audience consists of system administrators. A secondary audience consists of operating system students and other that want to know how Linux works.
LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more.
View all LiveLessons on InformIT at http://www.informit.com/livelessons
Table of Contents
Introduction
Linux Under the Hood: Introduction
Lesson 1: How Linux is organized
Learning objectives
1.1 Understanding the stack
1.2 Understanding the role of the kernel
1.3 Understanding drivers, kernel modules and device files
1.4 Understanding glibc
1.5 Understanding the Linux shell
1.6 Understanding file descriptors
Lesson 2: About C code, scripts and compiled programs
Learning objectives
2.1 Understanding C programs: From source code to binary
2.2 Understanding the role of git
2.3 Do you need to know how to read C?
2.4 Understanding compilers and Makefiles
2.5 Understanding the need for libraries
2.6 Reading bash and other scripts
Lesson 3: Understanding Linux commands and how they work
Learning objectives
3.1 Explaining what is involved: opening a file for read
3.2 Understanding system calls
3.3 Reading about system calls in man
3.4 Understanding library calls
3.5 Understanding the strict separation between userland and kernel land
3.6 Using strace and ltrace
3.7 Understanding signals
Lesson 4: Understanding the Linux boot procedure
Learning objectives
4.1 Generic overview of the boot procedure from BIOS to shell
4.2 The first step: UEFI or BIOS
4.3 The next step: GRUB, GRUB2, LILO, syslinux or something else
4.4 Configuring GRUB2
4.5 Understanding and modifying initramfs
4.6 Understanding init, upstart, systemd
4.7 Understanding systemd and rsyslog logging
4.8 Understanding systemd unit files
4.9 Understanding systemd targets
4.10 Demo: Creating a .service unit file
4.11 Using systemd sockets
4.12 Analyzing systemd performance
Lesson 5: Understanding Linux storage
Learning objectives
5.1 Understanding Linux storage
5.2 Understanding partitions: MBR or GPTand creating partitions
5.3 Understanding flexible storage: LVM
5.4 Creating LVM logical volumes
5.5 Understanding device mapper
5.6 Creating device mapper storage with dmsetup
5.7 Understanding filesystems and the VFS
5.8 About POSIX and non-POSIX file systems
5.9 Intro to btrfs
5.10 Understanding inode and block allocation
5.11 Understanding FUSE file systems
5.12 Understanding iSCSI storage
5.13 Configuring iSCSI storage
5.14 Understanding working with flash media
Lesson 6: Understanding memory management
Learning objectives
6.1 Understanding and monitoring Linux memory allocation
6.2 Understanding and monitoring page cache
6.3 Understanding active and inactive memory
6.4 Understanding the need to swap
6.5 Configuring and monitoring swap space
6.6 Managing dirty memory
6.7 Understanding cache usage
6.8 Understanding memory leaks
Lesson 7: Understanding processes
Learning objectives
7.1 Understanding how a process is created
7.2 Understanding processes and threads
7.3 Killing a zombie
7.4 Understanding priorities, schedulers and nice values
7.5 Understanding inter-process communication, sockets, and pipes
7.6 Understanding the D-Bus message interface
7.7 Monitoring processes through /proc
Lesson 8: Security
Learning objectives
8.1 Understanding DAC
8.2 Understanding owner-based permissions and file modes
8.3 Understanding capabilities
8.4 The need for MAC
8.5 MAC solutions overview
8.6 Configuring SELinux file access
8.7 Configuring SELinux port access
8.8 Monitoring SELinux
8.9 Handling SELinux exceptions
Lesson 9: Hardware initialization
Learning objectives
9.1 Understanding Linux kernel device interfaces
9.2 Monitoring hardware availability
9.3 Getting hardware information from sysfs
9.4 Understanding udev
9.5 Applying udev rules
Lesson 10: Looking closer at the kernel
Learning objectives
10.1 Building your own kernel
10.2 Managing kernel modules
10.3 Understanding /proc
10.4 Using sysctl
Lesson 11: Understanding networking
Learning objectives
11.1 Understanding Linux network device names
11.2 Understanding the OSI model
11.3 Transforming data into packets
11.4 Understanding IP
11.5 Choosing the right protocol
11.6 Reading packet headers
11.7 Understanding network buffers
11.8 Optimizing data flow
11.9 Understanding network configuration management
11.10 Understanding network link aggregation
11.11 Using netcat
Lesson 12: Performance optimization
Learning objectives
12.1 Defining the problem
12.2 Understanding current performance
12.3 Tracing and profiling application behavior
12.4 Manipulating process scheduling
12.5 Analyzing and optimizing memory issues
12.6 Analyzing and optimizing I/O issues
12.7 Analyzing and optimizing network issues
12.8 Using cgroups in systemd
Lesson 13: The future of Linux
Learning objectives
13.1 Understanding containers
13.2 Working with Docker containers
13.3 Understanding object storage
13.4 Using the cloud as an operating system replacement
Summary
Linux Under the Hood: Summary