如何编写标准Linux版本的脚本?

时间:2008-11-11 13:57:03

标签: linux

我将再次重建我的Linux机箱。我必须创建一些用户组,用户帐户并安装我的标准包。到目前为止,我刚刚使用了GUI工具。我想知道在我最近安装最新的Fedora版本后,是否有人建议编写脚本来创建用户,组和安装标准软件包?有时我运行Ubuntu所以我希望脚本有些通用。

8 个答案:

答案 0 :(得分:2)

对于.deb发行版,请使用FAI。对于.rpm发行版,请使用Kickstart。对于安装后的系统管理,请使用cfengine

答案 1 :(得分:1)

Fedora和Ubuntu使用完全不同的包管理器,因此您无法以任何通用方式轻松地执行此操作。

在CentOS(RedHat企业版的序列号被归档,因此非常接近Fedora),我们做了using Kickstart files。这些文件具有简单的语法,使您能够指定要安装的用户,组和包,甚至可以编写一些自定义内容。

答案 2 :(得分:1)

虽然我还没有这样做,但我遇到了类似的问题。我正在考虑一个虚拟化主机和多个客户端操作系统(Ubuntu和CentOS是前两个候选者) - 这样一旦我按照我的意愿配置了客户端,我就可以根据需要将其保存下来以重新加载。

不解决原始安装问题,但确实限制了“重建我的Linux机箱[还]”问题。

您可能需要考虑它。

答案 3 :(得分:1)

可能有点矫枉过正,但您可以查看Puppet

从他们的网站:

  

Puppet是一个自动化系统   系统管理任务。

我刚刚开始寻找自动化系统管理的方法,所以我对它没有多少经验。

答案 4 :(得分:1)

如果您只需创建用户和组并安装软件包,那么我建议您只编写两个单独的脚本。

可能您可以共享用户和组部分,但仅当您使用的所有发行版具有相同的创建策略时(例如,Ubuntu为每个用户创建一个组,而我确信某些发行版具有“用户”) “小组也是如此。”

您可以查看应该随处可用的useradd和groupadd命令。对于Ubuntu,还有更友好的adduser和addgroup,如果Fedora有一组类似的命令,我也不会感到惊讶。

在设置组之后,您只需要向软件包管理器提供您需要安装的大量软件包列表。尝试安装已安装的软件包应该是安全的,因此您可以在“干净”的新安装上安装所需的软件包,然后转储软件包列表。

总而言之:如果您不打算支持两个以上的发行版,那么我建议您分别编写这两个脚本。

答案 5 :(得分:0)

帮助不断重建盒子的另一个选择是Norton Ghost,使用ghost可以制作图像,然后根据需要重新映像驱动器。您可以安装它并根据自己的喜好进行配置,然后拍摄图像。

答案 6 :(得分:0)

要使脚本具有通用性会很困难,但您可以使用任何类型的脚本工具(bash或ruby或其他)并尝试检查正在运行的发行版,然后运行相应的命令来安装软件。有多种方法可以检查发行版正在运行here

在所有发行版上创建组应该是相同的,你甚至可以放入已经配置的/ etc / passwd和/ etc / groups(虽然我没有尝试过,但它可能不起作用)。

答案 7 :(得分:0)

上面的回答,关于使用不同方法的不同发行版是死的。这就像试图为雪佛兰和福特使用相同的部件(对于你而言,这就是汽车类比)。

我发现最简单的方法是学习如何为不同的挂载点设置分区,即/; / home; / var; / opt是最重要的。

这使您可以在重建期间保留用户,群组和许多应用。更改发行版会破坏很多内容,但您的用户帐户仍应存在。