linux软件包管理rpm

简介:

程序的组成部分:

    二进制部分:一般在/bin、/sbin等目录

    库:/lib、include

    配置文件: /etc

    帮助文件:man


linux各个目录简要注意点:

/etc,/bin,/sbin,/lib

    系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统所在的分区上

/usr/

    bin

    sbin

    lib

    操作系统核心功能,可以单独分区

/proc

/sys

    不能单独分区,默认为空

/dev:设备,不能单独分区

/root:不能单独分区

/var:建议单独分区

/boot:内核,initrd(initramfs)

POST-->BIOS-->(MBR)bootloader(文件系统,ext2、ext3)-->内核


软件包管理:rpm

作用:

    将二进制程序、配置文件、帮助文件、库文件打包成一个文件

    生成数据库,追踪所安装的每一个文件


核心功能:

    1.制作软件包

    2.安装、卸载、升级、查询、校验


Redhat,SUSE:RPM

    Redhat Package Manager

    PRM is Package Manager

Debian:dpt


前端工具:yum apt-get

后端工具:RPM,dpt

yum:Yellowdog Update Modifier


rpm命令:

    rpm:

        数据库:/var/lib/rpm

    rpmbuild:


rpm命名:

包:组成部分

    主包:

        bind-9.7.1-1.el5.i586.rpm

    子包:

        bind-libs-9.7.1-1.el5.i586.rpm

包名格式:

    name-version-release.arch.rpm

    bind-major.minor.release-release.arch.rpm

主版本号:重大改进

次版本号:某个子功能发生重大变化

发行号(第一个release):修正了部分bug,调整了一点功能

发行号(第二个release):作者制作成rpm修改的版本

        

rpm包:   

    二进制格式

    rpm包作者下载源程序,编译配置完成后,制作成rpm包


rpm:

安装:

    rpm -i /PATH/TO/PACKAGE_FILE

        -h:以#显示进度:每个#表示2%;

        -v:显示详细过程

        -vv:更详细的过程

    rpm -ivh /PATH/TO/PACKAGE_FILE

        --nodeps:忽略依赖关系:

        --replacepk:重新安装,替换原有安装:

        --force:强行安装,可以实现重装或降级:

查询:

    rpm -q PACKAGE_NAME:查询指定的包是否已经安装

    rpm -qa:查询已经安装的所有包

    rpm -qi PACKAGE_NAME:查询指定包的说明信息:

    rpm -ql PACKAGE_NAME:查询指定包安装后生成的文件列表:

    rpm -qd PACKAGE_NAME:查询指定包安装的帮助文件

    rpm -qf /path/to/somefile:查询指定的文件是由哪个rpm包安装生成的

    rpm -q --script PACKAGE_NAME:查询指定包中包含的脚本

如果某rpm包尚未安装,我们需查询其说明信息,安装以后会生成文件

    rpm -qpi /PATH/TO/PACKAGE_FILE

    rpm -qpl


升级:

    rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本则升级,否则,则安装

    rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本则升级,否则,退出

        --oldpackage:降级

卸载:

    rpm -e PACKAGE_NAME

        --nodeps

校验:

    rpm -V PACKAGE_NAME


重建rpm数据库:

     rpm 

        --rebuilddb:重建数据库

        --initdb:初始化数据库,没有才建立,有就不用

 

检验来源合法性,以及软件完整性:

    加密类型:

        对称:加密解密使用同一个密钥

        公钥:一对密钥,公钥,私钥:公钥隐含于私钥中,可以提取出来,并公开出去

    单向:用于验证完整性,只要有一个字符改变,计算结果便千差万别

 

[root@logstash ~]# ls  /etc/pki/rpm-gpg/

RPM-GPG-KEY-CentOS-6           RPM-GPG-KEY-EPEL-6

RPM-GPG-KEY-CentOS-Debug-6     RPM-GPG-KEY-rpmforge-dag

RPM-GPG-KEY-CentOS-Security-6  RPM-GPG-KEY-rpmforge-fabian

RPM-GPG-KEY-CentOS-Testing-6


rpm  -K /PATH/TO/PACKAGE_FILE

    dsa,gpg:验证来源合法性,也即验证签名可以使用--nosignature,略过此项

    sha1,md5:验证软件包完整性;可以使用--nodigest略过此项












本文转自biao007h51CTO博客,原文链接:http://blog.51cto.com/linzb/1752209 ,如需转载请自行联系原作者



相关文章
|
10月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
1013 11
|
算法 安全 Ubuntu
Linux下的软件包管理器有哪些
Linux下的软件包管理器有哪些
922 5
|
人工智能 安全 Linux
Alpine Linux设定指定的软件包安装源
以上就是如何为Alpine Linux设置特定的软件包的安装源的全部流程。这个过程非常简洁、明了,希望你在使用过程中能够找到乐趣。这个过程不仅可以提供你需要的软件,还可以根据你的网络条件和地域性需求进行调整,使你的Alpine Linux系统达到最佳性能。
1389 24
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1829 25
|
存储 Ubuntu 前端开发
Linux软件包管理工具概览
在Linux系统中,dpkg、apt、rpm、yum和dnf是几种常见的包管理工具,它们分别属于不同的Linux发行版或家族,并有着各自的诞生顺序和特点。下面将按照这些工具的诞生顺序,并结合Debian、Red Hat、CentOS、Ubuntu和Kali等系统,进行详细的介绍。
527 4
|
Kubernetes Linux 测试技术
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
1475 11
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
2493 0
|
Ubuntu Linux 数据库
在Linux中,如何进行软件包升级?
在Linux中,如何进行软件包升级?
|
Ubuntu Linux 数据库
在Linux中,如何更新软件包?
在Linux中,如何更新软件包?