March 2008 Archives

今天吃饭前从Jackos那里拿起了一本UNIX系统管理翻了几页。书中对系统管理员的工作定义如下
  1. 添加新用户
  2. 给激光打印机加墨粉
  3. 做系统备份
  4. 从备份里重建那些由于用户不小心而被删除的文件
  5. 回答用户的问题,比如"怎么发电子邮件?",这种问题总是有人在问
  6. 监视系统活动,并且试着调整各项参数,使过载的系统有时间回应那些闲置中的系统
  7. 在用户的请求之下,暂时违反规定提前他们在打印队列里的打印作业
  8. 维护系统安全,并收拾上任管理员留下来的烂摊子
  9. 安装程序
  10. 清出更多的磁盘空间,特别是连续的空间
  11. 在系统死机之后重新开机(而且常在很晚或是不方便的时候 )
  12. 找出小故障,不过这可能意味要巡查在房子四周的网线,以检查该网络的每个节点
  13. 安装新到的设备,并改变桌椅的摆设以便安装
  14. 找出某个程序、命令、或是某个帐户为什么突然开始不正常工作了,虽然用户发誓他什么也没有做
  15. 试着修理坏掉的CAD/CAM二进制数据文件
  16. 参加会议
  17. 在网络上加入新的系统
  18. 尽量使用脚本自动处理上述的工作

如上所述,正式的系统管理的确是一件复杂的工作,除了计算技术之外,还得靠一点人际沟通技巧。... ... 与他人沟通最好的学习方法是,看别人怎么做,学习他们的成功之外以及避免重复他们的错误

这本书是在2001年在国内的第一版,最新的一版应该是Unix与Linux系统管理。上述的一段话中的某几条我还是深有感触的(这一版翻译好像有点问题,所以引用的时候我做了一些修改)。其实最有用的是最后一条,这是一个系统管理员必修的课程。而修练的方法也正如其所说。
做系统管理,一方面有系统中最高的权限,另一方面则必须和他人合作,并且为他们提供服务。管理系统其实和治理国家很像--可能是一个法西斯式的铁腕独裁者,不顾用户的需要;或者也可能因为用户的问题忙的不可开交,而没有自己的时间。其实要做好系统管理也没有什么特别的决窍,只是在这两者之间取得平衡:除了让用户尽量满意之外,也要坚持既定的政策,以维护全系统的利益。而系统管理的最终目标,则是以最简单而有效率的方法,提供用户良好的工作环境,并且顾及系统安全、用户需求、系统能力以及和用户之间的交互
我有时在想应用的开发人员与系统管理人员是不是天敌。这里还有一段是关于系统管理的哲学归纳
  • 做任何事之前先做计划
  • 做完后要能够恢复回来
  • 慢慢做改变
  • 反复测试,直到确定没有问题
  • 懂得每件事的工作原理
update: Jackos从cn换到org了

有个django的东东要写一个daemon来处理,这样就要在daemon script里初始化一个django environment,还好django提供了一个东东来设置这个environment.

import sys
sys.path.append('/home/guixing/Sites') #先要把自己的项目目录加入path
from django.core.management import setup_environ #这是重头戏,全靠它了
from myproject import settings #介绍自已人
setup_environ(settings) #安排自己人
#干活去吧

想干什么就干什么了,完全一样了。

前几天写了一篇moinmoin安装配置的东东,家里网络不好,没存下来就挂了。真是无用。眼看着这个月就要过去了,总共才写了一篇,实在是对不起苍天黄土。

费话少絮,切正题。先安装一个www/moinmoin

cd /usr/ports/www/moinmoin && make install clean

这个ports现在可以用make instance帮你做许多事了。这里有几个变量要说明一下。

MOINDEST wiki数据放在哪里
MOINTYPE wiki运行在哪种模式下面cgi,fastcgi,standalone??

即然这样,就干吧,当然了我是要用mod_python驱动了。

make MOINDEST=/www_root/wiki instance

ports能做的事情就这么多了。设置Apache如下

Alias /moin/ "/usr/local/share/moin/htdocs/"
<Location /wiki>
    SetHandler python-program
    PythonPath "['/www_root/wiki'] + sys.path"
    PythonHandler MoinMoin.request.request_modpython::Request.run
</Location>

还有一个文件是wikiconfig.py

sitename 
interwikiname
logo_string
data_dir #这个东东要注意请写绝对路径
data_underlay_dir #同上
url_prefix_static #这个要和Apache的Alias地址一样
language_ignore_browser  #你想让用户按浏览器语言来显示吗?No.

这样子也就可以用了。地址就是http://host/wiki

最近在读C陷阱与缺陷,正好有朋友问到了在写Shell Script时要注意哪些东东。总结一下:
  • 注意空格
    • 有空格:在条件语句(if while until)中注意方括号与判定语句之间有空格
    • 没有空格:在赋值语句(=)等号两边是没有空格格的
其他的想起来了再写吧。

About this Archive

This page is an archive of entries from March 2008 listed from newest to oldest.

February 2008 is the previous archive.

April 2008 is the next archive.

Find recent content on the main index or look in the archives to find all content.