向日葵软件在Ubuntu 20.04上安装总会出现各式各样的问题,其根本原因不说也能猜到,就是依赖长期不维护,有的依赖需要却不填,有的依赖改名了却还写老名字,以至于根本找不到依赖,比如:
Package libwebkitgtk-3.0-0 is not installed
网上有解决方案比如:
在/etc/apt/sources.list
里加上:
deb http://cz.archive.ubuntu.com/ubuntu bionic main universe
这一看就是Ubuntu 18的源,没有必要加,如果要加,也要改成国内源嘛,比如:deb http://mirrors.aliyun.com/ubuntu/ bionic main universe
。
但我这里不推荐这么个改法,因为我尝试了以下方法,即对deb文件的依赖进行修改并重新打包,并且测试没有问题:
- 对deb文件解开:
mkdir extract
dpkg-deb -X SunloginClient-10.0.2.24779_amd64.deb extract
- 解开依赖meta文件:
mkdir extract/DEBIAN
dpkg-deb -e SunloginClient-10.0.2.24779_amd64.deb extract/DEBIAN
- 修改control文件:
vim extract/DEBIAN/control
修改里面:
Depends: libappindicator3-1,libwebkitgtk-3.0-0
为:
Depends: libappindicator3-1,libwebkit2gtk-4.0-37,lightdm
这里说明一下:
1)libwebkitgtk-3.0-0
是ubuntu 18的依赖,现在改名了,当然找不到,如果强制安装,后面的再想安装别的软件都会提示这个依赖找不到
2)lightdm
如果不装,远程控制时会连上就断开,看来开发那边对依赖管理的太松散了
- 重新打包:
mkdir build
dpkg-deb -b extract build
- 安装
build/
下打包好的.deb
包。