包管理-rpm
rpm包管理
程序源代码---->预处理---->编译---->汇编---->链接
数据处理 转为汇编代码 进行汇编 引入库文件
静态编译:.a
动态编译:.so
包的组成:
二进制文件、库文件、配置文件、帮助文件
程序包管理器:
debian: deb文件, dpkg包管理器
redhat: rpm文件, rpm包管理器
rpm:Redhat Package Manager
RPM Package Manager
rpm包命名方式:
bash-4.2.46-19.el7.x86_64.rpm
name-版本-编译次数.发布版本.架构
systemctl start autofs --启动服务
systemctl enable autofs
cd /misc/cd --会自动挂载光盘到/misc/cd
包:分类和拆包
Application-VERSION-ARCH.rpm: 主包
Application-devel-VERSION-ARCH.rpm 开发子包
Application-utils-VERSION-ARHC.rpm 其它子包
Application-libs-VERSION-ARHC.rpm 其它子包
解决依赖包管理工具:
yum:rpm包管理器的前端工具
apt:deb包管理器前端工具
查看二进制程序所依赖的库文件
ldd /PATH/TO/BINARY_FILE
ldd /bin/cat --查看cat依赖的库
管理及查看本机装载的库文件
ldconfig 加载配置文件中指定的库文件
/sbin/ldconfig –p 显示本机已经缓存的所有可用库文件名及文件路径
映射关系
配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf
缓存文件:/etc/ld.so.cache
rpm包管理:
rpm -i [install-options] PACKAGE_FILE
-v:verbose:显示详细信息
-vv:显示的更加详细
-h:以#显示程序包管理秩序进度
rpm包安装:
[install-options]
--test: 测试安装,但不真正执行安装,即dry run模式
--nodeps:忽略依赖关系
--replacepkgs | replacefiles
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
--noscripts:不执行程序包脚本
%pre: 安装前脚本 --nopre
%post: 安装后脚本 --nopost
%preun: 卸载前脚本 --nopreun
%postun: 卸载后脚本 --nopostun
rpm包升级:
升级:
rpm -U [install-options] PACKAGE_FILE...
rpm -F [install-options] PACKAGE_FILE...
-U:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则“安装”
-F:安装有旧版程序包,则“升级”
如果不存在旧版程序包,则不执行升级操作
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
--oldpackage:降级
--force: 强制安装
包查询:
rpm -q [select-options] [query-options]
[select-options]
-a:所有包
-f:查看指定的文件由哪个程序包生成
rpm -qf /etc/yum.conf
-p profile:针对未安装的程序包文件做查询操作
示例:rpm -qp dnf-0.6.4-2.sdl7.noarch.rpm
--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供
示例:rpm -q --whatprovides httpd
--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖
示例:rpm -q --whatrequires bash
rpm2cpio 包文件|cpio –itv 预览包内文件
rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件
[query-options]
--changelog:查询rpm包的changelog
rpm -q --changelog httpd
-c:查看程序的配置文件
-d:查询程序的文档
-i:information
-l:查看指定程序安装后生成的所有文件
--scripts:程序包自带的脚本
--provives:列出指定程序包所提供的能力
-R:查询指定的程序包所依赖的能力
包卸载:
rpm -e PACKAGE_NAME
导入所需要公钥
rpm -K|checksig rpmfile 检查包的完整性和签名
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
rpm数据库
/var/lib/rpm
rpm {--initdb|--rebuilddb}
initdb:初始化,如果事先不存在数据库则新建,否则不处理
rebuilddb:重建已安装的包头的数据库索引目录
常用命令:rpm -ivh | -evh | -qa | -qf | -qp | -qc | -qd | -qi | -ql | --provides | --scripts
包管理-rpm的更多相关文章
- 程序包管理rpm、yum与简单编译安装程序
Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...
- Linux程序包管理rpm与yum
Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...
- Linux学习之RPM包管理-rpm命令管理(十六)
Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...
- linux基础之程序包管理(rpm,yum)
一.rpm 安装:rpm { -i | --install } [ install-options ] PACKAGE_FILE... -v: 显示安装时的详细信息 -vv: 显示许多难以阅读的调试信 ...
- 程序包管理rpm和yum
Linux程序包管理: API:Application Programming Interface源码包 POSIX:Portable OS 程序源代码 --> 预处理 --> 编译 -- ...
- Linux 程序包管理-RPM
程序简介: POSIX(Portable Openratin System)跨平台系统:不同操作系统平台的标准C库(glibc)都是遵循POSIX规范的,这样基于标准库开发程序的源代码可以夸平台编译 ...
- Linux-软件包管理-rpm命令管理-查询
rpm -q httpd 查看apache包是否已经安装 rpm -qa 查看所有已经安装的包rpm -qa | grep httpd 查询包含和apache关键字相关联的所有包信息 rpm -qi ...
- Linux-软件包管理-rpm命令管理-安装-卸载
mount 确认光盘是否挂载 mount /dev/cdrom /mnt/cdrom 将设备名称/dev/cdrom安装到/mnt/cdrom挂载点下面 mount 查看光盘是否已经挂载 (ro表示只 ...
- Linux 基础教程 34-软件包管理-RPM
对于Linux而言管理各类软件,如安装.卸载和升级等是常有的事情和必备的技能.以CentOS为例,常用的安装包命令有rpm和yum. RPM基础 RPM(RedHat Package ...
随机推荐
- 为什么一个标准的反相器中 P 管的宽长比要比 N 管的大呢?
和载流子有关.P 管是空穴导电,而 N 管是电子导电,电子的迁移率大于空穴.所以在同样的电场下,N 管的电流要大于 P 管,因此要增大 P 管的宽长比,使之对称,这样才能使得两者上升下降时间相等.高低 ...
- 对Servlet执行流程的初步认识
这里我们以Post方式请求Serclet为例 1.找到 中的URL地址 Form表单的Post请求HelloServlet(Action="HelloServlet")发起时, A ...
- Hbase入门(三)——数据模型
Hbase最核心但也是最难理解的就是数据模型,由于与传统的关系型数据库不同,虽然Hbase也有表(Table),也有行(Row)和列(Column),但是与关系型数据库不同的是Hbase有一个列族(C ...
- Kurskal算法
Kruskal算法是以边为主要关注对象的最小生成树算法,是最小生成树最佳的算法实现. 其时间复杂度为O(ElogE)(E为边的数量),而Prime算法采用邻接矩阵的方法是O(V^2)(V为顶点数量). ...
- Circular RNA的产生机制、功能及RNA-seq数据鉴定方法
推荐关注微信公众号:AIPuFuBio,和使用免费生物信息学资源和工具AIPuFu:http://www.aipufu.com. [Circular RNA的产生机制] Circular RNA,缩写 ...
- spring cache常用注解使用
1.@CacheConfig 主要用于配置该类中会用到的一些共用的缓存配置.示例: @CacheConfig(cacheNames = "users") public interf ...
- ┱Python中关于urllib和urllib2的问题
python3对urllib和urllib2进行了重构主要拆分成了:1.urllib.request 1.urllib.request.Request(url, data=None, headers= ...
- 通俗易懂spring之singleton和prototype
关于spring bean作用域,基于不同的容器,会有所不同,如BeanFactory和ApplicationContext容器就有所不同,在本篇文章,主要讲解基于ApplicationContext ...
- 怎么给slice加一个Insert方法呢?而不用丑陋的两次append….
package main import ( "fmt" "reflect" ) func Insert(slice interface{}, pos int, ...
- 如何在github上下载单个文件夹?
前言:在查看源码的过程中,相信很多人都像我一样,遇到某个公司或个人的repository是几个项目的集合整理,而我只要其中某个项目文件夹.那不依赖其他软件,怎么通过git去下载呢??? 下面直接给个例 ...