各位openeuler社区的maintainer、committer和contributor好, openEuler社区 CICD sig组计划从openeuler-22.09版本开始,将gcc从标准镜像的最小化安装中剔除(即最小化安装默认不带gcc),理由如下:
1. 最小化安装系统中若存在开发/编译/调试/网络嗅探类工具或冗余安装文件,可以对系统中运行的软件进行交互和操作,这些交互和操作是不必要的,可能会干扰软件的正常运行并引入安全风险(如:建立绕过认证的隐秘通道、解密密文信息、在嗅探和调试信息中暴露敏感数据等);
2. 其他友商包括centos、Ubuntu、redhat,其最小化安装模式同样不安装gcc 欢迎各位分享自己的看法和建议,我们期待在下一次release sig例会上与各位交流!
我印象里“标准安装”这一软件包组不带 gcc ,可用下列命令检查: LANG=C.UTF-8 dnf group info standard |tail -n +2 我在 openEuler 22.03 LTS 和 CentOS 9 Stream 上做了测试,结果见附件。
看到“将gcc从标准镜像的最小化安装中剔除”这一倡议,我怀疑是 standard 软件包组中,有非 -devel 的包依赖了 gcc 。可用下列命令检查: LANG=C.UTF-8 dnf repoquery --alldeps --whatrequires gcc |grep -v .src$ 测试条件同上,结果见附件。
分析上述附件: <openEuler-22.03-LTS-standard.txt xargs -I '{}' grep '^{}' openEuler-22.03-LTS-alldeps-gcc.txt |sort -u <CentOS-Stream-9-standard.txt xargs -I '{}' grep '^{}' CentOS-Stream-9-alldeps-gcc.txt |sort -u
结论如下: [argon@openEuler ~]$ <openEuler-22.03-LTS-standard.txt xargs -I '{}' grep '^{}' openEuler-22.03-LTS-alldeps-gcc.txt |sort -u kpatch-1:0.9.5-4.oe2203.x86_64 kpatch-1:0.9.5-5.oe2203.x86_64 [argon@openEuler ~]$ <CentOS-Stream-9-standard.txt xargs -I '{}' grep '^{}' CentOS-Stream-9-alldeps-gcc.txt |sort -u [argon@openEuler ~]$
因此或许问题只是 kpatch 依赖了 gcc : [argon@openEuler ~]$ dnf repoquery --requires kpatch /bin/bash bc bison elfutils-libelf-devel flex gcc git kernel-devel libc.so.6(GLIBC_2.34)(64bit) libelf.so.1()(64bit) libelf.so.1(ELFUTILS_1.0)(64bit) libelf.so.1(ELFUTILS_1.5)(64bit) libelf.so.1(ELFUTILS_1.6)(64bit) make openssl-devel patch rtld(GNU_HASH)
[argon@CentOS-9 ~]$ dnf repoquery --requires kpatch /usr/bin/bash bash binutils kmod [argon@CentOS-9 ~]$ dnf repoquery --requires kpatch-dnf /bin/sh python(abi) = 3.9 python3-dnf python3-hawkey [argon@CentOS-9 ~]$
是的,根据分析确认。GCC不是显式的定义在最小安装软件范围内。
当前是因为systemtap的安装依赖变更(systemtap 不再依赖 systemtap-devel) 原依赖链:tuned 依赖 systemtap 依赖 systemtap-devel 依赖gcc 新依赖链:tuned 依赖 systemtap
所以也希望CICD sig的 森林同学 分析下周边社区通用的gcc是否也是最小安装 再基于更多维度的信息一起讨论方案。
-----Original Message----- From: 刘 福寿 [mailto:liufushou@live.cn] Sent: Friday, September 9, 2022 2:57 PM To: release@openeuler.org; dev@openeuler.org Subject: [Release] 回复: 【关于gcc从openeuler标准镜像最小化安装中剔除的意见征询】
我印象里“标准安装”这一软件包组不带 gcc ,可用下列命令检查: LANG=C.UTF-8 dnf group info standard |tail -n +2 我在 openEuler 22.03 LTS 和 CentOS 9 Stream 上做了测试,结果见附件。
看到“将gcc从标准镜像的最小化安装中剔除”这一倡议,我怀疑是 standard 软件包组中,有非 -devel 的包依赖了 gcc 。可用下列命令检查: LANG=C.UTF-8 dnf repoquery --alldeps --whatrequires gcc |grep -v .src$ 测试条件同上,结果见附件。
分析上述附件: <openEuler-22.03-LTS-standard.txt xargs -I '{}' grep '^{}' openEuler-22.03-LTS-alldeps-gcc.txt |sort -u <CentOS-Stream-9-standard.txt xargs -I '{}' grep '^{}' CentOS-Stream-9-alldeps-gcc.txt |sort -u
结论如下: [argon@openEuler ~]$ <openEuler-22.03-LTS-standard.txt xargs -I '{}' grep '^{}' openEuler-22.03-LTS-alldeps-gcc.txt |sort -u kpatch-1:0.9.5-4.oe2203.x86_64 kpatch-1:0.9.5-5.oe2203.x86_64 [argon@openEuler ~]$ <CentOS-Stream-9-standard.txt xargs -I '{}' grep '^{}' CentOS-Stream-9-alldeps-gcc.txt |sort -u [argon@openEuler ~]$
因此或许问题只是 kpatch 依赖了 gcc : [argon@openEuler ~]$ dnf repoquery --requires kpatch /bin/bash bc bison elfutils-libelf-devel flex gcc git kernel-devel libc.so.6(GLIBC_2.34)(64bit) libelf.so.1()(64bit) libelf.so.1(ELFUTILS_1.0)(64bit) libelf.so.1(ELFUTILS_1.5)(64bit) libelf.so.1(ELFUTILS_1.6)(64bit) make openssl-devel patch rtld(GNU_HASH)
[argon@CentOS-9 ~]$ dnf repoquery --requires kpatch /usr/bin/bash bash binutils kmod [argon@CentOS-9 ~]$ dnf repoquery --requires kpatch-dnf /bin/sh python(abi) = 3.9 python3-dnf python3-hawkey [argon@CentOS-9 ~]$
我在第二点已经表明了其他厂商的调查结果:最小化安装不带gcc
________________________________
夏森林 Xia Senlin Mobile:+86-50000041340tel:+86-50000041340(For Welink,eSpace Calls) Email:xiasenlin1@huawei.commailto:xiasenlin1@huawei.com
发件人: fanjiachen (A)<fanjiachen3@huawei.commailto:fanjiachen3@huawei.com> 收件人: 刘 福寿<liufushou@live.cnmailto:liufushou@live.cn>;release<release@openeuler.orgmailto:release@openeuler.org>;dev<dev@openeuler.orgmailto:dev@openeuler.org>;xiasenlin<xiasenlin1@huawei.commailto:xiasenlin1@huawei.com> 主题: RE: 【关于gcc从openeuler标准镜像最小化安装中剔除的意见征询】 时间: 2022-09-09 18:28:25
是的,根据分析确认。GCC不是显式的定义在最小安装软件范围内。
当前是因为systemtap的安装依赖变更(systemtap 不再依赖 systemtap-devel) 原依赖链:tuned 依赖 systemtap 依赖 systemtap-devel 依赖gcc 新依赖链:tuned 依赖 systemtap
所以也希望CICD sig的 森林同学 分析下周边社区通用的gcc是否也是最小安装 再基于更多维度的信息一起讨论方案。
-----Original Message----- From: 刘 福寿 [mailto:liufushou@live.cn] Sent: Friday, September 9, 2022 2:57 PM To: release@openeuler.org; dev@openeuler.org Subject: [Release] 回复: 【关于gcc从openeuler标准镜像最小化安装中剔除的意见征询】
我印象里“标准安装”这一软件包组不带 gcc ,可用下列命令检查: LANG=C.UTF-8 dnf group info standard |tail -n +2 我在 openEuler 22.03 LTS 和 CentOS 9 Stream 上做了测试,结果见附件。
看到“将gcc从标准镜像的最小化安装中剔除”这一倡议,我怀疑是 standard 软件包组中,有非 -devel 的包依赖了 gcc 。可用下列命令检查: LANG=C.UTF-8 dnf repoquery --alldeps --whatrequires gcc |grep -v .src$ 测试条件同上,结果见附件。
分析上述附件: <openEuler-22.03-LTS-standard.txt xargs -I '{}' grep '^{}' openEuler-22.03-LTS-alldeps-gcc.txt |sort -u <CentOS-Stream-9-standard.txt xargs -I '{}' grep '^{}' CentOS-Stream-9-alldeps-gcc.txt |sort -u
结论如下: [argon@openEuler ~]$ <openEuler-22.03-LTS-standard.txt xargs -I '{}' grep '^{}' openEuler-22.03-LTS-alldeps-gcc.txt |sort -u kpatch-1:0.9.5-4.oe2203.x86_64 kpatch-1:0.9.5-5.oe2203.x86_64 [argon@openEuler ~]$ <CentOS-Stream-9-standard.txt xargs -I '{}' grep '^{}' CentOS-Stream-9-alldeps-gcc.txt |sort -u [argon@openEuler ~]$
因此或许问题只是 kpatch 依赖了 gcc : [argon@openEuler ~]$ dnf repoquery --requires kpatch /bin/bash bc bison elfutils-libelf-devel flex gcc git kernel-devel libc.so.6(GLIBC_2.34)(64bit) libelf.so.1()(64bit) libelf.so.1(ELFUTILS_1.0)(64bit) libelf.so.1(ELFUTILS_1.5)(64bit) libelf.so.1(ELFUTILS_1.6)(64bit) make openssl-devel patch rtld(GNU_HASH)
[argon@CentOS-9 ~]$ dnf repoquery --requires kpatch /usr/bin/bash bash binutils kmod [argon@CentOS-9 ~]$ dnf repoquery --requires kpatch-dnf /bin/sh python(abi) = 3.9 python3-dnf python3-hawkey [argon@CentOS-9 ~]$