Zkoušel jsem nainstalovat balíček pro robotický operační systém (ROS). A já jen pokračuju a napíšu sudo apt-get install <package>
Po instalaci vidím seznam souborů v /opt/share
složky, což jsou balíčky, které chci.
Ale když půjdu do src
, zdrojový kód (soubory .cpp) tam nejsou.
Mohu vidět zdrojový kód, když půjdu na vývojářské stránky github, ale jak to, že je balíček nainstalován bez použití zdrojového kódu? Jak si mohu stáhnout zdrojový kód a nainstalovat balíček pomocí apt-get install
příkaz?
Přijatá odpověď:
Ve výchozím nastavení apt-get install
nestahuje zdrojové kódy balíčků. Existuje konkrétní apt-get
možnost udělat to, co je source
.
Z man apt-get
:
source
source způsobí, že apt-get načte zdrojové balíčky. APT prozkoumá dostupné balíčky, aby rozhodl, který zdrojový balíček
stáhnout. Poté najde a stáhne do aktuálního adresáře nejnovější dostupnou verzi tohoto zdrojového balíčku
při respektování výchozího vydání, nastaveného pomocí volby APT::Default-Release, volby -t nebo pro každý balíček pomocí
syntaxe pkg/release, je-li to možné.Zdrojové balíčky jsou sledovány odděleně od binárních balíčků pomocí řádků deb-src v souboru sources.list(5). To znamená
, že budete muset přidat takový řádek pro každý repozitář, ze kterého chcete získat zdroje; jinak pravděpodobně dostanete
buď špatné (příliš staré/příliš nové) zdrojové verze, nebo žádné.
Takže syntaxe pro stažení zdrojového balíčku něčeho do aktuálního adresáře by byla (nemusí být root
):
apt-get source <package_name>
Všimněte si také, že jako man
stránky říká, že musíte mít deb-src
repozitáře povoleny pro všechny běžné deb
úložišť, ve kterých chcete sledovat zdrojové balíčky. Nejjednodušší způsob, jak to udělat, by bylo přidat -src
na počáteční deb
původního úložiště řetězec:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
Z jiné poznámky, možná jste zkontrolovali /usr/src
adresář, který je určeným místem pro všechny zdroje jádra.