红帽服务器最小安装

在虚拟化的红帽服务器的农场中,出于安全原因需要安装最less的系统。 最小的安装有几个优点(甚至没有安全相关):

  1. 较less暴露于漏洞(如果您不需要它,请不要安装它)
  2. 更好的更新过程(更less的软件包更新,打破系统的可能性更小)
  3. 更好的性能(没有不必要的守护进程或进程)
  4. 你有越less的软件越容易硬化系统

不幸的是,这并不容易,因为红帽上的“最小安装”包含许多不必要的软件包。

当农场运行Oracle iAS时,还有一个额外的挑战。 我被告知,iAS与本地graphics环境有依赖关系。 所以最后农场里的每个服务器都有gnome,X等

我一直在寻找networking,一个解决scheme似乎正在制作一个kickstart脚本,将只安装必要的软件包。 但是我觉得这很困难,并且对于如何保持系统依赖关系有所怀疑。

你如何安装最小的红帽服务器? 是否可以使用kickstart或将在安装或更新中有依​​赖项问题? 有没有办法避免为iAS安装graphics环境?

我一直在寻找networking,一个解决scheme似乎是做一个kickstart脚本,将只安装必要的软件包。 但是我觉得这很困难,并且对于如何保持系统依赖关系有所怀疑。

制作kickstart文件并不困难:在你安装的服务器的/ root目录中查找名为anaconda-ks.cfg的文件。 这是一个kickstart文件,使一个新的服务器看起来像现有的。 每个RH,Fedora或者CentOS服务器都有这个文件。

如果您不熟悉写入kickstart文件,可以在system-config-kickstart中编辑文件。 你虽然需要X.

你如何安装最小的红帽服务器? 是否可以使用kickstart或将在安装或更新中有依​​赖项问题? 有没有办法避免为iAS安装graphics环境?

你用kickstart文件做得很好。 Kickstart会影响您安装后更新的方式。 在安装过程中,相关性会自动计算。 你已经删除的软件包(如果可能的话)仍然是需要的。 您无法为系统安装具有中断依赖关系的系统 。 Oracle的依赖关系是一个完全不同的问题。

如果Oracle需要一个graphics化的环境(这样做,我知道它很糟糕,但确实如此),除了安装X之外别无select。然而,afaik,Oracle需要X,因为它有一个graphics化的安装程序。 之后你不需要X. 所以安装后,你可以删除X.

在我的店里,我们只安装了一个非常小的一套X库,顺便说一句。 只需足以通过X转发来运行xclock(从而运行安装程序)即可。 这就够了。

Oracle有更疯狂的依赖关系。 Oracle安装程序需要一些古老的C库compat包。 不是因为它确实需要它们,而是因为它们运送的zip实现需要它们。 他们为什么运送这个zip实现? 有传言说,Oracle推出的非常古老的压缩实施有更有利的许可条款(如:不是GPL),所以他们拒绝使用更新的实现。 只是传闻,从来没有听到确认…

KIckstart很好。 如果你想确定某些软件包没有被安装,你可以在要安装的软件包/组列表中列出它们,前面加一个减号(' – ')。

例如

%packages
@base
core-utils
-httpd

确保apache不会被安装

然后在%post部分中,您可以运行诸如chkconfig命令来closures您不想要的服务 – 并且执行任何您想要执行的操作来加强安装。

你的问题实际上不是RedHat,而是更多的Oracle依赖。

正如前面的海报所说,Oracle的依赖关系是疯狂的,主要连接到蹩脚的安装程序,而不是产品本身。

你需要把你的问题分成两部分:

  • 使用kickstart文件创build一个最小化的RedHat安装,该文件将在您的硬件上运行,并根据Oracle IAS预先请求生成文件系统。
  • 创build一个将为Oracle安装程序安装所需软件包的脚本/软件包,使用响应文件安装Oracle,然后卸载不需要的软件包。

第二部分是最困难的,你需要花一些时间从oracle pre-req中确定什么是真正需要的,什么是一个愚蠢的依赖。

但完成后,您可以自动安装,并在所有系统上进行最低限度的维护。

您可以安装一次,进行备份并在其他系统上使用它。 为了获得一个最小的系统使用,你可以:

  • 做一个正常的“最小”安装,然后删除你不需要的包; 要么
  • 请安装程序让您select单独的软件包。

我会说后者更容易完成。 这可能需要一段时间,但这并不重要,因为你只会做一次。

如果农场具有同质的虚拟“硬件”,那就更好了。 如果不是,一般你需要关心的是充分利用磁盘空间。 只要使“主”副本在尺寸方面符合最小分母,并参见下文。

最后一部分在一些条件下相对容易实现。 如果在(虚拟)磁盘末尾有一个最大的分区,您可以在“fdisk”中将其删除,然后重新创build它以填满磁盘。 然后你运行resize2fs就完成了。 另一个想法可能是使用LVM,它允许使用“lvextend”更容易扩大音量。 (在LVM中,脚本/自动化是非常容易的。)

我正在回答另一个老的,因为我昨天花了一段时间。 我希望红帽安装一个专用服务器的最小数量的包。

看来在最新版本中,即使没有在%packages部分中指定单个包,默认情况下也会安装组@base

这安装了比我在某些系统上维护更多的包和服务。

然后我在CentOS Kickstart / Anaconda Wiki中find%packages --nobase 。 这确实是基于Red Hat的发行版的最小安装。 你会发现许多你习惯的并且依赖于缺less的命令。 但是,如果你想要一个最小的起点,这是它。