例如,本人安装openssh-server报如下错误:
apt : 依赖: gpgv 或
gpgv2 但是它将不会被安装 或
gpgv1 但是它将不会被安装
依赖: libapt-pkg6.0 (>= 2.4.13) 但是它将不会被安装
bash : 预依赖: libtinfo6 (>= 6) 但无法安装它
dpkg : 预依赖: zlib1g (>= 1:1.1.4) 但无法安装它
fdisk : 依赖: libncursesw6 (>= 6) 但是它将不会被安装
依赖: libreadline8 (>= 6.0) 但是它将不会被安装
依赖: libtinfo6 (>= 6) 但无法安装它
init : 预依赖: systemd-sysv
libbsd0:i386 : 依赖: libc6:i386 (>= 2.25) 但无法安装它
libcbor0.6:i386 : 依赖: libc6:i386 (>= 2.4) 但无法安装它
libedit2:i386 : 依赖: libc6:i386 (>= 2.28) 但无法安装它
libfido2-1:i386 : 依赖: libc6:i386 (>= 2.25) 但无法安装它
libssl1.1:i386 : 依赖: libc6:i386 (>= 2.28) 但无法安装它
libtinfo6:i386 : 依赖: libc6:i386 (>= 2.16) 但无法安装它
libudev1:i386 : 依赖: libc6:i386 (>= 2.30) 但无法安装它
ncurses-bin : 预依赖: libtinfo6 (>= 6.3) 但无法安装它
openssh-client:i386 : 依赖: libc6:i386 (>= 2.28) 但无法安装它
依赖: libgssapi-krb5-2:i386 (>= 1.17) 但无法安装它
依赖: libselinux1:i386 (>= 1.32) 但无法安装它
推荐: xauth:i386
openssh-server : 依赖: procps
依赖: zlib1g (>= 1:1.1.4) 但无法安装它
推荐: default-logind 或
logind 或
libpam-systemd 但是它将不会被安装
推荐: xauth
推荐: ssh-import-id 但是它将不会被安装
shim-signed : 依赖: grub-efi-amd64-signed (>= 1.187.2~) 但是它将不会被安装 或
grub-efi-arm64-signed (>= 1.187.2~) 但无法安装它
依赖: grub2-common (>= 2.04-1ubuntu24) 但是它将不会被安装
util-linux : 预依赖: libtinfo6 (>= 6) 但无法安装它
预依赖: libudev1 (>= 183) 但无法安装它
预依赖: zlib1g (>= 1:1.1.4) 但无法安装它
zlib1g:i386 : 依赖: libc6:i386 (>= 2.4) 但无法安装它
E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。
尝试通过升级软件或者清除缓存都不行,最终通过如下方法:
首先安装aptitude
sudo apt install aptitude
然后通过aptitude安装openssh-server
sudo aptitude install openssh-server
然后aptitude会给出对应的解决方案,你可以同意,也可以不同意,如果不同意它会继续给其他解决方案,直接你觉得该方案可以满足同意即可。
例如我安装openssh-server,aptitude首先给了如下方案
下列“新”软件包将被安装。
ncurses-term{a} openssh-server{b} ssh-import-id{a}
0 个软件包被升级,新安装 3 个,0 个将被删除, 同时 18 个将不升级。
需要获取 637 kB 的存档。解包后将要使用 5,874 kB。
下列软件包存在未满足的依赖关系:
openssh-server : 依赖: openssh-client (= 1:8.2p1-4ubuntu0.11) 但是 1:8.9p1-3ubuntu0.10 已安装
依赖: openssh-sftp-server 但它是不可安装的
打开:53;关闭;1245;defer: 11; 冲突;15 o下列动作将解决这些依赖关系:
保持 下列软件包于其当前版本:
1) openssh-server [未安装的]
保留下列未解决的依赖关系:
2) ssh-import-id 推荐 openssh-server
是否接受该解决方案?[Y/n/q/?]
该方案显然不能解决问题,然后我输入了n,直到给出如下方案我才同意
下列动作将解决这些依赖关系:
安装 下列软件包:
1) openssh-server [1:8.2p1-4 (focal)]
2) openssh-sftp-server [1:8.2p1-4 (focal)]
降级 下列软件包:
3) openssh-client [1:8.9p1-3ubuntu0.10 (now) -> 1:8.2p1-4 (focal)]
是否接受该解决方案?[Y/n/q/?]
然后我输入Y,即自动安装了openssh-server
然后我输入如下命令,可看到openssh-server安装成功
sudo dpkg -l | grep ssh
ii libssh-4:amd64 0.9.6-2ubuntu0.22.04.3 amd64 tiny C SSH library (OpenSSL flavor)
ii openssh-client 1:8.2p1-4 amd64 secure shell (SSH) client, for secure access to remote machines
ii openssh-server 1:8.2p1-4 amd64 secure shell (SSH) server, for secure access from remote machines
ii openssh-sftp-server 1:8.2p1-4 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines
ii python3-paramiko 2.9.3-0ubuntu1.2 all Make ssh v2 connections (Python 3)
ii ssh-import-id 5.10-0ubuntu1 all securely retrieve an SSH public key and install it locally