为什么fio包使用Python2.7?

为什么fio包使用Python2.7?

我正在使用版本 3.16.1 的 fio 包,它需要 Python2.7,我尝试删除 Python2.7,但 fio 仍然有效。

所以我想知道 fio 何时使用 Python2.7 以及是否可以删除它?

或者是否可以强制它与 Python3 一起使用?

https://ubuntu.pkgs.org/20.04/ubuntu-universe-amd64/fio_3.16-1_amd64.deb.html

答案1

这绝对是可能的,因为fio对于 Jammy使用 Python 3。

因此答案是“为什么……”, 可能是“开发人员fio在 Ubuntu 20.04 和 22.04 之间的某个版本中将软件包转换到了 Python 3”

那么你能为 Focal 制作一个更新的版本吗?如果你愿意自己做的话,可能可以。所以你基本上有 3 个选择:

  1. 继续使用 Ubuntu 20.04 和fioPython 2
  2. 修改/更新fio源并重新编译以适应 Ubuntu 20.04
  3. 升级到 Ubuntu 22.04(这项工作已经为你完成)

正如@Muru 所述,它可能是一些使用 Python 的辅助脚本,并且您自己说过即使删除了 Python 2,二进制文件仍然有效。

对 Python 2 漏洞的思考

当你陈述“Python 2 中存在一些漏洞……”,似乎你并没有真正考虑过这些漏洞以及它们是如何发挥作用的。

我只能假设你指的是CVE-2021-4189CVE-2022-0391,您之前问过。请考虑一下它们实际上是什么:CVE-2021-4189 是关于 FTP 模块的,而 CVE-2022-0391 是关于 URL 解析的。

因此,您需要考虑:您是否真的存在任何可能以构成风险的方式暴露这些漏洞的攻击面?您可以先检查随附的 Python 脚本的源代码fio

为了fio_jsonplus_clat2csv第 81-87 行导入模块:

from __future__ import absolute_import
from __future__ import print_function
import os
import json
import argparse
import itertools
import six

fiologparser.py第 17-21 行导入模块:

from __future__ import absolute_import
from __future__ import print_function
import argparse
import math
from functools import reduce

由于它们都没有使用ftpliburllib.parse模块,因此漏洞根本不会起作用。因此不存在任何已知即使您使用的是 Python 2,这里也不会出现任何问题。

相关内容