APT incuneato dalla mancata corrispondenza della versione del kernel

17

Apt sembra non essere in grado di fare nulla di utile per me, ripetutamente dando messaggi di questo modulo:

dpkg: dependency problems prevent configuration of linux-server:
 linux-server depends on linux-image-server (= 3.2.0.37.44); however:
  Version of linux-image-server on system is 3.2.0.37.45.
 linux-server depends on linux-headers-server (= 3.2.0.37.44); however:
  Version of linux-headers-server on system is 3.2.0.37.45.
dpkg: error processing linux-server (--configure):
 dependency problems - leaving unconfigured

Questo è fondamentalmente lo stesso problema di Non riesco ad installare alcun pacchetto (linux-image-server, errori delle dipendenze linux-server) che ha chiuso Duplicato a una risposta che è totalmente inutile per questa situazione. Nessuno dei consigli in aiuta a dare una risposta molto generica sulle dipendenze .

In modo esplicito:

sudo apt-get clean
sudo apt-get autoclean
sudo apt-get update

tutti non hanno alcun effetto. Mentre

sudo apt-get -f install
sudo dpkg --configure -a
sudo apt-get -u dist-upgrade
sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

danno tutti una qualche forma del messaggio di errore sopra.

    
posta Leopd 09.02.2013 - 23:55

3 risposte

19

Hai eseguito sudo apt-get update e il problema si verifica ancora. Quindi probabilmente hai solo una versione più recente di linux-image-server e linux-headers-server di qualsiasi pacchetto linux-server disponibile dalle tue sorgenti software configurate .

Questo potrebbe verificarsi per un molto poco tempo anche se si sta utilizzando il server centrale (o per un tempo più lungo se si verifica un problema di aggiornamento). La mia comprensione è che può verificarsi per periodi di tempo più lunghi se si utilizza uno specchio. Ciò non significa che non dovresti usare un mirror: il server centrale ( http://archive.ubuntu.com ) è in genere molto lento e i mirror nazionali, regionali o di altro tipo sono molto più veloci.

Una ricerca di pacchetti rivela la versione 3.2.0.37.45 di entrambi linux-image-server e linux-server esiste per Ubuntu 12.04. Quindi è probabilmente correlato al tuo mirror.

Ecco alcune alternative:

Ignora esso

Se sei in grado di utilizzare il gestore di pacchetti per altri scopi, ad esempio, per installare altri pacchetti, puoi semplicemente ignorarlo. Quando il tuo mirror viene aggiornato, probabilmente riceverai il pacchetto.

Non è un problema non avere il pacchetto linux-server più recente, poiché è un metapacchetto che non fornisce qualsiasi software attuale. Esiste solo così può elencare tre pacchetti come dipendenze , assicurando che rimangano installati:

Hai già le ultime versioni di linux-headers-server e linux-image-server . La mia ipotesi è che questo sia un sistema a 64 bit, motivo per cui non è stato mostrato alcun messaggio su linux-generic-pae . Sembra che tutto vada bene.

Tuttavia:

  • Se il problema è prevenire l'aggiornamento e l'installazione di altri pacchetti dal lavoro (al contrario di solo mostrare quei messaggi ogni volta che lo fai, ma non interferire con esso), allora dovrebbe applicare qualche altra soluzione.
  • Potresti anche desiderare di farlo, se semplicemente non ti piace vedere questi messaggi tutto il tempo e vuoi liberartene.
  • È un po 'strano che tu non stia ricevendo questo pacchetto, anche se usi un mirror che è in ritardo rispetto al server di download principale, perché questo pacchetto è fornito anche da http://security.ubuntu.com . Quel server dovrebbe sempre essere abilitato in /etc/apt/sources.list . Quindi ti consiglio di verificare che sia abilitato. Potresti voler eseguire il backup di sources.list prima di modificarlo ( sudo cp /etc/apt/sources.list /etc/apt/sources.list.old ). Il problema potrebbe anche essere una conseguenza di un proxy Web di memorizzazione nella cache (se ne si utilizza uno) con dati obsoleti. (Le soluzioni seguenti funzioneranno anche su questo).

Cambia in un server di download diverso

Suppongo che tu stia utilizzando un sistema Ubuntu Server e probabilmente non hai una GUI installata. Quindi, vedi:

Dopo aver cambiato il mirror, esegui:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Se lo desideri, puoi ripristinare il server dopo che linux-server è stato aggiornato.

Scarica e installa manualmente il file pacchetto .deb

Puoi scaricare e installare manualmente il file .deb per l'ultima versione del metapacchetto linux-server in Ubuntu 12.04.

cd dove vuoi scaricare il pacchetto.

Se questo è un sistema a 64 bit, esegui:

wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_amd64.deb

Se si tratta di un sistema a 32 bit, eseguirlo invece:

wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_i386.deb

(Ho ottenuto entrambi i link nella pagina Launchpad per il pacchetto sorgente linux-meta in Ubuntu . )

Ora (sia per 64 bit che per 32 bit), esegui questo comando per installare il pacchetto:

sudo dpkg -i linux-server_3.2.0.23.25_*.deb

(Oppure inizia a digitare il nome del pacchetto e usa Tab per completarlo.)

Rimuovi il pacchetto

Poiché si tratta di un metapacchetto che fornisce software già esistente, è possibile rimuovere il pacchetto. Quindi non avrai più l'errore. Puoi installarlo di nuovo in seguito, se lo desideri (potresti eseguire periodicamente apt-get update && apt-cache policy linux-server per vedere se la nuova versione è disponibile).

Ci sono due passaggi, se vuoi rimuoverlo. Il primo è disinstallare linux-server . il secondo è assicurarsi che i pacchetti non vengano rimossi automaticamente in seguito.

Le dipendenze non saranno rimosse immediatamente . Quindi non importa quale di questi passaggi fai prima.

1.Disinstalla linux-server .

Per disinstallare linux-server , esegui semplicemente:

sudo apt-get remove linux-server

2. Segna le sue dipendenze come installate manualmente

Per indicare a APT (il gestore di pacchetti) i pacchetti che intendi installare anche se non rimane nulla che li dichiari una dipendenza, contrassegnali come installati manualmente.

Per farlo, esegui questo comando, se questo è un sistema a 64 bit:

sudo apt-mark manual linux-image-server linux-headers-server

Se si tratta di un sistema a 32 bit, eseguilo invece:

sudo apt-mark manual linux-image-server linux-headers-server linux-generic-pae

(Dovresti avere apt-mark ma se non lo fai e non puoi installare il software, puoi usare apt-get install invece di apt-mark manual - specificare manualmente un pacchetto per l'installazione fa sì che venga contrassegnato come installato manualmente anche se fosse già installato.)

Origine: Contrassegna un pacchetto deb come usato, quindi non è consigliato per la rimozione automatica
(In particolare, risposta di Lekensteyn .)

    
risposta data Eliah Kagan 10.02.2013 - 21:11
4

Se avevi un pieno / boot e le installazioni di aggiornamento automatico della sicurezza hanno rotto apt, potresti trovarti nella mia stessa barca.

Non ho potuto ottenere apt-fare qualcosa, quindi i consigli full / boot tradizionali non hanno funzionato. Ho rimosso manualmente i vecchi dati del kernel. Non rimuovere il kernel corrente in esecuzione, controlla con 'uname -a'. Ho rimosso con 'sudo rm /boot/-3.2.0-{23,24,25,26} - .

Poi ho dovuto eseguire 'sudo apt-get remove linux-server' e 'sudo apt-get install linux-server' per correggere il disordine dal problema del kernel 1/2 installato. Dopotutto, potrei finalmente 'sudo apt-get upgrade' e fare in modo che le cose si spostino di nuovo.

Per buona misura, ho aggiunto un "sudo update-grub" e "sudo apt-get autoremove" per assicurarmi che il menu di avvio fosse accurato e che gli altri pacchetti siano stati ripuliti.

    
risposta data flickerfly 17.12.2013 - 22:03
0

Nella situazione con Ubuntu 12.04, era necessario installare manualmente linux-headers-server e linux-server (come suggerito sopra - avrei commentato lì ma non ho ancora questo privilegio), e poi apt -get rimuove linux-headers-virtual, che non sembra più esistere come pacchetto a 64-bit per 12.04.

sudo wget link

    
risposta data user291949 09.06.2014 - 16:56

Leggi altre domande sui tag