Lui*_*ado 1394

软件包通过命令(Debian 软件包管理系统)手动安装dpkgdpkgapt-get和 等命令的后端aptitude,而后者又是软件中心和 Synaptic 等 GUI 安装应用程序的后端。

类似的东西:

dpkg--> apt-get, aptitude--> Synaptic, 软件中心

但当然,安装软件包最简单的方法是,首先是 GUI 应用程序(Synaptic、软件中心等),然后是终端命令,apt-getaptitude为后端 dpkg 添加一个非常好的用户友好方法,包括但不限于打包的依赖项,控制安装的内容,需要更新的,未安装的,损坏的包等。最后,dpkg命令是所有这些的基础。

由于 dpkg 是基础,因此您可以使用它直接从命令行安装打包。

安装一个包

sudo dpkg -i DEB_PACKAGE
Run Code Online (Sandbox Code Playgroud)

例如,如果包文件被调用,askubuntu_2.0.deb那么你应该做sudo dpkg -i askubuntu_2.0.deb. 如果dpkg因为依赖问题报错,可以运行sudo apt-get install -f下载缺失的依赖,配置好一切。如果报告错误,您必须自己整理依赖项,例如如何在添加 PPA 后解决未满足的依赖项?.

删除一个包

sudo dpkg -r PACKAGE_NAME
Run Code Online (Sandbox Code Playgroud)

例如,如果包被调用,askubuntu那么你应该做sudo dpkg -r askubuntu.

重新配置现有包

sudo dpkg-reconfigure PACKAGE_NAME
Run Code Online (Sandbox Code Playgroud)

当您需要重新配置与所述包相关的内容时,这很有用。一些有用的例子吧keyboard-configuration,当你想启用Ctrl+ Alt+ Backspace,以重置X服务器,所以你会在下面:

sudo dpkg-reconfigure keyboard-configuration
Run Code Online (Sandbox Code Playgroud)

另一个很棒的方法是当您需要为服务器或本地测试计算机设置时区时,您可以使用以下tzdata包:

sudo dpkg-reconfigure tzdata
Run Code Online (Sandbox Code Playgroud)

  • 还需要注意的是,一旦安装的程序通常位于 /usr/bin 中,以解包的内容命名。 (29认同)
  • 很棒的信息,必须找到某种方法来安装 traceroute 以帮助调试为什么我的机器无法连接到 Internet :) (4认同)
  • 如果通过`aptitude` 或`apt-get`(或简称为`apt`)安装更容易更好,为什么这里没有给出这些命令的示例? (2认同)
  • 对于现代的“apt”,我建议改为“sudo apt install ./package.deb”。这允许自动安装所有依赖项,并且它会执行“dpkg”不会实现的所有额外健全性检查,因为它是一个低级命令。请注意,如果没有前缀“/”或“./”,某些版本的“apt”可能无法理解您正在尝试引用文件名,而不是存储库中的包名称。 (2认同)

Atu*_*ana 179

Debian (.deb) 包是在 Ubuntu 中使用的包。您可以在系统中安装任何 .deb 包。.deb 文件通常可以通过您的文件管理器 (Nautilus) 安装,只需单击它们,因为与默认安装程序的文件关联已在 Ubuntu 中设置。这些说明适用于希望从命令行终端(终端)安装软件包的人。

要安装下载的 Debian ( Ubuntu ) 软件包 (.deb):打开终端并键入

sudo dpkg -i packagename.deb
Run Code Online (Sandbox Code Playgroud)

删除 Debian (Ubuntu) 软件包 (.deb):

sudo dpkg -r packagename
Run Code Online (Sandbox Code Playgroud)

要重新配置/修复已安装的 Debian (Ubuntu) 软件包 (.deb):

sudo dpkg-reconfigure packagename
Run Code Online (Sandbox Code Playgroud)

  • 从 Ubuntu 22 开始,单击它们不起作用,它将作为存档打开 (2认同)

小智 114

我最喜欢的是 GDebi,可以从终端/shell 或图形桌面使用。

截屏

我通常将.deb文件与 GDebi相关联,因为它快速高效——尤其是与 Ubuntu 软件中心相比。GDebi 的主要功能之一是解析依赖项并安装它们。

对于命令行运行sudo gdebi <package.deb>以安装单个 deb 文件。

  • 它在安装之前检查依赖项,谢谢!! (5认同)

Bab*_*ton 93

您是否正在寻找所有dpkg命令?单击此链接阅读。

管理基于 Debian 的 Linux 服务器的 15 个 dpkg 命令

DPKG 命令

有两个动作,它们是dpkg-querydpkg-deb

安装一个包

# sudo dpkg -i {package_name}    
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb
Run Code Online (Sandbox Code Playgroud)

删除一个包

# sudo dpkg -r {package_name}
# sudo dpkg -r vlc
Run Code Online (Sandbox Code Playgroud)

删除包及其配置文件

# sudo dpkg -P {package_name}
# sudo dpkg -P vlc
Run Code Online (Sandbox Code Playgroud)

列出所有已安装的软件包。

您可以将命令通过管道传输到less(寻呼机),以便您可以更轻松地滚动内容:

# dpkg -l | less
Run Code Online (Sandbox Code Playgroud)

检查包是否安装

# dpkg -l {package_name}
# dpkg -l vlc
Run Code Online (Sandbox Code Playgroud)

检查软件包是否已安装,如果已安装,则启动它:

# dpkg -l | vlc
Run Code Online (Sandbox Code Playgroud)

查看是否安装了包

这将显示安装包的位置。在这里-S(capital S) 搜索是否安装了包。

# sudo dpkg -S {package_name}
# sudo dpkg -S skype
Run Code Online (Sandbox Code Playgroud)

从指定位置安装 *.deb 包

这里-R是递归的。(递归处理*.deb在指定目录及其所有子目录中找到的与模式匹配的所有常规文件 )。

# sudo dpkg -R --install {package_location}
# sudo dpkg -R --install /home/sysadmin/soft
Run Code Online (Sandbox Code Playgroud)

显示包裹详情

这里-p(小写p)将显示包信息:

# dpkg -p {package_name}
# dpkg -p apache2
Run Code Online (Sandbox Code Playgroud)

查看包的内容

使用-c(小写c)显示内容:

# sudo dpkg -c {package_name}
# sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb
Run Code Online (Sandbox Code Playgroud)

解压*.deb包文件

使用-x(小写x)提取:

# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/
Run Code Online (Sandbox Code Playgroud)

提取并显示包中包含的文件名

使用-X(大写X)显示提取内容。

# dpkg -X {package_name} {location_were_to_extract}
# dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/
Run Code Online (Sandbox Code Playgroud)

显示有关包的信息

这里-I代表信息:

# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb
Run Code Online (Sandbox Code Playgroud)

重新配置已经安装的包

dpkg-reconfigure在安装包后重新配置包。将要重新配置的一个或多个包的名称传递给它。它会询问配置问题,就像第一次安装软件包时一样。

# dpkg-reconfigure postfix
Run Code Online (Sandbox Code Playgroud)

这将postfix按照与第一次安装时相同的方式重新配置。

需要了解更多有关dpkg命令的信息吗?看看手册页:

# man dpkg
Run Code Online (Sandbox Code Playgroud)

  • "*检查软件包是否已安装,如果已安装,则启动它:`# dpkg -l | vlc`*" - 这只会将软件包列表通过管道传输到 vlc,如果已安装,则会产生不可预测的结果;并没有比输入 `vlc` 更好 (5认同)

Bra*_*iam 76

虽然dpkg -i确实安装了该软件包,但它不会进行任何自动依赖项解析,同时还有其他两种选择,使用 gdebi 或 apt-get 工具。要使用后者,只需使用:

sudo apt-get install /path/to/package.deb
Run Code Online (Sandbox Code Playgroud)

即使您在包含包的目录中,您也需要./在开始时提供一个路径:

sudo apt-get install ./package.deb
Run Code Online (Sandbox Code Playgroud)

  • 这可能是最好的答案。如果您没有正确的依赖项,`apt` 将防止您破坏您的系统。 (17认同)

小智 27

在安装像 Libreoffice 这样一个文件夹中有多个 .deb 文件的程序时,一个方便的提示是使用。

sudo dpkg -i *.deb
Run Code Online (Sandbox Code Playgroud)

  • 切勿使用此命令。如果要删除该包,您必须手动删除所有 deb。`sudo apt remove example`、`sudo apt autoremove` 和 `sudo dpkg -r *.deb` 不起作用。 (3认同)

mzu*_*her 21

我实际上已经等待这个很多年了

sudo apt install ./happy-at-long-last.deb
Run Code Online (Sandbox Code Playgroud)

耶!:) 这适用于APT 1.1,现在应该可以在大多数系统上使用。

使用dpkg经常给我带来问题,而apt它非常擅长自动解决依赖关系并避免问题。而且它仍然是低级别的,足以允许编写脚本和微调......

  • 现在这是“正确”的答案,应该真正位于列表的第一位。我不认为 SO/AskUbuntu 让版主手动更改列出的答案的顺序。好久不见了! (3认同)

Fli*_*imm 16

gdebi命令行溶液

这是在命令行上在 Ubuntu 上安装 .deb 文件的最佳方法:

sudo gdebi skype.deb
Run Code Online (Sandbox Code Playgroud)

如果您还没有gdebi安装,请使用sudo apt install gdebi-core.

为什么是gdebi?

gdebi将查找.deb文件的所有依赖项,并在尝试安装.deb文件之前安装它们。我觉得这比sudo dpkg -i skype.deb && sudo apt install -f. 后者在某些情况下过于渴望删除依赖项。例如,当我尝试安装 Skype 时,它​​试图删除 96 个 (!) 软件包,包括像compizunity! gdebi给出了更清晰的错误信息:

$ sudo gdebi skype.deb
Cannot install 'libqtgui:i386'
Run Code Online (Sandbox Code Playgroud)

(顺便说一下,这是该特定问题的解决方案。)


May*_*hux 12

创建您自己的脚本安装程序debInstaller,如下所示:

#!/bin/bash
dpkg -i "$@"
apt-get --yes --fix-broken install
Run Code Online (Sandbox Code Playgroud)

使脚本可执行

chmod +x debInstaller
Run Code Online (Sandbox Code Playgroud)

然后将其移动到 PATH 中的某些目录或将当前目录添加到 PATH。

我要把它移到 /usr/bin

sudo cp debInstaller /usr/bin
Run Code Online (Sandbox Code Playgroud)

现在您可以.deb使用以下命令安装任何软件包:

sudo debInstaller some-package.deb
Run Code Online (Sandbox Code Playgroud)

这种方法的附加值是解决依赖问题,因为大多数情况下你会因为依赖错误而在安装一个.deb with时遇到一些问题dpkg -i,所以你必须使用apt-get install -f它来解决它,这个脚本会为你完成这项工作,但是这里我曾经apt-get --yes --fix-broken install自动解决这些错误而无需用户干预。


Ben*_*nny 10

要安装.deb文件,您可以使用:

sudo dpkg -i file.deb
sudo apt-get install -f
sudo dpkg -i file.deb   
Run Code Online (Sandbox Code Playgroud)

第二行是如果安装失败修复损坏的包,然后,再次安装以完成安装。

或者通过使用:gdebi - 安装 deb 文件的简单工具


小智 6

有很多工具可以安装 deb 包。

我个人使用内置的软件包安装程序dpkg

  1. 如果您以 root 身份登录
  1. 如果您没有以 root 身份登录

    sudo dpkg -i package_name.deb
    
    Run Code Online (Sandbox Code Playgroud)

为了确保该软件包已正确安装并且没有任何损坏的依赖项

sudo apt-get check
Run Code Online (Sandbox Code Playgroud)

如果存在任何损坏的依赖关系

sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

3658830 次

最近记录:

4 年,7 月 前