五千年(敝帚自珍)

主题:关于Linux的推广——普通用户篇 -- 万斤

共:💬381 🌺357
全看分页树展 · 主题 跟帖
家园 继续回答你的问题。

“早就有了,叫MSI。这东西的历史很可能比apt/rpm还要长。”

--------

MSI我看了一眼,严格来说它对应的不是apt,而是dpkg的部分功能(这个历史就悠久了:),因为它既不管理软件包之间的依赖性问题,也几乎不管理包的数据源头的问题。所以apt的功能它几乎没有。举个例子:只需要apt-get update; apt-get upgrade;一个命令,就可以把整个Debian系的系统(包括里面所有的应用程序比如openoffice 统统升级)。而比较我在windows 2000下面如果新装一次系统,刨开那些非官方的包不谈,除了service pack 4(好像是这个版本),以及几十个乱七八糟的升级,比如directx和windows media。至少要被建议重新启动三次。

Debian的dpkg/apt(包括以前的dselect)系统是可以整体对系统升级的,比如Debian 2.0升级到3。0,我可以一步一步地升级系统。有些部分我可以升级(比如用户界面),有些我可以暂时不升级(比如某个服务器程序)。而windows据我所知就不能从windows 2000采用这样的方式升级到windows xp。

还有就是active directory的功能问题,首先非常感谢你让我知道active directory这方面强大的功能。我以后如果遇到类似情况就知道如何处理了。其次我要指出,我给出的这个例子在Linux下面思路非常简单,只需要dpkg/apt等基本工具。根本不需要任何服务器端程序的参与,也不要求两台机器在一个域内。基本思路是,dpkg 输出一个本地计算机上所有文件的列表,然后把这个文本列表通过各种方式,比如电子邮件,送给另外一台机器上。运行apt直接读入这个列表,apt就自动下载所有的包装上。如果你只是想确保每台机器只装几个你确定的文件,你自己写这个文件列表就可以了。如果你想AD那样集中把程序在一个地方,甚至可以自己起一个软件仓库,让apt直接定向这个仓库就可以了,这样每台机器都可以自动动态升级。这些都是一些特别基本的功能。

比如知道我当前的机器装的软件包(我顺手写的,可能不很准确,用的时候别忘了先测试一下!!!):

dpkg --get-selections > package.txt

把这个包拷贝到远程计算机,比如叫做 computer2

scp package.txt computer2:/home/user/

设置

dpkg --set-selections < package.txt

克隆:

apt-get dselect-upgrade

比如你上次提出的,让一堆计算机确保安装某个程序,最简单的方法是,把这些机器的名字/IP放在一个文本文件里面比如叫做classroom1.txt,(用DNS也行,好像BIND有这个选项)。一个计算机一行:

cat classroom1.txt | sed 's,.*,ssh admin@& sudo apt-get --quite --reinstall install package,' | sh

我这些都是最简单的方法,如果你想严肃一点,或者希望有更好的拓展性的话,你可以用点第三方软件,比如clusterssh什么的:)

最后,win开机过程我就不多说了:)

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河