Linux 软件安装的正确姿势

软件包管理系统

早期的 UNIX/Liux 系统中,安装软件需要用户从源代码直接编译软件,可能还需要根据系统做各种调整甚至修改源代码,使得在安装软件成为一件相当费时费力的事情,直到软件包的概念出现,使 Linux 系统软件安装工作变得和 Windows 系统一样简便。

软件包的作用就是将软件安装成为一些列不可分割的原子操作,使用户无需再关系软件安装的兼容性问题。常用的软件包格式有两种:

  • RPM,即 Red Hat Package Manager(Red Hat 软件包管理器),最初被 Red Hat 公司用于其 Linux 发行版中,如今被于大多数 Linux 发行版使用,如 Red Hat、openSUSE等。
  • Debian 和 Ubuntu 使用的 .deb 格式。

如今大多数 Linux 发行版还会提供更高级的软件包管理工具进一步简化软件安装过程,常见的有 APT 和 yum,本文主要以 Ubuntu 系统为例,总结安装和管理软件包最常用的四种方式。

使用高级软件包工具 APT

APT 全称是 Advanced Package Tool,即高级软件包工具,可以自动检测软件依赖、下载和安装所有文件。APT 运行于 Debian 和 Ubuntu 系统,支持 .deb 格式的软件包。

下面是使用 APT 安装和管理软件的常用指令:

  • apt-get update
    刷新缓存的软件包列表。
  • apt-get upgrade
    更新所有已安装软件。
  • apt-get install
    检测软件包依赖并下载和安装所有文件,其中 是要安装的软件名称。
  • apt-get remove
    删除已安装软件。
  • apt-get remove --purge apt-get purge
    删除已安装软件及相关数据和配置文件。
  • apt-get autoremove
    删除为了满足依赖自动下载的如今不再需要的安装包。
  • apt-get autoclean
    删除已经卸载的软件的安装包。
  • apt-get clean
    删除包缓存中的所有包(已安装软件的软件包也会被删除)。

APT 从哪里下载软件?
APT 用于下载软件的地址,也就是安装源,都放在 /etc/source.list 文件中,有时会发现系统安装软件速度很慢,可能是国内访问系统默认的安装源速度较慢,可以替换为国内的镜像源提升下载速度。


使用 .deb 格式的软件包

很多软件的官网上会提供 .deb 格式的软件包,那我们首先要做的就是把这个文件下载到本地,然后通过 .deb 格式软件包管理工具 dpkg 安装软件。

下面是使用 dpkg 安装和管理软件的常用指令:

  • dpkg -i <.deb filename>dpkg --install <.deb filename>
    安装软件。

  • dpkg -L dpkg --listfiles
    列出属于指定软件包的文件。

  • dpkg -ldpkg --list
    查看已安装软件列表。

  • dpkg -S dpkg --search
    查看包含指定文件的已安装的软件包, 是文件名称(模式)。

  • dpkg -r dpkg --remove
    卸载已安装的软件包

  • dpkg -P dpkg --purge
    卸载已安装的软件包并删除相关数据和配置文件


使用软件 .tar.gz 格式的压缩包

很多软件会提供二进制的 .tar.gz 格式的压缩包,那我们只需要把这个文件下载到本地,然后解压到想要安装软件的位置即可。

解压到指定位置后通常有如下三种操作:

  • 进入软件安装位置包含相应指令的文件夹直接执行指令启动软件
  • 进入软件安装位置包含相应指令的文件夹执行脚本文件进行相关参数配置
  • 需要在任何位置都可以发现软件指令,则需要配置系统变量

想要卸载软件只需要删除对应的文件夹即可,用户主目录中可能存在软件的配置文件,需要手动删除。


从源代码编译软件

有时我们需要从源代码进行编译,主要有如下几个原因:

  • 软件开发商没有提供二进制的软件包。
  • 由于特殊需求需要修改软件相源代码。
  • 想要获得对软件更多的控制,如软件安装位置,开启和禁用某些功能等。

从源代码编译软件的一般流程如下:

  • 下载和解压软件包
  • 正确配置软件
  • 编译源代码
  • 安装软件到硬盘
    在这个过程中需要借助软件的安装文档进行相应操作。

最后

由于 .deb 格式的软件包仅用于 Debian 和 Ubuntu 系统,Linux 其它发行版可能使用 RPM 软件包。类似地,这类系统中使用 rpm 工具管理 .rpm 格式的软件包,也有对应的高级软件包工具 yum 。感兴趣的同学们可以查看相关手册。

你可能感兴趣的:(Linux 软件安装的正确姿势)