Nie można obliczyć aktualizacji, co się stało?


67

Pracuję sudo update-manager -di rozpoczynam proces aktualizacji. Wybieram opcję uaktualnienia, a kiedy wchodzi menadżer Setting new software channels, generuje błąd.

Nie można obliczyć aktualizacji

Wystąpił nierozwiązywalny problem podczas obliczania aktualizacji.

 Może to być spowodowane:
 * Aktualizacja do przedpremierowej wersji Ubuntu
 * Działa bieżąca przedpremierowa wersja Ubuntu
 * Nieoficjalne pakiety oprogramowania nie dostarczane przez Ubuntu

Jeśli to nie dotyczy, zgłoś ten błąd za pomocą polecenia „ubuntu-bug ubuntu-release-upgrade-core-core” w terminalu.

Wyłączyłem wszystkie nieoficjalne i zewnętrzne pakiety, nie uruchamiam wersji przedpremierowej, ponieważ mam 13.04 i próbuję zaktualizować do wersji beta 2, która nie jest wersją przedpremierową. Zanim wypełnię raport o błędzie, ponieważ zdarza się on w obu moich systemach, chciałbym dowiedzieć się, czy ktoś miał takie same problemy.

EDYCJA : dodano wyjście do komentarza.

$ 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        

Wygląda na to, że jest to spowodowane właściwymi sterownikami wideo.
topless,

Uruchom to polecenie i opublikuj wynik w odpowiedzi po edycji:sudo dpkg -l | grep -w "rc"
Saurav Kumar,

@Braiam Dodałem dane wyjściowe, o które prosiłeś, apt-get check to Budowanie drzewa zależności i Informacje o stanie odczytu ... Gotowe, a dpkg nie daje danych wyjściowych.
topless

Czy możesz wykonać następujące czynności: 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 wkleić wyniki? Pierwsze polecenie zainstaluje aptitude, drugie wyłączy wszystkie PPA, trzecie zaktualizuje twoją listę, a czwarte wyświetli listę wszystkich pakietów, które nie pochodzą z repozytorium.
Braiam

Odpowiedzi:


47

Dla mnie zadziałało usunięcie wszelkich uszkodzonych pakietów, ponieważ uniemożliwiały one aktualizację.

Najpierw dowiedz się, które pakiety są uszkodzone:

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

Następnie usuń je:

sudo apt-get remove <packages to remove>

Niektóre mogą zostać ponownie zainstalowane podczas aktualizacji, inne mogą wymagać ponownej instalacji.


3
Wygląda na to, że mam dużą listę uszkodzonych pakietów xserver-xorg-video- *. Nie jestem do końca pewien, ale czuję, że jeśli zacznę je usuwać, mój system się zepsuje. Czy udało Ci się je usunąć? Jakiego rodzaju pakiety sprawiały ci problemy?
topless,

2
Musiałem to samo usunąć. „Dobre” wersje powróciły po zakończeniu aktualizacji. Moja aktualizacja zakończyła się sukcesem.
DaShaun

1
Mam te same problemy z pakietami xserver-xorg-video- *. Jak je usunąłeś? sudo apt-get remove xserver-xorg-video-*? Mam pytanie o więcej szczegółów.
modulitos

3
Właśnie to zrobiłem „sudo apt-get remove xserver-xorg-video- *”
DaShaun

8
grep Broken grep Broken /var/log/dist-upgrade/apt.logdaje mi ponad 700 wierszy. Zdecydowanie nie mogę ich wszystkich usunąć.
pasha.zhukov

29

Gdy system nie powiedzie się, sprawdź plik /var/log/dist-upgrade/main.log

Znalazłem linię:

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.'

Ręcznie usunąłem xubuntu-desktop. Aktualizacja była kontynuowana bez problemu.


2
Czy jest jakiś sposób, aby zachować ten pakiet i nadal aktualizować? Mam postgresql-9.2i nie chcę tego usuwać.
Abdulsattar Mohammed

1
możesz po prostu zainstalować ponownie po zakończeniu aktualizacji.
ImaginaryRobots

Po tym, jak usunąłem jedyny obecny BŁĄD, dostałem drugi inny BŁĄD przy do-release-upgradeponownym uruchomieniu, więc musiałem również ręcznie go usunąć. Być może będziesz musiał to zrobić wiele razy, jeśli masz pecha. Możliwe jest również, że jedna z pozostałych metod mogła również uwypuklić te, takie jak wstrzymanie lub złamanie, ale nie próbowałem ich.
północno-bradley,

Postgres wydawał się być tym, co mnie powstrzymywało. Dziękujemy za zwrócenie uwagi na @AbdulsattarMohammed!
żartuje

5

Podobny problem tutaj. Ostatnie kilka wierszy w pliku „main.log” wskazanym w poprzednim poście to:

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

Postępuje teraz ręczna deinstalacja jedności i aktualizacji. Nie jestem do końca pewien, co powoduje ten problem i czy jest to naprawdę dobre „rozwiązanie”, ale myślę, że dowiem się po zakończeniu aktualizacji?!?


4

Jeśli używasz zastrzeżonych sterowników wideo fglrx AMD / ATI, usunięcie pakietów fglrx i sterownik wideo xorg prawdopodobnie to naprawi:

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

W moim przypadku zainstalowałem sterowniki fglrx z PPA-edgers PPA, a usunięcie tych pakietów wyczyściło moją aktualizację. Po zakończeniu aktualizacji możesz ponownie skonfigurować proces instalacji zastrzeżonych sterowników.


To działało dla mnie!
Nick Grealy

fglrx-corenadal był w moim systemie po zrobieniu tego. Inni mogą także wymagać usunięcia.
Michael Hoffmann

4

W moim przypadku problem został spowodowany przez pakiet, który był w stanie wstrzymania . Przywrócenie go do stanu instalacji rozwiązało problem.


Możliwym sposobem na ustawienie lub usunięcie pakietu w stanie wstrzymania jest użycie dpkg. Najpierw otrzymujesz aktualny stan wszystkich pakietów i umieszczasz go w pliku:

dpkg --get-selections > myselection

Następnie edytujesz plik i zamieniasz installna hold, lub odwrotnie. Na koniec ustaw nowy wybór:

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

Inne sposoby są opisane w Jak powstrzymać pakiet przed aktualizacją?


1
dlaczego nie powiesz nam jak to zrobiłeś? To nie jest pełna odpowiedź, spróbuj opisać swoje kroki. Jak znalazłeś pakiet i podjęte działania.
topless,

1
Jak dowiedzieć się, które paczki są w stanie wstrzymania?
Dennis

2

Najwyraźniej istnieje prosty sposób, wystarczy dodać /raringdo każdej nazwy pakietu, tak jak poniżej:

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

Jeśli to nie działa, wypróbuj poniższą metodę.


Spodziewano się, że masz kilka pakietów, które nie pochodzą z repozytoriów Ubuntu, które są krytyczne dla instalacji. Powinieneś je obniżyć, jeden po drugim (nie znalazłem skutecznego sposobu, aby to zrobić), a następnie podjąć próbę uaktualnienia. Zrobię jeden jako przykład:

$ 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

W twoim przypadku powinno pojawić się coś takiego. Należy wziąć pod uwagę wersję, która ma adres URL, w tym przypadku 2.4.43-0ubuntu1ma http://archive.ubuntu.com/ubuntu/, zapisać parę na później w pliku tekstowym przy użyciu formatu <package>=<version>.

Jeśli widzisz coś takiego:

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

zauważ, że nie ma adresu URL , wtedy ten pakiet można usunąć:

sudo apt-get remove fluxgui

Po zakończeniu lista powinna wyglądać następująco:

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

(ponownie i przykład, ale możesz mieć pomysł)

Po ukończeniu listy wpisz sudo apt-get -f installi wklej całą listę, aby wyglądała następująco:

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

Jeśli chcesz to zrobić nieco szybciej, możesz użyć apt-cache policy libdrm2 libgbm1kilku nazw pakietów.


cóż, pierwsze podejście nie rozwiązało problemu, dziś będę miał trochę czasu, aby przejść przez kolejne kroki, które sugerujesz. Byłoby miło podać polecenie cofnięcia pierwszych zmian, ponieważ teraz nie jest w stanie apt-get update.
topless

@topless, jeśli pierwsze polecenie nie powiedzie się, oznacza to, że nic nie zostało zrobione. Jeśli apt-get updatenie działa, oznacza to inną rzecz.
Braiam

na apt-get updateuzyskać tego rodzaju błędówN: Ignoring file 'xorg-edgers-ppa-raring.list.disable' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
topless

Jest to informacja / ostrzeżenie, które można zignorować i jest oczekiwane, ponieważ nie chcemy, aby PPA przeszkadzało.
Braiam

W odpowiedzi poniżej dołączę „skuteczny sposób” usuwania pakietów „jeden po drugim”. To tylko zbiór wszystkich wskazówek, które otrzymałem z każdego miejsca.
nyxee

1

Postępowałem zgodnie z kilkoma powyższymi odpowiedziami, próbując uruchomić aktualizację do pracy, ale żadna z tych czynności nie obejmowała usuwania uszkodzonych pakietów. Miałem 144 zepsute paczki, co wydawało się całkowicie niepraktyczne. Usuwałem je pojedynczo, po każdej próbie aktualizacji. Po usunięciu 3 (perl-base, gnuplot, gnuplot-11), wybranych zasadniczo losowo, aktualizacja się powiodła. (14.04–16.04).


0

Miałem ten sam problem, ale łatwo go rozwiązać, uruchamiając następujące w terminalu:

sudo apt-get remove
sudo apt-get autoremove

3
sudo apt-get removenic nie robi
guntbert,

Ahh, ale zawiera listę pakietów, które można usunąć za pomocą funkcji automatycznego usuwania. :) w mojej metodzie jest szaleństwo.
seyDoggy,

1
To samo dotyczy sudo apt-get autoremove.
guntbert

+1 - Musiałem biecsudo apt-get autoremove
Nick Grealy

-1

Odpowiedziałem już dawno temu, jeśli wykonałeś proste wyszukiwanie tutaj przed opublikowaniem pytania.

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

Gotowe, rozwiązuje wszystkie problemy


1
Proszę nie rzucać tego rodzaju odpowiedzi. Ta procedura jest potencjalnie niebezpieczna, wykonywana bez opieki.
Braiam

Właściwie nie, nie jest. To wcale nie jest niebezpieczne. Fakt, że uważasz, że jest niebezpieczny, oznacza, że ​​niewiele o nim wiesz. Prowadziłem go wiele razy w przeszłości i z wieloma ludźmi. Jeśli faktycznie przeczytałeś całe polecenie, zobaczysz, że uwzględniłem wszystkie możliwe problemy. Wszystko, co użytkownik musi zrobić, to po prostu obserwować wynik polecenia. Ubuntu 13.10 ma wiele problemów z aktualizacją, ale to wszystko porządnie i wygodnie rozwiązuje jednym długim poleceniem. Radzę zapoznać się z dokumentacją działania „do-release-upgrade”, ponieważ właśnie to robi to polecenie.
mmstick

1
@mmstick Możesz opracować nieco więcej na temat długiego dowodzenia i problemów, które rozwiązuje, pod warunkiem, że rzeczywisty problem i sposób jego rozwiązania. Widzę, że dzwonisz wiele razy apt-get upgradei resztę poleceń, więc może znowu możesz podzielić go wiersz po wierszu i wyjaśnić swój proces i dlaczego działa. Nie mam luksusu eksperymentować z nieodwracalnymi poleceniami wysokiego ryzyka. Dzięki za wysiłek. Wszyscy jesteśmy tutaj, aby się uczyć ..
topless,

@mmstick, szukam twojej odpowiedzi, wspomniałeś kiedyś o niej i wygląda ona na moje pytanie, więc mogłeś wyglądać nieco lepiej, zanim odpowiesz niegrzecznie mi i Braiamowi.
topless

2
@mmstick nie bądź leniwy, edytuj swoją odpowiedź, aby być gotowym do wykorzystania w przyszłości. Dobrze, że wnieśliście swój wkład wcześnie, ale po raz pierwszy napotkałem problem z aktualizacją 13.10.
topless
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.