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
Poproś o wycenę
Trzy sposoby aktualizacji jądra systemu CentOS komputera przemysłowego
Blog

Trzy sposoby aktualizacji jądra systemu CentOS komputera przemysłowego

2024-10-17 15:08:44

Podczas korzystania z systemu CentOS nie da się uniknąć aktualizacji jądra, ale czasami, ze względu na problemy z zależnościami kompilacji kodu źródłowego, nie wszystkie programy obsługują najnowszą wersję jądra. Dlatego poniżej przedstawimy trzy sposoby aktualizacji jądra.

Notatka:
O typach jądra:
Skrót ml w kernel-ml to skrót od [mainline stable] w języku angielskim, a najnowsza stabilna wersja mainline jest wymieniona w elrepo-kernel.
Skrót lt w kernel-lt to skrót od [long term support] w języku angielskim, a wersja objęta długoterminowym wsparciem jest wymieniona w elrepo-kernel.
Sprawdź wersję jądra
uname -r

Obraz 1
Spis treści

1. instalacja yum

1. Importuj źródło repozytorium
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. Wyświetl pakiety do zainstalowania
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep
jądro-ml.x86_64
3. Wybierz wersję ML lub LT do zainstalowania
Jeżeli nie określono żadnej wersji, domyślnie instalowana jest najnowsza wersja
Zainstaluj wersję ML
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
Zainstaluj wersję LT, wybierz tę opcję dla wszystkich K8S
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. Sprawdź aktualną sekwencję rozruchową jądra
awk -F\' '$1=="wpismenu " {print $2}' /etc/grub2.cfg
5. Modyfikuj domyślny element rozruchowy
xxx to numer seryjny, który określa x-ty element na liście rozruchowej jako element rozruchowy, a x zaczyna się od 0
grub2-ustaw-domyślnie xxxx
Na przykład, jeśli chcesz ustawić rozruch z jądrem 4.4
następnie wpisz bezpośrednio „grub2-set-default 0”, a następnym razem będziesz mógł zacząć od wersji 4.4
Sprawdź sekwencję rozruchową jądra
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (rdzeń)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (rdzeń)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (rdzeń)
Ustaw numer sekwencji rozruchowej
[root@localhost ~] grub2-set-default 0
Ponowne uruchomienie
ponowne uruchomienie
Sprawdź wersję jądra
uname -r

Obraz 2

2. Instalacja RPM

Sprawdź wersję jądra
uname -r
1. Znajdź wersję
Ponieważ źródło ELRepo jest najnowszą wersją, starszą wersję jądra można pobrać wyłącznie ręcznie.
Znajdź historyczną wersję kernel rpm:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. Musisz pobrać trzy typy plików 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
nagłówki-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. Zainstaluj jądro
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
Lub
#Zainstaluj wszystko jednym kliknięciem
obr./min -Uvh *.rpm
4. Potwierdź zainstalowaną wersję jądra
[root@localhost ~]# rpm -qa | grep kernel
nagłówki jądra-3.10.0-1160.15.2.el7.x86_64
jądro-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
jądro-3.10.0-957.el7.x86_64
jądro-ml-4.9.9-1.el7.elrepo.x86_64
jądro-lt-4.4.215-1.el7.elrepo.x86_64
narzędzia-jądra-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64

5. Ustaw uruchamianie
Sprawdź kolejność uruchamiania
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (rdzeń)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (rdzeń)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (rdzeń)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (rdzeń)
Ustaw kolejność rozruchu
[root@localhost ~]# grub2-set-default 0
Aby zastosować zmiany, należy uruchomić ponownie
[root@localhost ~]# reboot

3. Instalacja kodu źródłowego

1. Zainstaluj pakiet oprogramowania podstawowego
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Utwórz katalog kompilacji jądra
Użyj katalogu kernelbuild w katalogu domowym
mkdir ~/kernelbuild
3. Pobierz kod źródłowy jądra
Strona lustrzana Uniwersytetu Tsinghua:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
Adres do pobrania innego pakietu instalacyjnego kodu źródłowego:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
Oba formaty są akceptowane, tar.xz ma wyższy stopień kompresji i mniejszy rozmiar pliku.
Pobierz online: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. Rozpakuj kod jądra
Po rozpakowaniu pliku przejdź do katalogu źródłowego:
tar -xvJf linux-4.17.11.tar.xz
Aby mieć pewność, że drzewo jądra jest całkowicie czyste, wejdź do katalogu jądra i wykonaj polecenie make mrproper:
cd linux-4.17.11
zrób czysty i zrób mrproper

5. Konfiguracja jądra
Skopiuj bieżący plik konfiguracji jądra
config-3.10.0-862.el7.x86_64 to plik konfiguracji jądra mojego obecnego środowiska, zmodyfikuj go zgodnie z rzeczywistą sytuacją
cp /boot/config-3.10.0-862.el7.x86_64 .config
Zaawansowana konfiguracja
y jest włączone, n jest wyłączone, a m jest włączone, gdy jest to potrzebne.
make menuconfig: stary interfejs ncurses, zastąpiony przez nconfig
make nconfig: Nowy interfejs wiersza poleceń ncurses
6. Kompilacja i instalacja
Kompilacja jądra
Jeśli masz komputer czterordzeniowy, x może wynosić 8
make -jx
Zainstaluj jądro
Po skompilowaniu jądra zainstaluj: Ostrzeżenie: Od tego momentu do wykonywania poleceń wymagane są uprawnienia roota, w przeciwnym razie operacja się nie powiedzie.
zrób moduły_install instaluj
7. Skonfiguruj uruchamianie
Sprawdź sekwencję startową
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (rdzeń)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (rdzeń)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (rdzeń)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (rdzeń)
Ustaw kolejność rozruchu
[root@localhost ~]# grub2-set-default 0
Aby zastosować zmiany, należy uruchomić ponownie
[root@localhost ~]# reboot


Powiązane produkty

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.