标签:下载 代码 多个 速度 i386 类别 mod_ssl 不同 识别
Linux下的软件包分为源码包和二进制包
源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。安装时会进行编译,比较耗时,容易出错。
二进制包,也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快(同 Windows下安装软件速度相当),且安装过程报错几率大大减小。
二进制包是 Linux 下默认的软件安装包,因此二进制包又被称为默认安装软件包。目前主要有以下 2 大主流的二进制包管理系统:
以下是使用rpm命令管理apm二进制软件包的说明。
通常情况下,RPM 包采用系统默认的安装路径,所有安装文件会按照类别分散安装到表 1 所示的目录中。
安装路径 | 含 义 |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序所使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
RPM 包的默认安装路径是可以通过命令查询的。
除此之外,RPM 包也支持手动指定安装路径,但此方式并不推荐。因为一旦手动指定安装路径,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需要进行手工配置才能被系统识别),得不偿失。
rpm -ivh 包全名
注意一定是包全名。涉及到包全名的命令,一定要注意路径,可能软件包在光盘中,因此需提前做好设备的挂载工作。
此命令中各选项参数的含义为:
一次性安装多个软件包,仅需将包全名用空格分开即可
rpm -ivh a.rpm b.rpm c.rpm
rpm -Uvh 包全名
-U(大写)选项的含义是:如果该软件没安装过则直接安装;若没安装则升级至最新版本。
rpm -Fvh 包全名
-F(大写)选项的含义是:如果该软件没有安装,则不会安装,必须安装有较低版本才能升级。
rpm -e 包名
RPM 软件包的卸载要考虑包之间的依赖性。例如,我们先安装的 httpd 软件包,后安装 httpd 的功能模块 mod_ssl 包,那么在卸载时,就必须先卸载 mod_ssl,然后卸载 httpd,否则会报错。
rpm -q 包名
-q 表示查询,是 query 的首字母。
如果已经安装直接返回包全名, 如果没有安装则提示没有安装。注意使用此命令 包名必须完全正确
[root@localhost vagrant]# rpm -q httpd httpd-2.4.6-89.el7.centos.1.x86_64 [root@localhost vagrant]# rpm -q httpddd package httpddd is not installed
rpm -qa
此命令列出所有已经安装的软件包,通常配合grep一起使用,可以查询已经安装的包含某些关键字的软件包。如下
[root@localhost ~]# rpm -qa | grep httpd httpd-devel-2.2.15-15.el6.centos.1.i686 httpd-tools-2.2.15-15.el6.centos.1.i686 httpd-manual-2.2.15-15.el6.centos.1.noarch httpd-2.2.15-15.el6.centos.1.i686
rpm -qi 包名
-i 选项表示查询软件信息,是 information 的首字母。
只使用 -q 只返回包全名, 使用 -qi 可以返回软件包的详细信息。 如果软件未安装,则提示未安装。查询的包名必须完全正确。
[root@localhost vagrant]# rpm -qi httpd Name : httpd Version : 2.4.6 Release : 89.el7.centos.1 Architecture: x86_64 Install Date: Thu 12 Sep 2019 06:17:11 AM UTC Group : System Environment/Daemons Size : 9817317 License : ASL 2.0 Signature : RSA/SHA256, Wed 31 Jul 2019 03:37:23 AM UTC, Key ID 24c6a8a7f4a80eb5 Source RPM : httpd-2.4.6-89.el7.centos.1.src.rpm Build Date : Mon 29 Jul 2019 05:21:18 PM UTC Build Host : x86-02.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://httpd.apache.org/ Summary : Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and extensible web server. [root@localhost vagrant]# rpm -qi http package http is not installed
rpm -qip 绝对路径+包全名
-p 选项表示查询下载好的软件包,是 package 的首字母。
如果软件包已经下载了,但还没有安装时,要查询相关信息,可以使用此命令
注意,这里用的是包全名,且未安装的软件包需使用“绝对路径+包全名”的方式才能确定包。
rpm -ql 包名
-l 选项表示列出软件包所有文件的安装目录。
rpm -qlp 绝对路径+包全名
-p 选项表示查询未安装的软件包信息,是 package 的首字母。
如果想要看一下某个软件包包含哪些文件,但此软件包还没有安装时可以使用此命令。如果已经安装了使用-ql会更加简洁。
由于软件包还未安装,因此需要使用“绝对路径+包全名”的方式才能确定包。
[root@localhost ~]# rpm -qlp /mnt/cdrom/Packages/bind-9.8.2-0.10.rc1.el6.i686.rpm /etc/NetworkManager/dispatcher.d/13-named /etc/logrotate.d/named /etc/named /etc/named.conf /etc/named.iscdlv.key /etc/named.rfc1912.zones …省略部分输出…
rpm -ql 命令是通过软件包查询所含文件的安装路径,rpm 还支持反向查询,即查询某系统文件所属哪个 RPM 软件包。其命令格式如下
rpm -qf 系统文件名
-f 选项的含义是查询系统文件所属哪个软件包,是 file 的首字母。
注意,只有使用 RPM 包安装的文件才能使用该命令,手动方式建立的文件无法使用此命令。
[root@localhost etc]# rpm -qf /etc/php.ini
php-common-7.3.9-1.el7.remi.x86_64
使用 rpm 命令安装 RPM 包,需考虑与其他 RPM 包的依赖关系。rpm -qR 命令就用来查询某已安装软件包依赖的其他包,该命令的格式为:
rpm -qR 包名
-R(大写)选项的含义是查询软件包的依赖性,是 requires 的首字母。
rpm -qRp 绝对路径+包全名
如下
rpm -qRp /mnt/cdrom/Packages/bind-9.8.2-0.10.rc1.el6.i686.rpm
p 指的是下载好的软件包(package),这个软件包可能已经安装了,也可能没有安装。后面跟的已下载的软件包的保存路径
注意,前面说的包名和包全名不是一回事。包名是包全名的一部分。
包全名的命名规则
包名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名
用户通过名称就可以直接获取这类包的版本、适用平台等信息。
例如,RPM 包的名称是httpd-2.2.15-15.el6.centos.1.i686.rpm
,其中:
主版本号.次版本号.修正号
。平台名称 | 适用平台信息 |
---|---|
i386 | 386 以上的计算机都可以安装 |
i586 | 686 以上的计算机都可以安装 |
i686 | 奔腾 II 以上的计算机都可以安装,目前所有的 CPU 是奔腾 II 以上的,所以这个软件版本居多 |
x86_64 | 64 位 CPU 可以安装 |
noarch | 没有硬件限制 |
标签:下载 代码 多个 速度 i386 类别 mod_ssl 不同 识别
原文地址:https://www.cnblogs.com/gaoBlog/p/11655563.html