使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

admin 2022年4月6日01:36:54评论56 views字数 2761阅读9分12秒阅读模式
 
使用 Sourcegraph 搜索 34000 多个 Fedora 仓库
导读:Fedora 社区现在可以在他们的开源代码世界中尽情搜索 —— 目前有超过 34,000 个存储库,而且还在不断增加。
本文字数:2523,阅读时长大约:3分钟

https://linux.cn/article-14434-1.html
作者:Justin Dorfman
译者:六开箱

在 2021 年 10 月,一个 Fedora Linux 用户 问了一个关于许可的问题🔗 lists.fedoraproject.org。Fedora 项目负责人 Matthew Miller回复道🔗 lists.fedoraproject.org:“我不能快速地检查(这个问题),因为我们没有一个完整的、庞大的、可搜索的存储库来检索 Fedora 中所有软件包。”

接着他说🔗 lists.fedoraproject.org:“……或许我们可以付钱给 Sourcegraph,让他们帮我们做这个。他们看起来乐于助人。” 他说的没错,我们(Sourcegraph)的确是乐于助人,而且我们还不想要你的钱,相反,我们想与 Fedora 社区合作。

Fedora 社区现在可以在他们的开源代码世界中尽情搜索 —— 目前有超过 34,000 个存储库,而且还在不断增加。

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

代码搜索简介

如果你还不熟悉 代码搜索🔗 codesearchguide.org 的概念,我现在就来告诉你。代码搜索可以让团队更快地掌握一个新的代码库,在里面找到答案,帮助团队识别安全风险,以及许多其他用例。Sourcegraph 已经在 GitHub 和 GitLab 等多个代码托管服务上,索引了 200 多万个存储库。本文只关注 src.fedoraproject.org🔗 src.fedoraproject.org 的代码搜索。Sourcegraph 同时提供了一个 Web 应用🔗 sourcegraph.com 和 命令行客户端🔗 docs.sourcegraph.com

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

使用 Web 应用

在使用 Sourcegraph Web 应用🔗 sourcegraph.com 时,你需要先输入初始字符串 repo:^src.fedoraprojects.org,然后再开始查询。这个 Web 应用🔗 sourcegraph.com 链接中包括了上面的初始字符串,点击这个链接后,搜索界面如下图所示:

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

Sourcegraph Web 应用界面

下面我将提供几个使用 Web 应用程序进行搜索的例子,大家可能会对它们感兴趣。

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

查找使用流行的经 OSI 批准的许可证的存储库

下面的查询语句将扫描所有兼容 “开源定义(Open Source Definition)”(OSD) 的软件存储库。

  1. repo:^src.fedoraproject.org/ lang:"RPM Spec" License: ^.*apache|bsd|gpl|lgpl|mit|mpl|cddl|epl.*$

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

许可证搜索

试一下!🔗 sourcegraph.com

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

查找带有 TODO 的文件

下面的查询语句将在 34,000 多个仓库中找到 TODO 文件。对于那些希望为需要帮助的项目做出贡献的人来说,是一个非常棒的功能。

  1. repo:^src.fedoraproject.org/ "TODO"

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

搜索 TODO

试一下!🔗 sourcegraph.com

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

查找 FTP 服务器上的文件

我的一个前同事告诉我 “FTP 是一个死协议”。真的是这样吗?你也可以在这个查询中加入任何其他协议,如 irc、https 等。

  1. repo:^src.fedoraproject.org/ (?:ftp)://[A-Za-z0-9-]{0,63}(.[A-Za-z0-9-]{0,63})+(:d{1,4})?/*(/*[A-Za-z0-9-._]+/*)*(?.*)?(#.*)?

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

搜索协议

试一下!🔗 sourcegraph.com

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

查找使用有漏洞的 Log4j 版本的文件

这个查询语句将找到任何可能存在 CVE-2021-44228(也就是 Log4j)漏洞的文件(可能会有误报)。你也可以搜索其他漏洞,然后报告给项目维护者。

  1. repo:^src.fedoraproject.org/ org.apache.logging.log4j 2.((0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15)(.[0-9]+)) count:all

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

搜索 log4j

试一下!🔗 sourcegraph.com

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

使用命令行

Sourcegraph 还有一个叫做 src🔗 github.com 的命令行客户端,它可以让你完成我刚才提到的所有事情。此外,它还有其他一些有用的命令。比如说,它可以把结果用 JSON 格式输出,方便你在编程中使用。

  1. src search -json 'repo:^src.fedoraproject.org/ lang:"RPM Spec" License: ^.*apache|bsd|gpl|lgpl|mit|mpl|cddl|epl.*$'

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

输出 JSON

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

输出 JSON

试一下!🔗 sourcegraph.com

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

搜索语法

就入门而言,上面的例子是很好的起点,但 Sourcegraph 还支持更多的查询语句。你可以 查看所有的搜索查询语法🔗 docs.sourcegraph.com,并根据需要创建你自己的查询语句。

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库

总结

正如你所看到的,有了 Sourcegraph,Fedora Linux 社区现在可以快速搜索托管在 src.fedoraproject.org🔗 src.fedoraproject.org 上的所有代码,无论是使用普通查询还是复杂的正则查询。

感谢 Fedora Linux 社区的慷慨帮助和热情欢迎。如果你有任何想补充的内容或问题,我和我的团队都会在下面的评论区回复。你也可以 在 Slack 上找到我们🔗 srcgr.ph

特别感谢 Vanesa Ortiz🔗 twitter.com 促成了这次合作,还有 Ben Venker🔗 handbook.sourcegraph.com 帮助修复了我的正则表达式(多次),以及 Rebecca Dodd🔗 handbook.sourcegraph.com 和 Nick Moore🔗 twitter.com 在编辑上的帮助。


via: https://fedoramagazine.org/using-sourcegraph-to-search-34000-fedora-repositories/

作者:Justin Dorfman 选题:lujun9972 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

使用 Sourcegraph 搜索 34000 多个 Fedora 仓库
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


原文始发于微信公众号(Linux中国):使用 Sourcegraph 搜索 34000 多个 Fedora 仓库 | Linux 中国

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月6日01:36:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   使用 Sourcegraph 搜索 34000 多个 Fedora 仓库https://cn-sec.com/archives/874184.html

发表评论

匿名网友 填写信息