一起管理多个 Ubuntu 安装并使它们保持相同状态的选项有哪些

Ara*_*iri 11 multiple-workstations package-management landscape

最近我负责管理大学里的 2 个计算机实验室(目前有 35 个工作站,可能在一两个月内翻一番),只要我安装一堆常用的科学软件(Mathematica 和朋友),就可以完全控制软件堆栈。

由于各种原因,我打算使用 Ubuntu。

手动安装 Ubuntu 和管理更新等当然是一种选择,但我想知道是否有更有效的方法来做这些事情,以及更“不要重复自己”的方式?

任务

  • Ubuntu安装
  • 在每个工作站上安装(复制)相同的软件堆栈和配置
  • 保持更新

csa*_*uve 6

我相信你正在寻找的是Landscape

像管理一台机器一样轻松管理多台 Ubuntu 机器并降低您的管理和管理成本。

编辑:对于免费替代方案,这可能会有所帮助:是否有任何开源替代方案可以替代 Landscape?


fab*_*or4 5

为了以最小化互联网带宽使用并防止从镜像重复下载的方式保持系统更新,请查看apt-cache-server

此外,大学可能会考虑建立自己的官方(或非官方)Ubuntu Mirror

设置 apt-cache-server 和一台机器后,您可以使用一些脚本或命令在多台计算机上复制软件套件的安装:


要创建包含系统上所有已安装应用程序的文件:

在工作系统上:

dpkg --get-selections | grep -v deinstall > ubuntu-files
Run Code Online (Sandbox Code Playgroud)

然后安装此文件中列出的软件包:

### Make sure the system is fully updated
sudo apt-get update && sudo apt-get upgrade
### Install the dselect tool (probably depracated)
sudo apt-get install dselect
### Give the package list to dpkg so it knows what to install
sudo dpkg --set-selections < ubuntu-files
### Use dselect to initiate installation (option 'I' will do it)
sudo dselect
Run Code Online (Sandbox Code Playgroud)

注意:可能有更好的方法来做到这一点,例如直接调用 dpkg 而不是安装和使用 dselect。

注意:虽然列出了所有软件包,但只有系统上不存在的软件包才会被 dpkg 安装

注意:不推荐跨版本安装 - 可能会安装过时的软件包(Open Office)和不需要的主题和依赖项(例如,使用 Unity 从 10.04 升级到 11.04


对于安装,有多种方法可以根据您的要求进行安装。这里有几个:

  1. 使用您想要的配置和应用程序重新掌握(重新设计)您自己的 Ubuntu 版本。
  2. 使用完全安装的系统构建一个主硬盘驱动器,并在每台机器上进行一点复制。
  3. 只做基本安装的一点副本,然后使用上面的说明安装带有 dpkg --set-selections 的软件包

我相信您真正的挑战将是网络管理——管理用户、存储和其他资源,因此一些可以帮助您完成这些任务的好工具将非常重要。