Al prompt dei comadi con il carattere $ si identifica un utente con meno privilegi, mentre con il carattere # si identifica l'utente amministratore chiamato root.
Gestione Applicazioni
In Linux i programmi sono distribuiti:
- in formato binario già compilato con l'utilizzo dei pacchetti:
- deb per le distribuzioni Debian e derivate
- rpm per le distribuzioni Red Hat e derivate
- in formato sorgente da compilare con l'utilizzo dei pacchetti tgz
- attraverso l'esecuzione diretta di file binari con estensione .run .bin e i file script con estensione .sh
L'installazione di un programma può richiedere l'utilizzo di un solo pacchetto deb che racchiude al suo interno l'eseguibile, la documentazione e le librerie necessarie al suo funzionamento oppure di più pacchetti in gergo le dipendenze, nel caso in cui il pacchetto principale dipenda da altri pacchetti.
I pacchetti deb si differenziano per il tipo di architettura della CPU e la distribuzione appartenente: da ricordare che i pacchetti con lo stesso formato ma appartenenti a distribuzioni differenti non sono tra loro compatibili del tutto.
La gestione dei pacchetti nelle fasi di installazione, aggiornamento, rimozione ed altro è affidato a programmi chiamati Gestori di pacchetti o Package Manager.
Package Manager semplici
Il Package Manager più semplice è l'applicazione dpkg per il formato .deb - Debian e sue derivate
E' utilizzato per la gestione dei singoli pacchetti a riga di comando senza risolvere le dipendenze richieste.
Installazione del pacchetto:
# dpkg -i nome_pacchetto.deb |
Disinstallazione pacchetto escluso i file di configurazione:
# dpkg -r nome_pacchetto.deb |
Disinstallazione pacchetto incluso i file di configurazione:
# dpkg --purge nome_pacchetto.deb |
Verifica se il pacchetto è installato:
# dpkg -l nome_pacchetto.deb |
Visualizza tutti i pacchetti installati:
# dpkg -l |
Package Manager evoluti
Ad assolvere la limitazione dei Package Manager semplici di non poter risolvere le dipendenze sono i Package Manager evoluti utilizzati a riga di comando come aptitude, apt-get e apt per Debian e derivate.
Essi si appoggiano ad archivi di pacchetti situati in Internet o in locale chiamati repository attraverso liste di pacchetti contenuti in un file in locale da aggiornare.
Per Debian e derivate aptitude, apt-get e apt utilizzano l'elenco e gli indirizzi dei repository a cui accedono dal file /etc/apt/sources.list:
# nano /etc/apt/sources.list |
deb http://deb.debian.org/debian/ buster main |
deb-src http://deb.debian.org/debian/ buster main |
Ogni riga è cosi spiegata:
deb | Il repository contiene pacchetti binari |
deb-src | Il repository contiene pacchetti sorgenti |
file | Il repository è sull'hard disk del PC |
cdrom | Il repository è sul cdrom del PC |
http | Il repository è su Internet con protocollo HTTP |
ftp | Il repository è su Internet con protocollo FTP |
Distribuzione | Nome della release della distribuzione installata sul PC |
Componente |
main: pacchetti che rispettano la DFSG contrib: pacchetti che rispettano la DFSG ma che ha dipendenze non in main non-free: pacchetti che non rispettano la DFSG |
Quando si aggiunge o rimuove un repository è necessario aggiornare la lista dei pacchetti:
# apt update |
apt, apt-get e aptitude sono delle applicazioni che permettono la gestione delle applicazioni all'interno del proprio PC.
apt | apt-get | aptitude | Descrizione |
apt install app | apt-get install app | aptitude install app | Installazione applicazione |
apt remove app | apt-get remove app | aptitude remove app | Disinstallazione applicazione escluso i file di configurazione |
apt purge app | apt-get --purge remove app | aptitude purge app | Disinstallazione applicazione incluso i file di configurazione |
apt update | apt-get update | aptitude update | Aggiornamento del database delle applicazioni |
apt upgrade | apt-get upgrade | aptitude safe-upgrade | Aggiornamento delle applicazioni |
apt full-upgrade | apt-get dist-upgrade | aptitude full-upgrade | Aggiornamento ad una nuova release |
apt search app | apt-cache search app | aptitude search app | Ricerca applicazione contenente il nome dell'applicazione |
apt show app | apt-cache show app | aptitude show app | Ricerca specifica dell'applicazione |
Installazione locale di una applicazione .deb:
# apt install ./app.deb |
L'installazione di un programma può richiedere l'utilizzo di un solo pacchetto rpm che racchiude al suo interno l'eseguibile, la documentazione e le librerie necessarie al suo funzionamento oppure di più pacchetti in gergo le dipendenze, nel caso in cui il pacchetto principale dipenda da altri pacchetti.
I pacchetti rpm si differenziano per il tipo di architettura della CPU e la distribuzione appartenente: da ricordare che i pacchetti con lo stesso formato ma appartenenti a distribuzioni differenti non sono tra loro compatibili del tutto.
La gestione dei pacchetti nelle fasi di installazione, aggiornamento, rimozione ed altro è affidato a programmi chiamati Gestori di pacchetti o Package Manager.
Package Manager semplici
Il Package Manager più semplice è l'applicazione rpm per il formato .rpm - Red Hat e sue derivate
Sono utilizzati per la gestione dei singoli pacchetti a riga di comando senza risolvere le dipendenze richieste.
Installazione del pacchetto:
# rpm -ivh nome_pacchetto.rpm |
Aggiornamento pacchetto:
# rpm -Uvh nome_pacchetto.rpm |
Disinstallazione pacchetto:
# rpm -e nome_pacchetto.rpm |
Visualizza tutti i pacchetti installati:
# rpm -qa |
Verifica se il pacchetto è installato:
# rpm -V nome_pacchetto.rpm |
Package Manager evoluti
Ad assolvere la limitazione dei Package Manager semplici di non poter risolvere le dipendenze sono i Package Manager evoluti utilizzati a riga di comando per Red Hat e derivate.
Essi si appoggiano ad archivi di pacchetti situati in Internet o in locale chiamati repository attraverso liste di pacchetti contenuti in un file in locale da aggiornare.
Installazione applicazione:
# dnf install app |
Disinstallazione applicazione:
# dnf remove app |
Aggiornamento applicazione:
# dnf update app |
Aggiornamento delle applicazioni installate:
# dnf update |
Verifica la disponibilità di aggiornamento delle applicazioni installate:
# dnf check-update |
Installazione locale di una applicazione .rpm:
# dnf localinstall app.rpm |
Oltre ai pacchetti rpm e deb con cui si distribuisce il software in formato binario già compilato ci sono i pacchetti tgz con cui si distribuisce il software in formato sorgente da compilare.
Le operazioni necessarie alla compilazione e quindi all'installazione dei programmi in formato sorgente sono:
1. aprire il terminale e installare i programmi necessari alla compilazione:
Debian - Ubuntu
# apt-get install linux-headers-$(uname -r) |
# apt-get install build-essential |
Fedora
# dnf install kernel-devel |
OpenSuse
# zypper install kernel-source |
# zypper install kernel-syms |
2. scompattare il file:
# tar xvfz nome_programma.tar.gz |
# tar xvfj nome_programma.tar.bz2 |
3. leggere i file README e INSTALL
4. come spiegato nei file README e INSTALL risolvere le dipendenze dovute ed eseguire i comandi come utente:
$ ./configure |
$ make |
$ su |
Password: (password di root) |
# make install |
I file con estensione .run o .bin (sono in formato binario non vanno compilati) e i file script con estensione .sh (sono file di testo editabili, inizianti con #!/bin/bash, contenenti una serie di comandi, interpretati dalla bash) possono essere eseguiti in due modi:
Con il permesso di esecuzione all'utente del file:
# chmod u+x file_script.sh |
# chmod u+x nome_programma.bin |
Esecuzione del file:
$ ./file_script.sh | |
$ ./file.bin |
Oppure, direttamente, utilizzando il comando sh
$ sh file_script.sh |
$ sh nome_programma.bin |