我正在考虑一些类似Contents-<arch>.gz
Debian 的东西。网络服务也还可以。它存在吗?
简单阐述:例如,我们需要一个名为 的二进制文件exampletool
,我们从其他发行版或操作系统中对此非常了解。例如,我们想使用 zypper 来安装它。但zypper只能安装一个包。为了找出我们可以在哪个包中找到所需的exampletool
二进制文件,我们实际上需要进行一次搜索,最好是在当前未安装但在存储库中可用的包的文件列表。在 debian 上,包存储库中有一个名为 的索引文件Contents-amd64.gz
,我们可以在其中通过单个zgrep
命令找到所需的包。我也在为 OpenSUSE 寻找一些类似的单命令解决方案。如果没有,网络服务也可以实现相同的功能。
答案1
要从所有可用包中搜索以查找特定文件,您可以使用选项wp
或se --provides --match-exact
作为示例:
zypper se --provides --match-exact hg
您将看到类似于以下内容的输出:
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+-----------+--------------------------+--------
| mercurial | Scalable Distributed SCM | package
从那时起,您可以通过标准 zypper 安装来安装该软件包
zypper in mercurial
应该注意的是,它zypper wp
已过时,可能不再可用。
答案2
对于未来的谷歌用户:除了 @SailorCire 的精彩解决方案:-),还有一个名为 的工具scout
,它几乎能够搜索所有内容,我们可以找到二进制文件的 rpm-s,就像我们可以找到给定 java 类的 jars。
例如,我们可以使用 scout 的bin
命令来找出哪个包提供了hg
可执行文件:
scout bin hg
这次搜索的结果是mercurial
包:
repository | package | path | binary
-----------------+-----------+----------+--------
zypp (repo-oss) | mercurial | /usr/bin | hg
答案3
甚至比@Vicente Bolea晚到派对,但我通过检查文档找到了解决方案zypper se
,这是@SailorCire建议的:
zypper search --file-list <filename>
或其简短版本
zypper se -f <filename>
在可用包的文件列表中搜索
答案4
我的第一个镜头总是 cnf 又名命令未找到:
cnf 尖叫
程序“yelp”可以在以下软件包中找到:
- yelp [ 路径:/usr/bin/yelp,存储库:zypp (openSUSE-Leap-15.4-1) ]
- yelp [ 路径:/usr/bin/yelp,存储库:zypp (repo-oss) ]
尝试使用以下命令安装: sudo zypper install yelp
要进一步检查可用版本和存储库,请使用 opi(OBS 软件包安装程序 (CLI))来搜索并安装几乎所有可用于 openSUSE 和 SLES 的软件包:
$ opi 尖叫
- 喊叫
- yelp-xsl
- yelp 工具
- libyelp0
- 叫喊郎
- yelp-devel 选择一个数字(0 退出):
1
您已选择包名:yelp
- GNOME:STABLE:41 ? | 41.2 | x86_64 选择一个数字(0 表示退出):
选择 1 将首先添加存储库(如果需要),启用它,然后下载并安装软件包。
当有多个版本可供选择时,opi的优势就变得明显了:
$ opi php8
您已选择包名:php8
- 开发:语言:php:php82 ? | 8.2.4 | x86_64
- 开发:语言:php ? | 17.8.1 | x86_64
- 开发:语言:php:php81 ? | 8.1.13 | x86_64
- 开发:语言:php:php80 ? | 8.0.28 | x86_64
- 主页:13ilya! | 8.2.4 | x86_64
- 首页:mmanu84:php8:php82! | 8.2.4 | x86_64
- 主页:SCNOPS:php81 !| 8.1.17 | x86_64
- 主页:illuusio:php-next! | 17.8.1 | x86_64 选择一个数字(0 退出):
这将允许您在 PHP 8.0.28、8.1.13、8.1.17 和 8.2.4 之间进行选择。请注意,目前还没有稳定的软件包,所有软件包都标记为“开发”或“家庭”。