ВНИМАНИЕ!!
1 2 3 4 |
Сделай бэкап перед обновлением!!! Апгрейд системы может привести полной неработоспособности ОС! Перед апгрейдом проверьте ссылки для скачивания rpm \ могут перестать быть рабочими! Система может даже не загрузится. |
Ссылки решений по upgrade:
1 2 3 4 5 6 7 8 9 |
https://www.tecmint.com/upgrade-centos-7-to-centos-8/ https://1gbits.com/blog/how-to-upgrade-centos-7-to-8/ https://www.howtoforge.com/how-to-upgrade-centos-7-core-to-8/ https://www.centlinux.com/2020/01/how-to-upgrade-centos-7-to-8-server.html https://blog.sedicomm.com/2019/11/19/kak-obnovit-centos-7-do-centos-8/ https://itdraft.ru/2020/08/04/obnovlenie-centos-7-do-centos-8/ https://www.golinuxcloud.com/enable-ssh-configure-network-in-rescue-mode/ https://www.centlinux.com/2019/12/how-to-recover-grub-2-bootloader-centos-8.html |
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
0. Сначала нужно максимально обновить текущею систему yum update 1. Установить репозиторий epel yum install epel-release -y 2. Установить дополнительное ПО yum install yum-utils yum install rpmconf 3. Выполнить очистку системы rpmconf -a package-cleanup --leaves package-cleanup --orphans 4. Установим новую программу правления пакетами dnf yum install dnf 5. Удаляем YUM dnf -y remove yum yum-metadata-parser rm -Rf /etc/yum 6. Производим upgrade dnf dnf upgrade 7. Убеждаемся что от репозитория CentOS ничего не осталось cd /etc/yum.repos.d/ ls /etc/yum.repos.d/ cat file-CentOs7 8. Качаем repos CentOS8 !!! Вот тут обращаем внимание на ссылки \ уже могут быть не актуальны !!! На Нужны пакеты centos-linux-repo, centos-linux-release, centos-gpg-keys !!! Идем и смотрим что там есть Устанавливаем: dnf -y install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm dnf -y install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.4-1.2105.el8.noarch.rpm dnf -y install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-2.el8.noarch.rpm 9. Выполняем upgrade dnf upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm 10. Удаляем скачанные файлы dnf clean all 11. Удаляем старые ядра rpm -e `rpm -q kernel` 12. Удаляем пакеты которые могут конфликтовать и которые конфликтуют !!! Не забываем записывать что мы там удаляем rpm -e --nodeps sysvinit-tools 13. Запускаем обновление системы !!! На этом этапе быть особенно внимательным !!! в случае вылета из за пакета проще его также удалить !!! Не забываем записывать что мы там удаляем !!! dnf remove name_conflict_package !!! dnf remove php* !!! dnf remove mariadb* !!! dnf remove python36-rpmconf !!! dnf clean all sudo dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync 14. После обновления системы установим ядра dnf -y install kernel-core dnf -y groupupdate "Core" "Minimal Install" dnf clean all 15. Если все прошло удачно можно перезагружается и приступать к восстановлению работы демонов !!! Система может и не загрузится !!! 1. проблемы с установкой grub2 !!! 2. проблемы с установкой ядер reboot |
Ошибка при установке YUM
1 2 3 4 5 6 7 |
!!! [...] !!! Error: Transaction failed cd /usr/bin ln -s dnf-3 yum cd /etc/yum rm -r * dnf -y install yum |
Как загрузится в rescue:
1 2 3 4 |
!!! Для загрузки нам нужен будет iso Centos8 0. В меню загрузки liveCD Centos8 выбираем "Troubleshooting -> Rescue a CentOS Linux" 1. Как загрузимся у нас будет выбор что делать 2. Нам нужно выбрать первый вариант Continium / Нажать цифра 1 / Enter |
Сеть в режиме rescue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
!!! How to enable SSH access & configure network in rescue mode 0. Проверяем линки: ip link 1. Добавляем ip на интерфейс ens3 !!! Синтаксис: ip addr add <ip address>/<netmask> dev <device> ip addr add 192.168.100.17/24 dev ens3 2. Добавляем маршрут !!! Синтаксис: ip route add default via <gateway ip address> ip route add default via 192.168.100.1 3. Добавляем DNS vim cat /etc/resolv.conf nameserver 192.168.100.1 |
Как восстановить GRUB Menu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
!!! How to Recover grub.cfg (GRUB Menu) in CentOS 8 !!! Убить можно вот так например (rm -f /boot/grub2/grub.cfg) !!! ошибка: grub> 0. Загружаемся с liveCD CentOS8 1. Жмем 1 и Enter 2. Выполняем смену окружения на sysimage (тут наш загрузчик centos сам его нашёл и под монтировал) chroot /mnt/sysimage 3. Восстанавливаем файл grub.cfg grub2-mkconfig -o /boot/grub2/grub.cfg 4. Трогаем файл .autorelabel, требуется для SElinux touch /.autorelabel 5. Выходим из chroot и перезагружаемся exit reboot |
Восстановления удаленного ядра
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
!!! Вот так можно убить (rm -f /boot/vmlinuz-4.18.0-80.el8.x86_64) !!! error: ../../grub-core/fs/fshelp.c:258:file '/vmlinuz-4.18.0-80.el8.x86_64' not found. !!! error: ../../grub-core/loader/i386/pc/linux.c:413:you need to load the kernel first. 0. Грузимся в liveCD centos8 1. Идем в каталог с ядрами cd /mnt/install/repo/BaseOS/Packages 2. Ставим ядра с диска rpm -ivh --root=/mnt/sysimage --replacepkgs kernel-core-4.18.0-80.el8.x86_64.rpm 3. Проверяем что ядра установились ls /mnt/sysimage/boot/vmlinuz* 4. Трогаем файл для SElinux touch /mnt/sysimage/.autorelabel 5. Перезагружаемся reboot |
Восстановление директории /boot
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
!!! пример ненормальные удалили boot (rm -rf /boot/*) !!! error: ../../grub-core/fs/fshelp.c:258:file '/grub2/i386-pc/normal.mod' not found. !!! Entering rescue mode... !!! grub rescue> 0. Грузимся в LiveCD CentOS8 1. Переходим в каталог с пакетами cd /mnt/install/repo/BaseOS/Packages 2. Ставим пакет rpm -ivh --root=/mnt/sysimage --replacepkgs kernel-core-4.18.0-80.el8.x86_64.rpm 3. Выполняем chroot chroot /mnt/sysimage 4. Устанавливаем grub2 grub2-install /dev/sda 5. Пере собираем меню загрузки grub2-mkconfig -o /boot/grub2/grub.cfg 6. Как обычно трогаем файл для SElinux touch /.autorelabel 7. Выходим из chroot и перезагружаемся exit reboot |
Сброс пароля root
1 2 3 4 5 6 7 8 9 10 11 12 |
0. как обычно при выборе загрузки жмем e 1. Ищем строку примерно такую "root=/dev/mapper/cl-root ro \" 2. Меняем/дописываем ее "root=/dev/mapper/cl-root rw \ init=/sysroot/bin/sh" 3. Загрузившись выполняем chroot /sysroot 4. Меняем пароль root passwd root 5. Для selinux выполняем touch /.autorelabel 6. Выходим из recovery и перезагружаемся exit reboot |