我在制作.img文件时遇到问题,我可以将其在USB中引导。
我的文件夹由许多RPM文件组成,包括linux发行版和一些bash脚本文件等。bash脚本安装linux服务器和除设置MySQL和PHP之外的其他两个软件。我想从这个文件夹中创建.img文件,所以当我只是让.img文件可以从USB启动时,它应该会自动安装计算机中的所有内容。
我的问题是我不知道如何制作这样的.img文件。我应该使用什么特定的bash命令吗?你能帮我做这个吗?一些线索和文件,阅读和理解过程或任何软件使用,真的很完美。我真的很感激你的帮助。非常感谢。
答案是:
不要这样做。
至少不是以你求婚的方式。
您正在指定问题的解决方案,而没有真正定义需求。有多少标准包?你增加了多少/有多大?门控项目是什么(例如,需要web服务器,需要sshd)?你只需要几个标准包装还是几百个?
Linux发行版,如Redhat、CentOS、Fedora、Canonical/Ubuntu、Debian,花费了相当多的工时才能做到这一点。
所以,你需要知道你使用的是什么发行版。提到rpms,您可能使用的是Redhat、CentOS或Fedora。他们有制作"现场"CD(和/或U盘)和"完全安装"DVD的程序。但是,这可能是一项大的工作,尤其是当你试图移植他们不知道的额外文件时。
我强烈建议你为你的发行版使用一个标准的安装程序[它已经被严重地QA了]。然后,在安装和重新启动后,从单独的介质中提取您的附加软件包,或从您控制的服务器下载。你的东西的安装介质可以只由一个bash脚本组成,该脚本创建/etc/yum.repos.d/mystuff.repo
并启动yum install mystuff
此外,如果你要做一个插件和引导安装程序,你想让它在不询问的情况下擦除/重新分区主硬盘吗(例如,全自动)?或者,你想让它像标准安装程序那样显示现有的分区等吗?
回到需求,为什么需要一个一次性安装程序?
你打算在多少个系统上安装这个?5、10、100、1000?它们都在服务器场中吗?使用PXE引导和从中央服务器引导/安装可能会更好。
例如,谷歌拥有数十万台服务器[或更多]他们需要这个。但是,他们也有完整的开发团队致力于他们使用的内部方法。
对于给定的服务器,您需要多长时间执行一次此操作?初次安装后,您的更新计划/方法是什么(例如,百胜等)?
通过使用标准安装,不负责整个系统的QA[标准系统+您的自定义内容],只负责您的自定义对象。
例如,Fedora不鼓励任何"完全安装"。他们现在更喜欢"实时启动"和从互联网安装的方式。
其中一个原因是创建了完整的安装磁盘(需要大量的QA)。但是,它是静态的。如果软件包有更新,则完全安装将安装未修补的旧版本。
我曾经使用过它,然后在重新启动后进行了百胜更新。完整安装磁盘在发布后的一两周内安装了一些过时/不兼容的东西。他们与更新发生冲突,事情变得支离破碎。我不得不手动干预。这种情况在实时启动安装中发生的可能性要小得多,该安装将下载最新的[可能也是最修复错误的]软件包。
在fedoraproject.org网站上,你可以找到关于制作现场CD和/或USB的文档。他们甚至可以向您展示如何添加一些自定义文件。其他发行版网站也会有类似的文档。
顺便说一句,我从1981年开始做操作系统安装工具包,所以以上所有内容都来自于经验。我从零开始创建了它们,并从发行版中破解了它们。
能做到吗?当然你真的想做还是应该你想做?嗯,也许吧。只要知道你在维护方面要做什么。