我正在使用版本 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 个选择:
- 继续使用 Ubuntu 20.04 和
fio
Python 2 - 修改/更新
fio
源并重新编译以适应 Ubuntu 20.04 - 升级到 Ubuntu 22.04(这项工作已经为你完成)
正如@Muru 所述,它可能是一些使用 Python 的辅助脚本,并且您自己说过即使删除了 Python 2,二进制文件仍然有效。
对 Python 2 漏洞的思考
当你陈述“Python 2 中存在一些漏洞……”,似乎你并没有真正考虑过这些漏洞以及它们是如何发挥作用的。
我只能假设你指的是CVE-2021-4189和CVE-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
由于它们都没有使用ftplib
或urllib.parse
模块,因此漏洞根本不会起作用。因此不存在任何已知即使您使用的是 Python 2,这里也不会出现任何问题。