无法计算升级,发生了什么事?


67

我正在运行,sudo update-manager -d并开始升级过程。我选择升级选项,然后经理进入Setting new software channels该选项会引发错误。

无法计算升级

计算升级时发生无法解决的问题。

 这可能是由于:
 *升级到Ubuntu的预发行版本
 *运行当前的预发行版本的Ubuntu
 * Ubuntu未提供的非官方软件包

如果以上都不适用,请在终端中使用命令“ ubuntu-bug ubuntu-release-upgrader-core”报告此错误。

我已经禁用了所有非官方和第三方软件包,因为我在13.04上,所以我没有运行预发行版本,并且我试图更新到非预发行的Beta 2。在我提交错误报告之前,自从两个系统都发生了错误报告以来,我想弄清楚是否还有其他人遇到相同的问题。

编辑:添加输出以进行评论。

$ sudo dpkg -l | grep -w "rc"`
rc google-chrome-beta 31.0.1650.16-1 amd64 The web browser from Google
ii sysv-rc 2.88dsf-13.10ubuntu15 all System-V-like runlevel change mechanism

$ cat /etc/apt/sources.list

deb http://dk.archive.ubuntu.com/ubuntu/ raring main restricted
deb-src http://dk.archive.ubuntu.com/ubuntu/ raring main restricted

deb http://dk.archive.ubuntu.com/ubuntu/ raring-updates main restricted
deb-src http://dk.archive.ubuntu.com/ubuntu/ raring-updates main restricted

deb http://dk.archive.ubuntu.com/ubuntu/ raring universe
deb-src http://dk.archive.ubuntu.com/ubuntu/ raring universe
deb http://dk.archive.ubuntu.com/ubuntu/ raring-updates universe
deb-src http://dk.archive.ubuntu.com/ubuntu/ raring-updates universe

deb http://dk.archive.ubuntu.com/ubuntu/ raring multiverse
deb-src http://dk.archive.ubuntu.com/ubuntu/ raring multiverse
deb http://dk.archive.ubuntu.com/ubuntu/ raring-updates multiverse
deb-src http://dk.archive.ubuntu.com/ubuntu/ raring-updates multiverse

deb http://security.ubuntu.com/ubuntu raring-security main restricted
deb-src http://security.ubuntu.com/ubuntu raring-security main restricted
deb http://security.ubuntu.com/ubuntu raring-security universe
deb-src http://security.ubuntu.com/ubuntu raring-security universe
deb http://security.ubuntu.com/ubuntu raring-security multiverse
deb-src http://security.ubuntu.com/ubuntu raring-security multiverse

deb http://extras.ubuntu.com/ubuntu raring main
deb-src http://extras.ubuntu.com/ubuntu raring main
deb http://dk.archive.ubuntu.com/ubuntu/ raring-proposed multiverse universe restricted main

$ lsb_release -c
Codename:   raring

$ sudo apt-get -y install aptitude && \
      sudo rename 's/\.list$/.list.disable/' /etc/apt/sources.list.d/*.list && \
      sudo aptitude update && \
      aptitude search '?narrow(?installed, !?archive(raring))'`

i   dropbox                       - cloud synchronization engine - CLI and Nautilus extension                      
i   google-chrome-stable          - The web browser from Google                                                    
i   google-talkplugin             - Google Talk Plugin                                                             
i   libdrm-intel1                 - Userspace interface to intel-specific kernel DRM services -- runtime           
i   libdrm-nouveau2               - Userspace interface to nouveau-specific kernel DRM services -- runtime         
i   libdrm-radeon1                - Userspace interface to radeon-specific kernel DRM services -- runtime          
i   libdrm2                       - Userspace interface to kernel DRM services -- runtime                          
i   libegl1-mesa                  - free implementation of the EGL API -- runtime                                  
i   libegl1-mesa-drivers          - free implementation of the EGL API -- hardware drivers                         
i   libgbm1                       - generic buffer management API -- runtime                                       
i   libgl1-mesa-dri               - free implementation of the OpenGL API -- DRI modules                           
i   libgl1-mesa-glx               - free implementation of the OpenGL API -- GLX runtime                           
i   libglapi-mesa                 - free implementation of the GL API -- shared library                            
i A libgles2-mesa                 - free implementation of the OpenGL|ES 2.x API -- runtime                        
i   libllvm3.3                    - Low-Level Virtual Machine (LLVM), runtime library                              
i   libopenvg1-mesa               - free implementation of the OpenVG API -- runtime                               
i   libxatracker1                 - X acceleration library -- runtime                                              
i   nodejs                        - Node.js event-based server-side javascript engine                              
id  nvidia-persistenced           - Load the NVIDIA kernel driver and create device files                          
id  nvidia-settings-331           - Tool for configuring the NVIDIA graphics driver                                
i   simplescreenrecorder          - A feature-rich screen recorder that supports X11 and OpenGL.                   
i A simplescreenrecorder-lib      - A feature-rich screen recorder that supports X11 and OpenGL.                   
i   sublime-text                  - Sublime Text is a sophisticated text editor for code, markup and prose         
i   vokoscreen                    - easy to use screencast creator                                                 
i   xserver-common                - common files used by various X servers                                         
i   xserver-xorg-core             - Xorg X server - core server                                                    
i   xserver-xorg-input-synaptics  - Synaptics TouchPad driver for X.Org server                                     
i   xserver-xorg-video-ati        - X.Org X server -- AMD/ATI display driver wrapper                               
i   xserver-xorg-video-cirrus     - X.Org X server -- Cirrus display driver                                        
i   xserver-xorg-video-intel      - X.Org X server -- Intel i8xx, i9xx display driver                              
i   xserver-xorg-video-mach64     - X.Org X server -- ATI Mach64 display driver                                    
i   xserver-xorg-video-nouveau    - X.Org X server -- Nouveau display driver                                       
i   xserver-xorg-video-r128       - X.Org X server -- ATI r128 display driver                                      
i   xserver-xorg-video-radeon     - X.Org X server -- AMD/ATI Radeon display driver                                
i   xserver-xorg-video-vmware     - X.Org X server -- VMware display driver        

看来是由适当的视频驱动程序引起的。
裸照

运行此命令,然后在编辑后将结果发布到您的答案中:sudo dpkg -l | grep -w "rc"
Saurav Kumar

@Braiam我已经添加了您要求的输出,apt-get检查是“构建依赖关系树并读取状态信息...”完成,并且dpkg没有给出输出。
裸照

您可以执行以下操作:sudo apt-get -y install aptitude && sudo rename 's/\.list$/.list.disable/' /etc/apt/sources.list.d/*.list && sudo aptitude update && aptitude search '?narrow(?installed, !?archive(raring))'并粘贴结果吗?第一个命令将安装aptitude,第二个命令将禁用所有PPA,第三个命令将更新您的列表,第四个将列出所有不是来自存储库的软件包。
Braiam

Answers:


47

对我有用的是删除所有损坏的软件包,因为它们阻止了升级。

首先找出损坏的软件包:

grep Broken /var/log/dist-upgrade/apt.log

然后删除它们:

sudo apt-get remove <packages to remove>

有些可能会在升级过程中重新安装,有些则可能需要自己重新安装。


3
看来我有一大堆损坏的xserver-xorg-video- *包装。我不确定,但是如果我开始删除它们,我的系统将会崩溃。您是否成功删除了它们?什么样的程序包给您带来麻烦?
裸照

2
我不得不删除相同的。升级完成后,将返回“良好”版本。我的升级很成功。
2013年

1
xserver-xorg-video- *软件包存在相同的问题。您如何删除它们?sudo apt-get remove xserver-xorg-video-*?我在这里有更多详细信息。
modulitos

3
这正是我所做的'sudo apt-get remove xserver-xorg-video- *'
DaShaun 2014年

8
grep Broken grep Broken /var/log/dist-upgrade/apt.log给了我700多行。绝对不能全部删除。
pasha.zhukov

29

系统升级失败后,检查文件 /var/log/dist-upgrade/main.log

我找到了:

2013-10-17 15:00:30,543 ERROR Dist-upgrade failed: 'The package 'xubuntu-desktop' is marked for removal but it is in the removal blacklist.'

我手动删除了xubuntu-desktop。然后,升级继续进行,没有问题。


2
有什么办法可以保留此软件包并仍进行更新吗?我有postgresql-9.2并且我不想删除它。
2013年

1
您可以在升级完成后重新安装它。
ImaginaryRobots 2013年

我删除了唯一的错误后,do-release-upgrade再次运行时遇到第二个错误,因此也必须手动删除此错误。如果您不够幸运,则可能必须执行多次。其他方法之一也可能也突出显示了这些内容,例如保持断开,但我没有尝试过。
布拉德利北部

Postgres似乎是阻碍我前进的东西。感谢您指出@AbdulsattarMohammed!
jocull

5

类似的问题在这里。上一篇文章中指出的“ main.log”文件中的最后几行是:

2013-10-17 23:44:38,233 DEBUG blacklist expr 'unity$' matches 'unity'
2013-10-17 23:44:38,233 DEBUG The package 'unity' is marked for removal but it's in the removal blacklist
2013-10-17 23:44:43,585 ERROR Dist-upgrade failed: 'The package 'unity' is marked for removal but it is in the removal blacklist.'
2013-10-17 23:44:43,586 DEBUG abort called
2013-10-17 23:44:43,592 DEBUG openCache()
2013-10-17 23:44:43,592 DEBUG failed to SystemUnLock() (E:Not locked) 
2013-10-17 23:44:46,786 DEBUG /openCache(), new cache size 41453
2013-10-17 23:44:46,786 DEBUG enabling apt cron job

现在可以手动卸载并进行升级。不太确定是什么首先导致了此问题,以及这是否真的是一个很好的“解决方案”,但我想我会在更新完成后找到答案吗?


4

如果您使用的是专有的AMD / ATI fglrx视频驱动程序,则删除fglrx软件包和xorg视频驱动程序将可能对其进行修复:

sudo apt-get remove fglrx fglrx-amdcccle-updates
sudo apt-get remove xserver-xorg-video-ati:amd64

就我而言,我从xorg-edgers PPA安装了fglrx驱动程序,删除那些软件包可以清除升级。升级完成后,您可以重新设置专有驱动程序。


这就是对我有用的!
尼克·格莱利

fglrx-core完成此操作后仍保留在我的系统上。其他人可能也需要将其删除。
Michael Hoffmann

4

就我而言,问题是由处于保留状态的程序包引起的。将其放回安装状态即可解决该问题。


使用可能的方式将包装放入或取出保持状态dpkg。首先,获取所有软件包的当前状态,并将其放入文件中:

dpkg --get-selections > myselection

然后,您编辑文件并替换installhold,反之亦然。最后,设置新的选择:

sudo dpkg --set-selections < myselection
sudo apt-get update
sudo apt-get upgrade

其他方法在如何阻止软件包升级中进行了描述。


1
您为什么不告诉我们您是如何做到的?这不是一个完整的答案,请尝试描述您的步骤。您如何找到该程序包以及您采取的措施。
裸照

1
您如何找出哪些包裹处于保留状态?
丹尼斯

2

显然有一种简单的方法,只需将其添加/raring到每个程序包名称中,如下所示:

sudo apt-get install dropbox/raring google-chrome-stable/raring google-talkplugin/raring libdrm-intel1/raring libdrm-nouveau2/raring libdrm-radeon1/raring libdrm2/raring libegl1-mesa/raring libegl1-mesa-drivers/raring libgbm1/raring libgl1-mesa-dri/raring libgl1-mesa-glx/raring libglapi-mesa/raring libllvm3.3/raring libopenvg1-mesa/raring libxatracker1/raring nodejsnvidia-persistencednvidia-settings-331/raring simplescreenrecorder/raring sublime-text/raring vokoscreen/raring xserver-common/raring xserver-xorg-core/raring xserver-xorg-input-synaptics/raring xserver-xorg-video-ati/raring xserver-xorg-video-cirrus/raring xserver-xorg-video-intel/raring xserver-xorg-video-mach64/raring xserver-xorg-video-nouveau/raring xserver-xorg-video-r128/raring xserver-xorg-video-radeon/raring xserver-xorg-video-vmware/raring

如果它不起作用,请尝试以下方法。


可以预见,您有一些不是来自Ubuntu存储库的软件包,这些软件包对于安装至关重要。您应该一个一个地降级(我还没有找到一种有效的方法来降级),然后尝试升级。我将举一个例子:

$ apt-cache policy libdrm2
libdrm2:
  Installed: 2.4.43-0ubuntu1.1
  Candidate: 2.4.43-0ubuntu1.1
  Version table:
 *** 2.4.43-0ubuntu1.1 0
        100 /var/lib/dpkg/status
     2.4.43-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ raring/main amd64 Packages

在您的情况下,应该会出现类似的情况。您应该记下具有url的版本(在本例2.4.43-0ubuntu1中为url的版本),http://archive.ubuntu.com/ubuntu/使用格式将对保存在文本文件中,以备后用<package>=<version>

如果您看到类似以下内容:

fluxgui:
  Installed: 1.1.8
  Candidate: 1.1.8
  Version table:
 *** 1.1.8 0
        100 /var/lib/dpkg/status

注意没有url,那么可以删除该包:

sudo apt-get remove fluxgui

然后,您完成列表应如下所示:

libdrm2 = 2.4.43-0ubuntu1 libdrm2 = 2.4.43-0ubuntu1 libdrm2 = 2.4.43-0ubuntu1 libdrm2 = 2.4.43-0ubuntu1 libdrm2 = 2.4.43-0ubuntu1 libdrm2 = 2.4.43-0ubuntu1

(再举个例子,但您可能有个主意)

完成列表后,键入sudo apt-get -f install并粘贴完整列表,因此它应如下所示:

sudo apt-get -f install libdrm2=2.4.43-0ubuntu1 libdrm2=2.4.43-0ubuntu1 libdrm2=2.4.43-0ubuntu1 libdrm2=2.4.43-0ubuntu1 libdrm2=2.4.43-0ubuntu1 libdrm2=2.4.43-0ubuntu1

如果您想更快地执行此操作,则可以使用apt-cache policy libdrm2 libgbm1多个包名称。


第一种方法并不能解决问题,今天,我将花一些时间一步步地建议您进行操作。提供命令虽然可以恢复最初的更改,但会很不错,因为现在它实际上无法apt-get update。
裸照

@topless如果第一个命令失败,则表示未完成任何操作。如果apt-get update不起作用,则意味着另一件事。
Braiam 2013年

apt-get update我得到这个样的错误N: Ignoring file 'xorg-edgers-ppa-raring.list.disable' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
袒胸

这是一个信息/警告,可以忽略,并且可以预料,因为我们不希望使用PPA。
Braiam 2013年

在下面的答案中,我将“一种有效的方式”“一对一”地删除软件包。它只是我从各地收集到的所有提示的集合。
nyxee

1

我按照上面的几个答案进行操作,试图使升级生效,但不涉及删除损坏的软件包的方法均无效。我有144个损坏的包装,这似乎完全不切实际。我一次删除了一个,每次更新一次。删除3(基本上是随机选择的)(perl-base,gnuplot,gnuplot-11)后,更新成功。(14.04至16.04)。


0

我遇到了同样的问题,但是可以通过在终端中运行以下命令来轻松克服:

sudo apt-get remove
sudo apt-get autoremove

3
sudo apt-get remove什么也没做
贡伯特

嗯,但是它确实列出了可以使用自动删除功能删除的软件包。:)我的方法很疯狂。
seyDoggy

1
也是sudo apt-get autoremove如此。
贡伯特

+1 -我不得不跑sudo apt-get autoremove
尼克Grealy

-1

如果您在发布问题之前在此处进行了简单搜索,我已经回答了一段时间。

sudo mv /etc/apt/sources.list.d/ /etc/apt/sources.list.d.bak; sudo sed -i 's/raring/saucy/g' /etc/apt/sources.list; sudo apt-get update; sudo apt-get upgrade -y; sudo apt-get dist-upgrade -y; sudo apt-get install -f; sudo aptitude upgrade -y; sudo aptitude dist-upgrade -y; sudo mv /etc/apt/sources.list.d.bak /etc/apt/sources.list.d; sudo sed -i 's/raring/saucy/g' /etc/apt/sources.list.d/*; sudo apt-get update; sudo apt-get upgrade -y; sudo apt-get dist-upgrade -y; sudo apt-get install ubuntu-desktop -y

完成,解决所有问题


1
请,不要只是抛出这种答案。如果不小心进行该程序可能很危险。
Braiam

其实不,不是。一点也不危险。您认为这很危险的事实意味着您对此并不了解。我过去和很多人都运行过多次。如果您实际上阅读了整个命令,则可以看到我已经解决了所有可能的问题。用户所需要做的只是看命令的输出。Ubuntu 13.10的升级存在很多问题,但这可以通过一条长命令整齐且方便地修复所有问题。我建议您仔细阅读“ do-release-upgrade”的工作方式文档,因为这正是此命令的作用。
mmstick 13-10-28,12

1
@mmstick您可以详细说明长命令及其解决的问题,只要实际问题及其解决方式即可。我看到您正在多次调用apt-get upgrade命令和其余命令,因此也许您可以再次将其逐行拆分,并解释您的过程及其工作原理。我没有能力尝试高风险,不可逆的命令。谢谢您的努力。我们都在这里学习..
裸照

@mmstick,我正在寻找您的答案,您刚才提到了它,它看起来在我的问题后面,因此在以粗鲁的方式回复我和Braiam之前,您可以看起来更好一些。
裸照

2
@mmstick请勿偷懒编辑您的答案,以供将来参考。您很早就做出了贡献是一件好事,但是我第一次遇到的问题是13.10升级。
裸照
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.