Comandos de shell diferentes virão de lugares diferentes, no entanto, o procedimento a seguir provavelmente funcionará para muitos deles:
(Nota: Você não precisa ser root para nada disso.)
- Descobrir onde o arquivo de comando reside, por exemplo para encontrar
which
, tentetype which
no seu bash shell, ou mesmowhich which
(mais geralmente,which ...
, onde...
representa o comando que você deseja encontrar). - Em seguida, você desejará ver qual pacote normalmente fornece isso.
dpkg -S /path/name
pode ajudá-lo nisso ou combinar as etapas 1 e 2:dpkg -S $(which ...)
, por exemplo, %código%. Nesse caso, recebo:dpkg -S $(which which)
- Finalmente, você quer pegar a fonte real. (Nota: Você pode precisar executar
debianutils: /usr/bin/which
antes de fazer isso, especialmente se você receber um erro comoapt-get update
, que parece, pelo menos no meu caso, ser uma mensagem de erro de redemoinho.) ser feito comE: You must put some 'source' URIs in your sources.list
, por exemploapt-get source ...
(pode-se combinar etapas e fazerapt-get source debianutils
).
A partir daí, você deve ter alguns novos arquivos e diretórios em qualquer diretório em que você iniciou (então inicie em um diretório apropriado), contendo a fonte apropriada.
Outro exemplo, na forma de uma linha:
cmd_to_get=ls; apt-get source $(dpkg -S $(which $cmd_to_get) | cut -d: -f1)
que pega a fonte para apt-get source $(dpkg -S $(which which) | cut -d: -f1)
(junto com um monte de outras coisas que estão em ls
junto com ele).
De lá, você pode brincar mais.
Se você gostaria de criar coisas, veja este no askubuntu .
Hacker feliz!