Показать страницуИстория страницыСсылки сюдаЭкспорт в PDFНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Обновление ядра в Ubuntu ====== Иногда появляется необходимость в установке непредусмотренной создателями версии ядра в Ubuntu. Например, поставить ядро версии 5.10 на Ubuntu 22.04 (по умолчанию там 5.15), т.е. сделать даунгрейд/апгрейд. Это не сложно, но нужно учитывать что не каждое ядро у вас может заработать. Качаем скрипт и делаем его исполняемым: <code> wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh chmod +x ubuntu-mainline-kernel.sh </code> Ищем нужную нам версию ядра: <code> ./ubuntu-mainline-kernel.sh -r | grep 5.10 </code> Устанавливаем: <code> ./ubuntu-mainline-kernel.sh -i v5.10.0 </code> Проверяем что ядро появилось в списке доступных: <code> grep 'menuentry \|submenu ' /boot/grub/grub.cfg | cut -f2 -d "'" </code> Вносим изменения в /etc/default/grub, строку "GRUB_DEFAULT=0" приводим к виду: <code> GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.10.0-051000-generic" </code> Обновляем: <code> update-grub </code> Перезагружаем сервер: <code> reboot now </code> Проверяем: <code> uname -r </code> <callout type="success" title="Работа через proxy">Особенность в том, что gpg не умеет самостоятельно подхватывать системные настройки proxy, нужно указать руками</callout> Для этого нужно строки <code> if [ $check_signature -eq 1 ]; then if ! gpg --list-keys ${ppa_key} >$debug_target 2>&1; then logn "Importing kernel-ppa gpg key " if gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv ${ppa_key} >$debug_target 2>&1; then log "ok" else logn "failed" warn "Unable to check signature" check_signature=0 fi fi if [ $check_signature -eq 1 ]; then if gpg --verify CHECKSUMS.gpg CHECKSUMS >$debug_target 2>&1; then log "Signature of checksum file has been successfully verified" else err "Abort, signature of checksum file is NOT OK" exit 4 fi fi fi </code> заменить примерно так: <code> if [ $check_signature -eq 1 ]; then echo "PPA Key: ${ppa_key}" if ! gpg --keyserver-options http-proxy=http://127.0.0.1:3128 --list-keys ${ppa_key} >$debug_target 2>&1; then logn "Importing kernel-ppa gpg key " if gpg --keyserver-options http-proxy=http://127.0.0.1:3128 --keyserver hkp://keyserver.ubuntu.com:80 --recv ${ppa_key} >$debug_target 2>&1; then log "ok" else logn "failed" warn "Unable to check signature" check_signature=0 fi fi if [ $check_signature -eq 1 ]; then if gpg --keyserver-options http-proxy=http://127.0.0.1:3128 --verify CHECKSUMS.gpg CHECKSUMS >$debug_target 2>&1; then log "Signature of checksum file has been successfully verified" else err "Abort, signature of checksum file is NOT OK" exit 4 fi fi fi </code> Вместо http://127.0.0.1:3128 нужно прописать адрес вашего прокси-сервера. {{tag>ubuntu kernel downgrade upgrade ядро дайнгрейд апгрейд}} ubuntu/ubuntu-misc-kernel.txt Последнее изменение: 2023/03/16 16:05 — 127.0.0.1