对于哪些 Linux 发行版适合生产服务器环境,哪些不适合,有很多社区感觉,但是,很多这种感觉似乎是基于宗教的,并且很少提供支持证据。
假设我们试图选择一个 Linux 发行版进行标准化(因为我们有兴趣保持我们的环境尽可能同质),什么标准是重要的,你如何确定不同的发行版如何满足这些标准?
我曾多次使用 Fedora 来托管服务器。我从来没有遇到过任何问题。仍然所有的新用户都来告诉 Fedora 不安全。我们应该使用 Ubuntu / CentOS 或其他一些发行版,而不是 Fedora。我一直不明白 Fedora 有什么问题。是什么让其他发行版更安全。
几点: 1. Fedora 自带的 iptables 配置为只允许 SSH。另外,如果我们愿意,我们也可以随时配置 iptables 以阻止 SSH。所以防火墙没有短板。
Fedora 定期发布更新(安全补丁和通用补丁)。
人们说distro X每5年发布一次新版本,而Fedora每6个月发布一次。为什么每 5 年发布一次会使事情变得安全。如果您觉得 5 年前的东西是安全的,请安装 5 年前的操作系统,或者即使新版本出现也不要升级 5 年。我个人觉得 5 年不提供新版本不会增加安全性。当检测到错误时,您必须发布补丁 5 年。所以使用非常旧的操作系统意味着更多的补丁。如果我们使用最近发布的版本,那么我们必须应用较少的更新/补丁。5 年发布一次如何让事情变得安全,我一直不明白。
所有操作系统都使用类似的软件包,如 Gnome、Open-Office、KDE、Open-SSH、Apache。其他发行版开发人员是否花时间阅读这些包的源代码并纠正安全错误(如果有)?即使他们不会发布这些缺陷,所有其他发行版也会发布补丁,包括 Fedora。或者他们是否会确保自己的分配,而不是费心通知其他人。这一切都假设他们确实阅读了与 apache、gcc、Open-Office 一样大的所有数百万行代码。如果这些东西在每个发行版中都是一样的,那么是什么让 Fedora 更容易受到攻击。
Fedora 预装了 seLinux 并进行了很好的配置。
在 Fedora 中,绑定默认在 chroot 中运行。现在 Fedora 11 默认也支持 DNSSEC。请参阅Fedora 11 上的 DNS 服务器问题,其中有人指出 Fedora 不适合托管 DNS。我不知道为什么。
事实上,其中一位新管理员在其中一台测试机器上安装了 Cent-OS 5.3。我用它来 ping 一个不存在的 IP。我收到了 ping 回复。我很惊讶,因为这是不可能的。我试图找出回复的位置,但失败了。尝试了一个多小时后,我终于从 CentOS 机器上拔掉了网线。我仍然能够ping通IP。然后我尝试ping机器的IP地址。我也可以ping通。因此,当机器配置了一个 IP 并且没有别名(eth0:1 …
现在CentOS 6.0已经进入各个镜像站点,我想就升级过程征求意见。在过去几个月中使用商业 RedHat 5.6 和 6.x 发行版时,我一直依赖全新安装而不是对我的测试系统进行就地升级。
由于真正的 CentOS 6 版本已经发布,是否有人计划就地执行迁移?有没有什么情况是有意义的?如果是这样,就地更新的陷阱是什么?
注意:有很多理论问题。
最近我正在阅读有关 Puppet(和类似系统)的文章,我相信它可以让我的工作更轻松很多。但我试着——不幸的是不能——去理解我能“傀儡”的东西。我可以想象“云”或 HA 集群,其中更多服务器上的相同配置。但是工作站呢?我有一台电脑(带有 kvm 的 Centos)、一台笔记本电脑(fedora)和个人服务器,它可以(或应该)被人偶化吗?什么是(缺点)优势?或者在我们公司我们有数百台服务器(主要是centos),但每台服务器都有点不同。无法决定在一个地方有很多配置是否更好..(不)优势?我会很高兴您的所有意见或与此主题的链接。
我是 Gentoo 的长期用户,无论是在桌面还是服务器上。作为一名软件工程师,我喜欢它的灵活性和可定制性(以及它的前沿和滚动发布的事实)。但是对于我的新服务器,我想使用不同的发行版。主要是因为编译所有内容会阻碍虚拟服务器,但也因为 Gentoo 过于前沿,有时更新应该(更多)正确测试和延迟。
(附带说明:这些年来,我已经成功部署/维护了几个 Gentoo 机器,而且大多数时候,事情进展得非常顺利,而且这些机器都很棒。)
因此,我想根据经验(而非意见)向社区寻求建议,哪些发行版最适合以下标准:
立即想到的是CentOS和Debian,但不幸的是,它们在软件包方面都已经过时了。
我正在关注Ubuntu,但与 Universe 或其他发行版相比,他们正式支持的软件(主要/受限存储库)相当小。我也不太确定他们对官方软件包的维护情况(关于安全修复),而且我真的不喜欢他们在做出影响用户的决定时的企业(= 封闭)心态。附带说明:我最近为朋友安装了 12.10 桌面,并没有留下深刻印象。
ArchLinux接近Gentoo,减去包编译,恕我直言。我自己还没有尝试过,但立即脱颖而出(消极地恕我直言)的是相当小的核心团队和缺少的安全团队。似乎没有专门的安全列表,他们最近才集成了包签名(我不知道这是否是强制性的)。还有相当多的软件包仅通过 AUR 或其他方式支持。关于这一点,我无话可说。
OpenSuSE也是我关注的东西,但我最后一次尝试 SuSE 是在内核 1.x 时代,老实说(当时我是一个非常年轻的极客:P)。所以我对它的现状几乎一无所知。
老实说,Fedora也是我考虑过的。它通常维护得很好,并且(如果它没有延迟几个月)有一个很好的发布时间表。另一方面,我读过很多关于 Fedora 18 的坏消息,尤其是关于升级路径。此外,它绝对是非常前沿的。
除了感谢您阅读本文并抽出宝贵时间之外,我无法在这篇相当长的帖子中添加太多内容。:-)
我觉得我需要更新我的问题。尽管我完全同意给出的答案,但它们并不是我真正想要的。所以这里有几点希望能澄清我的情况:
我已经维护服务器 10 多年了,所以(至少目前)我不考虑雇用某人来帮助我或减轻负载。
我知道我的 Linux 方法。它一直是我的主要系统超过 15 年左右。作为一名软件工程师和极客,我不会用它换取全世界。:)
我正在根据我提到的不同发行版的经验寻求建议。我知道我可以在虚拟机中安装所有这些(我最终会安装在候选名单上的那些),但即使我认为发行版 xy 很棒,但它绝对没有说明它的维护情况如何。或者一旦有新版本发布,这条路有多坎坷。只有时间可以证明。诸如此类的东西,我一直在寻找。一个星期的简单试运行无法显示的体验。基于仅长期使用发行版的经验的建议。
我还必须强调,我在上面原始帖子中的列表几乎总结了对我来说很重要的内容。
当 CentOS 6.3 可用时,我很困惑为什么我的新服务器上安装了 CentOS 5.9。
但事实证明,CentOS 5.9 实际上是最新版本。
为什么要发布 5.x 版本,因为它们是一个死胡同,将在不到 1 年的时间内失去完全支持?
是否有任何理由在新服务器上安装 CentOS 5.9 而不是 6.x?是否有任何理由避免使用 6.x?我假设 6 > 5。
当我lspci在 RHEL 5.5 服务器 (HP ProLiant DL360p Gen8) 上运行时,大多数项目如下所示:
00:03.3 PCI bridge: Intel Corporation Unknown device 3c0b (rev 07)
00:04.0 System peripheral: Intel Corporation Unknown device 3c20 (rev 07)
.. snip ..
03:00.0 Ethernet controller: Broadcom Corporation Unknown device 1657 (rev 01)
Run Code Online (Sandbox Code Playgroud)
等 63 个条目中,其中 57 个表示未知设备。注意:我不是最初购买或设置此服务器的人,我只是继承它的人。之前的管理员被解雇了(你知道这是怎么回事)。
服务器似乎工作正常,但我计划很快更新到 Centos 6.4,我想确保我知道正确的硬件配置。
使用kudzu和和PCI ID 存储库我能够弄清楚大多数设备是什么;但是,我无法找到这些设备的驱动程序。我会认为它们中的大部分会被编译到内核中吗?
以下是我发现的一些例子:
Intel Corporation Unknown device 1d00 (rev 05) <---> C600/X79 series chipset 4-Port SATA IDE Controller
Intel Corporation Unknown …Run Code Online (Sandbox Code Playgroud) 我即将在数百台生产服务器中将 RHEL 版本从 RHEL 5.4 升级到 RHEL 6.3。
升级将在生产部署之前在虚拟机上的暂存环境中进行测试。
RHEL 升级是否存在任何向后兼容性问题?
令我惊讶的是,我发现我无法将我的 CentOS 5.5 系统升级到 CentOS 6...(好吧,我可以,但不支持风险和痛苦的过程,很可能会导致混乱)
因此,与其浪费我的时间进行新的全新安装,每次出现新的主要版本时我都必须一遍又一遍地重做,我更喜欢安装不同的发行版,这次选择一个我知道将始终保证可能性的发行版无缝升级到任何新的次要或主要版本。
在“大”Linux 发行版中,哪些负责保证跨主要版本无缝升级的能力?Debian 吗?