当前位置: 首页>>技术问答>>正文


如何通过命令行安装.deb文件?

, , , ,

问题描述

如何通过命令行安装.deb文件?

最佳解决方法

软件包通过dpkg命令(Debian软件包管理系统)手动安装。 dpkgapt-getaptitude命令的后端,而apt-getaptitude又是GUI安装应用程序的后端,如Software Center和Synaptic。

沿着以下方向的东西:

dpkg – > apt-getaptitude – >新立得软件中心

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

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

安装一个软件包

sudo dpkg -i DEB_PACKAGE

例如,如果包文件被称为askubuntu_2.0.deb,那么你应该做sudo dpkg -i askubuntu_2.0.deb。如果dpkg由于依赖性问题而报告错误,则可以运行sudo apt-get install -f以下载缺失的依赖项并配置所有内容。如果报告有错误,则必须按照How do I resolve unmet dependencies after adding a PPA?这样的例子自行排序依赖关系。

删除一个包

sudo dpkg -r PACKAGE_NAME

例如,如果该软件包名为askubuntu,则应该执行sudo dpkg -r askubuntu

重新配置现有的软件包

sudo dpkg-reconfigure PACKAGE_NAME

当您需要重新配置与该软件包相关的内容时,这非常有用。当您想要启用Ctrl + Alt + Backspace以重置X服务器时,可以使用一些有用的示例:keyboard-configuration,因此您需要:

sudo dpkg-reconfigure keyboard-configuration

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

sudo dpkg-reconfigure tzdata

次佳解决方法

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

要安装下载的Debian(Ubuntu)包(.deb):打开Terminal并键入

sudo dpkg -i packagename.deb

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

sudo dpkg -r packagename

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

sudo dpkg-reconfigure packagename

第三种解决方法

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

command-line,software-installation,dpkg,deb,ubuntu

我通常将.deb文件与GDebi相关联,因为它是快速高效的 – 尤其是与Ubuntu软件中心相比。 GDebi的一个主要特点是它解决了依赖关系并安装它们。

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

第四种方法

DPKG命令

有两个操作,分别是dpkg-querydpkg-deb

安装一个软件包

# sudo dpkg -i {package_name}    
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb

删除一个包

# sudo dpkg -r {package_name}
# sudo dpkg -r vlc

删除一个包及其配置文件

# sudo dpkg -P {package_name}
# sudo dpkg -P vlc

列出所有安装的包。

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

# dpkg -l | less

检查软件包是否安装

# dpkg -l {package_name}
# dpkg -l vlc

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

# dpkg -l | vlc

查看是否安装了软件包

这将显示软件包的安装位置。这里是-S(大写S)来搜索软件包是否安装。

# sudo dpkg -S {package_name}
# sudo dpkg -S skype

从指定的位置安装* .deb包

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

# sudo dpkg -R --install {package_location}
# sudo dpkg -R --install /home/sysadmin/soft

显示包裹细节

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

# dpkg -p {package_name}
# dpkg -p apache2

查看软件包的内容

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

# sudo dpkg -c {package_name}
# sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb

提取*.deb包文件

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

# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

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

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

# dpkg -X {package_name} {location_were_to_extract}
# dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

显示有关软件包的信息

这里-I代表信息:

# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb

重新配置已安装的软件包

dpkg-reconfigure在软件包已经安装完毕后对它们进行重新配置。传递一个或多个包的名称以重新配置。它会询问配置问题,就像首次安装软件包时一样。

# dpkg-reconfigure postfix

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

需要更多地了解dpkg命令?看看手册页面:

# man dpkg

第五种方法

虽然dpkg -i确实安装了该软件包,但它不会执行任何自动依赖性解析,同时还有其他两种替代方法,使用gdebi或apt-get工具。要使用后面的只是使用:

sudo apt-get install ./package.deb

在开始时注意./,如果您使用包的目录,则需要它,否则它的行为就像dpkg -i

第六种方法

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

sudo dpkg -i *.deb

第七种方法

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

#!/bin/bash
dpkg -i "$@"
apt-get --yes --fix-broken install

使脚本可执行

chmod +x debInstaller

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

我将把它移动到/usr /bin

sudo cp debInstaller /usr/bin

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

sudo debInstaller some-package.deb

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

第八种方法

在16.04&更高:

Apt现在安装&从.deb文件解析依赖关系非常简单,

sudo apt install /path/to/packagename

第九种方法

gdebi 命令行解决方案

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

sudo gdebi skype.deb

如果您尚未安装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'

(这里是the solution to that particular issue,顺便说一下。)

第十种方法

安装:

sudo dpkg -i filename.deb
sudo apt-get install -f
sudo dpkg -i filename.deb   

去除:

sudo dpkg -r PACKAGE-NAME

重新配置:

sudo dpkg-reconfigure PACKAGE-NAME

另一种方法是安装gdebi

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6.html,未经允许,请勿转载。