我有一个 ubuntu 系统,我想用 oracle-jdk 替换我的 openjdk。
但是,如果我删除我的 open-jdk 然后安装 oracle-jdk,当我尝试安装一些软件包时,他们想要安装 openjdk 而我不想要这个。
有没有办法在 oracle-jdk 之上安装这些软件包?其中之一是freemind。
apt upgrade
:
$ sudo apt-get full-upgrade -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
libpython3.10 : Depends: libpython3.10-stdlib (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is installed
libpython3.10-dev : Depends: libpython3.10-stdlib (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is installed
python3.10 : Depends: libpython3.10-stdlib (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is installed
python3.10-minimal : Depends: libpython3.10-minimal (= 3.10.4-1+focal2) but 3.10.4-1+focal1 is installed
E: Unmet dependencies. Try …
Run Code Online (Sandbox Code Playgroud) 我想知道有哪些包裹
sudo apt-get build-dep <package>
Run Code Online (Sandbox Code Playgroud)
会安装(如果我已经安装了一些依赖项,我也想看看那些?所以运行或模拟上面的内容是不够的)。命令行首选。
运行sudo apt-get install <PACKAGE>
将安装包、它的依赖项和任何其他推荐的包。
但是,似乎没有一种方法可以只安装包的依赖项并排除包本身。
怎么做呢?
我写这篇文章是因为我对在我的 Ubuntu 14.04 上安装 PostgreSQL 9.3 感到非常困惑。首先,我的 Python/Django 开发需要它,当我尝试安装它时遇到了问题。现在我有这个错误,它让我发疯:
The following packages have unmet dependencies:
postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installed
Depends: postgresql-common (>= 142~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
我在网上找到了一些解决方案(如何在添加 PPA 后解决未满足的依赖项?),并且我对预防措施部分做了所有工作,因为我遇到了一些损坏的包问题,并且在我再次向我显示此错误之后.
第二件事我遵循了官方的 PostgreSQL 安装教程(http://www.postgresql.org/download/linux/ubuntu/),我有重复的存储库,但我删除了它们,我添加了一个新的,但是还是这个错误。
我想安装一个包 (DigiKam),但它有很多依赖项。如果我决定不再需要这个软件并卸载它,现在不需要的依赖项会被删除吗?
如果没有,我该如何手动完成?
我无法使用`curl 从网络获取内容。我尝试安装它并得到以下输出:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies.
curl : Depends: libcurl4 (= 7.58.0-2ubuntu3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages. …
Run Code Online (Sandbox Code Playgroud) 标准apt-get upgrade
并重新启动后,当我尝试apt-get upgrade
在 22.04 LTS 中运行时,出现以下错误:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
grub-efi-amd64-signed : Depends: grub-efi-amd64-bin (= 2.06-2ubuntu7) but 2.06-2ubuntu10 is to be installed
E: Broken packages
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
这仅仅是为了好玩和好奇:有没有用,我可以一个工具直观地看到依赖一个的包作为一个图?
也就是说,给定包所依赖的包。这可以是使用 ASCII 图形(如树或 Mercurial 的图形日志)显示的命令行工具,也可以是可视化显示依赖关系图的 GUI 工具。可以直观地显示依赖项的任何其他工具组合也可以使用。
通过允许每个包拥有自己的依赖副本,快照打包格式最终将我们从依赖地狱中解放出来。我对它如何做到这一点的技术细节很感兴趣。它是如何处理的:
xdg-app 有一个叫做“运行时”的东西:
xdg-app 中的一个基本概念是运行时/应用程序拆分。每个应用程序都依赖于一个运行时,它提供应用程序所依赖的核心库。运行时通常由许多应用程序共享,但用户可以同时安装多个运行时。
似乎在 OpenSSL 的情况下,它将成为 xdg-apps 运行时的一部分,因此对 OpenSSL 的更新应该透明地影响使用相同运行时的所有 xdg-apps。