The second version of "step-by-step Linux" will be published soon (with a cover)
It has been nearly six years since the first version of "step-by-step Linux" was released. In six years, the technology has changed a lot. The kernel version of the Linux system is from 2.6.9 (RHEL4.x) it has been updated to the current version 3.10 (Centos7.x). Some of the content in the first version is outdated, and some operating mechanisms of Linux have also undergone great changes. In order to adapt to the technological development trend, for all the readers who support this book, I decided to revise the book and launch the second version of "step-by-step Linux.
The second version basically inherits the content structure in the first version. It is mainly introduced in the Redhat Linux and Centos versions. The specific version is Centos7.x/RHEL7.x; in this chapter, the emphasis will be highlighted. combining theory with practice, enterprise cases and application practices will increase;
In the basic knowledge section, I briefly introduced the current application fields of Linux, followed by some methods and skills to learn about Linux, and then introduced the installation and system structure of Linux, of course, we also need to introduce common commands and usage skills in Linux and the installation methods of software in Linux.
Apart from the original content, I added the Mysql database content in the server building article, mainly introducing the applications of high-performance Mysql databases, and also adding the establishment of the LAMP service environment, then, we have added a lot of experience and technical summaries in server security policies and troubleshooting, which is worth looking.
In system management, this part of content has not changed. It mainly revised some content of file system management and memory management, and added some of the latest Linux technical features.
In performance tuning, the system optimization cases are added on the basis of the original theory, and the system optimization experience is introduced through combining theory and practice.
In the virtualization and cluster application sections, this part is the highlight of this book, which has basically completely revised the original content. The three chapters respectively introduce the proxmox VE virtualization and close platform, as well as the high availability software Keepalived, server Load balancer software LVS and HAproxy are introduced in a simple and in-depth manner. The software applications are introduced in the previous section, and the specific enterprise cases are used in the subsequent sections. From the perspective of production applications, this article introduces two frequently-used high-availability cluster application cases in the enterprise environment. It can also be said that this article is a comprehensive application part of the content of the book, this article comprehensively describes how to build and maintain an enterprise high-availability cluster environment from the application perspective.
Cover photo
Step by step Linux Version 2 Directory Part 1 Basic Knowledge Chapter 2 learn Linux experience and skills 1st development status and trends of Linux in various fields
1.1.1 Linux and open-source software
1.1.2 Development of Linux in the server Field
1.1.3 Development of Linux in the desktop Field
1.1.4 Development of Linux in the Mobile Embedded Field
1.1.5 development of Linux in the cloud computing/Big Data Field
1.2 select the appropriate Linux release
1.2.1 common Linux releases
1.2.2 first choice for beginners-Centos Series
1.2.3 desktop platform preferred -- Ubuntu Linux
1.2.4 first choice for enterprise-level applications-Red Hat/Centos Series
1.3 Develop good Linux Operating habits
1.3.1 be used to the command line
1.3.2 combining theory with practice
1.3.3 learn to use Linux Online Help
1.3.4 learn to think about and solve problems independently
1.3.5 learn professional English
1.3.6Linux learning Roadmap
1.4 use virtualization technology to learn about Linux
1.4.1 what is Virtual Machine Software
1.4.2 advantages of Virtual Machine Technology
1.4.3 virtual machine running environment and hardware requirements
1.4.4 installation and use of virtual machines
1.5 Linux Learning Resources
1.5.1 network resources, search engines, forums
1.5.2 keep a book around
Chapter 1 installation of Linux systems in multiple ways 2nd installation requirements
2.2 Linux installation methods
2.2.1 hard disk installation
2.2.2U disk installation method
2.2.3 Network Installation Method
2.2.4 optical drive Installation Method
2.3 Installation Process of Optical Drive
2.3.1 partition naming scheme
2.3.2 start Installation
2.4 USB flash disk installation process
Chapter 2 Basic Structure of Linux 3rd use of the Linux Console
3.2 system and hardware
3.2.1Linux hardware resource management
3.2.2use of external Linux Devices
3.3 introduction to the File System Structure
3.3.1 directory structure
3.3.2 System Core Components
3.4 running mechanism Introduction
3.4.1initialize the init system in Linux
3.4.2change from runlevel to target
3.4.3 System Shutdown Process
3.5 systemd
3.5.1 start, stop, and restart services
3.5.2 view, disable, and enable services
3.5.3 comparison between systemd and sysvinit
3.6 Linux and SecureCRT
3.6.1 SecureCRT Overview
3.6.2 installation and use of SecureCR
3.6.3 Linux commands related to SecureCRT
Chapter 2 common Linux commands and tips 4th introduction to shell in Linux
4.1.1 what is shell
4.1.2shell syntax analysis
4.2 System Management and Maintenance
4.2.1 command ls for displaying content in the specified working directory
4.2.2 command pwd for displaying the current working directory
4.2.3 command cd for changing the current working directory
4.2.4 command date for displaying or modifying system time and date
4.2.5 passwd
4.2.6 command su for identity change
4.2.7 clear the screen information command clear
4.2.8 command man for displaying the help information of a specified command
4.2.9 the command "who" is currently logged on to the system is displayed.
4.2.10 command w for displaying user information logged on to the system
4.2.11 command uname for displaying operating system information
4.2.12 command uptime for outputting system task queue Information
4.2.13 command used to list information related to users currently logged on to the system last
4.2.14 command for displaying boot information dmesg
4.2.15 command free for displaying the system memory status
4.2.16 command ps for displaying transient running dynamics of System Processes
4.2.17 command top for real-time monitoring of system processor status
4.3 file management and editing
4.3.1 create directory command mkdir
4.3.2 command to display content on screen more
4.3.3 print the file content to the standard output command cat
4.3.4 command diff for comparing different files
4.3.5 command grep for text filtering
4.3.6 command rm for deleting a directory and all its files and subdirectories
4.3.7 touch command for changing the access time and modification time of a specified file
4.3.8 command for creating links between files or directories ln
4.3.9 command file for displaying file types
4.3.10 command cp for copying files or directories
4.3.11 find the command of the specified file in the specified path
4.3.12 command split
4.3.13 command mv for renaming the file/directory or changing the storage location
4.4 compression and decompression
4.4.1 command zip/unzip for compressing/decompressing files or directories
4.4.2 command gzip/gunzip for File compression/Decompression
4.4.3 command bzip2/bunzip2 for File compression/Decompression
4.4.4 command tar for packaging and archiving files or directories
4.4.5 command dd for converting or copying files
4.4.6 command cpio for packaging backup and restoring recovery files in redirection Mode
4.5 disk management and maintenance
4.5.1 command for checking disk space usage df
4.5.2 command du for displaying disk space occupied by files or directories
4.5.3 command to check the file system and try to fix the error fsck
4.5.4 force the sync command to write the data in the memory back to the hard disk
4.5.5 command to exit the extraction device eject
4.5.6 mount/detach the specified file system command mount/umount
4.6 network settings and Maintenance
4.6.1 configure the network or display the current network interface status command ifconfig
4.6.2 copy the file or directory to another Linux system command scp
4.6.3 command netstat used to display the network connection, running port, route table, and other information of the Local Machine
4.6.4 traceroute
4.6.5 telnet
4.6.6 wget command for downloading software from the network
4.7 text editing tool vi
Chapter 2 installation and management of software in Linux 5th source code Installation Method
5.1.1 download and decompress the source code
5.1.2 analyze and install the platform environment
5.1.3 compile and install software
5.1.4 install Apache Http server with source code
5.2 RPM tool Installation Method
5.2.1RPM package management tools
5.2.2RPM Package Types and commands
5.2.3RPM
5.3 yum Installation Method
5.3.1 install and configure yum
5.3.2 features and basic usage of yum
5.3.3 several good yum sources
5.4 Binary Package Installation Method
5.4.1 install the "* .tar.gz" and "*. bz2" Binary packages
5.4.2 provide software packages for the installation program
Part 2 server Construction
Chapter 2 Linux server network management 6th NIC Driver Installation
6.1.1 General idea of NIC Driver Installation
6.1.2 compile and install NICs
6.2 configure a linux Network
6.2.1 network configuration files for different linux distributions
6.2.2 Network Configuration File explanation
6.3 linux network applications
6.3.1 IP Alias function in Linux
6.3.2 enable the linux proxy forwarding function
6.3.3 concept and configuration of Routing
6.3.4 setting up a linux Router
Chapter 2 setting up common servers in Linux 7th using OpenSSH to remotely manage Linux servers
7.2 Web Server Construction
7.2.1 necessity of integrating apache and tomcat
7.2.2 Apache and Tomcat connectors
7.2.3 installation of Apache, tomcat, and JK modules
7.2.4 integrated configuration of apache and tomcat
7.3 LAMP server Construction
7.3.1 LAMP and WordPress Overview
7.3.2 build a LAMP service environment
7.3.3 test the installation correctness of the LAMP Environment
7.4 DNS server Construction
7.4.1DNS Overview
7.4.2DNS service setup
7.5 Samba server Construction
7.5.1Samba concepts and functions
7.5.2Samba installation and configuration
Chapter 2 Building a high-performance Mysql Database System 8th MySQL and MariaDB
8.2 common high-availability MySQL Solutions
8.1.1 master-slave replication Solution
8.1.2 MMM high availability solution
8.1.3 Heartbeat/SAN high availability solution
8.1.4 Heartbeat/DRBD high availability solution
8.1.5 MySQL Cluster High Availability Solution
8.2 use KeepAlived to build a high-availability cluster system in MySQL dual-master mode
8.2.1 introduction to MySQL Replication
8.2.2 implementation principle of MySQL Replication
8.2.3 common MySQL Replication Architecture
8.2.4 architecture of MySQL master-slave mode
8.2.5 MySQL master/Master/Slave Mode Configuration
8.2.6 configure KeepAlived to achieve dual-master high availability of MySQL
8.2.7 test the MySQL master-slave synchronization function
8.2.8 test KeepAlived for MySQL failover
8.3 build a MySQL high-availability cluster system through MMM
8.3.1 introduction to MMM high-availability MySQL Solution
8.3.2 typical MMM application solutions
8.3.3 architecture of MMM high-availability MySQL Solution
8.3.4 MMM installation and configuration
8.3.5 MMM Management
8.3.6 test MMM to achieve MySQL High Availability
8.4 MySQL read/write splitting Solution
8.4.1 common MySQL read/write splitting Solutions
8.4.2 MySQL read/write splitting through Amoeba
Chapter 2 Linux Server Security Policy 9th Network Security Overview
9.1.1 common attack types
9.1.2 attack Prevention Policy
9.2 common operating system security policies
9.2.1 software upgrade
9.2.2 port and service
9.2.3 Password Logon Security
9.2.4 other Security Settings
9.3 Linux software firewall iptables
9.3.1iptables Environment
9.3.2iptables usage specifications and syntax
9.4 Linux System Backup
9.4.1 why do I need to back up the Linux system?
9.4.2data to be backed up in Linux
9.4.3 media and method of backup
9.4.4 create backup policies
9.4.5 selection of backup tools
Chapter 2 Linux troubleshooting ideas and cases 10th handling of common system faults in Linux
10.1.1 how to handle Linux system faults
10.1.2 forget the Linux root Password
10.1.3Linux cannot be started
10.2 handle common network faults in Linux
10.3 common troubleshooting cases for Linux servers
10.3 "Read-onlyfile system" errors and Solutions
10.4 confusion arising from the switch of the su command to the user
10.5 Linux system recovery case caused by NAS STORAGE FAILURE
10.5.1 fault description
Troubleshooting ideas
10.5.3 troubleshooting Process
10.5.4 solve the problem
Part 3 system management chapter 2 Linux user permission management section 11th overview of user and User Group Management
11.1.1 concepts of users and groups
11.1.2 user profile Overview
11.2 introduction to user management tools
11.2.1 add, switch, and delete user group commands groupadd/newgrp/groupdel
11.2.2 add, modify, and delete user commands useradd/usermod/userdel
11.3 file and permission settings
11.3.1 view the permission attributes of a file
11.3.2 use chown to change the owner and group
11.3.3 use chmod to change Access Permissions
Chapter 2 Linux disk storage management 12th basic concepts of disk management
12.1.1 representation of disk devices in Linux
12.1.2 device mounting and use
12.1.3 partition criteria
12.2 use the fdisk tool to partition Disks
12.2.1 description of fdisk Parameters
12.2.2 fdisk instance description
12.3 use the parted tool to plan Disk Partitions
12.3.1 introduction to parted
12.3.2 usage of parted
12.3.3 parted application instance
12.4 LVM (logical volume Management)
12.4.1basic concepts of LVM
12.4.2LVM terminology
12.4.3 install LVM
12.4.4LVM creation and management
Chapter 2 Linux File System Management 13th overview of file systems
13.1.1 what is a File System
13.1.2 why File System
13.1.3 procedure for using a File System
13.2 Introduction to common file systems in Linux
12.2.1 ext3 and ext4 file systems
13.2.2 Reiserfs File System
13.2.3 XFS File System
13.3 select a file system standard
13.4 use of Network File System (NFS)
13.4.1NFS Overview
13.4.2NFS implementation principle
13.4.3NFS installation and configuration
13.5 restore objects accidentally deleted on the ext3/ext4 File System
13.5.1 how to use the "rm-rf" command
13.5.2 similarities and differences between extundelete and ext3grep
13.5.3 restoration principles of extundelete
13.5.4 install extundelete
13.5.5 usage of extundelete
13.5.6 practice: extundelete data recovery process
Chapter 2 Linux memory management 14th physical memory and virtual memory
14.2 memory monitoring
14.3 use of swap space swap
14.4 view the memory occupied by the Process
Chapter 2 Linux Process Management 15th concepts and classifications of processes
15.2 Process Monitoring and Management
15.2.1 monitor system processes using ps commands
15.2.2 use pstree to monitor system processes
15.2.3 use top to monitor system processes
15.2.4 use lsof to monitor system processes and programs
15.2.5 query process ID using pgrep
15.3 use of crond in the task scheduling process
15.3.1crond
15.3.2use of crontab
15.3.3 precautions for using crontab
15.4 close the process
15.4.1 kill a process
15.4.2 killall is used to terminate a group of processes
Part 4 Performance Tuning Chapter 1 Linux system performance optimization principles 16th Summary of performance issues
16.2 factors affecting Linux Performance
16.2.1 system hardware resources
16.2.2 operating system resources
16.2.3 application software resources
16.3 persons involved in analyzing system performance
16.3.1 Linux O & M personnel
16.3.2 system architecture designer
16.3.3 software developers
16.4 System Performance Analysis Tools
16.5 system performance analysis standards
16.6 summary of this Chapter
Chapter 2 Linux System Performance Evaluation and Optimization case 17th CPU Performance Evaluation
17.2 memory performance evaluation
17.3 disk I/O performance evaluation
17.4 Network Performance Evaluation
17.4.1 use the ping command to check network connectivity
17.4.2 detect network interface status through netstat-I combination
17.4.3 use the netstat-r combination to detect the system's route table information
17.4.4 display the network running status of the system through sar-n combination
17.4.5 summary in this section
17.5 Web application-based performance analysis and optimization Cases
17.5.1 Dynamic Content-based website optimization case
17.5.2 Dynamic and Static Content-based website optimization case
Part 5 virtualization and cluster application chapter 2 Introduction to virtual cloud computing platform Proxmox VE 18th OpenVZ
18.2 KVM Introduction
18.3 introduction to ProxmoxVE
18.4 install Proxmox VE
18.5 use of ProxmoxVE
18.5.1 description of Proxmox VE function options
18.5.2 create an openVZ VM
18.5.3 create a KVM VM
Chapter 2 Definition of High-Performance cluster software Keepalived 19th Cluster
19.2 features and functions of clusters
19.2.1 high availability and scalability
19.2.2 Server Load balancer and error recovery
19.2.3 heartbeat detection and drifting IP Address
19.3 cluster classification
19.3.1 high-availability cluster
19.3.2 Server Load balancer Cluster
19.3.3 Scientific Computing Cluster
19.4 terms related to HA Clusters
19.5 introduction to Keepalived
19.5.1 purpose of Keepalived
19.5.2 VRRP protocol and working principle
How Keepalived works
19.5.4 architecture of Keepalived
19.6 install and configure Keepalived
19.6.1 install Keepalived
Global configuration of Keepalived
19.6.3 configure VRRPD for Keepalived
19.6.4 Keepalived LVS Configuration
19.7 Keepalived Basic Function Application Instance
19.7.1 demonstration of basic HA functions of Keepalived
19.7.2 monitor cluster resources through vrrp_script
19.7.3 Master and Backup role election policies in the Keepalived Cluster
Chapter 2 Introduction to Server Load balancer cluster LVS and Haproxy 20th LVS
20.2 LVS Architecture
20.3 features of LVS Clusters
20.4 installation and use of LVS
Ipv4.1 install IPVS Management Software
Ipv4.2 ipvsadm usage
20.5 build an LVS high availability cluster system through Keepalived
20.5.1 instance Environment
When 5.2 configure Keepalived
20.5.3 configure the Real server Node
5.4 start Keepalived + LVS Cluster System
20.6 test the high-availability LVS Server Load balancer Cluster System
20.6.1 High Availability function test
20176.2 Server Load balancer Test
20176.3 failover Test
20.7 high-performance load balancing software HAProxy
Overview 7.1 HAProxy
7.2 differences between layer-4 and layer-7 Server Load balancer
7.3 similarities and differences between HAProxy and LVS
20.8 HAProxy basic configuration and application instance
Rapid installation of HAProxy cluster software in ipv8.1
Overview 8.2 detailed explanation of HAProxy basic configuration file
Routing 8.3 implement smart load balancing using HAProxy ACL rules
Ipv8.4 Management and Maintenance of HAProxy
Ipv8.5 use HAProxy's Web Monitoring Platform
20.9 build a HAproxy + KeepAlived high-availability Load Balancing System
9.1 Environment Description
Route 9.2 configure the HAproxy Server Load balancer
9.3 configure master and slave KeepAlived servers
20.10 test HAproxy + KeepAlived high-availability server Load balancer Cluster
201710.1 test the high availability function of KeepAlived
201710.2 test the Server Load balancer Function