Automatyczny upgrade Debian 12 → Debian 13 z opcjonalną aktualizacją PHP i nginx

Upgrade Debiana z wersji 12 (bookworm) do 13 (trixie) to operacja, która na serwerach i kontenerach (np. Proxmox LXC / VM) powinna być robiona powtarzalnie i bez niespodzianek. Poniżej masz prosty poradnik oraz gotowe komendy do pobrania i uruchomienia skryptu.

Zanim odpalisz upgrade: zrób backup / snapshot. W Proxmoxie najlepiej vzdump lub snapshot. Na bare-metal chociaż kopia /etc, aplikacji i baz danych.

  • Proxmox LXC / VM: backup (vzdump) albo snapshot.
  • Serwer: backup /etc, /var/www, bazy danych (MySQL/PostgreSQL), certyfikaty SSL.

Skrypt do pobrania:

https://soban.pl/bash/upgrade_to_debian13.sh

1) Backup przed upgradem (przykłady)

Przykład backupu w Proxmox (na hoście Proxmox, podmień CTID/VMID):

Przykład prostego backupu katalogów na serwerze (to nie zastąpi pełnego snapshotu, ale lepsze to niż nic):

2) Pobranie skryptu (wget / curl)

Najprościej: użyj wget. Jeśli komenda wget nie działa mimo zainstalowanego pakietu, użyj wariantu z pełną ścieżką /usr/bin/wget.

Wariant A (standardowy wget):

Wariant B (wget z pełną ścieżką – pomaga gdy PATH jest skopany):

Wariant C (curl):

3) Pomoc skryptu (parametry)

Zanim odpalisz upgrade, zobacz listę parametrów i przykłady użycia:

4) Upgrade Debian 12 → Debian 13 (system only)

Jeśli jesteś na Debian 12 (bookworm) i chcesz wykonać tylko upgrade systemu:

Skrypt zrobi backup /etc/apt/sources.list, podmieni repozytoria na trixie, wykona apt update oraz apt full-upgrade, a na końcu autoremove i autoclean.

5) Auto-detekcja PHP/nginx i aktualizacja jeśli potrzeba

Jeśli kontener/VM jest webowy i chcesz, żeby skrypt sam wykrył użycie PHP (nginx + fastcgi_pass) i w razie potrzeby zaktualizował PHP oraz nginx:

6) Wymuszona aktualizacja PHP i nginx (PHP-FPM socket fix)

Jeśli chcesz wymusić instalację/upgrade PHP oraz automatyczne przestawienie konfiguracji nginx na poprawny socket PHP-FPM:

To polecenie instaluje PHP 8.2 (php-fpm + popularne moduły) i podmienia w konfiguracjach nginx stare ścieżki socketów na /run/php/php8.2-fpm.sock. Następnie wykonuje nginx -t oraz restart/reload usług.

7) Debian 13 już jest? Tryb tylko PHP/nginx (bez release upgrade)

Jeżeli system jest już na Debian 13 (trixie) i chcesz wykonać tylko aktualizację PHP/nginx bez ruszania repozytoriów systemowych:

8) Tryb testowy (dry-run)

Jeśli chcesz zobaczyć co skrypt zrobi, ale bez wykonywania zmian:

9) Diagnostyka: wget jest zainstalowany, a nie działa

Jeżeli apt mówi, że wget jest zainstalowany, a shell krzyczy command not found, to najczęściej problem z PATH. Najprostsza obejściówka to użycie pełnej ścieżki: /usr/bin/wget.

Podsumowanie

To rozwiązanie jest wygodne, bo w jednym miejscu masz upgrade Debian 12 → Debian 13 oraz (opcjonalnie) ogarnięcie problemów z PHP/nginx po upgrade (socket PHP-FPM, test konfiguracji nginx i restart usług). Najważniejsze: zrób backup przed upgradem i zawsze zacznij od --help, żeby widzieć dostępne opcje.

Skrypt: https://soban.pl/bash/upgrade_to_debian13.sh

Uproszczona instalacja Proxmox VE 8 na Debianie 12 Bookworm

Proxmox VE to zaawansowana platforma do zarządzania serwerami open source, która integruje hypervisor KVM oraz kontenery LXC. Prezentujemy uproszczony proces instalacji Proxmox VE 8 na Debianie 12 Bookworm, oparty na oficjalnym przewodniku instalacji Proxmox VE – Proxmox VE Installation Guide.


Wymagania wstępne:

  • Świeża instalacja Debiana 12 Bookworm.
  • Użytkownik z uprawnieniami sudo.
  • Dostęp do Internetu.

Skrypty instalacyjne

Podzieliliśmy proces instalacji na dwa skrypty. Pierwszy skrypt przygotowuje system i instaluje jądro Proxmox VE. Drugi skrypt kontynuuje proces po restarcie systemu, instalując pozostałe pakiety Proxmox VE.

Pamiętaj, że wszystkie komendy należy wykonać z poziomu użytkownika root, więc:

Pierwsza część: Przygotowanie systemu i instalacja jądra

Rozpocznij od pobrania pierwszego skryptu, który przygotuje Twój system i zainstaluje jądro Proxmox VE:

Uruchom skrypt następującym poleceniem:

Oto zawartość skryptu:

Po uruchomieniu pierwszego skryptu system zostanie ponownie uruchomiony. Na tym etapie mogą pojawić się różne dialogi systemowe, które są częścią standardowych kroków konfiguracji pakietów. Dla tej uproszczonej instalacji można zaakceptować domyślne opcje, naciskając Enter.

Zrzuty ekranu podczas instalacji

The selection of GRUB installation configuration.

Konfiguracja GRUB – dostępna jest nowa wersja pliku konfiguracyjnego bootloadera GRUB. Zaleca się zachowanie aktualnie zainstalowanej wersji lokalnej, chyba że jesteś świadomy zmian. Tak jak w przypadku poprzednich dialogów, naciśnięcie Enter wybierze domyślną akcję.

The selection of postfix installation configuration.

Konfiguracja Postfix – ten dialog pojawia się podczas instalacji pakietu postfix, który jest agentem transportu poczty. Domyślna opcja „Internet Site” jest odpowiednia dla większości przypadków. Naciśnięcie Enter akceptuje tę konfigurację.

Setting the system mail name.

System Mail Name – tutaj określasz FQDN (Fully Qualified Domain Name) dla poczty systemowej. Domyślna wartość jest zazwyczaj odpowiednia, chyba że masz określoną nazwę domeny dla swojego serwera. Ponownie, naciśnięcie Enter kontynuuje z domyślną konfiguracją.

Możliwe problemy napotkane pod koniec instalacji pierwszego skryptu, takie jak:

Jednak druga część skryptu, wykonana po restarcie, rozwiązuje te problemy. Po pomyślnym restarcie maszyny zaloguj się do systemu i kontynuuj z drugim skryptem.

Druga część: Zakończenie instalacji Proxmox VE

Po restarcie systemu kontynuuj pobieranie drugiego skryptu:

Wykonaj drugą część instalacji za pomocą polecenia:

Oto zawartość drugiego skryptu:

Po zakończeniu działania drugiego skryptu, uzyskasz dostęp do interfejsu webowego Proxmox VE za pomocą adresu URL wyświetlonego na końcu skryptu. Zaloguj się używając nazwy użytkownika ‘root’ oraz swojego hasła root.

Podczas ładowania strony, możesz napotkać błąd zaufania certyfikatu – jest to normalne na tym etapie i bezpiecznie możesz zaakceptować, że jest to niebezpieczne i kontynuować dostęp do strony zarządzania Proxmox. Jeśli nie znasz hasła root, możesz je zresetować, wykonując ‘passwd‘ jako root. Powodzenia!