软件包管理详解

 

软件包管理器

1、功能: 
1)将软件包打包成一个文件,其中包括: 
①二进制程序 
②库文件 
③配置文件 
④帮助文件 
2)生成数据库,追中所安装的每一个文件。

2、软件包管理器的核心功能: 
1)制作软件包 
2)安装、卸载、升级、查询、校验

3、不同发行版的不同的软件包管理器: 
1)RedHat,SUSE常用:RPM 
原名为RatHat Package Manager(PRM is Package Manager) 
2)Debian常用:dpt

4、RPM不提供自动解决依赖关系的功能。

5、yum和apt-get简介: 
1)yum,apt-get是前端工具 
2)RPM,dpt是后端工具 
3)yum(Yellodog Update Modifier),是RPM提供的更高级工具,能手动管理RPM的依赖关系 
4)apt-get是dpt的常见工具,能为dpt提供了自动解决依赖关系的工具。

二、rpm包介绍

1、rpm功能:管理软件包

2、rpm数据库在/var/lib/rpm中

3、rpm管理工作: 
1)安装 
2)查询 
3)卸载 
4)升级 
5)校验 
6)数据库的重建等工作

4、rpm命名: 
1)rpm包名的组成部分: 
①主包:bind-9.7.1-1.e15.i586.rpm 
该是一个例子 
blind是包名 
9.7.1是版本号 
e15.i586是平台架构 
②子包:bind-libs-9.7.1-1.e15.i586.rpm 
bind-utils-9.7.1-1.e15.i586.rpm

2)包名一般格式:name-version-release.arch 
name—>包名 
version—>版本号 
release—>发行号 
arch—>平台架构 
①例:blind-major.minor.release-release.arch.rpm 
②major:主版本号,重大改进 
③minor:次版本号,某个子功能发生重大变化 
④release:发行号,修正了某些bug,调整了一点功能

3)rpm包的格式: 
①二进制格式 
②源码格式

4)用uname {-a,-r}可以查看平台版本,内核版本

三、安装软件包

1、格式: 
1)rpm -i /PATH/TO/PACKAGE_FILE 
2)常用格式: 
rpm -ivh /PATH/TO/PACKAGE_FILE 
例子:rpm -ivh zsh-4.3.10-7.e16.x86_64.rpm

2、选项 
1)-h:以#来显示安装进度;每个#表示2%。 
2)-v:显示详细的安装过程。 
3)-vv:显示更加详细的安装过程。 
4)–nodeps:安装时忽略依赖关系。 
5)–force:强行安装,可以实现重装或者降级 
6)–replacepkgs:重新安装,替换原有安装。

四、查询软件包

1、格式: 
rpm -q /PACKAGE_NAME 
例子:rpm -q zsh

2、选项: 
1)-qa:查询已经安装的所有包 
例:rpm -qa 
2)-qi:查询指定包的说明信息(information) 
3)-ql:查询指定包安装后生成的文件列表(list) 
4)-qc:查询指定包安装的配置文件(configure) 
5)-qf /path/to/somefile :查询指定的文件由哪个rpm包安装生成的。 
例:rpm -qf /bin/ls 
6)-qd:查询指定包安装的帮助文件(document) 
7)-q –scripts PACKAGE_NAME:查询指定包中包含的脚本 
例:rpm -q –scripts bash(zsh) 
8)-p:如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件 
例:rpm -qp{i,l,c,d} /PATH/TO/PACKAGE_FILE

五、升级软件包

1、格式: 
1)rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE 
如果装有老版本的,则升级,否则,则安装 
2)rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE 
如果装有老版本的,则升级,否则,则退出

2、选项: 
1)–oldpackage:降级

六、卸载软件包

1、格式 
rpm -e PACKAGE_NAME

2、选项: 
1)–nodeps:无视依赖关系

七、校验

1、格式: 
rpm -V PACKAGE_NAME 
2、加密类型: 
1)对称加密 
2)公钥加密 
3)单向加密

3、校验来源合法性及软件包完整性 
1)sha1,md5:验证软件包完整性 
2)dsa,pgp:验证来源合法性,业即是验证签名。 
3)导入密钥文件格式: 
rpm –import /etc/pki/rpm-rgp/RPM-GPG-KEY-FILE

4、只验证软件包签名,不验证软件包合法性格式: 
rpm -K –nodigest /PATH/TO/PACKAGE_FILE

5、只验证软件包合法性,不验证软件包签名格式: 
rpm -K –nosignature /PATH/TO/PACKAGE_FILE

八、重建rpm数据库

1、rpm数据路在/var/lib/rpm目录下 
2、重建数据库格式: 
1)rpm –rebuilddb 
重建数据库,一定会重新建立 
2)rpm –initdb 
初始化数据库,没有才建立,有就不用建立

 

Linux中rpm命令用

rpm 是红帽(RedHat)软件包管理工具,实现类似于 Windows 中的添加/删除程序功能。下面,就来向大家介绍 rpm 命令的用法。

工具/原料

CentOS

一、rpm常用参数

二、rpm -ivh 软件包名

三、安装软件包并显示安装进度。这个是用得最多的了


软件包管理详解

rpm -qa

查询已经安装哪些软件包。

软件包管理详解

rpm -q 软件包名

查询指定软件包是否已经安装。

软件包管理详解

rpm -Uvh  软件包名

升级一个软件包。

软件包管理详解

 

rpm -e 软件包名

删除指定软件包。

软件包管理详解

END

二、rpm源代码包的安装

 .src.rpm结尾的文件由软件源代码文件组成,要安装此种 rpm包,需要用下面的命令。例如

rpm –recompile vim-4.6-4.src.rpm   这个命令将编译源代码,然后安装它。

软件包管理详解

而以下命令

rpm –rebuild vim-4.6-4.src.rpm

在安装之后,会把编译后的可执行文件再包装成RPM软件包,这样,下次安装时就可以直接安装RPM包而不用编译了。

软件包管理详解软件包管理详解

 

 

 

 

原创文章,作者:linux-qiao,如若转载,请注明出处:http://www.178linux.com/84428

(0)
上一篇 2017-08-11 20:46
下一篇 2017-08-11 21:40

相关推荐

  • 马哥教育网络班21期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离…

    Linux干货 2016-09-19
  • grep简述

    grep(Globel Search Regular Expression and Printing out the line) 它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep包括grep、egrep和fgrep。 egrep表示扩展的grep,相比grep支持更多的匹配模式, “grep -E”相当于egrep。 fgrep是fast gre…

    2017-04-06
  • shell脚本编程初步入门

    shell脚本编程初步入门    说到shell脚本编程,那我们就来先看下shell,shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统内核的一部分,但它调用了系统核…

    Linux干货 2016-08-15
  • H3C 设备监测命令大全 (v3)

    H3C 设备监测命令大全  display aaa unsent-h323-call-record  display acl      display alarm   urgent   display…

    Linux干货 2016-06-01
  • Hadoop实战实例

     Hadoop 是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同java程序员可以不考虑内存泄露一样, MapReduce的run-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器…

    Linux干货 2015-04-13
  • Centos6搭建vsftpd手册

    1、开启防火墙ftp端口vi /etc/sysconfig/iptables     #编辑防火墙配置文件 1 -A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT(允许21端口通过防火墙) 2 -A INPUT -m st…

    Linux干货 2017-04-26