Guida ai comandi da terminale - Operazioni con programmi non presenti nei repository
Guida ai comandi da terminale |
Sommario |
Premessa
A mio parere, prima di procedere con l'installazione di un programma, è sempre bene verificare attentamente che non sia già presente nei repository ufficiali o in qualche repository aggiuntivo messo a disposizione, ad esempio, dagli sviluppatori del programma stesso. Installando da repository, infatti, si mantiene il sistema pulito e, soprattutto, si mantiene un archivio unico e completo di tutti i programmi installati, con la possibilità di rimuoverli utilizzando pochi strumenti nativi di Debian.
Compilazione dei sorgenti di un programma
I sorgenti di un programma sono di solito contenuti in un file con estensione .tar.gz
. Un file di questo genere è in gergo chiamato tarball e in genere vanno compiute due operazioni per compilarlo ed installarlo.
- La prima è quella di scompattarlo:
$ tar xzvf nome_programma.tar.gz
- La seconda è quella di spostarsi nella directory che si è venuta a creare e dare inizio alla compilazione:
$ cd nome_programma $ ./configure $ make # make install
Per disinstallare il programma bisogna portarsi nella directory dei sorgenti e digitare:
# make uninstall
Metodo alternativo I
Un metodo alternativo consiste nel compilare il programma creando un pacchetto .deb
da installare successivamente. Il primo passo è di installare il programma:
# apt install checkinstall
Ora seguite i normali passi per la compilazione dei sorgenti, variando solo l'ultimo comando:
$ ./configure $ make # checkinstall
Se tutto è andato per il verso giusto, verrà creato ed installato un pacchetto debian.
Metodo alternativo II
A volte checkinstall
può dare problemi, non rispettando le politiche Debian di gestione e creazione dei pacchetti. E' possibile per fortuna sostituire checkinstall
con un modo più professionale. Dovete innanzitutto scaricare dei tool di sviluppo:
# apt install devscripts dh-make make build-essential
Adesso posizionatevi dentro la cartella estratta dei sorgenti e lanciate:
$ dh_make $ debuild binary
A questo punto, dopo la compilazione, verrà creato un pacchetto .deb
, che sarà collocato nella directory padre. Installatelo così:
# dpkg -i ../pacchetto.deb
e il gioco è fatto.
Esecuzione di uno script
Spesso i programmi scaricati e scompattati contengono al loro interno uno script, da lanciare per effettuare l'installazione vera e propria del programma. Per lanciare questo tipo di installer si eseguano i comandi:
$ chmod +x installer.sh
e successivamente:
$ ./installer.sh
Installazione di un file .bin
Se abbiamo scaricato un installer in .bin, per avviare la sua installazione da terminale non si deve fare altro che dirigersi nella directory in cui il .bin è stato salvato e lanciarlo scrivendo il nome del file. L’unico problema può nascere quando l'installer non da nativamente i permessi di esecuzione all’utente normale, la cosa si risolve con il comando chmod
.
Se, per esempio, abbiamo scaricato il programma mio_programma.bin
dobbiamo compiere le seguenti operazioni.
L'installer avrà bisogno prima di tutto di una rettifica sui permessi. Entriamo nella cartella in cui si trova il file e lanciamo questi comandi:
$ chmod +x mio_programma.bin
e successivamente:
$ ./mio_programma.bin
Installazione di un file .rpm
Se abbiamo scaricato un installer con estensione .rpm (RedHat Package Manager, sistema di gestione dei pacchetti originario di Red Hat Linux), per installarlo dalla nostra distro dovremo per forza convertirlo in .deb . Il programma che ci consente di farlo è alien
. Quindi installiamolo digitando:
# apt install alien
Successivamente, dopo esserci diretti da terminale nella cartella in cui è presente il file .rpm scaricato, lanciamo:
$ alien -k nomefile.rpm
Avrete ottenuto un file .deb, che potrete utilizzare seguendo le istruzioni del paragrafo successivo.
Installazione di un file .deb
Se abbiamo scaricato o creato un installer con estensione .deb (che, come il nome suggerisce, è stato creato per Debian e sistemi derivati come Ubuntu), e se questo non ha dipendenze, per installarlo basterà dirigerci nella directory dove risiede il file e digitare:
# dpkg -i nomefile.deb
Per disinstallarlo possiamo normalmente seguire una delle strade per la disinstallazione viste in precedenza, utilizzando apt
.
Se il pacchetto ha dipendenze, è consigliabile utilizzare gdebi, installando il pacchetto gdebi-core
per l'interfaccia a linea di comando. In questo modo saranno soddisfatte in automatico prima di installare il pacchetto.
Poi basterà digitare, nella directory con il pacchetto .deb:
# gdebi nomefile.deb
Scompattare un file .tar
Se abbiamo un archivio in formato compresso .tar, per decomprimerlo dovremo usare lo strumento tar
.
Per decomprimere un pacchetto in formato .tar dobbiamo prima dirigerci, sempre da terminale, nella cartella in cui l’archivio è presente, e poi dobbiamo lanciare:
$ tar xvf nomearchivio.tar
dove
tar
è il nome del programma decompressorex
significa “estrazione”v
sta per "verbose", e serve per ottenere informazioni dettagliate durante il processo di estrazionef
infine salva i file nella stessa posizione dell’archivio.
Lanciando il comando:
$ tar --help
avrete una lista completa delle opzioni che potete usare col programma.
Scompattare un file .tar.xz
Se abbiamo un archivio in formato compresso .tar.xz, per decomprimerlo dovremo usare lo strumento tar
.
Per decomprimere un pacchetto in formato .tar.xz dobbiamo prima dirigerci, sempre da terminale, nella cartella in cui l’archivio è presente, e poi dobbiamo lanciare:
$ tar Jxvf nomearchivio.tar.xz
dove
tar
è il nome del programma decompressoreJ
indica che il file da decomprimere è in formato compresso .xzx
significa “estrazione”v
sta per "verbose", e serve per ottenere informazioni dettagliate durante il processo di estrazionef
infine salva i file nella stessa posizione dell’archivio.
Lanciando il comando
$ tar --help
avrete una lista completa delle sintassi che potete usare col programma.
Scompattare un file .tar.bz2
Se abbiamo un archivio in formato compresso .tar.bz2, per decomprimerlo dovremo usare lo strumento tar
.
Per decomprimere un pacchetto in formato .tar.bz2 dobbiamo prima dirigerci, sempre da terminale, nella cartella in cui l’archivio è presente, e poi dobbiamo lanciare:
$ tar jxvf nomearchivio.tar.bz2
dove
tar
è il nome del programma decompressorej
indica che il file da decomprimere è in formato compresso .bz2x
significa “estrazione”v
sta per "verbose", e serve per ottenere informazioni dettagliate durante il processo di estrazionef
infine salva i file nella stessa posizione dell’archivio.
Lanciando il comando
$ tar --help
avrete una lista completa delle sintassi che potete usare col programma.
Scompattare un file .tar.gz
Se abbiamo un archivio in formato compresso .tar.gz, per decomprimerlo dovremo usare lo strumento tar
.
Per decomprimere un pacchetto in formato .tar.gz dobbiamo prima dirigerci, sempre da terminale, nella cartella in cui l’archivio è presente, e poi dobbiamo lanciare:
$ tar zxvf nomearchivio.tar.gz
dove
tar
è il nome del programma decompressorez
indica che il file da decomprimere è in formato compresso .gzx
significa “estrazione”v
sta per "verbose", e serve per ottenere informazioni dettagliate durante il processo di estrazionef
infine salva i file nella stessa posizione dell’archivio.
Lanciando il comando
$ tar --help
avrete una lista completa delle sintassi che potete usare col programma.
Scompattare un file .7z
Se siamo in possesso di un archivio .7z , per decomprimerlo avremo bisogno dello strumento p7zip-full
. Se non lo abbiamo, digitiamo da terminale:
# apt install p7zip-full
Per decomprimere il file .7z digitiamo ora semplicemente:
$ 7z x nomearchivio.7z
Attenzione ai permessi: se lanciate il comando 7z da sudoer o da root, i permessi dei file decompressi saranno attribuiti a quell’utenza. Non sono conservati come per tar.
È software libero e quello che effettua la maggiore compressione, ma richiede molto più tempo rispetto al formato .gz.
Scompattare un file .rar
Se siamo in possesso di un archivio .rar , per decomprimerlo avremo bisogno dello strumento unrar
. Se non lo abbiamo, digitiamo da terminale:
# apt install unrar-free
Si noti che soltanto tar
è tuttofare e supporta formati liberi, e consente sia l’archiviazione che la decompressione dei file su cui è in grado di lavorare, conservando permessi, utente, gruppo e altre informazioni del file system. unrar
invece è in grado soltanto di decomprimere, e se volessimo creare un archivio .rar avremmo bisogno di un altro pacchetto, chiamato rar
, in formato non libero.
unrar non libero Purtroppo il pacchetto unrar-free non supporta il formato RAR 3.0, e per aprire tali archivi è necessario il pacchetto unrar, che appartiene alla sezione non-free, non è cioè software libero, per quanto il suo sorgente sia disponibile. |
Per decomprimere il file .rar digitiamo ora semplicemente:
$ unrar x nomearchivio.rar
Attenzione ai permessi: se lanciate il comando unrar da sudoer o da root, i permessi dei file decompressi saranno attribuiti a quell’utenza. Non sono conservati come per tar.
Se si vuole una compressione maggiore di zip è comunque preferibile ricorrere a 7z, completamente libero e migliore di rar.
Scompattare un file .zip
Se siamo in possesso di un file .zip, possiamo decomprimerlo con lo strumento unzip
. Se non abbiamo dovremo installarlo con:
# apt install unzip
Come tutti gli archivi, unzip
è in grado soltanto di decomprimere, e la compressione può avvenire grazie a zip
che si installa allo stesso modo. È il formato più diffuso, e quello consigliato per l'interazione con altri sistemi, inoltre è libero e utilizza soltanto software libero contrariamente a rar/unrar.
Per decomprimere un file .zip, digitiamo semplicemente:
$ unzip nomearchivio.zip
Attenzione ai permessi: se lanciate il comando unzip da sudoer o da root, i permessi dei file decompressi saranno attribuiti a quell’utenza.