マイコンピュータで特定のカーネルソースコードを見つける方法

マイコンピュータで特定のカーネルソースコードを見つける方法

signal.c私が持っているものと持っているものとの違い(ある場合)を調べるために、私のコンピュータでカーネルのソースコードを見つけたいと思います。これソースコード追いかけようとするこれ提案はしますが、あまりにも遠くに行かないでください。

もっと具体的な指示が必要だと思います。私はubuntu 14.04、x86_64、linux-source-3.13.0を使用しています(最後は出力ですapt-cache search linux-source)。

ベストアンサー1

指示に従った場合は、次のカーネルソースパッケージがインストールされました。linux-source-3.13.0、例えば、

sudo apt-get install linux-source-3.13.0

または

sudo apt-get install linux-source

それは取付ける仮想パッケージそれがインストールされています。バージョンが付けられた依存関係でパッケージ化します。

これを実行したら、探しているファイルを見つけることができます(パッケージ名を使用)。

dpkg -L linux-source-3.13.0 |grep -F signal.c

そのパッケージにある「signal.c」というファイルのパス名を取得します。

パッケージが実際にソースコードのタールボールである場合は、たとえばを使用してファイルを抽出する必要がありますtar。この場合、dpkg -L linux-sourceタールボールのみがリストされます(そしてgrepは何も返しません)。

ターボールの場合は、次のようにできます。

tar tvf $(dpkg -L linux-source-3.13.0) |grep -F signal.c

ファイルが1つだけ含まれている場合。しかし、あなたに次のようなものがあるとしましょう。

/usr
/usr/src
/usr/src/linux-patch-3.13-rt.patch.bz2
/usr/src/linux-source-3.13.tar.bz2
/usr/share
/usr/share/doc
/usr/share/doc/linux-source-3.13
/usr/share/doc/linux-source-3.13/copyright
/usr/share/doc/linux-source-3.13/changelog.Debian.gz
/usr/share/doc/linux-source-3.13/README.Debian

すると、探しているファイルが「tar.bz2」ファイルにあるので...

tar tvf $(dpkg -L linux-source-3.13.0|grep -F .tar.bz2) |grep -F signal.c

tarball に「signal.c」のパス名が表示されます。

追加資料:

おすすめ記事