Il sistema operativo Redox ha ricevuto supporto dal gestore di pacchetti pkgar

Svelati gli sviluppatori del sistema operativo Redox recentemente che hanno introdotto il nuovo gestore di pacchetti pacco, che verrà utilizzato all'interno del sistema.

Per coloro che non conoscono Redox che è un sistema operativo che Il suo obiettivo principale è che il suo sviluppo utilizza il linguaggio Rust e il concetto di microkernel dove solo l'interazione tra i processi e la gestione delle risorse è fornita a livello del kernel e tutte le altre funzionalità sono trasferite alle librerie che possono essere usate sia dal kernel che dai programmi utente.

Come parte del progetto, è in fase di sviluppo un nuovo formato di pacchetto, una libreria con funzioni di gestione dei pacchetti e uno strumento a riga di comando per creare ed estrarre una raccolta di file verificati crittograficamente.

Il formato pkgar non è concepito per essere universale ed è ottimizzato tenendo conto delle specifiche del sistema operativo del sistema operativo Redox.

Il gestore di pacchetti supporta la verifica della fonte tramite firma digitale e controllo dell'integrità. I checksum vengono calcolati utilizzando la funzione hash blake3. È possibile accedere alla funzionalità di controllo di pkgar senza salvare effettivamente il file del pacchetto, manipolando solo la parte dell'intestazione.

In particolare, il pacchetto è costituito da un file di intestazione (.pkgar_head) e un file di dati (.pkgar_data). Un pacchetto digest completo firmato correttamente (.pkgar) può essere ottenuto semplicemente allegando il file di intestazione al file di dati.

Il file di intestazione contiene checksum separati per l'intestazione e le strutture parametrizzate del file di dati, nonché una firma digitale per verificare il pacchetto.

Il file di dati include un elenco sequenziale di tutti i file e le directory forniti nella confezione. Prima di ogni elemento di dati c'è una struttura con metadati, che include un checksum per i dati stessi, la dimensione, i diritti di accesso, il percorso relativo del file da installare e l'offset dei parametri del successivo elemento di dati.

Se durante il processo di aggiornamento i singoli file non sono cambiati e il checksum corrisponde, vengono saltati e non scaricati.

L'integrità della sorgente può essere verificata ottenendo solo il file di intestazione e la correttezza del file di dati selezionato caricando solo le strutture con i parametri da questo file e assicurandosi che corrispondano al checksum verificato nel file di intestazione.

Direttamente, i dati stessi possono essere verificati dopo averli scaricati, utilizzando il checksum della struttura con i parametri che precedono i dati.

Inizialmente, i pacchetti implicano la possibilità di un assembly ripetibile, il che implica che la creazione di un pacchetto per una directory specifica porta sempre alla formazione di un pacchetto identico. Dopo l'installazione, sul sistema vengono salvati solo i metadati, il che è sufficiente per ricostruire il pacchetto dai dati installati (composizione del pacchetto, checksum, percorsi e diritti di accesso sono disponibili nei metadati).

Gli obiettivi principali di pkgar:

  • Atomico: aggiornamenti applicare quando possibile automaticamente.
  • Risparmio di traffico: i dati vengono trasmessi sulla rete solo quando cambia l'hash (durante l'aggiornamento vengono scaricati solo i file aggiornati).
  • Sono coinvolti algoritmi crittografici veloci ad alte prestazioni (blake3 supporta la parallelizzazione dell'elaborazione dei dati durante il calcolo di un hash). Se i dati del repository non sono stati precedentemente memorizzati nella cache, è possibile calcolare un hash per i dati scaricati al momento dell'avvio.
  • minimalismo: A differenza di altri formati, pkgar include solo i metadati necessari per estrarre il pacchetto.
  • Indipendenza dalla directory di installazione: Qualsiasi utente può installare il pacchetto in qualsiasi directory (l'utente deve avere il diritto di scrivere nella directory selezionata).
  • Sicurezza: i pacchetti sono sempre verificati crittograficamente e la verifica viene eseguita prima che vengano eseguite le operazioni effettive sui pacchetti (l'intestazione viene caricata per prima e, se la firma digitale è corretta, i dati vengono trasferiti nella directory temporanea, che viene spostata nella directory di destinazione dopo la verifica).

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.