在Ubuntu上安装Deb包的全面指南

安装软件包的步骤并不总是与在 Ubuntu 上安装不在默认仓库中的 deb 软件包的计划相同。不过,不用担心。在这种情况下,你可以通过手动下载和安装 deb 文件来安装软件。

在本教程中,你将学习在 Ubuntu 上安装 deb 软件包的多种方法,可能出现的问题以及如何解决。

继续阅读,开始亲自动手管理 Ubuntu 软件包吧!

先决条件

本教程将进行实际演示。如果你想跟着操作,请确保你已经设置好了 Ubuntu 系统。本教程使用的是 Ubuntu 20.04,但任何现代版本的 Ubuntu 都可以使用。

下载 Deb 软件包并列出其依赖项

在安装 deb 软件包之前,你的目标首先是下载 deb 软件包。在本教程中,你将从 Google 下载 Chrome deb 软件包。

在撰写本文时,Google Chrome 软件包在默认的 Ubuntu 仓库中不可用。为什么呢?因为 Google Chrome 实际上不是一个开源项目,而是属于 Google 的。但别担心,本教程已经为你准备好了。

运行以下 wget 命令以下载,并将 Chrome deb 软件包(google-chrome-stable_current_amd64.deb)保存到你的 Downloads 目录中。

wget <https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb> -P Downloads
Downloading a sample deb package (Chrome deb package)

现在,运行以下dpkg命令,列出Chrome deb软件包(google-chrome-stable_current_amd64.deb)的所有依赖项。 -I选项告诉dpkg命令显示有关目标deb软件包的信息,包括版本、大小、依赖关系等。

了解软件包的依赖关系可以确保在尝试安装软件包之前满足所有依赖关系。几乎每个Linux软件包都有依赖关系,不同于Windows或Android软件包。

dpkg -I ~/Downloads/google-chrome-stable_current_amd64.deb

重点关注下面输出中的Depends部分,其中列出了Chrome deb软件包的所有依赖关系。此信息帮助您控制在系统上安装了什么。

如果您不认识其中的一些依赖关系,大多数可能已由系统上已安装的其他软件包满足。您将在本教程的后面学会处理缺少的依赖关系。

Listing all dependencies of a deb file (Chrome deb package)

请注意,您还可以使用相同的过程安装默认Ubuntu存储库中不可用的任何其他软件。

从Deb软件包中提取所有文件

安装deb文件主要是从软件包中提取并将所有文件复制到系统上的适当位置。在本教程中,您将提取Chrome deb软件包中的所有文件到自定义位置。

运行以下命令来提取(-x)Chrome deb包(google-chrome-stable_current_amd64.deb)的内容到chrome目录,而不安装该包。

这个命令不会提供输出,但你可以把它看作是安装过程的“干跑”。

dpkg -x ~/Downloads/google-chrome-stable_current_amd64.deb chrome

打开你的文件管理器,导航到chrome目录,一旦安装Chrome deb包,就可以看到在你的系统上保存的所有文件。

你可以看到下面提取的目录中有许多文件。大多数文件是配置文件、Shell脚本和HTML文件。

Extracting files from the Chrome deb package

使用GUI安装Deb包

如果你更喜欢通过GUI点击来安装软件包,你最好的选择是Ubuntu软件中心。尽管Ubuntu软件中心已经停止支持,但该程序是为管理具有高级GUI的APT/dpkg软件包管理系统而创建的。

要通过软件中心安装deb包:

1. 在你的文件管理器中,导航到保存Chrome deb包的位置。

2. 右键单击Chrome deb包,选择用软件安装打开包文件。

Installing the Chrome deb package via Software Center

3. 一旦软件中心打开,点击安装按钮(左上角)来在你的系统上安装Google Chrome。

安装可能需要几分钟来完成,这取决于软件包的大小和你的计算机速度。

Installing a deb package (Chrome deb package) via GUI

最后,按下超级键(或Windows键在Windows系统中),搜索Chrome,并点击Google Chrome打开应用程序。

无论您在本教程中使用哪种方法安装Chrome deb软件包,此步骤都适用于打开Google Chrome。

Opening Google Chrome

通过终端安装Deb软件包

不喜欢在图形用户界面中安装软件包?如果您擅长使用命令行环境,请改用终端安装deb软件包。

通过在终端中运行命令有多种安装deb软件包的方式。在本教程中,您将学习两种最流行的方式,即dpkgapt。但首先,您将使用dpkg命令安装Chrome deb软件包。

运行下面的dpkg命令来安装(-i)您的Chrome deb软件包(google-chrome-stable_current_amd64.deb)。由于dpkg命令对大小写敏感,因此-i选项必须小写。

sudo dpkg -i google-chrome-stable_current_amd64.deb
Installing a deb package via terminal

apt命令是dpkg命令的包装器,提供了额外的功能,如更新已安装的软件包,解决依赖关系等。

现在,运行下面的apt install命令从当前目录(./)安装您的Chrome deb软件包。

apt命令是一个强大的命令行工具,可以让您在基于Debian的系统中处理软件包。这个工具会自动处理混合的依赖关系,使得APT非常适合安装deb软件包。

apt install ./google-chrome-stable_current_amd64.deb
Installing a deb package via the apt command

修复未满足的依赖错误

到目前为止,您已经看到了许多通过推送的deb软件包的安装方式。但是如果在安装过程中出现一个错误,显示dependency problems – leaving configured,该怎么办呢?

通常在尝试安装具有未满足依赖关系的deb软件包时,会出现dependency problems错误。为了修复此错误,您必须首先安装deb软件包安装所需的依赖包,以确保其正常工作。

如果软件开发人员没有在deb软件包中包含所有依赖项,或者deb软件包过时并且依赖项已更新,则可能会出现依赖问题。

要了解如何解决依赖问题:

1. 运行下面的wget命令,将MySQL Workbench软件包下载到您的Downloads目录中。

wget https://downloads.mysql.com/archives/get/p/8/file/mysql-workbench-community_8.0.28-1ubuntu20.04_amd64.deb - P Downloads

2. 接下来,运行以下dpkg命令以安装(-i)MySQL Workbench软件包。

dpkg -i mysql-workbench-community_8.0.28-1ubuntu20.04_amd64.deb

运行命令后,您将获得以下依赖问题 – leaving configured错误消息。

在下面的输出中,有一些必须在重新尝试在系统上安装MySQL Workbench软件包之前首先安装的包。

Getting dependency problems error

3. 现在,运行以下带有-f选项的apt命令以修复破损的依赖关系。

确保在尝试安装具有未满足依赖关系的deb软件包后立即运行此命令。

apt -f install

如您所见,该命令试图修复所有破损的依赖关系并安装所有缺失的依赖项。

Fixing the unmet dependencies error

4. 最后,重新运行以下dpkg命令以安装(-i)MySQL Workbench软件包。

dpkg -i mysql-workbench-community_8.0.28-1ubuntu20.04_amd64.deb

这次,你可以看到安装进程非常顺利,因为所有必需的依赖都已预先安装好。

Re-installing the MySQL Workbench package

结论

在本教程中,你已经学会了多种在Ubuntu上通过GUI和终端手动安装deb软件包的方法。到这一步,你已经足够有信心安装deb软件包,因为你已经知道如何解决依赖问题了。

但是,不要止步于此。为什么不学习如何在基于RHEL的系统中使用.rpm文件安装软件呢?通过学习两种软件包格式,你可以扩展技能,这样你就可以在任何Linux系统上安装所需的任何软件。

Source:
https://adamtheautomator.com/install-deb-packages-on-ubuntu/