V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
aaa5838769
V2EX  ›  Linux

如何实现自动化安装定制化系统。

  •  
  •   aaa5838769 · 2020-06-13 20:00:27 +08:00 · 3295 次点击
    这是一个创建于 1622 天前的主题,其中的信息可能已经有所发展或是发生改变。
    简述:
    首先在 Centos7.6 系统上安装一个 lamp,可以开机自启,把这个做成一个系统镜像,通过 PXE 技术可以自动的把这个镜像系统安装到 1U 或者 2U 服务器上。
    之前学了 Cobbler 技术,但是不能完全实现我想要的功能(第二个需求)。

    需求:
    1 、一个是可以定制这种 linux 系统(比如 windows 雨林木风,安装完 win7 系统之后自动安装 QQ 那些推广软件)
    2 、另一个是可以通过 PXE 技术完全的自动化安装系统。

    询问:
    不知道咱们 V2 大佬,有没有了解这种技术或者自己公司也是搞这块的,把自己公司的软件先安装到服务器上,然后打包卖给客户。
    15 条回复    2020-06-18 15:37:06 +08:00
    Tink
        1
    Tink  
       2020-06-13 21:11:24 +08:00 via iPhone
    linux 不能用脚本做吗?
    struggle001
        2
    struggle001  
       2020-06-14 00:25:23 +08:00
    cobbler+本地文件源+装完系统之后有个调用的钩子(装完系统跑脚本),跑完问题解决。
    1.cobbler 定义系统和 mac 地址
    2.装完系统,调用钩子
    3.钩子 bash 下载本地文件源,之后 yum 或者等等其他的方式安装和配置软件
    4.验证功能。


    我的 openstack 的计算节点都是这样搞的,系统重启 2 次,计算节点达到上限要求。
    aaa5838769
        3
    aaa5838769  
    OP
       2020-06-14 09:27:13 +08:00
    @Tink 首先我们公司出货比较大,我们之前用的就是脚本安装,但是每次安装完系统,再去执行脚本安装所需要服务,时间比较长。
    aaa5838769
        4
    aaa5838769  
    OP
       2020-06-14 09:33:33 +08:00
    @struggle001 感谢你的回复,你说的概念就是 cobbler 安装系统,然后通过 ansible 把安装文件和脚本去上传安装,但是因为我们公司最近出货比较大,时间比较长,主要是希望在安装系统的时候就可以把我们的服务一起安装。
    defunct9
        5
    defunct9  
       2020-06-14 11:12:48 +08:00 via iPhone
    cobbler 落伍了
    shangsharon
        6
    shangsharon  
       2020-06-14 13:55:36 +08:00 via Android
    linux 无人值守安装加软件定制不就正好吗,装完直接发货。我之前公司系统是人家打包的,给到我还要二次打包加入我们自己的软件系统,装完开机直接运行各种服务,测试流程过了关机装箱发货
    oksbsb
        7
    oksbsb  
       2020-06-15 08:46:12 +08:00
    最好抽点时间弄个定制版本
    yuedingwangji
        8
    yuedingwangji  
       2020-06-15 08:50:41 +08:00 via Android
    虚拟机的话可以克隆, 物理机也是 pxe 就好了,传递自己造好的镜像
    aaa5838769
        9
    aaa5838769  
    OP
       2020-06-15 13:04:02 +08:00
    @oksbsb 这个定制版本怎么弄?我们必须得基于 centos7.6 系统。
    aaa5838769
        10
    aaa5838769  
    OP
       2020-06-15 13:05:08 +08:00
    @shangsharon 1 、软件定制怎么实现?我们的系统必须得基于 centos7.6 系统。你们大概是用那些服务实现的?
    struggle001
        11
    struggle001  
       2020-06-15 18:33:43 +08:00
    @aaa5838769 并没有用 ansible
    shangsharon
        12
    shangsharon  
       2020-06-16 09:53:49 +08:00
    @aaa5838769 主要方向是自己封装系统 iso 镜像,封装的时候向镜像里加入自己软件服务需要的软件包,再定制 anaconda-ks.cfg 自动安装的响应文件,这个文件可以在常规的系统安装完成之后在 root 目录下找到,里面记录了系统安装过程的所有命令,自己改造一下就可以实现软件定制需求,比如设置网络,账户密码信息,磁盘分区,软件包安装,服务自启动等等,设置安装前,安装后脚本甚至能添加软件包之外的自定义文件到系统中,应该能满足你的需求
    参考网址 1. https://fedoraproject.org/wiki/Anaconda/Kickstart/zh-cn 2.https://www.cnblogs.com/panyouming/p/8401038.html
    shangsharon
        13
    shangsharon  
       2020-06-16 09:56:13 +08:00
    @shangsharon 封装好的镜像写到 U 盘,或者解压到服务器上,可以给其他机器 U 盘或网络安装,安装完成之后机器启动就能立即提供服务投入使用,无需再登录服务器操作,当然要前面说的安装脚本写的好.
    aaa5838769
        14
    aaa5838769  
    OP
       2020-06-16 20:27:04 +08:00
    @shangsharon 非常感谢,我按照你的思路进行研究一下吧
    terrancesiu
        15
    terrancesiu  
       2020-06-18 15:37:06 +08:00
    我觉得,封装好的镜像 raw 文件,直接 dd 到磁盘上是最快的,之前的 coreos,目前的 fedora coreos 安装到物理机都这种搞法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1800 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:29 · PVG 00:29 · LAX 08:29 · JFK 11:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.