Discover millions of ebooks, audiobooks, and so much more with a free trial

From $11.99/month after trial. Cancel anytime.

Linux Basics for SysAdmin: Learn core linux concepts and command-line skills to kickstart your system administration career
Linux Basics for SysAdmin: Learn core linux concepts and command-line skills to kickstart your system administration career
Linux Basics for SysAdmin: Learn core linux concepts and command-line skills to kickstart your system administration career
Ebook239 pages5 hours

Linux Basics for SysAdmin: Learn core linux concepts and command-line skills to kickstart your system administration career

Rating: 0 out of 5 stars

()

Read preview

About this ebook

For students, aspiring IT specialists, and working professionals, "Linux Basics for SysAdmin" is a great starting point for learning the fundamentals of Linux, including the command line and all the tools and commands needed to manage enterprise systems.

At

LanguageEnglish
PublisherGitforGits
Release dateMay 23, 2024
ISBN9788119177905
Linux Basics for SysAdmin: Learn core linux concepts and command-line skills to kickstart your system administration career

Related to Linux Basics for SysAdmin

Related ebooks

Operating Systems For You

View More

Related articles

Reviews for Linux Basics for SysAdmin

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Linux Basics for SysAdmin - Ryan Juan

    Linux Basics for SysAdmin

    Learn core linux concepts and command-line skills to kickstart your system administration career

    Ryan Juan

    Preface

    For students, aspiring IT specialists, and working professionals, Linux Basics for SysAdmin is a great starting point for learning the fundamentals of Linux, including the command line and all the tools and commands needed to manage enterprise systems.

    At first, you are introduced to the Linux environment, with a focus on browsing the filesystem, using basic commands, managing files and directories, and becoming acquainted with the shell. You'll also learn about package management and how to handle system startup and shutdown efficiently.

    After that, you'll learn all about system configuration files, 'systemd' for managing system services, crontab for job scheduling, and 'at' and 'batch' for automating processes. You will also learn about system performance monitoring, log files, backup and restore procedures, disk partitioning, and remote management via SSH.

    Afterwards, the book delves into topics such as dependency management, system hardware configuration, kernel upgrades, and device driver management, as well as package management with 'apt' and 'yum'. You'll also learn how to create and manage repositories, and install and setup virtual machines with VirtualBox. In the end, the book covers a wide range of topics, including creating and managing user accounts, editing user profiles, setting ownership and permissions for files, using ACLs, managing user sessions, configuring sudo for administrative tasks, implementing password policies, working with PAM, and managing group memberships.

    In this book you will learn how to:

    Master essential Linux commands to efficiently navigate and manage the system's file structure.

    Gain proficiency in user and group management to ensure secure access control and permissions.

    Learn to configure and manage system services with systemd for streamlined service administration.

    Implement and enforce robust password policies for enhanced security and user account protection.

    Understand and utilize package management tools for seamless software installation.

    Set up and manage virtual machines with VirtualBox to create isolated, reproducible development environments.

    Use Access Control Lists (ACLs) to fine-tune file permissions beyond the standard Unix model.

    Schedule and automate tasks using cron, at, and batch to improve system efficiency and reliability.

    Monitor system performance and logs to proactively identify and address potential issues.

    Securely configure and use SSH for remote management and administration of Linux systems.

    An understanding of the basics of Linux system administration will be yours by the time you finish this book.

    Also, there is a companion book called Linux Advanced for SysAdmin for anyone who want to learn more advanced Linux techniques, by the same Author ‘Ryan Juan’. Concepts like advanced database management, security configuration, network management, system monitoring, and advanced operations including deployments, load balancing, and working with Kubernetes are the main focus of this follow-up book. Each of these books, taken together, provide a solid foundation and advanced expertise for both aspiring and practicing Linux system administrators.

    Prologue

    You have arrived at Linux Basics for SysAdmin, a book that will teach you the ropes of Linux so that you may confidently administer Linux systems. Whether you're an experienced IT professional looking to hone your skills, a student eager to learn Linux, or someone in between, this book will cover all you need to know to become a competent system administrator.

    A large number of computers, desktops, and mobile devices throughout the globe run Linux because of its flexibility and power. It is a priceless asset to the IT sector due to its open-source nature, robustness, and adaptability. Understanding the fundamental concepts that make Linux systems secure, efficient, and dependable is more important than simply knowing commands and configurations if you want to become an expert Linux user.

    Beginning with the fundamentals, this book will provide you with the groundwork you need to become proficient with Linux. Up and Running with Linux Systems, the first chapter, provides an overview of the Linux environment. A fundamental understanding of the shell, file and directory management, and command syntax will be covered. We also go over the basics of system starting and shutdown, managing packages, and the utilities that are needed for Linux administration.

    Next, in Chapter 2, Managing Linux Systems, we will explore system management in more detail. Discover the ins and outs of configuration files, learn how to use systemd to control services, crontab to schedule activities, and monitor system performance. Partitioning disks, managing log files, and SSH-based remote administration are all covered in this chapter.

    When it comes to managing software and hardware, Chapter 3 is where it's at. This chapter will teach you the ins and outs of using apt and yum for package management, dealing with dependencies, configuring your system's hardware, and upgrading the kernel. Docker and VirtualBox, two popular tools for creating and managing virtual machines, are also covered in this chapter.

    Chapter 4, User and Permission Management, discusses how to manage users and permissions. Access Control Lists (ACLs), file ownership and permission settings, user profile editing, and account creation and management are all part of what you can expect. You will also be responsible for managing group memberships, working with Pluggable Authentication Modules (PAM), implementing password restrictions, configuring sudo, and user sessions.

    This book will provide you the core concepts of Linux system administration practically, so you can start managing your systems with confidence. Starting here will go you far in the IT career path you desire by making you an expert Linux system administrator.

    Copyright © 2024 by GitforGits

    All rights reserved. This book is protected under copyright laws and no part of it may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without the prior written permission of the publisher. Any unauthorized reproduction, distribution, or transmission of this work may result in civil and criminal penalties and will be dealt with in the respective jurisdiction at anywhere in India, in accordance with the applicable copyright laws.

    Published by: GitforGits

    Publisher: Sonal Dhandre

    www.gitforgits.com

    [email protected]

    Printed in India

    First Printing: May 2024

    Cover Design by: Kitten Publishing

    For permission to use material from this book, please contact GitforGits at [email protected].

    Content

    Preface

    GitforGits

    Acknowledgement

    Chapter I: Up and Running with Linux Systems

    Overview

    Understanding Linux Ubuntu

    Navigating the Linux Filesystem

    Basic Linux Commands

    Network Configuration and Troubleshooting

    ‘ip’ and ‘ifconfig’

    ‘mtr’

    File and Text Processing

    ‘find’

    ‘awk’

    Network Monitoring and Diagnostics

    ‘tcpdump’

    ‘netstat’

    ‘nslookup’

    System and Process Management

    ‘sudo’

    ‘tmux’

    ‘lsns’

    ‘pkill’

    Email and Web Requests

    ‘mail’

    ‘curl’

    ‘watch’

    Sample Program: Putting All Commands Together

    Network Configuration and Diagnostics

    Searching and Processing Files

    Capturing and Analyzing Network Traffic

    DNS Queries and Network Statistics

    System and Process Management

    Email and Web Requests

    Monitoring System Changes

    File and Directory Management

    Setting up the Directory Structure

    Creating Files and Directories

    Accessing Hidden Files and Directories

    Viewing File and Directory Permissions

    Changing File and Directory Permissions

    Setting Ownership

    Accessing Secured Files

    Understanding Permissions and Access Control

    Managing Large Files and Directories

    Moving and Copying Files

    Deleting Files and Directories

    Finding Files Based on Permissions

    Working with Links

    Archiving and Compressing Files

    File Integrity and Security

    Scheduling Regular Tasks

    Monitoring File and Directory Changes

    Introduction to Shell

    Purpose of Shell

    Introducing Bash

    Basic Bash Commands

    Navigating Directories

    Listing Directory Contents

    Creating and Deleting Files

    Copying and Moving Files

    Using Command History

    Tab Completion

    Bash Variables

    Bash Scripting

    Conditional Statements

    Loops in Bash

    Functions in Bash

    Basics of Package Management

    Purpose of Managing Packages

    Updating Package Lists and Upgrading Software

    Installing Packages

    Viewing Installed Packages

    Deleting Packages

    Finding Packages

    Working with Repositories

    Pinning Packages

    Sample Program: Managing Packages for AlphaProject

    System Startup and Shutdown

    Shutting Down and Rebooting the System

    Booting the System

    Automating Startup and Shutdown

    Managing Specific Services

    Starting and Stopping Services

    Enabling and Disabling Services at Boot

    Checking Service Status

    Sample Program: Managing AlphaProject Services

    Scheduling Service Management with Cron

    Logging and Monitoring Services

    Managing Processes

    Stages of a Process

    Displaying Running Processes

    Starting and Terminating Processes

    Adjusting Process Priority

    Suspending and Resuming Processes

    Monitoring Process Activity

    Sample Program: Managing Processes for AlphaProject

    Starting a Web Server

    Running a Background Script

    Monitoring Web Server Activity

    Terminating a Misbehaving Process

    Changing the Priority of a Backup Process

    Suspending and Resuming Long-Running Compilation

    Automating Process Management with Cron

    Monitoring Processes with ‘ps’ and ‘top’

    Tracing a Problematic Process

    Using ‘lsof’ to Check Open Files

    Sample Workflow: Handling High CPU Usage

    Identify the High CPU Process

    Adjust the Priority

    Monitor the Process

    Terminate If Necessary

    Accessing and using Linux Utilities

    Role of Utilities

    Common Utilities for AlphaProject

    File and Directory Management Utilities

    ‘cp’, ‘mv’, and ‘rm’

    ‘find’

    Text Processing Utilities

    ‘grep’

    ‘sed’

    ‘awk’

    Network Utilities

    ‘ping’

    ‘traceroute’

    ‘netstat’

    ‘curl’

    System Monitoring Utilities

    ‘top’ and ‘htop’

    ‘df’ and ‘du’

    Archiving and Compression Utilities

    ‘tar’, ‘gzip’, and ‘zip’

    Disk Usage and Partition Management Utilities

    ‘fdisk’ and ‘lsblk’

    Sample Program: Using Utilities in AlphaProject

    File Backup and Management

    Log Analysis

    Configuration Management

    Network Diagnostics

    System Monitoring

    Disk Space Management

    Archiving Project Data

    Downloading Resources

    Disk Partition Analysis

    Summary

    Chapter II: Managing Linux Systems

    Overview

    Getting around System Configuration Files

    Characteristics of System Configuration Files

    Categories of Configuration Files

    Customizing Configuration Files

    Editing Configuration Files

    Backup Configuration Files

    Understanding Configuration Syntax

    Sample Program: Customizing Configuration Files

    Customizing Network Settings

    Configuring SSH

    Setting up User Accounts

    Configuring Apache Web Server

    Managing Services

    Configuring User and Group Permissions

    Setting System Locale

    Automating Configuration Changes

    Managing System Services with ‘systemd’

    ‘systemd’ Components

    Managing System Services with systemd

    Viewing Service Status

    Starting and Stopping Services

    Restarting and Reloading Services

    Enabling and Disabling Services at Boot

    Checking All Services

    Analyzing Boot Performance

    Managing Dependencies

    Creating Custom Service Units

    Logging with journalctl

    Handling Service Failures

    Sample Program: Using ‘systemd’ to Manage AlphaProject Services

    Using ‘crontab’

    Introduction to Cron Utility

    Understanding crontab

    Sample Program: Using crontab in AlphaProject

    Setting up a Backup Job

    Cleaning up Temporary Files

    Monitoring System Health

    Sending Email Notifications

    Rotating Logs

    Custom Scheduling with Step Values

    Viewing and Managing Cron Jobs

    Scheduling Tasks with ‘at’ and ‘batch’

    Introduction to ‘at’ and ‘batch’

    Using at and batch in AlphaProject

    Scheduling One-Time Tasks with at

    Scheduling Tasks with Relative Time

    Scheduling Tasks with Specific Dates

    Using batch for System Load-Dependent Tasks

    Combining at and batch with Other Utilities

    Automating System Health Checks

    Managing and Viewing Logs

    Monitoring System Performance

    Key Metrics to Monitor

    System Performance Monitoring Tools

    ‘top’

    ‘vnstat’

    ‘nagios’

    ‘iftop’

    ‘psacct’

    ‘iostat’

    ‘netstat’

    Sample Program: Monitoring Tools in AlphaProject

    Monitoring CPU and Memory Usage

    Tracking Network Traffic

    Comprehensive System Monitoring with Nagios

    Real-Time Network Monitoring with iftop

    Detailed Process Accounting with psacct

    Disk and I/O Statistics with iostat

    Network Connections and Statistics with netstat

    Log Files and System Logging

    What Can Be Logged in Linux

    Understanding Syslogs

    Managing Syslogs with rsyslog

    Installing and Configuring rsyslog

    Understanding the rsyslog Configuration

    Basic Configuration Example

    Customizing System Logs for AlphaProject

    Accessing and Analyzing Logs

    Setting up Log Rotation

    Remote Logging

    Monitoring Logs with Logwatch

    Sample Program: Logging Messages

    Custom Application Logging

    Log Rotation for Application Logs

    Remote Logging Setup

    Backing up and Restoring Systems

    ‘rsync’

    Key Features of rsync

    Using rsync for AlphaProject

    Installing rsync

    Backing up Data with rsync

    Enjoying the preview?
    Page 1 of 1