我厌倦了手动配置 Ubuntu 实例来测试 Web 应用程序和设置工作站。不一致的配置所导致的问题让我更加沮丧。
有没有一种方法(希望学习和设置不会太耗时)可以自动从 ISO 设置和配置 Ubuntu 服务器或工作站。这主要用于虚拟机实例,但在硬件上创建实例也会很有帮助。
我正在寻找一种方法来自动安装库(apt-get)、配置服务(如 Apache 和 MySQL)、添加第三方软件(下载、提取和构建)以及向脚本语言添加库(例如,Ruby Gems 或 Perl 的 CPAN 包)。
答案1
我认为最常见的 Debian/Ubuntu 方法是使用以下方法进行基础安装预种.然后使用类似木偶用于安装后配置/安装。
如果您不想或无法运行完整的 puppet 安装,另一个选择是编写脚本以在安装后自定义系统,然后使用这些脚本。我将设置系统所需的一些脚本存储在我的 SVN 存储库中,可通过 https 访问。
当我想在其中一台机器上使用 SVN 中的某个脚本时,我会使用 curl 直接从 SVN 服务器运行它。
curl --silent https://svn.example.org/linuxdev/config_samples/lenny_setup/setup-aptsources | bash
该特定脚本设置了 apt。这些基本上就是该脚本的内容。
#!/bin/sh
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
etckeeper commit 'pre-commit setup-aptsources'
curl --silent "https://svn.example.org/linuxdev/config_samples/lenny/apt/sources.list" > /etc/apt/sources.list
etckeeper commit 'post-commit setup-aptsources'
apt-get update
我的脚本的真实版本包含更多错误检查,以便在出现问题时做出适当响应。我使用 etckeeper 之类的东西很重要,这样如果出现问题,您可以轻松识别更改的内容并进行恢复。
答案2
答案3
使用 debconf 查看 debian 预置文件。不要排除编写自己的脚本来定制安装的可能性。
答案4
为什么不直接写一些 bash 脚本呢?任何可以在 shell 提示符下完成的事情都可以在 shell 脚本中完成。它便于携带、易于学习(本身就是一项宝贵的技能)并且易于维护。
另外,您提到了虚拟机:如果您使用 VMWare,您可以轻松地为所需的每种风格创建一个模板。