我使用的是RHEL6
你好,我已经创建了 yum 存储库,当我尝试安装 rpm 时,我从他们的网站下载了 snort rpm 包,但出现错误,例如
snort-2.9.5.3-1.f18.i386.rpm
1:snort-2.9.5.3-1.i386 requires libsfbpf.so.0
1:snort-2.9.5.3-1.i386 requires libdnet.so.1
1:snort-2.9.5.3-1.i386 requires libpcre.so.1
1)我尝试在互联网上查找这些文件,但找不到任何
2)我如何使用yum安装snort,我尝试yum install \Desktop\snort-2.9.5*
它抛出错误,我失败了依赖
错误:
Resolving Dependencies
--> Running transaction check
---> Package snort.i386 1:2.9.5.3-1 set to be updated
--> Processing Dependency: libdnet.so.1 for package: 1:snort-2.9.5.3-1.i386
--> Processing Dependency: libpcre.so.1 for package: 1:snort-2.9.5.3-1.i386
--> Processing Dependency: libsfbpf.so.0 for package: 1:snort-2.9.5.3-1.i386
--> Finished Dependency Resolution
Error: Package: 1:snort-2.9.5.3-1.i386 (/snort-2.9.5.3-1.f18.i386)
Requires: libsfbpf.so.0
Error: Package: 1:snort-2.9.5.3-1.i386 (/snort-2.9.5.3-1.f18.i386)
Requires: libdnet.so.1
Error: Package: 1:snort-2.9.5.3-1.i386 (/snort-2.9.5.3-1.f18.i386)
Requires: libpcre.so.1
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
我如何安装snort,我什至尝试安装fwbuilder但失败
答案1
如果您需要找出哪些存储库包包含特定文件,您可以尝试(例如):
yum provides "*/libdnet.so.1"
这使用了 shell 通配符,因此“*/”涵盖了 yum 将查找绝对路径名的事实。这是必要的。 请注意,它会搜索您的存储库,而不仅仅是已安装的软件包。对于上面使用 F17 的示例,我得到:
libdnet-1.12-8.fc17.i686 : Simple portable interface to lowlevel networking routines
Repo : fedora
Matched from:
Filename : /usr/lib/libdnet.so.1
libdnet-1.12-8.fc17.x86_64 : Simple portable interface to lowlevel networking routines
Repo : fedora
Matched from:
Filename : /usr/lib64/libdnet.so.1
这个相当简单,但由于这是一个文件名搜索,因此您可能经常会获得大量点击,并且必须对您真正要查找的内容进行深思熟虑的猜测。
yum provides
与多个 .rpm 字段标头匹配,因此您实际上不必搜索特定文件(但 shell glob 语法始终适用;该Provides:
字段中通常包含内容)。例如,yum provides libdnet
这里只是简单地工作——当然更常见和直接的方法也是如此:
yum search libdnet