Gestion des packages et référentiels de logiciels
Les distributions Linux basées sur Debian s'appuient sur des référentiels (bases de données de packages d'installation d'applications et de packages de mise à niveau) pour maintenir les systèmes d'exploitation à jour et également pour récupérer et installer facilement de nouveaux packages logiciels. L'emplacement de ces référentiels est stocké dans /etc/apt/sources.list
, cependant des sources supplémentaires, généralement uniques à des applications spécifiques, peuvent être stockées dans le /etc/apt/sources.list.d
répertoire.
Lorsque la commande de mise à jour de l'index de package apt-get update
est exécutée, votre système d'exploitation vérifie auprès de ces référentiels de packages les packages disponibles et enregistre les logiciels disponibles comme disponibles pour votre système d'exploitation que vous pouvez continuer à installer à l'aide de la apt-get install <package>
commande traditionnelle .
Un exemple d'une de ces sources logicielles est:
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty main restricted
Il est important que ces sources référencent des versions spécifiques des distributions Linux. Un exemple est trusty qui est le nom de code pour Ubuntu 14.04. Vous pouvez interroger votre système d'exploitation (basé sur Debian) pour des détails complets avec lsb_release -a
ou lsb_release -sc
ce qui signifie court et nom de code .
Dans votre question, la pièce $(lsb_release -sc)
est interprétée et le résultat de votre système d'exploitation est imprimé dans le fichier source personnalisé ros-latest.list que la commande créera lors de l'exécution.
Interprète de langage de commande
La sh
commande est le bourne shell . C'est un, parmi plusieurs coquilles, mais il est considéré comme l'ancien standard et généralement vous pouvez en être certain. Il est également courant de le voir bash
dans de nombreux scripts shell. Cette déclaration spécifie le shell à utiliser car différents shells utilisent une syntaxe différente.
En ce qui concerne le -c
drapeau, citant man bash
:
Si l'option -c est présente, les commandes sont lues à partir de la chaîne. S'il y a des arguments après la chaîne, ils sont affectés aux paramètres positionnels, en commençant par $ 0.
Tout ce qui se trouve dans le ''
est lu comme une chaîne, vous n'aurez pas besoin de comprendre comment échapper aux différents guillemets ou vous inquiéter que le shell interprète quelque chose dans le mauvais sens.
tl; dr
La commande s'imprime deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main
dans un fichier source personnalisé, en la remplaçant $(lsb_release -sc)
par la valeur interprétée.