fix
This commit is contained in:
74
ib.sh
74
ib.sh
@@ -317,6 +317,76 @@ EOF
|
||||
pause
|
||||
}
|
||||
|
||||
prepare_dist_upgrade() {
|
||||
echo -e "${YELLOW}🧹 ПОДГОТОВКА СИСТЕМЫ К ОБНОВЛЕНИЮ${NC}"
|
||||
|
||||
# 1. Обновляем текущие пакеты до упора
|
||||
echo "📦 Шаг 1: Полное обновление текущих пакетов..."
|
||||
$PKG_MGR update -y && $PKG_MGR upgrade -y && $PKG_MGR dist-upgrade -y 2>/dev/null || $PKG_MGR full-upgrade -y
|
||||
|
||||
# 2. Чистка старых ядер и конфигов
|
||||
echo "🧹 Шаг 2: Удаление неиспользуемых зависимостей..."
|
||||
$PKG_MGR autoremove --purge -y
|
||||
$PKG_MGR autoclean -y
|
||||
|
||||
# 3. Проверка битых пакетов
|
||||
if [[ "$PKG_MGR" == "apt" ]]; then
|
||||
echo "🔍 Шаг 3: Проверка целостности пакетов..."
|
||||
dpkg --configure -a
|
||||
apt install -f -y
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}✅ Система готова к апгрейду!${NC}"
|
||||
echo -e "${YELLOW}⚠️ РЕКОМЕНДУЕТСЯ ПЕРЕЗАГРУЗКА ПЕРЕД СЛЕДУЮЩИМ ШАГОМ!${NC}"
|
||||
pause
|
||||
}
|
||||
do_major_upgrade() {
|
||||
clear
|
||||
echo -e "${RED}⚠️ ВНИМАНИЕ: ОПАСНАЯ ОПЕРАЦИЯ!${NC}"
|
||||
echo "Эта функция обновит вашу ОС до следующей мажорной версии."
|
||||
echo "Убедитесь, что у вас есть БЭКАП данных."
|
||||
read -p "Вы уверены, что хотите продолжить? (y/N): " CONFIRM
|
||||
[ "$CONFIRM" != "y" ] && return
|
||||
|
||||
case $OS_ID in
|
||||
ubuntu)
|
||||
echo "🚀 Запуск Ubuntu Release Upgrade..."
|
||||
pkg_install update-manager-core
|
||||
# -d для разработки (если релиз новый), убираем для стабильных
|
||||
do-release-upgrade -f DistUpgradeViewNonInteractive
|
||||
;;
|
||||
debian)
|
||||
CURRENT_CODENAME=$(lsb_release -sc 2>/dev/null || cat /etc/debian_version | cut -d. -f1)
|
||||
echo "📝 Текущий кодовое имя: $CURRENT_CODENAME"
|
||||
read -p "Введите кодовое имя СЛЕДУЮЩЕГО релиза (например, bookworm): " NEXT_CODENAME
|
||||
|
||||
# Замена репозиториев
|
||||
sed -i "s/$CURRENT_CODENAME/$NEXT_CODENAME/g" /etc/apt/sources.list
|
||||
sed -i "s/$CURRENT_CODENAME/$NEXT_CODENAME/g" /etc/apt/sources.list.d/*.list 2>/dev/null
|
||||
|
||||
apt update
|
||||
apt upgrade --without-new-pkgs -y
|
||||
apt full-upgrade -y
|
||||
;;
|
||||
almalinux|rocky)
|
||||
echo "🚀 Использование инструмента ELevate (Leapp)..."
|
||||
pkg_install network-scripts # часто нужно для leapp
|
||||
curl -O https://repo.almalinux.org/elevate/elevate-release-latest-el$(echo $OS_VERSION | cut -d. -f1).noarch.rpm
|
||||
rpm -Uvh elevate-release-latest-el*.rpm
|
||||
pkg_install leapp-upgrade leapp-data-almalinux # или rocky
|
||||
echo "🔍 Запуск проверки совместимости..."
|
||||
leapp preupgrade
|
||||
echo -e "${YELLOW}Проверьте отчет: /var/log/leapp/leapp-report.txt${NC}"
|
||||
echo "Для финала запустите: leapp upgrade"
|
||||
;;
|
||||
*)
|
||||
echo "❌ Автоматический апгрейд для $OS_ID пока не поддерживается."
|
||||
;;
|
||||
esac
|
||||
pause
|
||||
}
|
||||
|
||||
|
||||
setup_disks_advanced() {
|
||||
clear
|
||||
echo "${GREEN}💾 НОВЫЕ ДИСКИ${NC}"
|
||||
@@ -538,6 +608,8 @@ while true; do
|
||||
printf "13) 🗄️ SAMBA (шары+пользователи) \n"
|
||||
printf "14) 💾 Диски (выбор+форматирование)\n"
|
||||
printf "15) 📈 Расширение дисков \n"
|
||||
printf "16) 🛠️ Подготовка к Update \m"
|
||||
printf "17 🆙 Upgrade релиза. \n"
|
||||
printf "S) 📊 Статус \n"
|
||||
printf "0) ❌ Выход \n"
|
||||
printf "==============================================\n"
|
||||
@@ -559,6 +631,8 @@ while true; do
|
||||
13) install_smb_interactive ;;
|
||||
14) setup_disks_advanced ;;
|
||||
15) extend_disk_space ;;
|
||||
16) prepare_dist_upgrade ;;
|
||||
17) do_major_upgrade ;;
|
||||
[Ss]) status_all ;;
|
||||
0) break ;;
|
||||
*) echo "❌ Неверный пункт!"; sleep 1 ;;
|
||||
|
||||
Reference in New Issue
Block a user