目录
- 1 软件安装包分类
- 2 源码包
- 2.1 源码包简介
- 2.2 源码包安装过程
- 3 二进制包安装过程
- 3.1 二进制包简介
- 3.2 Kali二进制包安装及管理
- 3.2.1 dpkg方法安装deb包
- 3.2.2 apt方式安装deb包
- 3.3 CentOS二进制包安装及管理
- 3.3.1 RPM包的命令管理
- 3.3.2 RPM包的yum管理:
- 4 安装示例
- 5 总结
- 6 参考文献
1 软件安装包分类
- 根据安装包是否经过封装,将其分为源码包与封装包,两种安装包的安装方式不同。
2 源码包
2.1 源码包简介
- 源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。源码包一般包含多个文件,为了方便发布,通常会将源码包做打包压缩处理,Linux 中最常用的打包压缩格式为“tar.gz”,因此源码包又被称为 Tarball。
- 源码包需要我们自己去软件官方网站进行下载,包中通常包含以下内容:
- 源代码文件。
- 配置和检测程序(如 configure 或 config 等)。
- 软件安装说明和软件说明(如 INSTALL 或 README)。
- 使用源码包安装软件具有以下优点:
- 开源。如果你有足够的能力,则可以修改源代码。
- 可以自由选择所需的功能。
- 因为软件是编译安装的,所以更加适合自己的系统,更加稳定,效率也更高。
- 卸载方便。
- 使用源码包安装软件也有以下不足:
- 安装过程步骤较多,尤其是在安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误。
- 编译时间较长,所以安装时间比二进制安装要长。
- 因为软件是编译安装的,所以在安装过程中一旦报错,新手很难解决。
2.2 源码包安装过程
- 安装C语言编码器:gcc
yum -y install gcc - 下载源码包
- 确定目录(系统单方面推荐存放和安装位置):
源码包保存位置:/usr/local/src
软件安装位置:/usr/local/ - 解压缩,并进入解压缩后的目录
- 软件的配置与检测,命令:./configure
确定安装目录:(./configure --prefix=/usr/local/python3)
检测系统环境是否支持安装,是否有缺省
将定义好的功能选项和环境信息写入Makefile文件 - 命令:make
编译,使用gcc将源码包翻译成机器语言
如果报错,可清空临时文件:make clean - 命令:make install
编译安装,向configure指定的目录写入数据 - 卸载:
自接把configure指定的安装目录全部清空(rm -rf 目录名)即可
3 二进制包安装过程
3.1 二进制包简介
- 相比源码包,二进制包是在软件发布时已经进行过编译的软件包,所以安装速度比源码包快得多(和 Windows 下软件安装速度相当)。也正是因为已经进行通译,大家无法看到软件的源代码。
- 使用二进制包安装软件具有以下 2 点好处:
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、査询和卸载。
- 安装速度比源码包安装快得多。
- 使用 RMP 包安装软件有如下不足:
- 经过编译,不能在看到源代码。
- 功能选择不如源码包灵活。
- 依赖性。有时我们会发现,在安装软件包 a 时需要先安装 b 和 c,而在安装 b 时需要先安装 d 和 e。这就需要先安装 d 和 e,再安装 b 和 c,最后才能安装 a。比如,我买了一个漂亮的灯具,打算安装在客厅里,可是在安装灯具之前,客厅需要有顶棚,并且顶棚需要刷好油漆。安装软件和装修及其类似,需要有一定的顺序,有时依赖性会非常强。
3.2 Kali二进制包安装及管理
3.2.1 dpkg方法安装deb包
- 总体安装思路:
- 找到相应的软件包,比如soft.version.deb,下载到本机某个目录
- 打开一个终端,cd soft.version.deb所在的目录;
- 输入dpkg -i soft.version.deb
- 相关命令:
- 查询命令用法:dpkg --help
- 安装:dpkg –i deb的软件包名
- 卸载:dpkg –e 软件名
- 查询当前系统安装的软件包:dpkg –l 软件名
3.2.2 apt方式安装deb包
- 打开一个终端。
- 查询软件的名称或相关信息:apt-cache search software
- 如果2中找到了软件software,则用命令安装软件:apt-get install software
- 卸载一个已安装的软件包:apt-get remove software
3.3 CentOS二进制包安装及管理
3.3.1 RPM包的命令管理
本地管理,软件包已经下载或安装到本地。
- rpm -ivh 包全名:安装,显示详细信息和进度
- rpm -Uvh 包全名:升级软件包
- rpm -e 包名:卸载
- rpm -q 包名:查看安装的软件包的版本,源码安装的包不可查
- rpm -qa :查询所有安装的包
- rpm -qi 包名:查看包详细信息
- rpm -ql 包名:查看安装的软件包的所有安装位置
- rpm -qf 文件名:通过任意文件名,查看它所属的包全名
3.3.2 RPM包的yum管理:
云管理,软件包需要联网下载,也可更改配置使用本地yum源。
yum安装会自动解决安装的依赖性问题,即安装时需要依赖包时会自动通过服务器下载并安装,不用用户手动安装。
- yum list:查看yum上所有可用软件包
- yum search 包名:通过部分包名查看可用可用软件包
- yum -y install 包名:安装,(-y)是安装时不询问
- yum update 包名:升级软件包,如果省略包名则升级所有,包括liunx内核
- yum remove 包名:卸载软件,但会卸载全部依赖,谨慎!
- yum grouplist:查看所有安装的组,比如桌面、输入法等
- yum groupinstall 软件组名:安装软件包组,卸载用groupremove
4 安装示例
后续有需要安装具体软件时再补充相关安装示例。
5 总结
- 不同版本系统基本可以采用相同的源码包安装方式,但是二进制包的安装方式有差异。
- 了解不同软件包的安装方法;
6 参考文献
- 《linux安装软件的几种方式(kali平台)和一些实用的软件(持续更新)》
- 《千锋源码包安装视频教程》
- 《千锋prm安装方法视频教程》
- 《千锋yum安装方法视频教程》
- 《Linux软件包(源码包和二进制包)》
- 《Linux的RPM和源码包(CentOS)》