linux下rpm软件包管理命令详解

1.linux下软件的基本概念

程序需要用到的重要文件:配置文件,指令,库文件,帮助信息

/etc, /bin, /sbin, /lib,/usr/share/man

1.1.系统启动需用到的程序路径,必须在根文件系统的分区上

/etc, /bin, /sbin, /lib,/usr/share/man

1.2.系统启动后需用到的操作作系统核心功能或必要功能程序路径

/etc,/usr/bin,/usr/sbin/,/usr/lib,/usr/share/man

1.3.用户安装的第三方程序所需附加功能程序路径,与操作系统启动等无关

/usr/local/etc,/usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/man

2.rpm叫软件包管理器

rpm包由主包和子包组成,命名格式如下

name-version-release2.arch.rpm

version:major.minor.release1

即name-major.minor.release1-release2.arch.rpm

如:kernel-2.6.18-308.el5.i686.rpm

name:包名-->kernel

major代表:主版本号,有重大改进--->2

minor代表:次版本号,某个子功能发生重大变化--->6

release1代表发行号,修正了部分bug,调整了一点功能--->18

release2代表二次发行版本--->308

arch:平台--->i686

rpm包:是作者下载源程序,编译配置完成后,制作成rpm包,属于二进制格式

3.安装,需自行处理rpm包之间依赖关系

格式:rpm -i rpm包完整路径名

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

-v: 显示详细过程

-vv: 更详细的过程

rpm -ivh rpm包完整路径名

--nodeps: 忽略依赖关系;

--replacepkgs: 重新安装,替换原有安装;

--oldpackage: 降级

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

4.查询

格式:rpm -q 仅rpm包名: 查询指定的包是否已经安装

例如:rpm -q httpd

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

rpm -qi 仅rpm包名: 查询指定包的说明信息;

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

rpm -qc 仅rpm包名:查询指定包安装的配置文件;

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

rpm -q --scripts 仅rpm包名: 查询指定包中包含的脚本

rpm -qf 特定文件路径名: 查询指定的文件是由哪个rpm包安装生成的;

例如:rpm -qf /etc/passwd

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

格式:rpm -qpi  rpm包完整路径名 查询没有安装的包的说明信息;

rpm -qpl  rpm包完整路径名 查询没有安装的包要生成的文件列表

5.升级

格式:rpm -Uvh rpm包完整路径名: 如果装有老版本的,则升级;否则,则安装;

rpm -Fvh rpm包完整路径名:如果装有老版本的,则升级;否则,退出;

--oldpackage: 降级

6.卸载

格式:rpm -e 仅rpm包名

--nodeps

例如:rpm -e httpd

7.校验:安装后的包是否被人修改过

格式:rpm -V 仅rpm包名

例如:rpm -V httpd  如果没有返回信息,证明安装包正常没有被人修改

8.检验来源合法性,及软件包完整性;

Redhat公钥存放路径:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 导入密钥文件

rpm -K rpm包完整路径名

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

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

例如:rpm -K httpd-2.2.3-63.el5.i386.rpm

rpm -K --nodigest httpd-2.2.3-63.el5.i386.rpm

9.重建数据库

rpm --rebuilddb: 重建数据库,一定会重新建立;

--initdb:初始化数据库,有则不建立,没有则建立

时间: 2024-08-02 19:20:23

linux下rpm软件包管理命令详解的相关文章

使用RPM软件包管理命令详解

RPM软件包是各种Linux发行版本中应用较为广泛的软件包之一.RPM软件包以其强大的功能得到了多数Linux发行版本的支持和广大Linux使用者的爱护. RPM软件包管理机制最早是由 Red Hat公司提出的,后来随着版本的升级逐渐融入更多的优秀特性,称为众多Linux发行版中公认的软件包管理标准,官方站点https://www.rpm.org 使用RPM软件包管理器通过建立统一的文件数据库,对在Linux操作系统中安装.卸载.升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的

Linux学习笔记—— 用户管理命令详解

 用户管理命令详解  用户管理: useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage 添加用户: useradd [options] USERNAME    -u (UID)   手动指定UID -g (GID)  (基本组) -G, ...     (附加组) 可以有多个,彼此之间用,号隔开 -c "COMMENT"         注释信息     -d /path/to/somedirectory  指定家目录 -s

Linux下的压缩解压缩命令详解

zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文件中smart.txt文件z

Linux下的压缩解压缩命令详解及实例

实例:压缩当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ============================ 另:有些服务器没有安装zip包执行不了zip命令,但基本上都可以用tar命令的,实例如下: tar -zcvf /home/zdzlibs.tar.gz /home/zdz/java/zdzlibs/ ============================ linux zip命令 zip -

linux下压缩和解压命令详解

tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的参数是根据需要在压缩或解压档案时可选的. -z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名. # tar -cf all.tar *.jpg

Linux下的tr编辑器命令详解

通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符.您也可以用它来除去重复字符.这就是所有 tr 所能够做的. 命令格式 tr [option] ["string1"] ["string2"] < file  常用的选项有:默认选项.就是没有任何选项的时候,tr默认为替换操作,就是将string1在文件中出现的字符替换为string2中

Linux下tar压缩解压缩命令详解

tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的参数是根据需要在压缩或解压档案时可选的. -z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名. # tar -cf all.tar *.jp

Linux下shell中case命令详解(常规的break、无条件继续和有条件继续)

linux下shell中的case名字和C/C++中的switch类似,但是shell中的case更强大和复杂. 1.强大主要体现在:shell中case中的关键字可以是字符串类型,而每一项中可以包含正则表达式. 2.复杂主要体现在:shell中case的每一个项后有三个选择:break(常规的break).unconditional follow up(无条件继续)和conditional follow up(有条件继续). 这篇文章的重点是上面的第2点. case的无条件继续和有条件继续是b

linux下find和grep命令详解

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以