.deb
文件?#1 楼
通过dpkg
命令(Debian软件包管理系统)手动安装软件包。 dpkg
是apt-get
和aptitude
等命令的后端,而dpkg
和apt-get
则是诸如软件中心和Synaptic之类的GUI安装应用程序的后端。类似以下内容:
aptitude
-> apt-get
,aptitude
-> Synaptic软件中心但是,当然,最简单的安装软件包的方法是首先使用GUI应用程序(Synaptic,Software Center等)。 ,然后是终端命令
dpkg
和askubuntu_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-query
和dpkg-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(!)软件包,包括compiz
和unity
之类的软件包! 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
此方法的附加价值是解决依赖关系问题,因为大多数情况下,您会当由于依赖性错误而在安装带有
.deb
的dpkg -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
评论
找到更好的方法:steptoinstall.com/…完整答案:如何通过dpkg -i或apt安装deb文件?
相关:如何让dpkg -i为我安装依赖项?