首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除dpkg由于无法解决的依赖关系而安装可卸载包的意图

如何删除dpkg由于无法解决的依赖关系而安装可卸载包的意图
EN

Ask Ubuntu用户
提问于 2021-04-07 08:23:36
回答 1查看 153关注 0票数 -1

TLDR

我从一个较新版本的dpkg -i PACKAGE中发布了一个更新版本的包。它依赖于一个新的libc6包,因此安装失败。现在,这个包阻塞了整个apt系统。

我只想让系统明白,它可以停止安装这个软件包。我该怎么做?

更长的全版本

我的服务器在Debian10上,它从1996年起使用mawk-1.3.3 (根据mawk -W version的说法)。在我的compatible笔记本电脑上,我有mawk-1.3.4,我在笔记本上写的脚本与mawk-1.3.3不兼容。

所以我去找个快速的方法(是的,我知道.)在我的服务器上安装这个。碰巧的是,mawk-1.3.4unstabletesting中为sid服务,后者是下一个debian。我偷偷地下载了deb,并想尝试一下dpkg -i mawk_1.3.4.20200120-2_amd64.deb。这一做法失败了:

代码语言:javascript
复制
 mawk depends on libc6 (>= 2.29); however:
  Version of libc6:amd64 on system is 2.28-10.

很公平,这不是要走的路,我该怎么回去呢?反正什么也没安装,这不应该太难,是吗?

我试过什么

apt --fix-broken install想卸载base-filesbash,我对此有很坏的预感:

代码语言:javascript
复制
The following packages will be REMOVED:
  base-files bash mawk rsync
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  base-files mawk (due to base-files) bash

我想起了dpkg -r,并发布了一个dpkg -r mawk,对我的mawk的实际遗留版本有点担心:

代码语言:javascript
复制
 base-files depends on awk; however:                                                                                  
  Package awk is not installed.                                                                                       
  Package mawk which provides awk is to be removed.                                            
                                                                                                                      
dpkg: error processing package mawk (--remove):    
 dependency problems - not removing                               
Errors were encountered while processing:
 mawk

因此,我尝试安装gawk,以保持awk依赖关系的完整性,从而保持base-filesbash (mawkgawk都可以提供awk)。但是请记住,安装系统被阻塞了,这就是我从apt-get install gawk得到的。

代码语言:javascript
复制
The following packages have unmet dependencies:
 gawk : PreDepends: libsigsegv2 (>= 2.9) but it is not going to be installed
 mawk : Depends: libc6 (>= 2.29) but 2.28-10 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

在“指定解决方案”之前,似乎不想让我做任何事情。具有讽刺意味的是:对于这个问题,我有一个非常清晰和合理的解决方案:不要安装这个软件包。我怎么能这么做?

更多信息

由于dpkg似乎告诉我它不能安装任何东西,我假设系统没有真正被触及,所有这些问题似乎都位于dpkg's状态。

因此,在绝望中,我在/var/lib/dpkg中发现提到了status中的罪魁祸首包,下面是一些看起来很有趣的部分:

代码语言:javascript
复制
...
Package: mawk
Status: install ok unpacked
Priority: required
...
Architecture: amd64
Multi-Arch: foreign
Version: 1.3.4.20200120-2
Config-Version: 1.3.3-17+b3
...

如果有人有建议的话。我已经准备好在/var/lib/dpkg上破解文件和文件夹,但这似乎有点傻(而且看起来也很常见),应该有一个很好的dpkg命令来礼貌地告诉dpkg忘记我想安装这个包。

因为这篇文章被一些人认为不是主题,所以我在这里发布了这样一个问题:https://unix.stackexchange.com/questions/643896/how-to-abort-installation-of-an-uninstallable-package-with-debian-packaging

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2021-04-07 09:04:42

安装发行版中找到的版本吗?

代码语言:javascript
复制
apt install mawk=1.3.3
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1329798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档