Leave Your Message
*Name Cannot be empty!
* Enter product details such as size, color,materials etc. and other specific requirements to receive an accurate quote. Cannot be empty
Solicite um orçamento
Três maneiras de atualizar o kernel de um sistema CentOS para computadores industriais.
Blog

Três maneiras de atualizar o kernel de um sistema CentOS para computadores industriais.

2024-10-17 15:08:44

Durante o uso do CentOS, é inevitável atualizar o kernel, mas às vezes, devido a problemas de dependência na compilação do código-fonte, nem todos os programas são compatíveis com a versão mais recente do kernel. Portanto, a seguir, apresentaremos três maneiras de atualizar o kernel.

Observação:
Sobre os tipos de kernel:
O "ml" em kernel-ml é a abreviação de [mainline estável] em inglês, e a versão estável mais recente do mainline está listada em elrepo-kernel.
O "lt" em kernel-lt é a abreviação de [suporte de longo prazo] em inglês, e a versão de suporte de longo prazo está listada em elrepo-kernel.
Verifique a versão do kernel
uname -r

Imagem 1
Índice

1. Instalação do Yum

1. Importe a fonte do repositório.
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2. Veja os pacotes instaláveis
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
kernel-ml.x86_64
3. Selecione a versão ML ou LT para instalar.
Se nenhuma versão for especificada, a versão mais recente será instalada por padrão.
Instalar versão ML
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
Instale a versão LT, selecione esta opção para todos os K8S.
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. Verifique a sequência de inicialização do kernel atual.
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. Modifique o item de inicialização padrão
xxx é o número de série, que especifica o x-ésimo item na lista de inicialização como o item de inicialização, e x começa a contar a partir de 0.
grub2-set-default xxxx
Por exemplo, se você quiser configurá-lo para inicializar com o kernel 4.4
Em seguida, digite diretamente "grub2-set-default 0" e você poderá iniciar a partir da versão 4.4 na próxima vez que iniciar o sistema.
Verifique a sequência de inicialização do kernel
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)
Defina o número de sequência de inicialização.
[root@localhost ~] grub2-set-default 0
Reinício
reinício
Verifique a versão do kernel
uname -r

Imagem 2

2. Instalação de RPM

Verifique a versão do kernel
uname -r
1. Encontre a versão
Como o repositório ELRepo contém a versão mais recente, a versão antiga do kernel só pode ser baixada manualmente.
Encontre a versão histórica do rpm do kernel:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. Você precisa baixar três tipos de rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
headers-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.rpm
3. Instale o kernel
rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
ou
#Instale tudo com um clique
rpm -Uvh *.rpm
4. Confirme a versão do kernel instalada.
[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-4.4.215-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64

5. Configurar inicialização
Verifique a ordem de inicialização
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
Defina a ordem de inicialização
[root@localhost ~]# grub2-set-default 0
Reinicie para que as alterações tenham efeito.
[root@localhost ~]# reiniciar

3. Instalação do código-fonte

1. Instale o pacote de software principal.
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Crie um diretório de compilação do kernel
Use o diretório kernelbuild em home
mkdir ~/kernelbuild
3. Obtenha o código-fonte do kernel.
Site espelho da Universidade de Tsinghua:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
Outro endereço para download do pacote de instalação do código-fonte:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
Ambos os formatos são aceitáveis, o tar.xz tem uma taxa de compressão maior e um tamanho de arquivo menor.
Faça o download online: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. Descompacte o código do kernel.
Após descompactar o arquivo, acesse o diretório de origem:
tar -xvJf linux-4.17.11.tar.xz
Para garantir que a árvore do kernel esteja completamente limpa, entre no diretório do kernel e execute o comando make mrproper:
cd linux-4.17.11
faça limpo e faça o senhor ficar bem

5. Configuração do kernel
Copie o arquivo de configuração atual do kernel.
O arquivo de configuração do kernel do meu ambiente atual é o config-3.10.0-862.el7.x86_64. Modifique-o de acordo com a sua situação.
cp /boot/config-3.10.0-862.el7.x86_64 .config
Configuração avançada
"y" está ativado, "n" está desativado e "m" é ativado quando necessário.
make menuconfig: antiga interface ncurses, substituída por nconfig
make nconfig: Nova interface de linha de comando ncurses
6. Compile e instale
Compile o kernel
Se você tiver uma máquina quad-core, x pode ser 8.
make -jx
Instale o kernel
Após compilar o kernel, instale: Aviso: A partir daqui, você precisa de privilégios de root para executar comandos; caso contrário, a operação falhará.
make modules_install install
7. Configurar a startup
Verifique a sequência de inicialização
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
Defina a ordem de inicialização
[root@localhost ~]# grub2-set-default 0
Reinicie para que as alterações tenham efeito.
[root@localhost ~]# reiniciar


Produtos relacionados

01

LET'S TALK ABOUT YOUR PROJECTS

  • sinsmarttech@gmail.com
  • 3F, Block A, Future Research & Innovation Park, Yuhang District, Hangzhou, Zhejiang, China

Our experts will solve them in no time.