RPM全称是“RedHatPackageManager”是由RedHat公司发发展起来的,本质是将软件源码包经过编译并且打包成rpm的格式,rpm文件包含的有二进制文件,配置文件,库文件等,同时RPM以一种数据库记录的方式将所需要的软件安装到linux系统上,优点是安装方便,缺点是只能安装在编译时默认的硬件与操作系统版本。
1.rpm包的版本说明
httpd-2.2.3-74.el5.centos.i386.rpm
#以此软件为例说明
httpd :软件名
2.2.3 :分别表示:主版本号-次版本号-修正版本号
74 :编译的次数
i386 :硬件平台
.rpm :扩展名
httpd-2.2.3-74.el5.centos.i386.rpm
格式:
软件名-版本号-编译次数-支持平台-.rpm
常见的硬件平台:
i386 i586 i686:32位 x86_64:64位 noarck:没有硬件等级的限制
2.rpm包的安装
#1.rpm包的安装需要是root用户才能进行
#2.rpm包安装后,该软件的相关信息会写入/var/lib/rpm下的数据库档案中,在版本升级,安装查询,数字签名等信息都会在这里查询
安装时常用的选项:
rpm -ivh package-name
-i :安装
-v :显示详细的安装信息
-h :显示安装进度
-vv :显示更详细的安装过程
--nodeps:忽略安装时软件的依赖性,也就是强制进行安装,往往造成软件安装后不可用
--replacepkgs :重新安装某个已经安装过的软件包,使用rpm -ivh *.rpm 时不会因个别软件包已安装过而中断
--test:测试某个软件包是否能安装在linux环境中
--justdb :更新软件在数据库内的信息
--prefix 目录 :指定安装路径,一般不用该参数,rpm默认安装
--force 强制安装
-K :验证软件包的签名
[root@zhu2 ~]# rpm -ivh a.rpm b.rpm c.rpm *.rpm
#同时安装多个软件包,当分不清软件包安装的先后顺序使用
3.rpm包的升级
-Uvh:后面接的软件即使没有安装过,则系统将予以直接安装,后面接的软件有安装过旧版,则系统自动更新至新版. rpm -Uivh *.rpm
-Fvh:如果后面接的软件没有安装过,则系统不会安装该软件;
后面接的软件有安装过旧版,则系统自动更新至新版
4.rpm包的查看
rpm的查询功能非常强大,查询的依据就是/var/lib/rpm目录下的数据库文件,不仅可以查询已安装的软件的信息,未安装的软件的信息也可查询。
rpm -q name :仅查询后面接的软件名称是否安装
rpm -qa :列出所有的已经安装在本机系统上面的所有软件名称
rpm -qa | grep name :查询某软件是否安装
rpm -qc name :列出该软件的配置文件(config)
rpm -qd :列出该软件的所有说明文件,即是与man有关的档案
rpm -qi name :列出软件的详细信息(information)
rpm -ql name :列出软件所有的档案与目录所在的完整文件名(list)
rpm -qf 文件名 :由后面接的文件名来找出该档案属于哪个已安装的软件(find)
rpm -qR name :列出与该软件有依赖行的软件所包含的档案
rpm -qpl :查找某个rpm软件包中所包含的文件
5.rpm包删除与数据库重建
5.1rpm包的删除
[root@zhu1 ~]# rpm -e vsftpd
warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave
[root@zhu1 ~]# rpm -q vsftpd
package vsftpd is not installed
# -e :删除软件
--nodeps :强制删除
5.2rpm包的数据库重建
[root@zhu1 ~]# rpm --rebuilddb
--initdb #初始化rpm包的数据库
--rebuilddb # 重建数据库
======================
RPM常用查询命令:
rpm -qa 列出所有已安装的rpm软件
rpm -qf filename 查询指定文件属于哪个rpm包
[root@rusky Packages]# rpm -qf /etc/vsftpd/
vsftpd-3.0.2-10.el7.x86_64
rpm -qi packagename 查询已软件包的信息
[root@rusky Packages]# rpm -qi vsftpd
Name : vsftpd
Version : 3.0.2
Release : 10.el7
Architecture: x86_64
Install Date: Sun 16 Oct 2016 10:25:32 PM CST
Group : System Environment/Daemons
Size : 355788
License : GPLv2 with exceptions
Signature : RSA/SHA256, Fri 28 Aug 2015 06:15:12 PM CST, Key ID 199e2f91fd431d51
Source RPM : vsftpd-3.0.2-10.el7.src.rpm
Build Date : Mon 03 Aug 2015 08:06:28 PM CST
Build Host : x86-021.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : https://security.appspot.com/vsftpd.html
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
rpm -ql packagename 查询指定软件包包含的文件
[root@rusky /]# rpm -ql zip
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/share/doc/zip-3.0
/usr/share/doc/zip-3.0/CHANGES
/usr/share/doc/zip-3.0/LICENSE
/usr/share/doc/zip-3.0/README
/usr/share/doc/zip-3.0/README.CR
/usr/share/doc/zip-3.0/TODO
/usr/share/doc/zip-3.0/WHATSNEW
/usr/share/doc/zip-3.0/WHERE
/usr/share/doc/zip-3.0/algorith.txt
/usr/share/man/man1/zip.1.gz
/usr/share/man/man1/zipcloak.1.gz
/usr/share/man/man1/zipnote.1.gz
/usr/share/man/man1/zipsplit.1.gz
rpm -qip software.rpm 查询rpm文件的信息
[root@rusky Packages]# rpm -qip vsftpd-3.0.2-10.el7.x86_64.rpm
Name : vsftpd
Version : 3.0.2
Release : 10.el7
Architecture: x86_64
Install Date: (not installed)
Group : System Environment/Daemons
Size : 355788
License : GPLv2 with exceptions
Signature : RSA/SHA256, Fri 28 Aug 2015 06:15:12 PM CST, Key ID 199e2f91fd431d51
Source RPM : vsftpd-3.0.2-10.el7.src.rpm
Build Date : Mon 03 Aug 2015 08:06:28 PM CST
Build Host : x86-021.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : https://security.appspot.com/vsftpd.html
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
rpm -qilp software.rpm 查询rpm文件包含的文件
[root@rusky Packages]# rpm -qilp vsftpd-3.0.2-10.el7.x86_64.rpm
Name : vsftpd
Version : 3.0.2
Release : 10.el7
Architecture: x86_64
Install Date: (not installed)
Group : System Environment/Daemons
Size : 355788
License : GPLv2 with exceptions
Signature : RSA/SHA256, Fri 28 Aug 2015 06:15:12 PM CST, Key ID 199e2f91fd431d51
Source RPM : vsftpd-3.0.2-10.el7.src.rpm
Build Date : Mon 03 Aug 2015 08:06:28 PM CST
Build Host : x86-021.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : https://security.appspot.com/vsftpd.html
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/vsftpd@.service
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-3.0.2
/usr/share/doc/vsftpd-3.0.2/AUDIT
/usr/share/doc/vsftpd-3.0.2/BENCHMARKS
/usr/share/doc/vsftpd-3.0.2/BUGS
/usr/share/doc/vsftpd-3.0.2/COPYING
/usr/share/doc/vsftpd-3.0.2/Changelog
/usr/share/doc/vsftpd-3.0.2/EXAMPLE
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/hosts.allow
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_HOSTS
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_HOSTS/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/logins.txt
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS_2
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS_2/README
/usr/share/doc/vsftpd-3.0.2/FAQ
/usr/share/doc/vsftpd-3.0.2/INSTALL
/usr/share/doc/vsftpd-3.0.2/LICENSE
/usr/share/doc/vsftpd-3.0.2/README
/usr/share/doc/vsftpd-3.0.2/README.security
/usr/share/doc/vsftpd-3.0.2/REWARD
/usr/share/doc/vsftpd-3.0.2/SECURITY
/usr/share/doc/vsftpd-3.0.2/SECURITY/DESIGN
/usr/share/doc/vsftpd-3.0.2/SECURITY/IMPLEMENTATION
/usr/share/doc/vsftpd-3.0.2/SECURITY/OVERVIEW
/usr/share/doc/vsftpd-3.0.2/SECURITY/TRUST
/usr/share/doc/vsftpd-3.0.2/SIZE
/usr/share/doc/vsftpd-3.0.2/SPEED
/usr/share/doc/vsftpd-3.0.2/TODO
/usr/share/doc/vsftpd-3.0.2/TUNING
/usr/share/doc/vsftpd-3.0.2/vsftpd.xinetd
/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub
[root@rusky Packages]#
将RPM包安装到指定目录下:
#rpm -ivh --prefix=/home/lxj/java jdk-8u60-linux-x64.rpm
将 jdk-8u60-linux-x64.rpm 安装到 /home/lxj/java 目录下。