第8节 Kali及其他Linux系统软件分类及安装

目录

1 软件安装包分类

  • 根据安装包是否经过封装,将其分为源码包与封装包,两种安装包的安装方式不同。

2 源码包

2.1 源码包简介

  1. 源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。源码包一般包含多个文件,为了方便发布,通常会将源码包做打包压缩处理,Linux 中最常用的打包压缩格式为“tar.gz”,因此源码包又被称为 Tarball。
  2. 源码包需要我们自己去软件官方网站进行下载,包中通常包含以下内容:
    1. 源代码文件。
    2. 配置和检测程序(如 configure 或 config 等)。
    3. 软件安装说明和软件说明(如 INSTALL 或 README)。
  3. 使用源码包安装软件具有以下优点:
    1. 开源。如果你有足够的能力,则可以修改源代码。
    2. 可以*选择所需的功能。
    3. 因为软件是编译安装的,所以更加适合自己的系统,更加稳定,效率也更高。
    4. 卸载方便。
  4. 使用源码包安装软件也有以下不足:
    1. 安装过程步骤较多,尤其是在安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误。
    2. 编译时间较长,所以安装时间比二进制安装要长。
    3. 因为软件是编译安装的,所以在安装过程中一旦报错,新手很难解决。

2.2 源码包安装过程

  1. 安装C语言编码器:gcc
    yum -y install gcc
  2. 下载源码包
  3. 确定目录(系统单方面推荐存放和安装位置):
    源码包保存位置:/usr/local/src
    软件安装位置:/usr/local/
  4. 解压缩,并进入解压缩后的目录
  5. 软件的配置与检测,命令:./configure
    确定安装目录:(./configure --prefix=/usr/local/python3)
    检测系统环境是否支持安装,是否有缺省
    将定义好的功能选项和环境信息写入Makefile文件
  6. 命令:make
    编译,使用gcc将源码包翻译成机器语言
    如果报错,可清空临时文件:make clean
  7. 命令:make install
    编译安装,向configure指定的目录写入数据
  8. 卸载:
    自接把configure指定的安装目录全部清空(rm -rf 目录名)即可

3 二进制包安装过程

3.1 二进制包简介

  1. 相比源码包,二进制包是在软件发布时已经进行过编译的软件包,所以安装速度比源码包快得多(和 Windows 下软件安装速度相当)。也正是因为已经进行通译,大家无法看到软件的源代码。
  2. 使用二进制包安装软件具有以下 2 点好处:
    1. 包管理系统简单,只通过几个命令就可以实现包的安装、升级、査询和卸载。
    2. 安装速度比源码包安装快得多。
  3. 使用 RMP 包安装软件有如下不足:
    1. 经过编译,不能在看到源代码。
    2. 功能选择不如源码包灵活。
    3. 依赖性。有时我们会发现,在安装软件包 a 时需要先安装 b 和 c,而在安装 b 时需要先安装 d 和 e。这就需要先安装 d 和 e,再安装 b 和 c,最后才能安装 a。比如,我买了一个漂亮的灯具,打算安装在客厅里,可是在安装灯具之前,客厅需要有顶棚,并且顶棚需要刷好油漆。安装软件和装修及其类似,需要有一定的顺序,有时依赖性会非常强。

3.2 Kali二进制包安装及管理

3.2.1 dpkg方法安装deb包

  1. 总体安装思路:
    1. 找到相应的软件包,比如soft.version.deb,下载到本机某个目录
    2. 打开一个终端,cd soft.version.deb所在的目录;
    3. 输入dpkg -i soft.version.deb
  2. 相关命令:
    1. 查询命令用法:dpkg --help
    2. 安装:dpkg –i deb的软件包名
    3. 卸载:dpkg –e 软件名
    4. 查询当前系统安装的软件包:dpkg –l 软件名

3.2.2 apt方式安装deb包

  1. 打开一个终端。
  2. 查询软件的名称或相关信息:apt-cache search software
  3. 如果2中找到了软件software,则用命令安装软件:apt-get install software
  4. 卸载一个已安装的软件包: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 总结

  1. 不同版本系统基本可以采用相同的源码包安装方式,但是二进制包的安装方式有差异。
  2. 了解不同软件包的安装方法;

6 参考文献

  1. linux安装软件的几种方式(kali平台)和一些实用的软件(持续更新)
  2. 千锋源码包安装视频教程
  3. 千锋prm安装方法视频教程
  4. 千锋yum安装方法视频教程
  5. Linux软件包(源码包和二进制包)
  6. Linux的RPM和源码包(CentOS)
上一篇:centos7 cmake编译opencv+protobuf+ncnn


下一篇:如何落实提升企业研发效能?阿里巴巴实践案例解读