AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 29071
Accepted
chmeee
chmeee
Asked: 2009-06-21 00:06:21 +0800 CST2009-06-21 00:06:21 +0800 CST 2009-06-21 00:06:21 +0800 CST

红帽服务器最小安装

  • 772

在虚拟化 Red Hat 服务器场中,出于安全原因,需要安装最小系统。最少安装有几个优点(甚至与安全无关):

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

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

由于场正在运行 Oracle iAS,因此还有一个额外的挑战。我被告知 iAS 依赖于本地图形环境。所以最后农场中的每台服务器都有 gnome、X 等。

我一直在网上搜索,一个解决方案似乎是制作一个仅安装必要软件包的 kickstart 脚本。但是我觉得这很困难,并且对之后如何维护系统依赖关系有几个疑问。

如何安装最小的 Red Hat 服务器?是否可以使用 kickstart 或者我在安装或更新中会遇到依赖问题?有什么方法可以避免为 iAS 安装图形环境?

redhat installation hardening kickstart
  • 5 5 个回答
  • 6911 Views

5 个回答

  • Voted
  1. Best Answer
    wzzrd
    2009-06-21T05:56:38+08:002009-06-21T05:56:38+08:00

    我一直在网上搜索,一个解决方案似乎是制作一个仅安装必要软件包的 kickstart 脚本。但是我觉得这很困难,并且对之后如何维护系统依赖关系有几个疑问。

    制作kickstart 文件并不难:在您安装的一台服务器的/root 中查找名为anaconda-ks.cfg 的文件。这是一个让新服务器看起来像现有服务器的 kickstart 文件。每个 RH、Fedora 或 CentOS 服务器都有该文件。

    如果您不熟悉编写 kickstart 文件,您可以在 system-config-kickstart 中编辑该文件。不过,您确实需要 X。

    如何安装最小的 Red Hat 服务器?是否可以使用 kickstart 或者我在安装或更新中会遇到依赖问题?有什么方法可以避免为 iAS 安装图形环境?

    您使用 kickstart 文件做得很好。Kickstart 确实会影响您安装后的更新方式。在安装过程中,会自动计算依赖关系。添加了无论如何都需要的您删除的软件包(如果可能的话)。您不能安装系统的依赖关系已损坏的系统。但是,Oracle 的依赖关系是完全不同的事情。

    如果 Oracle 需要图形环境(它确实需要,我知道它很糟糕,但确实如此),你别无选择,只能安装 X。但是,afaik,Oracle 需要 X,因为它有一个图形安装程序。之后你不需要 X。所以安装后,你可以删除X。

    在我的商店里,我们只安装了一组非常少的 X 库,顺便说一句。通过 X 转发远程运行 xclock(以及安装程序)就足够了。够了。

    Oracle 有更多疯狂的依赖。Oracle 安装程序需要一些古老的 C 库兼容包。不是因为它实际上需要它们,而是因为它们发布的 zip 实现需要它们。他们为什么要发布那个 zip 实现?有传言说,Oracle 发布的非常旧的 zip 实现具有更优惠的许可条款(例如:它不是 GPL 的),因此他们拒绝使用更新的实现。只是谣言,从未听说过确认...

    • 9
  2. Jason Tan
    2009-06-21T00:38:33+08:002009-06-21T00:38:33+08:00

    KIckstart 很好。如果您想确保未安装某些软件包,您可以将它们列在要安装的软件包/组列表中,前面加上减号 ('-')。

    例如

    %packages
    @base
    core-utils
    -httpd

    确保没有安装 apache

    然后在 %post 部分中,您可以运行命令,例如chkconfig关闭您不需要的服务 - 并执行您想做的任何其他操作来加强安装。

    • 7
  3. Fleole
    2009-06-21T06:09:45+08:002009-06-21T06:09:45+08:00

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

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

    您需要将问题分为两部分:

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

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

    但是当它完成后,您可以自动化您的安装,并对所有系统进行最少的维护。

    • 3
  4. Eduard - Gabriel Munteanu
    2009-06-21T01:25:55+08:002009-06-21T01:25:55+08:00

    您可以安装一次,进行备份并在其他系统上使用它。要首先使用最小的系统,您可以:

    • 进行正常的“最小”安装,然后删除不需要的软件包;或者
    • 要求安装程序让您选择单独的软件包。

    我想说后者更容易完成。执行此操作可能需要一段时间,但这并不重要,因为您只会执行一次。

    如果农场有同质的虚拟“硬件”,那就更好了。如果没有,您通常需要注意的是充分利用磁盘空间。只需使“主”副本在大小方面符合最小分母,请参见下文。

    最后一部分在某些条件下相对容易实现。如果(虚拟)磁盘的末尾有一个最大的分区,则在“fdisk”中将其删除并重新创建以填满磁盘。然后你运行 resize2fs 就完成了。另一个想法可能是使用 LVM,它允许使用“lvextend”更轻松地扩大卷。(在 LVM 中很容易编写脚本/自动执行此操作。)

    • 2
  5. Aaron Copley
    2011-03-13T07:03:26+08:002011-03-13T07:03:26+08:00

    我正在回答另一个旧问题,因为我昨天花了一段时间。我希望 Red Hat 为专用服务器安装最少数量的软件包。

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

    这安装的软件包和服务比我在某些系统上维护的要多得多。

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

    • 1

相关问题

  • 使用 YUM 将属于已安装 RPM 的文件替换为不同的 RPM

  • 为产品测试备份系统状态的最佳方式?

  • 红帽卫星与 Ubuntu 格局

  • CentOS 的百胜安全?

  • 为什么 redhat 在企业界似乎如此受欢迎?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve