გამოვიდა Debian 13 „Trixie“

დავით მაჭახელიძე

2025 წლის 9 აგვისტოს გამოვიდა Debian 13 „Trixie“, რომელიც დაფუძნებულია Linux 6.12 LTS ბირთვზე (ასევე GNOME 48, KDE Plasma 6.3, Xfce 4.20, Linux 6.12, GCC 14.2, Python 3.13 და systemd 257). პოპულარული დისტრიბუცია ხელმისაწვდომია მრავალი ოფიციალურად მხარდაჭერილი არქიტექტურისთვის, მათ შორის AMD64/x86-64, ARM EABI (armel), ARM64, ARMv7 (armhf), mipsel, mips64el, RISC-V, PowerPC 64 (ppc64el) და IBM System z (s390x). Debian 13-ისთვის განახლებებს პროექტის დეველოპერები 5 წლის განმავლობაში (2030 წლამდე) გამოუშვებენ. Debian 12 „Bookworm“ შედგა 2023 წლის ივნისში.

პროექტის გუნდმა გამოაქვეყნა ინსტრუქცია Debian 12-დან Debian 13-ზე მიგრაციისთვის.

სტატიის შინაარსთან დაკავშირებული სურათი.

ასევე გამოქვეყნდა განმარტებები გაფრთხილებით Debian-ის ძველი ვერსიების მომხმარებლებისთვის.

სტატიის შინაარსთან დაკავშირებული სურათი.

ჩამოსატვირთად ხელმისაწვდომია Debian 13-ის საინსტალაციო გამოსახულებები, რომელთა ჩამოტვირთვა შესაძლებელია HTTP, jigdo ან BitTorrent მეშვეობით. amd64 არქიტექტურისთვის შემუშავებულია LiveUSB, რომელიც ხელმისაწვდომია GNOME, KDE, LXDE, Xfce, Cinnamon და MATE ვარიანტებში, ასევე მრავალარქიტექტურული DVD, რომელიც აერთიანებს amd64 პლატფორმის პაკეტებს i386 არქიტექტურის დამატებით პაკეტებთან.

სტატიის შინაარსთან დაკავშირებული სურათი.

Debian 13-ის რეპოზიტორიუმში წარმოდგენილია 69 830 ბინარული პაკეტი, რაც 5411 პაკეტით მეტია, ვიდრე Debian 12-ში იყო შეთავაზებული. Debian 12-თან შედარებით, ახალ ვერსიაში დაემატა 14 116 ახალი ბინარული პაკეტი, წაიშალა 8844 (12%) მოძველებული ან მიტოვებული პაკეტი, განახლდა 44 326 (63%) პაკეტი. დისტრიბუციაში შეთავაზებული ყველა საწყისი ტექსტის საერთო ჯამური ზომაა 1 463 291 186 ხაზი კოდი. ყველა პაკეტის ჯამური ზომაა 403 გბ.

OpenNET-ის ინფორმაციით, Debian 13-ში პაკეტების 96.9%-ისთვის უზრუნველყოფილია რეპროდუცირებადი აწყობების მხარდაჭერა, რაც საშუალებას იძლევა დადასტურდეს, რომ შესრულებადი ფაილი აწყობილია ზუსტად განცხადებული საწყისი ტექსტებიდან და არ შეიცავს გარე ცვლილებებს, რომელთა შეცვლა, მაგალითად, შესაძლებელია აწყობის ინფრასტრუქტურაზე თავდასხმით ან კომპილატორში დადებული „ჩანართის“ მეშვეობით.

ძირითადი ცვლილებები და დამატებები Debian 13-ში:

  • დაემატა დისტრიბუციის ოფიციალური პორტი 64-ბიტიანი RISC-V არქიტექტურაზე დაფუძნებული სისტემებისთვის;
  • დაემატა პორტი „loong64“ LoongArch ბრძანებების ნაკრების არქიტექტურაზე დაფუძნებული სისტემებისთვის, რომელიც გამოიყენება Loongson 3 5000 პროცესორებში და ახორციელებს RISC ISA-ს, რომელიც MIPS-ისა და RISC-V-ის მსგავსია. პორტი არ შედის ოფიციალურად მხარდაჭერილი პორტების სიაში;
  • წაიშალა „mipsel“ და „mips64el“ პორტები MIPS არქიტექტურაზე დაფუძნებული სისტემებისთვის. „mipsel“ პორტი იყო ერთ-ერთი უძველესი მხარდაჭერილი Debian პორტი, რომელზე ძველი მხოლოდ i386 პროცესორების პორტია. წაშლის მიზეზი ტექნიკური პრობლემები იყო, როგორიცაა მომხმარებლის სივრცეში მეხსიერების ზომის შეზღუდვა 2 გბ-მდე და აწყობის პრობლემების არსებობა;
  • შეწყდა ოფიციალური საინსტალაციო ვერსიების და ბირთვის პაკეტების ფორმირება 32-ბიტიანი x86 სისტემებისთვის, მაგრამ შენარჩუნებულია ოფიციალურად მხარდაჭერილი პაკეტების რეპოზიტორიუმი და multi-arch-რეპოზიტორიუმი, 32-ბიტიანი გარემოს იზოლირებულ კონტეინერებში განლაგების შესაძლებლობები და ინსტრუმენტარიუმი 32-ბიტიანი აპლიკაციების აწყობის უზრუნველსაყოფად. i386 არქიტექტურა Debian-ში ახლა შემოიფარგლება 32-ბიტიანი აპლიკაციების გაშვების მხარდაჭერით 64-ბიტიან x86_64 გარემოში (აწყობისას გამოიყენება SSE2 ინსტრუქციები, რომლებიც მიუწვდომელია 32-ბიტიანი პროცესორების უმეტესობაში, რომლებიც მხარდაჭერილი იყო Debian 12-ში);
  • სრულად მოგვარდა 2038 წლის პრობლემა. ყველა პაკეტი გადაყვანილია 64-ბიტიანი time_t ტიპის გამოყენებაზე დისტრიბუციის პორტებში 32-ბიტიანი არქიტექტურებისთვის, სადაც კვლავ გამოიყენებოდა 32-ბიტიანი time_t ტიპი (არ შეიძლება გამოყენებულ იქნას 19 იანვარი, 2038 წლის შემდეგ დროის დასამუშავებლად, 1970 წლის 1 იანვრის შემდეგ გასული წამების მრიცხველის გადავსების გამო);
  • ინსტალატორში შეიცვალა EFI დანაყოფების მართვის ლოგიკა და დაემატა Btrfs ქვესექციაში დაინსტალირებული სისტემების აღდგენის რეჟიმი. ამოღებულია firmware-ები, რომლებიც არ არის საჭირო ინსტალაციისას, არ შეუძლიათ მუშაობა არათავისუფალი პაკეტების გარეშე ან უსარგებლოა მიმდინარე ბირთვის პარამეტრების გათვალისწინებით. შეწყდა grub-legacy-ისა და win32-loader-ის მხარდაჭერა. განახლდა არა-ASCII სიმბოლოების გამოყენების მხარდაჭერა სრული მომხმარებლის სახელში. დაემატა დაფებისა და მოწყობილობების მხარდაჭერა: Pine64 Pinebook, MNT Reform 2, AM64x HummingBoard-T, Pine64 Star64, Wandboard rev D1, ასევე ARM SoC Snapdragon X Elite-ზე დაფუძნებული ლეპტოპები და პლანშეტები;
  • ინსტალატორსა და Live-აწყობებში დაემატა დისტანციური ჩატვირთვის რეჟიმი „HTTP Boot“, რომლის დროსაც ჩატვირთვის გამოსახულებები მიეწოდება HTTP პროტოკოლის გამოყენებით (ISO-გამოსახულების URL შეყვანილია UEFI ან U-Boot firmware ინტერფეისში);
  • დროებითი ფაილების /tmp კატალოგის შესანახად გამოიყენება tmpfs ფაილური სისტემა, რომელიც იყენებს ოპერატიულ მეხსიერებაში განლაგებულ RAM-დისკს, რომელიც შეიძლება გადავიდეს swap დანაყოფში თავისუფალი მეხსიერების ნაკლებობისას. tmpfs-ის გამოყენება საშუალებას იძლევა შემცირდეს ფიზიკურ დისკზე ჩაწერის ოპერაციების რაოდენობა, შემცირდეს მყარი დისკების ენერგომოხმარება, გაიზარდოს SSD-დისკების სიცოცხლის ხანგრძლივობა, გაიზარდოს დროებით ფაილებთან მუშაობის ეფექტურობა. /tmp-ის ჩვეულებრივ ფაილურ სისტემაში დასაბრუნებლად შეიძლება გამოყენებულ იქნას ბრძანება „systemctl mask tmp.mount“;
  • ამოღებულია ბრძანებები last, lastb და lastlog, რომლებიც დაკავშირებული იყო /var/log/wtmp, /var/log/btmp, /var/run/utmp და /var/log/lastlog ფაილებთან, რომლებიც იყენებენ 32-ბიტიან time_t ტიპს, რომლის შეცვლა 64-ბიტიანით შეუძლებელია Glibc ABI-ს შეცვლისა და აპლიკაციებთან თავსებადობის დარღვევის გარეშე. ამ უტილიტების ნაცვლად რეკომენდებულია wtmpdb, lastlog2 და lslogins უტილიტების გამოყენება;
  • დაშიფრული ფაილური სისტემების განსაზღვრისა და მონტირებისთვის გამოიყენება systemd-cryptsetup პაკეტი;
  • AMD64 და ARM64 არქიტექტურის მქონე სისტემებზე გამოიყენება Intel CET (Control-flow Enforcement Technology), ARM PAC (Pointer Authentication) და BTI (Branch Target Identification) გაფართოებები ექსპლოიტებისგან დასაცავად, რომლებიც იყენებენ Return-Oriented Programming (ROP) მეთოდებს. ROP ტექნიკის გამოყენებისას თავდამსხმელი არ ცდილობს თავისი კოდის მეხსიერებაში განთავსებას, არამედ ოპერირებს უკვე არსებული მანქანური ინსტრუქციების ნაწილებით დატვირთულ ბიბლიოთეკებში, რომლებიც სრულდება მართვის დაბრუნების ინსტრუქციით (როგორც წესი, ეს არის ბიბლიოთეკური ფუნქციების დაბოლოებები). ექსპლოიტის მუშაობა დაყვანილია მსგავსი ბლოკების („გაჯეტების“) გამოძახების ჯაჭვის აგებამდე სასურველი ფუნქციონალურობის მისაღებად. დაცვის არსი იმაში მდგომარეობს, რომ ფუნქციისთვის მართვის გადაცემის შემდეგ, დაბრუნების მისამართები პროცესორის მიერ ინახება არა მხოლოდ ჩვეულებრივ სტეკში, არამედ ცალკე ჩრდილის სტეკშიც, რომლის პირდაპირ შეცვლა შეუძლებელია;
  • დაემატა run0 უტილიტის მხარდაჭერა, რომელიც მოყვება systemd-ში სხვა მომხმარებლების იდენტიფიკატორებით პროცესების შესასრულებლად. უტილიტა რეალიზებულია systemd-run ბრძანების დამატების სახით და წარმოდგენილია როგორც sudo პროგრამის უფრო უსაფრთხო ჩანაცვლება;
  • გამოყენებულია პაკეტის მენეჯერის APT 3.0-ის განშტოება, რომელშიც გადამუშავებულია მომხმარებლის ინტერფეისი, გააქტიურებულია დამოკიდებულებების გადაწყვეტის ძრავა Solver3, დაემატა სნეპშოტების მხარდაჭერა, შეწყდა apt-key უტილიტის გამოყენება, დაემატა კრიპტო-ბექენდი OpenSSL ბიბლიოთეკისთვის და განხორციელდა ბრძანება ‘dist-clean’;
  • დაემატა debian-repro-status ბრძანება მიმდინარე სისტემაში დაინსტალირებული პაკეტებისთვის რეპროდუცირებადი აწყობის მდგომარეობის შესამოწმებლად;
  • დასრულდა დისტრიბუციის მიგრაცია ცალკეული /usr დანაყოფის გამოყენებიდან იმ წარმოდგენაზე, რომლის დროსაც /bin, /sbin და /lib* კატალოგები გაფორმებულია როგორც სიმბოლური ბმულები /usr-ში შესაბამის კატალოგებზე;
  • Linux ბირთვი განახლდა 6.12 ვერსიამდე. გამოყენებულია systemd 257, bash 5.2.37, Glibc 2.41, OpenSSL 3.5-ის ახალი გამოცემები;
  • შემადგენლობაში შევიდა დესკტოპის გარემოების GNOME 48, KDE Plasma 6.3, LXDE 13, LXQt 2.1.0 და Xfce 4.20 გამოცემები. განახლდა გრაფიკული სტეკი;
  • განახლდა მომხმარებლის აპლიკაციები, მაგალითად, LibreOffice 25.2, GIMP 3.0.2, Inkscape 1.4, Vim 9.1;
  • განახლდა სერვერული აპლიკაციები, მაგალითად, 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;
  • განახლდა განვითარების საშუალებები, მაგალითად, GCC 14.2, LLVM/Clang 19, Perl 5.40, PHP 8.4, Python 3.13, Rust 1.85, Go 1.24.