8_基于Debian和Ubuntu的发行版
Debian and Ubuntu Based Distros
-
Linux上的大多数应用程序都是开源的,我们提供了应用程序的源文件,为了在平台上运行它们,我们必须编译源代码或从二进制包安装它。Linux上下文中的二进制包是包含可执行文件的应用程序包,而不是源代码。可执行文件是编译过程的结果。本文将探讨如何使用
dpkg
管理Ubuntu和其他基于Debian的发行版上的软件应用程序。 -
Deb是所有基于Debian的发行版使用的安装包格式,实际上这是一个包含其他文件的存档,包括已经编译好了的可执行的应用程序。
例如,下载一个forlinux 的谷歌浏览器安装包,右键用Archive Manager打开
我们看到安装包里有三个存档:
control文件包含有关版本、发布、依赖项等元数据信息。
data.tar包含可执行文件。可以使用不同的可用工具从最低级别执行包管理操作,从命令dpkg到apt到图形前端,如Synaptic。
dpkg为包管理提供底层基础设施,dpkg数据库包含当前系统上已安装软件的列表,它可以与本地
.deb
包文件一起使用,并且不了解存储库且不解决依赖关系,就像apt一样。其他高级工具(如apt)将在幕后调用dpkg。如果你有一个本地下载的应用程序是一个deb文件,你可以使用dpkg安装它。
用
dpkg --info
命令显示安装包的信息。dpkg --info nameofthefile.deb
用
dpkg -i
安装安装包。sudo dpkg -i nameofthefile.deb
用
dpkg -i
一次安装多个安装包,特别是当多个安装包之间有依赖关系时。要获取所有已安装软件包的列表,运行:
sudo dpkg --get-selections
系统上安装的程序列表
或者你想查看package-version架构和简短描述,使用:
dpkg-query -l | grep name
查询结果中的前缀 ii 表示所需状态为'安装',数据包状态是'已安装.
如果你想查看该安装包安装在系统上的所有文件,可以运行:
dpkg-query -l | grep name dpkg -L packagename
如果你想查看特定文件属于哪个包,请使用大写S选项。
比如想查看ls属于哪个包:
which -a ls dpkg -S /bin/ls
coreutils: /bin/ls #可以看到 /bin/ls属于coreutils这个安装包。
要查看该软件包里的所有其他文件,请运行
dpkg -L coreutils | less
...#我们可以看到这个软件包里包含系统cp、mkdir、rm、touch等核心实用程序。
要删除已安装的安装包,请运行:
sudo dpkg -r nameofthepackage
同时,删除安装的应用,请运行:
sudo dpkg -P nameoftheAPP
dpkg是一个低级工具,既不能与存储库一起使用,也不能解决依赖问题,最好使用
apt
命令。 -
apt
means advanced Package Tool在安装应用之前,可用:
sudo apt update
该命令不会安装新程序,而会更新索引。
从远程仓库安装多个应用:
sudo apt install 应用名称1 应用名称2
从本地deb文件安装程序,运行:
sudo apt 文件完整路径.deb