Vandaag werd ik gebeten door de bug om de broncode van het commando "ls" in GNU / Linux te zien. Dit commando behoort tot het "coreutils" pakket, dus om het te verkrijgen moest je het uitvoeren
apt-get source coreutils
De fout die in Linux Mint werd gegenereerd, was
E: Unable to find a source package for coreutils
Het probleem in Linux Mint is dat ze niet de repositories toevoegen die de broncodes bevatten waaruit de pakketten die we hebben geïnstalleerd, zijn gecompileerd.
De oplossing is simpel, we hoeven alleen maar de repositories toe te voegen aan de sources.list
sudo pluma /etc/apt/sources.list
Nu moeten we voor elke repository «deb» zijn tegenhanger «deb-src» toevoegen die de repository van de broncode zou zijn
Als we bijvoorbeeld de repository hebben
deb http://packages.linuxmint.com/
We voegen zijn tegenhanger toe
deb-src http://packages.linuxmint.com/
En dat geldt ook voor alle repositories, of waarvan we in ieder geval de broncode willen kunnen ontvangen
We updaten
sudo apt-get update
En als we nu de broncode van het gewenste pakket kunnen krijgen
Hier is de code voor `ls` -> http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob_plain;f=src/ls.c;hb=HEAD