zoukankan      html  css  js  c++  java
  • rpm软件包管理的详细解读

    CentOS系统上使用rpm命令管理程序包:安装、卸载、升级、查询、校验、数据库维护

    1.基本安装

    rpm -ivh  PackageFile
    

    2.rpm选项

    rpm -ivh --test PackageFile
    --test    测试安装
    --nodeps    忽略依赖性
    --nosignature: 不检查来源合法性
    --nodigest:不检查包完整性
    

    3.软件包脚本

    --nopre              安装前脚本  
    --nopost             安装时脚本
    --nopreun            卸载前脚本
    --nopostun           卸载后脚本
    #所有脚本均不执行的话直接使用
    --noscript
    

    4.软件包的升级

    升级时的注意事项:

    • 不要对内核进行升级操作,linux支持多内核并存,所以直接安装新内核就好.
    • 如果升级时原程序的配置文件被更改过的话,新程序不会覆盖配置文件。会把就配置文件重命名名(FILENAME.rpmnew)后保存。
    rpm -Uvh  PackageFIle            #软件存在就升级,不存在就安装
    rpm -Fvh  PackageFile            #存在则升级,软件不存在不升级
    #
    --oldpackage:降级
    --force: 强制安装
    

    5.软件包的查询

    rmp -qa -p为包的查询,a为列出所有包
    rpm -qa | grep "mysql" 配合grep模糊搜索使用
    rpm -qf file 查询配置文件是用哪个包提供的
    rpm -q --whatprovides webserver 查询能力是那个软件包提供,包括服务和文件,相比于-qf来说范围更宽
    rpm -q --whatrequires 查询指定的能力依赖于哪个包

    6.包查询

    rpm -q --changelog httpd 查询rpm包的日志文件,非程序的日志文件
    -c: 查询程序的配置文件
    -d: 查询程序的文档
    -i: information
    -l: 查看指定的程序包安装后生成的所有文件

    7.rpm包的数据库

    rpm包在安装时会生成一个数据库文件,程序包名称及版本、依赖关系、功能说明、包安装后生成的各文件路径及校验码信息.

    • 数据库目录 存放在/var/lib/rpm中以__db开头的文件
    • 初始化数据库rpm -initdb数据库不存在就创建,存在不执行任何操作
    • 重建数据库 rpm -rebuilddb

    8.rpm包校验

    在rpm数据库中存放了软件初始安装时的数据信息,当使用包校验的会拿数据库中的信息比对现在的信息,可以查出哪些被认为的修改或者覆盖过。
    使用rpm -V 软件包名 校验是否被修改过。

    校验参数的详细解读

    传送门: 软件包校验实验

  • 相关阅读:
    Windows快捷键
    visual studio code颜色主题切换
    visual studio code中文语言包安装
    顶点缓存与索引缓存
    程序结构(2)
    ansible常用模块
    ansible常用模块
    ubuntu实用技巧
    ubuntu实用技巧
    Sqoop导出MySQL数据
  • 原文地址:https://www.cnblogs.com/aubin/p/7278787.html
Copyright © 2011-2022 走看看