linux系统下rpm包的安装、删除等
LinuxRPM包安装、卸载和升级(rpm命令)详解

LinuxRPM包安装、卸载和升级(rpm命令)详解
本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装、卸载和升级操作。
我们以安装apache 程序为例。
因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码包和 RPM 包的区别。
RPM包默认安装路径
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。
是测试页,如图 2 所示。
图 2 apache测试页
-e 选项表示卸载,也就是 erase 的首字母。
RPM 软件包的卸载命令支持使用“-nocteps”选项,即可以不检测依赖性直接卸载,但此方式不推荐大家使用,因为此操作很可能导致其他软件也无法征程使用。
Linux上安装和卸载rpm软件包的方法

Linux上安装和卸载rpm软件包的⽅法Linux上安装和卸载rpm软件包的⽅法如下所⽰:1.如何安装rpm软件包rmp软件包的安装可以使⽤程序rpm来完成。
执⾏下⾯的命令rpm -i your-package.rpm其中your-package.rpm是你要安装的rpm包的⽂件名,⼀般置于当前⽬录下。
安装过程中可能出现下⾯的警告或者提⽰:... conflict with ... 可能是要安装的包⾥有⼀些⽂件可能会覆盖现有的⽂件,缺省时这样的情况下是⽆法正确安装的可以⽤rpm --force -i 强制安装即可... is needed by ...... is not installed ... 此包需要的⼀些软件你没有安装可以⽤rpm --nodeps -i 来忽略此信息也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和⽂件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能2.如何安装.src.rpm软件包有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进⾏编译。
这类软件包有两种安装⽅法,⽅法⼀:执⾏rpm -i your-package.src.rpmcd /usr/src/redhat/SPECSrpmbuild -bp your-package.specs ⼀个和你的软件包同名的specs⽂件cd /usr/src/redhat/BUILD/your-package/ ⼀个和你的软件包同名的⽬录./configure 这⼀步和编译普通的源码软件⼀样,可以加上参数makemake install⽅法⼆:1.执⾏rpm -i you-package.src.rpm2. cd /usr/src/redhat/SPECS前两步和⽅法⼀相同3. rpmbuild -bb your-package.specs ⼀个和你的软件包同名的specs⽂件这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)在这个⽬录下,有⼀个新的rpm包,这个是编译好的⼆进制⽂件。
RPM 有五种基本的操作方式

RPM 大全RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证。
下面我们就来逐一的讲解吧。
一、安装RPM包RPM 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名。
其中包括软件包的名称(foo),版本号(1.0),发行号(1),和硬件平台(i386)。
安装一个软件包只需简单的键入以下命令:$ rpm -ivh foo-1.0-1.i386.rpmfoo ####################################RPM安装完毕后会打印出软件包的名字(并不一定与文件名相同),而后打印一连串的#号以表示安装进度。
虽然软件包的安装被设计的尽量简单易行,但还是可能会发生如下的错误:1、软件包已被安装如果您的软件包已被安装, 将会出现以下信息:$ rpm -ivh foo-1.0-1.i386.rpmfoo package foo-1.0-1 is already installederror: foo-1.0-1.i386.rpm cannot be installed如果您仍旧要安装该软件包,可以在命令行上使用--replacepkgs 选项,RPM将忽略该错误信息强行安装。
2、文件冲突如果您要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:# rpm -ivh foo-1.0-1.i386.rpmfoo /usr/bin/foo conflicts with file from bar-1.0-1error: foo-1.0-1.i386.rpm cannot be installed要想让RPM 忽略该错误信息,请使用--replacefiles 命令行选项。
3、未解决依赖关系RPM软件包可能依赖于其它软件包,也就是说要求在安装了特定的软件包之后才能安装该软件包。
如果在您安装某个软件包时存在这种未解决的依赖关系。
Linux下彻底删除安装的rpm包

Linux下彻底删除安装的rpm包
如何彻底Linux系统下安装的rpm包?现以mySQL为例进⾏介绍:
⼀、使⽤以下命令查看mysql安装情况
rpm -qa | grep -i mysql
可以看到以下结果:
根据结果可以看出以前安装了:
MySQL-server-5.6.25-1.e16.x86_64
mySQL-client-5.6.25-1.e16.x86_64
⼆、停⽌运⾏MySQL,删除运⾏的mysql
停⽌运⾏mysql命令:service mysql stop
删除命令:rpm -e ⽂件名
如果提⽰依赖包错误,可以尝试以下命令删除:
rpm -e ⽂件名 --nodeps
如果提⽰错误:error: %preun(xxxxxx) scriptlet failed, exit status 1
则⽤以下命令尝试:
rpm -e --noscripts ⽂件名
三、查找之前⽼版本mysql,并且删除⽼版本mysql的⽂件和库
命令:free / -name mysql
查看结果如下:
删除查找到的结果:
注意:卸载mysql后,配置⽂件不会删除,所以在这⾥还要删除配置⽂件:
命令:rm -rf /etc/f
四、查看查处后结果
输⼊命令:rpm -qa | grep -i mysql
没有查找到⽂件说明删除成功。
rpm命令常用参数

rpm命令常用参数在Linux系统中,RPM(RPM Package Manager)是一种软件包管理工具,它可以用来安装、升级、卸载软件包。
RPM包具有可移植性、可重用性和易于管理的特点,因此在Linux系统中广泛使用。
在使用RPM命令时,有许多参数可以使用,本文将介绍常用的参数。
1. -i(install)-i参数用于安装一个RPM包,通过指定包的名称或文件名,可以将其安装到系统中。
例如,要安装名为example.rpm的软件包,可以使用以下命令:rpm -i example.rpm2. -U(update)-U参数用于升级一个已安装的RPM包。
与-i参数类似,可以通过指定包的名称或文件名来升级它。
例如,要升级名为example.rpm 的软件包,可以使用以下命令:rpm -U example.rpm3. -e(erase)-e参数用于卸载一个已安装的RPM包。
与-i和-U参数类似,可以通过指定包的名称或文件名来卸载它。
例如,要卸载名为example.rpm的软件包,可以使用以下命令:rpm -e example.rpm4. -qa(query all)-qa参数用于列出系统中安装的所有RPM包。
例如,要列出系统中安装的所有RPM包,可以使用以下命令:rpm -qa5. -qf(query file)-qf参数用于查询一个文件属于哪个RPM包。
例如,要查询文件/usr/bin/ls属于哪个RPM包,可以使用以下命令:rpm -qf /usr/bin/ls6. -qi(query information)-qi参数用于查询一个RPM包的详细信息,包括版本、发布日期、安装日期等。
例如,要查询名为example.rpm的软件包的详细信息,可以使用以下命令:rpm -qi example.rpm7. -qR(query requirements)-qR参数用于查询一个RPM包所依赖的其他软件包。
例如,要查询名为example.rpm的软件包所依赖的其他软件包,可以使用以下命令:rpm -qR example.rpm8. -ql(query list)-ql参数用于列出一个已安装的RPM包所包含的所有文件。
rpm使用方法

rpm使用方法
RPM是一个软件包管理工具,用于在Linux操作系统中安装、升级和卸载软件包。
以下是使用RPM的一些常见方法:
1. 安装软件包:使用rpm命令安装软件包,例如:
`rpm -ivh packagename.rpm`
其中,-i参数表示安装,-v参数表示显示详细信息,-h参数表示显示进度条。
2. 升级软件包:使用rpm命令升级软件包,例如:
`rpm -Uvh packagename.rpm`
其中,-U参数表示升级,-v参数表示显示详细信息,-h参数
表示显示进度条。
3. 卸载软件包:使用rpm命令卸载软件包,例如:
`rpm -e packagename`
其中,-e参数表示卸载软件包。
4. 查询软件包信息:使用rpm命令查询软件包信息,例如:
`rpm -q packagename`
其中,-q参数表示查询软件包信息。
5. 列出所有安装的软件包:使用rpm命令列出所有已安装的软件包,例如:
`rpm -qa`
其中,-a参数表示列出所有软件包。
6. 列出软件包文件列表:使用rpm命令列出软件包中包含的所有文件,例如:
`rpm -ql packagename`
其中,-q参数表示查询软件包信息,-l参数表示列出软件包文件列表。
以上是使用RPM的一些常见方法,需要注意的是,在使用rpm命令时需要以root权限运行。
linux操作系统中rpm命令参数的使用详解

Linux操作系统中RPM命令参数的使用详解在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。
此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。
由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。
下面就给大家介绍一下它的具体使用方法。
[root@ford /root] # rpm -qa | more1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:rpm -qpi Linux-1.4-6.i368.rpm系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。
2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:rpm -qpl Linux-1.4-6.i368.rpm3.选择安装方式后,开始安装。
我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。
在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>命令即可。
5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>,注意:此时的文件名必须是要升级软件的升级补丁6.另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。
linux下查看已安装的软件与卸载

linux下查看已安装的软件与卸载因为linux安装软件的⽅式⽐较多,所以没有⼀个通⽤的办法能查到某些软件是否安装了。
总结起来就是这样⼏类:1、rpm包安装的,可以⽤rpm -qa看到,如果要查找某软件包是否安装,⽤ rpm -qa | grep “软件或者包的名字”。
[root@hexuweb102 ~] rpm -qa | grep ruby2、以deb包安装的,可以⽤dpkg -l能看到。
如果是查找指定软件包,⽤dpkg -l | grep “软件或者包的名字”;[root@hexuweb102~]dpkg-l|grepruby3、yum⽅法安装的,可以⽤yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”;[root@hexuweb102 ~] yum list installed | grep ruby4、如果是以源码包⾃⼰编译安装的,例如.tar.gz或者tar.bz2形式的,这个只能看可执⾏⽂件是否存在了,上⾯两种⽅法都看不到这种源码形式安装的包。
如果是以root⽤户安装的,可执⾏程序通常都在/sbin:/usr/bin⽬录下。
说明:其中rpm yum是Redhat系linux的软件包管理命令,dpkg是debian系列的软件包管理命令Linux软件的安装和卸载⼀直是困扰许多新⽤户的难题。
在Windows中,我们可以使⽤软件⾃带的安装卸载程序或在控制⾯板中的“添加/删除程序”来实现。
与其相类似,在Linux下有⼀个功能强⼤的软件安装卸载⼯具,名为RPM。
它可以⽤来建⽴、安装、查询、更新、卸载软件。
该⼯具是在命令⾏下使⽤的。
在Shell的提⽰符后输⼊rpm,就可获得该命令的帮助信息。
软件的卸载1.软件的卸载主要是使⽤rpm来进⾏的。
卸载软件⾸先要知道软件包在系统中注册的名称。
键⼊命令:#rpm -q -a即可查询到当前系统中安装的所有的软件包。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要使 RPM 在卸载此包时忽略该错误 (这不是个好办法,因为卸载后,与它有依赖关系的软件包未必
能正常运行), 使用 --nodeps 命令行选项。
3.2.3 升级
升级软件包和安装软件包十分类似。
# rpm -Uvh foo-2.0-1.i386.rpm
使用 RPM
RPM 有五个基本的操作 模式(不包括包的编译): 安装,卸载,升级,查询,校验。本节将对它们一
一介绍。要了解完整的细节和选项,可以使用 rpm --help, 或转到 the section called 其它 RPM
资源 得到更多关于 RPM 的信息。
1 安装
典型的 RPM 有着类似 foo-1.0-1.i386.rpm 这样的名称, 其中指明了包名 (foo), 版本号 (1.0),
foo
####################################
#
RPM 将自动卸载已安装的老版本的 foo 软件包,用户无法看到有关信息。事实上用户可能总是使用 -U 来安装软件包, 因为即便以往未安装过该软件包,也能正常运行。 因为 RPM 执行智能化的软件包升级,自动处理配置文件,会显示如下信息: saving /etc/foo.conf as /etc/foo.conf.rpmsave
发行号 (1), 和硬件平台 (i386)。安装一个软件包只需简单的键入以下命令:
# rpm -ivh foo-1.0-1.i386.rpm
foo
####################################
#
正如您所看到的, RPM 将会打印出软件包的名字 ( 并不一定要与文件名相同, 可能是 1.rpm), 而后 打印出一连串的 # 号以表示安装进度。
rpm -qc 配置文件
效验 rpm -Va rpm -Vf /bin/ls rpm -Vp 包名
5 -- MD5 校验和 S -- 文件长度 L -- 符号链接 T -- 文件修改日期 D -- 设备 U -- 用户 G -- 用户组 M -- 模式 (包含许可和文件类型) ? -- 不可读文件
详细课程
请注意 注意这里使用软件包的 名字 "foo" , 而不是原始软件包的 文件名 "foo-1.0-1.i386.rpm"。卸载
软件包时, 需要用原始包的实际文件名替换 foo 包名。
在卸载某个软件包时,可能会发生依赖关系错误,这说明其它包与此包之间有安装依赖关系。例如: # rpm -e foo removing these packages would break dependencies:
# rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
foo
####################################
#
文件冲突
如果要安装的软件包中有一个文件已在安装其它包时被安装,会显示以下信息:
# rpm -ivh foo-1.0-1.i386.rpm
foo
/usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed #
要想让 RPM 忽略该错误信息, 请使用 --replacefiles 命令行选项:
# rpm -ivh --replacefiles foo-1.0-1.i386.rpm
软件包已被安装
如果软件包已被安装, 会出现以下信息:
# rpm -ivh foo-1.0-1.i386.rpm
foo
package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
#
如果仍要安装该包, 可以在命令行中使用 --replacepkgs 选项, 这样 RPM 将忽略该错误信息:
安装软件包 rpm -i 包全名 删除 rpm -e name(不是包名) 参数 -ivh 获得一个详细的安装进程 --nodeps 忽略依赖关系 --force 强制安装 -U 包名:升级安装 -F 更新不管是什么直接覆盖 --replacepkgs 这样 RPM 将忽略该错误信息 -vih --replacepkgs -q name :查询 -qa 查询所有已安装的 RPM -qi name 查询这个软件详细信息 -ql 显示列表 -qf path :查询一个文件属于哪个包 -qp 包名 :查文件是什么 -qpl 包名 :针对一个没装过的包
foo is needed by bar-1.0-1 #
只有先安装完所依赖的软件包,才能解决这个问题。 如果想强制安装 (这不是个好办法,因为安装后 的软件包未必能正常运行), 可以使用 --nodeps 命令行选项。 3.2.2 卸载 卸载软件包就象安装软件包时一样简单: ###########################
#
未解决依赖关系 一个 RPM 包可能会 "依赖" 其它软件包, 也就是说要求在安装了特定的软件包之后才能安装该软件 包。 如果在安装这个软件包时未解决这种存在的依赖关系, 会看到: # rpm -ivh bar-1.0-1.i386.rpm failed dependencies:
这表示用户对配置文件的修改,不一定能 "向上兼容" 该软件包中的配置文件。 因此,RPM 会备份 原始的文件,再安装新文件。用户应当尽快解决这两个配置文件的不同之处,以便系统能持续正常运 行。 因为升级其实就是软件包的卸载与安装的综合,也可能会遇见那些操作中所可能发生的错误。 再有 就是: 在使用 旧 版本的 RPM 软件包来升级新版本的软件时,会产生以下信息: # rpm -Uvh foo-1.0-1.i386.rpm foo package foo-2.0-1 (which is newer) is already installed error: foo-1.0-1.i386.rpm cannot be installed #
请注意 尽管通常是使用 rpm -ivh foo-1.0-1.i386.rpm 来安装包, 但也可以用 rpm -Uvh
foo-1.0-1.i386.rpm 来替代。 -U 是包升级参数, 也可以用来安装新包。参看 升级 有关 RPM 中 -U 参数的详细使用情况。
软件包的安装设计非常简单, 但还是有可能发生以下错误: