CentOS/Fedora 不同配置/变体都默认安装了什么软件(组)
for https://cossig.org(CentOS 中文特别兴趣小组)
link: https://www.cossig.org/391-centos-fedora-default-softwares
所以我这回不用英文了哈哈
1. CentOS
CentOS 安装时可选不同的配置
其实这些就是不同的软件组
CentOS-Stream 8 为例, 定义软件组的文件是 comps.xml
左边的基本环境就是 <environment>
tag 列表
一共有11个
<environment variant="BaseOS"> <id>custom-environment</id> <name>Custom Operating System</name> <display_order>5</display_order> <!----> </environment> <environment variant="BaseOS"> <id>minimal-environment</id> <name>Minimal Install</name> <display_order>4</display_order> <!----> </environment> <environment> <id>server-product-environment</id> <name>Server</name> <display_order>2</display_order> <!----> </environment> <environment arch="aarch64,s390x,ppc64le,x86_64"> <id>graphical-server-environment</id> <name>Server with GUI</name> <display_order>1</display_order> <!----> </environment> <environment variant="BaseOS"> <id>cloud-server-environment</id> <name>Cloud Server</name> <display_order>3</display_order> <!----> </environment> <environment variant="BaseOS"> <id>web-server-environment</id> <name>Web Server</name> <display_order>50</display_order> <!----> </environment> <environment> <id>infrastructure-server-environment</id> <name>Infrastructure Server</name> <display_order>60</display_order> <!----> </environment> <environment variant="AppStream" arch="x86_64,ppc64le"> <id>developer-workstation-environment</id> <name>Development and Creative Workstation</name> <display_order>90</display_order> <!----> </environment> <environment variant="AppStream" arch="x86_64,ppc64le"> <id>gnome-desktop-environment</id> <name>GNOME Desktop</name> <display_order>80</display_order> <!----> </environment> <environment variant="AppStream" arch="x86_64,ppc64le"> <id>workstation-product-environment</id> <name>Workstation</name> <display_order>3</display_order> <!----> </environment> <environment variant="AppStream" arch="x86_64"> <id>virtualization-host-environment</id> <name>Virtualization Host</name> <display_order>70</display_order> <!----> </environment>
但还是对不上, 应该很接近了…吧?
想起来不联网是没法选择安装软件的
然后瞅一眼产生的临时文件 /tmp/dnf.cache/
├── appstream-831abc7e9d6a1a72 │ ├── metalink.xml │ └── repodata │ ├── 95f4408838f85e23117d7d89ab47e1029692a443722e0e315fe3db07c32ee573-modules.yaml.xz │ ├── 2047121fda8828f9b4d611cbfb736a89048cb411356e7ac2bdd95d927d044791-filelists.xml.gz │ ├── e27fd8f9028bdc339a014f95debd07da4ef7b217522d14721af050aa9e7cf93e-primary.xml.gz │ ├── f0d518764a274c71de0773b3590932ded56234b2f6ac4bf025d125b7ed29269f-comps-AppStream.x86_64.xml │ ├── gen │ │ └── groups.xml │ └── repomd.xml ├── baseos-044cae74d71fe9ea │ ├── metalink.xml │ └── repodata │ ├── 88ded6c02c5c3c62ab02250505cf0b8dee3af85819b666731c3cf813c275db6c-primary.xml.gz │ ├── b47aeefede03d4d530f4538bf8f73531fd1a6a2bb66ca1778e3423c4dec34121-filelists.xml.gz │ ├── d52d95f0f2d1a56b197a698aa328813a7e45e2d5b2883e04f4a3f604638b7a4a-comps-BaseOS.x86_64.xml │ ├── gen │ │ └── groups.xml │ └── repomd.xml
那里面的 *-comps-*.xml
的 <environment>
的 <display_order>
就正好是 1~4 和两个 99
comps-AppStream.x86_64.xml
<environment> <id>graphical-server-environment</id> <name>Server with GUI</name> <description>An integrated, easy-to-manage server with a graphical interface.</description> <display_order>1</display_order> <grouplist> <groupid>base-x</groupid> <groupid>container-management</groupid> <groupid>core</groupid> <groupid>fonts</groupid> <groupid>gnome-desktop</groupid> <groupid>guest-desktop-agents</groupid> <groupid>hardware-monitoring</groupid> <groupid>hardware-support</groupid> <groupid>headless-management</groupid> <groupid>internet-browser</groupid> <groupid>multimedia</groupid> <groupid>networkmanager-submodules</groupid> <groupid>print-client</groupid> <groupid>server-product</groupid> <groupid>standard</groupid> </grouplist> <optionlist><!----></optionlist> </environment> <environment> <id>server-product-environment</id> <name>Server</name> <description>An integrated, easy-to-manage server.</description> <display_order>2</display_order> <grouplist> <groupid>container-management</groupid> <groupid>core</groupid> <groupid>hardware-support</groupid> <groupid>headless-management</groupid> <groupid>server-product</groupid> <groupid>standard</groupid> </grouplist> <optionlist><!----></optionlist> </environment> <environment> <id>virtualization-host-environment</id> <name>Virtualization Host</name> <description>Minimal virtualization host.</description> <display_order>99</display_order> <grouplist> <groupid>base</groupid> <groupid>core</groupid> <groupid>standard</groupid> <groupid>virtualization-hypervisor</groupid> <groupid>virtualization-tools</groupid> </grouplist> <optionlist><!----></optionlist> </environment> <environment> <id>workstation-product-environment</id> <name>Workstation</name> <description>Workstation is a user-friendly desktop system for laptops and PCs.</description> <display_order>4</display_order> <grouplist> <groupid>base-x</groupid> <groupid>core</groupid> <groupid>fonts</groupid> <groupid>gnome-desktop</groupid> <groupid>guest-desktop-agents</groupid> <groupid>hardware-support</groupid> <groupid>internet-browser</groupid> <groupid>multimedia</groupid> <groupid>networkmanager-submodules</groupid> <groupid>print-client</groupid> <groupid>standard</groupid> <groupid>workstation-product</groupid> </grouplist> <optionlist><!----></optionlist> </environment>
comps-BaseOS.x86_64.xml
<environment> <id>custom-environment</id> <name>Custom Operating System</name> <description>Basic building block for a custom RHEL system.</description> <display_order>99</display_order> <grouplist> <groupid>core</groupid> </grouplist> <optionlist><!----></optionlist> </environment> <environment> <id>minimal-environment</id> <name>Minimal Install</name> <description>Basic functionality.</description> <display_order>3</display_order> <grouplist> <groupid>core</groupid> </grouplist> <optionlist><!----></optionlist> </environment> <environment> <id>server-product-environment</id> <name>Server</name> <description>An integrated, easy-to-manage server.</description> <display_order>2</display_order> <grouplist> <groupid>core</groupid> <groupid>hardware-support</groupid> <groupid>headless-management</groupid> <groupid>server-product</groupid> <groupid>standard</groupid> </grouplist> <optionlist><!----></optionlist> </environment>
2. Fedora
Fedora 分不同的变体, 常见的是 Server 和 Workstation
与 CentOS 不同, Fedora 是在 kickstarts 定义的变体
在 [Payload]
中定义了安装哪些软件(组)
然后根据 comps.xml 就知道安装了什么软件
2.1. Workstation
workstation-product-environment
<environment> <id>workstation-product-environment</id> <_name>Fedora Workstation</_name> <_description>Fedora Workstation is a user friendly desktop system for laptops and PCs.</_description> <display_order>2</display_order> <grouplist> <groupid>base-x</groupid> <groupid>container-management</groupid> <groupid>core</groupid> <groupid>firefox</groupid> <groupid>fonts</groupid> <groupid>gnome-desktop</groupid> <groupid>guest-desktop-agents</groupid> <groupid>hardware-support</groupid> <groupid>libreoffice</groupid> <groupid>multimedia</groupid> <groupid>networkmanager-submodules</groupid> <groupid>printing</groupid> <groupid>workstation-product</groupid> </grouplist> <optionlist><!----></optionlist> </environment>
2.2. Server
server-product-environment
<environment> <id>server-product-environment</id> <name>Server</name> <display_order>2</display_order> <grouplist> <groupid>server-product</groupid> <groupid>standard</groupid> <groupid>core</groupid> <groupid>hardware-support</groupid> <groupid>headless-management</groupid> <groupid>container-management</groupid> </grouplist> <optionlist><!----></optionlist> </environment>
2.3. What I want
花了一阵从 comps.xml 里搜所有安装界面的选项, 只有几个我能全选, 别的就慢慢手动安吧
(emacs web-mode 和 ripgrep 是好帮手)
my choice
<group> <id>standard</id> <_name>Standard</_name> <_description>Common set of utilities that extend the minimal installation.</_description> <default>false</default> <uservisible>false</uservisible> <packagelist><!----></packagelist> </group> <group> <id>c-development</id> <_name>C Development Tools and Libraries</_name> <_description>These tools include core development tools such as automake, gcc and debuggers.</_description> <default>false</default> <uservisible>true</uservisible> <packagelist> <packagereq type="mandatory">autoconf</packagereq> <packagereq type="mandatory">automake</packagereq> <packagereq type="mandatory">binutils</packagereq> <packagereq type="mandatory">bison</packagereq> <packagereq type="mandatory">flex</packagereq> <packagereq basearchonly="true" type="mandatory">gcc</packagereq> <packagereq basearchonly="true" type="mandatory">gcc-c++</packagereq> <packagereq basearchonly="true" type="mandatory">gdb</packagereq> <packagereq type="mandatory">glibc-devel</packagereq> <packagereq type="mandatory">libtool</packagereq> <packagereq type="mandatory">make</packagereq> <packagereq type="mandatory">pkgconf</packagereq> <packagereq type="mandatory">strace</packagereq> <packagereq type="default">byacc</packagereq> <packagereq type="default">ccache</packagereq> <packagereq type="default">cscope</packagereq> <packagereq type="default">ctags</packagereq> <packagereq type="default">elfutils</packagereq> <packagereq type="default">indent</packagereq> <packagereq basearchonly="true" type="default">ltrace</packagereq> <packagereq basearchonly="true" type="default">perf</packagereq> <packagereq type="default">valgrind</packagereq> <packagereq type="optional">astyle</packagereq> <packagereq type="optional">cbmc</packagereq> <packagereq type="optional">check</packagereq> <packagereq type="optional">cmake</packagereq> <packagereq type="optional">coan</packagereq> <packagereq type="optional">cproto</packagereq> <packagereq type="optional">ElectricFence</packagereq> <packagereq type="optional">insight</packagereq> <packagereq type="optional">nasm</packagereq> <packagereq type="optional">pscan</packagereq> <packagereq type="optional">python3-scons</packagereq> <packagereq type="optional">remake</packagereq> <packagereq type="optional">scorep</packagereq> <packagereq type="optional">splint</packagereq> <packagereq type="optional">yasm</packagereq> <packagereq type="optional">zzuf</packagereq> </packagelist> </group> <group> <id>container-management</id> <_name>Container Management</_name> <_description>Tools for managing Linux containers</_description> <default>false</default> <uservisible>true</uservisible> <packagelist> <packagereq type="default">podman</packagereq> <packagereq type="optional">buildah</packagereq> <packagereq type="optional">flatpak</packagereq> <packagereq type="optional">flatpak-builder</packagereq> </packagelist> </group> <group> <id>rpm-development-tools</id> <_name>RPM Development Tools</_name> <_description>These tools include core development tools such rpmbuild.</_description> <default>false</default> <uservisible>true</uservisible> <packagelist> <packagereq type="mandatory">redhat-rpm-config</packagereq> <packagereq type="mandatory">rpm-build</packagereq> <packagereq type="default">koji</packagereq> <packagereq type="default">mock</packagereq> <packagereq type="default">rpmdevtools</packagereq> <packagereq type="optional">pungi</packagereq> <packagereq type="optional">rpmlint</packagereq> </packagelist> </group> <group> <id>multimedia</id> <_name>Multimedia</_name> <_description>Audio/video framework common to desktops</_description> <default>false</default> <uservisible>false</uservisible> <packagelist> <packagereq>alsa-ucm</packagereq> <packagereq>alsa-utils</packagereq> <packagereq>gstreamer1-plugin-libav</packagereq> <packagereq>gstreamer1-plugin-openh264</packagereq> <packagereq>gstreamer1-plugins-bad-free</packagereq> <packagereq>gstreamer1-plugins-good</packagereq> <packagereq>gstreamer1-plugins-ugly-free</packagereq> <packagereq>PackageKit-gstreamer-plugin</packagereq> <packagereq>pipewire-alsa</packagereq> <packagereq>pipewire-gstreamer</packagereq> <packagereq>pipewire-pulseaudio</packagereq> <packagereq>pipewire-utils</packagereq> <packagereq>wireplumber</packagereq> <packagereq type="conditional" requires="gstreamer">gstreamer-plugins-espeak</packagereq> </packagelist> </group>
剩下的不在选项里, 只能和某些环境捆绑的组:
- swaywm (没错, 因为 sway-desktop-environment 环境也有我不像要的包)
- multimedia
- fonts
- development-libs
当我越来越追求极简主义的时候, 我真的适合再接着用 Fedora 吗? 我可能就是需要一个机会尝试其他发行版了.
我剩下的牢骚在这: https://dongdigua.github.io/cleanup_home.gmi.txt