我安装了wkhtmltopdf,通过sudo apt-get install wkhtmltopdf。它的版本是 0.9.9。
http://wkhtmltopdf.org/downloads.html说它的最新稳定版本是 0.12.2.1。所以我为 Ubuntu 14.04 下载了它的 deb。
apt由于https://unix.stackexchange.com/a/159114/674和相关回复中所述的原因,我想使用安装下载的 deb ,因此我将其移至/var/cache/apt/archives,但仍然如何使用 安装它apt?
$ mv /tmp/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb /var/cache/apt/archives
$ sudo apt-get install wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
E: Couldn't find any package by regex 'wkhtmltox-0.12.2.1_linux-trusty-amd64.deb'
$ sudo apt-get install wkhtmltox
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package wkhtmltox
Run Code Online (Sandbox Code Playgroud)
$ sudo apt-get install wkhtmltopdf仍然安装旧版本。谢谢。
要安装本地存储的.deb包,请使用dpkg. 尝试:
sudo dpkg -i /path/to/your/package.deb
Run Code Online (Sandbox Code Playgroud)
apt照顾dpkg不能的依赖问题。
有一个有趣的项目dpkg-offline目前正在开发中。引用README项目的,
This tool will download a set of .deb packages needed to install all of the given <packages-to-download>, with their dependencies satisfied, on an installation done from <base-iso>.
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看该工具的开发版本。我没有尝试过,所以不知道它有多(不稳定)。
这是 Launchpad 中 dev 分支的教程,介绍如何安装和使用dpkg-offline.
奖励在 2015-05-06 15:00 的 Ubuntu 在线峰会上将有一个关于这个包的show and tell 活动。
要安装手动下载的 .deb 包并自动从您配置的存储库下载并安装它依赖的包:
sudo apt-get -f install在使用 .deb 安装 .deb 后运行dpkg -i。gdebi安装 .deb 包并自动解析其依赖项(apt-get不会这样做,但gdebi它的图形前端会)。详情请见下文。
apt-get不这样做apt-get检查您配置的软件源(存储库)并自动下载和安装软件包。除了无法访问配置的存储库的情况外,这不会使apt-get install原本不会成功的命令成功。如果软件包不在您的存储库之一中,apt-get即使 .deb 文件恰好在 .deb 中,也不知道安装它/var/cache/apt/archives。
因此:
如果你已经下载了一个包,并且它是同一个包apt-get会自动下载和安装,那么你可以把它放在那里/var/cache/apt/archives而apt-get不必下载它。
如果你已经下载了一个包,它不是apt-get自动选择的包,但它在配置的存储库中仍然可用,那么你可以将它放入/var/cache/apt/archives并强制apt-get尝试安装它而不是它喜欢的包。例如:
sudo apt-get install abiword=3.0.1-1
Run Code Online (Sandbox Code Playgroud)这些情况都不适用于您的情况。在特定的包版本不是由任何配置的存储库的提供,因为它是不是从上游项目的一个alpha测试版下载页面。因为你没有资源库,提供该版本的那个包,则无法安装与您手动下载的.deb文件apt-get。
dpkg和解决依赖关系apt-get幸运的是,您似乎不需要使用apt-get. 看来你的实际目标是
dpkg可以做,但apt-get不能),并且还dpkg不能做的,但apt-get也可以)。您可以通过两个单独的步骤执行此操作:
使用dpkg.
sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
Run Code Online (Sandbox Code Playgroud)这造成了缺失的依赖关系。apt-get可以自动修复丢失的依赖项。
sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)
这也应该自动完成配置原始包。(所以你可能不需要sudo dpkg --configure -a自己跑。)
gdebi安装和解析依赖虽然apt-get不会尝试自动安装任意 .deb 文件及其依赖项,但有一个专门用于此目的的工具:gdebi
. 来自man gdebi:
gdebi 允许您安装本地 deb 包,解析和安装其依赖项。apt 执行相同的操作,但仅适用于位于远程(http、ftp)的软件包。
要在终端中使用 gdebi,请以 root 身份运行,例如:gdebi package.deb
sudo gdebi wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
Run Code Online (Sandbox Code Playgroud)
gdebi 也有图形前端。您可能想要使用gdebi-gtkGTK+ 前端:
gksudo gdebi-gtk wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
Run Code Online (Sandbox Code Playgroud)
但是,如果您正在运行 Kubuntu(或以其他方式使用 KDE),您可能更喜欢gdebi-kdeKDE 前端(由gdebi-kde 提供)
包裹):
kdesudo gdebi-kde wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
Run Code Online (Sandbox Code Playgroud)
也可以不带参数调用图形前端(例如,gksudo gdebi-gtk),在这种情况下,您可以单击文件 > 打开以从 GUI 中浏览并选择 .deb 文件。

apt-get无法安装deb包,请使用dpkg:
sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19474 次 |
| 最近记录: |