Linux软件包安装和卸载

7.1 安装软件包的三种方法

在Linux下,可以有三种软件包的安装方法:

(1)、rpm安装。

(2)、yum安装。

(3)、源码包安装。


7.2 rpm包介绍

RPM(Red Hat Package Manager),是以一种数据库记录的方式将我们所需要的套件安装到Linux主机的一套管理程序。RPM包是预先在Linux机器上编译并打包的文件,安装非常快捷,缺点是安装环境必须与编译时的环境一致,包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载,如果依赖的包是系统所必须的,就不能卸载这个包,否则系统会崩溃。

当我们挂载光驱后,会在/mnt/Packages目录下看到很多后缀为.rpm的文件,这些文件就是RPM包。

df9da361d60031fc1d25e10d0821981d0b4.jpg

7.3 rpm工具用法

RPM工具的常用命令:

244fe95c1e1f39f2a85fdf35cdfcfdd879b.jpg

1、安装RPM包

格式为:rpm -ivh 包名

其中,参数i表示安装,v表示可视化,h表示显示安装进度。此外,--force表示强制安装,--nodeps表示当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要个包。

c158c719f35c0d02111e35669499c4ef037.jpg

2、升级RPM包

格式为:rpm -Uvh filename,其中,-U表示升级。

3、卸载RPM包

格式为:rpm -e filename

4、查询一个包是否已安装

格式为:rpm -q RPM包名

dce1165de48cb73954cc3c855c992d0a41e.jpg

rpm -qa 为查询当前系统所有已安装的RPM包。

5、查看已安装的RPM包的相关信息

格式为:rpm -qi 包名

10f500786de09aa2748ab94af067c0d7947.jpg

6、列出一个RPM包的安装文件

格式为:rpm -ql 包名

95a91d4dc5a139c881c97870b7af832feaf.jpg

7、列出某个文件属于哪个RPM包

格式为:rpm -qf 文件的绝对路径

6db5de910e726cf2f4f86b65ef72e60521e.jpg


7.4 yum工具用法

yum工具的优点在于可以联网去下载所需要的RPM包,然后自动安装。如果要安装的RPM包有依赖关系,yum工具会帮我们依次安装所有相关的RPM包。

b90147afc110b7fafa6b295abac76e46aa1.jpg

1、列出所有可用的RPM包

yum list命令可以列出所有的RPM包:

9877be124454372d5c211235c9963bcf4e5.jpg

2、搜索RPM包

yum search [相关关键词]

264b72fbb0dab12f74a42313bc20c984ff8.jpg

还可以用grep来过滤,从而找到相应的RPM包:

c8a75835a39eaabf913a180e83c7eeb64b4.jpg

3、安装RPM包

yum install [ -y ] [RPM包名],如果不加-y,则会以与用户交互的方式来安装。

4、卸载RPM包

yum remove [ -y ] [RPM包名]。

5、升级RPM包

yum update [ -y ] [RPM包名]


7.5 yum搭建本地仓库

Linux系统不能联网时,就不能使用联网的yum源,这时就需要我们在Linux系统下使用光盘制作yum源,具体操作步骤如下:

(1)、挂载光盘。

bf079b4d75f4cd2fc8c6c37a3bb3ef63091.jpg

(2)、删除/etc/yum.repos.d目录下所有的repo文件,删除前,先做一个备份。

45c801e8f6bf4b6c769990139087e3839ac.jpg

(3)、创建新文件dvd.repo,加入如下内容:

9ab44f2d2504020f79bd25b089412da3bf7.jpg

(4)、刷新repos生成缓存。

9203bd8585af6bdfb357ec1d3e659511369.jpg

此时,就可以使用yum命令安装所需要的软件包了,比如,我们可以安装一个tftp的RPM包:

4f785c1c393f0979c3cfc5353b761c9238f.jpg

b9ea12312f79fe6e4a3cdd866a42e80ce8d.jpg


7.6 yum更换国内源

在操作前,我们先恢复之前的yum源:

2ddb4a1cea50a6d5f4c1d7874061258f7f8.jpg

yum list 是为了生成缓存,方便下次使用。

然后删除CentOS-Base.repo这个文件,再用wget命令去下载国内163源。

cf7bec2a8d734e67109d1adbab49e97bd4d.jpg

这样就已经更换了yum源了。


7.7 yum下载rpm包

 

之前的操作,我们都是下载RPM包,然后去安装,有时候我们需要下载RPM包,但不安装,这时候就可以用如下命令:

yum install 包名 -y -- downloadonly 

这样虽然下载了RPM包,但没有保存到我们想要指定的目录中,而是默认保存在/var/cache/yum/x86_64/7base(updatex、extras)等,它跟yum list最右侧的字符串是一致的,那么,我们怎么去指定保存的目录呢?

下载到指定目录的命令如下:

yum install 包名 -y --downloadonly --downloaddir=/usr/local/src

那么,如果这个RPM包已经安装过了,使用命令yum install --downloadonly就不起作用了,它会提示这个包已经安装过,下载不来,此时应该怎么办呢?

我们可以重新安装这个包:

yum reinstall -y bash --downloadonly


7.8 源码包安装(上)

安装源码包,需要我们把源代码编译成可执行的二进制文件,如果我们能读懂这些源代码,就可以修改这些源代码的自定义功能,然后再按我们的需求编译。

源码包的编译用到了Linux系统里的编译器,Linux上的C语言编译器为gcc,如果没有安装,可以使用命令yum install -y gcc来安装。

efbb7746c1548c4c1562fb0e0466e5f4b12.jpg

5d005bce64c0a53418305cc5d16b6ac8c53.jpg

安装源码包有3个步骤:

(1)、./configure。

(2)、make。

(3)、make install。

下面我们以httpd在源码包安装为例:

1、下载源码包。我们一般把下载的源码包放在/usr/local/src/目录下。

7d1e9cb5f12520c38e668838a142a4745b7.jpg

2、解压源码包。

04ca7549880ab2afecab3df6f7a4497d400.jpg

3、配置相关的选项并生成Makefile。

首先,进入解压后的源码目录,在配置之前可以查看可用的配置参数。

acaaa485561d371afcb99514f509335aaba.jpg

e6389b4a7d08791823a19265908009b2b4e.jpg

常用的配置选项有--prefix=PREFIX,它的意思是定义软件包的安装路径。这里我们把Apache安装在/usr/local/apache2目录下,该选项的配置为--prefix=/usr/local/apache2。

ba36869a084122b84e4c136f896988b7eaa.jpg

然后验证这一步是否成功。

596e5b5f74bd0f3b22e5217764ad84bef28.jpg

返回值是0,说明执行成功,如果是非0,则说明不成功。此时,就成功生成Makefile了。

 

4、进行编译。

生成Makefile后,需要进行编译:

e0f693e6eeab5c5317316271ba6e948ccdd.jpg

编译后再使用命令echo $?验证是否编译成功。

43d6423aeae31f565b79ff8a3121fc26303.jpg


7.9 源码包安装(下)

源码包编译完成后,我们就可以安装源码包了,安装源码包的命令为make install。

68e91aaa153593092dbfb93b8e3f03186fe.jpg

使用命令echo $?验证是否已正确安装,执行完这一步,则会在/usr/local/apache2目录下增加许多目录,用ls查看该目录:

5ab86b81c26b0e73aa7d573b61fb1164a24.jpg

至此,Apache源码的安装就完成。

转载于:https://my.oschina.net/u/3992198/blog/2396590

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值