Linux 命令行入门教程
90. 发行版差异速查(附录)
本教程共 90 篇 · 第 90 篇
90. 发行版差异速查(附录)
你可能会担心:“我学的是 Ubuntu,换 CentOS 是不是全白学?” 放心,本教程 01–89 章约 95% 的命令在两大阵营上完全一样——文件操作、文本处理、权限、进程、脚本,一个字都不用改。
真正的差异只有下面这几处。把它们记熟,发行版就不焦虑了。
一行对照表
| 主题 | Ubuntu / Debian(本教程语境) | RHEL / CentOS / Fedora |
|---|---|---|
| 防火墙 | ufw(简单前端,默认装好) | firewalld(区域模型,默认启用) |
| 强制访问控制 | AppArmor(基于路径的配置文件) | SELinux(基于标签的类型强制) |
| 网络配置 | netplan(/etc/netplan/*.yaml) | nmcli + /etc/sysconfig/network-scripts |
| 包管理 | apt | dnf / yum(第 60 章已对照) |
防火墙:ufw vs firewalld
两者都站在内核 Netfilter 之上,只是”仪表盘”不同。Ubuntu 用 ufw,规则直来直去:
sudo ufw allow 22/tcp # 放行 SSH
sudo ufw enable # 启用(先放行 SSH,别锁自己门外)
RHEL 用 firewalld,按”区域”管信任级别,改完要 --reload:
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
Note别在一台机器上同时跑
ufw和firewalld,规则会互相覆盖。用哪个发行版就用它默认的那个。
强制访问控制:AppArmor vs SELinux
它们都是给传统权限之上加一层”最小权限”约束。Ubuntu 默认 AppArmor,按程序路径写配置,易懂:
sudo aa-status # 看 AppArmor 状态
RHEL 默认 SELinux,给每个文件/进程打安全标签,更细但更陡:
getenforce # 看 SELinux 模式
实战建议:用哪个发行版就留着它默认的,别轻易关掉。应用”跑不起来”先查日志,而不是图省事 setenforce 0。
网络配置:netplan vs nmcli
Ubuntu 用 netplan 写 YAML 描述网络,再由它生成后端配置:
sudo netplan apply # 应用 /etc/netplan/*.yaml
RHEL 用 nmcli 直接管连接,配置传统上落在 /etc/sysconfig/network-scripts(新版 RHEL 也改用 NetworkManager 的 keyfile):
nmcli connection show # 列出连接
nmcli con mod eth0 ipv4.addresses 192.168.1.2/24
包管理一笔带过
apt 与 dnf/yum 的对照在第 60 章已详讲,这里只提醒:装软件思路一致,只是命令名不同。
小结:命令行 95% 通用,差异只在防火墙、强制访问控制、网络配置、包管理这四处。记住上面那张表,跨发行版游走毫无压力。
参考来源
- UFW vs firewalld 对比:https://betterstack.com/community/guides/linux/ufw-vs-firewalld | https://penguin-gym-linux.com/en/articles/tutorials/firewall-basics
- SELinux vs AppArmor 对比:https://www.textbookoflinux.com/chapter/security/selinux-vs-apparmor.html | https://selinuxgame.org/guides/selinux-vs-apparmor/
- netplan 官方说明:https://netplan.io/
- GeeksforGeeks Linux Firewall / nmcli 条目(research/geeksforgeeks/066-linux-firewall.md、077-nmcli-command-in-linux-with-examples.md)
上一篇
89. 函数、调试与综合示例
下一篇
已经是最后一篇啦