Ubuntu20.04软件主要管理工具包详细介绍:离线安装dpkg、在线安装apt、源码安装(适用于Github程序下载)

  • 一、离线安装dpkg命令
  • 二、在线安装apt命令
  • 三、软件包的源码安装过程


学会使用Ubuntu的第一部就是学习如何管理系统软件。Ubuntu下的软件管理方法主要包括基于离线安装的dpkg命令和基于在线安装的apt命令。另外,在使用下面的指令,有的是需要获得超级用户权限的。

一、离线安装dpkg命令

dpkg(debian packages)是Debian软件包管理器的基础,常用于安装、卸载和提供与.deb软件包相关的信息。需要注意的是dpkg本身是一个底层的工具,并不具备从远程包仓库下载包以及处理包的依赖关系,且不关心ubuntu的软件仓库内的软件,所以我们需要从远程下载后再安装。因此,该指令通常用于安装本地的deb文件。

下面罗列出常用的几条dpkg命令

  • 1、dpkg --listdpkg -l:列出系统安装的所有软件包,如果向列出相应软件包的信息可以使用dpkg --list package。想要退出在终端输入q即可。

ubunt如何离线安装mysql ubuntu20.04离线安装_ubuntu


如上图所示,罗列出了系统中安装的所有软件包的名称,下面指令中的package可以是上图中任意一个名称,本文以vim软件包为例。

  • 2、dpkg -i package.deb:安装下载好的软件包
    其中,的package.deb是从网上下载好的安装包。
  • 3、dpkg -L package:列出与该包关联的文件

ubunt如何离线安装mysql ubuntu20.04离线安装_debian_02

  • 4、dpkg -l package:显示该包的版本,与指令dpkg --list package作用相同

ubunt如何离线安装mysql ubuntu20.04离线安装_debian_03

  • 5、dpkg -r package:删除软件包

ubunt如何离线安装mysql ubuntu20.04离线安装_debian_04


这条指令虽然删除了vim软件包,但是系统中还有配置文件,执行该指令后的结果如下图所示:

ubunt如何离线安装mysql ubuntu20.04离线安装_ubunt如何离线安装mysql_05

  • 6、dpkg -P package:删除软件包(包含配置文件)

ubunt如何离线安装mysql ubuntu20.04离线安装_ubunt如何离线安装mysql_06

由此,可以看到不仅删除了vim软件包,还删除其配置文件,执行该指令后的结果如下图所示:

ubunt如何离线安装mysql ubuntu20.04离线安装_ubuntu_07


如果还想了解更多有关dpkg的命令,可以在终端输入dpkg --help

二、在线安装apt命令

apt(全称Advanced Packaging Tool, apt)可以自动下载、配置、安装二进制或源代码格式的软件包,它能够简化ubuntu系统上的软件管理过程。apt是建立在dpkg之上的软件管理工具,但是它不能安装本地的deb文件。

下面罗列出常用的几条apt命令,其指令主要分为三类

1、apt安装软件包命令:

  • (1)apt install package:安装软件包;重新安装可以使用指令apt install --reinstall package
  • (2)apt -f install package:修复安装
  • (3)apt upgrade:更新已经安装的软件
  • (4)apt update:更新软件包列表

2、apt查看已安装包信息命令:

  • (1)apt-cache search package:搜索软件,可以使用正则表达式,比如sof*表示搜索一sof开头的软件包

ubunt如何离线安装mysql ubuntu20.04离线安装_github_08

  • (2)apt-cache show package:查看软件包信息
  • (3)apt-cache dump:查看每个软件包的简要信息
  • (4)apt-cache depends package:查看软件包以来关系

3、apt卸载软件包命令:

  • (1)apt remove package:卸载一个软件包但是保留相关配置信息
  • (2)apt remove package --purge:删除软件包同时删除相关配置信息
  • (3)apt cleanapt autoclean:删除所有软件缓存,软件包的缓存在系统的/var/cache/apt/archives中。

重点理解!apt的安装由软件包的维护者设定,但是通常的目录分配为:
(1)下载的软件存放在/var/cache/apt/archives,这也是为什么在安装完软件包后,要使用apt cleanapt autoclean命令清除缓存的原因,这样可以删除多余的软件包安装文件。
(2)安装后的软件默认位置存放在/usr/share/opt文件夹下。
(3)可执行文件位置在/usr/bin (4)配置文件位置为/etc (5)lib文件位置为/usr/lib 其余软件包管理常用的几个关键目录可以参考

三、软件包的源码安装过程

源码安装软件包的优点主要包括两个:(1)源码安装软件的方式是通过编译安装的,所以更加适合自己的系统,更加稳定高效;(2)同时卸载软件的时候也更加方便,直接删除安装软件的目录即可。但是,由于是编译安装,安装过程一旦出现问题,新手很难解决。特别提醒:我们平时从github上下载源码到本机,其实就是通过源码安装完成的。

软件包的源码安装过程主要由以下三步组成

1、wget的使用

wget是一个下载文件的工具,它可以实现“递归下载”:即跟踪HTML页面上的链接一次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。

  • (1)wget [URL]:使用wget下载单个文件,下载的过程显示进度条
  • (2)wget -O 自定义文件名字(最好定义成英文).extension(文件扩展名) [URL]:下载并以不同的文件名保存
  • (3)wget -c [URL]:使用wget的断点续传功能,解决断网的情况下,再连上网而不重新下载的问题
  • (4)wget -b [URL]:对于下载大型文件时,使用wget的后台下载功能。在下载的过程中可以使用tail -f wget-log查看下载进度
  • (5)wget -i file_list.txt:使用wget下载多个文件,这里我们需要先保存一份下载链接文件file_list.txt,在这个文件中写下相应的链接。
  • (6):git clone [URL]:Github下载

具体对wget的更多功能,可以使用命令wget --help查看。

2、解压缩

(1)tar命令可以为linux的文件和目录创建档案。tar命令可以将许多文件保存在一个磁盘存档中,并可以从存档中恢复单个文件。利用tar命令可以把一堆文件或目录全部打包成一个文件,这样做有利于备份文件或将几个文件组合成一个文件以便网络传输。
(2)Linux系统上的tar命令通常被用来创建名为.tar.gz.tgz的归档文件(压缩包)。在ubuntu20.04中具有GUN tar命令集成压缩,可以用来创建一个.tar归档文件,然后用指令gzipbzip2压缩。

tar压缩整个目录或单个文件的方法与步骤

使用一个示例简介以下tar的用法,使用下面的命令来压缩整个目录或Linux上的一个文件archive_name,并将压缩的文件存储到指定的文件位置/path/to/file_directory

tar -czvf archive_name.tar.gz /path/to/file_directory

其中tar命令选项如下所示:

  • (1)-c:创建存档
  • (2)-z:压缩zip存档
  • (3)-v:在终端显示进度的同时创建归档
  • (4)-f:允许指定存档的文件名

注意:其实除了上面四个命令选项,tar命令还有很多其他的命令选项,可以根据实际应用场景选择合适的命令选项组合,具体的可以通过tar --help查看所有的命令选项及其含义。

3、源码软件包安装步骤

  • (1)切换到下载文件的位置,这里选择Ubuntu20.04下的下载/目录下:在终端输入cd 下载/
  • (2)下载源码软件包,这里以wget命令为例,在终端输入wget [URL]
  • (3)将下载的源码包解压到/usr/local/src文件夹中哦个,在终端输入tar -zxf file_name.tar.gz -c /usr/local/src
  • (4)切换到程序安装包目录下/usr/local/src/file_directory,在终端输入cd /usr/local/src/file_directory
  • (5)软件配置与检查,比如在终端输入./configure --prefix=/usr/local/apache,接下来软件将安装到/usr/local/apache文件夹中。如果想查看是否编译完成,可以在终端中输入echo $,如果返回0,则表示编译成功。
  • (6)执行编译,即在终端输入make,将源码编译成机器码,并生成Makefile文件。
  • (7)在终端输入make install就可以开始正式软件安装了。

注意:对于采用源码形式安装的软件包,直接删除安装目录,即可以卸载软件包了。