Не вдалося розрахувати оновлення, що сталося?


67

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

Не вдалося обчислити оновлення

Під час розрахунку оновлення виникла проблема, яка не вирішується.

 Це може бути викликано:
 * Оновлення до попередньої версії Ubuntu
 * Запуск поточної попередньої версії Ubuntu
 * Неофіційні пакети програм, які не надаються Ubuntu

Якщо нічого з цього не застосовується, повідомте про цю помилку, використовуючи команду 'ubuntu-bug ubuntu-release-upgrader-core' в терміналі.

Я вимкнув усі неофіційні та сторонні пакети, я не запускаю попередню версію, оскільки я о 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        

Схоже, її спричиняють спритні драйвери відео.
топлес

Виконайте цю команду та опублікуйте вихід у своїй відповіді після редагування:sudo dpkg -l | grep -w "rc"
Саурав Кумар

@Braiam Я додав результат, про який ви просили, apt-get check - це побудова дерева залежності та читання інформації про стан ... Готово, і 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))'і вставити результати? Перша команда встановить придатність, друга вимкне всі PPA, третя оновить ваш список, а четверта перерахує весь пакет, який не надходить із сховища.
Брайам

Відповіді:


47

Що для мене працювало - це видалити будь-які зламані пакети, оскільки вони перешкоджали оновленню.

Спочатку з’ясуйте, які пакунки зламані:

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

Потім видаліть їх:

sudo apt-get remove <packages to remove>

Деякі можуть бути перевстановлені під час оновлення, інші, можливо, доведеться перевстановити самостійно.


3
Схоже, у мене є великий список пакунків xserver-xorg-video- *, які розбиті. Я не дуже впевнений, але мені здається, що якщо я почну їх видаляти, моя система зламається. Вам вдалося їх успішно видалити? Які пакунки викликали у вас проблеми?
топлес

2
Мені довелося зняти те саме. "Гарні" версії повернулися, коли оновлення завершено. Моє оновлення було успішним.
DaShaun

1
У мене виникають ті самі проблеми з пакетами xserver-xorg-video- *. Як ви їх видалили? sudo apt-get remove xserver-xorg-video-*? У мене тут питання з більш детальною інформацією.
modulitos

3
Саме це я зробив 'sudo apt-get remove xserver-xorg-
video-

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і я не хочу його видаляти.
Абдулсаттар Мухаммед

1
ви можете просто встановити його після завершення оновлення.
ImaginaryRobots

Після того, як я видалив єдиний присутній ПОМИЛКИ, я отримав 2-ю іншу помилку при do-release-upgradeповторному запуску, тому довелося також видалити цю вручну. Вам, можливо, доведеться це робити кілька разів, якщо вам не пощастить. Можливо також, що один із інших методів, можливо, також виділив такі, як утримування або зламаність, але я не намагався їх.
північний Брадлі

Постгрес здавався тією справою, яка стримувала мене. Дякуємо, що вказали на це @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

У моєму випадку у мене були встановлені драйвери fglrx від PPA xorg-edgers, і видалення цих пакетів очистило моє оновлення. Після завершення оновлення ви можете знову пройти процес налаштування власних драйверів.


Це для мене працювало!
Нік Грілі

fglrx-coreвсе ще залишався в моїй системі після цього. Іншим також може знадобитися її видалити.
Майкл Гофманн

4

У моєму випадку проблема була спричинена пакетом, який знаходився в режимі очікування . Повернення його до встановлення стану вирішило проблему.


Використовується можливий спосіб помістити або вилучити пакет у стані утримуванняdpkg . По-перше, ви отримуєте поточний стан усіх пакетів і вкладаєте його у файл:

dpkg --get-selections > myselection

Потім ви редагуєте файл і замінюєте installна hold, або навпаки. Нарешті, ви встановлюєте новий вибір:

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що має 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декілька назв пакета.


ну перший підхід не вирішив це питання, сьогодні у мене буде певний час, щоб пройти покроковий крок, який ви запропонували. Було б непогано надати команду, хоча для відновлення перших змін, оскільки тепер вона фактично не може апт-отримати оновлення.
топлес

@topless, якщо перша команда не працює, це означає, що нічого не було зроблено. Якщо apt-get updateце не працює, це означає інше.
Брайам

на 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 перешкоджала.
Брайам

У свою відповідь нижче я включу "ефективний спосіб" видалення пакетів "один за одним". Це просто набір усіх порад, які я отримав з усіх куточків.
nyxee

1

Я дотримувався декількох відповідей вище, намагаючись приступити до оновлення, жоден з тих, що не передбачають видалення Broken пакетів, не працював. У мене було 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нічого не робить.
guntbert

Ах, але в ньому перелічені пакунки, які можна було б видалити з автоматичним видаленням. :) в моєму методі є безумство.
seyDoggy

1
Так само sudo apt-get autoremoveі.
guntbert

+1 - Мені довелося бігатиsudo apt-get autoremove
Нік Грілі

-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
Будь ласка, не просто кидайте подібні відповіді. Ця процедура є потенційно небезпечною, провадившись без догляду.
Брайам

Насправді ні, це не так. Це зовсім не небезпечно. Той факт, що ти вважаєш це небезпечним, означає, що ти мало про це знаєш. Я запускав це багато разів у минулому і з багатьма людьми. Якщо ви насправді прочитали всю команду, ви побачите, що я врахував усі можливі проблеми. Все, що потрібно зробити користувачеві, це лише дивитися вихід команди. У Ubuntu 13.10 виникає багато проблем із оновленням, але це виправляє все акуратно та зручно в одній довгій команді. Я раджу вивчити документацію, як працює "do-release-upgrade", адже саме ця команда виконує.
mmstick

1
@mmstick Ви можете детальніше розібратися у своїй довгій команді та проблемах, які вона вирішує, до тих пір, поки актуальна проблема та як її вирішувати. Я бачу, що ви викликаєте кілька разів apt-get upgradeта інші команди, тому, можливо, ви знову можете розділити їх по черзі та пояснити свій процес та чому він працює. У мене немає розкоші експериментувати з високими ризиками, незворотніми командами. Дякую за докладені зусилля. Ми всі тут, щоб дізнатися ..
топлес

@mmstick, я шукаю твою відповідь, ти згадав деякий час назад, і це виглядає після мого запитання, тож ти міг би трохи краще подивитись, перш ніж відповісти грубо на мене та Браяма.
топлес

2
@mmstick не лінуйтеся відредагувати свою відповідь, щоб бути повною для подальшої довідки. Добре, що ви зробили внесок рано, але з проблемою я вперше зіткнувся з оновленням 13.10.
топлес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.