J'essayais d'installer un package pour le système opérationnel robotique (ROS). Et je continue et tape sudo apt-get install <package>
Après l'installation, je vois une liste de fichiers dans /opt/share
dossiers, qui sont les packages que je veux.
Mais si je vais dans src
, le code source (fichiers .cpp) n'est pas là.
Je peux voir le code source si je vais sur les pages github du développeur, mais comment se fait-il que le paquet soit installé sans utiliser le code source ? Comment puis-je télécharger le code source et installer le package en utilisant apt-get install
commande ?
Réponse acceptée :
Par défaut apt-get install
ne télécharge pas les codes sources des packages. Il existe un apt-get
spécifique option pour faire ce qui est source
.
De man apt-get
:
source
source oblige apt-get à récupérer les packages source. APT examinera les packages disponibles pour décider quel package source
récupérer. Il trouvera alors et téléchargera dans le répertoire courant la dernière version disponible de ce paquet source
tout en respectant la version par défaut, définie avec l'option APT::Default-Release, l'option -t ou par paquet avec le
/> syntaxe pkg/release, si possible.Les paquets sources sont suivis séparément des paquets binaires via les lignes deb-src dans le fichier sources.list(5). Cela signifie
que vous devrez ajouter une telle ligne pour chaque référentiel dont vous souhaitez obtenir les sources ; sinon, vous obtiendrez probablement
soit les mauvaises versions des sources (trop anciennes/trop nouvelles), soit aucune.
Ainsi, la syntaxe pour télécharger le paquet source de quelque chose dans le répertoire courant serait (pas besoin d'être root
):
apt-get source <package_name>
Notez également qu'en tant que man
pages indique que vous devez avoir le deb-src
référentiels activés pour tous les deb
normaux référentiels dont vous souhaitez suivre les packages source. La façon la plus simple de le faire serait d'ajouter simplement -src
au deb
initial du dépôt d'origine chaîne :
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
Sur une note différente, vous avez peut-être vérifié le /usr/src
répertoire qui est l'endroit désigné pour toutes les sources du noyau.