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

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

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

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

任务

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

我相信你所寻找的是风景 。

轻松管理多台Ubuntu计算机,降低管理和管理成本。

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

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

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

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


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

在工作系统上:

dpkg --get-selections | grep -v deinstall > ubuntu-files 

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

 ### 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 

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

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

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


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

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

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

每桌面105美元(canonical.com/enterprise-services/ubuntu-advantage/desktop)与雇用10人全职管理35个工作站的价格相同。 (Protio:我生活在一个不那么富裕的国家)

这看起来有点夸张(http://en.wikipedia.org/wiki/List_of_countries_by_GDP_(PPP)_per_capita ;-),但对于您的观点,每个座位105美元是1台式机的起始价格。 批量折扣适用,如果您在大学或新兴市场(似乎都适用),那么也有不同的价格表。

像啤酒一样免费可能仍然是你的方式,但想确保你有完整的图片。 希望这可以帮助。

这是我建议的 –

  1. 使用您想要的所有应用程序创建自定义的Ubuntu安装,并删除您不想要的应用程序。
  2. 在所有联网计算机上启用PXE引导,并使所有计算机从您构建的自定义ISO引导,并在所有计算机上安装自定义Ubuntu OS。
  3. 保持机器更新 – 2个选项:
    1. apt-cache服务器(我发现这个非常有用 – Ubuntu Update Manager |技术资料 )
    2. 安装OCS清单 – 如果您对要推出的更新感到挑剔,可以在一个桌面上下载更新,检查它们是否运行良好,没有任何冲突,然后使用OCS清单,您可以推送这些.deb软件包到网络上的所有Ubuntu机器。 通过这种方式,您将完全确定每台机器上的软件包的版本。

第二个选项是一些额外的活动,但如果你想要绝对确定你正在推动哪些更新/升级,那么值得付出努力。

如果您决定在网络上引入一些Ubuntu服务器 – 例如代理,LDAP,Samba,Jabber,WordPress,Moodle等。第二个选项将非常有用,因为在管理服务器时,您想要确切知道哪些版本的正在安装更新/升级的软件包。

由于个人经验,我推荐选项2 – 我的一个托管点网应用程序在Firefox v24中运行良好,但是它遇到了更高版本的Firefox。 这是非常烦人的,我们不得不提出在应用程序中进行更改的请求,因为新版本的Firefox已经达到150多个桌面。 课程学到了很多困难。