PopOS软件依赖解决记录

前言

最近接触到一个基于Ubuntu的Linux发行版——Pop!_OS。听说它对驱动支持友好,好用流畅,还把Snap换成了Flatpak,于是我也去尝试了一下。只不过,马上我就遇到了2个软件包安装的问题,下面是我的记录过程。

先说明一下我的环境:系统为Pop!_OS 22.04 LTS,系统安装在VMWare虚拟机内,4G内存,安装系统使用默认的Clean Install(全盘安装)并选择简体中文语言。安装后为apt添加清华源(Ubuntu)和安装vim(sudo apt install vim)、VMWare Tools(默认安装)。另外使用apt-mark设置linux内核不更新 (hold了linux-headers-generic、linux-image-generic、linux-generic三个软件包)

neofetch

新安装一个Linux发行版,用neofetch显示一下系统信息也是很不错的选择。而当我输入sudo apt install neofetch时,遇到了如下提示:

denvo@pop-os:~ $ sudo apt install neofetch
[sudo] denvo 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 pop-desktop : 预依赖: pop-de-gnome 但是它将不会被安装
               依赖: flatpak 但是它将不会被安装
               依赖: xorg 但是它将不会被安装
               依赖: gvfs-backends
               依赖: gvfs-fuse 但是它将不会被安装
               依赖: libcanberra-gtk-module 但是它将不会被安装
               依赖: libglib2.0-bin
               推荐: touchegg 但是它将不会被安装
               推荐: pop-shop 但是它将不会被安装
               推荐: pop-transition 但是它将不会被安装
               推荐: popsicle-gtk 但是它将不会被安装
               推荐: ibus-table-emoji
               推荐: libavcodec58
               推荐: libreoffice-calc 但是它将不会被安装
               推荐: libreoffice-impress 但是它将不会被安装
               推荐: libreoffice-writer 但是它将不会被安装
               推荐: com.github.donadigo.eddy 但是它将不会被安装
               推荐: hidpi-daemon 但是它将不会被安装
               推荐: libreoffice-ogltrans
               推荐: network-manager-config-connectivity-pop 但是它将不会被安装
               推荐: sessioninstaller 但是它将不会被安装
E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。
denvo@pop-os:~ $

主要的提示是pop-desktop : 预依赖: pop-de-gnome 但是它将不会被安装

我再输入sudo apt-mark showhold,显示如下,上面提示的软件包没有被hold。

denvo@pop-os:~ $ sudo apt-mark showhold
linux-generic
linux-headers-generic
linux-image-generic
denvo@pop-os:~ $

我再尝试更新软件包(sudo apt upgrade),完成之后再尝试安装neofetch,结果仍然如此。最终的解决方案是:安装更高级的软件包管理工具aptitude(sudo apt install aptitude),然后使用sudo aptitude install neofetch安装neofetch。

现在的neofetch就安装成功了。

denvo@pop-os:~ $ neofetch
             /////////////                denvo@pop-os 
         /////////////////////            ------------ 
      ///////*767////////////////         OS: Pop!_OS 22.04 LTS x86_64 
    //////7676767676*//////////////       Host: VMware Virtual Platform None 
   /////76767//7676767//////////////      Kernel: 6.9.3-76060903-generic 
  /////767676///*76767///////////////     Uptime: 43 mins 
 ///////767676///76767.///7676*///////    Packages: 1791 (dpkg) 
/////////767676//76767///767676////////   Shell: bash 5.1.16 
//////////76767676767////76767/////////   Resolution: 1714x922 
///////////76767676//////7676//////////   DE: GNOME 42.9 
////////////,7676,///////767///////////   WM: Mutter 
/////////////*7676///////76////////////   WM Theme: Pop 
///////////////7676////////////////////   Theme: Pop [GTK2/3] 
 ///////////////7676///767////////////    Icons: Pop [GTK2/3] 
  //////////////////////'////////////     Terminal: gnome-terminal 
   //////.7676767676767676767,//////      CPU: Intel Xeon E5-2660 0 (8) @ 2.199GHz 
    /////767676767676767676767/////       GPU: 00:0f.0 VMware SVGA II Adapter 
      ///////////////////////////         Memory: 2059MiB / 3868MiB 
         /////////////////////
             /////////////                                        
                                                                  


denvo@pop-os:~ $

Clash Verge Rev

对于有特殊需求来说,这个软件几乎是必装。我在Clash Verge Rev的github上下载了2.2.3版本的deb安装包,然后使用sudo apt install ./Clash.Verge_2.2.3_amd64.deb安装软件,输出如下:

denvo@pop-os:~ $ sudo apt install ./Clash.Verge_2.2.3_amd64.deb
[sudo] denvo 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
注意,选中 'clash-verge' 而非 './Clash.Verge_2.2.3_amd64.deb'
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 libnma-common : 破坏: network-manager-gnome (< 1.30.0) 但是 1.24.0-1ubuntu3 正要被安装
 pop-desktop : 预依赖: pop-de-gnome 但是它将不会被安装
E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。
denvo@pop-os:~ $

更新所有软件包后,再安装软件,结果类似。于是我打算先用dpkg(sudo dpkg -i ./Clash.Verge_2.2.3_amd64.deb)安装Clash Verge Rev,后续再解决依赖。

denvo@pop-os:~ $ sudo dpkg -i ./Clash.Verge_2.2.3_amd64.deb 
正在选中未选择的软件包 clash-verge。
(正在读取数据库 ... 系统当前共安装有 214764 个文件和目录。)
准备解压 ./Clash.Verge_2.2.3_amd64.deb  ...
正在解压 clash-verge (2.2.3) ...
dpkg: 依赖关系问题使得 clash-verge 的配置工作不能继续:
 clash-verge 依赖于 libwebkit2gtk-4.1-0;然而:
  未安装软件包 libwebkit2gtk-4.1-0。

dpkg: 处理软件包 clash-verge (--install)时出错:
 依赖关系问题 - 仍未被配置
正在处理用于 gnome-menus (3.36.0-1.1ubuntu3) 的触发器 ...
正在处理用于 desktop-file-utils (0.26-1ubuntu3) 的触发器 ...
正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ...
在处理时有错误发生:
 clash-verge
denvo@pop-os:~ $ 

现在安装好的Clash Verge Rev是打不开的,我们需要为其补全依赖。我们先使用sudo apt --fix-broken install,发现apt的建议是删除Clash Verge Rev,这显然不是我们想要的。于是我再尝试sudo aptitude -f install,提示如下:

denvo@pop-os:~ $ sudo aptitude -f install
下列仅部分安装的软件包将被配置: 
  clash-verge{b} 
将不会安装,升级或者删除任何软件包。
0 个软件包被升级,新安装 0 个,0 个将被删除, 同时 773 个将不升级。
需要获取 0 B 的存档。解包后将要使用 0 B。
下列软件包存在未满足的依赖关系:
 clash-verge : 依赖: libwebkit2gtk-4.1-0 但它将不会被安装
下列动作将解决这些依赖关系:

     删除 下列软件包:          
1)     clash-verge [2.2.3 (now)]



是否接受该解决方案?[Y/n/q/?] 

aptitude的第一个解决方案也是删除Clash Verge Rev。我们不接受这个解决方案,输入n,然后回车:

是否接受该解决方案?[Y/n/q/?] n
下列动作将解决这些依赖关系:

     安装 下列软件包:                                                          
1)     libjavascriptcoregtk-4.1-0 [2.48.1-0ubuntu0.22.04.1 (jammy-security, jamm
2)     libsoup-3.0-0 [3.0.7-0ubuntu1 (jammy-updates)]                           
3)     libsoup-3.0-common [3.4.4-5ubuntu0.2 (noble-security, noble-updates)]    
4)     libwebkit2gtk-4.1-0 [2.48.1-0ubuntu0.22.04.1 (jammy-security, jammy-updat



是否接受该解决方案?[Y/n/q/?] 

这次至少没有让我们删除软件包了,并且能安装libwebkit2gtk-4.1-0,而这正是这个软件包的依赖,与我们的目标契合。所以这次我们接受这个解决方案。输入y,回车,等待其完成安装过程。然后我们就能在应用栏找到刚才安装的Clash Verge Rev,并且还能正常打开了。

结尾

Pop!_OS是一个不错的系统,只是易用性不及上游的Ubuntu和同样基于Ubuntu的Linux Mint。Ubuntu和Linux Mint至少对这2个软件的安装都很简单,不存在依赖的问题。希望Pop!_OS能继续改进下去!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇