Сегодня меня укусила ошибка, когда я увидел исходный код команды "ls" в GNU / Linux. Эта команда принадлежит пакету "coreutils", поэтому для ее получения вам нужно было выполнить
apt-get source coreutils
Ошибка в Linux Mint была
E: Unable to find a source package for coreutils
Проблема Linux Mint в том, что они не добавляют репозитории, содержащие исходные коды, из которых были скомпилированы установленные нами пакеты.
Решение простое, нам просто нужно добавить репозитории в sources.list
sudo pluma /etc/apt/sources.list
Теперь для каждого репозитория «deb» мы должны добавить его аналог «deb-src», который будет репозиторием исходного кода.
Например, если у нас есть репозиторий
deb http://packages.linuxmint.com/
Добавляем его аналог
deb-src http://packages.linuxmint.com/
И так со всеми репозиториями, или, по крайней мере, из которых мы хотим иметь возможность получать исходный код
Мы обновляем
sudo apt-get update
А теперь, если мы сможем получить исходный код желаемого пакета
Вот код для `ls` -> http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob_plain;f=src/ls.c;hb=HEAD