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

Product information

  • Title: Linux Under the Hood
  • Author(s): Sander van Vugt
  • Release date: January 2017
  • Publisher(s): Pearson
  • ISBN: 0134663500