După doi ani de dezvoltare, a fost lansat Debian 13 „Trixie”, disponibil pentru opt arhitecturi oficiale suportate: Intel IA-32/x86 (i686), AMD64/x86-64, ARM EABI (armel), ARM64, ARMv7 (armhf), RISC-V, PowerPC 64 (ppc64el) și IBM System z (s390x). Actualizările pentru Debian 13 vor fi lansate timp de 5 ani.
Imaginile de instalare sunt disponibile pentru descărcare prin HTTP, jigdo sau BitTorrent. Pentru arhitectura amd64 au fost dezvoltate LiveUSB-uri, disponibile în variante cu GNOME, KDE, LXDE, Xfce, Cinnamon și MATE, precum și un DVD multidisciplinar care combină pachetele pentru platforma amd64 cu pachete suplimentare pentru arhitectura i386. Înainte de a efectua migrarea de la Debian 12, se recomandă consultarea următorului document.
Repository-ul conține 69830 de pachete binare, ceea ce este cu 5411 pachete mai mult decât în Debian 12. Comparativ cu Debian 12, au fost adăugate 14116 de pachete binare noi, 8844 (12%) de pachete învechite sau abandonate au fost eliminate și 44326 (63%) de pachete au fost actualizate. Dimensiunea totală a tuturor surselor propuse în distribuție este de 1 463 291 186 linii de cod. Dimensiunea totală a tuturor pachetelor este de 403 GB.
Pentru 96.9% din pachete, este asigurată suportul pentru compilări reproducibile, care permit confirmarea că fișierul executabil a fost compilat exact din sursele indicate și nu conține modificări externe, care, de exemplu, pot fi introduse printr-un atac asupra infrastructurii de compilare sau printr-o încorporare în compilator.
Schimbările cheie în Debian 13.0:
- A fost adăugat un port oficial al distribuției pentru sistemele bazate pe arhitectura RISC-V pe 64 de biți.
- A fost adăugat portul „loong64” pentru sistemele bazate pe arhitectura setului de comenzi LoongArch, utilizată în procesoarele Loongson 3 5000, care implementează ISA RISC similar cu MIPS și RISC-V. Portul nu este inclus în rândul celor oficial suportate.
- Au fost eliminate porturile „mipsel” și „mips64el” pentru sistemele bazate pe arhitectura MIPS. Portul „mipsel” a fost unul dintre cele mai vechi porturi suportate de Debian, mai vechi fiind doar portul pentru procesoarele i386. Motivele eliminării au fost problemele tehnice, cum ar fi limita de dimensiune a memoriei în spațiul utilizatorului de 2Gb și problemele întâmpinate în timpul compilării.
- A fost întreruptă formarea oficială a pachetelor de instalare și a imaginilor cu kernel pentru sistemele de tip x86 pe 32 de biți, dar a fost păstrat un depozit oficial de pachete susținut și un depozit multi-arch, precum și capacitatea de implementare a medii pe 32 de biți în containere izolate și instrumentele pentru asigurarea compilării aplicațiilor pe 32 de biți. Arhitectura i386 în Debian se limitează acum la suportul pentru rularea aplicațiilor pe 32 de biți în medii pe 64 de biți x86_64 (în timpul compilării se folosesc instrucțiuni SSE2, care nu sunt disponibile în majoritatea procesorilor pe 32 de biți acceptați în Debian 12).
- Problema anului 2038 a fost complet rezolvată. Toate pachetele au fost migrate pentru a utiliza tipul de date time_t de 64 de biți în porturile distribuției pentru arhitecturile de 32 de biți, în care era utilizat în continuare tipul de date time_t de 32 de biți (nu poate fi utilizat pentru procesarea timpului după 19 ianuarie 2038 din cauza overflow-ului contorului de secunde care au trecut după 1 ianuarie 1970).
- În instalator, logica de gestionare a partițiilor EFI a fost modificată și a fost adăugat un mod de recuperare pentru sistemele instalate în subdiviziunea Btrfs. Au fost eliminate firmware-urile care nu sunt necesare la instalare, care nu pot funcționa fără pachete non-libere sau care sunt inutile în configurațiile curente ale kernelului. A fost întrerupt suportul pentru grub-legacy și win32-loader. A fost reluat suportul pentru utilizarea simbolurilor non-ASCII în numele complet al utilizatorului. A fost adăugat suport pentru plăci și dispozitive: Pine64 Pinebook, MNT Reform 2, AM64x HummingBoard-T, Pine64 Star64, Wandboard rev D1, precum și laptopuri și tablete bazate pe ARM SoC Snapdragon X Elite.
- În instalator și în versiunile Live a fost adăugat modul de încărcare de la distanță "HTTP Boot", în care imaginile de încărcare sunt livrate prin protocolul HTTP (URL-ul imaginii ISO este introdus în interfața firmware-ului UEFI sau U-Boot).
- Pentru stocarea directorului cu fișiere temporare /tmp, a fost folosit sistemul de fișiere tmpfs, care utilizează o unitate RAM plasată în memoria operativă, care poate fi eliminată în partiția de swap atunci când nu este suficientă memorie liberă. Utilizarea tmpfs permite reducerea numărului de operațiuni de scriere pe unitatea fizică, scăderea consumului de energie al hard disk-urilor, prelungirea duratei de viață a SSD-urilor și creșterea performanței în lucrul cu fișiere temporare. Pentru a readuce stocarea /tmp în FS-ul obișnuit, se poate folosi comanda „systemctl mask tmp.mount”.
- Au fost eliminate comenzile last, lastb și lastlog, care erau legate de fișierele /var/log/wtmp, /var/log/btmp, /var/run/utmp și /var/log/lastlog, care folosesc tipul de 32 de biți time_t, care nu poate fi înlocuit cu unul de 64 de biți fără a modifica ABI Glibc și fără a încălca compatibilitatea cu aplicațiile. În locul acestor utilitare, este recomandat să se folosească utilitarele wtmpdb, lastlog2 și lslogins.
- Pachetul systemd-cryptsetup este utilizat pentru definirea și montarea sistemelor de fișiere criptate.
- Pe sistemele cu arhitecturi AMD64 și ARM64, sunt implementate extensiile Intel CET (Control-flow Enforcement Technology), ARM PAC (Pointer Authentication) și BTI (Branch Target Identification) pentru a proteja împotriva exploit-urilor care utilizează tehnici de programare orientată pe returnare (ROP — Return-Oriented Programming). În utilizarea tehnicii ROP, atacatorul nu încercă să plaseze codul său în memorie, ci lucrează cu bucăți de instrucțiuni mașină deja existente în bibliotecile încărcate, care se termină cu o instrucțiune de returnare a controlului (de obicei, sfârșitul funcțiilor din biblioteci). Funcționarea exploit-ului se reduce la construirea unei lanțuri de apeluri ale unor astfel de blocuri („gadget-uri”) pentru a obține funcționalitatea dorită. Esența protecției constă în faptul că, după ce controlul a fost transferat funcției, adresele de returnare sunt salvate de procesor nu doar în stiva obișnuită, ci și într-o stivă separată, numită stivă întunecată, care nu poate fi modificată direct.
- A fost adăugat suport pentru utilitarul run0, furnizat în systemd pentru executarea proceselor sub identificatorii altor utilizatori. Utilitarul este implementat sub forma unei extensii a comenzii systemd-run și se prezintă ca o înlocuire mai sigură a programului sudo.
- A fost activată ramura managerului de pachete APT 3.0, care a avut un design revizuit al interfeței utilizatorului, a activat motorul de rezolvare a dependențelor Solver3, a adăugat suport pentru snapshot-uri, a oprit utilizarea utilitarului apt-key, a adăugat un backend criptografic pentru biblioteca OpenSSL și a implementat comanda ‘dist-clean’.
- A fost adăugată comanda debian-repro-status pentru a verifica starea construirii reproducibile a pachetelor instalate în sistemul curent.
- Migrarea distribuitivului de la utilizarea unei partiții separate /usr la reprezentarea în care directoarele /bin, /sbin și /lib* sunt configurate ca link-uri simbolice către directoarele corespunzătoare din /usr a fost finalizată.
- Nucleul Linux a fost actualizat la versiunea 6.12. Au fost implementate noi versiuni de systemd 257, bash 5.2.37, Glibc 2.41, OpenSSL 3.5.
- Au fost incluse versiuni ale mediilor desktop GNOME 48, KDE Plasma 6.3, LXDE 13, LXQt 2.1.0 și Xfce 4.20. Stiva grafică a fost actualizată.
- Aplicațiile utilizatorilor au fost actualizate, de exemplu, LibreOffice 25.2, GIMP 3.0.2, Inkscape 1.4, Vim 9.1.
- Aplicațiile de server au fost actualizate, de exemplu, BIND 9.20, Postfix 3.10, Exim 4.98, PostgreSQL 17, MariaDB 11.8, nginx 1.26, OpenJDK 21, OpenSSH 10.0, Samba 4.22, QEMU 10.0, Docker 26.1.5, Xen 4.20.
- Instrumentele de dezvoltare au fost actualizate, inclusiv GCC 14.2, LLVM/Clang 19, Perl 5.40, PHP 8.4, Python 3.13, Rust 1.85, Go 1.24.
Sursa: opennet.ro
