首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么apt-get升级只返回“以下软件包已被保存在后面:python3-piccopg 2”,而apt更新显示它可以升级(如何)?

为什么apt-get升级只返回“以下软件包已被保存在后面:python3-piccopg 2”,而apt更新显示它可以升级(如何)?
EN

Unix & Linux用户
提问于 2021-01-06 01:52:26
回答 1查看 1.5K关注 0票数 0

我正在使用Debian10 10/KDE,从几个月前开始,就有一个包被拒之门外。但是,当使用sudo apt update而不是sudo apt-get update时,它会显示其他内容,并允许查看“附加版本”。

为什么会这样呢?这是不是也应该和apt-get一起显示呢?它不应该简单地安装2.8.5版本吗?(为什么不是呢?如何安装?)

代码语言:javascript
复制
sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  python3-psycopg2
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
代码语言:javascript
复制
sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
代码语言:javascript
复制
sudo apt update
Reading package lists... Done
Building dependency tree       
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
代码语言:javascript
复制
apt list --upgradable
Listing... Done
python3-psycopg2/stretch-pgdg 2.8.5-1~pgdg90+1 amd64 [upgradable from: 2.7.7-1]
N: There is 1 additional version. Please use the '-a' switch to see it
代码语言:javascript
复制
apt list --upgradable -a
Listing... Done
python3-psycopg2/stretch-pgdg 2.8.5-1~pgdg90+1 amd64 [upgradable from: 2.7.7-1]
python3-psycopg2/stable,now 2.7.7-1 amd64 [installed,upgradable to: 2.8.5-1~pgdg90+1]

试图进一步调试:

代码语言:javascript
复制
apt policy python3-psycopg2
python3-psycopg2:
  Installed: 2.7.7-1
  Candidate: 2.8.5-1~pgdg90+1
  Version table:
     2.8.5-1~pgdg90+1 500
        500 http://apt.postgresql.org/pub/repos/apt stretch-pgdg/main amd64 Packages
 *** 2.7.7-1 500
        500 http://ftp.XX.debian.org/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status
代码语言:javascript
复制
sudo apt install python3-psycopg2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-psycopg2 : Depends: python3 (< 3.6) but 3.7.3-1 is to be installed
E: Unable to correct problems, you have held broken packages.

与链接问题不同的是,通常的sudo apt-get --with-new-pkgs upgrade在这里不起作用:

代码语言:javascript
复制
sudo apt-get --with-new-pkgs upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

不管解决方案是什么:在运行sudo apt-get upgrade时,至少应该有一个提示/S来安装或不安装该新版本。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-01-06 07:15:42

在Postgresql存储库中,将stretch代码更改为buster

代码语言:javascript
复制
sudo sed -i 's/stretch/buster/' /etc/apt/sources.list.d/pgdg.list

然后跑:

代码语言:javascript
复制
sudo apt update
sudo apt upgrade

吡虫啉3-心理肽2/拉伸-pgdg 2.8.5-1~pgdg 90+1 amd64 可升级: 2.7.7-1

debian存储库提供的安装版本python3-psycopg2需要升级到postgresql存储库提供的2.8.5-1~pgdg90+1。但是在升级之前,您需要设置正确的存储库,该存储库指向debian,而不是当前设置的Stretch

PostgreSQL Apt库

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/627739

复制
相关文章

相似问题

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