ロボット運用システム(ROS)のパッケージをインストールしようとしていました。そして、先に進んでsudo apt-get install <package>
と入力します。
インストール後、/opt/share
にファイルのリストが表示されます フォルダー、これは私が欲しいパッケージです。
しかし、src
に入ると 、ソースコード(.cppファイル)がありません。
開発者のgithubページにアクセスするとソースコードが表示されますが、ソースコードを使用せずにパッケージをインストールするのはなぜですか? apt-get install
を使用してソースコードをダウンロードし、パッケージをインストールするにはどうすればよいですか? コマンド?
承認された回答:
デフォルトでは、apt-get install
パッケージのソースコードをダウンロードしません。特定のapt-get
があります source
であるそれを行うためのオプション 。
man apt-get
から :
source
sourceにより、apt-getはソースパッケージをフェッチします。 APTは、利用可能なパッケージを調べて、フェッチするソースパッケージを
決定します。次に、デフォルトのリリースを尊重しながら、そのソースパッケージの利用可能な最新バージョンを見つけて現在のディレクトリにダウンロードします。これは、オプションAPT ::Default-Release、-tオプション、またはパッケージごとに
可能であれば、pkg/release構文。ソースパッケージは、sources.list(5)ファイルのdeb-src行を介してバイナリパッケージとは別に追跡されます。これは、
ソースを取得するリポジトリごとに、このような行を追加する必要があることを意味します。そうしないと、
ソースバージョンが間違っている(古すぎる/新しすぎる)か、まったく取得されない可能性があります。
したがって、何かのソースパッケージを現在のディレクトリにダウンロードするための構文は次のようになります(root
である必要はありません)。 ):
apt-get source <package_name>
man
としても注意してください ページには、deb-src
が必要だと書かれています すべての通常のdeb
に対して有効になっているリポジトリ ソースパッケージを追跡するリポジトリ。これを行う最も簡単な方法は、-src
を追加することです。 元のリポジトリの最初のdeb
文字列:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
別の注意点として、/usr/src
をチェックした可能性があります すべてのカーネルソースの指定された場所であるディレクトリ。