PYSNMP 4.4.12无法编译自定义MIB

2024-07-04 16:42:20 发布

您现在位置:Python中文网/ 问答频道 /正文

在我第一次尝试pysnmp时,我正在努力加载自定义MIB。我已经读到,旧版本需要编译自定义MIB,而新版本将编译嵌入后端进程。当我尝试任何一种方法时,脚本都会挂起。。。无限期地自定义MIB是我下载的CISCO-PRODUCTS.MIB,以.my扩展名结尾

python3 mibdump.py  --mib-source=file://./ --destination-directory=/home/myuser/Desktop/Ansible/mibs --destination-format=pysnmp  CISCO-PRODUCTS-MIB

Source MIB repositories: file://./  Borrow missing/failed MIBs from:
http://mibs.snmplabs.com/pysnmp/notexts/@mib@  
Existing/compiled MIB locations: pysnmp.smi.mibs, pysnmp_mibs  
Compiled MIBs destination directory: /home/myuser/Desktop/Ansible/mibs  
MIBs excluded from code generation: INET-ADDRESS-MIB, PYSNMP-USM-MIB, RFC-1212, RFC-1215, RFC1065-SMI, RFC1155-SMI, RFC1158-MIB, RFC1213-MIB, SNMP-FRAMEWORK-MIB, SNMP-TARGET-MIB, SNMPv2-CONF, SNMPv2-SMI, SNMPv2-TC, SNMPv2-TM, TRANSPORT-ADDRESS-MIB  
MIBs to compile: CISCO-PRODUCTS-MIB  
Destination format: pysnmp  
Parser grammar cache directory: not used  
Also compile all relevant MIBs: yes  
Rebuild MIBs regardless of age: no  
Dry run mode: no  
Create/update MIBs: yes  
Byte-compile Python modules: yes (optimization level no)  
Ignore compilation errors: no  
Generate OID->MIB index: no  
Generate texts in MIBs: no  
Keep original texts layout: no  
Try various file names while searching for MIB module: yes  

Traceback (most recent call last):   File "mibdump.py", line 350, in
<module>
    processed = mibCompiler.compile(   File "/home/myuser/.local/lib/python3.8/site-packages/pysmi/compiler.py",
line 227, in compile
    fileInfo, fileData = source.getData(mibname)   File "/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 105, in getData
    for path in self.getSubdirs(self._path, self._recursive, self._ignoreErrors):   File
"/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 64, in getSubdirs
    dirs.extend(self.getSubdirs(d, recursive))   File "/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 64, in getSubdirs
    dirs.extend(self.getSubdirs(d, recursive))   File "/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 64, in getSubdirs
    dirs.extend(self.getSubdirs(d, recursive))   [Previous line repeated 44 more times]   File
"/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 63, in getSubdirs
    if os.path.isdir(d):   File "/usr/lib/python3.8/genericpath.py", line 42, in isdir
    st = os.stat(s) KeyboardInterrupt

同一目录中的文件包括:

  • CISCO-PRODUCTS-MIB.my
  • CISCO-SMI.my
  • mibdump.py
  • SNMPv2-CONF.my
  • SNMPv2-SMI.my
  • SNMPv2-TC.my

有人知道错误在哪里吗


Tags: noinpyselfhomemylibline
1条回答
网友
1楼 · 发布于 2024-07-04 16:42:20

添加 mib-searcher参数可以解决问题`

mibdump.py  disable-fuzzy-source  mib-source /home/user/.snmp/mibs  mib-searcher=/home/user/.snmp/mibs  destination-format pysnmp [MIB_ MODULE]

其中[MIB_MODULE].MIB文件显示在/home/user/.snmp/mibs目录中

参考:https://snmplabs.thola.io/pysmi/mibdump.html

相关问题 更多 >

    热门问题