创建可引导的 .img 文件
Creating a bootable .img file
我在制作 .img 文件时遇到问题,我可以让它在 USB 中启动。
我的文件夹包含许多 RPM 文件,包括 linux 发行版和一些 bash 脚本文件等。bash 脚本安装 Linux 服务器和其他两个软件除了设置 MySQL 和 PHP。我想从此文件夹制作 .img 文件,所以当我只是让 .img 文件可启动以从 USB 启动时,它应该会自动在计算机中安装所有内容。
我的问题是我不知道如何制作这样的.img 文件。我应该使用任何特定的 bash 命令吗?你能帮我做这个吗?阅读和理解流程或使用任何软件的一些线索和文档非常完美。非常感谢你的帮助。
谢谢。
答案是:
不要这样做。
至少不是你提议的那样。
您没有真正定义您的 需求 就指定了问题的解决方案。有多少个 标准 包? many/how 您的添加量有多大? gating 项目是什么(例如,需要网络服务器,需要 sshd)?您需要几个标准包还是几百个?
Linux 发行版,例如 Redhat、CentOS、Fedora、Canonical/Ubuntu、Debian,花费 相当多 的工时来获得这个对。
所以,您需要知道您使用的是什么发行版。提到 rpms,您可能正在使用 Redhat、CentOS 或 Fedora。他们有创建 "live" CD(and/or USB 记忆棒)和 "full install" DVD 的程序。但是,这可能是一项 大 工作,尤其是当您试图移植他们不知道的额外文件时。
我强烈建议您为您的发行版使用标准安装程序 [已经过大量 QA'ed]。然后,在安装并重新启动后,从单独的媒体中提取 您的 其他软件包或从您控制的服务器下载。您的东西的安装媒体可能只包含一个 bash 脚本,该脚本创建 /etc/yum.repos.d/mystuff.repo
并启动 yum install mystuff
此外,如果您要执行即插即用安装程序,您是否希望只 erase/repartition 主硬盘而不询问(例如全自动)?或者,您是否希望它像标准安装程序一样显示现有分区等?
回到要求,为什么您需要 一次性安装程序?
你打算在多少个系统上安装这个? 5、10、100、1000?他们都在服务器场吗?使用 PXE 引导和来自中央服务器的 boot/install 可能会更好。
例如,Google有数十万台[或更多]服务器。 他们需要这个。但是,他们也有整个开发团队致力于他们使用的内部方法。
对于给定的服务器,您需要多久执行一次此操作?初始安装后,您的 plan/method 更新(例如 yum 等)是什么?
通过使用标准安装,您不负责整个系统的质量检查[标准系统 + 您的自定义内容] ,只有您的自定义内容。
例如,Fedora 不鼓励 任何"full install"。他们现在更喜欢 "live boot" 并从 Internet 安装方法。
其中一个原因是创建了完整的安装盘 [有很多 QA]。但是,它是静态的。如果软件包有更新,完整安装将安装未打补丁的旧版本。
我有过这样的情况,我用过它,然后在重启后做了 yum update。完整安装盘安装了一些东西,发布后一两周内就变成了obsolete/incompatible。他们与更新发生冲突,事情就坏了。我不得不手动干预。这不太可能发生在实时启动安装中,它将下载最新的 [并且可能是大多数错误修复] 包。
在 fedoraproject.org 站点上,您可以找到有关创建实时 CD and/or USB 的文档。他们甚至可以向您展示如何添加一些自定义文件。其他发行版站点将有类似的文档。
顺便说一句,我从 1981 年就开始 OS 安装套件,所以以上所有内容都来自经验。我从头开始创建它们,并从发行版中破解了它们。
可以吗?当然。你真的想做还是应该想做?也许会。请注意您在维护方面所做的工作。
我在制作 .img 文件时遇到问题,我可以让它在 USB 中启动。
我的文件夹包含许多 RPM 文件,包括 linux 发行版和一些 bash 脚本文件等。bash 脚本安装 Linux 服务器和其他两个软件除了设置 MySQL 和 PHP。我想从此文件夹制作 .img 文件,所以当我只是让 .img 文件可启动以从 USB 启动时,它应该会自动在计算机中安装所有内容。
我的问题是我不知道如何制作这样的.img 文件。我应该使用任何特定的 bash 命令吗?你能帮我做这个吗?阅读和理解流程或使用任何软件的一些线索和文档非常完美。非常感谢你的帮助。 谢谢。
答案是:
不要这样做。
至少不是你提议的那样。
您没有真正定义您的 需求 就指定了问题的解决方案。有多少个 标准 包? many/how 您的添加量有多大? gating 项目是什么(例如,需要网络服务器,需要 sshd)?您需要几个标准包还是几百个?
Linux 发行版,例如 Redhat、CentOS、Fedora、Canonical/Ubuntu、Debian,花费 相当多 的工时来获得这个对。
所以,您需要知道您使用的是什么发行版。提到 rpms,您可能正在使用 Redhat、CentOS 或 Fedora。他们有创建 "live" CD(and/or USB 记忆棒)和 "full install" DVD 的程序。但是,这可能是一项 大 工作,尤其是当您试图移植他们不知道的额外文件时。
我强烈建议您为您的发行版使用标准安装程序 [已经过大量 QA'ed]。然后,在安装并重新启动后,从单独的媒体中提取 您的 其他软件包或从您控制的服务器下载。您的东西的安装媒体可能只包含一个 bash 脚本,该脚本创建 /etc/yum.repos.d/mystuff.repo
并启动 yum install mystuff
此外,如果您要执行即插即用安装程序,您是否希望只 erase/repartition 主硬盘而不询问(例如全自动)?或者,您是否希望它像标准安装程序一样显示现有分区等?
回到要求,为什么您需要 一次性安装程序?
你打算在多少个系统上安装这个? 5、10、100、1000?他们都在服务器场吗?使用 PXE 引导和来自中央服务器的 boot/install 可能会更好。
例如,Google有数十万台[或更多]服务器。 他们需要这个。但是,他们也有整个开发团队致力于他们使用的内部方法。
对于给定的服务器,您需要多久执行一次此操作?初始安装后,您的 plan/method 更新(例如 yum 等)是什么?
通过使用标准安装,您不负责整个系统的质量检查[标准系统 + 您的自定义内容] ,只有您的自定义内容。
例如,Fedora 不鼓励 任何"full install"。他们现在更喜欢 "live boot" 并从 Internet 安装方法。
其中一个原因是创建了完整的安装盘 [有很多 QA]。但是,它是静态的。如果软件包有更新,完整安装将安装未打补丁的旧版本。
我有过这样的情况,我用过它,然后在重启后做了 yum update。完整安装盘安装了一些东西,发布后一两周内就变成了obsolete/incompatible。他们与更新发生冲突,事情就坏了。我不得不手动干预。这不太可能发生在实时启动安装中,它将下载最新的 [并且可能是大多数错误修复] 包。
在 fedoraproject.org 站点上,您可以找到有关创建实时 CD and/or USB 的文档。他们甚至可以向您展示如何添加一些自定义文件。其他发行版站点将有类似的文档。
顺便说一句,我从 1981 年就开始 OS 安装套件,所以以上所有内容都来自经验。我从头开始创建它们,并从发行版中破解了它们。
可以吗?当然。你真的想做还是应该想做?也许会。请注意您在维护方面所做的工作。