rpm 命令(Linux中RPM 命令)

Linux中RPM 命令

1.rpm -qa ##在(终端)屏幕上显示系统已经安装的rpm包
2. | 是管道符号,就是把本来应该输出到(终端)屏幕的内容,重导到 下一个程序(grep)
3. grep 文本搜索工具(支持正则表达式),在例子中的意思就是:如果某一行包含dhcp那么把 这行输出(到终端/屏幕)

请问 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包,在安装时
需要进行编译。这类软件包有两种安装方法,
方法一:
1.执行rpm -i your-package.src.rpm
2. cd /usr/src/redhat/SPECS
3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件
4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
5. ./configure 这一步和编译普通的源码软件一样,可以加上参数
6. make
7. make install
方法二:
1.执行rpm -i you-package.src.rpm
2. cd /usr/src/redhat/SPECS
前两步和方法一相同
3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)
在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
执行rpm -i new-package.rpm即可安装完成。
3.如何卸载rpm软件包
使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm
比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:
rpm -e proftpd-1.2.8-1
rpm -e proftpd-1.2.8
rpm -e proftpd-
rpm -e proftpd
不可以是下列格式:
rpm -e proftpd-1.2.8-1.i386.rpm
rpm -e proftpd-1.2.8-1.i386
rpm -e proftpd-1.2
rpm -e proftpd-1
有时会出现一些错误或者警告:
… is needed by … 这说明这个软件被其他软件需要,不能随便卸载
可以用rpm -e –nodeps强制卸载
4.如何不安装但是获取rpm包中的文件
使用工具rpm2cpio和cpio
rpm2cpio xxx.rpm | cpio -vi
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio xxx.rpm | cpio –extract –make-directories
参数i和extract相同,表示提取文件。v表示指示执行进程
d和make-directory相同,表示根据包中文件原来的路径建立目录
m表示保持文件的更新时间。
5.如何查看与rpm包相关的文件和其他信息
下面所有的例子都假设使用软件包mysql-3.23.54a-11
1.我的系统中安装了那些rpm软件包
rpm -qa 讲列出所有安装过的包
如果要查找所有安装过的包含某个字符串sql的软件包
rpm -qa |grep sql
2.如何获得某个软件包的文件全名
rpm -q mysql 可以获得系统中安装的mysql软件包全名,从中可以获得
当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-11
3.一个rpm包中的文件安装到那里去了?
rpm -ql 包名
注意这里的是不包括.rpm后缀的软件包的名称
也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。
如果只是想知道可执行程序放到那里去了,也可以用which,比如
which mysql
4.一个rpm包中包含那些文件
一个没有安装过的软件包,使用rpm -qlp ****.rpm
一个已经安装过的软件包,还可以使用rpm -ql ****.rpm
5.如何获取关于一个软件包的版本,用途等相关信息?
一个没有安装过的软件包,使用rpm -qip ****.rpm
一个已经安装过的软件包,还可以使用rpm -qi ****.rpm
6.某个程序是哪个软件包安装的,或者哪个软件包包含这个程序
rpm -qf `which 程序名` 返回软件包的全名
rpm -qif `which 程序名` 返回软件包的有关信息
rpm -qlf `which 程序名` 返回软件包的文件列表
注意,这里不是引号,而是`,就是键盘左上角的那个键。
也可以使用rpm -qilf,同时输出软件包信息和文件列表
7.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件
注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以
用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。
首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:
# whereis ftptop
ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz
# rpm -qf /usr/bin/ftptop
proftpd-1.2.8-1
# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt
proftpd-1.2.8-1

举例说明使用RPM 命令安装、升级、删除、查询、校验软件包的方法有哪些

1.rpm命令
1.CentOS系统上rpm命令管理程序包:安装、升级、卸载、查询和校验、数据库维护
2.rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
1)安装:-i, –install
2)升级:-U, –update, -F, –freshen
3)卸载:-e, –erase
4)查询:-q, –query
5)校验:-V, –verify
6)数据库维护:–builddb, –initdb
2.rpm安装
1.rpm {-i|–install} [install-options] PACKAGE_FILE …
1)通常使用-i选项(安装)
2)-v选项显示详细信息
3)-h选项:hash marks输出进度条;每个#表示2%的进度
4 -vv:显示更详细的信息
在这里插入图片描述
5)- -test:测试安装,检查并报告依赖关系及冲突消息等,并不会真的安装
在这里插入图片描述
6)- -nodeps:忽略依赖关系;不建议
在这里插入图片描述
7)- -replacepkgs:重新安装
在这里插入图片描述
8)- -nosignature:不检查包签名信息,不检查来源合法性
在这里插入图片描述
9)- -nodigest:不检查包完整性信息
在这里插入图片描述
3.rpm可以自带脚本
1.四类:- -noscripts(四类都不执行)
在这里插入图片描述
1)preinstall:安装过程开始之前运行的脚本,%pre , –nopre选项不执行
2)postinstall:安装过程完成之后运行的脚本,%post , –nopost选项不执行
3)preuninstall:卸载过程真正开始执行之前运行的脚本,%preun, –nopreun 选项不执行
4)postuninstall:卸载过程完成之后运行的脚本,%postun , –nopostun选项不执行
4.升级
1.一般使用rpm -Uvh或-Fvh**{-U|–upgrade}/ {-F|–freshen}** [install-options] PACKAGE_FILE …
-U选项:升级或安装
[root@sakura Packages]# rpm -ivh adcli-0.8.1-3.el7.x86_64.rpm
准备中… ################################# [100%]
正在升级/安装…
1:adcli-0.8.1-3.el7 ################################# [100%]
[root@sakura Packages]# rpm -Uvh /root/adcli-0.8.1-6.el7.x86_64.rpm
准备中… ################################# [100%]
正在升级/安装…
1:adcli-0.8.1-6.el7 ################################# [ 50%]
正在清理/删除…
2:adcli-0.8.1-3.el7 ################################# [100%]
2)-F选项:仅升级,若未安装则不会升级
3)- -oldpackage:降级选项
4)- -force:强制升级
ps:1.不要对内核进行升级操作,linux支持多内核版本并存,可以直接安装新版本内核
2.如果某源程序包的配置文件安装后被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供。

简述RPM命令的作用

1.安装一个包
# rpm -ivh
2.升级一个包
# rpm -Uvh
3.移走一个包
# rpm -e
4.安装参数
–force 即使覆盖属于其它包的文件也强迫安装
–nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
5.查询一个包是否被安装
# rpm -q 《 rpm package name》
6.得到被安装的包的信息
# rpm -qi 《 rpm package name》
7.列出该包中有哪些文件
# rpm -ql 《 rpm package name》
8.列出服务器上的一个文件属于哪一个RPM包
#rpm -qf
9.可综合好几个参数一起用
# rpm -qil 《 rpm package name》
10.列出所有被安装的rpm package
# rpm -qa
11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?
# rpm -qilp 《 rpm package name》

linux 下如何安装rpm命令

1、执行命令“cd /home”进入服务器根目录home。

2、打开电脑桌面的xftp客户端,上传rpm安装包到服务器根目录home里面。

3、执行命令“ls”查看/home目录下的文件。

4、执行命令“rpm -ivh postgresql96-libs-9.6.15-1PGDG.rhel6.x86_64.rpm”安装第一个rpm包。

5、执行命令“ rpm -ivh postgresql96-9.6.15-1PGDG.rhel6.x86_64.rpm ”安装第二个rpm包。

Linux中rpm和yum命令的异同点是什么

Linux中rpm和yum命令有相似之处但是也有根本区别,具体异同点如下。

一、相同点

rpm和yum命令都是软件包管理器,是用于互联网下载包的打包及安装工具。它们的操作系统都是Fedora Linux。

二、不同点

1、安装程序不同

RPM文件在Linux系统中的安装最为简便。以著名的图像处理软件XV为例,其RPM包xv-3.10a-13.i386.rpm可以在该程序的主页中下载取得。如果连网速度足够快,可以直接从网络上安装应用软件,只需要在软件的文件名前加上适当的URL路径。作为一个软件包管理工具,RPM管理着系统已安装的所有RPM程序组件的资料,因此可以使用RPM来卸载相关的应用程序。

可供Yum下载的软件包包括Fedora本身的软件包以及源自rpmfusion和rpm.的Fedora Extras,全部是由Linux社区维护的,并且基本是自由软件。所有的包都有一个独立的PGP签名,主要是为了用户的系统安全。而对于Fedora core 4.0 的用户,rpm.的签名是自动导入并安装的。

2、两者优点不同

Yum是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系。它可以自动解决依赖关系,也可以对rpm进行分组,基于组进行安装操作。引入仓库概念,支持多个仓库并且配置简单。  yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的统一的网络仓库。

RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。RPM通过将代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。针对不同的系统设定不同的安装包。并且它的组件查询功能和验证功能十分出色。

3、两者硬件描述不同

RPM是高通专用的硬件引擎,用于管理共享的SoC(系统级芯片)相关资源,其中包括总线,时钟,电源轨等。RPM的目标是满足SoC的操作和性能要求的同时实现最大的功率节省。RPM接受多个RPM主控的资源请求。仲裁和聚合请求,并配置共享资源。RPM的主控方有应用处理器,调制解调处理器,以及一些硬件加速器。

RPM包含内部逻辑,用来聚合和仲裁不同RPM主控方的请求。它同PMIC,总线仲裁模块,以及时钟控制模块都有接口,以便配置共享资源。

而yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

扩展资料

软件包的构成和分类

一、构成

可分为应用软件包和系统软件包两大类。应用软件包与特定的应用领域有关,又可分为通用包及专用包两类。通用软件包根据社会的一些共同需求开发,专用软件包则是生产者根据用户的具体需求定制的,可以为适合其特殊需要进行修改或变更。

软件包既可以是源代码形式,也可以是目标码形式。用户手册和指南等文档是软件包的重要组成部分。此外,软件包的维护及技术支持也是非常必要的。

软件包在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础;只有学会软件包的管理才能谈得上其它的应用。管理软件包需要了解文档格式、更新软件包、查询相对的文档,以及熟悉几个常用的软件包管理工具,比如system-cofig-packages 、yum 、ppapt等。

二、分类

分成Linux、BSD系统和Windows系统

在Linux、BSD系统中,软件包主要以两种形式出现:二进制包以及源代码包。 主要的二进制包格式有rpm、deb、Autopackage。源代码包则主要适用于自由软件的安装,用户需要自己编译它们。对于Windows系统,在Windows中,软件包大多数以安装程序的方式出现,可以将软件安装在制定的目录中,也有直接使用压缩工具打包的,解压缩之后便可运行。

参考资料来源:百度百科-RPM (RPM软件包管理器)

参考资料来源:百度百科-yum


linux中RPM命令删除软件问题

1、首先在linux中输入rpm -ivh 软件包名,安装软件包并显示安装进度。

2、接着输入rpm -qa,可以查询已经安装哪些软件包。

3、然后输入rpm -q 软件包名,可以查询指定软件包是否已经安装。

4、接着输入rpm -Uvh 软件包名,可以升级一个软件包。

5、最后输入rpm -e 软件包名,删除指定软件包。

关于LINUX中的rpm命令

是啊。rpm -qa 是判断软件包是否存在的命令啊,安装是rpm -ivh 包全名
升级一个软件包:rpm -Uvh 包全名
卸载一个软件包:rpm -e 包名 卸载时只需要包名即可。
查询一个包是否安装:rpm -q 包名即可
查询所有已经安装的包:rpm -qa | wc -l
查看一个已经安装包信息:rpm -qi 包名
查看一个未安装包的信息: rpm -qp 包全名
查看一个已经安装包的文件安装位置:rpm -ql 包名
查看一个系统文件属于哪一个包: rpm -qf 系统文件名 例子:rpm -qf /bin/ls
查看一个包的依赖关系:rpm -qR 包名 rpm -qRp 包全名 查看一个未安装包的依赖关系
更多关于rpm 的实际应用,请参考书籍《linux就该这么学》

linux rpm 命令参数 什么意思

RPM是Redhat系列的linux的后端软件包管理器,主要负责软件包的操作,缺点就是依赖关系必须要客户手动管理,现在普通使用前端的软件包管理器YUM,他可以通过配置的软件包仓库的元文件自动处理依赖关系安装软件包,实现自动化安装的效果
RPM共有10种基本的模式:它们是安装、查询、验证、删除等。
安装模式:rpm–i
查询模式:rpm–q
验证模式:rpm–V或–verify
删除模式:rpm–e
1.安装一个包
#
rpm
-ivh
2.升级一个包
#
rpm
-Uvh
3.移走一个包
#
rpm
-e
4.安装参数
–force
即使覆盖属于其它包的文件也强迫安装
–nodeps
如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
5.查询一个包是否被安装
#
rpm
-q

rpm
package
name》
6.得到被安装的包的信息
#
rpm
-qi

rpm
package
name》
7.列出该包中有哪些文件
#
rpm
-ql

rpm
package
name》
8.列出服务器上的一个文件属于哪一个RPM包
#rpm
-qf
9.列出所有被安装的rpm
package
#
rpm
-qa(一般结合GREP使用)