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

相关推荐

  • Vim文本编辑器

    Vim文本编辑器 行编辑器:sed 全屏编辑器:nano ,vim :r!cat a.将a的内容粘贴到vim ZZ保存退出 ,ZQ不保存退出 ,:q!强退 :wq!保存强退 vim 的三种工作模式 控制模式 改写模式 命令模式 命令模式: W file 另存为。 r  file 写入文件内容。 !command 执行命令 r!command 读取命令输出 地…

    2018-04-15
  • N31-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]#cp -r /etc/skel /home/tuser1 [root@localhost ~]#chmod -R go= /home/tuser1 2、编辑/etc/group文件,添加…

    2018-07-20
  • 第三周,一些练习例题以及用户与组管理命令

    一、练习 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ● 实现命令 who | cut -d ” ” -f1 | sort –u ● 命令分解 who:显示已经登录的用户信息; |:管道,连接程序,用于实现将前一个命令的输出直接定向后一个程序当作输入数据流; cut:截取who命令显示结…

    2018-05-26
  • Linux文件管理命令,命令状态返回值及命令展开

    ls命令 功能: 列出目录下的所有文件和目录 语法格式: ls [OPTION]… [FILE]… 常用选项: -a :列出所有文件和目录 -A :列出除.和..的所有文件 -l :长选项,显示文件的详细属性信息 -rw——-. 1 root root 1.4K May 1 00:50 anaconda-ks.cfg -:文件类型 -:普通文…

    Linux笔记 2018-05-27
  • linux练气篇

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux笔记 2018-05-12