Лента

Как обновить Debian 12 до 13 — пошаговая инструкция

Debian 12 → Debian 13 (Trixie): Полное руководство по обновлению

📋 Введение

Debian 13 (кодовое имя Trixie) стал стабильным релизом 9 августа 2025 года. Это руководство поможет вам безопасно обновить систему с Debian 12 Bookworm до Debian 13 Trixie с минимальными рисками.

Оценка времени: 30–90 минут (зависит от скорости интернета и производительности системы)


🔄 Этап 1: Подготовка к обновлению (обязательно!)

1.1 Полный бэкап системы

bash
# Бэкап списка установленных пакетов
dpkg --get-selections > ~/package-list-backup.txt

# Бэкап конфигурационных файлов
sudo tar -czf ~/etc-backup.tar.gz /etc/

# Бэкап домашних директорий (если важно)
tar -czf ~/home-backup.tar.gz /home/  # для десктопа
# или
tar -czf ~/var-backup.tar.gz /var/www/  # для веб-сервера

# Бэкап баз данных (если есть MySQL/PostgreSQL)
mysqldump --all-databases > ~/all-databases.sql 2>/dev/null

1.2 Обновление текущей системы до актуального состояния

bash
sudo apt update
sudo apt upgrade -y
sudo apt full-upgrade -y
sudo apt autoremove --purge -y
sudo apt clean

1.3 Проверка целостности пакетов

bash
sudo dpkg --configure -a
sudo apt --fix-broken install

1.4 Проверка свободного места

bash
df -h /
# Должно быть минимум 5 ГБ свободно

1.5 Отключение сторонних репозиториев (временное)

bash
# Переименовать все сторонние репозитории в .bak
sudo mv /etc/apt/sources.list.d/*.list /etc/apt/sources.list.d/ 2>/dev/null
# Лучше выборочно:
sudo mv /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/docker.list.bak 2>/dev/null
sudo mv /etc/apt/sources.list.d/nodejs.list /etc/apt/sources.list.d/nodejs.list.bak 2>/dev/null
# и так далее для всех сторонних репозиториев

📦 Этап 2: Обновление до Debian 13

2.1 Обновление файла sources.list

bash
# Создайте резервную копию текущего sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

# Замените bookworm на trixie
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list

# Проверьте результат
cat /etc/apt/sources.list

Правильный формат для Debian 13:

text
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware

2.2 Обновление списка пакетов

bash
sudo apt update

2.3 Минимальное обновление (без новых зависимостей)

bash
sudo apt upgrade --without-new-pkgs -y

Этот шаг обновляет существующие пакеты, не устанавливая новые, что снижает риск конфликтов.

2.4 Полное обновление дистрибутива

bash
sudo apt full-upgrade -y

На этом этапе будут установлены новые зависимости и удалены устаревшие пакеты.

2.5 Обработка конфликтов конфигурационных файлов

Во время обновления apt может спрашивать, что делать с изменёнными конфигами:

  • Y/I — установить версию от сопровождающего пакета (для стандартных конфигов)

  • N/O — оставить текущую версию (если вы вносили правки)

  • D — посмотреть различия

  • Z — открыть shell для проверки

Общее правило: Если вы не редактировали файл вручную — выбирайте Y. Если редактировали — N.

2.6 Очистка после обновления

bash
sudo apt autoremove --purge -y
sudo apt autoclean
sudo apt clean

2.7 Перезагрузка системы

bash
sudo reboot

🔍 Этап 3: Проверка после перезагрузки

3.1 Проверка версии Debian

bash
lsb_release -a
cat /etc/debian_version

Ожидается: 13 или trixie

3.2 Проверка версии ядра

bash
uname -r

Ожидается: 6.12.x или новее

3.3 Проверка статуса пакетов

bash
# Проверка сломанных пакетов
dpkg -l | grep -E "^rc|^iF|^iU"
sudo dpkg --configure -a
sudo apt --fix-broken install

# Проверка оставшихся обновлений
apt list --upgradable
# Должно быть пусто

3.4 Проверка работы сети

bash
ping -c 4 debian.org
curl -I https://debian.org

🛠 Этап 4: Восстановление сторонних репозиториев

4.1 Проверка сторонних репозиториев

bash
ls -la /etc/apt/sources.list.d/

4.2 Обновление ключей для Debian 13

Debian 13 требует нового формата ключей. Для каждого стороннего репозитория:

bash
# Пример для Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Создание файла в новом формате .sources
sudo tee /etc/apt/sources.list.d/docker.sources << EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: trixie
Components: stable
Architectures: amd64
Signed-By: /etc/apt/keyrings/docker.gpg
EOF

4.3 Проверка обновлений

bash
sudo apt update
# Не должно быть ошибок подписи или отсутствующих Release-файлов

🎮 Этап 5: Для десктопов — восстановление графики

5.1 Если у вас NVIDIA

bash
# Определение видеокарты
lspci | grep -E "VGA|3D"

# Установка драйвера
sudo apt install linux-headers-$(uname -r) build-essential dkms
sudo apt install nvidia-driver firmware-misc-nonfree
sudo reboot

5.2 Если графическая оболочка не запускается

bash
# Проверка логов Xorg
cat /var/log/Xorg.0.log | grep EE

# Переустановка драйвера
sudo apt install --reinstall xserver-xorg-video-intel  # для Intel
sudo apt install --reinstall xserver-xorg-video-amdgpu  # для AMD

5.3 Проверка менеджера входа

bash
sudo systemctl status lightdm  # или gdm3, sddm
sudo systemctl restart lightdm

🧹 Этап 6: Очистка системы

6.1 Удаление старых ядер

bash
# Текущее ядро
uname -r

# Удаление всех неиспользуемых ядер
sudo apt autoremove --purge -y

# Если остались "rc" пакеты
dpkg -l | grep "^rc" | awk '{print $2}' | xargs sudo dpkg --purge 2>/dev/null

6.2 Очистка кэша

bash
sudo apt autoclean
sudo apt clean

6.3 Поиск и удаление дублирующихся репозиториев

bash
# Проверка предупреждений apt update
sudo apt update 2>&1 | grep -i "настроена несколько раз"

# Удаление дубликатов (обычно в /etc/apt/sources.list.d/)
sudo mv /etc/apt/sources.list.d/имя_файла.list /etc/apt/sources.list.d/имя_файла.list.bak

✅ Этап 7: Финальная проверка

7.1 Статус системы

bash
echo "=== Версия Debian ==="
cat /etc/debian_version
echo "=== Ядро ==="
uname -r
echo "=== Пакеты к обновлению ==="
apt list --upgradable 2>/dev/null | wc -l
echo "=== Использование диска ==="
df -h /
echo "=== Ошибки в логах ==="
journalctl -p 3 -b | tail -10

7.2 Проверка основных служб

bash
systemctl status ssh
systemctl status networking
systemctl status cron

🚨 Типичные проблемы и решения

Ошибка: «Module dnssd does not exist» (Apache)

bash
sudo a2dismod dnssd
sudo systemctl restart apache2

Ошибка: «parsing failed: file not found» (bind9)

bash
sudo touch /etc/bind/named.conf.default-zones
sudo chown root:bind /etc/bind/named.conf.default-zones
sudo systemctl restart bind9

Ошибка: «No file name for package» (dpkg)

bash
sudo dpkg --remove --force-remove-reinstreq имя_пакета
sudo apt install имя_пакета

Ошибка: «Repository does not have a Release file»

Репозиторий не поддерживает Debian 13. Варианты:

  • Найти официальный репозиторий для Trixie

  • Использовать репозиторий для Bookworm (не гарантировано)

  • Временно отключить репозиторий

Ошибка: «Signature verification failed» (проблемы с ключами)

bash
# Удалить старый ключ
sudo rm /usr/share/keyrings/имя.gpg 2>/dev/null
sudo rm /etc/apt/trusted.gpg.d/имя.gpg 2>/dev/null

# Установить новый ключ в правильное место
curl -fsSL https://example.com/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/имя.gpg

📌 Рекомендации после обновления

Настройка автоматических обновлений безопасности

bash
sudo apt install unattended-upgrades apt-listchanges
sudo dpkg-reconfigure -plow unattended-upgrades

Создание SSH config для удобства

bash
nano ~/.ssh/config

Добавьте:

text
Host myserver
    HostName ваш-сервер.ru
    Port ваш-порт
    User ваш-логин

Мониторинг системы

bash
# Установка htop для мониторинга
sudo apt install htop

# Проверка логов раз в неделю
sudo journalctl --since "7 days ago" -p 3

🎯 Заключение

Вы успешно обновили Debian 12 до Debian 13! Теперь ваша система:

✅ Использует последнее стабильное ядро (6.12.x)
✅ Получает обновления безопасности до 2028+ года
✅ Имеет современные версии ПО
✅ Готова к работе как сервер или десктоп

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *