过去几年(大约 5 年)我一直在使用 Ubuntu Server,但我发现很多工作都需要 RHEL 或 CentOS 经验。
如果我进入 RHEL/CentOS/Fedora 环境,除了包管理器(dpkg/apt/.debs 与 yum/.rpms)之外,我还需要注意哪些区别?
答案1
- RHEL/CentOS 广泛使用 SELinux。Ubuntu 有 AppArmor,如前所述。
- RHEL/CentOS 默认可用的软件比 Ubuntu 少得多;您可能需要添加 EPEL 等存储库,具体取决于您的服务器需要运行什么。
- RHEL 使用更传统的方式启动和管理服务,Ubuntu 使用
upstart
。 - RHEL 拥有比 Ubuntu 更全面的高级功能包,例如身份管理和审计、集群、GFS 和虚拟化。Ubuntu 中也有这些功能,但需要更多调整(IMHO)。
- RHEL 可能会或可能不会从第三方软件供应商那里获得更好的支持,这取决于您的服务器需要运行什么。一些鲜为人知的专有企业软件通常只使用 RHEL 和/或 SuSE Enterprise Linux 进行测试。使用其他东西会让他们说“我们不会支持它,如果您遇到任何问题,我们会责怪您的 $linuxdistribution”。
- 使用 RHEL 和 Kickstart 可以非常轻松地实现自动化、无人值守的安装。Ubuntu 对此的支持也有限,但在大型服务器群中,Kickstart 非常常用。
- Ubuntu 为您提供了更多文件系统选择。例如,RHEL 最近刚刚获得对 XFS 的官方支持,在此之前您必须编译自己的内核(或者可能使用 EPEL 存储库中的内核)。
- Ubuntu
sudo
默认使用并禁用 root 帐户。RHEL 具有传统的 root 帐户(如果需要,还有 SELinux 角色)。 - 网络配置不同。Ubuntu 有
/etc/network/interfaces
,在 RHEL 中您可以修改/etc/sysconfig/network-scripts
目录。 - 与 Ubuntu 相比,其他几个配置文件位于不同的位置。例如,Ubuntu 有
/etc/default
许多守护进程的目录,而 RHEL 有/etc/sysconfig
。 - 一些包名称确实有所不同;这里已经提到的是 apache2/httpd 的区别。
- 您的默认 bash 提示符在 RHEL 中看起来会有所不同,并且如果安装了桌面环境(服务器不应该有),与 Ubuntu 相比,您会拥有不同的图标集和背景。;-)
答案2
根据 SF 问题,我注意到的最大区别是 apache webserver 包被称为 httpd,而不是 apache2。与此相关的是,/etc/sysconfig/httpd 控制工作模块。此外,没有 sites-avaiable 和 sites-enabled 目录。
我将我的配置放在 /etc/httpd/conf.d/*.conf 中,通常以我正在配置的站点命名。
答案3
(免责声明:这是基于我在旧版本 SUSE 和 Slackware 上看到的内容;我目前维护的所有 Linux 系统都运行 Ubuntu。)
Ubuntu 使用 Debian 超级用户协议的变体;基于 Red Hat 的发行版(据我所知)仍然具有 root 用户和 root 密码。
服务控制脚本是可能会仍然在/etc/rc.d
代替/etc/init.d
,但您可能找不到 Upstart 守护进程。
即使在同一发行版的不同版本中,日志位置也是可变的,因此我无法提供任何建议。