გამოვიდა პაკეტების მენეჯერი RPM 6.0

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

გამოქვეყნდა RPM 6.0, რომელიც გამოყენებული იქნება ნაგულისხმევად Fedora Linux 43 დისტრიბუციაში. პროექტი შემუშავებულია Red Hat-ის მიერ და მხარდაჭერილია მრავალ დისტრიბუციაში, როგორიცაა RHEL, Fedora, SUSE, openSUSE, ALT Linux, Rosa Linux, OpenMandriva, Mageia, PCLinuxOS დახ Tizen. პროექტის კოდი ვრცელდება GPLv2 და LGPLv2 ლიცენზიებით. ცალკე ვითარდება RPM 5-ის ფორკი პროექტ RPM5-თან ერთად, რომელიც არ არის დაკავშირებული Red Hat-ის RPM-თან და აღიარებულია პრობლემურად სკანდალების გამო.

ძირითადი ცვლილებები RPM 6.0-ში:

  • შემოთავაზებულია RPM 6 პაკეტების ახალი ფორმატი, რომელიც გამოირჩევა 4 გბ-ზე მეტი ზომის ფაილების მხარდაჭერით. RPM 6 ფორმატში დანერგილია 64-ბიტიანი ჩანაწერი სათაურში, გაუმჯობესებული მთლიანობის შემოწმება, ვალიდაცია და ხელმოწერები, ასევე MIME-ტიპებისა და ფაილების მხარდაჭერა.
  • შეწყვეტილია RPM 3 ფორმატის მხარდაჭერა. RPM 4 ფორმატი, რომელიც იყენებს cpio-ს, შესაძლოა მთლიანად მოიხსნას მომავალში – დეველოპერები არ გირჩევენ RPM 4 ფორმატის ფაილების გამოყენებას.
  • პაკეტების შესამოწმებლად არ გამოიყენება Blowfish და MD4 ალგორითმების ჰეშები.
  • rpmbuild უტილიტაში დაემატა GPG გასაღებების გამოყენებით პაკეტების ავტომატური ხელმოწერის შესაძლებლობა, ხოლო rpm უტილიტაში დაემატა დროშა “–nosignature” პაკეტების დაყენებისას ხელმოწერების შემოწმების გამორთვისთვის.
  • GnuPG ხელმოწერების შემოწმების შიდა იმპლემენტაციის ნაცვლად, გამოყენებულია კრიპტოგრაფიული ბექენდი Sequoia-sq, რომელიც დაწერილია Rust-ზე.
  • პროგრამულ კოდს დაემატა C++ (C++20) მხარდაჭერა, და არა მხოლოდ C.
  • გაუმჯობესდა და ოპტიმიზირებულია OpenPGP ფორმატის მხარდაჭერა ხელმოწერის გასაღებებისთვის.
  • შეწყვეტილია MD5, SHA1 და DSA ჰეშების მხარდაჭერა.
  • შეიცვალა rpmkeys უტილიტის შიდა ლოგიკა გასაღებებთან მუშაობისთვის, მაგალითად, OpenPGP-გასაღებების იმპორტისთვის ახლა უნდა იქნას გამოყენებული ბრძანება “rpmkeys –import”.
  • დაემატა OpenPGP-გასაღებების ფინგერპრინტის შესახებ ინფორმაციის გამოტანის შესაძლებლობა.
  • დანერგილია OpenPGP v6 ფორმატის მხარდაჭერა გაძლიერებული კრიპტოგრაფიული პარამეტრებით, რომლებიც მდგრადია გადარჩევის შეტევების მიმართ.
  • დანერგილია შეცდომების გამარტივებული დამუშავება გამართვის გასამარტივებლად.
  • Python ენის ბაინდინგებში გაუმჯობესებულია Python-პაკეტების დამუშავების შესაძლებლობა მეთოდების გამოყენებით, რომლებიც ინტეგრირებულია არქიტექტურაში.