Не удалось вычислить обновление, что произошло?

59

Я запускаю sudo update-manager -d и запускаю процесс обновления. Я выбираю вариант обновления, и когда менеджер вводит Setting new software channels , он выдает ошибку.

Could not calculate the upgrade

An unresolvable problem occurred while calculating the upgrade.

 This can be caused by:
 * Upgrading to a pre-release version of Ubuntu
 * Running the current pre-release version of Ubuntu
 * Unofficial software packages not provided by Ubuntu

If none of this applies, then please report this bug using the command 'ubuntu-bug ubuntu-release-upgrader-core' in a terminal.

Я отключил все неофициальные и сторонние пакеты, я не запускаю предварительную версию, так как я нахожусь в 13.04, и я пытаюсь обновить до бета-версии 2, которая не является предварительным выпуском. Прежде чем заполнить отчет об ошибке, так как это происходит с обоими моими системами, я хотел бы выяснить, есть ли у кого-то другие проблемы.

EDIT : добавлен вывод комментариев.

$ 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        
    
задан topless 17.10.2013 в 17:08
источник

9 ответов

43

Что сработало для меня, это удаление любых сломанных пакетов, поскольку они препятствовали обновлению.

Сначала выясните, какие пакеты сломаны:

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

Затем удалите их:

sudo apt-get remove <packages to remove>

Некоторые могут быть переустановлены во время обновления, другие, которые вы, возможно, придется переустанавливать самостоятельно.

    
ответ дан DaShaun 17.10.2013 в 21:12
25

После того, как ваша система не обновится, проверьте файл /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. Обновление продолжилось без проблем.

    
ответ дан Jake 17.10.2013 в 21:06
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

Вручную разблокировано единство и обновление теперь продолжается. Не совсем уверен, что вызывает эту проблему в первую очередь и действительно ли это хорошее «решение», но я думаю, что узнаю после завершения обновления?!?     

ответ дан Maarten Jacobs 18.10.2013 в 05:54
4

В моем случае проблема была вызвана пакетом, который находился в состоянии hold . Вернувшись в состояние install , проблема разрешилась.

Возможный способ поместить или удалить пакет в состоянии hold использует dpkg . Сначала вы получаете текущее состояние всех пакетов и помещаете его в файл:

dpkg --get-selections > myselection

Затем вы редактируете файл и заменяете install на hold или наоборот. Наконец, вы устанавливаете новый выбор:

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

Другие способы описаны в Как сохранить пакет обратно от обновления?

    
ответ дан Charles Brunet 21.10.2013 в 18:06
3

Если вы используете проприетарные видеодрайверы AMD / ATI fglrx, удаление пакетов fglrx и видеодрайвера xorg, скорее всего, исправит его:

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

В моем случае у меня были установлены драйверы fglrx из PPA xorg-edgers, и удаление этих пакетов очистило мое обновление. Как только обновление будет завершено, вы можете снова запустить процесс создания проприетарных драйверов.

    
ответ дан ImaginaryRobots 25.10.2013 в 19:00
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 , у которой 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 с несколькими именами пакетов.

    
ответ дан Braiam 28.10.2013 в 17:38
1

Я выполнил несколько приведенных выше ответов, пытаясь заставить обновление работать, ни один из них не связан с удалением пакетов Broken. У меня было 144 Broken пакетов, которые казались совершенно непрактичными. Я удалил их по одному, пытаясь обновить их после каждого. После удаления 3 (perl-base, gnuplot, gnuplot-11), выбранных по существу случайным образом, обновление удалось. (14.04 - 16.04).

    
ответ дан rdl 17.01.2017 в 18:16
0

У меня была такая же проблема, но ее можно было легко преодолеть, запустив в терминале следующее:

sudo apt-get remove
sudo apt-get autoremove
    
ответ дан seyDoggy 19.10.2013 в 16:58
-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

Готово, разрешает все проблемы

    
ответ дан mmstick 28.10.2013 в 07:22