rpm、yum本地、网络、自制源配置

每12小时备份并压缩/etc/目录至/backup目录中,保存文件名称格式为,"etc-年-月-日-时-分.tar.gz"
    ]# crontab -l
    0 */12 * * * tar -zcf /backup/etc-$(date +%F-%H-%M) /etc

rpm工具演示:

rpm包管理功能总结以及实例应用演示。
rpm 只要是Redhat系统上的一款程序包管理工具;其主要实现程序的安装、升级、卸载、查询、校验及数据库维护等
rpm命令主要参数选项及演示

安装;

 1 rpm {-i|--install} [install-options] PACKAGE_FILE ...
 2         {-i|--install}
 3         -i 显示详细信息-v;显示进度条-h
 4         ]# rpm -ivh zsh-5.0.2-31.el7.x86_64.rpm
 5         [install-options]
 6         测试安装,检查并报告依赖关系及冲突
 7         ]# rpm -ivh --test  vsftpd-3.0.2-25.el7.x86_64.rpm
 8         
 9         忽略依赖关系安装:--nodeps 不建议;可能程序会运行出错
10         ]#  rpm -ivh --nodeps  php-common-5.4.16-46.el7.x86_64.rpm
11         当配置文件出错了需要重新安装时
12         --replacepkgs 不能替换默认配置文件
13         ]#  rpm -ivh --nodeps --replacepkgs php-common-5.4.16-46.el7.x86_64.rpm
14         
15         不检查包签名的信息;不检查来源的合法性
16         --signature 
17         ]#  rpm -ivh --nosignature  zsh-5.0.2-31.el7.x86_64.rpm
18         --nodigest 不检查包完整性

升级:

 1 rpm  -Uvh PACKAGE_FILE ...
 2 rpm  -Fvh PACKAGE_FILE ...
 3         
 4 --oldpackage:降级安装 (当新版本不兼容情况时使用)
 5 ]# rpm -Fvh --oldpackage zsh-5.0.2-14.el7_2.2.x86_64.rpm 
 6         
 7 --force:强制升级(当升级时与老版本的依赖性出现差异时可使用)
 8         
 9 注意:(1) 不要对内核做升级操作;Linux支持多内核版本并存,因此,直接安装新版本内核;
10      (2) 如果某原程序包的配置文件安装后曾被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原有版本的配置文件, 而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;

卸载:

1 rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--test] PACKAGE_NAME ...
2         
3         常用格式:
4         rpm -evh  PACKAGE_NAME ...
5         --allmatches:卸载所有匹配指定名称的程序包的各版本;
6                 ]# rpm -evh --allmatches vsftpd
7         --nodeps:忽略依赖关系
8           ]# rpm -evh --nodeps php
9         --test:测试卸载,dry run模式

查询:

rpm {-q|--query} [select-options] [query-options]
			
 [select-options]
			
	PACKAGE_NAME:查询指定的程序包是否已经安装,及其版本;
				-a, --all:查询所有已经安装过的包;
	 package]# rpm -qa php
			php-5.4.16-46.el7.x86_64
	]# rpm -qa列出所有已安装的包

				
	-f  FILE:查询指定的文件由哪个程序包安装生成;
	[root@localhost Packages]# rpm -qf /bin/ls
		coreutils-8.22-23.el7.x86_64

	-p, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;
	]# rpm -qp php-common-5.4.16-46.el7.x86_64.rpm
					
	--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供;(容量)
		]# rpm -q --whatprovides  php-common-5.4.16-46.el7.x86_64.rpm 
	--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;
		]# rpm -q --whatrequires  php-5.4.16-46.el7.x86_64.rpm 
	
[query-options]
	--changelog:查询rpm包的changlog;
	-l, --list:程序安装生成的所有文件列表;
	      ]# rpm -ql zsh
				
	-i, --info:程序包相关的信息,版本号、大小、所属的包组,等;
		]# rpm -qi zsh
				
	-c, --configfiles:查询指定的程序包提供的配置文件;
		[root@localhost Packages]# rpm -qc php
					/etc/httpd/conf.d/php.conf
					etc/httpd/conf.modules.d/10-php.conf

				
	-d, --docfiles:查询指定的程序包提供的文档;
		[root@localhost Packages]# rpm -qd zsh
					/usr/share/doc/zsh-5.0.2/BUGS
				
	--provides:列出指定的程序包提供的所有的CAPABILITY;
		[root@localhost Packages]# rpm -q --provides zsh
							config(zsh) = 5.0.2-31.el7
							zsh = 5.0.2-31.el7
							zsh(x86-64) = 5.0.2-31.el7

	-R, --requires:查询指定的程序包的依赖关系;
				]# rpm -qR php

 校验: 

 1 rpm {-V|--verify} [select-options] [verify-options]    
 2                 S 文件大小不同
 3                 M 模式不同(包括权限和文件类型)
 4                 5 摘要(以前是MD5和)不同
 5                 D 设备主/副号码不匹配
 6                 L 读取链接(2)路径不匹配
 7                 U 用户所有权不同
 8                 G 组所有权不同
 9                 T mTime不同
10                 P 能力不同
11   
eg:
~]# rpm -V tcsh

重建数据库:

1 rpm {--initdb|--rebuilddb}    
2     --initdb 事先无数据库时,可初始化创建一个,当前有时,不执行操作
3     --rebuilddb 重新构建数据库
4     --dbpath 指明数据库路径      

 

 

 

yum源配置

yum是安装软件包可解决依赖关系一款前端工具,可在多个仓库选择安装包。

yum客户端配置文件

 /etc/yum.conf:为所有仓库提供默认配置;

/etc/yum.repos.d/*.repo:为仓库提供指向;

创建yum源管理工具

若要创建本地yum源先查看光盘有没有挂载:

]# df

查看默认配置:

 1 root@localhost yum.repos.d]# cat /etc/yum.conf 
 2 [main]   表示仓库名称,不能有空格特殊字符
 3 cachedir=/var/cache/yum/$basearch/$releasever  缓存文件夹;$basearch表示CPU架构;$releasever 表示软件版本号
 4 keepcache=0 保存缓存 1表示保存0表示不保存
 5 debuglevel=2 调试等级;一般默认
 6 logfile=/var/log/yum.log yum安装日志
 7 exactarch=1 精确CPU架构
 8 obsoletes=1    
 9 gpgcheck=1 是否检查完整性同rpm -K(1表示检查,0表示不检查)
10 plugins=1 是否开启插件
11 installonly_limit=5 并行安装数(yum不允许同机多终端安装)
12 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
13 distroverpkg=centos-release

查看/etc/yum.repo.d仓库文件:

备份原yum源

yum.repos.d]# cp CentOS-Base.repo 163.CentOS.Base.bak

编辑新yum源:

 1 yum.repos.d]# vim CentOS-Base.repo
 2 [base]
 3 name=media
 4 baseurl=file:///media/CentOS
 5 gpgcheck=1
 6 gpgkey=file:////media/CentOS/RPM-GPG-KEY-CentOS-7
 7 [network]
 8 name=ali_QingHua
 9 baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
10              http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
11              http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
12              http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
13 gpgcheck=1
14 gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearc/RPM-GPG-KEY-CentOS-7
15        http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

清理本地缓存

~]# yum clean all 

重构yum缓存:

~]# yum makecache

列出仓库列表

~]# yum repolist

 自制源:

1 1、在根目录下新建/Packages;
2    2、到光盘或网络下载相应软件包;
3    3、使用]# createrepo -u /package/ /root/myrepo创建自制仓库;
4    4、编辑]# vim /etc/yum.repos.d/myrepo.repo
5         [myrepo]
6             name=my_repo
7             baseuar=file:///root/myrepo
8             gpcheck=0
9   5、使用yum -y insrall ftp ....d等安装相应的软件包

 

写一个脚本实现列出以下菜单给用户:

 11)disk:show disk info信息
 22)mem: show memory info信息
 33)cpu: show cpu info信息
 4 (*)quit
 5 #!/bin/bash
 6 #
 7 cat << EOF
 8 (1)disk:show disk info 
 9 (2)mem:show memroy info
10 (3)cpu:show cpu info
11 (*)quit
12 EOF
13 
14 read -p "Please Choice: " option
15 if [[ "$option" == "disk" ]];then
16     fdisk -l /dev/[sh]d[a-z]
17 elif [[ "$option" == "mem" ]];then
18     free -m 
19 elif [[ "$option" == "cpu" ]];then
20     lscpu
21 else
22     echo "Unkown option."
23     exit 2
24 fi 

 

posted @ 2019-03-18 20:51  打铁李  阅读(531)  评论(0编辑  收藏  举报