Linux Training in Brooklyn

Linux Training in Brooklyn

GNU/Linux courses

Testi...Client Testimonials

Linux LPI LPIC-1 Exam 101 Preparation

Always an enjoyable session with Bernard.


Henry Blyth - Oxfordshire County Council

Docker for Developers and System Administrators

The content was interesting

Leke Adeboye - CISCO

Docker for Developers and System Administrators

A lot of content explained in a simple and straightforward manner, will definitely remember many of the things taught thanks to the simple format.


Linux LPI LPIC-1 Exam 101 Preparation

Scripting, tips


Linux LPI LPIC-1 Exam 101 Preparation

Scripting, managing packages


Linux LPI LPIC-1 Exam 101 Preparation

It was easy to follow and the machine was working perfectly


Linux LPI LPIC-1 Exam 101 Preparation

I liked the training in general. The activities were nice.


Linux LPI LPIC-1 Exam 101 Preparation

The lab sessions


Linux LPI LPIC-1 Exam 101 Preparation

learn about Regex on linux

DIdier Mauricio Sanabria Pinzon - ROCHE DIAGNOSTICS SL

Linux System Administration

the exercises

Jake O'Keeffe

Ubuntu Server Overview

The way the shared desktop worked

Jo Parker - University of Chichester; University of Chichester

Embedded Linux Kernel and Driver Development

The hands on nature of it

Maurice Egan - Analog Devices

Docker for Developers and System Administrators

Very good information and well presented.

Cerner Corporation

Linux Course Events - Brooklyn

No Course Events scheduled for this location at the moment.
Please choose a different location or Request a Date >>

Course Outlines

Code Name Duration Outline
ulshscr UNIX/Linux Shell Scripting 14 hours

This 2 day course gives an introduction to the writing of UNIX Shell scripts using the Korn and Bash shells and to the more advanced features of UNIX including the batch editor sed and the text file processing language awk.

Although based on the Solaris version of UNIX running on a desktop PC, the principles learnt may be applied to all other versions of UNIX including Linux, AIX, HP-UX and SCO.

The course takes the format of a workshop, with a mix of lecture, working examples and practical exercises. Although the content may be customised, at least 1 day is normally needed to cover the core elements.

Full course notes are provided along with sample script files and free software tools for use in accessing a UNIX server.


  • Objectives
  • Course Schedule
  • Course Introductions
  • Pre-requisites
  • Bibliography
  • Delegate Responsibilities
  • Course Summary

Review of Basics - optional

  • Files
  • Directories and Processes
  • Displaying Directories - ls
  • Getting Help - man
  • Displaying Files - cat, more
  • Simple Commands
  • Piping - using | symbol
  • Redirection - using > symbol
  • Redirection - using >> symbol
  • Redirecting Input - using < symbol
  • Redirecting Errors
  • Using /dev/null
  • Foreground Jobs
  • Background Jobs - &
  • Stopping Jobs - kill
  • Special Files - . and ..
  • The Command Prompt - PS1
  • Creating Aliases
  • Using Aliases
  • Command history
  • Command Line Edit - using Arrow Keys
  • Command Line Edit - using vi
  • Customising the Shell
  • The Home Directory - HOME
  • The Working Directory - pwd
  • Changing Directories - cd
  • Make Directory - mkdir
  • Remove Directory - rmdir
  • Interactive Copy - cp -i
  • Interactive Move - mv -i
  • Interactive Remove - rm -i
  • Removing Directories - rm -r
  • Wild Cards - File Name Generation
  • Word count - wc
  • Finding Files - find
  • Finding Text in Files - grep, sort, cut, uniq, tr
  • Changing Permissions - chmod

Shell Programming

  • Creating Shell Scripts
  • Testing the Command
  • Creating the Script File
  • Adding Execute Permissions
  • Testing the Script
  • Running the Script - time
  • Running the Script - dot
  • Running the Script - exec
  • Running the Script - ksh
  • Debugging the Script
  • Passing Parameters
  • The read Command
  • Using read in Scripts
  • Choosing the Shell
  • Tidying The Output
  • Suppressing Input - stty

Special Characters and Variables

  • Quotation Marks
  • Quoted Strings - ", '
  • Escape Character - *
  • Quoted Strings - `
  • Using $(...)
  • System Variables - set
  • Other Special Variables
  • User Variables
  • User Variables - unset
  • Variables in Scripts
  • Typeset Command
  • Integer Variables
  • Special Constructs

Creating Menus

  • Conditions - case
  • Creating a Menu
  • Iteration - while, until
  • Holding the Output - sleep
  • Holding the Output - dummy read
  • Ending the Script
  • Ending the Loop
  • Hidden Option - forking a shell
  • Trapping Interrupts - trap
  • More on Interrupts
  • Highlighting Text- tput
  • Positioning the Cursor - backtab \b
  • Korn Shell Menu


  • Conditional Testing
  • Testing File Attributes
  • Testing File Permissions
  • Multiple Tests - Nested ifs
  • Multiple Tests - elseif
  • The NOT Condition
  • Multiple Conditions in One Test
  • Testing Strings
  • Using Square Brackets
  • Avoiding Null Input
  • Testing Numbers
  • More on case
  • Displaying Variables
  • Placing Spaces
  • Testing Commands

Iteration, Looping

  • Computations - let
  • Iteration - while, until
  • Infinite Loop
  • Iteration - for
  • More than 9 Parameters - shift

Sub-scripts and Functions

  • Local and Global Variables
  • Sub-scripts
  • Export Command
  • Exit Status
  • Aliases
  • Functions
  • Useful Functions
  • Return Status
  • Manipulating Functions
  • Functions in Scripts

Advanced Commands

  • Debugging - set
  • Setting - set
  • Merging Files - join
  • Merging Files - paste, basename and dirname
  • Job Control - jobs
  • Regular Expressions
  • Global Regular Expression Printer - grep
  • Expression grep - egrep
  • Fast grep - fgrep
  • Computations - expr
  • Computations – bc, eval Command,
  • Argument Processing
  • getopts Command
  • Using Arrays

Advanced Edit – vi & sed

  • vi - Mapping Key Combinations
  • Mapping Control Keys
  • Using Abbreviations
  • Editing Many Files
  • Regular Expressions
  • Global Insert
  • Here document,
  • Batch Stream Editor - sed, sed delete, -d, sed print, -p, sed suppress, -n, sed quit, -q, sed file, -f, sed Multiple Input, sed
  • Find and Replace
  • sed Example

Text File Processing - awk

  • The awk Programming Tool
  • Pattern Matching
  • Regular Expressions
  • Comparison Patterns
  • Compound Patterns
  • Range Patterns
  • Special Patterns
  • Built-in Functions
  • Troubleshooting awk Scripts
  • Passing Parameters
  • Using Contains
  • printf Function
  • Computations
  • Functions
  • substr
  • length
  • Action Statements
  • Control Flow Statements
  • Arrays
  • Arrays with for Loops
  • awk Examples
flatpak Flatpak - the future of application distribution 14 hours

Flatpak is a utility for software deployment, package management, and application virtualization for Linux desktop computer environments. It provides a sandbox environment in which users can run applications in isolation from the rest of the system.

This course teaches the basic usage of Flatpak, useful both for developers and system administrators. The course includes a lot of hands on exercises and the participants will practice in their own environment and build their own Flatpak images.


Introduction to Flatpak

Elements of a Flatpak application

Installation and setup

Building your first app

Using the Flatpak Builder

Working with the Sandbox

Distributing your application

kshprog Korn Shell Programming 21 hours

UNIX is a true multitasking operating system. Its portability, reliability and efficiency has helped it and various flavours of it, become widely used for a range of applications.

This course is designed for those wishing to learn Korn Shell programming. The practical exercises constitute about 50% of the course time. The course is suitable for any variant of Unix and the Linux platform is used for course delivery.

Who Should Attend: Programmers, system administrators and technical support staff who need to become proficient at scripting in the Unix environment.


  • UNIX Shells
  • Comparing Shells


  • Shell script basics
  • Comments
  • Printing output
  • Quoting
  • Creating shell variables
  • Predefined shell variables
  • Environment variables
  • Dot scripts
  • Aliases
  • Positional parameters
  • Command substitution

Conditional statements

  • If statement
  • Extended if syntax
  • Comparison operators

Looping statements

  • While statement
  • Until statement
  • Iterating for loop
  • Break and continue


  • Let statement
  • Arithmetic command
  • Arithmetic value command
  • Counting for loop
  • C Mathematics


  • String length
  • Substrings
  • Deleting leading and training strings
  • Providing default values

Shell IO

  • File descriptors
  • Redirecting input and output
  • Inline documents
  • Opening file descriptors
  • Reading and writing file descriptors
  • Closing and moving file descriptors


  • Function definitions
  • POSIX functions
  • Positional parameters
  • Returning a value
  • Local and reference variables

Signal Handling

  • UNIX Signals
  • Sending signals
  • The trap statement

User Input

  • Using getopts
  • The select statement


  • Hiding parameters
  • Database Queries
rancheros RancherOS: Just enough OS to run Docker 7 hours

RancherOS is an open-source Linux distribution that runs the entire operating system (including system services such as udev and rsyslog) as Docker containers. RancherOS includes only the bare minimum software needed to run Docker. It runs Docker as PID1 and dynamically pulls everything else it needs through Docker. At about 22MB, RancherOS is easy to distribute, orchestrate and spin up in your data center.

This training introduces RancherOS's architecture, tools, and components and walks participants step-by-step through the setup of RancherOS in a live lab environment. By the end of this training, participants will have the understanding and practice to use RancherOS to run containers at scale in development, test and production.

    DevOps engineers
    System administrators
    Software engineers

Format of the course
    Part lecture, part discussion, heavy hands-on practice


The RancherOS architecture

Installing and configuring RancherOS

Spinning up containers on RancherOS

System level services (containers) vs user level services (containers)

Running Linux system services through System Docker

Running applications through User Docker

Isolating user containers for different applications and user groups

Controlling access to containers

Networking and storage in RancherOS

RancherOS security

Upgrading and downgrading RancherOS

Running RancherOS in the cloud

Some sample deployments
    Using Docker Compose to define application deployment
    Building an Apache Mesos cluster on RancherOS
    Running Nagios as a System Service on RancherOS

Other container OSs and the future of the datacenter

Closing remarks

dockeradm1 Docker for Developers and System Administrators 14 hours

Docker is a platform for developers and sysadmins to maintain distributed applications. It consists of a runtime to run containers and a service for sharing containers.

With docker the same app can run unchanged on laptops, dedicated servers and virtual servers.

This course teaches the basic usage of Docker, useful both for developers and system administrators. The course includes a lot of hands on exercises and the participants will practice in their own Docker environment and build their own Docker images during the 2 days.

What is Docker?

  • Use cases
  • Major components of Docker
  • Docker architecture fundamentals

Docker architecture

  • Docker images
  • Docker registry
  • Docker containers

The underlying technology

  • Namespaces
  • Control groups
  • Union FS
  • Container format

Installation of Docker

  • Installation on Ubuntu via apt-get
  • installation of newer version of Docker

Dockerizing applications

  • The hello world example
  • Interactive container
  • Daemonizing programs

Container usage

  • Running a webapp in a container
  • Investigating a container
  • Port mapping
  • Viewing the logs
  • Looking at processes
  • Stopping and restarting
  • Removing a container

Managing images

  • Listing images
  • Downloading images
  • Finding images

Networking of containers

  • Port mapping details
  • Container linking and naming
  • Linking and environment variables

Data in containers

  • Data volumes
  • Host directories as data volume
  • Host file as data volume
  • Data volume containers
  • Backup, restore of data volumes

Contributing to the ecosystem

  • What is Docker Hub?
  • Registering on Docker Hub
  • Command line login
  • Uploading to Docker Hub
  • Private repositories
  • Automated builds
alpinelinux Alpine Linux: Setting up a small, simple, and secure OS for your containers 7 hours

Alpine Linux is a security-oriented, lightweight (80 MB) Linux distribution based on musl libc and BusyBox. Alpine Linux is produced by the makers of Docker and is one of several in the recent proliferation of distros tailored for virtualization, containerization and the cloud. Alpine Linux replaces Ubuntu as the official base image for Docker containers.

This training introduces Alpine Linux's architecture and walks participants step-by-step through the setup of Alpine Linux in a live lab environment. By the end of this training, participants will have the knowledge and practice to deploy Alpine Linux as the foundation for running containers in development, test and production environments.

    DevOps engineers
    System administrators
    Software engineers

Format of the course
    Part lecture, part discussion, heavy hands-on practice


The Alpine Linux architecture
    musl libc and BusyBox

Installing and configuring Alpine Linux

Configuring Networking

Deploying web servers on Alpine Linux

Deploying content management systems on Alpine Linux

Deploying system administration utilities on Alpine Linux

Alpine Linux security

Other container OSs and the future of the datacenter

Closing remarks

linuxsysadmin1 Linux System Administration 28 hours


  • System administrators who need to quickly learn core Enterprise Linux proficiencies
  • System administrators, network administrators, and other IT professionals who require proficiency performing administration tasks in Linux
  • IT professionals on the path to becoming a Linux system administrator


This Linux Administrator training course is designed for IT professionals who are new to Linux and require core Administrator skills. This course will feature GUI based tools and introduce command line concepts to provide a solid foundation for someone planning to become a Linux Administrator. The objectives are that by the end of the 4 day course you will be able to perform installation, manage physical storage, establish network connectivity and perform security administration.

Establish Network Connectivity

  • Configure, manage, and test static network settings

Administer Users and Groups

  • Implement password aging and configure an LDAP client

Monitor System Resources

  • Manage CPU, memory, and disk utilization; manage system logs

Manage System Software

  • Install software and query with yum using RHN and a custom repository

Deploy Network Services

  • Deploy VNC, FTP, and web services and require key authentication with SSH

Secure Filesystems and Network Services

  • Restrict file access with ACLs and secure network services with a firewall and SELinux

Manage Physical Storage

  • Manage encrypted partitions, filesystems, and swap space

Manage Logical Volumes

  • Understand Logical Volume concepts and manage Logical Volumes, including snapshots

Control the Boot Process

  • Understand runlevels and manage GRUB

Tune and Maintain the Kernel

  • Pass parameters to the kernel and manage kernel modules

Automate Installation with Kickstart

  • Create kickstart configurations and use them to install Linux

Manage Virtual Machines

  • Deploy and manage KVM virtual machines

Troubleshoot System Problems

  • Apply a systematic approach to diagnosing and correcting system failures

Research Red Hat Resources

linuxnetadmin Network Administering in Linux 14 hours

The course participant will answer the following questions:

  • How to build a network based on TCP / IP?
  • How to plan a TCP / IP network.
  • What are the tools available in the system?
  • How do I share files?
  • How does e-mail?
  • How to configure the hardware in Linux?

Basic Information

  • History network, TCP / IP and UUCP
  • Networking in linux

Introduction to TCP / IP protocol

  • Network interface
  • IP Address
  • Address Resolution
  • IP Routing
  • ICMP The Internet Control Message Protocol
  • Resolving Host Names

The hardware configuration

  • Configuring the kernel
  • The types of network devices
  • Installing Ethernet cards
  • Discussion protocols PLIP, PPP, SLIP

Setting up a network based on TCP / IP

  • Determining the name (hostname)
  • IP Address Assignment
  • Create a subnet
  • File management hosts and networks
  • Configuring network Interfaceów
  • All about ifconfig
  • Interfaceów configuration using iproute2 package
  • traceroute command
  • The command netstat
  • Managing the ARP table
  • DNS Configuration

Firewall TCP / IP

  • Designing a firewall
  • Netfilter and IP Tables

Starting network services

  • Super Server inetd (xinetd) versus standalone
  • Managing access to services through tcpd
  • File Services and Protocols

Network File System (NFS)

  • Mounts NFS shares
  • NFS Server Configuration

Electronic Mail

  • SMTP and POP3 protocols
  • Simple setup for postfix
projectatomic Project Atomic: Re-designing the operating system with the LDK (Linux, Docker, Kubernetes) stack. 14 hours

Project Atomic is an umbrella for many projects related to re-designing the operating system around principles of "immutable infrastructure", using the LDK (Linux, Docker, Kubernetes) stack.

Many of the components of Project Atomic are upstream components of OpenShift Origin v3.

The primary building block of Project Atomic is the "Atomic Host", a lightweight container OS. Project Atomic also encompasses other tools which are essential to immutable, container-based infrastructures, including:
    Cockpit gives visibility into your hosts and your container cluster.
    Many patches and extensions to Docker for better SELinux and Systemd integration.
    AtomicApp and Nulecule for composing multi-container applications.
    Atomic Registry for registering your containers.
    Commissaire to provide a better API for Kubernetes hosts.
    The Atomic Developer Bundle to make development of containerized applications easy.

This training introduces the architecture, components and tools behind Project Atomic and walks participants through the deployment and integration of these in a live lab environment.

    DevOps engineers
    System administrators
    Software engineers

Format of the course
    Part lecture, part discussion, heavy hands-on practice


Installation and setup

Deploying containerized applications

Managing containers


Updating the system

Setting up storage

Working with the supported file systems

Building Docker images

SELinux and container security

Closing remarks

debianadmin Debian Administration 35 hours

This is a comprehensive training course for administering Debian GNU/Linux operating system.

It is always delivered on the current version of Debian.

Debian Distribution

What is Debian?

  • Choosing Debian version
  • Debian support and help
  • Debian community

Console basics

  • The shell prompt
  • The shell prompt under X
  • The root account and root shell prompt (su, sudo, running programs as root under X)
  • GUI system administration tools
  • Virtual consoles
  • How to leave the command prompt
  • How to shutdown the system
  • Recovering a sane console
  • Additional package suggestions for the newbie
  • An extra user account
  • sudo configuration

The filesystem

  • Filesystem permissions
  • Control of permissions for newly created files: umask
  • Permissions for groups of users (group)
  • Timestamps
  • Links
  • Named pipes (FIFOs)
  • Sockets
  • Device files
  • Special device files
  • procfs and sysfs

Midnight Commander (MC)

  • Customization of MC
  • Starting MC
  • File manager in MC
  • Command-line tricks in MC
  • The internal editor in MC
  • The internal viewer in MC
  • Auto-start features of MC
  • FTP virtual filesystem of MC

The basic Unix-like work environment

  • The login shell
  • Customizing bash
  • Special key strokes
  • The pager
  • Setting a default text editor
  • How to quit vim
  • Recording the shell activities
  • Basic Unix commands

The simple shell command

  • Command execution and environment variable
  • "$LANG" variable
  • "$PATH" variable
  • "$HOME" variable
  • Command line options
  • Shell glob
  • Return value of the command
  • Typical command sequences and shell redirection
  • Command alias

Unix-like text processing

  • Unix text tools
  • Regular expressions
  • Replacement expressions
  • Global substitution with regular expressions
  • Extracting data from text file table
  • Script snippets for piping commands

Debian package management

Debian package management prerequisites

  • Package configuration
  • Basic precautions
  • Life with eternal upgrades
  • Debian archive basics
  • Package dependencies
  • The event flow of the package management
  • First response to package management troubles

Basic package management operations

  • apt-get/apt-cachevs.aptitude
  • Basic package management operations with the commandline
  • Interactive use of aptitude
  • Key bindings of aptitude
  • Package views under aptitude
  • Search method options with aptitude
  • The aptitude regex formula
  • Dependency resolution of aptitude
  • Package activity logs

Examples of aptitude operations

  • Listing packages with regex matching on package names
  • Browsing with the regex matching
  • Purging removed packages for good
  • Tidying auto/manual install status
  • System wide upgrade

Advanced package management operations

  • Advanced package management operations with commandline
  • Verification of installed package files
  • Safeguarding for package problems
  • Searching on the package meta data

Debian package management internals

  • Archive meta data
  • Top level "Release" file and authenticity
  • Archive level "Release" files
  • Fetching of the meta data for the package
  • The package state for APT
  • The package state for aptitude
  • Local copies of the fetched packages
  • Debian package file names
  • The dpkg command
  • The update-alternative command
  • The dpkg-statoverride command
  • The dpkg-divert command

Recovery from a broken system

  • Incompatibility with old user configuration
  • Different packages with overlapped files
  • Fixing broken package script
  • Rescue with the dpkg command
  • Recovering package selection data

Tips for the package management

  • How to pick Debian packages
  • Packages from mixed source of archives
  • Tweaking candidate version
  • Updates and Backports
  • Automatic download and upgrade of packages
  • Limiting download bandwidth for APT
  • Emergency downgrading
  • Who uploaded the package?
  • The equivs package
  • Porting a package to the stable system
  • Proxy server for APT
  • Small public package archive
  • Recording and copying system configuration
  • Converting or installing an alien binary package
  • Extracting package without dpkg
  • More readings for the package management

The system initialization

  • An overview of the boot strap process
  • BIOS, boot loader, mini-Debian system
  • The meaning of the runlevel
  • The configuration of the runlevel
  • The runlevel management example
  • The default parameter for each init script
  • The hostname
  • The filesystem
  • Network interface initialization
  • Network service initialization
  • The system message
  • The kernel message
  • The udev system
  • The kernel module initialization

Authentication and Security

  • Normal Unix authentication
  • Managing account and password information
  • Good password
  • Creating encrypted password
  • PAM and NSS
  • Configuration files accessed by the PAM and NSS
  • The modern centralized system management
  • "Why GNU su does not support the wheel group"
  • Stricter password rule
  • Other access controls
  • sudo
  • SELinux, Apparmor
  • Restricting access to some server services
  • Security of authentication
  • Secure password over the Internet
  • Secure Shell
  • Extra security measures for the Internet
  • Securing the root password

Network setup

The basic network infrastructure

  • The domain name
  • The hostname resolution
  • The network interface name
  • The network address range for the LAN
  • The network device support

The modern network configuration for desktop

  • GUI network configuration tools

The low level network configuration

  • Iproute2 commands
  • Safe low level network operations

Network optimization

  • Finding optimal MTU
  • Setting MTU
  • WAN TCP optimization

Netfilter infrastructure

Network applications

The mail system

  • Modern mail service basics
  • The mail configuration strategy for workstation

Mail transport agent (MTA) and Mail user agent (MUA)

  • Overview of exim4
  • Basic MUA- Mutt

Mail delivery agent (MDA) with filter

  • maildrop configuration
  • procmail configuration
  • Redeliver mbox contents

POP3/IMAP4 server

The remote access server and utility (SSH)

  • Basics of SSH
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote passwords
  • Dealing with alien SSH clients
  • Setting up ssh-agent
  • How to shutdown the remote system on SSH
  • Troubleshooting SSH

Other network application servers

Other network application clients

The diagnosis of the system daemons

The X Window System

  • Setting up desktop environment
  • The server/client relationship
  • The X server
  • Starting the X Window System
  • Starting X session with gdm
  • Customizing the X session (classic method)
  • Customizing the X session (new method)
  • Connecting a remote X client via SSH
  • Secure X terminal via the Internet
  • X applications
  • X office applications
  • X utility applications

System tips

The screen program

  • The use scenario for screen(1)
  • Key bindings for the screen command

Data recording and presentation

  • The log daemon
  • Log analyzer
  • Recording the shell activities cleanly
  • Customized display of text data
  • Customized display of time and date
  • Colorized shell echo
  • Colorized commands
  • Recording the editor activities for complex repeats
  • Recording the graphic image of an X application
  • Recording changes in configuration files

Data storage tips

  • Disk partition configuration
  • Accessing partition using UUID
  • Filesystem configuration
  • Filesystem creation and integrity check
  • Optimization of filesystem by mount options
  • Optimization of filesystem via superblock
  • Optimization of hard disk
  • Using SMART to predict hard disk failure
  • Expansion of usable storage space via LVM
  • Expansion of usable storage space by mounting another partition
  • Expansion of usable storage space using symlink
  • Expansion of usable storage space using aufs

Data encryption tips

  • Removable disk encryption with dm-crypt/LUKS
  • Encrypted swap partition with dm-crypt
  • Automatically encrypting files with eCryptfs
  • Automatically mounting eCryptfs

Monitoring, controlling, and starting program activities

  • Timing a process
  • The scheduling priority
  • The ps command
  • The top command
  • Listing files opened by a process
  • Tracing program activities
  • Identification of processes using files or sockets
  • Repeating a command with a constant interval
  • Repeating a command looping over files
  • Starting a program from GUI
  • Customizing program to be started
  • Killing a process
  • Scheduling tasks once
  • Scheduling tasks regularly
  • Alt-SysRq key

System maintenance tips

  • Who is on the system?
  • Warning everyone
  • Hardware identification
  • Hardware configuration
  • System and hardware time
  • The terminal configuration
  • The sound infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Memory usage
  • System security and integrity check

The kernel

  • Kernel parameters
  • Kernel headers
  • Compiling the kernel and related modules
  • Compiling the kernel source: Debian standard method
  • Compiling the module source: Debian standard method
  • Non-free hardware drivers

Virtualized system

  • Virtualization tools
  • Virtualization work flow
  • Mounting the virtual disk image file
  • Chroot system
  • Multiple desktop systems

Data management

Sharing, copying, and archiving

  • Archive and compression tools
  • Copy and synchronization tools
  • Idioms for the archive
  • Idioms for the copy
  • Idioms for the selection of files
  • Backup and recovery
  • Backup utility suites
  • An example script for the system backup
  • A copy script for the data backup
  • Removable storage device
  • Sharing data via network
  • Archive media

The binary data

  • Viewing and editing binary data
  • Manipulating files without mounting disk
  • Data redundancy
  • Data file recovery and forensic analysis
  • Splitting a large file into small files
  • Clearing file contents
  • Dummy files
  • Erasing an entire hard disk
  • Erasing unused area of an hard disk
  • Undeleting deleted but still open files
  • Searching all hardlinks
  • Invisible disk space consumption

Data security infrastructure

  • Key management for GnuPG (signing and encrypting)
  • The MD5 sum
lcsmcentos Linux Cluster and Storage Management on CentOS 6 & 7 35 hours
  • Created Linux Administrators and developers who are interested with getting involved in Clustering or require knowledge of Clustering based on Linux system.
  • Even beginners, who have the basic skill and knowledge on Linux, can catch up with this course just if you follow the instructor's lab and explanation in detail.
  • This course is intended to practice enough clustering technology and to show it is very easy to understand the clustering technology on Linux system.
  • This course will be delivered to audience with 40% lectures, 50% labs and 10% Q&A. This five-day course strongly emphasizes lab-based activities.
  • You'll learn how to deploy and manage shared storage and server clusters that provide highly available network services to a mission-critical enterprise environment.
  • It can be deliver on any distribution (CentOS and Ubuntu are commonly used)

This course covers these kinds of topics:

  • Chapter 01 Linux Cluster Introduction
  • Chapter 02 Data Storage and Cluster Configuration Considerations
  • Chapter 03 iSCSI Configuration
  • Chapter 04 Device Mapper and Multipath
  • Chapter 05 Linux Cluster Configuration with Conga
  • Chapter 06 Linux Cluster Configuration with CCS
  • Chapter 07 Fencing and Failover Domain
  • Chapter 08 Quorum and Quorum Disk
  • Chapter 09 Cluster Logical Volume Management
  • Chapter 10 Global File System 2
  • Chapter 11 Samba Cluster
  • Chapter 12 Apache Cluster with Conga and CCS
  • Chapter 13 Database Cluster with MySQL
  • Chapter 14 Linux Cluster using Pacemaker
  • Chapter 15 Apache Cluster using Pacemaker
  • Chapter 16 Linux Cluster using PCSD Web UI
  • Chapter 17 Database Cluster with MariaDB
embeddedlinux Embedded Linux: building a system from the ground up 14 hours

Embedded Linux, with its low cost, ease of customization, and compatibility with many types of microprocessors has become the natural choice for powering a wide range of devices such as smart phones, tablets, set-top boxes and MP3 players.

In this training participants will learn step-by-step how to build an embedded Linux system from the ground up. From building a minimalistic kernel to configuring the bootup and initialization processes, participants will learn the tools, techniques and mindset needed to deploy a fully functional embedded Linux system.

For remote trainings, QEMU will be used to emulate the hardware. Other platforms, including real hardware devices, can be considered on a case by case basis.

    System engineers

Format of the course
    Part lecture, part discussion, heavy emphasis on hands-on implementation

    Essential elements of an embedded Linux system

Preparing your cross-compilation toolchain

Understanding the boot process

Configuring, compiling and booting the kernel

Accessing your hardware using JTAG

Compiling BusyBox

Building and modifying a root file system

Overview of available init systems

Writing systemd service files

Installing applications for additional functionality

Setting up networking

Updating the U-boot boot-loader

Tools and workflows for modifying, testing and debugging your Linux embedded system

Closing remarks

lpic2-202 Linux LPI LPIC-2 Exam 202 Preparation 14 hours

This course has been created for someone preparing for LPI certification. It is conducted as a series of lectures intertwined with simple exercises.

Web Services

  • Implementing a web server
  • Maintaining a web server
  • Implementing a proxy server

File Sharing

  • SAMBA Server Configuration
  • NFS Server Configuration

E-Mail Services

  • Using e-mail servers
  • Managing Local E-Mail Delivery
  • Managing Remote E-Mail Delivery

System Security

  • Configuring a router
  • Securing FTP servers
  • Secure shell (SSH)
  • TCP Wrapper
  • Security tasks


  • Identifying boot stages and troubleshooting bootloaders
  • General troubleshooting
  • Troubleshooting system resources
  • Troubleshooting environment configurations
dnswebmaildb Top 4 Linux/Unix Servers - DNS,Web,Mail and Database 28 hours
  • Created Linux/Unix Administrators and developers who are interested with getting involved in LInux/Unix Servers
  • Even beginners, who have the basic skill and knowledge on Linux, can catch up with this course just if you follow the instructor's lab and explanation in detail.
  • This course is intended to practice enough Managing Linux Servers and to show it is very easy to understand Linux/Unix servers.
  • This course will be delivered to audience with 40% lectures, 50% labs and 10% Q&A. This five-day course strongly emphasizes lab-based activities.
  • You'll learn how to deploy and manage Top 4 Linux Servers that provide highly useful network services to a mission-critical enterprise environment.
  • It can be deliver on any distribution (Fedora, CentOS are commonly used)

This course covers these kinds of topics:

  • Bind as a ;DNS server
  • Apache as a Web Server
  • Postfix as a Mail Server
  • MariaDB as a Database Server

Through this course, you will learn from the installation to High level features of each server.

glusterfs GlusterFS for System Administrators 21 hours

GlusterFS is an open-source distributed file storage system that can scale up to petabytes of capacity. GlusterFS is designed to provide additional space depending on the user's storage requirements. A common application for GlusterFS is cloud computing storage systems.

In this instructor-led training, participants will learn how to use normal, off-the-shelf hardware to create and deploy a storage system that is scalable and always available. 

By the end of the course, participants will be able to:

  • Install, configure, and maintain a full-scale GlusterFS system.
  • Implement large-scale storage systems in different types of environments.


  • System administrators
  • Storage administrators

Format of the Course

  • Part lecture, part discussion, exercises and heavy hands-on practice.

Introduction to GlusterFS
    Terminologies used

Overview of GlusterFS architecture

Installing of the GlusterFS

Controlling and monitoring the installed GlusterFS

Using the Gluster Console Manager

Creating the Trusted Storage Pools

Understanding of the volume types

Creating the GlusterFS client

Understanding geo-replication

Managing the GLusterFS volume, client, geo-replication and directory quota

GlusterFS workload monitoring

Accessing the control lists

Monitoring the unified file and object storage

Monitoring the Hadoop compatible storage

Discussing the snapshots

GlusterFS troubleshooting

Closing Remarks

ubtsvr Ubuntu Server Overview 7 hours

This course has been created for managers, system architects, existing Unix or Windows administrators or anyone who wants to know what Ubuntu Server operating system has to offer. This course in most cases answers the question WHAT Ubuntu Server can do for you, rather than HOW to do things. If you are interested in the HOW question then please have a look at our Administration of Linux System training course.

This course always covers the newest release of Ubuntu.

Ubuntu Server Edition

  • Ubuntu versions
  • Available support
  • TLS and standard edition
  • Maintenance policy and life cycle

Ubuntu and Hardware

  • Checking compatibility with Ubuntu
  • Available kernels and supported architectures

Package Management

  • Dpkg and apt-get
  • Available sources
  • Adding new sources
  • Alternative packet management systems (RPM, Yums, etc...) and dependencies
  • Aptitude
  • Automatic Updates
  • Distribution Upgrades


  • Network Configuration
  • TCP/IP, IPv4 and IPv6
  • Dynamic Host Configuration Protocol (DHCP)
  • Time Synchronisation with NTP

Remote Administration

  • OpenSSH Server
  • eBoxNetwork Authentication
  • OpenLDAP Server
  • Samba and LDAP
  • Kerberos

Domain Name Service (DNS)

  • Configuration


  • User Management
  • Console Security
  • Firewall
  • AppArmor
  • Certificates

Web Servers

  • HTTPD - Apache2 Web Server
  • PHP5 - Scripting Language
  • Squid - Proxy Server
  • Ruby on Rails
  • Apache Tomcat


  • MySQL
  • PostgreSQL

Wiki Applications

  • Moin Moin
  • MediaWiki

File Servers

  • FTP Server
  • Network File System (NFS)
  • CUPS - Print Server

Email Services

  • Postfix
  • Exim4
  • Dovecot Server
  • Mailman
  • Mail Filtering

Version Control System

  • Bazaar
  • Subversion
  • CVS Server
  • Mercurial
  • GIT

Windows Networking

  • Samba File Server
  • Samba Print Server
  • Securing a Samba File and Print Server
  • Samba as a Domain Controller
  • Samba Active Directory Integration
  • Likewise Open


  • Shell Scripts
  • Archive Rotation
  • Bacula

Virtualization and Cloud Computing

  • libvirt
  • JeOS and vmbuilder
  • Quemu and KVM
  • VirtualBox
  • VMware
  • EC2
  • Eucalyptus


  • Keeping /etc under Version Control System
  • Block Device Replication
elkdd Embedded Linux Kernel and Driver Development 14 hours

A two day course consisting of around 60% hands-on labs focusing on Embedded Linux kernel internals, architecture,  development and investigating how to write and integrate several types of device drivers.

Who should attend?

Engineers interested in Linux kernel development on Embedded systems and plateforms.

  • What is the Linux kernel?
  • Getting Kernel source code
  • Configuring, compiling and booting the kernel
  • Device tree files
  • Linux kernel modules
  • Linux kernel debugging
  • Character device drivers
  • Using Git for source code management
lede LEDE: Set Up a Linux Wireless Router 7 hours

The LEDE Project (Linux Embedded Development Environment) is a Linux operating system based on OpenWrt. It is a complete replacement for the vendor-supplied firmware of a wide range of wireless routers and non-network devices.

In this instructor-led, live training, participants will learn how to set up a LEDE based wireless router.


  • Network administrators and technicians

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice


How the source code is organized

Installing the necessary packages

Overview of LEDE features

Configuring LEDE

System configuration

Network configuration

Firewall configuration

DHCP server configuration

DNS server configuration

Advanced network topics

Creating custom builds


Contributing to the project

Closing remarks

lpic1-101 Linux LPI LPIC-1 Exam 101 Preparation 14 hours

This course has been created for someone preparing for the LPI certification 101 Exam. It is conducted as a series of lectures intertwined with simple exercises.

System Architecture

  • Determine and configure hardware settings
  • Boot the system
  • Change runlevels and shutdown or reboot system

Linux Installation and Package Management

  • Design hard disk layout
  • Install a boot manager
  • Manage shared libraries
  • Use Debian package management
  • Use RPM and YUM package management

GNU and Unix Commands

  • Work on the command line
  • Process text streams using filters
  • Perform basic file management
  • Use streams, pipes and redirects
  • Create, monitor and kill processes
  • Modify process execution priorities
  • Search text files using regular expressions
  • Perform basic file editing operations using vi

Devices, Linux Filesystems, Filesystem Hierarchy Standard

  • Create partitions and filesystems
  • Maintain the integrity of filesystems
  • Control mounting and unmounting of filesystems
  • Manage disk quotas
  • Manage file permissions and ownership
  • Create and change hard and symbolic links
  • Find system files and place files in the correct location
elnxint Introduction to Embedded Linux (Hands-on training) 14 hours

This is a two day course covering all basic principles of building Embedded linux Systems, around 60% of the entire course time is practical hands-on implementation for real world application using the same standards and tools used in industry

  • Brief history of linux
  • Open source development overview
  • Introduction to embedded linux
  • Cross development | Boot Loaders
  • Building custom embedded linux system for a typical hardware target (SAM9M10-G45-EK)
  • Embedded Linux Tools
  • Introduction to Build Systems
  • Embedded Linux application development and debugging
lpic2-201 Linux LPI LPIC-2 Exam 201 Preparation 14 hours

This course has been created for someone preparing for LPI certification. It is conducted as a series of lectures intertwined with simple exercises.

Linux Kernel

  • Kernel Components
  • Compiling a kernel
  • Patching a kernel
  • Customise, build and install a custom kernel and kernel modules
  • Manage, Query kernel and kernel modules at runtime

System Startup

  • Customising system startup and boot processes
  • System recovery

Filesystem and Devices

  • Operating the Linux filesystem
  • Maintaining a Linux filesystem
  • Creating and configuring filesystem options
  • udev Device Management

Advanced Storage Device Administration

  • Configuring RAID
  • Adjusting Storage Device Access
  • Logical Volume Manager

Networking Configuration

  • Basic networking configuration
  • Advanced Network Configuration and Troubleshooting
  • Troubleshooting network issues
  • Notify users on system-related issues

System Maintenance

  • Make and install programs from source
  • Backup operations

Domain Name Server

  • Basic DNS server configuration
  • Create and maintain DNS zones
  • Securing a DNS server
lnxnetp Linux Network Programming 14 hours

This course is addressed to junior software developers. After the course completion, the trainees will be able to understand the architecture of well-known web servers such as Apache or Nginx, and implement their own network programs.

The course is 67% lectures, 33% hands-on exercises.

  1. Sockets
    • Creating datagram sockets
    • Receiving and sending data
    • Creating and accepting TCP connections
    • Closing sockets
    • Handling errors
  2. Handling more than one client in a simple way
    • Prefork model, as found in Apache
    • Forking a new process per client
    • Cleaning up after finished processes
    • Threads
    • Inetd, systemd units
  3. Waiting for data
    • Blocking sockets
    • Non-blocking sockets and select
    • Select as a way to wait for "any of these sockets"
  4. Organizing reads and writes
    • Dealing with short reads and writes
    • Reading up to a delimiter
    • Pipelined requests
    • Application-level buffers
  5. Event-driven architecture
    • Using select for multiplexing all client connections in one thread
    • State machines
    • Callback hell
    • Event libraries
    • "Green" threads
  6. Problem of 10000 connections
    • Problems with prefork model and select-based loop
    • poll as an alternative to select
    • Realtime signals and why you shouldn't use them
    • Epoll (linux) and kqueue (BSD)
    • Why and when epoll and kqueue are faster than poll/select
  7. Timeouts and timers
    • Timeout as a select argument
    • A simple case of all-equal timeouts
    • Priority queue as an abstract data stracture
    • Binary heap as a priority queue implementation
    • Timer wheel
    • timerfd
  8. Integration with the operating system
    • Traditional daemons
    • Systemd socket activation
    • Logging
    • Handling signals
  9. Performance and scalability optimizations
    • Choosing the right architecture
    • Setting socket options


ubtdt Ubuntu Desktop 7 hours

This course has been prepared for people who want to know how to use Ubuntu Desktop for everyday work. This course explains how to manage your files, install and configure your devices, send emails, browse internet and use the full power of GNU/Linux operating system.

Linux, Distributions and Ubuntu

  • What is Linux?
  • What is Ubuntu?
  • What versions of Ubuntu are available?
  • Is Ubuntu free?

Know your Environment, Gnome

  • Configuring Appearance
  • Visual Effects with Ubuntu
  • Input devices settings
  • Sound configuration
  • Network configuration
  • Monitoring your resources
  • Reading Log files

Installing and Removing Software

  • Browsing staggering catalogue of applications
  • Installing software
  • Upgrading selected application
  • Removing software
  • Upgrading the system
  • Upgrading distribution

Sharing Desktop with Others

  • Vino and other VNC clients and servers
  • Remote control of your computer


  • Editing documents with OpenOffice writer
  • Using OpenOffice Calc
  • Note taking through Tomboy

Emails, Calendars, Contacts and Tasks

  • Using Evolution
  • Configuring email settings
  • Creating calendars
  • Using Web Calendars (Like Google Calendar, Ical, WebDav, etc...)
  • Synchronizing your emails and calendar with mobile devices
  • Instant messaging with Pidgin IM


  • Configuring Firefox
  • Bookmarks and history
  • Spell checker
  • Add-ons and plug-ins

Photos and Images

  • Organizing your images with F-spot manager
  • Editing pictures with Gimp

Music and Video

  • Playing DVD's
  • Access (truly) free music store
  • DRM and Ubuntu

Running Windows Applications

  • Using windows emulator (wine) to run your Windows applications
  • How to run Windows inside Linux
lxcintro Introduction to Linux Containers (LXC) 7 hours

This course is addressed to Linux professionals (developers and system administrators) as a first introduction to container technologies. The course may also be interesting to people who are already familiar with Docker and want something else to compare it with. It is presented as a lecture with demonstrations that you can follow along on your Linux laptop.

  1. Use cases for virtualization and containers
  2. Kernel-level technologies that make containers work
  3. How to choose between virtual machines and containers
  4. Comparison of container technologies for Linux
  5. Installation of LXC
  6. Creating, cloning, starting and stopping containers
  7. Networking in containers
  8. Managing storage for containers
  9. Limiting resources accessible to a container
  10. Security considerations
  11. Unprivileged containers and UID/GID mapping
  12. Tools for container management
  13. Areas of current development: LXD, CRIU
lpic1-102 Linux LPI LPIC-1 Exam 102 Preparation 14 hours

This course has been created for someone preparing for the LPI certification 102 Exam. It is conducted as a series of lectures intertwined with simple exercises.

Shells, Scripting and Data Management

  • Customize and use the shell environment
  • Customize or write simple scripts
  • SQL data management

User Interfaces and Desktops

  • Install and configure X
  • Setup a display manager
  • Accessibility

Administrative Tasks

  • Manage user and group accounts and related system files
  • Automate system administration tasks by scheduling jobs
  • Localisation and internationalisation

Essential System Services

  • Maintain system time
  • System logging
  • Mail Transfer Agent (MTA) basics
  • Manage printers and printing

Networking Fundamentals

  • Fundamentals of internet protocols
  • Basic network configuration
  • Basic network troubleshooting
  • Configure client side DNS


  • Perform security administration tasks
  • Setup host security
  • Securing data with encryption
INUNIX Intermediate Unix 21 hours

This course aims to provide its participants with all the necessary tools to acquire the intermediate skills about the Linux operating system, so that they can edit, manage and structure the program in the way that is most convenient for their organization. with a thorough intermediate knowledge of the operation of the system.


  • Recap the basics
  • History of Unix
  • Unique features of Unix
  • Login & Logout
  • The structure of Unix

The Shells

  • sh, ksh, csh, bash
  • The command line
  • Running commands
  • File wildcards
  • Aliases
  • Command substitution
  • Shell variables
  • Special shell variables
  • Command history
  • Input and Output
  • stdin, stdout, stderr
  • redirecting output, errors, input
  • combining output
  • Pipes & filters

Editing in Unix

  • Unix editors genealogy
  • Ed, ex, vi and emacs
  • vi tutorial
  • emacs (optional)

Unix Files

  • The file system
  • File names and extensions
  • Directories
  • Moving around directories
  • Files - where are things?
  • File devices
  • Listing files
  • Looking at file contents
  • Manipulating files
  • Finding files
  • Comparing files

Unix Processes

  • What are Processes?
  • Viewing Processes
  • ps and top
  • signals & kill
  • Controlling Jobs
  • Scheduling

Unix tools

  • Filters & tools
  • cat, tee, grep
  • Regular expressions
  • tr, cut, sort, uniq
  • sed and awk
  • od, strings

Unix Shell Scripts

  • The basics
  • Comments
  • Creating output
  • Interactive input
  • I/O
  • Script arguments
  • Special variables
  • Permissions & PATH
  • Return codes
  • Conditional tests
  • Conditional statements
  • Loops
  • The case command
  • Shell functions
  • Options
  • Debugging

Unix Networking

  • TCP/IP
  • Generic Applications
  • FTP
  • telnet
  • The "r" commands

System Administration

  • A brief introduction


  • Opportunity for review, final questions and further hands-on


Hands-On includes:

  • Logging in and out
  • Using the Unix shell
  • Starting stopping and managing processes
  • Creating files with vi
  • Managing files and directories
  • Creating shell scripts
  • Using network tools
bashp1 BASH Programming 14 hours
The course answers questions:
How does the shell works?
How to write programs in a shell?

The simplest script

Choosing the shell (magic number #!, Sha-bang)

Calling the script

External and built-in commands

Some special characters

  • Comment (#)
  • End of Line (;)
  • An empty statement (:)
  • Redirection of input output (>, <, >>)
  • Redirecting output
  • Redirection of input
  • Stream (|)
  • Start the process in the background (&)

Variables and Parameters

  • Destruction of variables (unset)
  • Variable with a null value
  • Save the result to a variable (backquotes ``)
  • Parameters request ($ 0, $ #, $ 1, $ 2, $ 3 ...)
  • Manual shift
  • Quoting.
  • Escape character (\)

Regular Expressions

Conditional statements

  • The if / then
  • The if / then / else
  • Nesting if statements
  • The if / elif
  • case statement
  • Operators
  • Operators and, or (&&, | |)
  • test command

Completing scrypt

The exit statement
Use the status of completion of the program in a script ($?)

Tests and Operators

  • Operators text file
  • Tests the file type
  • Test file attributes

Comparison operators

  • Comparing arithmetic using the command if
  • Integer comparison operators
  • Comparing strings
  • Comparing the complex (and, or)
  • Nesting comparison operators
  • The assignment operator
  • Arithmetic operators
  • Operators operations on bits (bitwise operators)
  • Logical operators
  • Numeric constants


  • The loop for / in
  • The command seq
  • The while loop
  • Loop until
  • Controlling the loop (break, continue)

Text Processing

  • Command head, tail
  • Sort, Uniq, Expand, Unexpand
  • Cut, Paste, Join, Wc,Tr
Text search (grep)
Stream Editor (sed)
Interactive programs
  • Read command
  • User select
Sleep command
If the script does not work? (debugging)
linuxha Highly Available Services with DRBD and Pacemaker 7 hours

The primary objective of this practical course is to introduce the Linux high-availability stack (Pacemaker, DRBD) to system administrators. During the training, each participant will build a two-machine cluster that offers a simple highly-available service (such as PostgreSQL or NFS) on a virtual IP address. Also, uses of DRBD not related to high availability are considered.

  • DRBD basics
    • Theory of operation
    • Installation
    • Supported replication modes and their use cases
    • Creation of a two-node single-primary cluster
    • Manual failover
    • Recovering from split-brain
  • Corosync
    • Installation and initial configuration
  • Pacemaker
    • Theory of operation
    • Installation
    • Role of STONITH devices
    • Configuration of resource agents
      • DRBD
      • Mounted filesystem
      • Virtual IP address
      • LSB and systemd services
      • Groups, ordering and colocation constraints
  • DRBD in Dual-Primary mode
    • Use with OCFS2
  • Advanced topic: root filesystem on DRBD
linuxnetsec Network Security in Linux 14 hours During the course, participants will learn:
  • What is denial of service attacks, Flooding, Sniffing, MIM?
  • How to break from the network to the server?
  • How to watch packets on the network (also running on switches)?
  • Do you watch any combination of the world?
  • How to monitor the network?
  • How to configure a firewall?
  • How to use encrypted connections?
  • How to create tunnels?
  • How to log packets?
  • How to scan ports?
  • How to reduce the number of unnecessary services on the server?

Turn off unnecessary services

Flood Ping


  • Sniffit
  • Ettercap
  • Tcpdump

Network monitoring

  • Scanning ports (nmap, nessus)
  • LAN traffic monitor (iptraf)
  • Monitoring changes in Ethernet network interface cards, and IP number by users (arpwatch)
  • Dump traffic on a network (tcpdump)

Logging packets

  • Log packets from the use of mechanisms NetFilters and iptables
  • IP Protocols Logger (ippl)

Firewall (based on NetFilters and iptables)

  • Packet path through the filters
  • Create your own chains


  • WWW Proxy (Squid)


  • SSLwrap
  • SSH and SCP
  • SSH Tunnelling


  • Obtaining information about the owner of the IP address and domain
  • Alert the authorities of a breach of the law
sambadv Samba 14 hours

Samba is an Open Source / Free Software suite that provides file and print services to all manner of SMB/CIFS clients, including Linux and the numerous versions of Microsoft Windows operating systems.


This course is suitable for developers and engineers who work with preexisting Samba instances, or who intend to integrate Samba into their work flow.

No two courses are delivered the same. Each course is tailored to your specific requirements.


  • Installing Samba from packages
  • Installing Samba from source
  • Upgrading Samba

Standalone server

  • File Sharing
    • How POSIX permissions map to Windows permissions
    • Differences between POSIX and Windows ACLs
  • Print Serving
  • Password Storage
  • Samba VFS (Virtual File System) modules
    • Recycle bin
    • Antivirus integration
  • Backup and restore
  • Performance tuning

Domain membership

  • What makes Samba a domain member
  • Available ID mapping backends
  • NSS service
  • PAM authentication
  • Coexistence with NFS

Domain control

  • What makes Samba a domain controller
  • Services and ports involved in Domain Control
  • Setting up Samba as an Active Directory Domain Controller
  • Joining an additional Samba DC to an existing Active Directory
  • The AD functional levels
  • Storing Windows profiles and logon scripts
  • Authenticating other services against Samba AD
  • Setting up RFC2307 in AD


  • Distributed File System (DFS)
  • Directory Replication Service (DRS)
linuxsec Linux Security 14 hours During the course, participants will learn among other things as:
  • How to hack into the server and how to protect your server against hackers?
  • How to see the user's password and how to select the password?
  • How to limit user resources (memory, CPU time, the maximum number of processes, number of logins, etc ...)?
  • How to check if the files on the disk are damaged or how to check if someone with them "tinkered"?
  • How to send log files to remote machine?
  • How to protect your log files before modification?
  • How to securely erase files so that no one could have them anymore preview?
  • How to create an encrypted file system?
  • How to encrypt and sign files?
  • How to protect yourself from exploits?

Securing the physical console

  • Protection against accidental restart CTRL + ALT + DEL
  • Prevention booting kernel with additional parameters
  • Automatic session logout
  • Locking the virtual console
Upgrading the system The rights and ownership
  • Umask
  • SUID
  • Sticky bit

Hard links

Security file systems

  • Mounts partition with additional parameters
  • Determining the size of the partition and file system
  • Capacity Limits for Users (quota)

Backup system

Data integrity checking

  • MD5sum and friends
  • dm-verify

Safe file delete

  • Secure delete (s) attribute
  • Secure undelete (d) attribute
  • Wipe, shred

Filesystem encryption

  • dm-crypt
  • LUKS
  • ecryptfs

File signing and encryption

  • Program GnuPG
  • Program PGP

Login accounting

Process accounting

Program and kernel messages logging

  • Remote logging
  • Securing logfiles
  • Preventing log tampering
  • Next generation syslog
  • journald
  • Log monitoring
  • Log files and other forms of monitoring

Cracking passwords

Login and PAM

System security and Kernel

  • OpenWall
  • GetRewted
  • LIDS
linfund Linux Fundamentals 14 hours


  • Kernel Architecture
  • Application
  • Shell and Services
  • System Calls
  • Error Handling


  • Linker and Loader
  • Static Dynamic Library

Process Management

  • Process Control Block
  • Process Creation and Exit
  • Process Scheduling Policies
  • Process Limits
  • Process Priorities
  • Foreground & Background Processes
  • Race Condition
  • Synchronization
  • Copy-on-write
  • Process time values
  • Daemon Process


  • Process Interrupt
  • Raise of Signal
  • Catching signal
  • Signal action

File Management

  • Files and File Attributes
  • File Descriptor
  • File I/O
  • Duplicating File & File Descriptor
  • File Control operations
  • File types
  • Protection
  • Inode

Inter Process Communication & Synchronization

  • Pipe
  • Fifo
  • Message Queue
  • Shared Memory
  • Client – Server properties
  • Semaphore


  • Creation
  • Termination
  • Synchronization
  • Attributes

Memory Management

  • Paging
  • Reentrancy
  • Segmentation
  • Virtual Memory
  • Memory Protection
  • Memory Sharing

Shell Script

  • Types of Shell
  • Shell Variables
  • Control Statements
  • Looping
  • Command Line Arguments
linuxsysadmin Administration of Linux System 21 hours
  • How to administer the system?
  • How to build a Linux system?
  • The system initialization (grub, kernel, init daemons, shell)
  • How to manage user accounts?
  • How to create and manage devices?
  • How to create back up?

The tasks of the system administrator

  • What is Linux?

Procedures for starting and closing of the system

  • The process of loading and starting the operating system
  • The closure of the system
  • Restart
  • Single user mode

The init program

  • Init as the ancestor of all processes
  • Configuring init - / etc / inittab
  • Run levels

Login to the system

  • Login via terminal
  • Login via network
  • What exactly does the program login?
  • Access control
  • Starting coatings

User Management

  • What is a user account?
  • Account types
  • Creating a User
  • Manipulation of the groups
  • Changing the account properties
  • Deleting user
  • Temporarily disable your account
  • Get information about accounts

Memory Management

  • What is virtual memory?
  • Create a file / swap partition
  • The use of swap space
  • Sharing swap partitions with other operating systems
  • Buffering

Managing file systems

  • Types of devices
  • Partitions and file systems
  • Metadata
  • Create a partition
  • Applying a Filesystem
  • Checking integrity

File management devices

  • MAKEDEV script
  • Mknod command


  • Configuring the cron service

Monitoring system

  • The term consumption of resources and activities
  • Research what operations are performed in the given time different programs
  • Monitoring system activity - SADC

The allocation of resources

  • Limitation of resources allocated to the individual user -
  • The allocation of disk space - QUOTA
  • Analysis and configuration of system logs - syslog
  • Automatic rotation files of records - logrotate

Create Backing up

  • Situations in which we may lose data
  • Strategies of backup copies
  • Full backup
  • Differential backup
  • Incremental Backup
qemukvm Virtualization with QEMU, KVM and Libvirt 14 hours

This practical course contains topics addressed to system administrators, developers, embedded developers and ordinary desktop users (including managers) who would like to have an introduction to virtualization in general. After this course, administrators will be able to create private clouds for use in production, and developers will be able to test their code on multiple operating systems without needing a second PC or a non-x86 board.

We understand that the set of topics presented in this course covered a wide range of subjects that might not be applicable for all customers. When booking this course, please specify what you wish to achieve using QEMU or KVM, and we will customize it by reallocating time from less relevant topics to the ones that would be important for you.

Day 1

  • "Big picture" of the virtualization ecosystem
  • History of QEMU development
  • CPU features related to virtualization
  • Installing QEMU from packages
  • Installing QEMU from source
  • Full-system emulators
  • Using the QEMU console
  • Available machine types and peripheral devices
  • VirtIO
  • Guest drivers
  • Disk image formats
  • Managing virtual machine snapshots
  • Networking in virtual machines
  • Graphics adapters
  • Audio devices
  • Nested virtualization

Day 2

  • User-level emulators
  • Registration of foreign binaries through binfmt-misc
  • Cross-architecture chroots and containers
  • The role of Libvirt in the virtualization ecosystem
  • Supported hypervisors and container technologies
  • QEMU Machine protocol (QMP)
  • Running QEMU headless
  • QXL video card and SPICE display
  • Available SPICE viewers
  • Creating virtual machines with "virt-install" and "virt-clone" command-line tools
  • Using "virt-manager" graphical application to create and run virtual machines
  • Editing virtual machine configuration and libvirt settings with "virsh" low-level tool
  • Using libguestfs tools (guestfish, virt-sysprep) to manipulate disk image contents
  • Networking and firewall in libvirt
  • Accessing libvirt remotely
  • Overview of web-based frontends for libvirt

Bonus topics available in classroom only (i.e. only short descriptions, not demonstrations, are available in remote courses):

  • Running Mac OS X in KVM (if at least one participant has a Mac with Linux installed)
  • 3D graphics with VirGL
  • 3D graphics with Intel Broadwell or Skylake GPU and igvtg (very experimental, requires custom kernel, may or may not work)
  • Video card passthrough (if there is a desktop available with two video cards)
  • USB device pass-through
3063 Introduction to Linux 14 hours

The course answers the questions:

  • How to perform basic operations on the system?
  • Where to find information and how to get help?
  • How does the power?
  • What are the types of files in the system?
  • How simply and quickly solve problems?

A brief history of Linux

  • Distributions and their applications

Self-installation of the system

Eleven ways to find help

Midnight Commander file manager

Action in the BASH shell

  • Wildcards
  • Mounting partition
  • The types of files
  • Link drive symbolic link
  • User file umask
  • Archiver tar
  • Gzip programs
  • Package Management
  • Editors vi, emacs, mcedit (cooledit)
  • Processes, priorities, memory and CPU time
  • System privileges
  • Users and Groups
  • Belonging to the group, change the group
Munin Monitoring your resources with Munin 7 hours

Munin is an open-source monitoring tool that helps system administrators monitor resources such as servers, workstations, networks, SANs, applications, network devices, etc. It shows resource trends and provides insights to into questions such as "what just happened to kill our performance?" It includes visualization tools and is available on various flavors of Linux and FreeBSD.


  • System administrators
  • Network administrators
  • Network engineers
  • IT managers
  • IT administrators

Format of the course

  • Heavy emphasis on hands-on practice. Most of the concepts are learned through samples, exercises and hands-on development.

Master-node architecture


  • Requirements
  • Master and node setup

Monitoring with Munin

  • Visualizing resources and trends
  • Graphing system
  • Data logging
  • Integration with Nagios
  • Monitoring Windows nodes

Working with Plugins

Working with the API

Troubleshooting Munin

Closing remarks


Other regions


Linux training courses in Brooklyn, Weekend Linux courses in Brooklyn, Evening Linux training in Brooklyn, Linux instructor-led in Brooklyn , Linux instructor-led in Brooklyn, Linux boot camp in Brooklyn, Linux one on one training in Brooklyn,Linux classes in Brooklyn, Evening Linux courses in Brooklyn, Linux on-site in Brooklyn, Linux trainer in Brooklyn, Linux coaching in Brooklyn,Weekend Linux training in Brooklyn, Linux instructor in Brooklyn

Course Discounts

Course Discounts Newsletter

We respect the privacy of your email address. We will not pass on or sell your address to others.
You can always change your preferences or unsubscribe completely.

Some of our clients