Я работаю 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, которая не является предварительной. Прежде чем заполнить отчет об ошибке, поскольку это происходит с обеими моими системами, я хотел бы выяснить, есть ли у кого-то еще такие же проблемы.
РЕДАКТИРОВАТЬ : добавлен вывод для комментария.
$ 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
Если вы используете проприетарные видеодрайверы 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, и удаление этих пакетов упростило мое обновление. После завершения обновления вы можете снова пройти процесс установки проприетарных драйверов.
В моем случае проблема была вызвана пакетом, который находился в состоянии hold . Возврат его обратно в состояние install решил проблему.
Возможный способ поместить или удалить пакет в состоянии hold - использовать dpkg
. Сначала вы получаете текущее состояние всех пакетов и помещаете его в файл:
dpkg --get-selections > myselection
Затем вы редактируете файл и заменяете install
на hold
или наоборот. Наконец, вы устанавливаете новый выбор:
sudo dpkg --set-selections < myselection
sudo apt-get update
sudo apt-get upgrade
Другие способы описаны в Как предотвратить обновление пакета?
По-видимому, есть простой способ, просто добавьте / 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/
, сохраните пару для последующего использования в текстовом файле в формате
.
Если вы видите что-то вроде:
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
с несколькими именами пакетов.
У меня была такая же проблема, но ее легко решить, запустив в терминале следующее:
sudo apt-get remove
sudo apt-get autoremove
Я последовал нескольким из приведенных выше ответов, пытаясь заставить обновление работать, но ни один из ответов, не связанных с удалением сломанных пакетов, не работал. У меня было 144 сломанных пакета, что казалось совершенно непрактичным. Я удалял их по одному, пытаясь обновить после каждого. После удаления 3 (perl-base, gnuplot, gnuplot-11), выбранных случайным образом, обновление прошло успешно. (С 14 по 16 апреля).
Я уже ответил на этот вопрос некоторое время назад, если вы выполнили простой поиск здесь перед тем, как опубликовать вопрос.
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
Готово, все проблемы решены
После того, как ваша система не обновится, проверьте файл /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 - рабочий стол. Затем обновление продолжилось без проблем.
У меня сработало удаление всех сломанных пакетов, поскольку они препятствовали обновлению.
Сначала выясните, какие пакеты не работают:
grep Broken /var/log/dist-upgrade/apt.log
Затем удалите их:
sudo apt-get remove <packages to remove>
Некоторые могут будут переустановлены во время обновления, другие, возможно, придется переустановить самостоятельно.
Аналогичная проблема здесь. Последние несколько строк в файле "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
Вручную деинсталлировали единство, и теперь продолжается обновление. Не совсем уверен, что в первую очередь вызывает эту проблему и действительно ли это хорошее «решение», но я думаю, что узнаю после завершения обновления?!?