O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Linux Under the Hood

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

  • Intermediate to advanced

What You Will Learn

  • How to work more efficiently with Linux by understanding exactly how it works

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

  1. Introduction
    1. Linux Under the Hood: Introduction 00:01:40
  2. Lesson 1: How Linux is organized
    1. Learning objectives 00:00:30
    2. 1.1 Understanding the stack 00:03:46
    3. 1.2 Understanding the role of the kernel 00:03:59
    4. 1.3 Understanding drivers, kernel modules and device files 00:07:26
    5. 1.4 Understanding glibc 00:03:26
    6. 1.5 Understanding the Linux shell 00:02:53
    7. 1.6 Understanding file descriptors 00:02:46
  3. Lesson 2: About C code, scripts and compiled programs
    1. Learning objectives 00:00:42
    2. 2.1 Understanding C programs: From source code to binary 00:05:48
    3. 2.2 Understanding the role of git 00:01:53
    4. 2.3 Do you need to know how to read C? 00:04:03
    5. 2.4 Understanding compilers and Makefiles 00:08:38
    6. 2.5 Understanding the need for libraries 00:04:56
    7. 2.6 Reading bash and other scripts 00:04:23
  4. Lesson 3: Understanding Linux commands and how they work
    1. Learning objectives 00:00:37
    2. 3.1 Explaining what is involved: opening a file for read 00:01:10
    3. 3.2 Understanding system calls 00:02:31
    4. 3.3 Reading about system calls in man 00:03:01
    5. 3.4 Understanding library calls 00:01:36
    6. 3.5 Understanding the strict separation between userland and kernel land 00:04:47
    7. 3.6 Using strace and ltrace 00:04:56
    8. 3.7 Understanding signals 00:03:02
  5. Lesson 4: Understanding the Linux boot procedure
    1. Learning objectives 00:00:32
    2. 4.1 Generic overview of the boot procedure from BIOS to shell 00:02:41
    3. 4.2 The first step: UEFI or BIOS 00:10:19
    4. 4.3 The next step: GRUB, GRUB2, LILO, syslinux or something else 00:05:07
    5. 4.4 Configuring GRUB2 00:14:06
    6. 4.5 Understanding and modifying initramfs 00:13:42
    7. 4.6 Understanding init, upstart, systemd 00:11:19
    8. 4.7 Understanding systemd and rsyslog logging 00:08:49
    9. 4.8 Understanding systemd unit files 00:06:18
    10. 4.9 Understanding systemd targets 00:06:41
    11. 4.10 Demo: Creating a .service unit file 00:03:41
    12. 4.11 Using systemd sockets 00:03:54
    13. 4.12 Analyzing systemd performance 00:02:10
  6. Lesson 5: Understanding Linux storage
    1. Learning objectives 00:00:50
    2. 5.1 Understanding Linux storage 00:03:45
    3. 5.2 Understanding partitions: MBR or GPTand creating partitions 00:06:37
    4. 5.3 Understanding flexible storage: LVM 00:03:27
    5. 5.4 Creating LVM logical volumes 00:11:56
    6. 5.5 Understanding device mapper 00:05:12
    7. 5.6 Creating device mapper storage with dmsetup 00:04:18
    8. 5.7 Understanding filesystems and the VFS 00:01:44
    9. 5.8 About POSIX and non-POSIX file systems 00:07:11
    10. 5.9 Intro to btrfs 00:08:46
    11. 5.10 Understanding inode and block allocation 00:06:11
    12. 5.11 Understanding FUSE file systems 00:03:05
    13. 5.12 Understanding iSCSI storage 00:02:34
    14. 5.13 Configuring iSCSI storage 00:10:49
    15. 5.14 Understanding working with flash media 00:01:57
  7. Lesson 6: Understanding memory management
    1. Learning objectives 00:00:32
    2. 6.1 Understanding and monitoring Linux memory allocation 00:09:23
    3. 6.2 Understanding and monitoring page cache 00:06:29
    4. 6.3 Understanding active and inactive memory 00:07:57
    5. 6.4 Understanding the need to swap 00:03:16
    6. 6.5 Configuring and monitoring swap space 00:04:37
    7. 6.6 Managing dirty memory 00:03:23
    8. 6.7 Understanding cache usage 00:01:46
    9. 6.8 Understanding memory leaks 00:01:43
  8. Lesson 7: Understanding processes
    1. Learning objectives 00:00:58
    2. 7.1 Understanding how a process is created 00:01:57
    3. 7.2 Understanding processes and threads 00:07:02
    4. 7.3 Killing a zombie 00:05:51
    5. 7.4 Understanding priorities, schedulers and nice values 00:09:08
    6. 7.5 Understanding inter-process communication, sockets, and pipes 00:05:17
    7. 7.6 Understanding the D-Bus message interface 00:02:34
    8. 7.7 Monitoring processes through /proc 00:04:06
  9. Lesson 8: Security
    1. Learning objectives 00:00:38
    2. 8.1 Understanding DAC 00:01:29
    3. 8.2 Understanding owner-based permissions and file modes 00:13:23
    4. 8.3 Understanding capabilities 00:03:24
    5. 8.4 The need for MAC 00:02:32
    6. 8.5 MAC solutions overview 00:01:32
    7. 8.6 Configuring SELinux file access 00:10:19
    8. 8.7 Configuring SELinux port access 00:03:15
    9. 8.8 Monitoring SELinux 00:10:02
    10. 8.9 Handling SELinux exceptions 00:09:14
  10. Lesson 9: Hardware initialization
    1. Learning objectives 00:00:31
    2. 9.1 Understanding Linux kernel device interfaces 00:06:52
    3. 9.2 Monitoring hardware availability 00:06:41
    4. 9.3 Getting hardware information from sysfs 00:08:09
    5. 9.4 Understanding udev 00:08:21
    6. 9.5 Applying udev rules 00:04:11
  11. Lesson 10: Looking closer at the kernel
    1. Learning objectives 00:00:33
    2. 10.1 Building your own kernel 00:10:40
    3. 10.2 Managing kernel modules 00:08:28
    4. 10.3 Understanding /proc 00:11:11
    5. 10.4 Using sysctl 00:06:14
  12. Lesson 11: Understanding networking
    1. Learning objectives 00:01:03
    2. 11.1 Understanding Linux network device names 00:02:56
    3. 11.2 Understanding the OSI model 00:02:44
    4. 11.3 Transforming data into packets 00:04:07
    5. 11.4 Understanding IP 00:04:02
    6. 11.5 Choosing the right protocol 00:02:07
    7. 11.6 Reading packet headers 00:09:21
    8. 11.7 Understanding network buffers 00:03:32
    9. 11.8 Optimizing data flow 00:02:30
    10. 11.9 Understanding network configuration management 00:08:47
    11. 11.10 Understanding network link aggregation 00:05:23
    12. 11.11 Using netcat 00:02:15
  13. Lesson 12: Performance optimization
    1. Learning objectives 00:00:32
    2. 12.1 Defining the problem 00:01:54
    3. 12.2 Understanding current performance 00:19:50
    4. 12.3 Tracing and profiling application behavior 00:04:29
    5. 12.4 Manipulating process scheduling 00:04:22
    6. 12.5 Analyzing and optimizing memory issues 00:04:34
    7. 12.6 Analyzing and optimizing I/O issues 00:07:31
    8. 12.7 Analyzing and optimizing network issues 00:05:03
    9. 12.8 Using cgroups in systemd 00:07:42
  14. Lesson 13: The future of Linux
    1. Learning objectives 00:00:47
    2. 13.1 Understanding containers 00:03:33
    3. 13.2 Working with Docker containers 00:10:15
    4. 13.3 Understanding object storage 00:04:05
    5. 13.4 Using the cloud as an operating system replacement 00:02:31
  15. Summary
    1. Linux Under the Hood: Summary 00:00:34