Answers:
包手动通过安装的dpkg
命令(Debian软件包管理系统)。dpkg
是诸如apt-get
和的命令的后端aptitude
,而反过来又是诸如软件中心和Synaptic之类的GUI安装应用程序的后端。
类似于以下内容:
dpkg
-> apt-get
,aptitude
->突触软件中心
但是,当然,最简单的安装软件包的方法是,首先是GUI应用程序(Synaptic,软件中心等),其次是终端命令apt-get
,aptitude
这为后端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
以下载缺少的依赖关系并配置所有内容。如果报告错误,则您必须自己解决依赖关系,例如,在添加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
,则由于“哈希总和不匹配”而失败了几个月。我可以从下载.deb文件http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb
。如果我使用dpkg安装它,随后它会被apt-get识别(并更新)。
aptitude
或apt-get
(或简单地apt
)安装起来更容易,更好,为什么这里没有给出这些命令的示例?
Debian(.deb)软件包是Ubuntu中使用的软件包。您可以在系统中安装任何.deb软件包。通常可以通过单击文件管理器(Nautilus)来安装.deb文件,因为在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,可从终端/外壳或图形桌面上获得。
我通常将.deb
文件与GDebi 关联,因为它快速高效-尤其是与Ubuntu Software Center相比。GDebi的主要功能之一是它可以解决依赖关系并进行安装。
对于命令行运行,sudo gdebi <package.deb>
以安装单个deb文件。
您是否正在寻找所有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
这-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
gdebi
命令行溶液这是在命令行上在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
可以从命令行使用
dpkg -i skype.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
此方法的附加价值是解决依赖关系问题,因为在安装.deb
with时dpkg -i
由于依赖关系错误,通常会遇到一些问题,因此必须使用apt-get install -f
它来解决此脚本,该脚本将为您完成工作,但是在这里,我曾经apt-get --yes --fix-broken install
自动解决这些错误,而无需用户干预。