五千年(敝帚自珍)

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

共:💬381 🌺357
分页树展主题 · 全看首页 上页
/ 26
下页 末页
                • 家园 我可以给出大概的时间

                  非常理解管理员通常很忙,其实linux下面系统管理也是非常消耗时间的。我自己有一些简单的经验:

                  OpenLDAP/SAMBA/SSL/ssh:至少一两个星期,其中LDAP一个多星期,SAMBA需要三天左右。以后倒是维护量比较少。

                  软件库,软件维护,安装:开发时间,一个星期左右,以后基本上不用管。

                  安全策略:复杂部署至少需要7-8天到三个星期。

                  用户和文件管理:取决有多复杂,简单的1-2天。

                  DNS/DHCP:简单的1-2天就能搞定。

                  路由分配,邮件,apache/ftp,数据库服务,等等这些就不好说了,和复杂度有关。

            • 家园 我使用的Win2K运行时间

              对于以上你们讨论的问题我不能全部明白,不过我可以提供我自己的办公计算机截图来说明一下有些时候Windows还是可以坚持很久的。

              这是我在单位使用的Win2K的运行时间截图:

              点看全图

              系统是2004年装的Win2k,主要用于办公(Office2003)、浏览网页(firefox+NoScript+AdblockPlus)、看书(PDF)、网银、不玩游戏,有SP4补丁,防护使用诺顿企业版和安全卫士360,服务做了一些修改,就我而言小心使用还是蛮稳定的。

              (另外,看了楼主的文章,只有钦佩,并觉得有必要尝试一下Linux。:)

            • 家园 继续探讨你提出来的问题

              1.

              我不清楚Debian系统去年一年的patch的数量,没法评论。我管理的Windows servers我确实是基本上每个月有没有patch都要重启一遍,成习惯了,

              Debian下面的不稳定版几乎每天都有几十个软件有更新版本。但是一般来说,大部分升级你可以长期不用理会。除非有相关的安全漏洞被发现了,或者你需要新的功能。这个Debian网站上有定期的通知。如果关键的问题,比如最近发现的以前的Linux内核root漏洞,Debian的内核包会自动打上补丁。

              一般来说,Linux如果升级内核,确实需要重新启动。但是但是,如果你正在运行关键任务的服务器,那么最近的Linux好像有能力在不重启的情况下更换新内核。Linux甚至支持服务器上的热交换CPU,硬盘,内存。。。但是这已经超出大多数普通用户,甚至是企业用户需要考虑的范围了。

              2.

              “木马的目的在于获利。只要它能运行上10秒钟,扫描用户的邮件,通讯录,文件(特别是open format的文件:)),找到有价值的信息,再传送到外面去,目的就达到了。不需要改动系统文件,也不需要常驻。”

              这个就是用户的问题,一般来说你也没有办法阻止通过在 用户端运行程序在防火墙上打个洞:)但是,我想通过虚拟机系统,你总是可以教育用户玩的时候用另外一个肉鸡系统来代替。我的经验,用户由于是第一受害者,他们通常对此比管理员还敏感。只要被破坏一两次,下次就知道了。所以我通常都不管他们,只要别破坏整个系统就可以了:)

              “我不清楚Linux下如何达到以下的目的:

              - 我想强制在每台客户机上安装某一固定版本的软件,如果被用户移除则自动重装,Linux下怎么确保?

              - 我想保证有root权限的用户也不能把管理员用来集中管理账户删除,并更改防火墙来拒绝我从远程的控制。

              - 我想拒绝任何用户运行某一版本的某程序,不管是在本地硬盘上,网络上还是USB drive上。怎么办?

              - 我想强制同一间教室的电脑都使用同样的墙纸,不同的教室的墙纸不同。怎么办?

              - 我想把公司所有机器的硬件型号,操作系统,安装的软件等等信息全部收录到一个数据库中,方便查询,并且这些信息要随时动态更新。如何确保?

              - 希望你能说明一下Linux如何对付这些问题。这些都是规模大起来以后常见的问题。”

              这个是我要回答你的重点,需要系统地来分析。

              基本上,你讨论的是集中管理的问题,在windows下面,如果我没有搞错,用的是ActiveDirectory方式。这个技术的核心是一个LDAP数据库。Linux下面也有类似的数据库叫做OpenLDAP,SAMBA系统本身也整合进入OpenLDAP,目前可以作为一个domain controller。所以目前Linux下面可以同时管理Linux用户,也可以管理Windows用户。在下一个版本的SAMBA里面,SAMBA可以代替windows 2000 server成为主域控制器。

              1)问:“我想强制在每台客户机上安装某一固定版本的软件,如果被用户移除则自动重装,Linux下怎么确保?”

              答:有N种方法。如果是我做,首先我会把这个固定版本的软件放在一个特殊的目录下,比如/usr/local或者 /opt等等,然后用shell命令检查这个包里面一个或者某些执行文件是否存在,是否被改动,如果不存在或者被改动,则强行拷贝回去。这个检查可以用FAM实时监视,也可以用cron定期监视,或者用~/.bash_logout在用户退出的时候激发。

              2)问:“我想保证有root权限的用户也不能把管理员用来集中管理账户删除,并更改防火墙来拒绝我从远程的控制。”

              答:你可以把root用户直接从整个客户端取消,换句话说,没有人能够以root登录也不能变成root。所有的用户认证,计算机管理都由远程服务器完成。而具体的管理工作,可以由受限制的sudo来完成。我一直不清楚为什么要给用户这么大的权力。比如程序安装,它们可以安装在自己的home目录下,

              3)问:“我想拒绝任何用户运行某一版本的某程序,不管是在本地硬盘上,网络上还是USB drive上。怎么办?”

              答:这个稍微复杂一点,也是有很多方法。最简单的方法是把分区mount成 -noexec。所以用户只能运行你给定的程序。当然这个方法防不住用perl/python/sh这样的script程序。如果你给他们权限可以使用这些程序的的话。这个就是更高级的问题了。

              4)问:“我想强制同一间教室的电脑都使用同样的墙纸,不同的教室的墙纸不同。怎么办?”

              答:这个很简单,在gnome下面,用gconftool就能用命令行控制。在KDE下面应该有相应的控制,甚至你用DBUS就可以在KDE下面动态自动刷新某种墙纸。

              5)问:“- 我想把公司所有机器的硬件型号,操作系统,安装的软件等等信息全部收录到一个数据库中,方便查询,并且这些信息要随时动态更新。如何确保?”

              答:有N种方法,

              Linux下面有若干个硬件自动探测的脚本,可以自动更新这些硬件型号。获取操作系统信息很容易用本地脚本开机的时候自动更新就可以。安装的软件,关键看这个软件装在哪里,如果是以比如deb方式安装的,dpkg就可以。关键是最后要把这些信息集中成文本文件。然后就可以利用脚本存到subversion下面或者OpenLDAP下面。

              希望我能回答你所有的问题。 

              其他问题回头再回答:)

      • 家园 从维护的角度,那Linux没得说

        特别是OP的方向,windows的平行计算平台估计没什么影响。稍微大点儿的cluster,没个几百上千就不要提了,上千台跑windows的cluster俺孤陋寡闻没听过。稳定性上基于linux的cluster,7x24跑个一年,也就重起个三四次足矣,大概一两次也行,当然停电不算。

        但是很多经常用的软件,linux还不多,或者功能和习惯上差很多。例如要是经常用Photoshop的,对应的软件就差点儿,别跟俺提GIMP,那还是差着段距离呢。还有一些数据处理软件,像Origin,SigmaPlot等等。当然您说matlab也有linux版的,不过那玩艺儿不得自己写嘛。至于SAS,minitab,这些玩艺儿的linux版好找不?当然R也能干这事儿,可这边儿很多学校的statistics学生,离了SAS就抓瞎。万一哪位喜欢编辑video的(普通使用的说),好像Pinnacle有一款,那俺一直用别家的,例如傻瓜的Ulead,那可咋办?

        其实Linux的软件还是太少,或者对应的软件在GUI或者HCI上还是有很大的差距的。

        • 家园 维护看你怎么说了

          linux出了个啥问题,几百页厚的manual自己慢慢翻,要没有google,光培训一个管理员就要多久

          window一个重起一个重装傻问题都解决了。

          当时要给组里的sun solaris装一个lapack,花了一周多看manual,最后也莫名其妙的通了.后来改到 linux,又要重新来一遍

          个人觉得linux关键是自己觉得自己听professional挺爽,作为一个没多少时间与兴趣搞这个东西的人,我觉得就是一个鸡肋。

          我在几个操作系统下都调过程序,(我是做科学计算,fortran c++为主)我宁愿把程序放到 windows下面调好了,再upload到服务器上去,花点功夫去写makefile。而且如果linux下面程序如果出了问题,我一般就只有自求多福了。windows下面只要很短时间就发现的bug到unix下面就自求多福吧。

          personally, i donot like linux, unix, freebsd and so on. Windows is good enough.

          • 家园 LAPACK有现成的Deb/rpm包,安装相对容易

            我也对科学计算有一点小小的经验。LAPACK我也要用,Debain系统下面,LAPACK,ATLAS,RefBLAS等这些软件安装不超过5分钟。Redhat体系下面也有相应的rpm包。

            就算是自己手工安装,LAPACK安装相对来说也还可以接受,你可以看看这个帖子里面的指导。最后生成两个静态连接库文件放到/usr/lib下面,相应的头文件放到/usr/include就可以了。

            听你的描述,我建议你系统使用一下gdb,我认为gdb调试程序相当好用。我有时候也会使用valgrind。顺便,听说Sun下面的DTrace是个功能更好的工具,不过我没有使用过。

            • 家园 可能另外一个是题外话

              不好意思,我把unix 和linux一起批了,不过我觉得两个人的问题差不多,也不算冤。

              嘿嘿,我用的是这个官方渠道的"quick" guide

              http://www.netlib.org/lapack/lawn81/index.html

              光是下面这段我就觉得这些东西就该扔

              http://www.netlib.org/lapack/lawn81/node12.html

              我们组里的机器什么样子的都有,lapack我在solaris上调过了,到alpha上要再来一回,到sparc上在搞一搞,到了linux上再来一趟。一弄就是几个小时几天,这些东西又没啥技术含量,不能往thesis里写, 老板在后面催,我心里当时对这些不友好的玩意心里真是烦透了。还有我最讨厌这些一弄就几百页的manual,让人无从下手。这个就好像发paper,不能把notes给发上去了。那么长的paper, 谁有时间看哪,不是浪费大家时间么。

              那么长的manual知道的说不用全看,看第几页第几行就搞定了。如果不是别人告诉你的,就是google告诉你的,要不然就是总有人把它得全看了告诉你的。

              关于调程序,我后来用过一个叫totalview,比ddd好用多了,但是慢,效率太低了。gdb,ddd我用过,但是对混合编程的支持我是没弄通过,而且还是慢。

              我也有朋友天天喜欢linux,我表示理解,也相信可能他真得挺爽.虽然如果我会用linux会让我觉得自己更professional一点,如果让我花时间学那个,我觉得不值得。如果不是为了做大计算或并行,我才不会碰那些非windows的机器。

              • 家园 我的手工LAPACK + ATLAS安装指南

                我猜你在windows下面用的比较习惯,对unix编程本身不熟悉。我自己从netlib下载了一个lapack安装了一下,你给的链接确实是一份快速安装指南,相当直接了当,我花了5分钟看了一眼手册,花了半个小时测试各种可能性(每次编译大改需要7-8分钟)。

                1. make.inc

                基本上,在linux上面,如果你gcc是装好的,make.inc参数我修改的就是把库文件的_LINUX后缀给取消了。

                BLASLIB = ../../blas.a #这个下面有解释

                LAPACKLIB = lapack.a

                TMGLIB = tmglib.a

                EIGSRCLIB = eigsrc.a

                LINSRCLIB = linsrc.a

                如果你想对lapack的编译进行优化,你可以指定CPU,比如我的cpu(Core 2 Duo E6750),在OPT后面加上 -march=nocona 。

                2.使用自带blas库:

                如果你要用LAPCK自带的refblas.a 库(就是不更改../../blas.a 这一行),你需要更改根目录下的 Makefile,把

                lib: lapacklib tmglib

                #lib: blaslib lapacklib tmglib

                改为

                #lib: lapacklib tmglib

                lib: blaslib lapacklib tmglib

                就可以了(就是说,先编译refblas库,生成blas.a文件,然后再编译其他程序)。

                3. 使用优化的BLAS库,比如ATLAS

                如果你有优化的BLAS库,比如机器优化的atlas,可以用比如 -lf77blas -latlas 来替换第一个 ../../blas.a ,同时,保持2)步里面的 lib: 行为原始状态(不包含 blaslib)

                BLASLIB = -L/usr/lib/atlas -lf77blas -latlas

                当然,这个只是测试用途。你甚至可以不管它。

                4.

                下面就是 make ,我一般用普通用户在emacs下面编译,有什么错误一眼能看见,最后sudo make install 来安装。

                最后,希望对你的工作有所帮助。谁也不喜欢看几百页的手册:)

                • 家园 多谢了。不过。。。

                  那个应该是五年以前的事情了, 但是我是不愿意重新回去搞这个了。而且我相信现在在学校里我的师弟师妹们没人会对这些东西感冒。他们大部分时候还是来问我。我可能当时主要的抱怨还是给unix,平台太多而且互不兼容,what the heck.

                  还好我门公司所有的东西现在只用windows开发。

              • 家园 你说的这个问题比较容易解决。

                我一般用Debian GNU/Linux系统,一条命令就能搞定安装问题。

                sudo apt-get install lapack3 lapack3-dev

                lapack3 是动态连接库,lapack3-dev是静态连接库。通常5分钟不到就搞定了。

                我们也有一台 Compaq AlphaServer,现在也是装的Linux系统。所以安装程序是一样的。

                Debian也支持SPARC平台。

                还有,gdb一般不单独使用,一般都和emacs/vim这样的编辑器挂在一起用。感觉和windows下面的ide差不多,只不过一般修改是用键盘来控制。

            • 家园 gdb俺喜欢

              其实习惯就好了,当然VC的debug看齐来容易些。R就有点儿这意思,它的那个debug有点像简易版的gdb。俺还是偏爱跨平台的东西,C/C++,Perl/Python,R,可惜汇编好像不行,没在Mac上用过。

          • 家园 I am curious how u use mpi on

            windows? And run it on linux with a little bit modification.

            For a cluster, do u think it is easy to reinstall all of nodes? if yes, u can do the same thing on linux based clusters. Currently, linux based cluster systems are pretty stable if u just run common parallel programs. Like in my old team, we ran some cpu-intensive scientific programs on a couple of nodes. In general, the machines kept idle just around 1-2 weeks in one year. They were always working 24x7 in other days and only needed to be restarted 2~3 times one year.

            Of course, if u always want to touch the kernels, that could be a nightmare.

            But that's true, it is not easy to handle some packages on linux platform. Sometimes, the problems are very annoying. The good thing is that we have Dr. Google, though sometimes, it can't answer your questions.

            • 家园 where do you place those nodes?

              in a data center?

              • 家园 No, just in a computer room

                I know, in many system biology labs dry-side or pure dry labs, they built their own clusters. 100k could be enough for a 128 nodes(2xDual Core) on a rack, with KVM, Centrol Terminal, even UPS. That's not a big deal. The only problem is AC.

                In a supercomputer center, the nodes could be more than 1k. The reason why those labs spent money to build clusters is that, though computing hrs are free for academic users from large SCs, like SDSC, NCSA, PSC, etc, u can't get enough nodes at one time if ur application is parallel. In general, in those SCs, the Q rule is not exact FIFS, also depends on how many nodes u apply. So it's very likely for ur job to stay in the queue for more than 1 year if u want more than 100 nodes for ur program once. Actually, this market is not trivial since computers are pretty cheap so far. RO1 funding form NIH is more than 1M, it's a piece of cake to spend around 10k on computing infrastructure. However, the costs of professional clusters are not acceptable for a lab or small team, even a company, like Blue Genes.

                • 家园 TCO

                  The energy bills will take a big chunk out of your pocket.

                  When you spend 100k on equipments, you will probably spend another 100k for energy in 3 years.

分页树展主题 · 全看首页 上页
/ 26
下页 末页


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

Copyright © cchere 西西河