Pengembang sistem operasi
Format pkgar tidak berpura-pura menjadi universal dan dioptimalkan dengan mempertimbangkan spesifikasi sistem operasi Redox OS. Manajer paket mendukung verifikasi sumber menggunakan tanda tangan digital dan kontrol integritas. Checksum dihitung menggunakan fungsi hash
File header berisi checksum terpisah untuk header dan struktur dengan parameter dari file data, serta tanda tangan digital untuk memverifikasi paket. File data mencakup daftar berurutan dari semua file dan direktori yang disediakan dalam paket. Setiap elemen data didahului oleh struktur dengan metadata yang mencakup checksum untuk data itu sendiri, ukuran, hak akses, jalur relatif dari file yang diinstal, dan offset parameter elemen data berikutnya. Jika selama proses pembaruan file individual tidak berubah dan checksumnya cocok, maka file tersebut dilewati dan tidak dimuat.
Anda dapat memeriksa integritas sumber dengan hanya menerima file header, dan kebenaran file data yang dipilih dengan hanya memuat struktur dengan parameter file ini dan memastikan bahwa struktur tersebut mematuhi checksum yang disertifikasi dalam file header. Data itu sendiri dapat diperiksa setelah dimuat, menggunakan checksum dari struktur dengan parameter sebelum data.
Paket pada dasarnya dapat diulang, artinya membuat paket untuk direktori tertentu akan selalu menghasilkan paket yang identik. Setelah instalasi, hanya metadata yang disimpan dalam sistem, yang cukup untuk merekonstruksi paket dari data yang diinstal (komposisi paket, checksum, jalur, dan hak akses terdapat dalam metadata).
Tujuan utama pkgar:
- Atomicityβpembaruan diterapkan secara otomatis bila memungkinkan.
- Penghematan lalu lintas - data ditransfer melalui jaringan hanya ketika hash berubah (selama pembaruan, hanya file yang diubah yang diunduh).
- Algoritme kriptografi berkinerja tinggi dan cepat digunakan (blake3 mendukung pemrosesan data paralel saat menghitung hash). Jika data dari repositori belum pernah di-cache sebelumnya, hash untuk data yang diunduh dapat dihitung pada waktu pengunduhan.
- Minimalis - Tidak seperti format lainnya, pkgar hanya menyertakan metadata yang diperlukan untuk mengekstrak paket.
- Kemandirian direktori instalasi - paket dapat diinstal di direktori mana pun, oleh pengguna mana pun (pengguna harus memiliki izin menulis ke direktori yang dipilih).
- Keamanan - Paket selalu diverifikasi secara kriptografis, dan verifikasi dilakukan sebelum operasi sebenarnya dilakukan pada paket (header dimuat terlebih dahulu dan jika tanda tangan digitalnya benar, data dimuat ke direktori sementara, yang kemudian dipindahkan ke direktori target verifikasi).
Sumber: opennet.ru