ubuntu安装debian包的命令dpkg和apt的详解

dpkg是Debian Packager的缩写

官方文档https://manpages.ubuntu.com/manpages/jammy/en/man1/dpkg.1.html

ubuntu的dpkg命令类似centos的rpm命令,dpkg主要用于对已下载到本地和已安装的.deb软件包进行管理比如安装、构建、删除。dpkg不能自动下载和安装.deb软件包也无法检查软件包的依赖关系,因此在对一个软件的依赖关系不清楚的情况下,使用dpkg对用户的开发工作不太友好。为了帮助用户获取软件包(获取存在依赖关系的软件包),则出现了更高级的APT软件包管理工具。

apt是Advanced Packaging Tool的缩写

官方文档https://manpages.ubuntu.com/manpages/jammy/en/man8/apt.8.html

ubuntu的apt类似centos的yum,从Ubuntu 16.04和Debian 9开始,开始推荐使用apt而不是apt-get,也就是使用apt来替代掉apt-get,尽管apt-get仍然可用且功能齐全。apt它提供了新软件包的安装、现有软件包的升级、软件包列表索引的更新,它提供在线软件包的管理而非下载到本地的.deb软件包的管理,apt不同于dpkg,其解决了一个重要的问题,就是软件卸载过程中的软件包的依赖性问题,并且从指定的源(/etc/apt/sources.list文件中的内容)中检索和安装软件包。

apt-get官方文档https://manpages.ubuntu.com/manpages/jammy/en/man8/apt-get.8.html关于install的解释

install is followed by one or more packages desired for installation or upgrading.

Each package is a package name, not a fully qualified filename (for instance, in a Debian system, apt-utils would be the argument provided, not apt-utils_2.4.5_amd64.deb).

例子

dpkg才可以安装下载到本地的.deb软件包,而apt不能安装

bash 复制代码
root@DAILACHDBUD001:~# ll |grep deb
-rw-r--r--  1 root root 23585760 Oct 18 06:21 clickhouse-backup_2.4.2_amd64.deb
root@DAILACHDBUD001:~# apt install clickhouse-backup_2.4.2_amd64.deb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package clickhouse-backup_2.4.2_amd64.deb
root@DAILACHDBUD001:~# dpkg -i clickhouse-backup_2.4.2_amd64.deb
Selecting previously unselected package clickhouse-backup.
(Reading database ... 127136 files and directories currently installed.)
Preparing to unpack clickhouse-backup_2.4.2_amd64.deb ...
Unpacking clickhouse-backup (2.4.2) ...
Setting up clickhouse-backup (2.4.2) ...
相关推荐
AlfredZhao4 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐1 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10155 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao6 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3107 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql