Por que o apt não consegue encontrar o código fonte de nenhum pacote?

8

Estou tentando baixar o código fonte de certos pacotes, por exemplo, rhythmbox, para fins de aprendizado. Eu quero fazer isso completamente apt-get, com o apt-get sourcecomando

Por alguma razão, apt-getparece que não consigo encontrar nenhum pacote. Eu tentei vários pacotes e continuo obtendo essa saída do apt-get:

$ apt-get source rhythmbox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to find a source package for rhythmbox

Estou procurando respostas há algum tempo, mas não consigo encontrar ninguém com o mesmo problema. apt-getfunciona bem com a instalação e atualização, então apt-getfunciona bem na minha opinião. Durante a pesquisa, também aprendi que precisava habilitar os 'repositórios de código fonte' em Fontes de Software, para que isso também estivesse ativado.

Estou ciente do fato de que (talvez apenas para determinados pacotes, não tenho certeza) os pacotes de origem também podem ser baixados no bzrLaunchpad, mas quero saber por que esse método não funciona.

Muurverf
fonte

Respostas:

7

Abra o Centro de Software e escolha Editar -> Fontes de Software. Qual servidor você usa? Estou usando "Server and United States" e baixei a fonte do rhythmbox muito bem. Estou no Precise.

GaryBishop
fonte
Obrigado pela sua resposta! Descobri que estava usando o servidor errado. Eu estava usando o servidor da Holanda. Mudou para os EUA e agora funciona! :) Muito obrigado!
Muurverf 26/11/12
Ainda não tentei ... BTW, onde está o código fonte armazenado na máquina ... ou aparece no diretório de onde você executou o comando?
Juggernauthk108
No diretório em que você executa o comando, eu me lembro vagamente.
GaryBishop
6

apt-get source rhythmbox só funciona se você tiver os repositórios de origem ativados, atualizou sua lista de pacotes E você realmente tem esse repositório em seus fontes.

Se, por exemplo, você instalou uma instalação normal do Ubuntu e não adicionou nenhum repositório apt. Então tudo que você precisa fazer é garantir que "Código-fonte" tenha uma verificação. Se você adicionou repositórios extras, precisará de duas entradas para cada repositório. Um para "principal" (geralmente) e outro para "fonte".

Também, caso você não tenha. Execute apt-get updatenovamente para obter todos os novos repositórios.

Agora o apt-get source instala o código exato do pacote que você instalou. Isso significa que, se você instalou o deb a partir de some-odd-ppa (main), a fonte precisa estar em some-odd-ppa (source). Pacotes instalados a partir do some-odd-ppa não extraem a fonte de outros repositórios porque não é a mesma versão.

Eu verifiquei e o rhythmbox está disponível nos repositórios de código-fonte. Você simplesmente não incluiu o repositório de código-fonte correto em seus repositórios do apt ou ainda não executou a atualização do apt-get.

coteyr
fonte
Obrigado pela sua resposta! Acabou que eu estava usando o servidor errado.
Muurverf 26/11/12