fenix

linux

V_1.1 del 29 Gennaio 2026

#tutorial #guide #linux #flatpak


Installazione di Applicazioni con Flatpak

Passaggi per Installare un'Applicazione

  1. Assicurati che Flatpak sia installato: Verifica se Flatpak è già installato sul tuo sistema.
   flatpak --version

Se non è installato, puoi farlo tramite il gestore di pacchetti della tua distribuzione.

  1. Aggiungi un Repository (opzionale): Se l'applicazione che desideri installare non è presente nel repository predefinito, potresti dover aggiungere un repository. Ad esempio, per Flathub (il repository più comune):
   flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  1. Trova l'ID dell'Applicazione: Puoi cercare l'applicazione di tuo interesse su Flathub o utilizzare il comando:
   flatpak search <nome-applicazione>
  1. Installa l'Applicazione: Una volta trovato l'ID dell'applicazione, utilizza il comando seguente:
   flatpak install flathub <ID-applicazione>

Ad esempio, per installare Spotify, esegui:

   flatpak install flathub com.spotify.Client

Esempio Completo

Ecco un esempio completo per installare un'applicazione:

flatpak install flathub com.spotify.Client

Conclusione

Dopo aver eseguito il comando, Flatpak scaricherà e installerà l'applicazione selezionata. Puoi quindi avviare l'applicazione dal menu delle applicazioni del tuo sistema oppure utilizzando il comando:

flatpak run <ID-applicazione>

Sostituisci <ID-applicazione> con l'ID corretto dell'applicazione installata.


Installazione di un File Flatpak

Passaggi per Installare un File Flatpak

  1. Apri il Terminale: Inizia aprendo il terminale sul tuo sistema.

  2. Naviga alla Directory del File: Usa il comando cd per spostarti nella cartella dove si trova il file .flatpak. Ad esempio:

   cd /percorso/del/file
  1. Installa il File Flatpak: Usa il seguente comando per installare il file:
   flatpak install --user nomefile.flatpak

Sostituisci nomefile.flatpak con il nome esatto del tuo file.

Esempio

Se il tuo file si chiama app.flatpak, il comando sarà:

flatpak install --user app.flatpak

Nota Aggiuntiva

  • Opzione --user: Questa opzione è utilizzata per installare l'applicazione solo per l'utente corrente. Se desideri installarla per tutti gli utenti, ometti questa opzione (se hai i permessi necessari).

Conferma Installazione

Flatpak ti chiederà di confermare l'installazione e ti fornirà informazioni sull'applicazione. Segui le istruzioni a schermo per completare il processo.

Conclusione

Una volta completata l'installazione, puoi avviare l'applicazione dal menu delle applicazioni o utilizzando il comando:

flatpak run <ID-applicazione>

Sostituisci <ID-applicazione> con l'ID corretto dell'applicazione installata.


Rimozione di Applicazioni con Flatpak

Passaggi per Rimuovere un'Applicazione

  1. Trova l'ID dell'Applicazione (se non lo ricordi): Puoi ottenere un elenco delle applicazioni installate con il seguente comando:
   flatpak list --app --columns=application
  1. Rimuovi l'Applicazione: Una volta trovato l'ID, usa il comando seguente per rimuovere l'applicazione:
   flatpak uninstall <ID-applicazione>

Esempio

Se vuoi rimuovere Spotify, esegui:

flatpak uninstall com.spotify.Client

Opzioni Aggiuntive

  • Rimuovere Tutti i Dati: Se desideri rimuovere anche i dati associati all'applicazione, puoi aggiungere l'opzione --delete-data:
flatpak uninstall --delete-data com.spotify.Client
  • Conferma Rimozione: Flatpak ti chiederà di confermare la rimozione. Basta seguire le istruzioni sullo schermo.

Conclusione

Dopo aver eseguito il comando, l'applicazione sarà rimossa dal tuo sistema. Puoi verificare che sia stata effettivamente disinstallata ripetendo il comando per elencare le applicazioni installate.


Libera spazio rimuovendo i runtime Flatpak inutilizzati

Sarebbe saggio pulire il sistema e liberare spazio di tanto in tanto. È possibile rimuovere i runtime Flatpak inutilizzati con questo comando:

flatpak uninstall --unused

Il comando sopra elenca i tempi di esecuzione inutilizzati e ti dà la possibilità di rimuoverli tutti.

È inoltre possibile eliminare i dati dell'utente per i pacchetti Flatpak che non sono più nel sistema:

flatpak uninstall --unused --delete-data

flatpak mostrare l' id delle aplicazioni installate

Puoi utilizzare il comando seguente nel terminale:

flatpak list --app --columns=application

Spiegazione dei Comandi

  • flatpak list: Questo comando elenca tutte le applicazioni e i runtime installati.
  • --app: Filtra l'output per mostrare solo le applicazioni installate, non i runtime.
  • --columns=application: Mostra solo la colonna con gli ID delle applicazioni.

Questo ti restituirà un elenco degli ID delle applicazioni installate sul tuo sistema tramite Flatpak. Se desideri più dettagli, puoi semplicemente omettere il parametro --columns:

flatpak list --app

In questo modo verrà visualizzata anche la versione e altre informazioni relative alle applicazioni installate.


Aggiornamento di una Singola Applicazione

Utilizza il seguente comando:

flatpak update <ID-applicazione>

Esempio

Se vuoi aggiornare, ad esempio, l'applicazione chiamata com.spotify.Client, esegui:

flatpak update com.spotify.Client

Spiegazione dei Comandi

  • flatpak update: Comando utilizzato per aggiornare le applicazioni Flatpak.
  • : Sostituisci questa parte con l'ID dell'applicazione che desideri aggiornare.

Informazioni Aggiuntive

Puoi controllare se ci sono aggiornamenti disponibili per le applicazioni usando il comando:

flatpak remote-info --show-updates <ID-applicazione>

Questo mostrerà informazioni sull'aggiornamento disponibile per l'applicazione specificata.


Aggiornamento di tutte le applicazioni Flatpak

È possibile aggiornare tutti i pacchetti Flatpak che possono essere aggiornati con questo singolo comando:

flatpak update

Il comando sopra controllerà se sono disponibili versioni più recenti dei Flatpak installati, se sono presenti verranno scaricati e installati.


Tarlz è un'implementazione parallela (multi-thread) e multi-membro (multi-blocco) dell'archiviatore tar e del compressore lzip . Tarlz usa la libreria di compressione lzlib .

Tarlz crea archivi tar utilizzando una variante semplificata e più sicura del formato POSIX PAX con compressione in formato lzip, mantenendo l'allineamento tra i membri tar e i membri lzip.

L'archivio tar.lz multimembro risultante è retrocompatibile con gli strumenti tar standard come GNU tar, che lo trattano come qualsiasi altro archivio tar.lz solido, GNU Tar lo decomprimerà in maniera sequenziale.

Tarlz può aggiungere file alla fine di tali archivi compressi.

Note di funzionamento di tarlz

Introduciamo due postulati fondamentali:

  • Gli archivi solidi non possono essere creati né decodificati in parallelo.

  • Per implementare un archiviatore e compressore parallelo (multi-thread) è necessario che esso funzioni tramite blocchi di dati.

struttura di un file tar allineato con lzip

Tarlz non processa il file in ingresso come “intero” (in maniera sequenziale), ma l'intero file di ingresso, sarà diviso in “N” blocchi o porzioni di dati, in modo tale che, il processore multi core della macchina, possa processare più blocchi contemporaneamente e parallelamente; ogni core processerà indipendentemente dagli altri, i blocchi a lui assegnati, diminuendo in questo modo il tempo computazionale dell'operazione, rispetto ad un approccio sequenziale e solido.

Nello specifico, tarlz costruisce un archivio Tar multi-membro e lo allinea in input a lzip, che a sua volta, costruisce un file compresso multi-membro allineato con il Tar di partenza.


Mantenere l'allineamento tra i membri tar e i membri lzip ha due vantaggi. Aggiunge un livello lzip indicizzato sopra l'archivio tar, rendendo possibile la decodifica dell'archivio in modo sicuro in parallelo. Inoltre riduce al minimo la quantità di dati persi in caso di danneggiamento. L'accesso ai dati è più veloce.

Questa accortezza , comporta maggior robustezza in caso di corruzione dell'archivio, buona parte dell'archivio può essere recuperata, l'accesso non sequenziale a porzioni specifiche di dati interessa solo il blocco corrispondente in archivio e la sua eventuale decompressione.

Tarlz può creare archivi tar con cinque livelli di granularità di compressione:

  • per file (--no-solid),
  • per blocco (--bsolid, predefinito),
  • per directory (--dsolid),
  • solid appendibile (--asolid)
  • solid (--solid).
  • Può anche creare archivi tar non compressi.

Naturalmente, comprimendo ogni file (o ogni directory) individualmente non si può raggiungere un rapporto di compressione elevato quanto quello ottenuto comprimendo in modo uniforme l'intero archivio tar, ma si ottengono i seguenti vantaggi:

  • L'archivio tar.lz multimembro risultante può essere decompresso parallelamente, moltiplicando la velocità di decompressione.

  • Nuovi membri possono essere aggiunti all'archivio (rimuovendo il membro di fine archivio) e i membri indesiderati possono essere eliminati dall'archivio. Proprio come un archivio tar non compresso.

  • È un formato di backup sicuro in stile POSIX. In caso di corruzione, tarlz può estrarre tutti i membri non danneggiati dall'archivio tar.lz, saltando i membri danneggiati, proprio come il tar standard (non compresso). Inoltre, l'opzione '—keep-damaged' può essere usata per recuperare quanti più dati possibili da ogni membro danneggiato, e lziprecover può essere usata per recuperare alcuni dei membri danneggiati.


Uso di tarlz

tarlz si invoca in questo modo:

tarlz [options] [files]

le opzioni sono le seguenti:

OPTIONS: DESCRIPTION:
--help display this help and exit
-V, --version output version information and exit
-A, --concatenate append archives to the end of an archive
-B, --data-size=<bytes> set target size of input data blocks [2x8=16 MiB]
-c, --create create a new archive
-C, --directory=<dir> change to directory <dir>
-d, --diff find differences between archive and file system
--ignore-ids ignore differences in owner and group IDs
--delete delete files/directories from an archive
--exclude=<pattern> exclude files matching a shell pattern
-f, --file=<archive> use archive file <archive>
-h, --dereference follow symlinks; archive the files they point to
n, --threads=<n> set number of (de)compression threads [2]
-q, --quiet suppress all messages
-r, --append append files to the end of an archive
-t, --list list the contents of an archive
-v, --verbose verbosely list files processed
-x, --extrac extract files/directories from an archive
-0 .. -9 set compression level [default 6]
--uncompressed don't compress the archive created
--asolid create solidly compressed appendable archive
--bsolid create per block compressed archive (default)
--dsolid create per directory compressed archive
--no-solid create per file compressed archive
--solid create solidly compressed archive
--anonymous equivalent to '—owner=root —group=root'
--owner= use name/ID for files added
--group= use name/ID for files added
--keep-damaged don't delete partially extracted files
--missing-crc exit with error status if missing extended CRC
--out-slots= number of 1 MiB output packets buffered [64]

Exit status: 0 for a normal exit, 1 for environmental problems (file not found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or invalid input file, 3 for an internal consistency error (eg, bug) which caused tarlz to panic.


Alcuni esempi di tarlz

Esempio 1: crea un archivio compresso multiplo:

Archive.tar.lz contenente file A ,B ,C.

tarlz -cf archive.tar.lz a b c

Esempio 2: Incorpora il file “d” e il file “e” alla fine dell'archivio multi-membro “Archive.tar.lz” .

tarlz -rf archive.tar.lz d e

Esempio 3: creare un archivio (solid appendibile) Archive.tar.lz contenente i file a,b,C . Quindi aggiungi i file “d” ed “e” alla fine dell'archivio.

tarlz --asolid -cf archive.tar.lz a b c
tarlz --asolid -rf archive.tar.lz d e

Esempio 4: creare un archivio (solid appendibile) contenente le directory “dir1”, “dir2”, “dir3” con un membro lzip separato per directory. Quindi aggiungi i file a,b,c,d,e all'archivio, tutti contenuti in un unico membro lzip. L'archivio risultante Archive.tar.lz contiene 5 membri LZIP (incluso il membro di fine archivio).

tarlz --dsolid -cf archive.tar.lz dir1 dir2 dir3
tarlz --asolid -rf archive.tar.lz a b c d e

Esempio 5: creare un archivio solido “archive.tar.lz” contenente i file a,b,c. Nota bene, non si possono aggiungere altri file successivamente all'archivio.

tarlz --solid -cf archive.tar.lz a b c

Esempio 6: estrai tutti i file dall'archivio Archive.tar.lz .

tarlz -xf archive.tar.lz 

Esempio 7: estrazione dei file “a” e “c” con l'intero albero delle sotto directory “dir1” dall'archivio “Archive.tar.lz” .

tarlz -xf archive.tar.lz a c dir1

Esempio 8: copia il contenuto della directory “sourcedir” alla directory “destdir” .

tarlz -C sourcedir --uncompressed -cf - . | tarlz -C destdir -xf -

Esempio 9: comprimere l'archivio Posix esistente “Archive.tar” e scrivi l'output in “Archive.tar.lz . Comprimere ogni membro individualmente per Disponibilità massima. (Se un membro nell'archivio compresso viene danneggiato, gli altri membri possono ancora essere estratti).

tarlz -z --no-solid archive.tar

Esempio 10: comprimere l'archivio “Archive.tar” e scrivi l'output come “foo.tar.lz”.

tarlz -z -o foo.tar.lz archive.tar

Esempio 11: concatenare e comprimere due archivi “archive1.tar” e “archive2.tar” e scrivere l'output come “foo.tar.lz” .

tarlz -A archive1.tar archive2.tar | tarlz -z -o foo.tar.lz

riferimenti e bibliografia

https://lzip.nongnu.org/

https://lzip.nongnu.org/manual/lzip_manual.html

https://lzip.nongnu.org/tarlz.html

https://lzip.nongnu.org/lzlib.html

https://lzip.nongnu.org/lziprecover.html

https://www.nongnu.org/zutils/zutils.html

https://en.wikipedia.org/wiki/Lzip


https://noblogo.org/fenix/lzip-questo-sconosciuto-compressore-dati

https://noblogo.org/fenix/lzip-guida-rapida-parte-1


modificato il 29 Gennaio 2025


#unolinux #lzip #LZMA #tarlz #compressione #compressionedati #opensurce #archivio #tutorial #guidainformatica #linux

gzip è una delle utility di compressione dati più usata, sopratutto per la sua retro-compatibilità per lo scambio dati in vecchi sistemi operativi, server e reti http, sistemi embedded dove richiede poche risorse, sia in cpu che di memoria. In ambiti dove sono richiesti tempi di compressione e decompressione rapidi e facilmente implementabili. Esistono chip hardware che comprimono o decomprimono in tale formato (gzip, deflate). Il programma è utilizzato come libreria in molteplici software, git, browser-web, gimp, ecc.

Il progetto, nasce nel 1992, ad opera dei programmatori Jean-Loup Gailly e Mark Adler, che si erano prefissati il compito di sviluppare un’alternativa convincente a compress, programma scritto per Unix, che utilizava allora un algoritmo coperto da brevetto (LZW).

Il programma gzip, che è la forma abbreviata di “GNU zip”, si basa sul algoritmo Deflate, (pkzip, zip) utilizzabile liberamente e che consiste in una variazione del processo di compressione dei dati LZ77 (Lempel-Ziv 77), e sulla codifica di Huffman. Proprio con l’aiuto di queste tecniche gzip scansiona i file in cerca di stringhe di dati ricorrenti. Nel caso in cui il programma incontri determinate sequenze ricorrenti, queste vengono sostituite attraverso un dizionario a finestra scorrevole, sulla prima stringa che compare, dove la lunghezza di una tale sequenza è solitamente limitata a 32 Kbyte, per poi essere processate con la codifica di Huffman. Se una sequenza non si presenta nei 32 kbyte precedenti, allora il file verrà salvato senza compressione dati. Il procedimento è limitato ai singoli file, perciò per cartelle di file è necessario un programma di archiviazione esterno al fine di creare dei cosiddetti archivi compressi, con estensioni .tar.gz o .tgz.

Il programma gzip è stato originariamente sviluppato per la piattaforma GNU Linux, ma oggi è utilizzabile su quasi ogni piattaforma, fin quanto la licenza GPL scelta per il progetto venga rispettata. Ad esempio sui sistemi Linux, questo strumento per la compressione dei dati è solitamente installato automaticamente o in alternativa è contenuto nel sistema di gestione dei pacchetti, pronto per essere installato.

Oltre alle varie edizioni per i sistemi operativi più datati, esistono anche versioni per macOS e Windows, scaricabili sulla pagina ufficiale di gzip. Inoltre la compressione di gzip è utilizzata da anni da programmi per la gestione dei server web come ad esempio Apache, anche se questa funzione non viene sempre utilizzata, e dai browser moderni, che sono in grado di interpretare i file compressi e di decomprimerli durante il rende-ring dei siti web.

Il programma gzip mostra il meglio di sé nell'ambito dello sviluppo web: una volta attivato il processo, il server web inizia automaticamente la compressione degli elementi caricati nello spazio web così come degli elementi dinamici del sito web. In questo modo il tempo di caricamento del sito web sarà considerevolmente inferiore per il visitatore. Dovendo quindi gli utenti caricare solamente i pacchetti dati compressi, le stesse pagine web sono notevolmente più rapide da ricostruire.

In questa mini guida impareremo assieme ad utilizzare questo pratico strumento.


Usare il comando gzip su terminale Linux

Per utilizzare il comando gzip, dovrai seguire la sintassi indicata:

gzip [opzioni] file

L’immissione di opzioni non è in alcun modo obbligatoria. Lasciando il campo vuoto, gzip farà riferimento alle impostazioni standard, comprimendo il file di partenza con un nuovo file con estensione gz, e rimuovendo il file d'origine.

Comprimere un file utilizzando il comando gzip

Per comprimere un file utilizzando il comando gzip, tutto ciò che devi fare è aggiungere il percorso del file al comando gzip:

gzip filename

Ad esempio, qui, ho compresso un file di testo:

gzip esempio.txt

dopo la compressione e l'eliminazione automatica del file origine (esempio.txt) avremo un file chiamato:

esempio.txt.gz

se vogliamo mantenere il file originale (vogliamo prevenire la cancellazione automatica utilizziamo l'opzione -k) in questo modo:

gzip -k esempio.txt

se diamo un ls per visualizzare il contenuto della directory cartella corrente avremo entrambi i file:

    esempio.txt
    esempio.txt.gz

Per decomprimere pacchetti compressi in precedenza, si può fare affidamento sia sul programma gunzip sia sul corrispettivo comando di gzip -d

gzip -d esempio.txt.gz

oppure se vogliamo mantenere entrambi i file:

gzip -k -d esempio.txt

La seguente tabella fornisce i comandi gzip più importanti:

Opzione Descrizione
-1 … -9 Definisce il grado di compressione (1-9), dove il valore 1 corrisponde al tipo di compressione più basso e veloce, mentre il valore 9 equivale a quello migliore ma che richiede un maggior tempo; il valore standard preimpostato è 5
-r Ricerca ricorsivamente la cartella (incluse tutte le sottocartelle) e comprime o decomprime tutti i file contenuti al suo interno
-f Forza la compressione gzip e sovrascrive, in caso sia necessario, i file già presenti con lo stesso nome
-d Decomprime i file selezionati nella cartella attuale
-k Impedisce la cancellazione del file originale
-l Mostra le informazioni dei file, come ad esempio il grado di compressione
-c Crea un file compresso per uno standard output, di solito lo schermo di un PC, connesso alla riga di comando
-q Disattiva completamente le comunicazioni da parte del programma gzip
-t Testa l’integrità del file compresso
-h Elenca tutte le opzioni disponibili

per maggiori informazioni consultare il manuale del programma con il comando:

man gzip

Come comprimere con gzip una directory in Linux

Come accennato precedentemente gzip opera unicamente su un singolo file per volta, quindi in parole spicce è impossibilitato a comprimere intere directory di file in un unico file compresso, per fare ciò si usa prima archiviare con tar la directory/cartella da comprimere, per poi comprimerla in un secondo momento con gzip.

gzip archivio.tar

avremo un file chiamato:

archivio.tar.gz

questo approccio potrebbe risultare scomodo (comandi archivio tar + comandi gizp), perché effettivamente andremo a scrivere una miriade di comandi, fortunatamente è possibile fare questa operazione direttamente con un unico comando tar simile a questo:

tar -zcvf nome_archivio cartella_da_comprimere

le opzioni del comando tar utilizzato in precedenza hanno il seguente significato:

z dice a tar che deve usare gzip per comprimere il file c dice a tar di creare archivio di file non compresso v modalità dettagliata, mostra quali file vengono elaborati f l'output file x estrae i file dall'archivio

vediamo un esempio, supponiamo che ho una cartella chiamata “documenti” contenente file vari, vorrei comprimerla con gz in un archivio compresso tar.gz chiamato archivio_documenti:

tar -zcvf archivio_documenti.tar.gz documenti

per estrarlo:

tar -zxvf archivio_documenti.tar.gz

se il file presenta estensione “tar.gz” tar è in grado di riconoscerlo come “archivio compresso gzip” e si può omettere il parametro 'z' in fase di estrazione:

tar -xvf archivio_documenti.tar.gz

con GNU TAR è anche possibile passare parametri opzionali al “compressore”, supponiamo ad esempio di voler comprimere e archiviare la solita cartella documenti, questa volta contenente ad esempio solo file di testo semplice (hanno un alto rapporto di compressione) e di voler utilizzare un grado di compressione di gzip di tipo -9 “migliore” a discapito del tempo, avremo un comando simile a questo:

tar -c -I 'gzip -9' -vf archivio_documenti.tar.gz documenti

le opzioni del comando tar utilizzato in precedenza hanno il seguente significato:

-c dice a tar di creare archivio di file non compresso -I indica il programma di compressione e i parametri da usare -v modalità dettagliata, mostra quali file vengono elaborati -f l'output file

per ulteriori combinazioni di comandi fare riferimento al manuale di GNU TAR.

man tar


#linux #gzip #compressionedati #archivio #unolinux #guidainformatica #tutorial