#howto - Ottenere il sorgente di un pacchetto via apt su Ubuntu e derivate

Scritto da il
Redatto da
debian
ubuntu
bash

Molto spesso il comando apt viene semplicemente utilizzato per scaricare pacchetti da installare nel proprio sistema, ma questo può anche essere usato per scaricare il sorgente di un pacchetto.

Abilitare i sorgenti

Come prima cosa dobbiamo abilitare le repository dove sono salvati i codici sorgenti dei pacchetti. Per fare questo dovremo modificare il file /etc/apt/sources.list e aggiungere alcune istruzioni.

Su Ubuntu:

deb-src http://archive.ubuntu.com/ubuntu codename main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu codename-updates main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu codename-security main restricted universe multiverse

dove “codename” deve essere rimpiazzato con il nome in codice della versione di Ubuntu che si sta utilizzando (ottenibile digitando cat /etc/lsb-release | grep CODENAME in una console). Nel caso di 20.04 (focal) si procederà in questo modo:

deb-src http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu focal-security main restricted universe multiverse

Su Debian:

deb-src deb http://deb.debian.org/debian codename main

dove, anche qui, “codename” dovrà essere rimpiazzato con il nome in codice della propria versione di Debian.

Una volta aggiunte le istruzioni, procediamo all’aggiornamento dell´ indice via apt:

apt update

Scaricare i sorgenti

A questo punto è arrivato il momento di scaricare sul nostro sistema il codice sorgente dei pacchetti di cui abbiamo bisogno. Per fare ciò utilizzeremo apt seguito poi da source e dal pacchetto che vogliamo esaminare.

Prendiamo come esempio bash. Per scaricare il codice sorgente di bash da apt possiamo fare questo comando:

apt source bash

e se tutto è andato a buon fine, facendo ls -la dovremo avere un output simile al seguente:

drwxr-xr-x 1 alessandro alessandro     512 Jul 30 14:42 bash-5.0
-rw-r--r-- 1 alessandro alessandro   74356 Jun 29 16:43 bash_5.0-6ubuntu1.1.debian.tar.xz
-rw-r--r-- 1 alessandro alessandro    2418 Jun 29 16:43 bash_5.0-6ubuntu1.1.dsc
-rw-r--r-- 1 alessandro alessandro 5554808 Jan 14  2019 bash_5.0.orig.tar.xz

Normalmente il codice sorgente viene estratto automaticamente nella cartella pacchetto-versione. Per vedere cosa c’è dentro possiamo utilizzare ls:

ls bash-5.0

La versione compressa del codice sorgente presente sulle repo viene salvata come pacchetto_versione.orig.tar.xz che, in questo caso, è bash_5.0.orig.tar.xz. Un file che descrive il pacchetto è invece salvato con l’estensione .dsc. La versione compressa del codice con tutti i file creati per il pacchetto di Debian vengono invece salvati in pacchetto_versione-6ubuntu1.1.debian.tar.xz.

Per maggiori informazioni, dubbi e chiarimenti, non esitate a fare domande sul nostro gruppo Telegram.

history_edu Revisioni