Bene, ci sono molti motivi per cui dovresti eseguire l'ultima versione del kernel Linux. Ad esempio, il kernel attuale potrebbe avere bug che possono essere sfruttati dagli hacker o vuoi provare alcuni driver di dispositivo che richiedono l'ultima versione del kernel o vuoi semplicemente mantenere aggiornato il tuo sistema. Qualunque sia la ragione, l'aggiornamento del sistema all'ultimo kernel dovrebbe avere la massima priorità nell'elenco di controllo della manutenzione del sistema.
Ti mostrerò come aggiornare il kernel Linux su una macchina CentOS. Per la dimostrazione, aggiornerò il kernel da 2.6.32-358 a 3.12 .
Lascia che ti mostri la versione attuale del kernel che ho.
$uname -r 2.6.32-358.el6.x86_64
Preparati con questi prerequisiti. Installali come utente "root".
$ yum groupinstall "Development Tools" $ yum install ncurses-devel
Dovresti anche aggiornare altri pacchetti prima di aggiornare il kernel.
$ yum update
Scarica kernel 3.12
Scarichiamo l'ultimo kernel da kernel.org . Al momento della stesura di questo articolo, l'ultima versione del kernel era la 3.12.
$wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz
Decomprimi il kernel scaricato in '/usr/src/'
$tar xvfvJ linux-3.12.tar.xz -C /usr/src
Entriamo nella cartella decompressa.
$ cd /usr/src/linux-3.12
Nota:se non sapevi come estrarre i file .xz, leggi questo tutorial.
Genera la configurazione del kernel
Per generare la configurazione del kernel utilizzando l'interfaccia grafica, eseguire il comando seguente.
$ make menuconfig
Dovresti vedere un'interfaccia come quella mostrata di seguito.
Non vuoi creare una nuova configurazione? Utilizza la configurazione del kernel esistente.
$ sudo make oldconfig
Ma dovrai comunque rispondere alle domande poste. Se non sei sicuro della domanda, premi semplicemente invio per inserire la risposta predefinita.
Configura kernel
$make
Il comando precedente richiederebbe circa 40-50 minuti a seconda della velocità del tuo sistema.
Installa kernel
$ make modules_install install
Il comando precedente richiederebbe circa 20-30 minuti a seconda della velocità del tuo sistema.
Configura grub per caricare il kernel più recente
$vi /etc/grub.conf
Tuttavia, il percorso della configurazione di grub potrebbe variare sul tuo sistema. In caso contrario /etc/grub.conf , potrebbe essere in /etc/grub/grub.conf .
Dopo aver eseguito grub.conf è aperto, imposta la variabile "predefinita" sulla posizione del tuo nuovo kernel. Ad esempio, nel mio caso, l'ultimo kernel era in posizione zero.
default=0
Puoi verificare la nuova installazione del kernel nei seguenti percorsi.
$cd /boot $ls -lrt vmlinuz-3.12 $vi /boot/grub/menu.lst
Ora sei a posto per riavviare il sistema.
I problemi? Non riesco ad accedere in remoto al mio sistema dopo l'aggiornamento del kernel.
Collega il terminale alla macchina e controlla i file del dispositivo usando il comando seguente,
ls –lrt /dev/ptmx
ls –lrt /dev/pts/
ls –lrt /dev/random
ls –lrt /dev/urandam
ls –lrt /dev/null
Non trovi nessun dispositivo? Vai a Crea file /dev voce sotto. Se riesci a trovare /dev/pts , apri il file sottostante.
$vi /etc/fstab
Riesci a trovare una voce per /dev/pts? In caso contrario, aggiungi quello mostrato di seguito,
none /dev/pts devpts gid=5,mode=620 0 0
Run, $mount -a
Makedev tty &pty
Esegui i seguenti comandi:
/sbin/MAKEDEV tty /sbin/MAKEDEV pty
Crea file /dev
Se non hai trovato i file del dispositivo, creali con l'aiuto dei seguenti comandi:
mknod /dev/random c 1 9 mknod /dev/urandom c 1 9 mknod /dev/ptmx c 5 2 mknod /dev/null c 1 3 chmod +666 /dev/null
Ora abbiamo temporaneamente aperto la strada alla connessione remota. Per farlo in modo permanente,
$vi /etc/rc.d/rc.sysinit
Cerca start_udev , nella riga successiva aggiungi gli elementi seguenti,
mknod /dev/random c 1 9 mknod /dev/ptmx c 5 2
Disclaimer: The above steps worked for me and I'm sharing those with you all. It might be slightly different on your environment. So take necessary care while upgrading. Techglimpse.com or the author doesn't holdany reponsibilities for the damage that cause to your operating system.