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

评论

找到更好的方法:steptoinstall.com/…

完整答案:如何通过dpkg -i或apt安装deb文件?

相关:如何让dpkg -i为我安装依赖项?

#1 楼

通过dpkg命令(Debian软件包管理系统)手动安装软件包。 dpkgapt-getaptitude等命令的后端,而dpkgapt-get则是诸如软件中心和Synaptic之类的GUI安装应用程序的后端。

类似以下内容:

aptitude-> apt-getaptitude-> Synaptic软件中心

但是,当然,最简单的安装软件包的方法是首先使用GUI应用程序(Synaptic,Software Center等)。 ,然后是终端命令dpkgaskubuntu_2.0.deb,它们为后端dpkg添加了一种非常友好的用户友好方法,包括但不限于打包的依赖项,对已安装内容的控制,需要更新,未安装,破损的软件包等。最后sudo dpkg -i askubuntu_2.0.deb命令是所有命令的基础。

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

安装软件包

sudo dpkg -i DEB_PACKAGE


例如,如果打包文件名为dpkg,则应该执行sudo apt-get install -f。如果askubuntu因依赖关系问题报告错误,则可以运行sudo dpkg -r askubuntu下载缺少的依赖关系并配置所有内容。如果报告错误,则您必须自己解决依赖关系,例如,添加PPA后如何解决未满足的依赖关系?。

删除软件包

sudo dpkg -r PACKAGE_NAME


例如,如果该软件包名为keyboard-configuration,则应执行tzdata

重新配置现有软件包

sudo dpkg-reconfigure PACKAGE_NAME


当您需要重新配置与上述软件包相关的内容时,这很有用。当您要启用Ctrl + Alt + Backspace以便重置X服务器时,请使用q4312079q的一些有用示例,因此您将执行以下操作:

sudo dpkg-reconfigure keyboard-configuration


另一个不错的选择是,当您需要为服务器或本地测试计算机设置时区时,请使用q4312079q软件包:

sudo dpkg-reconfigure tzdata


评论


很棒的信息,必须找到某种安装traceroute的方法来帮助调试为什么我的机器无法连接到Internet :)

–詹森
13年20月20日在15:01

注意一旦安装的程序通常在/ usr / bin中以解包的名称命名,这也很有帮助。

–克里斯·莫斯基尼(Chris Moschini)
2014年3月31日在9:10

如果我运行sudo apt-get install texlive-latex-base,它已经失败了几个月,并显示“哈希总和不匹配”。我可以从http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb下载.deb文件。如果我使用dpkg安装它,随后它会被apt-get识别(并更新)。

–user643722
16年1月19日在17:05

您好@ user643722,我建议删除该软件包的缓存版本,但在这里您有关于问题的答案askubuntu.com/questions/41605/…

–路易斯·阿尔瓦拉多(Luis Alvarado)
16年1月20日,下午3:05

如果通过aptitude或apt-get(或简称为apt)安装起来更容易,更好,为什么这里没有给出这些命令的示例?

–直觉
17年11月18日在16:56



#2 楼

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

要安装下载的Debian(Ubuntu)软件包(.deb),请执行以下操作:打开终端并键入

sudo dpkg -i packagename.deb


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

sudo dpkg -r packagename


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

sudo dpkg-reconfigure packagename


#3 楼

我最喜欢的是GDebi,可在终端/外壳程序或图形桌面上使用。



我通常将.deb文件与GDebi关联在一起,因为它快速高效,尤其是与Ubuntu相比软件中心。 GDebi的主要功能之一是它可以解决依赖关系并进行安装。

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

评论


它在安装之前检查依赖项,谢谢!

–水瓶座力量
2014年11月13日下午3:18

gdebi甚至可以下载依赖项,还是我们必须手动下载它们? @潘迪

–杰瑟
15年8月29日在10:27



对于非Linux背景的人们来说可能更好。

– Nisheet
16 Dec 27'在11:26

+1是“它解决依赖关系并安装依赖项”的关键。

– Revetahw说恢复Monica
17年4月4日在16:54

这应该是正确的答案。使用dpkg -i需要更深入地了解软件包系统的工作方式。 GDebi自动执行操作。另外,对于那些需要非GUI解决方案的人,gdebi有-n,--non-interactive选项。就像dpkg一样,但是它首先检查依赖项,如果无法解决依赖项,则拒绝安装。

– bamm
10月27日11:39



#4 楼

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

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

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 -l | vlc”-这只会将软件包列表通过管道传送到vlc,如果已安装,则结果无法预测;比输入vlc更好

– Xen2050
2015年2月7日在6:15

#5 楼

尽管dpkg -i确实安装了该软件包,但它并没有执行任何自动的依赖项解析,同时还有其他两种选择,使用gdebi或apt-get工具。要使用后面的版本,只需使用:

sudo apt-get install /path/to/package.deb


即使您位于带有软件包的目录中,也需要在开始时使用./给出路径:

sudo apt-get install ./package.deb


评论


这可能是最好的答案。如果您没有正确的依赖项,apt将阻止您破坏系统。

–mlainz
17年5月15日在22:04



该命令似乎选择了所有现有的软件包。

– Hibou57
17年9月23日在7:58

@ Hibou57程序包名称中不能有任何空格。

–脑袋
18 Mar 5 '18 at 20:18

#6 楼

安装诸如Libreoffice之类的程序时,它的一个实用技巧是在一个文件夹中有多个.deb文件。

sudo dpkg -i *.deb


评论


切勿使用此命令。如果要删除该软件包,则必须手动删除所有deb。 sudo apt remove示例,sudo apt autoremove和sudo dpkg -r * .deb不起作用。

–没人
17-9-29在14:55



#7 楼

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'


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

评论


askubuntu.com/a/170557/158442确实说可以从命令行使用gdebi

–muru
16 Dec 27'在11:59

@muru是的,但是由于屏幕截图,很容易错过。另外,它也不能解释dpkg -i skype.deb的问题

– Flimm
16-12-27在12:29



#8 楼

创建您自己的脚本安装程序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


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

#9 楼

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

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


第二行是在安装失败的情况下修复损坏的软件包,然后再次安装以完成安装。 />
,或使用:gdebi-安装deb文件的简单工具。

#10 楼

有很多安装Deb软件包的工具
我个人使用内置软件包安装程序dpkg

如果您以root用户身份登录
,请将目录更改为Deb软件包的位置
/>
dpkg -i package_name.deb


如果您没有以root用户身份登录

sudo dpkg -i package_name.deb


要确保该软件包已正确安装且未有任何损坏的依赖项

sudo apt-get check


如果有任何损坏的依赖项

sudo apt-get -f install