软件包管理

1、RPM管理

RPM
1.事先将要源码的软件编译好,相关文件打包放在rpm后缀的文件中,rpm命令管理
	centos:rpm管理rpm包文件
 	ubuntu:dpkg管理deb包文件
2.rpm文件:二进制可执行文件,库文件,配置文件,帮助文档等
3.httpd-2.4.6-97.el7.centos.5.x86_64.rpm
  httpd:软件名称
  2.4.6:软件版本
  97:编译次数
  el7:基于RHEL7版本
  x86_64:适用的硬件平台
  rpm:拓展名
4.软件包的分类:
	devel:软件的开发包
	maunul:软件的帮助文档
	tools:软件包的工具
5.适用的硬件平台:
	i386:i指的是inter兼容的cpu,386是cpu的等级
	i586:针对586等级的cpu进行优化编译
	i686:针对686等级的cpu进行优化编译
	x86_64:针对64位的cpu进行优化编译
	noarch:没有cpu等级限制,通常是文档文件,没有二进制文件存在
rpm 的安装、卸载、升级、查询、校验、数据库维护等
1.语法格式:
rpm 功能模式选择(iUF) [可选的通用选项] [可选的子选项] 软件包文件名
rpm 功能模式选择(eqV) [可选的通用选项] [可选的子选项] 软件名称
软件包文件名:RPM包文件的路径
软件名称:软件名,例tree

2.常用选项:
-i		安装软件
-U		安装或升级软件(有旧软件就升级)
-F		升级软件(没有旧软件就不升级)
-e		卸载软件
-q		查询模式
-V		验证模式

3.通用选项:
-v/-vv		显示附加信息
-h			显示执行进度

4.常用子选项
--force				强行安装、升级、卸载
--nosignature		不检查来源合法性
--nodeps			忽略依赖关系
--test				测试但不真执行,可用来查看是否有依赖的软件包关系
--scripts			软件包安装时的执行脚本
--whatrequires		文件被哪些软件依赖
--whatprovides		功能被哪个软件提供

适用查询模式的子选项-q:
-a		列出所有通过rpm或yum安装在本机的软件名称
-i		列出已经安装在本机的指定软件的详细信息
-l		列出指定软件包安装后生成的所有文件
-f 文件名 	列出该文件来自哪个已经安装的软件包
-p		针对未安装的软件包文件做查询操作,后跟软件包文件名
-R      显示软件包的依赖关系

适用验证模式的子选项-V:
-a		列出系统中所有在安装后修改过的文件
-f		列出某个文件所属的包文件包含的哪些文件,在安装后被修改过
-p		列出指定rpm软件包文件包含哪些文件被修改过

5.rpm相关数据库
配置文件:/var/lib/rpm
例1:查询
[root@szb szb]# rpm -q tree
tree-1.6.0-10.el7.x86_64

例2:安装,支持升级多个rpm软件包
[root@szb szb]# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm

例3:查询文件来自哪个软件包
[root@szb szb]# rpm -qf /etc/passwd
setup-2.8.71-11.el7.noarch

例4:提取rpm软件包指定的文件
[root@szb szb]# rpm -qpl wget-1.14-18.el7_6.1.x86_64
[root@szb szb]# rpm2cpio wget-1.14-18.el7_6.1.x86_64.rpm | cpio -ivd ./etc/wgetrc

2、YUM管理

yum
1.rpm不能解决包依赖性的问题,yum可以解决
2.yum基于c/s架构,rpm包yum元数据的集合称为仓库(repository)
3.配置文件:
	/etc/yum.conf  主配置文件
	/etc/yum.repos.d/目录下以.repo为后缀的文件
	/var/log/yum.log  安装包的日志
	
4.cat /etc/yum.repos.d/CentOS-Base.repo
[extras]			# 仓库ID,保持唯一性
gpgcheck=1			# 1表示安装包时,做gpg检查
gpgkey=http://mirrors.tencentyun.com/centos/RPM-GPG-KEY-CentOS-7  # 指定gpg检查时的公钥
enabled=1			# 1表示启用该仓库,0禁用
baseurl=http://mirrors.tencentyun.com/centos/$releasever/extras/$basearch/  # 仓库地址
name=Qcloud centos extras - $basearch		# 仓库说明, 描述信息

5.yum参数
参数:
-q		不显示安装过程
-y		安装提示一律yes

6.yum命令
yum repolist all		# 显示所有仓库
yum repolist enabled	# 显示所有可用仓库
yum install gcc			# 安装包
yum reinstall gcc		# 重新安装包
yum remove gcc			# 卸载包
yum info gcc			# 查看包信息
yum history				# 管理历史
	yum history info 12		# 查看ID为12的事件
	yum history undo 12		# 利用历史卸载gcc相关依赖包
yum list httpd*			# 查询包列表
yum search httpd		# 搜索包名或包含有httpd的包信息
yum provides /etc/mime.types   # 查询指定文件来自哪个包
yum deplist	httpd		# 查询指定所依赖的文件和所属包
yum groups list			# 查看包组列表
yum groups info "Development Tools"			# 查看包组的信息
*****************************************************
yum clean all 			# 清理yum缓存
yum makecache			# 重新构建缓存

7.DNF:新一代rpm软件包管理器,rhel8.0已经取代YUM
createrepo /data/dnf  # 创建dnf仓库相关的元数据

3、软件环境

软件的运行环境
库文件
ldd /bin/ls 查看程序所调用的函数库

4、源码编译安装软件

1.gcc编译程序四过程:
预处理
编译
汇编
链接

2.源码编译三步:
1)./configure
2) make
3) make install

3.功能:
configure:检查源码编译过程中的依赖包关系;指定安装相关文件的路径;指定编译的软件的功能特性;会生成Makefile文件
make :根据Makefile信息,调用编译工具,对源码进行编译为可执行文件
make install :将上述编译后的文件复制到指定位置

4.缺啥包,包名后加devel组成的包即可
yum -y -q install apr-devel

lscpu 查看cpu核数
make -j 2   # -j指定多任务进行编译,加快编译过程

链接:启动程序路径添加到PATHecho 'PATH=/apps/httpd/bin:$PATH' > /etc/profile/httpd.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值