Linux下软件安装常见的三种方式(源码安装, rpm安装, yum安装)

一、源码安装

1.1提前声明

源码安装是Linux下安装软件最麻烦的,没有之一,一般建议是不用源码安装的,建议采用 yum 安装,简单快捷。

而且源码包安装会比 rpm 包安装慢,是因为 rpm 的软件包是根据特定系统和平台而指定的,经常一种程序会提供很多 rpm 包的格式,用户根据系统情况选择适合的 rpm 包直接安装,而源码包相当于通用型,可以是用于多个系统中,所以需要运行configure脚本来检测环境,生成对应的安装信息。
源码安装 注意事项:
下载源码包尽量从官网下载,保证安全
源码包保存路径约定为:/usr/local/src/
安装路径约定为:/usr/local/源码包名
安装开始前,先要查看安装说明 vim INSTALL vim README
查看配置参数:./configure –help
安装过程中,每进行完一步要使用echo $? 进行验证前一步是否产生错误

这样说来源码安装是不是就没有优点了呢,其实也不尽然。

1.2 源码安装优缺点:

优点

  1. 文档齐全
  2. 可以定位到代码,所以debug很方便
  3. 本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题)
    缺点
  4. 编译麻烦
  5. 缺乏自动依赖管理,软件升级麻烦

1.3 安装流程

1.3.1 解压源码包tar文件:
源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,
后缀格式会分别为.tar.gz与.tar.bz2,分别的解压方式:

tar -zxvf FileName.tar.gz
tar -jxvf FileName.tar.bz2

1.3.2 切换到解压后的目录
cd /解压后目录

1.3.3 准备编译工作:
在开始安装服务之前,需要执行configure脚本,会自动的对当前系统进行一系列的评估,如源文件、软件依赖库、编译器、汇编器、连接器检查等等,如果有需要,还可以使用 -prefix 参数来指定程序的安装路径,而当脚本检查系统环境符合要求后,则会在当前目录下生成一个Makefile文件。
在shell命令行下敲入下面指令:

./configure -prefix=/usr/local/program

1.3.4 生成安装程序:
上步生成的Makefile文件会保存有系统环境依赖关系的安装规则,接下来需要使用make命令来根据Makefile文件提供的规则使用合适的SHELL来编译所有依赖的源码,然后make命令会生成一个最终可执行的安装程序。

make编译

1.3.5 安装服务程序:
如果在configure脚本阶段中没有使用-prefix参数,那么程序一般会被默认安装到/usr/local/bin目录中。

make install编译安装

1.3.6 清理临时文件(可选):

make clean

1.3.7 卸载服务程序命令(需要才执行)

make uninstall

1.3.8 查看安装信息
whereis 命令定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。
例如:whereis java
whereis [-bmsu] [BMS 目录名 -f ] 文件名

-b搜索文件的二进制部分。
-m搜索文件的手册部分。
-s搜索文件的源部分。
-u没有说明文档的文件
-B、-M 和 -S可以用于更改或限制 whereis 命令搜索的位置。由于该程序为了运行得更快而使用chdir子例程,所以用-M、-S 和 -B标志目录列表给出的路径名必须是完整的;例如,它们必须以一个 / (斜杠)开始。
-B-B 与 -b一样,但是添加了要搜索的目录。更改或限制 whereis 命令搜索二进制文件的位置。
-M-M 与 -m 一样,但是添加了要搜索的目录。更改或限定 whereis 命令搜索手册部分的位置。
-S-S 与 -s 一样,但是添加了要搜索的目录。更改或限定 whereis 命令搜索源的位置。
-f终止最后的 -M、-S 或 -B 目录列表并发文件名起始位置信号。

(四)[参数][文件]

-c压缩文件
-x解压文件
-t查看压缩包内有哪些文件
-z用Gzip压缩或解压
-j用bzip2压缩或解压
-v显示压缩或解压过程信息
-f目标文件名
-P保留原始权限和属性
-p使用绝对路径压缩
-C指定解压到的目录

二、 rpm安装

rpm安装就是:安装别人编译好的软件包。如果依赖的文件没有事先安装,软件无法安装成功。
rpm即Redhat Package Manager,Redhat的软件包管理方式,适用于rpm install命令。rpm不仅已经把软件源代码编译成二进制文件,而且还对软件包依赖的软件,系统环境等做了统计。文件扩展名:rpm。还有一种SRPM:没有编译成二进制文件,但是也包含rpm的特性。
对于一个rpm包来说,都是有 " - " 和 " . " 构成的,基本上有以下几部分组成:* 包名 * 版本信息 * 发布版本号 * 运行平台,当出现noarch,代表的是软件可以平台兼容

常用方法

2.1.1 安装

rpm -i需要安装的包文件
rpm -iv需要安装的包文件(显示安装详情)
rpm -ivh需要安装的包文件(显示安装详情及进度)
rpm –nodeps强制安装,而不用管其依赖的包
rpm –force强制安装,而不管系统中有没有安装过这个包

2.1.2 升级

rpm -U需要升级的包文件
rpm -Uvh需要升级的包文件(显示升级详情及进度)

2.1.3 卸载

rpm -e需要卸载的软件包

注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上–nodeps,
会强制删除,但可能导致依赖于它的软件不能运行。

2.1.4 查看安装

rpm -qa查看已安装
rpm -qa [pkgname]列出所有已经安装过的包
rpm -ql pkgname列出一个已经安装的包安装了哪些文件
rpm -qf file列出某个文件由哪个包安装
rpm -qi file查询某个安装包的详细安装信息

2.1.5 查看指定包
rpm -qa | grep “软件或者包的名字”

三、yum安装

yum工具是RedHat公司开发的用于管理rpm包的工具使用 yum 安装 rpm 包可以自动解决包之间的依赖关系我们可以自定义 yum 的源,可以搭建本地 yum 仓库yum 源配置文件为

/etc/yum.repos.d/CentOS-Base.rep

yum常用选项

操作符作用
yum install pkg安装rpm包
yum remove pkg卸载rpm包
yum list从配置文件中指定的yum源列出所有的rpm安装包
yum search xxx搜索rpm包
yum groupinstall grp安装rpm组件
yum groupremove grp卸载rpm组件
yum grouplist列出所有的rpm组件
yum update / yum upgrade更新所有的rpm包

搭建本地 yum 仓库

将CentOS安装盘或安装镜像挂载到指定路径如/mnt/
备份好配置文件/etc/yum.repos.d/CentOS-Base.repo到一个指定路径
删除配置文件/etc/yum.repos.d/CentOS-Base.repo
编辑另一个配置文件/etc/yum.repos.d/CentOS-Media.repo
[local-cdrom]yum list 时显示在最右边的标识
name=cdyum 仓库标识
baseurl=file:///mnt/指定 rpm 仓库路径
gpgcheck=0不检测
enabled=1允许

然后保存退出
使用 yum 只下载不安装 rpm 包
先安装一个插件:yum install -y yum-plugin-downloadonly
对于未安装过的 rpm 包: yum install -y pkg –downloadonly
对于已经安装过的: yum reinstall -y pkg –downloadonly
指定 rpm 包的下载路径:yum install -y pkg –downloadonly –downloaddir dir

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值