首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  程序员

对于经常装 Linux 系统,有什么工具或方法能快速初始化环境么

  •  
  •   smdbh · 331 天前 · 5436 次点击
    这是一个创建于 331 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 个人使用,没有批量需求
    2. 初始化 ,比如 ip 配置,apt 源,常用软件安装。smb 配置 zsh 等, 基本概括为修改配置文件和安装软件。
    3. 一键完成。

    当前手写 bash 脚本完成这个,但感觉不系统化。不知道有没有工具类完成这个工作。

    第 1 条附言  ·  331 天前
    学习了大家的建议
    1. 单机部分,最方便的还是虚拟机大法,快照功能无敌。
    2. 对于云环境,或是其他物理机器,bash dotfiles 更适合我。(虚拟机文件或是 docker 都还是臃肿,不好操作,但是稳定性性好,不会因为网络原因造成意外冲突)
    54 回复  |  直到 2019-01-21 17:17:35 +08:00
        1
    richzhu   331 天前 via iPhone
    Ansible Task
        2
    ly4572615   331 天前
    ansible 或者 salt 也是要写 yaml 的,亲
        3
    iRiven   331 天前 via Android
    dd
        4
    CallMeReznov   331 天前
    KS 无论批量和个人 都原生支持 KS
        5
    greenskinmonster   331 天前
    把默认系统和预装软件装好,tar 打包个模板出来,然后写个 bash,初始化设置下 ip,hostname,bootloader 啥的就好了。
        6
    fox0001   331 天前 via Android
    把相关配置文件备份,装完系统还原过去。
        7
    rocksolid   331 天前
    虚拟机,建好放一个原始版本,用只用复制的
        8
    lihongjie0209   331 天前
    ansible
        9
    openbsd   331 天前
    同机器还是不同的机器 ?同机器的话,快照 ?
        10
    reus   331 天前
    bash 怎么就不够系统化了?
        11
    Tonni   331 天前
    Ansible...
        12
    zjsxwc   331 天前   ♥ 1
    换硬盘
        13
    0w0b   331 天前
    nixos
        14
    zoum   331 天前 via iPhone   ♥ 1
    GitHub 上有许多 dotfiles 可以参考下
        15
    DovaKeen   331 天前
    不装系统了,都弄到 docker 里
        16
    quinoa42   331 天前
    bash 怎么不系统化了,代码是自己写的,而且一般来讲无论什么发行版都会自带 bash
    我之前用的 dotbot,但考虑到不是所有发行版都自带 python,最后还是手写了自己的 bash script
        17
    hoyixi   331 天前
    不想写代码的话:

    虚拟机做好环境,然后作为一个备份镜像, 以后用的时候,用它 clone 一个;

    vagrant,本质一样,自己做个做好环境的 box,用的时候,装一份。


    个人感觉虚拟机简单粗暴。配上上面说的别人写好的脚本或者工具,可以方便定制。

    比如刚装好系统,做个最基础的备份镜像,

    然后克隆一份,比如 Nodejs,用专门配置脚本弄好环境,此时再保存镜像,就是一个初始的 Nodejs 环境。

    同理看工作需求,Python,数据库之类都可以搞个,甚至按照数据库版本都可以多弄几个(比如做为测试环境)。

    这样,麻烦的工作做一次,以后就可以少做点。
        18
    TotoroSora   331 天前
    这个问题思考了好久没想到什么好方法。。想到过的有直接自制 LiveCD,另一个方法是直接 tar 系统盘
        19
    wenzhoou   331 天前 via Android
    bash +1
    写完记得放 GitHub 上共享一下啊。😁😁
        20
    catalina   331 天前 via Android
    。。。lvm 不是自带快照功能吗?
        21
    dajj   331 天前
    Clonezilla 再生龍 镜像备份
        22
    itabas016   331 天前 via Android
    我现在是 clonezilla 镜像盘 然后是一键 shell 改 IP Host 及个性化设置
        23
    visitantzj   331 天前
    关注一下,像 rsync 这样直接把绝大部分文件备份可行么,到时候就干净系统再覆盖一下
        24
    itskingname   331 天前 via iPhone
    为什么不用 Docker 呢
        25
    F1024   331 天前
    写个自动安装脚本
        26
    iorilu   331 天前 via iPhone
    用 docker 不就行,把初始环境装好做成 image,以后直接用啊,顺便还可以做版本控制随时切换任意版本
        27
    xpresslink   331 天前
    经常装 Linux 系统,这话说得很笼统。
    云环境,物理机,虚拟机里面,装 1 个,装 10 个还是 50 个,这个差别很大。
    使用的策略和方法也非常不同。
        28
    STRRL   331 天前 via Android
    刚好看到这么一个工具 叫 azk 貌似刚刚起步
        29
    kernel   331 天前 via Android
    我就是一个几百行的脚本,因为经常要装 vps,一键全搞定
        30
    yylucifer   331 天前
    似乎楼主只想要一个 repo 或者一套脚本
    而不是实施方案。。。例如 ansible 啥的我觉得楼主是知道的。。
        31
    guoqiao   331 天前
    我很早就有跟楼主一样的需求,bash 脚本,python 脚本,dotfiles 什么的都试过。最后发现这个事情没法一劳永逸的,而且会不断演化,比如集成新的工具,支持新的环境。所以最后一定会代码化。我最后的选择是 Ansible。
        32
    aaa5838769   331 天前
    docker ansible
        33
    playnoa   331 天前 via Android
    hyper-v,快照树,恢复任何版本只需 3-5 秒
        34
    weck   331 天前
    如果 lab 有 snapshot 功能可以试试创建 snapshot,然后初始化只需要 revert to snapshot,当然也可以使用 docker
        35
    sundev   331 天前 via iPhone
    我感觉像树莓派镜像那样挺好的,直接恢复,然后第一次启动时候对系统进行初始化
        36
    lfzyx   331 天前
    PXE
        37
    lozzow   331 天前 via iPhone
    再生龙
        38
    luozic   331 天前
    docker 搞定
        39
    Gempty   331 天前
    直接做镜像不就好了。。。。
        40
    neverwin   331 天前
    最喜欢手动装系统了)逃
        41
    toyland   331 天前
    很多 Linux 发行版都支持无人值守安装,比如 Debian/Ubuntu 在安装时可以读取事先准备好的配置 preseed.cfg 、CentOS 也有类似的 ks.cfg ,其中可以更改系统默认配置或者添加额外要安装的软件包。
        42
    gulu   331 天前 via Android
    每次安装 /编译重要软件的时候都会写成 bash 脚本,把必要的配置文件也备份,然后推到 github
        43
    honglongmen   331 天前
    这种一般都是先装好个基本完整的主机, 然后快照恢复或者复制镜像.不过 31 楼说的对,迟早要更新各种环境,细微变化.

    觉得还是 docker 好点和方便点, 配上 shell 脚本应该可以了吧.
        44
    hei1000   331 天前
    我个人电脑一般都是 dotfiles 以及各种放到 github 备份,其他本地文件什么的放到硬盘,如果是公司那种一个做好的系统要安装到多个服务器上面,貌似直接做镜像的
        45
    zhouyut001   331 天前
    目前想到的也只有系统相同的情况下,备份主要的配置文件,到时候只需要 yum/ apt 装一次,把所有文件覆盖进去,重启完事儿。
        46
    zhouyut001   331 天前
    借贴求 Linux 整盘(一个硬盘都是系统目录)备份成镜像的方法,像 ghost 一样直接恢复。。。。
        47
    hxroyal   331 天前
    docker 最方便
        48
    lekai63   331 天前 via iPhone
    bash 脚本完成简单任务:新建用户,改端口,放公钥,装 docker。
    剩下的就是 docker 的事了。
        49
    stebest   331 天前
    直接把环境封装成系统镜像啊
        50
    hanxiV2EX   330 天前 via Android
    dotfiles 写个一键安装脚本,可以参考我的。
    https://github.com/hanxi/dotfiles
        51
    wanwaneryide   330 天前
    配置好环境,然后自己做成一个系统的镜像就行了
        52
    Rheinmetal   330 天前
    @zhouyut001 可以试试 wimlib-imagex 虽然是给 windows 镜像写的 不过可以跨平台
        53
    fangzheng   330 天前
    用 virtualbox,先装个 mini 版的 CentOS1.vdi ,然后使用 virtualbox 的复制功能即可。
        54
    loser   327 天前
    我以前喜欢用 shell 脚本,crt 连上后下载写好脚本全部自动配置
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1179 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 18:14 · PVG 02:14 · LAX 10:14 · JFK 13:14
    ♥ Do have faith in what you're doing.