我有制作.img文件的问题,我可以在USB中启动它。
我的文件夹由许多RPM文件组成,包括linux distrobution和一些bash脚本文件等.bash脚本安装Linux服务器和另外两个软件除了设置MySQL和PHP。我想从这个文件夹中创建.img文件,所以当我只是将.img文件启动从USB启动时,它应该自动安装在计算机中的所有内容。
我的问题是我不知道如何制作这样的.img文件。我应该使用任何特定的bash命令吗?你能帮帮我吗?阅读和理解过程或任何软件使用的一些线索和文档非常完美。我非常感谢你的帮助。 谢谢。
答案 0 :(得分:2)
答案是:
不要这样做。
至少不是你提议的方式。
您正在指定问题的解决方案,而没有真正定义要求。有多少标准包?你添加了多少/多大?什么是 gating 项目(例如需要Web服务器,需要sshd)?你需要几个标准包还是几百个呢?
Linux发行版,如Redhat,CentOS,Fedora,Canonical / Ubuntu,Debian,花费大量工时来实现这一目标。
所以,你需要知道你正在使用什么发行版。通过提及rpms,你可能正在使用Redhat,CentOS或Fedora。他们有创建“实时”CD(和/或USB记忆棒)和“完整安装”DVD的程序。但是,这可能是一个大工作,特别是如果你试图嫁接他们不知道的额外文件。
我强烈建议您为发行版使用标准安装程序[已经过大量QA'ed]。然后,在安装和重新引导后,从单独的介质中提取您的其他软件包,或从您控制的服务器下载。您的资料的安装媒体可能只包含一个创建/etc/yum.repos.d/mystuff.repo
并启动yum install mystuff
另外,如果你要做一个插件和启动安装程序,你是否希望它只是擦除/重新分区主硬盘驱动器而不询问(例如全自动)?或者,您是否希望它像标准安装程序一样显示现有分区等?
回到要求,为什么需要拥有一次性安装程序?
您要安装多少个系统? 5,10,100,1000?它们都在服务器场吗?使用PXE引导和从中央服务器启动/安装可能会更好。
例如,Google拥有数十万台服务器[或更多]。 他们需要这个。但是,他们也有整个团队的开发人员致力于他们使用的内部方法。
对于给定的服务器,您多久需要执行此操作?初始安装后,您的更新计划/方法是什么(例如yum等)?
通过使用标准安装,您不负责整个系统[标准系统+您的自定义内容]的质量保证,只有您的自定义内容。
例如,Fedora 不鼓励任何“完全安装”。他们现在更喜欢“实时启动”并从Internet方法安装。
其中一个原因是创建了完整的安装磁盘[有很多QA]。但是,这是静态的。如果程序包有更新,则完整安装将安装旧的未修补版本。
我有过使用它的情况,然后在重启后更新了yum。完整安装磁盘安装了一些在发布后一周或两周内变得过时/不兼容的东西。他们与更新发生冲突,事情变得破碎。我不得不手动干预。使用实时启动安装时,这种情况发生的可能性要小得多,因为它会下载最新[并且可能是大多数bug修复]的软件包。
在fedoraproject.org网站上,您可以找到有关创建Live CD和/或USB的文档。他们甚至可以向您展示如何添加一些自定义文件。其他发行版网站也会有类似的文档。
顺便说一下,自1981年以来,我一直在做OS安装工具包,因此以上所有都来自经验。我从零开始创建它们并从发行版中删除它们。可以吗?当然。你真的想要这样做吗? 你想要这样做吗?也许。请注意您在维护方面所采取的措施。