Pobiegłeś sudo apt-get update
, a problem nadal się pojawia. Więc chyba tylko mieć nowszą wersję linux-image-server
i linux-headers-server
niż jakiegokolwiek linux-server
dostępnego pakietu ze skonfigurowanych źródeł oprogramowania .
Może się to zdarzyć przez bardzo krótki czas, nawet jeśli używasz centralnego serwera (lub dłużej, jeśli wystąpił problem z jego aktualizacją). Rozumiem, że może się zdarzyć przez dłuższy czas, jeśli użyjesz lustra. Nie oznacza to, że nie powinieneś używać http://archive.ubuntu.com
kopii lustrzanej - serwer centralny ( ) jest zwykle bardzo wolny, a kopie krajowe, regionalne lub inne są znacznie szybsze.
Wyszukiwania pakietu ukazuje, że zarówno wersja 3.2.0.37.45 linux-image-server
i linux-server
istnieją dla Ubuntu 12.04. Prawdopodobnie jest to związane z twoim lustrem.
Oto kilka alternatyw:
Zignoruj to
Jeśli możesz użyć menedżera pakietów do innych celów, na przykład do zainstalowania innych pakietów, możesz to zignorować. Kiedy twoje lustro zostanie zaktualizowane, prawdopodobnie po prostu dostaniesz pakiet.
Nie jest problemem nie mieć najnowszego linux-server
pakietu, ponieważ jest to metapakiet , który nie zapewnia żadnego rzeczywistego oprogramowania. Istnieje tylko, aby mógł wymienić trzy pakiety jako zależności , upewniając się, że pozostaną zainstalowane:
Masz już najnowsze wersje linux-headers-server
i linux-image-server
. Domyślam się, że jest to system 64-bitowy, dlatego żaden komunikat o nim nie linux-generic-pae
został wyświetlony. Wygląda na to, że wszystko jest w porządku.
Jednak:
- Jeśli problem uniemożliwia aktualizowanie i instalowanie innych pakietów (w przeciwieństwie do pokazywania tych wiadomości za każdym razem, gdy to robisz, ale nie ingerujesz w nie), powinieneś zastosować inne rozwiązanie.
- Możesz także to zrobić, jeśli po prostu nie lubisz oglądać tych wiadomości przez cały czas i chcesz się ich pozbyć.
- To trochę dziwne, że nie dostajesz tego pakietu, nawet jeśli używasz kopii lustrzanej, która jest nieco w tyle za głównym serwerem pobierania, ponieważ ten pakiet jest również dostarczany
http://security.ubuntu.com
. Ten serwer powinien być zawsze włączony w /etc/apt/sources.list
. Zalecam więc sprawdzenie, aby upewnić się, że jest włączony. Możesz wykonać kopię zapasową sources.list
przed edycją ( sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
). Problem może być również konsekwencją buforowania serwera proxy sieci Web (jeśli go używasz) ze starymi danymi. (Poniższe rozwiązania też to obejdą).
Zmień na inny serwer pobierania
Domyślam się, że używasz systemu Ubuntu Server i prawdopodobnie nie masz zainstalowanego GUI. Zobacz więc:
Po zmianie lustra uruchom:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Jeśli chcesz, możesz zmienić serwer po linux-server
aktualizacji.
Ręcznie pobierz i zainstaluj .deb
plik pakietu
Możesz ręcznie pobrać i zainstalować .deb
plik najnowszej wersji linux-server
metapakietu w Ubuntu 12.04.
cd
gdziekolwiek chcesz pobrać pakiet.
Jeśli jest to system 64-bitowy, uruchom:
wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_amd64.deb
Jeśli jest to system 32-bitowy, uruchom to zamiast tego:
wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_i386.deb
(Otrzymałem oba te linki na stronie Launchpad dla linux-meta
pakietu źródłowego w Ubuntu .)
Teraz (zarówno dla wersji 64-bitowej, jak i 32-bitowej) uruchom tę komendę, aby zainstalować pakiet:
sudo dpkg -i linux-server_3.2.0.23.25_*.deb
(Lub po prostu zacznij wpisywać nazwę pakietu i użyj go, Tababy go wypełnić.)
Usuń pakiet
Ponieważ jest to metapakiet zawierający oprogramowanie, które już masz, możesz usunąć pakiet. Wtedy już nie dostaniesz błędu. Możesz go zainstalować później, jeśli chcesz (możesz okresowo uruchamiać, apt-get update && apt-cache policy linux-server
aby sprawdzić, czy nowa wersja jest dostępna).
Istnieją dwa kroki, jeśli chcesz je usunąć. Pierwszym z nich jest odinstalowanie linux-server
. po drugie, aby upewnić się, że pakiety nie zostaną automatycznie usunięte później.
Zależności nie zostaną natychmiast usunięte . Więc nie ma znaczenia, który z tych kroków wykonasz jako pierwszy.
1. Odinstaluj linux-server
.
Aby odinstalować linux-server
, wystarczy uruchomić:
sudo apt-get remove linux-server
2. Oznacz swoje zależności jako zainstalowane ręcznie
Aby poinformować APT (menedżera pakietów) o pakietach, które zamierzasz zainstalować, nawet jeśli nie pozostanie nic, co zadeklaruje ich zależność, oznacz je jako zainstalowane ręcznie.
Aby to zrobić, uruchom tę komendę, jeśli jest to system 64-bitowy:
sudo apt-mark manual linux-image-server linux-headers-server
Jeśli jest to system 32-bitowy, uruchom to zamiast tego:
sudo apt-mark manual linux-image-server linux-headers-server linux-generic-pae
(Powinieneś, apt-mark
ale jeśli tego nie zrobisz i nie możesz zainstalować oprogramowania, możesz użyć apt-get install
zamiast - apt-mark manual
ręczne określenie pakietu do instalacji powoduje, że zostanie on oznaczony jako zainstalowany ręcznie, nawet jeśli został już zainstalowany).
Źródło: Oznacz pakiet deb jako używany, więc nie jest sugerowany autoroval
(w szczególności odpowiedź Lekensteyn .)
linux-server_3.2.0.37.45
) naprawiło problem.sudo apt-get remove linux-server && sudo apt-get install linux-server
Jeśli miałeś pełny / boot i automatyczne instalacje aktualizacji bezpieczeństwa popsuły, możesz być w tej samej łodzi co ja.
Nie mogłem zmusić apt-get do zrobienia czegokolwiek, więc tradycyjne porady dotyczące pełnego / bootowania nie działały. Ręcznie usunąłem stare dane jądra. Nie usuwaj aktualnie działającego jądra, zaznacz „uname -a”. Usunąłem za pomocą 'sudo rm / boot / -3.2.0- {23,24,25,26} - .
Następnie musiałem uruchomić polecenie „sudo apt-get remove linux-server” i „sudo apt-get install linux-server”, aby naprawić bałagan z powodu problemu z 1/2 zainstalowanym jądrem. Po tym wszystkim mogłem wreszcie „sudo apt-get upgrade” i znów zacząć działać.
Dla pewności wrzuciłem „sudo update-grub” i „sudo apt-get autorove”, aby upewnić się, że menu startowe jest dokładne i że inne pakiety zostały wyczyszczone.
źródło
W przypadku Ubuntu 12.04 konieczne było zarówno ręczne zainstalowanie serwera linux-headers-server, jak i serwera linux-server (jak zasugerowano powyżej - skomentowałem to, ale nie mam jeszcze tego uprawnienia), a następnie apt-get remove linux-headers-virtual, który wydaje się nie istnieć jako pakiet 64-bitowy dla 12.04.
sudo wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-headers-server_3.2.0.64.76_amd64.deb
źródło