Ubuntu的包管理器

目录
  1. 存储库
  2. 安装软件
    1. 1、APT方式
    2. 2、Dpkg方式
  3. 卸载软件
    1. 1、APT方式
    2. 2、Dpkg方式
  4. 查询软件包相关信息
    1. 1、APT方式
    2. 2、Dpkg方式

作者:杨冬 欢迎转载,也请保留这段声明。谢谢!
出处:https://andyyoung01.github.io/http://andyyoung01.16mb.com/

包管理器将软件安装到我们的服务器上。在RedHat/CentOS上,其使用的包管理器为yum和rpm;在Debian/Ubuntu上,我们将讨论apt和dpkg软件包管理器。dpkg是Debian的软件包管理器,类似于RedHat/CentOS系列的rpm。

作为软件包的管理器,它们必须有三个重要功能:

  1. 安装适用于不同操作系统发行版和操作系统版本的软件。
  2. 管理软件所需的依赖关系,包括查找和尝试修复依赖关系等问题。
  3. 添加配置使软件随着服务器的重新启动而正常启动和停止。这包括对软件的进程进行监控,在错误发生时保持软件继续运行。

在Ubuntu 16.04之前,我们使用apt-get和apt-cache命令。在我们曾经使用apt-get install的地方,现在我们使用apt安装。我们曾经使用apt-cache show的地方,现在我们使用apt show。如果你掌握了传统的apt-get、apt-cache命令,很容易切换到更新的apt命令。这里暂且还以传统的apt-get、apt-cache进行讨论。

存储库

APT包管理器在服务器上保存软件安装源列表。每个源都包含存储库列表。存储库作为可用软件包的索引。当您搜索软件包时,Apt将检查此列表来进行安装。
安装源及其存储库清单保存在两个位置:

  • /etc/apt/sources.list文件
  • /etc/apt/sources.list.d目录下的文件

可以通过更新上述文件或文件夹来更新可用的存储库。
另外,我们可以手动添加第三方存储库,也可以使用add-apt-repository命令。add-apt-repository命令将添加一个源到/etc/apt/sources.list文件或/etc/apt/sources.list.d目录。添加的存储库将适用于我们的服务器版本。该命令还可以添加一个密钥,用于验证其中的存储库和包的真实性。

我们可以通过运行sudo apt-get update来更新Apt对可用包和版本的了解。这将读取存储库列表,并更新可用于安装的软件包和版本。在安装任何软件之前或添加新的存储库后都要运行此操作。这将确保它安装最新的可用版本的软件包。源列表更新后,我们可以根据软件包的名称来安装任何我们想要的软件。

安装软件

1、APT方式

(1)普通安装:apt-get install softname1 softname2 …;
(2)修复安装:apt-get -f install softname1 softname2… ;(-f Atemp to correct broken dependencies)
(3)重新安装:apt-get –reinstall install softname1 softname2…;

2、Dpkg方式

(1)普通安装:dpkg -i package_name.deb

卸载软件

1、APT方式

(1)移除式卸载:apt-get remove softname1 softname2 …;(移除软件包,当包尾部有+时,意为安装)
(2)清除式卸载:apt-get remove –purge remove softname1 softname2…;(同时清除配置)
清除式卸载:apt-get purge sofname1 softname2…;(同上,也清除配置文件)

2、Dpkg方式

(1)移除式卸载:dpkg -r pkg1 pkg2 …;
(2)清除式卸载:dpkg -P pkg1 pkg2…;

查询软件包相关信息

1、APT方式

apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
apt-cache depends #-------(package 了解使用依赖)
apt-cache rdepends # ------(package 了解该包被哪些包依赖)
apt-file search filename -----查找filename属于哪个软件包
apt-file list packagename -----列出软件包的内容
apt-file update --更新apt-file的数据库

2、Dpkg方式

dpkg --info "软件包名" --列出软件包解包后的包名称.
dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)
dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包.
dpkg -s 查询已安装的包的详细信息.
dpkg -L 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
dpkg -S 查询系统中某个文件属于哪个软件包. (类似于rpm -qf)
dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
dpkg --listfiles 查询系统中属于该软件包的文件