软件包管理详解

 

软件包管理器

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)
linux-qiaolinux-qiao
上一篇 2017-08-11
下一篇 2017-08-11

相关推荐

  • shell编程之条件判断和find查询

    使用read 来把输入值分配给一个或多个shell 变量: -p 指定要显示的提示 -t TIMEOUT read 从标准输入中读取值,给每个单词分配一个变量 所有剩余单词都被分配给最后一个变量 read -p “Enter a filename: “ FILE   条件选择if语句  多分支 if  CONDITION1 ; …

    Linux干货 2016-08-18
  • Linux用户、组管理和正则表达式的基础命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何权限 [root@localhost skel]# cp -r /etc/skel /home/tuser1 [root@localhost skel]# ls -al /home/tuser1 total 12 drwxr-xr-x.…

    Linux干货 2017-07-20
  • rhel6.7安装pymssql(通过Python连接MSsql数据库)

    依赖安装: freetds、python-devel、cython、Python3.x 1、安装freetds tar -jxvf freetds-dev.0.99.134.tar.bz cd freetds-dev.0.99.134 ./configure –prefix=/usr/local/freetds&nb…

    Linux干货 2016-05-23
  • 马哥教育网络班第21期+第三周课程作业

    1. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | awk  '{print $1}'|uniq 2.列出最后登录到当前系统的用户的相关信息 last | head -1   3. 读取当前系统上被用户当做其默认shell最多的那个shell cat /etc/pa…

    Linux干货 2016-07-26
  • 马哥教育网络班21期+第19周课程练习

    1、描述Tomcat的架构; Tomcat组件,分为4类: 顶层类组件:包括<Server>元素和<Service>元素,它们位于整个配置文件的顶层; 连接器类组件:为<Connector>元素,代表介于客户端与服务器端之间的通信接口,负责将客户端的请求发送给服务器端,并将服务器的响应结果返回给客户端; 容器类组件:代表处…

    Linux干货 2016-12-05
  • LVM组件详解&创建实验流程

       前言:根据前面的学习我们知道,一个磁盘一旦分完区并且格式化后,其空间大小是没有办法进行调整了。因此推出了LVM(Logical Volume Manager)逻辑卷管理机制,LVM重点在于可以弹性的调整文件系统的容量!并非在于性能和数据保全方面,需要文件的读写性能或者数据的可靠性,需要用到RAID。而LVM可以整合多个物理…

    Linux干货 2016-08-30