Linux RPM安装及查找下载(--推荐个软件仓库)
1.安装文件包
Linux 开发商先在固定的硬件平台与操作系统平台上面,将需要安装或升级的软件编译好,然后将这个软件的所有文件打包成一个特殊格式的文件,在这个软件文件内,还包含了预先侦测系统与相依软件的脚本,并提供记载该软件提供的所有文件信息。客户端取得这个软件后,只要透过特定的指令来安装,那么该软件文件就会依照内部的脚本来检查侦测安装环境,且在符合要求的条件下,会进一步开始安装,安装完成后,还会自动将该软件的信息写入到软件管理机制中,以便将来进行升级或移除等操作。
2.Linux常见的两种安装方式
*dpkg
*RPM
distribution代表 | 软件管理机制 | 使用指令 | 在线升级机制(指令) |
Red Hat / Fedora | RPM | rpm,rpmbuild | YUM(yum) |
Debian / Ubuntu | DPKG | dpkg | APT(apt-get) |
3.RPM
RPM 全名是【RedHat Package Manager】。
其特点要安装的软件已编译过,所以其优点(1)由于已经编译完成并且打包完毕,所以软件的传输与安装都很方便;(2)由于已安装的软件信息都记录在Linux主机的数据库上,方便查询、升级与移除。
缺点就是:数据已经编译完成,所以,该软件文件几乎只能安装在原本默认的硬件与操作系统中。即:(1)软件文件的安装的环境必须与打包的环境需求一致或相当;(2)需要满足软件的相依属性要求;(3)移除(卸载)时,要特别小心,最底层的软件不可以移除,否则可能造成整个系统的问题。
补充:
SRPM (Source RPM),也就是RPM文件里面的源码文件,没有经过编译的,不可以直接安装。可以根据需要,先修改SRPM内的参数配置文件,然后重新编译产生适合需要的RPM文件。SRPM的文件名格式为xxx.src.rpm。
4.命名格式
例如rp-shengda- 3.11-5.el7.x86_64.rpm这个软件
rp-shengda - 3.11 - 5 .el7.x86_64 .rpm 软件名称 软件的版本信息 释放的次数 适合的软件平台 扩展名 |
*软件名称
*版本信息: 上面的3代表大版本号;11代表小版本号
*释出版本次数:同一个版的软件中,也可能有某个功能完善,进行小幅度的patch
*操作硬件平台:x86_84-----针对64位的CPU进行优化编译设定(intel及AMD都属于这一类型的硬件平台);noarch-----就是没有任何硬件等级上的限制。
5.RMP的安装(install)
rpm -ivh package_name
参数选项
-i:install 安装的缩写;
-v:查看更详细的安装信息
-h:显示安装进度。
6.RPM的升级与更新(upgrade / freshen)
参数选项 | 参数意义 |
-Uvh | 如果软件没有安装过,则系统将直接安装;如已经安装过旧版,则系统自动更新至新版本。 |
-Fvh | 如果软件没有安装过,则该软件不会被安装。 |
7.RPM查询(query)
rpm -qa ##已安装软件 rpm -q[licdR] 已安装的软件名称 ##已安装软件 rpm -qf 存在于系统上面的某个文件名 ##已安装软件 rpm -qp[licdR] 未安装的某个软件名 ##查阅rpm文件
参数选项
查询已安装的软件的信息
-q:仅查询,后面接的软件名称是否有安装;
-qa:列出所有的,已经安装在本机上面的所有的软件名称;
-qi:累出该软件的信息信息(information,包括开发商、版本与说明)
-ql:列出该软件所有的文件与目录所在的完整文件名(list的意思)
-qc:列出该软件的所有配置文件(/etc/底下的文件)
-qd:列出该软件的所有说明文件(找出与man有关的文件)
-qR:列出与该软件有关的相依软件所含的文件(Required的意思)
-qf:有后面接的文件名,找出该文件属于哪一个已安装的软件;
-q --scripts:列出是否含有安装后需要执行的脚本文档。
8.yum install 与 yum localinstall
yum install 和 yum localinstall 相同点:yum install、yum localinstall都可以安装本地rpm包;也都可以指定一个远程url的rpm包;两者都会从远程仓库安装相关依赖。
而两者的不同点:yum localinstall 后跟的包名必须是 .rpm 结尾,即必须是一个指定的rpm全包名。即 yum localinstall 不能指定一个具体位置不存在软件包,因为它不会从远程仓库查找包名。 而 yum install 可以跟不是 .rpm 结尾的包,即可以跟非全包名的软件包,这时将会从远程仓库中查找该软件包,并下载安装。
9.怎么下载到本地(源在哪儿)
可能因为模板或者网络策略的问题,远程仓库无法访问,这时候,只能下载到本地安装。而找到一个好的,能成功下载到的源至关重要的。
我们可以尝试从下面的网站中下载。
网站的门户--https://rpmfind.net/
查找网址--https://rpmfind.net/linux/rpm2html/
例如查找libgdbm.so.4()(64bit)软件包
也可以在打开的地方直接查找,例如在下面已打开的【libgdbm.so.4()(64bit)】插件的搜索窗口上,替换输入你想要的插件名字,进行查询,进行下载。
https://rpmfind.net/linux/rpm2html/search.php?query=libgdbm.so.4()(64bit)
可选项的说明:
The System and Arch are optional added filters, for example System could be "redhat", "redhat-7.2", "mandrake" or "gnome", Arch could be "i386" or "src", etc. depending on your system.
【此rpm源 还是非常方便、实用的】