rpm

rpm

ABI 操作系统接口
API 库的调用接口
汇编语言 是 .a 后缀的文件
二进制程序依赖系统 (ABI)
二进制需要链接库才能运行
静态编译 二进制文件和库打包成一个文件带 .a后缀的
静态编译 把库打包到文件
动态编译 软链接指向库 运行的时候就去访问调用它
Java 编译两次 先生成。先把源文件通过 Java编译器生成class的文件 再通过解释器(Java虚拟机)编译成与操作系统接口API的二进制程序 才能运行 在系统上跑
rpm包不需要编译安装 直接给打包成一个文件 就可以运行
包分为 主包和其他子包
yum 只适用于centos 系列的及红帽系列的
yum能一键安装存在依赖关系的 甚至循环依赖的包 智能
yum:rpm包管理器的前端工具 (yum底层调用的还是rpm包)
apt-get:deb包管理器前端工具(解决包的依赖性)
zypper: suse上的rpm前端管理工具
dnf: Fedora 18+ rpm包管理器前端管理工具 (以后估计会代替yum)
var/lib/rpm 包的数据库(包括包的信息)
ldd 二进制程序的命令 查询这个命令依赖的库文件
ldconfig -p 查看所有的库
库的主要路径 /etc/ld.so.conf
缓存文件:/etc/ld.so.cache
  • 包文件组成 (每个包独有)
  • RPM包内的文件
  • RPM的元数据,如名称,版本,依赖性,描述等
  • 安装或卸载时运行的脚本
数据库(公共):/var/lib/rpm
程序包名称及版本
依赖关系
功能说明
包安装后生成的各文件路径及校验码信息
rpm -ivh
  • -i 安装
  • -v 显示过程
  • -h 显示进度
  • -vv 详细过程
  • -e 卸载包
  • -q 查询(跟包名) 某个装好的包
  • -qa 查询所有安装包 可以配合grep 找到你想要的找的文件
rpm
6. -ql (后跟包名)查看 包 里的文件列表
7 -qf 后跟文件 查看 文件 属于哪个包 (文件删除了 也可以查看它属于哪个包 应为你下载包的 会把文件的数据 放在数据库中 /var/lib/rpm) 数据库没有的话 就查询不了安装了什么包 下载不了删除不了
-p 针对尚未安装的程序包文件做查询操作
8 -qpl (后跟包里的文件) 表示查看未安装的包里的文件
9 -q –whatprovides 后跟关键字 查询命令是由哪个包提供的
10 -q –whatrequires bash 查询那些包依赖bash
11 -qc 只看配置文件
12 -qi 显示包的信息 (作用 说明 官网 什么时候装的包 时间等等
–provides: 列出指定程序包所提供的CAPABILITY
-R: 查询指定的程序包所依赖的CAPABILITY
rpm2cpio 包文件|cpio –itv 预览包内文件
rpm2cpio 包文件|cpio –idv 后也可以单独安装一个文件
rpm包安装 [–install-options ]:
跟在条件后面
  1. –test 测试安装 但不真正执行安装 dry run 模式
  2. — nodeps : 安装时忽略依赖关系
  3. –replacepkgs 重新安装 如果包改过 重新安装时会覆盖
  4. –replacefiles 重新安装 目录重名时
  5. –oldpackage 降级安装 (kernel) 不覆盖的
  6. — force 强制安装
  7. –upgrade 安装有旧版本包 则升级 升级后旧版本覆盖 -U
如果不存在旧版本包 则安装
8. — freshen 安装有旧版本包 则升级 -F
如果不存在旧版本 则不执行升级操作
  • 如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的同一个配
置文件并不会直接覆盖老版本的配置文件,而把新版本的文件重命名
(FILENAME.rpmnew)后保留 (它只会备份配置文件 )
  • 不要对内核做升级操作;Linux支持多内核版本并存,因此,对直接安装新版
本内核
–changelog 查看包的变化的历史过程
-c 查询程序的配置文件
-d 查询程序的文档
-i 查看包的信息
-q –scripts:程序包自带的脚本
-q 查看程序依靠哪个能力
— allmatches 如果有两个版本的包 会全卸载
–nodeps 安装时忽略依赖关系
包安装后 会更新 /var/log/rpm
rpm {-V|–verify} [select-options] [verify-options]
S file Size differs 大小
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs 哈希值
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs 所有者
G Group ownership differs 所有组
T mTime differs 时间
P capabilities differ
安装前检查 是否完整 签名
-K
rpm -import 导钥匙
挂光盘 rpm -import /光盘的路径/RPM-GPG-KEY-CentOS-6
公钥 etc/下也有 在 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
导入的钥匙 也会生成一个包 gpg-pubkey
删除钥匙 rpm -qa “gpg-pubkey” rpm -e gpg-pubkey-c105b9de-4e0fd3a3
删除/bin/rpm
通过rpm2cpio 光盘路径下的rpm包 | cpio -ivd ./bin/rpm 会安装到当前路径 在复制到/biin/下
如果删除rpm包
重启 通过cdrom 进入救援模式
在当前根上 默认是 /mnt/sysinmage mount 光盘
再 通过 rpm -ivh /光盘路径/Packages/rpm-4. …… –root=/mnt/sysimagc/ (这样包才安装到/root .里 不会安装到救援模式下)
重启即可
再求援页面 可以切换到系统的根 chroot /mnt/sysimagc

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96814

(0)
王乐王乐
上一篇 2018-04-22
下一篇 2018-04-22

相关推荐

  • 7月2日~7月8日作业

    1、列出当前系统上所有已经登入的用户的用户名,注意:同一个用户登入多次,则只显示一次即可。 ~]# who | cut -d  ‘  ’   -f1  |  sort  -u 2、取出最后登入到当前系统的用户的相关信息。 3、取出当前系统上被用户当作默认shell的最多的那个shell. 4、将/etc/passwd中的第三个字段数值最大的后10个用户信息全…

    2018-07-07
  • Linux 的哲学思想

    Linux 的哲学思想: 一、Linux 系统,采用一切皆文件的思想,包括硬件设备(设备文件)与通讯方式。文件系统(FHS)采用树状结构,根目录只有一个,用户无不是在此树的节点上运作。 备注1:Linux中的所有设备都做为一个文件系统的一个节点来挂载和使用的。如光驱一般挂载在/mnt/cdrom中。 备注2:Linux系统按功能可分为: 1、操纵系统:用以控…

    Linux笔记 2018-06-21
  • boot

    把boot目录都删除了怎么办 文件的 关键 缺少 唯独缺少 grub.conf     ;创建这个文件 以上是boot下文件都删除了的补救法 下面是第二种方法 光盘启动,救援模式   ,用安装包的方式 不能安装在当前的跟下 grub-install安装grub相关信息 写 以上是boot是独立分区

    2018-05-13
  • 软、硬链接的对比分析

      硬链接与软链接的对比分析 硬链接,即一个文件可以用同一个节点编号却使用多个文件名。这数个文件名之间是平等的关系。 例:我在centos6.9的虚拟机上创建了一个文件f1(touch f1),然后以f1文件为旧文件建立一个名为f1.1的硬链接,再以文件f1.1创建一个名为f1.2的硬链接。接着我在f1文件中写入内容,如下图所示,三个文件中内容是一…

    2018-04-07
  • Linux上的文件管理类命令

    常用的文件目录管理命令:cd,pwd,ls,mkdir,rmdir,tree,more,less,head,tail,cp,mv,rm。 cd命令:改变目录 后面加绝对或者相对路径 命令格式:cd [options] [Dirname] [Azuth@azuth ~]$ cd /home/Azuth[Azuth@azuth ~]$ pwd/home/Azut…

    Linux笔记 2018-05-20
  • 软件包管理 {C语言源代码编译安装三步骤}

    本文主要记录 centos7 编译安装 httpd2.4.25 过程,加深记忆及备忘

    2018-04-22