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 18:06
下一篇 2018-04-22 18:09

相关推荐

  • 07 标准I/O和重定向

    三种写法总结: cmd $ all.log(较新系统的写法) cmd >all.log 2&1 (最常用写法) cmd 2>all.log 1>&2

    Linux笔记 2018-04-05
  • linux基础知识

    1、描述计算机的组成及其功能。 计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成: (1)运算器是完成各种算术运算和逻辑运算的装置,能进行加、减、乘、除等数学运算,也能作比较、判断、查找、逻辑运算等。 (2)控制器是计算机机指挥和控制其它各部分工作的中心,其工作过程和人的大脑指挥和控制人的各器官一样。控制器是计算机的指挥中心,负责决定执行程序的…

    2018-06-18
  • MySQL用户和权限管理

    MySQL用户和权限管理

    2018-06-15
  • linux基础篇

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3、请使用命令行展开功能来完成以下练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │ └── grub
    ├── dev
    ├── etc
    │ ├── rc.d
    │ │ └── init.d
    │ └── sysconfig
    │ └── network-scripts
    ├── lib
    │ └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │ └── local
    │ ├── bin
    │ └── sbin
    └── var
    ├── lock
    ├── log
    └── run

    2018-05-20
  • N31第六周作业

    本周(7.23–7.29)第六周 1、简述osi七层模型和TCP/IP五层模型 OSI 七层模型 1、应用层:OSI 参考模型中最靠近用户的一层,为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。 2、表示层:提供各种用于应用层数据的编码和转换功能,确保一个…

    Linux笔记 2018-08-01
  • 三、(1)常用文本查看及处理命令

    cat、cut、uniq、sort、grep、wc命令的使用方法

    2018-01-15