Pourquoi apt ne trouve pas le code source d'un paquet?

8

J'essaie de télécharger le code source de certains packages, par exemple rhythmbox, à des fins d'apprentissage. Je veux le faire à travers apt-get, avec la apt-get sourcecommande.

Pour une raison quelconque, je apt-getn'arrive pas à trouver de package. J'ai essayé plusieurs packages, et je continue d'obtenir cette sortie d'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

Je cherche des réponses depuis un certain temps maintenant, mais je ne trouve personne avec le même problème. apt-getfonctionne bien avec l'installation et la mise à jour apt-getfonctionne donc bien à mon avis. Au cours de la recherche, j'ai également appris que je devais activer les «référentiels de code source» dans les sources logicielles, ce qui est également activé.

Je suis conscient du fait que (peut-être seulement pour certains packages, je ne suis pas sûr) les packages source peuvent également être téléchargés à bzrpartir de Launchpad, mais je veux savoir pourquoi cette méthode ne fonctionnera pas.

Muurverf
la source

Réponses:

7

Ouvrez le Centre logiciel et choisissez Edition -> Sources logicielles. Quel serveur utilisez-vous? J'utilise "Server and United States" et je viens de télécharger la source de rhythmbox très bien. Je suis précis.

GaryBishop
la source
Merci pour votre réponse! Je me suis avéré que j'utilisais le mauvais serveur. J'utilisais le serveur des Pays-Bas. Passé aux États-Unis et maintenant ça marche! :) Merci beaucoup!
Muurverf
je ne l'ai pas encore essayé ... BTW où est le code source stocké sur la machine ... ou il apparaît dans le répertoire d'où vous avez exécuté la commande?
juggernauthk108
Dans le répertoire où vous exécutez la commande, comme je m'en souviens vaguement.
GaryBishop
6

apt-get source rhythmbox ne fonctionne que si vous avez activé les référentiels source, mis à jour votre liste de packages ET que vous avez réellement ce référentiel dans vos sources.

Si, par exemple, vous avez installé une installation Ubuntu normale et n'avez ajouté aucun référentiel apt. Ensuite, tout ce que vous devez faire est de vous assurer que le "code source" est vérifié. Si vous avez ajouté des dépôts supplémentaires, vous devez avoir deux entrées pour chaque dépôt. Un pour «principal» (généralement) et un pour «source».

Juste au cas où vous ne l'auriez pas fait. Exécutez à apt-get updatenouveau pour obtenir tous les nouveaux dépôts.

Maintenant, apt-get source installe la source pour le package exact que vous avez installé. Cela signifie que si vous avez installé le deb à partir de some-odd-ppa (principal), la source doit être dans some-odd-ppa (source). Les packages installés à partir de some-odd-ppa ne tireront pas la source des autres référentiels car ce n'est pas la même version.

J'ai vérifié et rhythmbox est disponible via les référentiels sources. Vous n'avez tout simplement pas inclus le bon référentiel source dans votre référentiel apt, ou vous n'avez pas encore exécuté la mise à jour apt-get.

coteyr
la source
Merci pour votre réponse! Il s'est avéré que j'utilisais le mauvais serveur.
Muurverf