如何搜索 ubuntu 源代码?

如何搜索 ubuntu 源代码?

如何搜索 Ubuntu 中使用的源代码?

有一条通知消息我想修改以包含更多数据,但它属于哪个包并不明显。但它包含一个非常具体的字符串,很容易搜索。我知道 ubuntu 中包含大量项目,但我希望在不清楚哪个程序负责时有一种很好的方法来找到源代码。

答案1

如果是那么具体的话,谷歌应该能够帮助你——它已经编入了索引公开源代码。如果它没有发现任何东西,我会感到非常惊讶。

除此之外(或任何其他类型的网络搜索),strings这是一个非常方便的小应用程序。它可以读取文件中的所有字符串,即使它是二进制的。我一直在尝试,你可以用它来在计算机上的任何地方查找短语。这个版本正在寻找“坏”/usr/bin

find /usr/bin -exec bash -c 'if [[ $(strings {} | grep -i bad) ]]; then echo "{}"; fi' \;

这显然是一种相当硬核的做事方式。但等等,还有更多。您可以随时找到每个结果的包:

find /usr/bin -exec bash -c 'if [[ $(strings {} | grep -i bad) ]]; then dpkg -S "{}"; fi' \;

这就是我所说的太棒了。下面是它的实际操作,正在查找“没有这样的设备”

oli@bert:/var/log$ find /usr/bin -exec bash -c 'if [[ $(strings {} | grep -i "No such device") ]]; then dpkg -S "{}"; fi' \;
handbrake-gtk: /usr/bin/ghb
usbutils: /usr/bin/usbhid-dump

答案2

有一个 Ubuntu 代码搜索网站,可让您搜索 Ubuntu 存储库中所有软件包的源代码:http://ubuntu-codesearch.surgut.co.uk/

上述网站似乎已经关闭了一段时间。我会尝试联系维护人员。

编辑:我与维护者进行了交谈,目前这个项目并不是一个优先事项。我建议改用 Debian 代码搜索,因为我们与他们共享了很多软件包/代码:https://codesearch.debian.net/

答案3

我知道你一直害怕的答案是:

下载所有源包并在本地搜索。压缩后大约 40 GB。我首先设置仅包含deb-src条目的 apt-mirror。

答案4

Ubuntu 使用 Debian Linux 源代码。但是,您必须知道 linux 是一个内核(http://www.kernel.org/),而发行版是与其捆绑在一起的软件(http://www.gnu.org/)。您可以从 archive.ubuntu.com 获取 Ubuntu 源代码存储库。您还可以参考https://code.launchpad.net/ubuntu

相关内容