GNU/Linux >> Linux の 問題 >  >> Ubuntu

Sudo Apt-get Installを使用しているのに、なぜソースコードがないのですか?

ロボット運用システム(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をチェックした可能性があります すべてのカーネルソースの指定された場所であるディレクトリ。

関連:uPnPクライアント/サーバーコンボが機能していますか?
Ubuntu
  1. ソースコードを使用してUbuntu20.04LTSにNginxをインストールします-ステップバイステップガイド?

  2. Debian8Jessieでapt-getを使用してMySQLv5.7をインストールする方法

  3. Apt-get Build-depはソースパッケージを見つけることができませんか?

  1. cronを使用してApt-getスクリプトをスケジュールしますか?

  2. Sudo Apt-get -f Installの実行中にエラーが発生しましたか?

  3. Kubuntu(kde4.7)を使用しているときにSkypeを11.10にインストールするにはどうすればよいですか?

  1. ubuntuのcheckinstallを使用してソースからdebファイルを作成します

  2. pip と apt-get を使用したパッケージのインストールの違いは何ですか?

  3. libc6 パッケージをインストールできません