如何通过命令行安装一个 .deb 文件?
sudo dpkg -i DEB_PACKAGE
askubuntu_2.0.deb
,那么你应该执行sudo dpkg -i askubuntu_2.0.deb
。如果dpkg
报告由于依赖问题而出错,你可以运行sudo apt-get install -f
来下载缺失的依赖项并配置一切。如果这也报错了,你将不得不自己解决依赖关系,例如按照如何在添加PPA后解决未满足的依赖关系?的指示进行操作。
sudo dpkg -r PACKAGE_NAME
askubuntu
,那么你应该执行sudo dpkg -r askubuntu
来卸载它。sudo dpkg-reconfigure PACKAGE_NAME
keyboard-configuration
,当您想要启用Ctrl+Alt+Backspace以重置X服务器时,您可以执行以下操作:sudo dpkg-reconfigure keyboard-configuration
tzdata
软件包。sudo dpkg-reconfigure tzdata
sudo apt-get install texlive-latex-base
,几个月来一直出现"Hash Sum mismatch"错误。我可以从http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb
下载.deb文件。如果我使用dpkg安装它,apt-get会随后识别(并更新)吗? - user643722aptitude
或apt-get
(或者简单地使用apt
)更容易、更好安装,为什么这里没有给出这些命令的示例呢? - intuiteddpkg -L 软件包名称 | egrep '/bin/|/sbin/'
或者只使用 grep bin/
也通常有效。 - Pablo Bianchiapt
,我建议使用sudo apt install ./package.deb
来安装。这样可以自动安装所有依赖项,并进行额外的健全性检查,而dpkg
不会实施这些检查,因为它是一个底层命令。请注意,如果没有前缀/
或./
,某些版本的apt
可能无法理解您要引用的是文件名,而不是存储库中的软件包名称。 - Mikko Rantalainensudo dpkg -i packagename.deb
sudo dpkg -r packagename
sudo dpkg-reconfigure packagename
我的最爱是GDebi,它可以从终端/Shell或图形桌面获取。
我通常将.deb文件与GDebi关联起来,因为它快速高效 - 尤其是与Ubuntu软件中心相比。 GDebi的主要特点之一是它解决依赖关系并安装它们。dpkg -i
需要对软件包系统的工作原理有更深入的了解。GDebi会自动处理这些事情。此外,对于那些想要非图形界面解决方案的人来说,gdebi还有一个-n、--non-interactive选项。它类似于dpkg,但会先检查依赖关系,如果无法解决依赖关系,则拒绝安装。 - bammsudo apt-get install /path/to/package.deb
./
来指定路径:sudo apt-get install ./package.deb
apt
将防止你破坏系统。 - mlainzapt-get
会从软件源下载并安装最新的deb包,为了防止这种情况发生,在安装之前关闭网络。更干净的安装方法是将文件(或多个deb文件)复制到/var/cache/apt/archives
目录下,并运行sudo apt-get install --assume-yes --no-install-recommends /var/cache/apt/archives/*.deb
命令,这样我注意到apt
不会尝试从互联网下载。 - Alex Martian有两个动作,它们是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
来搜索软件包是否已安装。
# sudo dpkg -S {package_name}
# sudo dpkg -S skype
这里的-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
来显示具有提取功能的内容。# 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
相比并没有更好的效果。 - Xen2050sudo dpkg -i *.deb
sudo apt remove example
、sudo apt autoremove
以及sudo dpkg -r *.deb
都没有效果。 - user690429sudo apt install ./happy-at-long-last.deb
dpkg
经常给我带来问题,而apt
非常擅长自动解决依赖关系和避免问题。而且它仍然足够低级,可以进行脚本编写和精细调整...以下是在Ubuntu命令行上安装.deb文件的最佳方法:
sudo gdebi skype.deb
gdebi
,请使用sudo apt install gdebi-core
进行安装。
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'
gdebi
命令行工具。 - murudpkg -i skype.deb
存在的问题。 - Flimm.deb
文件可以使用以下方法完成:sudo apt install ./<file>.deb
sudo dpkg -i ./<file>.deb
sudo apt-get install -f # Installing missing dependencies
debInstaller
如下所示:#!/bin/bash
dpkg -i "$@"
apt-get --yes --fix-broken install
chmod +x debInstaller
sudo cp debInstaller /usr/bin
.deb
软件包:sudo debInstaller some-package.deb
dpkg -i
安装.deb
时,往往会遇到一些依赖错误的问题,所以你必须使用apt-get install -f
来解决它,这个脚本将为您完成这项工作,但是在这里我使用了apt-get --yes --fix-broken install
来自动解决这些错误,无需用户干预。
dpkg -i
为我安装依赖项? - Melebius