通过前几章的学习,我们掌握了Linux系统基本命令,用户及权限等知识。Linux整个体系的关键不在于系统本身,而是基于Linux去安装和配置企业中相关的软件,数据及应用程序,所以对软件的维护是运维工程师职责的重中之重。
本章介绍Linux系统软件的安装,卸载,配置,维护以及如何构建企业本地YUM官潘源及HTTP本地源等内容。
6.1 RPM软件包管理
Linux软件包从内容上可分为二进制包(binary code)和源码包(source code),不同类别的软件包使用的管理工具也各不相同。源码包是没有经过编译的包,需要经过GCC,C++编译器环境编译才能运行,二进制包无需编译,可以直接安装使用。
通常而言,可以通过后缀区别源码包和二进制包,例如,.tar.gz,.zip,.rar结尾的包称之为源码包,以rpm结尾的软件包称之为二进制包。真正区分是否为源码包还是二进制包还要基于软件包的文件来判断,例如包含.h,.c,.cpp,.cc等结尾的源码文件,称之为源码包,而代码里面存在bin可执行文件,称之为二进制包。
CentOS操作系统中有一款默认软件管理工具,即红帽包管理工具(red hat package manager,RPM)。
使用RPM工具可以对软件包实现快速安装,管理及维护。RPM管理工具使用的操作系统包括CentOS,Red Hat,Fedora,SUSE等,RPM工具常用于管理以.rpm后缀结尾的软件包。
RPM包命名格式如下:
name-version.rpm
name-version-noarch.rpm
name-version-arch.src.rpm
如下软件包格式:
epel-release-6-8.noarch.rpm
perl-Pod-Plainer-1.03-1.el6.noarch.rpm
yasm-1.2.0-4.el7.x86_64.rpm
RPM包格式解析如下:
6.2 tar软件包管理
Linux操作系统除了使用ROM管理工具对二进制软件包管理之外,还可以挺过tar,zip,jar等工具对源码包软件进行管理。
6.2.1 tar命令参数详解
tar命令参数详解如下:
6.2.2 tar企业案例演示
tar企业案例演示如下:
- tar cvf yunan.tar.gz yunan:打包yunan文件或者目录,打包后名称为yunan.tar.gz。
- tar tf yunan.tar.gz:查看yunan.tar.gz包中内容。
- tar rf yunan.tar.gz yunan.txt:将yunan.txt追加到yunan.tar.gz中。
- tar xvf yunan.tar.gz:解压yunan.tar.gz程序包。
- tar czvf yunan.tar.gz yunan:使用gzip格式打包并压缩yuman目录。
- tar cjvf yunan.tar.bz2 yunan:使用bzip2格式打包并压缩yunan目录。
- tar czf yunan.tar.gz * -X list.txt:使用gzip格式打包并压缩当前目录所有文件,排除list.txt中记录的文件。
- tar czf yunan.tar.gz * --exclude=zabbix-3.2.4.tar.gz --exclude=nginx-1.12.0.tar.gz:使用gzip格式打包并压缩所有文件和目录,排除zabbix-3.2.4.tar.gz和nginx-1.12.0.tar.gz软件包
6.2.3 tar实现Linux操作系统备份
tar命令工具除了用于日常打包,解压源码包之外,最大的亮点还可以用于Linux操作系统文件及目录的备份。使用tar -g可以基于GNU格式做增量备份,备份原理是检查目录和文件的atime,mtime,ctime属性是否被修改。文件及目录时间属性详解如下:
- 文件被访问的时间(access time,atime);
- 文件内容被改变的时间(modified time,mtime);
- 文件写入,权限更改的时间(change time,ctime);
总结:更改文件内容mtime和ctime都会改变,但ctime可以在mtime未发生变化时被更改。例如修改文件权限文件mtime时间不变而ctime时间改变。tar增量备份案例演示步骤如下:
(1)/root目录创建yunan文件夹,同时在yunan文件夹中创建yn1.txt,yn2.txt文件,如下图所示:
[root@yunanjiaoyu ~]# mkdir yunan
[root@yunanjiaoyu yunan]# touch yn1.txt
[root@yunanjiaoyu yunan]# touch yn2.txt
(2)使用tar命令第一次完整备份yunan文件夹,如下图所示:
使用tar命令第一次完整备份yunan文件夹,-g指定快照snapshot文件,第一次没有该文件则会自动创建。(由于需要新添加LVM逻辑卷,所以本次操作,使用的直接备份的方式。详细创建快照文件,请自行学习磁盘管理)
[root@yunanjiaoyu yunan]# tar -czvf 2020yunan.tar.gz *
yn1.txt
yn2.txt
[root@yunanjiaoyu yunan]# tar tf 2020yunan.tar.gz
yn1.txt
yn2.txt
(3)在yunan文件夹在创建yn3.txt,yn4.txt,然后在通过tar命令增量备份yunan文件夹内所有内容。
[root@yunanjiaoyu yunan]# touch yn3.txt yn4.txt
[root@yunanjiaoyu yunan]# tar -czvf 2020yunan_all1.tar.gz *
2020yunan.tar.gz
yn1.txt
yn2.txt
yn3.txt
yn4.txt
6.2.4 shell+tar实现增量备份<