Ubuntu软件安装小记

在ubuntu乃至基于debian的linux发行版中,安装应用程序大致有三种方法(由繁到简):

1. make install安装源码包

该方法即是先获取软件的源码文件(为了方便传输,一般以压缩包形式存在,例如xxx-1.9.0.tar.gz);
在待安装的设备上解压源码压缩包,得到完整的软件源码文件;
进入软件源码文件夹中:依次“配置”、“编译”、“安装”完成软件安装;

其中:
“配置”主要是指定软件的安装目录等自定义参数(一般命令为“./configure”),为“编译”做准备;
“编译”主要是将源码编译成二进制文件(一般命令为“sudo make”),为“安装”做准备;
“安装”主要是将上述二进制文件装入系统(一般命令为“sudo make install”),一般多数软件源码包中都附带有编译和安装的指南说明文件;

注意到:
源码安装方式是相对自由的,即用户可以参与到软件安装的主要流程中;但是对于一般非专业用户而言,这种安装方式也是相对容易出问题的,特别是在“编译”步骤中,容易发生各种原因的编译失败,此时需要用户根据具体情况排查失败原因并予以解决。

2. dpkg安装deb

相比于源码安装,利用dpkg命令安装deb格式的软件包则更为方便,其中许多应用软件都会在其官网的下载页面中给出linux版本的deb软件包;
该方式的一般流程为先下载目标软件的deb软件包,
然后使用命令“sudo dpkg -i 软件包名”安装软件,也可以使用命令“sudo dpkg -r 软件包名”卸载软件;

注意到:
deb软件包安装方式省去了编译这一步骤,给用户带来了便利;但是dpkg并不能自动解决软件依赖问题,
即安装软件A必须先有软件B,dpkg会给出依赖信息,但是不会帮助用户去自动获取依赖软件

3. apt(apt-get)

在三个安装方式中,apt包管理器(早期是apt-get)相对而言是最简单的,其相当于是在deb安装方式上提供了软件依赖解决手段;
例如,想要安装某软件xxx,则一行命令“sudo apt install xxx”即可,卸载则是“sudo apt remove xxx”
在安装过程中,若遇到软件依赖问题,则apt会自动下载并安装依赖软件,无需用户介入。

比较

三种方式中,apt最为便捷、dpkg次之、源码安装最为麻烦;从另一角度而言,源码安装用户介入最多、dpkg次之、apt用户介入最少;
需要注意,相对而言,多数软件的源码是方便获取的,但是并非所有软件都在apt软件源中有记录;
即相对而言,以源码方式可获取的软件数目最多,dpkg次之、apt最少

apt的进一步发展:snap

apt的出现给debian系列linux系统的软件安装带来了极大的便利。
Canonical公司发布的全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。
所以使用snap包的好处就是它更好地解决了应用程序之间的依赖问题,使应用程序之间更容易管理,但是由此带来的问题就是它占用更多的磁盘空间。
本质来看,snap与apt的目标相同(更加方便地管理安装软件),只是具体实现有所差别。

posted @ 2022-01-24 15:34  快到皖里来  阅读(52)  评论(0编辑  收藏  举报