我有一个关于软件包和在 Ubuntu 中构建程序的可能性的基本问题。具体来说:我正在使用Ubuntu 18.04.6 LTS. 假设我想从源代码构建 Okular 以获得最新功能 [okular 来自源]。关于此主题有一些相关问题,请参阅问题 1,第二季度,但我想知道的是:当开始下载所需的依赖项时(例如我需要cmake_3.18.4-2_amd64.deb,这需要libarchive13_3.4.3-2+b1_amd64.deb等等……)我如何检查在某个时候我是否需要更新的内核?因为这将是最终的结果,对吧(因为此时我应该直接安装一个永不操作系统)?我不确定在哪个方面可以apt
完成这项工作。apt
的输出
...
cmake : Depends: libarchive13 (>= 3.3.3) but 3.2.2-3.1ubuntu0.7 is to be installed
Depends: libgcc-s1 (>= 3.0) but it is not installable
Depends: libjsoncpp24 (>= 1.9.4) but it is not installable
Depends: libstdc++6 (>= 9) but 8.4.0-1ubuntu1~18.04 is to be installed
...
意思是说安装所有需要的依赖项以成功是毫无希望的?我并不害怕做很多工作,但我想提前知道是否浪费时间自己构建包。这里最好的程序是什么(除了系统更新)?
答案1
由于依赖关系,您无法在不太旧的系统上编译非常新的软件。在旧系统上手动安装新的依赖关系会破坏它。
作为无害的替代品,你可以使用KDE 的 Okular 21.08.2 flatpak在你的 Ubuntu 18.04 LTS 上。使用以下命令安装:
sudo add-apt-repository ppa:flatpak/stable
sudo apt update
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.kde.okular
并启动它使用
flatpak run org.kde.okular
或者在您的桌面环境中找到相关图标。
答案2
KDE 已经使用 Okular Snap 解决了这个问题。
Snap 与系统的其余部分隔离开来,每当作者(KDE)推送更新时,它都会自动更新。
当前的 snap(版本 20.12.3)应该与您的 18.04 系统完全兼容。
- 更多信息:
snap list okular
- 安装:
sudo snap install okular
- 它独立于 Ubuntu(或 Debian)版本。如果你发现 snap 版本过时了,只需直接 ping KDE 即可——他们是作者,他们可以随时更新它。