Linux RPM安装及查找下载(–推荐个软件仓库)

  • Linux RPM安装及查找下载(–推荐个软件仓库)已关闭评论
  • 43 次浏览
  • A+
所属分类:linux技术
摘要

Linux 开发商先在固定的硬件平台与操作系统平台上面,将需要安装或升级的软件编译好,然后将这个软件的所有文件打包成一个特殊格式的文件,在这个软件文件内,还包含了预先侦测系统与相依软件的脚本,并提供记载该软件提供的所有文件信息。客户端取得这个软件后,只要透过特定的指令来安装,那么该软件文件就会依照内部的脚本来检查侦测安装环境,且在符合要求的条件下,会进一步开始安装,安装完成后,还会自动将该软件的信息写入到软件管理机制中,以便将来进行升级或移除等操作。


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)软件包

Linux RPM安装及查找下载(--推荐个软件仓库)

 也可以在打开的地方直接查找,例如在下面已打开的【libgdbm.so.4()(64bit)】插件的搜索窗口上,替换输入你想要的插件名字,进行查询,进行下载。

https://rpmfind.net/linux/rpm2html/search.php?query=libgdbm.so.4()(64bit)

Linux RPM安装及查找下载(--推荐个软件仓库)

 可选项的说明:

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源 还是非常方便、实用的】