RPM-YUM半解

文章目录

  • RPM命名
  • RPM 安装
    • 手工安装
    • RPM包升级
    • RPM 卸载
  • 一些命令合集
    • CPIO 提取RPM包中文件
  • YUM
    • yum源
    • yum 命令

RPM命名

RPM-YUM半解_第1张图片
已安装的软件包,系统会生成 RPM 包数据库 (/var/lib/rpm) 可以在任意路径下操作。

RPM 安装

手工安装

  • 默认安装位置
/etc/ 配置文件安装 目录
/usr/bin 可执行的命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc 基本的软件使用手册保存位置
/usr/share/man 帮助文件保存位置
  • 安装命令

    • rpm -ivh 包全名
    • -i install 安装
    • -v 显示详细的信息
    • -h 打印或显示安装 的进度。
  • 其它选项

- - nodeps 不检测依赖性安装
- -replacefiles 替换文件安装 。如果安装软件包,可包中部分文件已经存在,那么正常安装 时候会报错 ”某个文件已经存在“ 从而导致软件无法安装,使用这个选项可以忽视这个报错而覆盖安装
- -force 强制安装 。不管是否已经安装,都重新安装 。
- -test 测试安装。不会实际安装,只是检测一下依赖性
- -prefix 指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。

RPM包升级

  • rpm -Uvh 包全名
    • -U(大写) 升级安装 ,如果没有安装过,系统直接安装。如果安装过的版本较旧则升级到新版本。
  • rpm -Fvh 包全名
    • -F 升级安装 如果没有安装过,则不会安装 。必须安装有较旧的版本,才能升级。

RPM 卸载

  • rpm -e 包名
    • - -nodeps 不检查依赖性
    • -e 卸载

一些命令合集

命令 功能
rpm -q 包名 查询软件包是否安装
rpm -qa 查询Linux系统中所有已经安装的软件包
rpm -qi 包名 查询已经安装某个软件包的详细信息
rpm -qip 包全名 查询没有安装 的某个软件包的详细信息
rpm -ql 包名 查询已经安装的软件 包中的文件列表和安装的完整目录
rpm -qlp 包全名 查询 没有安装 的软件包中的文件列表和打算的位置
rpm -qf 系统文件名 查询系统文件属于哪个RPM包
rpm -qR 包名 查询系统中和已经安装的软件包有依赖关系的软件包
rpm -qRp 包全名 查询 没有安装 的软件包的依赖关系
rpm-Vf 系统文件名 校验某个系统文件是否被修改
S 文件大小是否改变
M 文件类型或文件权限 是否被改变
5 文件MD5检验是滞改变
D 设备的主从代码是否改变
U 文件所有者 是否改变
L 文件路径是否改变
G 文件所属组是否改变
T 文件修改时间是否改变
文件类型 文件类型
c 配置文件
d 普通 文件
g ghost file
l 授权文件
r 描述文件

PS:数字证书

  • 首先必须 找到原厂公钥文件,然后进行安装
  • 再安装RPM包时,会去提取RPM包中的证书信息,然后和本机安装的原厂证书进行验证
  • 如果验证通过。则允许安装,如果不通过,则不允许安装并警告。
  • 证书位置
[root@localhost cdrom] ll /mnt/cdrom/RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 1 root root 1690 12月  9 2015 /mnt/cdrom/RPM-GPG-KEY-CentOS-7
  • 系统中证书位置
[root@localhost rpm-gpg]  ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Debug-7  RPM-GPG-KEY-CentOS-Testing-7
  • 导入数字证书
    [root@localhost rpm-gpg]# rpm --import /mnt/cdrom/RPM-GPG-KEY-CentOS-7

CPIO 提取RPM包中文件

  • rpm2cpio 包全名 | cpio -idv ~/test 文件绝对路径
  • 实例:
    [root@localhost ~]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz [root@localhost ~]# rpm -qf /bin/ls coreutils-8.22-23.el7.x86_64 [root@localhost ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-23.el7.x86_64.rpm | cpio -idv ./usr/bin/ls ./usr/bin/ls 28594 块

YUM

yum源

  • yum源在配置文件在 /etc/yum.repos.d/ 目录中
  • 默认是CentOS-Base.repo这个源,so 如果要用光盘源最好改名这个源,再启用光盘源
[base] 容器名称,一定要放在 【】中
name 容器说明
mirrorlist 镜像站点
baseurl yum源服务器的地址。
enabled 此容器是否生效,如果不写或写成 enabled=1 则表示此容器生效,写成 enabled=0 则表示 此容器不生效
gpgcheck 如果为 1 则表示 RPM的数字证书生效;如果为 0 则表示 RPM的数字证书不生效
gpgkey 数字证书的公钥文件保存位置。不用修改

yum 命令

命令 作用
yum list 查询源服务器上所有可安装的软件包列表
yum search 关键字 搜索yum源服务器上所有和关键字相关的软件 包
yum info 软件包 查询 软件包的信息
yum -y install 包名 安装软件 包,-y 自动回答yes
yum -y update 包名 升级指定软件包 如不加包名 则升级所有软件包
yum remove 包名 卸载指定软件 包
yum grouplist 列出所有可用的软件组列表
yum groupinfo 软件组名 列出软件组中包含的软件
yum groupinstall 软件组名 安装指定软件组
yum groupremove 软件组名 卸载指定软件组

你可能感兴趣的:(Linux)