作者:陈杰倩平贵奕白 | 来源:互联网 | 2023-06-04 13:26
1.每12小时备份并压缩etc目录至backup目录中,保存文件格式为:“etc-年-月-日-时-分.tar.gz”[root@192~]#mkdirbackup
1. 每12小时备份并压缩/etc/目录至/backup/目录中,保存文件格式为:“etc-年-月-日-时-分.tar.gz”
[root@192 ~]# mkdir backup #####创建backup目录
[root@192 ~]# crontab -e ####打开编辑界面定义任务
0 */12 * * * tar -zcf /backup/etc-$(date +"%Y-%m-%d-%H-%M").tar.gz /etc >/dev/null
保存即可,提示信息为crontab: installing new crontab
2. rpm包管理功能总结以及应用演示。
rpm包的功能:将编译好的应用程序的各组成文件打包成一个或者多个程序包文件,从而方便的实现程序包的安装、升级、卸载和查询等功能。
组织格式:(1)程序包的清单文件(即安装或者卸载时需要运行的脚本),每个程序包都单独实现
(2)数据库:/usr/lib/rpm/目录下,主要是提供程序包的名称和版本、包与包的依赖关系、软件功能说明以及安装生成各文件路径及校验信息等
获取程序包的途径:
(1)系统的发行版的光盘或者官方的文件服务器或者镜像站点,主要有http://mirrors.aliyun.com;http://mirrors.suhu.com ; http://mirrors.163.com
(2)项目的官方站点:如http.apache.org ; www.zabix.org
(3)第三方组织,如epel或者搜索工具(pkgs.org 、 rpmfind.net 、rpm.pbone.net)
(4)自己制作的rpm包
rpm程序包管理
Centos系统上rpm命令管理程序包(安装、升级、卸载、查询和校验以及数据库维护)
安装
格式:rpm [OPTIONS] [Package_file]
-i | --install :安装
[install-options] :-v:显示安装过程中的详细信息
-h:以#显示进度条
--test:测试安装,不真正安装,仅报告依赖信息和冲突信息
--nodeps:忽略依赖关系
--replacepkgs:覆盖安装
--force:强制安装
常用组合选项:-ivh;-ivvh(显示更加详细的信息)
演示:安装zsh程序包
~]# rpm -ivh zsh-5.0.2-7.e17.x86_64.rpm
升级
rpm {-U | --update }[install options] PACKAGE_FILE
-U :升级或安装
rpm {-F | --freshen }[install options] PACKAGE_FILE
-F:升级
组合使用:-Uvh;-Fvh
[install options] :
--test:测试安装,不真正安装,仅报告依赖信息和冲突信息
--nodeps:忽略依赖关系
--oldpackages:降级到旧版本
注意:(1)不要对内核执行升级,linux允许多个内核共存,因此可以直接安装多个不同版本的内核
(2)如果程序包的配置文件安装之后曾被修改,升级时,新版本的文件不会覆盖老版本的配置文件,而是把新版本的配置文件重命名后保存(加后缀.rpmnew)
卸载:移除已经安装的程序包
rpm {-e |--erase} [OPTIONS] PACKAGE_FILE
--allmatches:若一个程序包同时安装多个版本,则一次性卸载
--nodeps:忽略依赖关系
--test:测试卸载
查询:查看某包是否已经安装,以及检查安装的所有的包,还可以查询某包的具体信息
用法:rpm {-q | --query} [selece-options] [query-options]
[selece-options] :挑选选项
rpm -q PACKAGE_NAME:查询指定的包是否已经安装以及其版本
rpm -qa :查询已经安装的程序包
rpm -qf /PATH/TO/SMEFILE :查询某文件是由哪个安装包生成
rpm -qpi:查询尚未安装的程序包的相关信息
--whatprovides CAPABILITY :查询制定的CAPABBILITY是由哪个安装包生成
--whatrequires CAPABILITY:查询制定的CAPABBILITY是被哪个安装包所依赖
[query-options] :查询选项
(1)--change:查询某rpm包的修改日志
如:~]# rpm -q --change bash
(2)-l | --list :列出某安装包生成的文件列表
如:~]# rpm -ql bash
(3)-i :查询某包的简要说明信息
如:rpm -qi bash
(4)-c:查询某包安装完成后生成的所有配置文件
如:~]#rpm -qc bash
(5)-d:查询指定程序包提供的帮助文档
如:~]#rpm -qd bash
(6)--provides:列出指定程序包提供的CAPABILITY;--whatprovides:查询bash能力由哪个程序包提供
如:~]#rpm -q --provides bash ; ~]#rpm -q --whatprovides bash
(7)--requires:查询某包依赖的CABABILITY
如:rpm -q --requires bash
(8)--scripts:查询某包安装或卸载时的执行脚本(脚本由4类)
如:rpm -q --scripts bash
四类脚本:preinstall:安装过程开始之前执行的脚本
postinstall:安装过程完成之后执行的脚本
preuninstall:卸载之前执行的脚本
postuninstall:卸载过程完成之后执行的脚本
示例:
[root@192 ~]# rpm -qi bash #########查询bash的简要说明信息
Name : bash
Version : 4.2.46
Release : 30.el7
Architecture: x86_64
Install Date: 2018年10月30日 星期二 21时34分37秒
Group : System Environment/Shells
Size : 3667709
License : GPLv3+
Signature : RSA/SHA256, 2018年04月25日 星期三 18时54分19秒, Key ID 24c6a8a7f4a80eb5
Source RPM : bash-4.2.46-30.el7.src.rpm
Build Date : 2018年04月11日 星期三 08时55分22秒
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem
Vendor : CentOS
URL : http://www.gnu.org/software/bash
Summary : The GNU Bourne Again shell
Description :
The GNU Bourne Again shell (Bash) is a shell or command language
interpreter that is compatible with the Bourne shell (sh). Bash
incorporates useful features from the Korn shell (ksh) and the C shell
(csh). Most sh scripts can be run by bash without modification.
[root@192 ~]# rpm -qc httpd ###########查询httpd包安装之后生成的配置文件
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
校验:查询安装之后生成的文件是否发生了改变
格式:rpm {-V | verify} [select-option] [verify-option]
[root@192 ~]# rpm -V httpd
3. yum的配置和使用总结以及yum私有仓库的创建
4. 写一个脚本实现以下菜单给用户:
(1)disk:show disk info信息
(2)mem :show memory info信息
(3)cpu:show cpu info信息
(*)quit
5. sed用法总结并结合实例演示:
6. 用bash实现统计访问日志中状态码大于等于400的IP数量并排序
#!/bin/bash
7. 使用自制的yum源安装ftp、openssh、curl、tcpdump等软件包