| 方 的个人资料yfang home照片日志列表 | 帮助 |
|
4月12日 好久没说话了好久没在这里说话了
最近弄了一个新的站点,有空欢迎过来玩!http://garden.yfang.cn
这个新站点支持mail post, 有兴趣帮我测试的人可以发信给yangfang at fudan.edu.cn申请,说是申请,其实就是说一声啦,我帮你弄个账户而已,哈哈哈
因为资源问题,目前仅对认识的朋友开放,见谅!
9月2日 学习笔记2006.82006.8.1
> 今天真是在刀刃上走过来的 > 60文件系统损毁,和原来的230颇似,文件系统不认,只有分区信息 > 如法炮制,用linux光盘启动rescue, fsck.ext3 -y 之 > 漫长的等待,经过一个晚上,终于结束了,看一下效果,不错,可以mount了 > 去掉光盘重起,居然进了半个系统,在系统检测时候检测到文件系统error,要求fsck,可是还是无法改善,无奈,只好采用二号方案 > 因为硬盘是RAID,SCSI硬盘,公司里可选的机器就不多,只有S11 S12 S13 S92可以考虑 > S11 是freebsd,文件系统和ext3互相不认,没办法实施 > S12 开发很重要,不能动 > S13 也是RAID,考虑换一块硬盘,尝试启动,失败~(这个举动是最傻的,RAID盘这样做根本就是危险的无用的行为,连卡的概念都比没搞懂。。。) > 想出来一个很傻x的办法,用rescue盘启动,A1&B1 A2&B1 A2&B1 A2&B2 这样的折腾硬盘,结果。。。不行 > 事实上刚才这个行为非常危险,他已经把RAID的configuration改了,虽然硬盘数据没有丢,可是如果configure不好,那就废了
> 当时的情况让我非常绝望,按照原来的样子恢复回去,别说进系统了,开始的磁盘检测都不过 这里是我当时发的一篇求助贴
>发信人: yangfang (Happy Everyday), 信区: LinuxApp >标 题: [急问]RAID盘问题 >发信站: 水木社区 (Tue Aug 1 15:03:18 2006), 站内 > >是这样的 >有两台RAID0 server,每个上面两块硬盘做RAID >都是DELL 1850的机器 >上面都是安装RedHat EL 4 > >由于有一台服务器文件系统崩溃,不能mount了 >用安装CD rescue,fsck了一次,可以mount了, >不过启动到系统检查磁盘的时候 >(这个已经到了操作系统的检查了,就是说我看到了一堆OK了) >提示有问题,进不了系统 > >于是打算mount到另外一个raid server 上cp出文件 >结果失败,硬件找不到(我想这个应该是raid的缘故,当时有点慌,没注意) >现在相当于我有四块硬盘,在一个服务器上 >A1&B2 A1&B1 A2&B1 A2&B2这样试过来,都不行 >最后放弃,恢复到原来的样子 > >结果现在两个服务器都起不来了 >症状类似 >在机器自检的时候原来出问题的服务器提示 >0 Logical Drive(s) Found >0 Logical Drive(s) handled by bios >Configuration of NVRAM and drives mismatch(Normal mismatch) > >......然后是让我perss A to configure > >我看不太懂,是不是说两块硬盘数据不一致了,所以起不来了 >大侠救命啊~~ > >ps : 弱问,两块硬盘是不是一样的,如果两块硬盘插反了有关系么 >-- >热二定律比动量守恒更高 >它告诉我们世界的原初是恨 >爱, 就是对恨的战斗! > > >※ 来源:·水木社区 newsmth.net·[FROM: 220.248.24.*] 后来自己按照提示查到dell的帮助 http://bcr2.uwaterloo.ca/~brecht/servers/docs/PowerEdge-2600/en/Perc4di/UG/trouble.htm 针对这种状况的解决方法是
Press <Ctrl><M> to run the RAID BIOS Configuration Utility. Select Configure—>
View/Add Configuration to examine both the configuration in non-volatile random access memory (NVRAM), and the configuration stored on the hard drives. Resolve the problem by selecting one of the configurations. 看到这样一个东西,按照这个做了,用的是drives的configuration
然后系统由部认识文件系统了,这个时候,心情那叫一个差啊~~ 破釜沉舟,重新rescue盘fsck.ext3, 没抱太大希望,还是很想成功,手心都出汗了 结束了~~,成败在此一举,OK~~ 意外的是居然系统可以进去了,真是喜出望外,cvs-svn server就这么好了 安全起见,还是把里面的数据copy出来,重装了 不幸的是,S13用上面的方法之后,硬件没有问题,认识了,不过原先的操作系统怎么都不见了
而且更惨的是连分区信息都没了,只能看到一个傻傻的设备 经过多方尝试还是未果,问了一下S13的主人,不是什么太重要的数据,放弃~~ 2006.8.3
> 今天引导池田装个stadardsystem,让他去看一下handbook
> 小伙子xh有点不够意思,自己不知道抓紧啊~~ > 真替他着急.... > 还好今天把svn里的一个重要数据备份出来了,要不liumin他们就小郁闷一下了 > yum install trac 策略实施正常
> 在92上配了一个,基本测试正常,继续 > 92上面配置mod_python,怎么都搞不定 >想把trac移植到apache上
>这就需要mod_python支持 >源码编译安装好一个apache (httpd-2.2.0) >然后按照mod_python官方网站的指导,下载mod_python-3.2.8源码 > ./configure --with-apxs=/usr/local/apache2/bin/apxs >make 的时候就失败了 >请问什么原因?换了一次apache的版本到2.0.59,还是不行,错误一样 >其实我就是想要那个mod_python.so >直接yum install mod_python出来的so文件apache的DSO不认识 > >下面是一些make的错误信息
>mod_python.c: At top level: >mod_python.c:1942: error: syntax error before '*' token >mod_python.c: In function `PythonAccessHandler': >mod_python.c:1943: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1945: error: syntax error before '*' token >mod_python.c: In function `PythonAuthenHandler': >mod_python.c:1946: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1948: error: syntax error before '*' token >mod_python.c: In function `PythonAuthzHandler': >mod_python.c:1949: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1951: error: syntax error before '*' token >mod_python.c: In function `PythonFixupHandler': >mod_python.c:1952: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1954: error: syntax error before '*' token >mod_python.c: In function `PythonHandler': >mod_python.c:1961: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1967: error: syntax error before '*' token >mod_python.c: In function `PythonHeaderParserHandler': >mod_python.c:1971: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1978: error: syntax error before '*' token >mod_python.c: In function `PythonLogHandler': >mod_python.c:1979: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1981: error: syntax error before '*' token >mod_python.c: In function `PythonPostReadRequestHandler': >mod_python.c:1985: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1992: error: syntax error before '*' token >mod_python.c: In function `PythonTransHandler': >mod_python.c:1993: error: `req' undeclared (first use in this function) >mod_python.c: At top level: >mod_python.c:1995: error: syntax error before '*' token >mod_python.c: In function `PythonTypeHandler': >mod_python.c:1996: error: `req' undeclared (first use in this function) >apxs:Error: Command failed with rc=65536 >. >make[1]: *** [mod_python.so] Error 1 >make[1]: Leaving directory `/usr/local/src/mod_python-3.2.8/src' >make: *** [do_dso] Error 2 无意中测试到rpm安装的mod_python,apache 2.0.59认识(2.2.0不认)
欣喜~ 遂搭建新的apache ln -s /usr/lib/httpd/modules/mod_python.so /usr/local/apache2/modules/mod_python.so 配置/usr/local/apache2/conf/httpd.conf 其中重要的配置包括 >LoadModule python_module modules/mod_python.so ><VirtualHost *>
> ServerAdmin yang.fang@adways.net > ScriptAlias /cgi-bin/ /usr/share/trac/cgi-bin/ > <Location /cgi-bin/trac.cgi> > SetHandler mod_python > PythonHandler trac.web.modpython_frontend > PythonOption TracEnv "/var/svn/learningtrac" > </Location> > <Location "/cgi-bin/trac.cgi/login"> > AuthType Basic > AuthName "learning" > AuthUserFile /var/www/default_site/htdocs/.htaccess > Require valid-user > </Location> ></VirtualHost> 基本上可以跑起来了,不过有错误,具体情况,参见2006.8.5(事实上第一次看到这种情况是在V228上)
2006.8.4
> 在92上实施备份策略
> groupadd -g 200610 backup > useradd -u 1986 -g backup -s /sbin/nologin backup mkdir /home/backup/archive\ /home/backup/config\ /home/backup/trash vi /home/backup/config/backup.conf
>my $config={ > db_cmd=>'/usr/local/mysql/bin/mysqldump --host=127.0.0.1 --port=3306 --user=root --password=****** --lock-tables=false --databases %databases | gzip -f > %outfile', > db_outfile_dir=>'/home/backup/archive', > dir_path=>'/var/www', > dir_cmd=>'cd %path && tar zcf %outfile %dir', > dir_outfile_dir=>'/home/backup/archive' >}; /usr/local/bin/backup_app --config-file=/home/backup/config/backup.conf --type=dir --outfile=yfang-test pcms.lua.cn
/usr/local/bin/backup_app --config-file=/home/backup/config/backup.conf --type=db --outfile=yfang-db pcms 测试成功,OK
上80,加一条记录在backup脚本上,定时取这个服务器上的数据备份
2006.8.5
发现2.0.58支持rpm装的mod_python后,按照同样方法安装2.2.0,发现2.2.0的确不支持这个so
装好apache之后,默认用的nobody作用户,group是#-1
出现下面的问题 TracError: The user root requires read _and_ write permission 去google这个error,看到一篇帖子这样写道 帖子网址http://lists.edgewall.com/archive/trac/2005-December/005798.html >When you set up apache, you declare in the httpd.conf the identity of >the httpd process. Your database files must give rw permission to that >account. > >I have also used the httpd.conf group directive for a similar purpose. >In other words if you want root to remain the owner, change the group on >all of the files, apply the group rwx then set up httpd.conf group >parameter to make httpd run under that group. > 然后按照这个指导,新建用户trac,把apache的用户改为trac,group也改成trac 之后就去改文件夹的权限 曾经尝试过chown -R :trac /var/svn/learningtrac/db chmod -R g+w /var/svn/learningtrac/db 成功的跑了起来http://192.168.11.228:8001/cgi-bin/trac.cgi/
不过这个时候timeline和browser这两个页面还是不行 错误变了,变成/usr/lib/libsvn_fs_base-1.so.0: undefined symbol: db_create google这个error,发现一个帖子,不过不怎么看得懂 帖子网址http://svn.haxx.se/users/archive-2005-08/1334.shtml >db_create is a berkeley DB symbol, I would check to see where the library is >loading the berkeley DB libraries from. Run "ldd" on libsvn_fs_base-1.so.0. 呵呵,学会了一个命令ldd,这个程序就是专门用来检查动态链接程序依赖哪些共享库的. ldd命令行用法如下: ldd [--version] [-v|--verbose] [-d|--data-relocs] [-r|--function-relocs] [--help] FILE... 各选项说明如下: (1) --version : 此选项用于打印出ldd的版本号. (2) -v 或 --verbose : 此选项指示ldd输出关于所依赖的动态链接库的尽可能详细的信息. (3) -d 或 --data-relocs : 此选项执行重定位,并且显示不存在的函数. (4) -r 或 --function-relocs : 此选项执行数据对象与函数的重定位,同时报告不存在的对象. (5) --help : 此选项用于打印出ldd的帮助信息. 注: 上述选项中,常用-v(或--verbose)选项. ldd的命令行参数为FILE...,即一个或多个文件名(动态链接程序或动态链接库). 下面是我的结果
>[root@V228 svn]# ldd -r /usr/lib/libsvn_fs_base-1.so.0 > libsvn_delta-1.so.0 => /usr/lib/libsvn_delta-1.so.0 (0x00ac0000) > libsvn_subr-1.so.0 => /usr/lib/libsvn_subr-1.so.0 (0x003f9000) > libaprutil-0.so.0 => /usr/lib/libaprutil-0.so.0 (0x00121000) > libapr-0.so.0 => /usr/lib/libapr-0.so.0 (0x00135000) > libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00f96000) > libc.so.6 => /lib/tls/libc.so.6 (0x008d8000) > libldap-2.2.so.7 => /usr/lib/libldap-2.2.so.7 (0x0019d000) > liblber-2.2.so.7 => /usr/lib/liblber-2.2.so.7 (0x00111000) > libdb-4.2.so => /lib/tls/i686/libdb-4.2.so (0x00c9a000) > libexpat.so.0 => /usr/lib/libexpat.so.0 (0x00157000) > librt.so.1 => /lib/tls/librt.so.1 (0x00175000) > libm.so.6 => /lib/tls/libm.so.6 (0x001ce000) > libcrypt.so.1 => /lib/libcrypt.so.1 (0x00d72000) > libdl.so.2 => /lib/libdl.so.2 (0x00fe2000) > /lib/ld-linux.so.2 (0x00432000) > libresolv.so.2 => /lib/libresolv.so.2 (0x00189000) > libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00dc6000) > libssl.so.4 => /lib/libssl.so.4 (0x0056b000) > libcrypto.so.4 => /lib/libcrypto.so.4 (0x00e23000) > libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x001f1000) > libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00205000) > libcom_err.so.2 => /lib/libcom_err.so.2 (0x00783000) > libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x0066b000) > libz.so.1 => /usr/lib/libz.so.1 (0x0026a000) 注: 每行=>前面的,为动态链接程序所需的动态链接库的名字, 而=>后面的,则是运行时系统实际调用的动态链接库的名字,所需的动态链接库在系统中不存在时, =>后面将显示"not found",括号所括的数字为虚拟的执行地址. 索性chown -R :trac /var/svn/learningtrac
chmod -R g+w /var/svn/learningtrac 这个问题也解决了,错误又变了 "cannot import name SubversionRepository" 这个问题,比较郁闷,不知道怎么弄才好
今天一下午做着疯子一样的行为,疯狂的做着一件又一件繁琐而容易出错的操作
源码的编译,安装,配置,google,大概就是这样.... 前两天的mod_python编译失败问题今天在钱老板的指点下安装python-devel-2.3.4-14.1.i386.rpm 之后源码即可正常编译 不过不论是在apache2.2.0 下还是2.0.58下,编译出来的so的问题都和原来一样,"cannot import name SubversionRepository" 后面有考虑其他源码编译安装,总归不爽,遂决定每人一台干净的服务器,安装
非常有意思,我和钱老板几乎同时开始装虚拟机,hoho 我用的是全部非源码,也就是尽量使用yum和up2date
而钱老板用的是全部源码编译安装 我的操作是
先添加dag.repo yum update 这个用了很久 yum install trac 这个步骤装了10个重要的包 这里开始测试svn的使用,像以前一样建立项目 项目建立在/var/svn/doc 然后trac-admin /var/trac/projectA initenv,(邦定到/var/svn/doc项目) up2date -i mod_python 编辑/etc/httpd/conf/httpd.conf 改变用户和组为trac 添加虚拟站点 ><VirtualHost *> > ServerAdmin yang.fang@adways.net > ScriptAlias /cgi-bin/ /usr/share/trac/cgi-bin/ > <Location /cgi-bin/trac.cgi> > SetHandler mod_python > PythonHandler trac.web.modpython_frontend > PythonOption TracEnv "/var/trac/projectA" > </Location> > <Location "/cgi-bin/trac.cgi/login"> > AuthType Basic > AuthName "trac" > AuthUserFile /var/trac/projectA/.htaccess > Require valid-user > </Location> ></VirtualHost> 为系统建立trac用户
并且为其需要访问的地方赋予权限 chown -R root:trac /var/svn/doc chown -R root:trac /var/trac 启动apache:/sbin/service httpd restart
本来以为肯定好了,结果一看不行....郁闷了一下下 看一下log,说什么 >trac IOError: [Errno 13] Permission denied 上网搜一下,发现一个帖子http://lists.edgewall.com/archive/trac/2005-October/005159.html >Do you have SELinux enabled? If so, you'll probably have to go
>through additional hoops to provide access (I don't know the details >because I don't run SELinux) > 顿时看到了希望,编辑/etc/sysconfig/selinux 改为disabled 重起机器 启动apache,yeah,整个世界安静了... http://192.168.11.229/cgi-bin/trac.cgi/ 2006.8.7 > 今天早上刚到,发现耳机不见了~~,郁闷
> 钱老板说apr 0.9和1.0不兼容,httpd2.2用的是后面一个,所以要装1.0 > 还有一个问题是swig安装好之后,并没有把库放到python下,所以要自己做连接指向python的库 2006.8.8 > 比价购物这边写一个bt的什么页面逻辑,。。
2006.8.9
> > 发烧,休息 2006.8.10
> > 做一个 >rm -rf `find / -maxdepth 1 -mindepth 1 -not -name sys -a -not -name dev -a -not -name proc -a -not -name lib -a -not -name whole.tar.gz `
2006.8.11 安全策略研究,整理
1. md5验证文件 以下文件可能被黑,最好作好md5验证,当然如果添加用户了,自然会变,平时用的时候记得做这件事情就行了
可以跑在cron里,发信提醒文件有变化,好像有点烦人哦。。 >/etc/passwd
>/etc/shadow( 假如你不讓使用者改密碼了 ) >/etc/group >/usr/bin/passwd >/sbin/portmap >/bin/login ( 這個也很容易被駭! ) >/bin/ls >/bin/ps >/usr/bin/top 2. 定期更新ssh程序
3. 反入侵
lsattr chattr 2006.8.15
> 解航开stdsys2.0学习会,准备一般
> 磊哥这边比价接口细化,功能统一 > 帮老虎解决以下外面的服务器的cvs问题,sigh,还是历史遗留问题60。。。。 2006.8.16
2006.8.17 2006.8.18 2006.8.21 > 开始cgi编码
> 75担当大任,sisco那个路由器不行了。。 > 研究iptables和portmapping > 准备开发ezportmap控制系统 2006.8.22
连续几天的cgi编写 2006.8.23
感觉到自己cgi写的真慢,jsp也不会,弱啊弱 2006.8.24
还把55弄费了 chmod 777 -R / 。。。。。后果严重 2006.8.25
阿陆指导图片上传,两个关键 第一<form>标签中加入ENCTYPE ="multipart/form-data" 第二,控件不要重名 还有就是那个同样一个tmpl_var的值不同的问题(放到<input type=hidden>中就变了) 原因是使用了fill=1,去掉就好了 还有一个问题是要养成好习惯 写什么input的时候 不要name yfang,要name="yfang"
2006.8.26
加班,感觉不是那么的紧张了 2006.8.27 终于还是吃了一个亏,sigh ENCTYPE ="multipart/form-data" 全部做完了,3x all 2006.8.28 发现firefox下控件的jsp执行不正常了 请教大牛阿斐,才知道firefox根本就不理睬all什么的 也没有options.remove()方法 阿斐果然也是不走寻常路的家伙,options.length=0, 真有想法~~赞 2006.8.29
莫名其妙来了一堆事 害得我不得不作一个list 1. 玉麟这边 53 qmail发信问题 检查了一下,重起服务,调整,无效 搁置 2. PowerEdge 2950 网卡不认识 是Broadcom 5700的,CentOS 4.2的内核还不支持 没搞定 > 今天刚拿到一台PowerEdge 2950 > 装好了CentOS4.2发现找不到网卡 > 因为工作要求只能装text界面 > 有一张Dell的install CD,里面有一个目录有/server_assistant/drivers/ > 里面有一堆乱七八糟的文件夹 > 包含n多rpm等等 > 号称有图形界面的时候可以安装一个辅助工具检测系统需要的驱动 > 可是现在只能找 > 却又发现没有什么特征,请问有没有什么策略 > 或者网卡驱动大概叫什么名字 有人指点说modprobe nbx2 我刚好这个时候找到驱动了,正好是bnx2-1.4.36b-5dkms.noarch.rpm > 找到了,Bcom_LAN_NX2_26_Linux_DKMS_A00.tgz > 解压之后是两个文件,实际上是同一个东西,一个是源码,一个是二进制包,都是rpm (bnx2-1.4.36b-5dkms.noarch.rpm) > 开使用政同学的u盘,到那边识别的不太好,算了,还是光盘好,就刻到光盘上了 > 去服务器上装,说是依赖于dkms这个包,版本还要高于2.0.9 > 心理及不爽,这要是一直依赖下去还不折腾死我。。。。。 > 还好小解同学提醒了一句,看看它原来自己带的安装/驱动盘 > 果然找到了同样的bnx2-1.4.36b-5dkms.noarch.rpm > 当然还找到了dkms-2.0.11-1.noarch.rpm > 欣喜之下, > rpm -ivh ./srvadmin/linux/RPMS/RH4_i386/dkms-2.0.11-1.noarch.rpm > rpm -ivh ./server_assistant/drivers/r125801/bnx2-1.4.36b-5dkms.noarch.rpm > 提示 > 这个模块我的系统里面没有 > 我试着安装它 > 安装rpm finish的时候 > > Error! Your kernel source for kernel 2.6.9-22.ELsmp under > /lib/modules/2.6.9-22.ELsmp/build or /lib/modules/2.6.9-22.ELsmp/source could > not be found,..... > > 后面就是说可以让我指定路径 大概工作到这里就中止了,明天继续 3. 黄志强这边 stdsys1.0 目录结构不熟悉,处理一下 搞定 4. 杨雪松ssl问题 192.168.1.12 搞了一半,废了 5. CE完善一下 done 2006.8.30
今天主要的工作就是在折腾那个PowerEdge 2950,
奇怪了
rpmfind网站上都找不到这个kernel-source的rpm (2.6.9-22.ELsmp) 终于想起来一个网站www.kernel.org 在上面成功找到了linux-2.6.9.tar.gz 由于还有22那个子版本号,还是想找一下完全一样的 最后在一个centos的支持网站上找到了kernel-2.6.9-22.EL.src.rpm 其实安装时rpm -pql了一下才知道kernel-2.6.9-22.EL.src.rpm主要包含linux-2.6.9.tar.gz 和一堆patch文件
最后用到的还是那个压缩包 他是放到/usr/src/redhat/SOURCE下
开始执行说没有/usr/src/redhat目录,不肯装, sigh,linux的风格,我还是手动建好目录吧 mkdir /usr/src/redhat rpm -ivh /mnt/cdrom/kernel-2.6.9-22.EL.src.rpm 提示没有builder用户和用户组,使用root代替,以后记得先useradd builder cd /usr/src/redhat/SOURCES/
tar jxvf linux-2.6.9.tar.bz2 目录算是准备好了 却不知道接下来做什么了,试着重起系统,没有用,启动时候有一句报install bnx2 ....fail...
他刚才最后提示说什么 you may set kernel source dir by --kernelsourcedir option
我就上网去搜--kernelsourcedir是谁的参数 终于发现原来要用dkms编译安装刚才的bnx2模块才行
找到不少文档,当然大多是没有用的 终于发现一篇安装snapapi的指导文档,都是dkms,照猫画虎的学着做 里面提到要把kernel-devel.rpm装进去,心说有道理...找到原来的系统盘,大概是disk2吧,装上了kernel-devel,顺便kernel-smp也装了
按照文档的提示, dkms build -m bnx2 -v 1.4.36b -k 2.6.9-22.ELsmp --arch i686 --kernelsourcedir /usr/src/redhat/SOURCES/linux-2.6.9/ dkms install -m bnx2 -v 1.4.36b -k 2.6.9-22.ELsmp --arch i686 --kernelsourcedir /usr/src/redhat/SOURCES/linux-2.6.9/ 成功了 其实原来文档中还指定了conf的目录,可是文档中指定的--config <CONFIG_FILE>(/root/config.....)我实在没有,就没设,结果通过了 这一步成功让我非常高兴,我觉得一个重大问题解决了 cd /lib/modules/2.6.9-22.ELsmp/kernel/drivers/net/
发现多了一个bnx2.ko,颜色和其他的ko文件不太一样,看着奇怪,就看了一下权限 其他都是744,这个新文件是644,我就把它改成744了 然后加载bnx2模块 modprobe bnx2 修改/etc/modprobe.conf 添加 alias eth0 bnx2 alias eth1 bnx2 这个时候 lspci的时候能够看到网卡的信息了,不错不错
不过还是没有出现/etc/sysconfig/network-scripts/ifcfg-eth0和/etc/sysconfig/network-scripts/ifcfg-eth1 不爽,重起,还是不行....郁闷了 说话就到了下午,去漕河泾处理241问题,被封了.....sigh
去了2个多小时 回来继续搞
当他们刚刚在另一台PowerEdge 2950上把centos4.3的网络配好的时候,我执行了一条netconfig,配了一下,居然网络好了..... 这个让我非常高兴,不过只能看到eth0,/etc/sysconfig/network-scripts/ifcfg-eth0 没有/etc/sysconfig/network-scripts/ifcfg-eth1 但总归是件高兴的事 下班后钱老板非常有建设性的netconfig -d eth1了,好了,hoho 看上去一切正常,ping 两块网卡的ip都通了 换一下网口,奇怪,怎么网络不通了呢.....
还是qian老板, 提到是不是路有定死了从那个eth0口出去,所以不行了 设定eth0 192.168.1.* 255.255.255.0
eth1 192.168.2.* 255.255.255.0,这样如果网卡是好的,就应该访问1.*的时候eth0走,2.*的时候eth1走 经过测试,果然....就这样,一切都好了 2006.8.31 > 经过研究,发现事实上并不需要安装什么kernel-source > 前面报错的时候说的can't find kernel source in /lib/modules/2.6.9-22.ELsmp/build or /lib/modules/2.6.9-22.ELsmp/source > 这两个文件夹在安装kernel-smp-devel的时候就会有了,其它的事情就迎刃而解了 > 然后再安装bnx2-....-dkms.rpm就没有问题了,他会自己编译安装模块的 > 事实上netconfig 命令也是可以不做的,在重起机器的时候kudzu会发现硬件并且提示 config > 给他们配好253,发现config_disk有问题,仔细检查才发现两块硬盘的第二块检查出来的叫8_16,而我的默认配置里面只到8_14,所以加了两个 > merchant页面美工做好了,迁移。。。 学习笔记2006.72006.7.3
> 新员工都来了,好多新面孔 > 本来以为会轻松一点了,后来马上就发现这个想法太幼稚了 > 开了2个会,心里还要想着给这个分配什么任务,给那个分配什么任务 > 还有技术问题要看,还有文档要写,StandardSystem2.0文档更新,快点把hand_book搞定 > 听了两个学习会,阿斐的js,老虎的mysql partition,不错 > 晚上和池田讨论standardsystem的事宜,给池田分配任务nagios和freenx,在71上测试 > 这天下来好累啊,以至于都忘了些这个咚咚,到第二天才补上 > 2006.7.4
> 文档补充,帮杨彦搞共享 > 比价搜索开会 > 2006.7.5
> 今天要日语考试了,基本上我觉得。。。。死了 > 再不把2.0发布就不合适了,就差hand-book,快点 > 今天不错hand_book基本完成 > 黄帅改了改压缩包里的脚本,就差hand_book完成了 > windows下登陆svn成功: > 1.修改settings中的ssh为D:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -i "E:\yfang\PortForwarder\pp.ppk" > 2.取出的时候写svn+ssh://yangfang@192.168.1.60//var/svnroot/****就可以了 > 当然,前提是60上面有你的记录和权限 2006.7.6
> 法国赢了,上场身背黄牌的哥们们可以放开踢了 > putty上用svn client的方法
> 假设你想用一个用户登录svn server,把这个用户的私钥保存为$HOME/.ssh/id_rsa.subversion > export SVN_SSH="ssh -i $HOME/.ssh/id_rsa.subversion" > 建议上面这句话写到.bash_profile中,如果你使用bash登陆的话 > svn checkout svn+ssh://logname@svnserver_ip//var/svnroot/projname > 其他svn操作类似,参考资料http://developer.berlios.de/docman/display_doc.php?docid=394&group_id=2 > 打包做成2.0.1版本
> 怎么也想不起来cvs_check_out这个文件是哪里来的了(答曰 httpd) 2006.7.7
> Standardsystem-2.0.2发布 > 修改HotSaNIC > 添加module srm > 笔试成绩出来了,太差劲了,和尾关口语了一会,这个感觉还好一点点 2006.7.8
> 准备交付加藤看的资料 > 预计包括: > 版本压缩包 > 英文版or日文版StandardSystem2.0 介绍 > 版本修改记录,参照那个什么updatelist作就可以了,尽量细化到关键点 > HotSaNIC > ntp > svn > fhs > 关于一些敏感问题的解决,比如yum的使用规范(我个人建议制订出现行的StandardSystem中的使用对策) > 最好做一个ppt用来管理 > 下一步工作计划 > 做好ppt,下周用 > > 准备召开StandardSystem学习会
> 给ikeda san制订工作,研究任务 > 和ikeda san要nagios安装配置步骤,总感觉这个东西没啥太大用。。。。。 > 还有一个非常重要的文档
> 那就是 StandardSystem 开发标准 > 也就是管理StandardSystem开发的一个标准 > 比如说,如何为StandardSystem添加一个新模块,添加之后哪些文档需要被更新,要做好哪些工作,有什么注意 > 由于很多脚本都是在CentOS-4.2 上作的, > 某些配置文件和系统内核版本相关,比如HotSaNIC的diskio(建议把auto_config_diskio修改一下) > 还有某些脚本里的命令与系统有关,不是Linux,甚至不是CentOS就不一定有效或者正确了, 一定要注意 > 还有一些脚本和配置文件是和软件版本相关的,不能随便就更新了,要注意 > 如果更新软件版本,要充分考虑版本之间的差异,不光是功能,包括目录结构,兼容性,系统影响等等
> 即使作出对系统没有损害的判断,也要把自己的调查结果总结下来成文档,以备考察,最好发信到stdsys > 一方面可以阐述你的理论,另一方面大家也可以review一下,如果有问题,可以及时改正 > 添加新模块的时候要特别注意是否对现有系统构成影响,如果有冲突,要考虑解决方案,测试也必不可少
> 粗略的考虑一下,添加一个模块或者更新一个文档,或者更新一个模块,很有可能需要修改以下文档
> *. 发布新版本之前,做好测试工作,重点在于新模块或者更新的模块,其他模块有一定可能受到影响,也要测试 > 1. 检查新加的哪些脚本是系统相关的,做好记录,那些是内核相关的,做好记录,那些是软件版本相关的,做好记录 > 这个记录文档需要在ExpressInstall包中补充,或者在开发指南的附录中列出(注意,这个也要更新) > 2. 更新相关文档版本并作出说明 > 3. 如果有需要,你可能还要去修改ExpressInstall/doc文件夹的各个列表文件(暂时有以下这些) > group_list install_OS_from_CD module_md5_list rpm_list user_list version_list > 4. 如果有doc/readme(下一步文档计划内包含),而且readme中包含文档介绍,那么根据需要可能也要更新 > 5. 如果有tools/readme(下一步文档计划内包含),而且readme中包含文档介绍,那么根据需要可能也要更新 > 6. 检查你的更新是否影响到安全策略,比如需要打开什么端口,这个时候显然要特别小心,并一定要更细install_OS_from_CD > 7. 打好ExpressInstall压缩包,表明版本号 > 8. 如果是大的更新,在stdsys 邮件列表中发信说明,如果是小的更新,要做到StandardSystem的开发主管知晓 > 9. 更新80上的ExpressInstall版本管理,更新updatelist(对于重大更新,做出备份版本的updatelist) > 10.如果有必要,更新80上的StandardSystem_Handbook,Install,install_OS_from_CD(后面两个改动可能性比较小) 暂时想到的模块中依赖操作系统的
> 几乎所有sh脚本都需要LINUX支持,大部分perl脚本的操作方法也需要linux环境 > tools/hotsanic_tools/auto_config_diskio,和系统命令相关的部分对系统有依赖性 内核相关的脚本
> tools/hotsanic_tools/auto_config_diskio,关系到HotSaNIC中的diskio模块settings > 还有几个HotSaNIC模块可能有类似问题 > 软件版本相关 > rrdtools 这个软件的版本有些怪异,更新的时候目录结构有些不同,而且使用有差别,更新的时候要慎重,并做好测试 > Mysql-client 现在采用4.1.16-1, 目的是兼容性考虑, 更新的时候要注意,并做好测试 依赖外界网络的脚本
> ntp 时间的更新(考虑外网服务器down掉,虽然可能极小) > cvs/svn 服务器地址和项目路径的更新 > 网关,ip,dns 设定的更新 > StandardSystem目录结构相关
(也就是说假如StandardSystem目录结构需要进行调整的时候,那些文件和模块可能受到影响) > HotSaNIC各个模块的输出位置, 还有stdsys_site_access的监视网页位置(auto_config_stdsys_site_access脚本中) > cvs_check_out 和 svn_check_out > 各个beforebuild build .packlist install uninstall 等等,当然压缩包也要重新打过 > 一些脚本开发原则
> 1. 能读系统文件就读文件,尽量不要去解析命令的输出,有隐患 > todo
> 修改tools/hotsanic_tools/auto_config_diskio成内核无关的 > 添加doc/readme > 添加tools/readme > 需要注意的文件 > dnscache bind策略的研究和添加 > 添加buckup用户和策略(结合qianyu安全策略) > 还有一个文档,是 StandardSystem升级计划
> 也就是说,一个服务器上装有某旧版本StandrdSystem,如果有必要的话,如何把它升级为新版本 > > 还有StandardSystem安装记录要做好 > 以及如何做好server跟踪和提醒,比如版本更新信息 > 还有,server出公司的安全检测策略和流程
> > 今天先把mars的HotSaNIC升级了吧,顺便写一下HotSaNIC升级策略
1. 测试,把原来的页面和图片mv到另一个地方,然后./makeindex.pl ./diagram.pl ./convert > 结果,恢复到原来的样子,说明仅依靠rrd文件就够了,所以页面可以随便删 2. 将ExpressInstall2.0.2放到服务器上,解压缩 3. 停止rrdgraph, echo yes | ./clearall CLEAR_WEBPAGE 4. 将整个/usr/local/HotSaNIC文件夹移动到别的地方 5. 进入 ExpressInstall/base_system/hotsanic文件夹 ./install -f 6. 从刚才被移走的HotSaNIC文件夹中找到所有rrd文件,除了apps模块的rrd文件(由于格式有变化),都移动到相应的模块下面 7. 执行 ExpressInstall/tools/hotsanic_tools/auto_config 脚本, 由于实际情况我不想监控default_site,我修改了一下stdsys_site_access 的settings,去掉了 default_site 8. 启动rrdgraph, 执行./makeindex.pl ./diagram.pl ./convert 9. 监控网页各个数据是否和原来的数据保持一致,如果有很大差异,很有可能新旧模块兼容不好,或者settings有问题,需要解决 2006.7.10 > 今天开了好多会,学到了不少,db第一次听到,感觉不错 > 需求讨论 > TS周会 > 玉麟要装hotsanic 当初安装的时候要装
>beecrypt-devel-3.1.0-6.i386.rpm (CentOS disk4) >elfutils-devel-0.97-5.i386.rpm (CentOS disk4) >elfutils-libelf-devel-0.97-5.i386.rpm (CentOS disk4) >freetype-devel-2.1.9-1.i386.rpm (CentOS disk2) >ImageMagick-6.0.7.1-12.i386.rpm (CentOS disk1) >libart_lgpl-2.3.16-3.i386.rpm (CentOS disk1) >libart_lgpl-devel-2.3.16-3.i386.rpm (CentOS disk3) >libjpeg-devel-6b-33.i386.rpm (CentOS disk2) >lm_sensors-2.8.7-2.i386.rpm (CentOS disk1) >net-snmp-5.1.2-11.EL4.6.i386.rpm (CentOS disk1) >net-snmp-devel-5.1.2-11.EL4.6.i386.rpm (CentOS disk4) >net-snmp-perl-5.1.2-11.EL4.6.i386.rpm (CentOS disk4) >net-snmp-utils-5.1.2-11.EL4.6.i386.rpm (CentOS disk3) >rpm-devel-4.3.3-11_nonptl.i386.rpm (CentOS disk2) 尝试一下模块安装检查
>[yangfang@file adways]$ rpm -qa |grep net-snmp
>net-snmp-5.0.8-11 >net-snmp-devel-5.0.8-11 net-snmp-perl-5.1.2-11.EL4.6.i386.rpm (CentOS disk4) net-snmp-utils-5.1.2-11.EL4.6.i386.rpm (CentOS disk3) >[yangfang@file adways]$ rpm -qa |grep beecrypt >beecrypt-3.0.1-0.20030630 beecrypt-devel-3.1.0-6.i386.rpm (CentOS disk4) >[yangfang@file adways]$ rpm -qa |grep elfutils >elfutils-0.89-1 >elfutils-devel-0.89-1 >elfutils-libelf-0.89-1 >[yangfang@file adways]$ rpm -qa |grep lm_sensors >lm_sensors-2.6.5-6 >[yangfang@file adways]$ rpm -qa |grep rpm >rpm-python-4.2.1-4.2 >redhat-java-rpm-scripts-1.0.2-2 >rpmdb-redhat-3-0.20031007 >redhat-rpm-config-8.0.28-1 >rpm-build-4.2.1-4.2 >rpm-4.2.1-4.2 >rpm-devel-4.2.1-4.2 >[yangfang@file yangfang]$ rpm -qa|grep libjpeg >libjpeg-6b-30 libjpeg-devel-6b-33.i386.rpm (CentOS disk2) >[yangfang@file yangfang]$ rpm -qa|grep libart >libart_lgpl-2.3.11-2 libart_lgpl-devel-2.3.16-3.i386.rpm (CentOS disk3) >[yangfang@file yangfang]$ rpm -qa|grep ImageMagick ImageMagick-6.0.7.1-12.i386.rpm (CentOS disk1) >[yangfang@file yangfang]$ rpm -qa|grep freetype >freetype-2.1.4-4.0 freetype-devel-2.1.9-1.i386.rpm (CentOS disk2) > 计划先用hotsanic_adways装,看看情况
2006.7.11
> 根据昨天的分析,预计还需要7个rpm,找到linux AS3的光盘 > 找到对应的7个rpm net-snmp-perl-5.1.2-11.EL4.6.i386.rpm (CentOS disk4) beecrypt-devel-3.1.0-6.i386.rpm (CentOS disk4) 这两个找不到对应的 net-snmp-utils-5.0.8-11.i386.rpm (r2)
libjpeg-devel-6b-30.i386.rpm (r3) libart_lgpl-devel-2.3.11-2.i386.rpm (r3) ImageMagick-5.5.6-4.i386.rpm (r4) freetype-devel-2.1.4-4.0.i386.rpm (r3) 这五个找到了,装好了就可以用了 还有一点 ln -s /usr/local/rrdtool/lib/perl/RRDp.pm /usr/lib/perl5/site_perl/5.8.0/这句话无效 看了一下perl单独装过,所以现在又链到了/usr/local/lib/perl5/site_perl/5.8.6/i686-linux/ 经过努力,两台服务器装好HotSaNIC了
套路完全不同,都改了好多东西 还好还好,思路还没乱 http://www.mytianwang.cn/cgi-bin/snapshot?url=//162.105.154.3/pub/rhel4/RedHat/RPMS/rpm-devel-4.3.3-7_nonptl.i386.rpm http://file.tianwang.com/cgi-bin/snapshot?url=//162.105.154.2/pub/rhel4/RedHat/RPMS/rpm-devel-4.3.3-7_nonptl.i386.rpm 这两个下到的不是rpm包,也不知道是什么东西,一气之下没装rpm-devel,照样能用,hoho
搞定了,闪人
7.12
> 装了 > 今天主要内容就是开会 > review DB设计 > HotSaNIC的电话会议 > 需求细化会议 > 他人评价动员会议 > 7.13
> 收到检查信件请求
> 特使用S71作为测试服务器检查发信情况 > 现在的sendmail程序是/usr/local/netqmail-1.05/bin/sendmail > 使用logwatch作为测试,当/etc/log.d/logwatch.conf中的MAILTO = yang.fang@adways.ent时,发信正常收信正常 > 当MAILTO = root,yfang 时,收不到信,测试执行/etc/cron.daily/00-logwatch 发信前 >[root@S71 ~]# tail /var/log/qmail/current >@4000000044b5efba3580115c delivery 5: success: did_1+0+0/ >@4000000044b5efba35f7c9cc status: local 0/10 remote 0/20 >@4000000044b5efba35f9c1b4 end msg 5784824 >@4000000044b5efd40ed320bc new msg 5784824 >@4000000044b5efd40ed32c74 info msg 5784824: bytes 229 from <root@local.lua.cn> qp 17909 uid 0 >@4000000044b5efd40f18b154 starting delivery 6: msg 5784824 to local yfang@local.lua.cn >@4000000044b5efd40f18d864 status: local 1/10 remote 0/20 >@4000000044b5efd40f520cec delivery 6: success: did_1+0+0/ >@4000000044b5efd40f53b2cc status: local 0/10 remote 0/20 >@4000000044b5efd40f54a114 end msg 5784824 发信后
>@4000000044b5efd40f520cec delivery 6: success: did_1+0+0/ >@4000000044b5efd40f53b2cc status: local 0/10 remote 0/20 >@4000000044b5efd40f54a114 end msg 5784824 >@4000000044b5f0e505f89e2c new msg 5784824 >@4000000044b5f0e505fa828c info msg 5784824: bytes 1685 from <root@local.lua.cn> qp 18423 uid 0 >@4000000044b5f0e50631328c starting delivery 7: msg 5784824 to local yfang@local.lua.cn >@4000000044b5f0e50631599c status: local 1/10 remote 0/20 >@4000000044b5f0e50668c134 delivery 7: success: did_1+0+0/ >@4000000044b5f0e5066a4fa4 status: local 0/10 remote 0/20 >@4000000044b5f0e5066b361c end msg 5784824 切换到yfang用户,使用mail命令,没有看到信
修改sendmail程序
>[root@S71 ~]# rm -rdf /usr/sbin/sendmail >[root@S71 ~]# ln -s /etc/alternatives/mta /usr/sbin/sendmail 再次执行logwatch给yang.fang@adways.net发信成功 发给yfang失败 发给root失败 看了一下61.129.52.150
/var/spool/mail/root 里面放的是收到了还没有看的信,使用mail命令可以看到
~/mbox里面放的是用户的已经阅读的信 装好160,空机器
cron里echo hello 发信给root 或者 yang.fang@adways.net 都正常 /var/log/maillog中多一条记录 >Jul 13 17:59:03 S160 sendmail[3242]: k6D9x1F5003240: to=<yang.fang@adways.net>, ctladdr=<root@localhost.localdomain> (0/0), delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=120545, relay=mx.adways.net. [59.106.38.90], dsn=2.0.0, stat=Sent (ok 1152786001 qp 3082) 2006.7.14
关闭sendmail服务 再次发信给root /var/log/maillog中多出 >Jul 14 09:25:01 S160 sendmail[22947]: k6E1P11D022947: from=root, size=256, class=0, nrcpts=1, msgid=<200607140125.k6E1P11D022947@localhost.localdomain>, relay=root@localhost >Jul 14 09:25:01 S160 sendmail[22947]: k6E1P11D022947: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30256, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1] root没有收到信 说明的确使用的是sendmail服务进行发信 此时/usr/sbin/sendmail -> /etc/alternatives/mta 重新启动sendmail服务
刚才积累的信会被同一时间发送出去 现在安装qmail-send
>/usr/sbin/sendmail -> /usr/local/qmail/bin/sendmail 给root发送失败
/var/log/qmail/current中会多一条记录,表明找不到邮箱 >@4000000044b70cf325580154 new msg 1028422 >@4000000044b70cf325588a0c info msg 1028422: bytes 436 from <anonymous@local.lua.cn> qp 6039 uid 0 >@4000000044b70cf3288c747c starting delivery 46: msg 1028422 to local root@local.lua.cn >@4000000044b70cf3288c9f74 status: local 1/10 remote 0/20 >@4000000044b70cf328ade314 delivery 46: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/ >@4000000044b70cf328b082f4 status: local 0/10 remote 0/20 >@4000000044b70cf329bd535c bounce msg 1028422 qp 6042 >@4000000044b70cf329be552c end msg 1028422 >@4000000044b70cf329c1df6c new msg 1028590 >@4000000044b70cf329c27bac info msg 1028590: bytes 975 from <> qp 6042 uid 200609 >@4000000044b70cf32ad3d43c starting delivery 47: msg 1028590 to local anonymous@local.lua.cn >@4000000044b70cf32ad4031c status: local 1/10 remote 0/20 >@4000000044b70cf32af43d1c delivery 47: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/ >@4000000044b70cf32af6ec9c status: local 0/10 remote 0/20 >@4000000044b70cf32b478d3c bounce msg 1028590 qp 6045 >@4000000044b70cf32b48873c end msg 1028590 >@4000000044b70cf32b4bfdf4 new msg 1028588 >@4000000044b70cf32b4c9e1c info msg 1028588: bytes 1428 from <#@[]> qp 6045 uid 200609 >@4000000044b70cf32cfc78cc starting delivery 48: msg 1028588 to local postmaster@local.lua.cn >@4000000044b70cf32cfc9fdc status: local 1/10 remote 0/20 >@4000000044b70cf32d1caafc delivery 48: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/ >@4000000044b70cf32d1f430c status: local 0/10 remote 0/20 >@4000000044b70cf32d201dcc triple bounce: discarding bounce/1028588 >@4000000044b70cf32d20f88c end msg 1028588 改为给yang.fang@adways.net发信,正常
>@4000000044b70a9b2fdb1b34 info msg 1028422: bytes 455 from <anonymous@local.lua.cn> qp 5590 uid 0 >@4000000044b70a9b3120e974 starting delivery 32: msg 1028422 to remote yang.fang@adways.net >@4000000044b70a9b31211854 status: local 0/10 remote 1/20 >@4000000044b70a9f0e51b004 delivery 32: success: 59.106.38.90_accepted_message./Remote_host_said:_250_ok_1152847750_qp_626/ >@4000000044b70a9f0e53619c status: local 0/10 remote 0/20 >@4000000044b70a9f0e544fe4 end msg 1028422 改为给yfang发信,yfang的home文件夹下面会多一个MailBox文件,可以看到信件,正常接到
>@4000000044b70c3f11448264 new msg 1028422 >@4000000044b70c3f11448e1c info msg 1028422: bytes 438 from <anonymous@local.lua.cn> qp 5903 uid 0 >@4000000044b70c3f13ec558c starting delivery 39: msg 1028422 to local yfang@local.lua.cn >@4000000044b70c3f13ec6914 status: local 1/10 remote 0/20 >@4000000044b70c3f14456a3c delivery 39: success: did_1+0+0/ >@4000000044b70c3f144579dc status: local 0/10 remote 0/20 >@4000000044b70c3f144581ac end msg 1028422 再次发信测试 $echo to: yfang | /var/qmail/bin/qmail-inject 马上就看到/home/yfang/MailBox 收到一封信,还是彩色的,hoho >From yfang@local.lua.cn Fri Jul 14 03:30:54 2006 >Return-Path: <yfang@local.lua.cn> >Delivered-To: yfang@local.lua.cn >Received: (qmail 6627 invoked by uid 500); 14 Jul 2006 03:30:54 -0000 >Date: 14 Jul 2006 03:30:54 -0000 >Message-ID: <20060714033054.6626.qmail@local.lua.cn> >From: yfang@local.lua.cn >to: yfang@local.lua.cn 现在尝试alias
>2.5 建立系统别名 > #(cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root) > # chmod 644 ~alias/.qmail* 事实上,在创建~alias/.qmail-root这个文件之后就不会在qmail的log中报错找不到这个用户了
echo "yang.fang@adways.net">/var/qmail/alias/.qmail-root
在给root发信的话会发给yang.fang@adways.net 成功转信...happy 这里记一个sendmail的发信测试
>[root@S160 ~]# telnet 127.0.0.1 25 >Trying 127.0.0.1... >Connected to S160 (127.0.0.1). >Escape character is '^]'. >220 localhost.localdomain ESMTP Sendmail 8.13.1/8.13.1; Fri, 14 Jul 2006 16:09:28 +0800 >helo yfang #打个招呼先 >250 localhost.localdomain Hello S160 [127.0.0.1], pleased to meet you >mail from:root@localhost.localdomain #发件人 >250 2.1.0 root@localhost.localdomain... Sender ok >rcpt to:yfang@localhost.localdomain #收件人 >250 2.1.5 yfang@localhost.localdomain... Recipient ok >data #表明要说话了 >354 Enter mail, end with "." on a line by itself >hello yfang test >hoho >. #表明说话结束 >250 2.0.0 k6E89SbW004680 Message accepted for delivery >quit #退出 >221 2.0.0 localhost.localdomain closing connection >Connection closed by foreign host. vi /var/mail/yfang,里面就有上面的信了
记一下 /tmp 1G 改为 2G, 80上的 install_os_from_CD 改了 压缩包里的没有更新======================================================================================= 写好StsSys计划
202.109.114.146 FatBigPig 也没有问题 2006.7.18 > 刚一来就听说146HotSaNIC坏了,说是perl重装了
> 以前从来没有看过一眼hotsanic的log /usr/local/HotSaNIC/var/log/HotSaNIC.log
> 还有一个是/usr/local/HotSaNIC/settings文件中的DEBUGLEVEL参数, > 调整这个值可以看到很多需要的信息,在log中 > 轻松发现问题,重新做了RRDp.pm等文件的三个符号连接,搞定 > > [root@db ~]# vi /etc/aliases 最后一行改为root: liu.min@adways.net [root@db ~]# newaliases vi /etc/crontab 在最后添加一行* * * * * root echo hello 保存 2分钟后liu.min@adways.net收到信 测试成功后把/etc/aliases和/etc/crontab两个文件中的测试部分注释掉或者删掉并且newalias 邮件转发策略: 第一步,检查当前使用的是什么邮件服务 如果结果类似下面的情况,则是使用sendmail,不管你是否已经安装和运行qmail [root@FatBigPig ~]# ll /usr/sbin/sendmail lrwxrwxrwx 1 root root 21 Apr 20 11:16 /usr/sbin/sendmail -> /etc/alternatives/mta 如果结果类似下面的情况,则是使用qmail lrwxrwxrwx 1 root root 23 2005-04-18 /usr/sbin/sendmail -> /var/qmail/bin/sendmail 第二步,测试转发 1.对于sendmail [root@db ~]# vi /etc/aliases 最后一行改为root: liu.min@adways.net [root@db ~]# newaliases vi /etc/crontab 在最后添加一行* * * * * root echo hello 保存 2分钟后liu.min@adways.net收到信 测试成功后把/etc/aliases和/etc/crontab两个文件中的测试部分注释掉或者删掉 2.对于qmail # echo liu.min@adways.net > ~alias/.qmail-root # chmod 644 ~alias/.qmail-root # newaliases # vi /etc/crontab 在最后添加一行* * * * * root echo hello 保存 2分钟后liu.min@adways.net收到信 测试成功后把~alias/.qmail-root和/etc/crontab两个文件中的测试部分删掉或者改成需要的样子 2006.7.19
> 今天开了好多会 > 分配给黄帅任务 > 翟桂锋要进来做stdsys > 比价搜索继续写pageflow,明天要交 > mail问题给chanet,等待确认 > mars上面出了点问题,上百个perl ./readdata.pl 在执行,经查看原因应该是cron里面跑了两个restart
> 这种情况在load很低的服务器上可能见不到,但是在有一定负荷的服务器上就可能导致同一时间的两个restart工作紊乱 > 以后要注意,cron里面不要有重复的话、 StandardSystem_Handbook_JP发布
> linux学习计划加紧制定
2006.7.20
把买家页面的pageflow做好,review,ok
2006.7.21
比价继续
PC230废掉了,研究拯救方案,时间太晚了,回来再说 明天是上市庆祝会,准备一下 2006.7.24
> Mars down了一次,莫名其妙的原因
>[root@Mars www.yfang.cn]# rpm -qa|xargs -n1 rpm -V
>........C /usr/lib/gconv/gconv-modules.cache >S.5....TC /usr/lib/perl5/5.8.5/CGI.pm >.......TC /usr/lib/perl5/5.8.5/CGI/Apache.pm >S.5....TC /usr/lib/perl5/5.8.5/CGI/Carp.pm >S.5....TC /usr/lib/perl5/5.8.5/CGI/Cookie.pm >S.5....TC /usr/lib/perl5/5.8.5/CGI/Fast.pm >S.5....TC /usr/lib/perl5/5.8.5/CGI/Pretty.pm >.......TC /usr/lib/perl5/5.8.5/CGI/Push.pm >.......TC /usr/lib/perl5/5.8.5/CGI/Switch.pm >S.5....TC /usr/lib/perl5/5.8.5/CGI/Util.pm >..5...... /usr/lib/rpmdb/i386-redhat-linux/CentOS/__db.001 >..5...... /usr/lib/rpmdb/i386-redhat-linux/CentOS/__db.002 >..5...... /usr/lib/rpmdb/i386-redhat-linux/CentOS/__db.003 >........C c /usr/share/info/dir >S.5....T. c /etc/pam.d/system-auth >.......T. c /etc/inittab >S.5....T. c /etc/rc.d/rc.local >S.5....T. c /etc/openldap/ldap.conf >S.5....T. c /etc/crontab >.......T. c /etc/pam_smb.conf >S.5....T. c /etc/ppp/chap-secrets >S.5....T. c /etc/ppp/pap-secrets >.M....... /etc/cups >.M5....TC c /etc/xinetd.d/cups-lpd >.M....... /var/spool/cups/tmp >.......T. c /etc/yp.conf >missing /usr/java/jdk1.5.0_07/jre/lib/charsets.pack >missing /usr/java/jdk1.5.0_07/jre/lib/deploy.pack >missing /usr/java/jdk1.5.0_07/jre/lib/ext/localedata.pack >missing /usr/java/jdk1.5.0_07/jre/lib/javaws.pack >missing /usr/java/jdk1.5.0_07/jre/lib/jsse.pack >missing /usr/java/jdk1.5.0_07/jre/lib/plugin.pack >missing /usr/java/jdk1.5.0_07/jre/lib/rt.pack >missing /usr/java/jdk1.5.0_07/lib/tools.pack >S.5....T. c /root/.bash_profile >S.5....T. c /root/.bashrc >........? /proc >........? /selinux >........? /sys >.......T. c /etc/krb5.conf >S.5....T. c /etc/selinux/targeted/booleans >.......T. c /etc/libuser.conf >S.5....T. c /etc/mailcap >S.5....T. c /etc/mime.types >.......TC c /etc/xinetd.d/rsync >S.5....TC c /etc/xinetd.d/eklogin >S.5....TC c /etc/xinetd.d/gssftp >S.5....TC c /etc/xinetd.d/klogin >S.5....TC c /etc/xinetd.d/krb5-telnet >S.5....TC c /etc/xinetd.d/kshell >S.5....T. c /etc/ldap.conf >S.5....T. c /etc/ssh/sshd_config >.......T. c /etc/mail/sendmail.cf >........? /var/lib/nfs/rpc_pipefs >.....UG.. /var/lib/nfs/statd >S.5....T. c /etc/sysconfig/pcmcia >S.5....TC c /etc/sysconfig/rhn/up2date-uuid >S.5....TC c /etc/xinetd.d/chargen >.......TC c /etc/xinetd.d/chargen-udp >S.5....TC c /etc/xinetd.d/daytime >S.5....TC c /etc/xinetd.d/daytime-udp >S.5....TC c /etc/xinetd.d/echo >S.5....TC c /etc/xinetd.d/echo-udp >S.5....TC c /etc/xinetd.d/time >S.5....TC c /etc/xinetd.d/time-udp >missing /usr/java/jre1.5.0_07/lib/charsets.pack >missing /usr/java/jre1.5.0_07/lib/deploy.pack >missing /usr/java/jre1.5.0_07/lib/ext/localedata.pack >missing /usr/java/jre1.5.0_07/lib/javaws.pack >missing /usr/java/jre1.5.0_07/lib/jsse.pack >missing /usr/java/jre1.5.0_07/lib/plugin.pack >missing /usr/java/jre1.5.0_07/lib/rt.pack >cat test.txt|awk '/^-/{print $0};/^[^-]/{i++;print i "." $0}' # roy >sed s/{-}//g 文件名 | grep '^[A-Za-z0-9]' | cat -n # stoneboy
>perl -e '$i++ ;' -i -pe 's/^[^-]/$i.$1/g' testfile # yangfang
>#! /usr/bin/env python #cppgx
> >import re, sys > >i = 1 >print '%d.' % i, >for line in sys.stdin.readlines(): > line = line.strip() > print line > m = re.match('-*', line) > if m.start() == 0 and m.end() == len(line): > i = i + 1 > print '%d.' % i, > 试图恢复PC230 开始的时候mount 失败 使用fsck.ext3 -n /dev/sdb1 (硬盘检测,不做任何修改) 一堆错误 使用fsck.ext3 -p /dev/sdb1 (自动修复) 修复失败,事实上根本就没有开始,说superblock失败 无奈使用fsck.ext3 -y /dev/sdb1 (对所有判断都选择yes), 修复了一片 >Pass 1: Checking inodes, blocks, and sizes >Pass 2: Checking directory structure >Pass 3: Checking directory connectivity >Pass 4: Checking reference counts 最后报Segmentation fault fsck.ext3 -c -v /dev/sdb1 (检测受损block,并将他们放到badblock 列表中), 这个做了很长时间,还是那样,最后报Segmentation fault 这个时候再次尝试mount /dev/sdb1 -t ext3 /mnt/sdb (当然,要事先建好/mnt/sdb) 成功 进入目录,发现/mnt/sdb/server没有了,大量文件损失,数据文件丢失 进入/mnt/sdb/home目录,发现目录名和目录属性不正常,应该是数据修复的时候出的错误 打包整个sdb目录,保存到本地 > 钱老板这边mars也有点诡异,不得不谨慎的备份一下数据
2006.7.25 > alias rm=\'echo please use srm instead, if you really want rm, use /bin/rm\' 登录时候提示错误
> 改为 alias rm='echo please use srm instead, if you really want rm, use /bin/rm' >
2006.7.26
> 开始带解航,黑龙江小伙子,有点毛糙,呵呵,慢慢来吧
2006.7.27
> 继续带解航
> 钱老板撞了一个vmware server在ADVALUE上,不错,这回不用占用本地资源跑虚拟机了,赞啊赞!娃哈哈 > 测试一健恢复,发现问题,按照钱宇的思路,一定要删除/下面大部分东西才觉得干净的话,有很多地方需要注意 > 1. 打包的时候就发现有很多东西不能打包,所以打包的时候要去掉/etc /proc /sys ,当然还有你当前操作的目录 > 2. 大部分命令都是要调用/lib的,所以即便把tar gz 等命令cp出来,在/lib被删除后也是不能执行的,所以/lib是不能删除的, > 但是为了防止中毒或者被恶意修改的lib干扰,还是建议打包打进去,解压会覆盖 2006.7.28
>tar zxfP system.tar.gz / -X ex_file
>开始制定一个策略, 1. 先关闭各种服务 2. 备份 /lib 3. 备份除 /lib /etc /proc /sys /dev 的 / 4. 恢复 /lib 5. 删除除了 /lib /etc /proc /sys /dev /selinux 还有/var下面一点东西的 / 6. 恢复其他文件 经过测试,证明有问题 重启之后进入grub 发现一个好地方
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/zh_tw/ http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/zh_cn 有很多关于RHEL 4 的系统安全和基础使用的详细文档,非常有用 还有一个更有名的,不过比较大的AMANDA,应该是相当厉害的一个工具
tar zxvf a.tar.gz -C /tmp 解压到/tmp下去
2006.7.30
> 批量处理图片的命令 > 1. for i in *.jpg; do convert -resize 1024x768 $i `basename $i .jpg`.r.jpg; done 批量resize图片 > 2. To convert all the TIFF files in a particular directory to JPEG, use: > mogrify -format jpeg *.tiff basename string ex 获得的结果是文件的本名(ex为'.扩展名'),相当于把后面ex截掉,当然前面路径的/也没了
这个很有用,比如 basename /usr/local/src/yfang.txt .txt 结果就是yfang 测试 flexbackup
配置好vi /etc/flexbackup.conf (大概就是配置一下 $type,$device,$buffer(我是本地操作,没装这个,置为false了)什么的) [root@V227 tmp]# flexbackup -dir /home
flexbackup version 1.2.1 (http://flexbackup.sourceforge.net)
/etc/flexbackup.conf syntax OK |------------------------------------------------------------
| Checking /bin/sh on this machine... bash1 |------------------------------------------------------------ | Doing level 0 backup of /home using tar |------------------------------------------------------------ | Backup of: /home | Date of this level 0 backup: Sun Jul 30 13:06:15 2006 | Date of last level 0 backup: the epoch |------------------------------------------------------------ | cd "/home" && /tmp/collectexit.16846.sh find . -depth -xdev ! -type s ! \ | -regex ".*/[Cc]ache/.*" ! -regex ".*~"$ -print0 | \ | /tmp/collectexit.16846.sh tar --create --null --files-from=- \ | --ignore-failed-read --same-permissions --no-recursion --totals --label \ | "level 0 /home Sun Jul 30 13:06:15 2006 tar+gzip from V227" --verbose \ | --sparse -b 20 --file - | /tmp/collectexit.16846.sh gzip -4 | \ | /tmp/collectexit.16846.sh dd ibs=10k obs=10k conv=noerror \ | of="/dev/sda1" | [ ! -e /tmp/exitstatus.16846 ] |------------------------------------------------------------ level 0 /home Sun Jul 30 13:06:15 2006 tar+gzip from V227 ./mysql/.bash_profile ./mysql/.bashrc ./mysql/.bash_logout ./mysql/ ./apache_admin/.bash_profile ./apache_admin/.bashrc ./apache_admin/.bash_logout ./apache_admin/ ./ Total bytes written: 10240 (10KiB, ?/s) 0+1 records in 0+1 records out |------------------------------------------------------------ | Backup start: Sun Jul 30 13:06:15 2006 | Backup end: Sun Jul 30 13:06:15 2006 |------------------------------------------------------------ | Compressing log (home.0.200607301306.gz) | Linking home.latest.gz -> home.0.200607301306.gz |------------------------------------------------------------ 多了这样一个东西-rw-r--r-- 1 root root 544 Jul 30 13:06 /var/log/flexbackup/home.0.200607301306.gz
然后嘛,测试,在原来的文件夹下做出添加文件,删除文件,修改文件的操作,看一下恢复的结果如何 flexbackup -extract
查看结果, 1. 被删除的文件 => 恢复 2. 被修改的文条件 => 恢复 3. 新加的文件 => 没有变化 实际上感觉就和直接解压效果一样
不知道有没有文件夹硬覆盖的参数 关于sed的使用小细节
现在有一个文件test中内容如下 1 hello 2 hi 3 yfang 调用类似的命令得到不同的结果:
测试1:前后都没有"" for line in `sed -e '/*/p' test`; do echo $line; done > 输出结果 1 hello 2 hi 3 yfang 测试2:前面有"",后面输出没有""
for line in "`sed -e '/*/p' test`"; do echo $line; done > 输出结果 1 hello 2 hi 3 yfang 测试3:前面后面都有""
for line in "`sed -e '/*/p' test`"; do echo "$line"; done > 输出结果 1 hello 2 hi 3 yfang 这个大概是想要的输出了,关于前面参数的"",可以理解成""更有效的把不同行的参数分开解释
后面一个输出中的""就不懂了,为何 echo $line会有这种结果 更改前两天的一健策略
1. 先关闭各种服务 2. 备份 /lib 3. 备份除 /lib /etc /proc /sys /dev 的 / 4. 恢复 /lib 6. 恢复其他文件 经过测试,通过 看来问题就出现在删除上面 一台干净机器,使用up2date命令时,第一次提示更改配置,随即会出现一个文件,如果你还想看到刚才的提示画面,删掉这个文件
还有一个提示
Enter number of item to edit <return to exit, q to quit without saving>: Your GPG keyring does not contain the CentOS public key. Without it, you will be unable to verify that packages Update Agent downloads are securely signed by CentOS. Your Update Agent options specify that you want to use GPG.
To install the key, run the following as root:
rpm --import /usr/share/rhn/RPM-GPG-KEY 按照他说的,执行rpm --import /usr/share/rhn/RPM-GPG-KEY
执行up2date 前面居然通过了 71还是一直不过,研究了一下,把/var/spool/up2date/下的东东清光,再次执行up2date -i trac, 好了 :)
漫长的等待,关了 2006.7.31
> 号称今天是七夕 > 吸取昨天的经验教训,先在V228和S71上执行up2date -i trac > 一如昨天的慢,不过有一点让我比较欣喜,两边的进程都可以延续昨天中断的地方,不过当然不是进程控制的, > 而是因为我做的事情和昨天一样,它只不过不用去下载昨天下过的包了 两个小时以后.....
>[root@V228 ~]# up2date -i trac > >Fetching Obsoletes list for channel: centos4-Base... > >Fetching Obsoletes list for channel: centos4-Updates... > >Fetching Obsoletes list for channel: centos4-extras... > >Fetching Obsoletes list for channel: centos4-addons... > >Fetching Obsoletes list for channel: rpmforge... > >Fetching rpm headers... >######################################## > >Name Version Rel >---------------------------------------------------------- >trac 0.9.6 1.el4.rf noarch > > >Testing package set / solving RPM inter-dependencies... > >Downloading headers to solve dependencies... >####################################### >Downloading headers to solve dependencies... >######################################## >httpd-2.0.52-22.ent.centos4 ########################## Done. >python-clearsilver-0.10.1-1 ########################## Done. >warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 6b8d79e6 >The package python-clearsilver-0.10.1-1.2.el4.rf is signed, but with an unknown GPG key. Aborting... >Package python-clearsilver-0.10.1-1.2.el4.rf has a unknown GPG signature. > Aborting... 解决方案,添加 --nosig参数表明不做GPG sig验证, 这里再说明一点,这里还没有安装rpmforge呢,看来也能用 >[root@V228 ~]# up2date -i --nosig trac > >Fetching Obsoletes list for channel: centos4-Base... > >Fetching Obsoletes list for channel: centos4-Updates... > >Fetching Obsoletes list for channel: centos4-extras... > >Fetching Obsoletes list for channel: centos4-addons... > >Fetching Obsoletes list for channel: rpmforge... > >Fetching rpm headers... >######################################## > >Name Version Rel >---------------------------------------------------------- >trac 0.9.6 1.el4.rf noarch > > >Testing package set / solving RPM inter-dependencies... > >Downloading headers to solve dependencies... >####################################### >Downloading headers to solve dependencies... >######################################## >httpd-2.0.52-22.ent.centos4 ########################## Done. >python-clearsilver-0.10.1-1 ########################## Done. >trac-0.9.6-1.el4.rf.noarch. ########################## Done. >clearsilver-0.10.1-1.2.el4. ########################## Done. >httpd-suexec-2.0.52-22.ent. ########################## Done. >Preparing ########################################### [100%] > >Installing... > 1:clearsilver ########################################### [100%] > 2:python-clearsilver ########################################### [100%] > 3:httpd ########################################### [100%] > 4:trac ########################################### [100%] > 5:httpd-suexec ########################################### [100%] >The following packages were added to your selection to satisfy dependencies: > >Name Version Release >-------------------------------------------------------------- >httpd 2.0.52 22.ent.centos4 >python-clearsilver 0.10.1 1.2.el4.rf >clearsilver 0.10.1 1.2.el4.rf >httpd-suexec 2.0.52 22.ent.centos4 经董义同学验证,都装好了,总算没有白忙
svnadmin help trac-admin help svnadmin create path/to/repos svn import path/to/workspace svn checkout .... 再次换机器尝试使用yum install
默认的源里没有dag等东东 cd /etc/yum.repos.d/ 添加一个文件dag.repo >[root@S160 yum.repos.d]# vi dag.repo [dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1 >[root@S160 yum.repos.d]# yum install trac >Setting up Install Process >Setting up repositories >dag 100% |=========================| 1.1 kB 00:00 >update 100% |=========================| 951 B 00:00 >base 100% |=========================| 1.1 kB 00:00 >addons 100% |=========================| 951 B 00:00 >extras 100% |=========================| 1.1 kB 00:00 >Reading repository metadata in from local files >primary.xml.gz 100% |=========================| 1.6 MB 00:10 >dag : ################################################## 4442/4442 >Added 4442 new packages, deleted 0 old in 22.28 seconds >Parsing package install arguments >Resolving Dependencies >--> Populating transaction set with selected packages. Please wait. >---> Downloading header for trac to pack into transaction set. >trac-0.9.6-1.el4.rf.noarc 100% |=========================| 36 kB 00:01 >---> Package trac.noarch 0:0.9.6-1.el4.rf set to be updated >--> Running transaction check >--> Processing Dependency: python-clearsilver >= 0.9.3 for package: trac >--> Processing Dependency: webserver for package: trac >--> Restarting Dependency Resolution with new changes. >--> Populating transaction set with selected packages. Please wait. >---> Downloading header for httpd to pack into transaction set. >httpd-2.0.52-22.ent.cento 100% |=========================| 62 kB 00:01 >---> Package httpd.i386 0:2.0.52-22.ent.centos4 set to be updated >---> Downloading header for python-clearsilver to pack into transaction set. >python-clearsilver-0.10.1 100% |=========================| 2.6 kB 00:00 >---> Package python-clearsilver.i386 0:0.10.1-1.2.el4.rf set to be updated >--> Running transaction check >--> Processing Dependency: clearsilver = 0.10.1 for package: python-clearsilver >--> Processing Dependency: httpd-suexec for package: httpd >--> Restarting Dependency Resolution with new changes. >--> Populating transaction set with selected packages. Please wait. >---> Downloading header for clearsilver to pack into transaction set. >clearsilver-0.10.1-1.2.el 100% |=========================| 16 kB 00:00 >---> Package clearsilver.i386 0:0.10.1-1.2.el4.rf set to be updated >---> Downloading header for httpd-suexec to pack into transaction set. >httpd-suexec-2.0.52-22.en 100% |=========================| 21 kB 00:00 >---> Package httpd-suexec.i386 0:2.0.52-22.ent.centos4 set to be updated >--> Running transaction check > >Dependencies Resolved > >============================================================================= > Package Arch Version Repository Size >============================================================================= >Installing: > trac noarch 0.9.6-1.el4.rf dag 520 k >Installing for dependencies: > clearsilver i386 0.10.1-1.2.el4.rf dag 192 k > httpd i386 2.0.52-22.ent.centos4 base 887 k > httpd-suexec i386 2.0.52-22.ent.centos4 base 28 k > python-clearsilver i386 0.10.1-1.2.el4.rf dag 181 k > >Transaction Summary >============================================================================= >Install 5 Package(s) >Update 0 Package(s) >Remove 0 Package(s) >Total download size: 1.8 M >Is this ok [y/N]: y >Downloading Packages: >(1/5): trac-0.9.6-1.el4.r 100% |=========================| 520 kB 00:04 >(2/5): httpd-2.0.52-22.en 100% |=========================| 887 kB 00:05 >(3/5): clearsilver-0.10.1 100% |=========================| 192 kB 00:02 >(4/5): httpd-suexec-2.0.5 100% |=========================| 28 kB 00:00 >(5/5): python-clearsilver 100% |=========================| 181 kB 00:02 >warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 6b8d79e6 > > >Public key for trac-0.9.6-1.el4.rf.noarch.rpm is not installed 研究对策
>[root@S160 yum.repos.d]# vi dag.repo 把里面的gpgcheck=1改为gpgcheck=0 再试..... >[root@S160 yum.repos.d]# yum install trac >Setting up Install Process >Setting up repositories >dag 100% |=========================| 1.1 kB 00:00 >update 100% |=========================| 951 B 00:00 >base 100% |=========================| 1.1 kB 00:00 >addons 100% |=========================| 951 B 00:00 >extras 100% |=========================| 1.1 kB 00:00 >Reading repository metadata in from local files >Parsing package install arguments >Resolving Dependencies >--> Populating transaction set with selected packages. Please wait. >---> Package trac.noarch 0:0.9.6-1.el4.rf set to be updated >--> Running transaction check >--> Processing Dependency: python-clearsilver >= 0.9.3 for package: trac >--> Processing Dependency: webserver for package: trac >--> Restarting Dependency Resolution with new changes. >--> Populating transaction set with selected packages. Please wait. >---> Package httpd.i386 0:2.0.52-22.ent.centos4 set to be updated >---> Package python-clearsilver.i386 0:0.10.1-1.2.el4.rf set to be updated >--> Running transaction check >--> Processing Dependency: clearsilver = 0.10.1 for package: python-clearsilver >--> Processing Dependency: httpd-suexec for package: httpd >--> Restarting Dependency Resolution with new changes. >--> Populating transaction set with selected packages. Please wait. >---> Package clearsilver.i386 0:0.10.1-1.2.el4.rf set to be updated >---> Package httpd-suexec.i386 0:2.0.52-22.ent.centos4 set to be updated >--> Running transaction check > >Dependencies Resolved > >============================================================================= > Package Arch Version Repository Size >============================================================================= >Installing: > trac noarch 0.9.6-1.el4.rf dag 520 k >Installing for dependencies: > clearsilver i386 0.10.1-1.2.el4.rf dag 192 k > httpd i386 2.0.52-22.ent.centos4 base 887 k > httpd-suexec i386 2.0.52-22.ent.centos4 base 28 k > python-clearsilver i386 0.10.1-1.2.el4.rf dag 181 k > >Transaction Summary >============================================================================= >Install 5 Package(s) >Update 0 Package(s) >Remove 0 Package(s) >Total download size: 1.8 M >Is this ok [y/N]: y >Downloading Packages: >warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 443e1821 >Public key for httpd-2.0.52-22.ent.centos4.i386.rpm is not installed >Retrieving GPG key from http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 >Importing GPG key 0x443E1821 "CentOS-4 key <centos-4key@centos.org>" >Is this ok [y/N]: y >Key imported successfully >Running Transaction Test >Finished Transaction Test >Transaction Test Succeeded >Running Transaction > Installing: clearsilver ######################### [1/5] > Installing: python-clearsilver ######################### [2/5] > Installing: httpd ######################### [3/5] > Installing: trac ######################### [4/5] > Installing: httpd-suexec ######################### [5/5] > >Installed: trac.noarch 0:0.9.6-1.el4.rf >Dependency Installed: clearsilver.i386 0:0.10.1-1.2.el4.rf httpd.i386 0:2.0.52-22.ent.centos4 httpd-suexec.i386 0:2.0.52-22.ent.centos4 python-clearsilver.i386 0:0.10.1-1.2.el4.rf >Complete! OK! 这个速度又快又好,真是好东西啊~~
这时候突然发现在安装rpmforge的时候,这个东西往/etc/yum.repos.d/下面扔了一个叫做rpmforge.repo的文件
内容如下: # Name: RPMforge RPM Repository for Red Hat Enterprise 4 - dag # URL: http://rpmforge.net/ [rpmforge] name = Red Hat Enterprise $releasever - RPMforge.net - dag #baseurl = http://apt.sw.be/redhat/el4/en/$basearch/dag mirrorlist = http://apt.sw.be/redhat/el4/en/mirrors-rpmforge #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge enabled = 1 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1 其实如果不想动手的话,对于一台干净的CentOS4.2 可以直接 yum -i rpmforge yum -i trac 再看V227
cat ex_files >/lib >/etc >/proc >/sys >/selinux >/dev >/whole.tar.gz >/ex_file 现在要尝试删除后的恢复,看看问题出在什么地方 要删除的列表 >bin command home lost+found misc opt root srv tmp >boot initrd media mnt sbin service usr 其中bin要小心,建议采用和/lib一样的策略来处理,删除的时候不要动 出现一堆[<c01716d7>] do_open+0x2c1/0x4c6
哈哈,好的,赞~~成功咯!
现在只差/var没有试过,再试一次 7月4日 学习笔记2006.62006.6.1 系统安全策略 关于超时的perl书写方法,用eval
200610 这个用户被backup用户占用了 在http://linux.maruhn.com/sec/safedelete.html 下载到 safedelete-1.3-10.i386.rpm 装好以后vi ~/.bashrc 就好了,hoho
>fg 命令用来激活某个被挂起的进程并使它在前台运行。当有一个进程正在运行时,由于某种原因需要挂起它,在执行完其他任务后,需要重新把这一进程调到前台运行,这时便可用bg命令使这一进程继续运行。 看了一眼/etc/sysconfig/selinux 恩... 2006.6.2 >今天去漕河泾网通机房跑了一趟,三楼M机房4-11-14, 突然想起来要把文档弄到cvs上去 看到一个叫做qmailadmin的东西,还有Qmail-oaster,还没深入研究, pureftp重新编译,添加跟踪连接的参数 总觉得自己在学一些杂七杂八的皮毛,什么都没学会的感觉~~~~不好 2006.6.5 > 今天cch生日,五月初十~~ > 开始写文档,乱七八糟的... > 所以以后要是再做这个事情,就算不用改主机名,这个文件一定要照顾到 > 有空写写那个hotsanic自动配置脚本 2006.6.6 > 尽管不一定有用,我还是想写hotsanic自动配置的脚本
添加网站的流程(假设现在的服务器ip为server_ip,新加站点叫做www.new.com)
skip-name-resolve my.cnf标准里去 2006.6.7 一条很厉害的命令netstat -ni|grep [0-9] |awk '{print $1}'|sed s/\*//|uniq 不过这个东西处理的时候要看清啊 2006.6.9 uptime_hour问题 (done) > 修改makeindex.pl 添加下面三句话 config_app (done) 2006.6.10 mv psaxc /usr/local/bin 这种写法挺好看,学习一下
想到一个问题,把各个网站的log增长率统计一下,最好做成hotsanic的一个模块 2006.6.12 > 罗的qmail问题,不能收21上smtp的信.....奇怪,看log都是正常的,别的机器上smtp发给luo也没问题
> setup (ez,done) 2006.6.13 rrdtimer.pl 定时调用各个模块的read-data.pl > 今天先把那个auto_config给弄下来吧,要不然standardsystem表面上看也太没有进步了 > 奇怪的问题,自从使用psaxc之后,凌晨cron充起之后监控app的就显示失败了,/usr/local/HotSaNIC/rrdgraph restart才可以 > 76做一下测试 rpm的install脚本有点问题,当时测试反注释的东西忘了弄回来了 > 奇怪的事情真多,diskio没有rrd被记录,奇怪~~ 做成 ExpressInstall-CentOS-2.0-beta_10.tar.gz 包含hotsanic的标准配置,不含stdsys_site_access > nnd,继续研究add module > my.cnf系列配置==>自动配置.....======================== 修改一个rpm检测的bug echo y|command .... cool~ (done beta_11) 2006.6.14 > beta_11 修改hotsanic build脚本,更新hotsanic beforebuild > 添加skip-name-resolve (done beta_11) > 对了,app目录下应该放一个HotSaNIC的控制脚本 (done beta_11) " unable to find IPv4 address "S37" " 看一下 /etc/hosts 中的列表有没有S37 安装37/151/152/153/154五台机器 > config_part 要改了 /dev/mapper/VolGroup00-LogVol00 太长了,把输出格式弄乱了,解析出错了 去掉包里的 stdsys_site_access (done beta_13) diskio 的数字和模块对应表做好 (done beta_13) 2006.6.15 2006.6.16 在考虑如何表现log变化的时候,突然想到一个好主意 说白了吧;stdsys_site_access_pre1中最大缺点在于对于大log和小log,差别表现程度不同 第一种表示已经实现。。。。娃哈哈~~ 真不容易,把makeindex.pl改好了~~累死了~~ 2006.6.17 需要注意的一点,-u 和 -l的用法很有特点,它不是限制图像的大小(当然如果想限制就加-r) > 不过有一个小问题,那就是setting不统一啊 > 值得期待的beta_13,下周一出炉 2006.6.19 > 还有一个数据,我在访问量几乎为零的一个网站上作测试,访问一下log增长332byte,图像中的波动显示峰值大约33byte > 听了文化人的纪律学习会,不错不错,pf > 教孟祥堃装机,恩,这小伙有点糙,慢慢来 > 磊哥布置学习任务,开始学习 > logwatch,这个东西,可有可无吧,先加上,反正什么模块都不用加,只要写一句cron,最多配置一下 把这个加到cron里,每天跑一次,logwatch --detail High --mailto yang.fang@adways.net(server_admin@adways.net) 1. beforebuild (这个可以省掉了) 2006.6.20 > 在/etc/cron.daily/下有一个00-logwatch -> ../log.d/scripts/logwatch.pl,从装好机器的那时起就装好了 > logwatch? logcheck? 2006.6.21 > 磊哥让我研究 易趣,淘宝,当当,卓越,阿里巴巴几个网站的运行模式以及和我们要做的工作的异同点 2006.6.22 > 新蛋 http://www.newegg.com.cn 最大的IT数码购物网站
2006.6.23 > to do : 写一下handbook,把stdsys2.0发布掉 yum的mirror网站往往速度不够快,这个时候可以... ftp端口映射的时候,如果只是简单的做那三句iptables,还不一定够 mount dvd光驱命令 djbdns感觉不错 freebsd下简单一些 2006.6.27 > samba3.0 1. rpm -ivh *.rpm 启动前后netstat -na多出下面几条记录 [root@S76 samba]# smbclient -L 192.168.1.76 -N
作为测试 servcie smb restart 如果简单的为了所有人共享把/etc/samba/smb.conf中的security user 改为security share 2006.6.28 only_from 表明允许访问的地址,我试了一下127.0.0.1或者localhost不行,奇怪 刚才查看了一下only_from的写法,很有特点 2006.6.29 Display Type Session ID Options Depth Screen Status Session Name
NX> 1000 NXNODE - Version 1.4.0-45-SVN OS (GPL) 6月2日 学习笔记2006.52006.5.8
> 开工咯~~ > 继续StdSys2.0 > 今天时间比较整,就把admin_site跑下来吧,对了,还有daemontools > 刚刚看到一个问题,可能会有问题,一会试一下,看看脚本中的``中的变量是不是会被先转义再执行 > 测试结果没有问题,所有变量都会先被转义再执行 > daemontools done > admin_site没有看,找了一点日语资料,又看了一些ssl的东西,明天试验一下ssl > ps,今天开会的计划,给老居发邮件,准备应对加藤
2006.5.10
> 继续看ssl相关知识 没有装openssl,config了一下apache
>./configure --prefix=/usr/local/httpd-admin --enable-so --enable-ssl=shared --enable-mods-shared=all --with-ssl=/usr/local/ssl --enable-rewrite >checking for OpenSSL version... checking openssl/opensslv.h usability... no
>checking openssl/opensslv.h presence... no >checking for openssl/opensslv.h... no >checking openssl/ssl.h usability... no >checking openssl/ssl.h presence... no >checking for openssl/ssl.h... no >no OpenSSL headers found >checking for SSL-C version... checking sslc.h usability... no >checking sslc.h presence... no >checking for sslc.h... no >no SSL-C headers found >configure: error: ...No recognized SSL/TLS toolkit detected mkdir /usr/local/ssl 装了openssl-0.9.7a-43.2.i386.rpm(disk 1)还是不行(事实上最小安装已经装了)
试验一下 >[root@S71 src]# rpm -ivh openssl-devel-0.9.7a-43.2.i386.rpm >warning: openssl-devel-0.9.7a-43.2.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821 >error: Failed dependencies: > krb5-devel is needed by openssl-devel-0.9.7a-43.2.i386 > Suggested resolutions: > krb5-devel-1.3.4-17.i386.rpm >[root@S71 src]# rpm -ivh openssl-devel-0.9.7a-43.2.i386.rpm krb5-devel-1.3.4-17.i386.rpm >warning: openssl-devel-0.9.7a-43.2.i386.rpm: V3 DSA signature: NOKEY, key ID 443e1821 >error: Failed dependencies: > e2fsprogs-devel is needed by krb5-devel-1.3.4-17.i386 > Suggested resolutions: > e2fsprogs-devel-1.35-12.2.EL4.i386.rpm 又带入了三个包 openssl-devel-0.9.7a-43.2.i386.rpm (CentOS 4.2 disk 2) krb5-devel-1.3.4-17.i386.rpm (CentOS 4.2 disk 2) e2fsprogs-devel-1.35-12.2.EL4.i386.rpm (CentOS 4.2 disk 2) 好了 ^-^
装好之后启动
# cd /usr/local/apache2 # ./bin/apachectl startssl >The startssl option is no longer supported. >Please edit httpd.conf to include the SSL configuration settings >and then use apachectl start. 修改httpd.conf ># Secure (SSL/TLS) connections >Include conf/extra/httpd-ssl.conf ./bin/apachectl start >[root@S71 conf]# ./bin/apachectl start >Syntax error on line 99 of /usr/local/httpd-admin/conf/extra/httpd-ssl.conf: >SSLCertificateFile: file '/usr/local/httpd-admin/conf/server.crt' does not exist or is empty 这又是什么原因呢?因为我们没有配置ssl,需要生成ssl需要的证书。
以前使用apache1+mod_ssl的时候,make之后有一个这样的步骤 $ make certificate 可以用来生成ssl所用到的证书。 现在没有这个工具了,只能自己动手生成了,对证书不熟悉的人,有一个工具可以使用:http://www.openssl.org/contrib/ssl.ca-0.1.tar.gz # cd /usr/local/apache2/conf # tar zxvf ssl.ca-0.1.tar.gz # cd ssl.ca-0.1 # ./new-root-ca.sh (生成根证书) >[root@S71 ssl.ca-0.1]# ./new-root-ca.sh
>No Root CA key round. Generating one >Generating RSA private key, 1024 bit long modulus >..........++++++ >...........................................................++++++ >e is 65537 (0x10001) >Enter pass phrase for ca.key: >Verifying - Enter pass phrase for ca.key: > >Self-sign the root CA... >Enter pass phrase for ca.key: >You are about to be asked to enter information that will be incorporated >into your certificate request. >What you are about to enter is what is called a Distinguished Name or a DN. >There are quite a few fields but you can leave some blank >For some fields there will be a default value, >If you enter '.', the field will be left blank. >----- >Country Name (2 letter code) [MY]:CN >State or Province Name (full name) [Perak]:ShangHai >Locality Name (eg, city) [Sitiawan]:ShangHai >Organization Name (eg, company) [My Directory Sdn Bhd]:Adways >Organizational Unit Name (eg, section) [Certification Services Division]:Technology Support >Common Name (eg, MD Root CA) []:TS >Email Address []:yang.fang@adways.net >[root@S71 ssl.ca-0.1]# ./new-server-cert.sh server >No server.key round. Generating one >Generating RSA private key, 1024 bit long modulus >....................++++++ >................++++++ >e is 65537 (0x10001) > >Fill in certificate data >You are about to be asked to enter information that will be incorporated >into your certificate request. >What you are about to enter is what is called a Distinguished Name or a DN. >There are quite a few fields but you can leave some blank >For some fields there will be a default value, >If you enter '.', the field will be left blank. >----- >Country Name (2 letter code) [MY]:CN >State or Province Name (full name) [Perak]:ShangHai >Locality Name (eg, city) [Sitiawan]:ShangHai >Organization Name (eg, company) [My Directory Sdn Bhd]:Adways >Organizational Unit Name (eg, section) [Secure Web Server]:Technology Support >Common Name (eg, www.domain.com) []:www.adways.net >Email Address []:yang.fang@adways.net > >You may now run ./sign-server-cert.sh to get it signed >[root@S71 ssl.ca-0.1]# ./sign-server-cert.sh server >CA signing: server.csr -> server.crt: >Using configuration from ca.config >Enter pass phrase for ./ca.key: >Check that the request matches the signature >Signature ok >The Subject's Distinguished Name is as follows >countryName :PRINTABLE:'CN' >stateOrProvinceName :PRINTABLE:'ShangHai' >localityName :PRINTABLE:'ShangHai' >organizationName :PRINTABLE:'Adways' >organizationalUnitName:PRINTABLE:'Technology Support' >commonName :PRINTABLE:'www.adways.net' >emailAddress :IA5STRING:'yang.fang@adways.net' >Certificate is to be certified until May 10 04:11:54 2007 GMT (365 days) >Sign the certificate? [y/n]:y > > >1 out of 1 certificate requests certified, commit? [y/n]y >Write out database with 1 new entries >Data Base Updated >CA verifying: server.crt <-> CA cert >server.crt: OK 由于httpd-ssl.conf中的默认配置是
>SSLCertificateFile /usr/local/httpd-admin/conf/server.crt >SSLCertificateKeyFile /usr/local/httpd-admin/conf/server.key 所以把刚才生成的server.crt和server.key放到httpd-admin/conf下 并且chmod 400 server.key 现在来制定一个策略,重新作httpd-admin,加入mod_ssl,并且保证在原有的conf基础上不作大的改动
先做个试验,./config 的时候只跟--enable rewrite,看看httpd.conf什么样
添加DSO.conf和ssl.conf 打算分配一下ssl.conf和httpd-admin.conf 从SSL-Vertualhost分开 后面的部分修改一下作为httpd-admin.conf 前面的部分把listen 443注释掉(httpd.conf中已经声明过了),应该就可以了 >经过测试,与预想中的一样~~哇哈哈
>几个注意的地方,httpd.conf中的/server/soft改掉
> other.conf 中的ssl.conf相关配置要注释掉 >搞了一下HotSaNIC,没什么大问题,基本上就这样了
2006.5.11
> 一大早就发现以前的bug了,httpd-admin的build脚本中"rm -rdf /server/www/admin_site/logs/* /server/logs/httpd-admin/*"误写成了 "rm -rdf /server/www/admin_site/logs/* /server/logs/httpd_admin/*" 看来有必要维护一个1.0.6升级到1.0.7的todo list(bug report)了
到目前为止发现的有: ===============================以下文字引自学习笔记2006.4================================= > 1.问题解决了,居然过了这么久发现一个大bug,很多.packlist里还有/r,所以不能删 > 这回把del_r脚本改了改,支持后面跟一批文件,方便批量处理 > 考虑到install build uninstall脚本中的/r很容易发现(因为执行的时候会报错) > 所以推断只有.packlist中有此问题,现在批量处理del_r `find /Path/To/ExpressInstall/ -name .packlist` > 2.更改start_stop中的EDIT_RC_LOCAL APPPATH路径,而且加上了stop的启动(原来的一个bug,一直没发现) ======================================引用结束=================================================
> 3.刚刚发现的那个bug > 现在把昨天装的httpd-admin卸掉,重新装一遍,不给hotsanic打patch,自己定义
> 监视 apps diskio netstat part system traffic > httpd-admin的.packlist中关于/service的部分只有/service/httpd-admin/run,这一点在build的时候很好理解
> 不过在uninstall的时候感觉会引入风险,没有删除/service/httpd-admin,可能要手动去删,看了一下脚本,果然是手动删除的 > 利用EasyDBAccess的一个工具可以根据时间和随机数生成一个lm的md5
> my $dba=EasyDBAccess->new({host=>'12.34.56.78',usr=>'root',pass=>'passwd',database=>'dbpass'}); > print( $dba->sid()); 4462a8bb3b2fb04d >/server/app ===> /usr/local/bin >/server/database ===> /var/db/ >/server/lock ===> /var/lock/stdsys >/server/logs ===> /var/log >/server/service ===> /service >/server/soft ===> /usr/local >/server/src ===> /usr/local/src >/server/www ===> /var/www 1./usr/local/bin/下面被daemontools和HotSaNIC占了好多,现在结构改了之后就和app下的脚本混在一起了,不知有没有什么隐患 感觉比较混乱,/usr/local/app ??? 2./var/db ? /var/db/stdsys 3./var/log ? /var/log/stdsys 4.HotSaNIC patch等问题,与配置可能有关 5.日本采用新工具,比如网络安装操作系统,多沟通和指导
6.新的需求的追加,我们公司常用工具的 >网通的DNS地址(210.22.70.3)
>上海的一个DNS 202.96.199.132 >一备用DNS地址:202.96.199.133 >帮王磊定制三台托管的test服务器 >除了明显的安装时候的设置要更改外,还有StandardSystem1.0.6中已经发现的三个bug,还有cvs服务器位置,还有防火墙等要注意 >还有数据库的密码加一个SET PASSWORD FOR "root"@"%" = OLD_PASSWORD('newpasswd'); >抽空要做一个rpm功用list(done)
>ISP=Internet服务提供者
2006.5.12
> 今天帮王磊装完了那两台机器 > 准备和加藤讨论一下 > 做个ppt > 饿了~~ft > 突然想起来昨天临走的时候httpd-admin的build刚好改到一半,这个记一下,别忘了改了 和加藤聊了一会,fhs路径定下
/server/app ===> /usr/local/app (这个与前两天做得不太一样,改一下) 到目前为止,ms只有start stop httpd-admin受到了污染 /server/database ===> /var/db/ /server/lock ===> /var/lock/stdsys /server/logs ===> /var/log /server/service ===> /service /server/soft ===> /usr/local /server/src ===> /usr/local/src /server/www ===> /var/www 2006.5.15
> 今天把前面的$APPPATH事件处理掉 牵扯到的模块有 base_dir > install (done) > uninstall (done) start_stop > EDIT_RC_LOCAL (done) > install (done) > uninstall (done) httpd-admin > beforebuild (done) > uninstall (done) > build (done) > 有空的话查看一下netinstall的实现?
>刚刚想到软件升级的时候需要一个策略保证最短服务中断时间甚至不中断,比如hotsanic,而要保存好数据 >这个是一个很重要的课题,不过目前没有需要,日后一定要好好研究===================================== 现在发现一个不太好的事情,httpd-admin卸载的时候hotsanic整个软件都没了,当然数据也都没了,这个很危险,毕竟是历史数据,最好能够保留下来
要不就把hotsanic拉出来作为一个模块 想到一个更好一点的策略(至少我感觉好一点),把hotsanic作为一个子模块放到base_system中 还有一个比较危险而没有提示的地方我觉得要说明,就是那个build脚本,会删除log等信息,
不过既然是build,应该只有管理员有权利做这件事情,所以一般来说应该也不会有问题================================ 利用EasyDBAccess生成随机LM MD5
>my $dba=EasyDBAccess->new({host=>'12.34.56.78',usr=>'root',pass=>'passwd',database=>'dbpass'}); >print( $dba->sid()); >ft,居然没有sid这个函数.....又被晃点了~
> >随便用hotsanic2006生成了一个bc6df9bc849e43a1,以后改 (done beta_5 44711a86a259c9af) ssl问题有一个疑点,开始为本机root生成了一个认证,不知道做什么用的,试试看换机器的时候会不会有问题 (done,no problem)
做成php压缩包
versionlist需要更新了
>rrdtool 1.0.49 >hotsanic 0.5.0-pre5 >mod_ssl 2.2.0 >OpenSSL 0.9.7a diskio没有收集到数据......收集了..
mysql-main的beforebuild中没有介绍test数据库的删除和远程用户允许的相关文字,补上
>已经换成英文版的了 mysql的log放在什么地方了
> 在数据库目录下 2006.5.16
>现在开始做mysql-local (done)
>hotsanic的beforebuild还没写 在httpd-admin中补上下面的脚本来控制hotsanic工作
>if test -e $LOCKPATH/hotsanic >then > echo prepare to install hotsanic pages to httpd-admin ... > mkdir $SITEPATH/admin_site/htdocs/hotsanic > $SOFTPATH/HotSaNIC/makeindex.pl > $SOFTPATH/HotSaNIC/diagrams.pl > $SOFTPATH/HotSaNIC/convert.pl >else > echo module \'hotsanic\' not found, perhaps you need to install it if you wanna use it >fi ft,发现居然hotsanic自己带库,又不太想放到@INC下去(虽然好像这个好一点)
就做了一件比较恶心的事情先记录下当前路径,然后跳到/usr/local/HotSaNIC下作事情,再回来 要不ln -s /usr/local/HotSaNIC/lib/*.pm /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/
/usr/local/HotSaNIC/makeindex.pl 试了一下,发现居然还有什么图片问题在/HotSaNIC/下,估计是那个logo,算了,太恶心了,懒得弄了,万一丢点东西也不好 就放弃符号链接策略吧 mysql-local还没有密码
SET PASSWORD FOR "root"@"localhost" = OLD_PASSWORD('newpasswd'); >php修正mbstring问题 (done)
>httpd-admin (done) > >修改default_site.conf 使之适应fhs >修改httpd.conf (httpd) 使之适应fhs >修改config/CVS_CHECK_OUT 使之适应fhs >httpd (done) 现在还剩下qmail以及hotsanic那个diskio问题了======================================
>调整hotsanic位置到base_system下 (done) 2006.5.17
>qmail-send (done) >qmail-send-receive (done) 打个包测试一下整个的系统,稍后处理beforebuild
发现两个恶心问题
重起系统,/var/lock/stdsys下面所有deapth=1的文件会被清除 (和加藤交涉),个人看法放进/usr/local/lock比较好 >交涉结果 /usr/local/stdsys/lock/ >加藤敦 说:Just I want to know the name for using ML. I will create ML named stdsys libphp5.so没搞好,不认识(一定和上次调整有关) (done) 证书中的信息是www.test.com,不好看,最好改改 (2006.5.18 done beta2)
算了,今天就这样吧,明天再改
bobo那边又对时间同步提出要求(ntp) done 恩,过两天加上吧 2006.5.18
find 中的 type 参数
> b block (buffered) special > c character (unbuffered) special > d directory > p named pipe (FIFO) > f regular file > l symbolic link > s socket > D door (Solaris) 今天改那个什么LOCKPATH吧
想过要用那个什么批量修改的脚本,感觉不太安全,也容易擦掉一些重要世间戳(不修改的文件也会被更新) 随便看到一个脚本,记下来吧,就是那个批量替换什么的
>: 2 怎么查找一个目录下面所有文件中的字符串xxx,并将其替换为bbbff ?
>自己随便写个脚本吧,比如这样: > >xx() { > for i in $1/* > do > if [ -f $i ] > then > sed -i 's/xxx/bbbff/' $i > elif [ -d $i ] > then > xx $i > fi > done > >} 编写maxinstall和maxuninstall
更新了install_OS_from_CD >5、HTTP:网络状态下的常见码状态是什么?
>200 OK >301 redirect >302 redirect >400 请求格式错误 >404 文件没找到 >405 不允许的方法 >500 服务器内部错误 发现hotsanic的lock不太符合规范,而且也没有rrdtool的lock,改改 (done beta_3)
优化几个嵌套安装/卸载 (done beta_3) hotsanic这边没有写入cron...done 还有老问题 2006.5.19
把原来误解的那个start_stop该回来了 (beta_4) 重装71 php.ini 有一个/tmp (session.save_path done beta_5) >几个加用户的的地方不要建home目录,禁止登陆权限
安装qmail后把/usr/sbin/sendmail(原来指向/etc/alternatives/mta) 指向 /usr/local/qmail/bin/sendmail (done beta_5)
取消 usepam
>编辑 /etc/ssh/sshd_config 把UsePAM yes注掉,反注释UsePAM no >当然 自然也要把那个PasswordAuthentication yes 改为no 2006.5.20
>Linux的系统日志
> 日志名 描述 访问方法
>应用程序日志 http,ssh等登录日志等 Tail,more >/var/log/cron Cron日志 Tail,more等 >/var/log/wtmp 用户登录历史日志 last >/var/run/utmp 当前用户的日志 w >文件内容访问工具
>常见的重要日志及其访问工具 >检查/etc/syslog.conf文件 >Shell历史:.bash_history >重要配置文件 > /etc/passwd:检查用户帐号和权限 > /etc/shadow:确保每个帐号都要求密码认证 > /etc/groups:查找权限的升级和访问权限的扩大 > /etc/hosts.allow和/etc/hosts.deny:TCPWrapper规则 > /etc/syslog.conf:系统日志文件的配置 > /etc/rc:系统启动文件 > /etc/inetd.conf:端口监视程序所监听的服务 > /etc/service:网络服务配置文件 > Crontab:时间调度文件 > login,用户目录下的profile,-bashrc,cshrc,.exrc等文件:用户登录时启动的进程配置文件 看了一下ntp服务器架设问题,奇怪怎么连不上呢??
对了,前一段时间那个自己生成的什么md5赶紧换了(done beta_5)
2006.5.22
>随便上了一下bbs,感觉想学的东西好多啊 >列一个: > gawk > grub > lftp > linux 系统学习 > perl > mysql > shell 深入学习 > vi深入学习 生成新的hotsanic的md5 44711a86a259c9af
>发现bug,install中 tagset和parser顺序反了......,还有mod_perl (done beta_5)
ft,发现php.ini有重大问题,可能需要重新编译了 (done beta_5)
server安全部分:
> 用户管理,禁止root登录,禁止服务用户登录,禁止密码登录,取消使用pam > 防火墙 > https > 公司上市了~~gxgx
研究cron策略
> 直接修改/etc/crontab使用系统cron,不调用用户cron 目前cron里应该跑的东西 hotsanic (done beta_5) root 用户执行 0 5 * * * root /usr/local/HotSaNIC/rrdgraph restart > /dev/null 2>&1 ntp (done beta_5) root 用户执行 0 4 * * * root /usr/sbin/ntpdate 1.asia.pool.ntp.org > /dev/null 2>&1 对了,把ntp-4.2.0.a.20040617-4.i386.rpm (CentOS 4.2 disk 1)扔进来 (done beta_5)
cron里面不能写成
1 * * * * ..... 要写成 01 * * * * ..... 否则不认识,后果是这个cron整个都不跑了 ntp的 uninstall 会把cron里的两个module都删了(done beta_8)
ntp->uninstall ./remove_module_code /tmp/yfang 447170b9976a8127 hotsanic->uninstall ./remove_module_code /tmp/yfang 44711a86a259c9af 研究证书过期后的结果。。。。制定维护方案
把证书改成5年了,不知道够不够长 (beta_7)
试了一下,证书上的时间会和客户端时间对比,他自己觉得过期了就会提示,不过照样能用,不是问题 刚才试着用scp root@192.168.1.71:somefile file传文件,发现一个777的文件变成755了,相当于umask一次
再用lftp fish://root@192.168.1.71 直接 get 文件,这个777的文件直接变成touch出来的644了 再试着用lftp fish://root@192.168.1.71 直接 mirror 文件夹,发现结果也只是相当于umask一次 所以mirror或者打包时比较好的策略 修改base_dir卸载不干净的bug (done beta_6)
今天又碰到以前的经典冲突问题yum的升级与stdsys冲突很大啊~
yum小心使用,否则stdsys就不好用了 还有哦,卸载以后为啥vim还能用呢?vim-minimal......
昨天的ntp卸载问题,今天又没事了...诡异,不管,先做出beta_6来,格掉两个机器重新测试 安全性考虑,把一些东西作的柔一点,比如,authorizekey什么的(done)
发现一个 国家授时中心的地方提供ntp服务 210.72.145.44 号称,中国那颗标准原子钟的第一级peer 比较精确 (done beta_7)
(不知道稳定性如何啊~~腰部国内暂时用这个) ps:ntp的服务是通过123端口的 奇怪的是telnet不到..... vim写出来有时候是彩色的,有时候是白色的,这是怎么回事呢?
2006.5.24
今天看了看sed命令,感觉比较好用,不错的东西
好久没有整理收藏夹了,今天整理一下 看到一个比较实用的命令man xxx | col -b > xxx.txt
看到永中2007,不错的样子,有空用用 sigh,perl基础太差了,连quotemeta这么重要的函数都忘了用了,多么好的东西啊,没有这个东西,差点搞死我
2006.5.25
生日快乐~
看了看solaris10,果然比较不习惯
内存小于400M都不能用graphic interface install 内存小于256呢,嘿嘿,想装都不让装(这个是虚拟机上试出来的) 界面不够友好,当然也由于我装机的地方比较艰苦,愣是一直没看到最后一行的帮助命令F2 F3什么的 又玩了一会debian,这个友好多了,不过也不如redhat习惯,还是有挺多地方不一样
debian------> dpkg-reconfigure exim4-config 这条命令是配置mail服务的,老提示我装,猜想debian应该是以此见长 base-config 这条命令是来控制基本配置,刚刚装好的时候他会自己跑一边 还有,用debian的体会,先把apt的源列表搞定比较重要 >设置apt源, 修改 /etc/apt/sources.list >例: > ># Debian \"Sarge\" (> 3.0) ># >deb http://ftp.us.debian.org/debian sarge main contrib non-free >deb-src http://ftp.us.debian.org/debian sarge main contrib non-free > > ># Debian \"unstable\" (\"Sid\" will always be unstable.) ># >#deb http://ftp.us.debian.org/debian unstable main contrib non-free >#deb-src http://ftp.us.debian.org/debian unstable main contrib non-free > ># Debian \"Sid\" (> 3.0) ># >#deb http://ftp.us.debian.org/debian sid main contrib non-free >#deb-src http://ftp.us.debian.org/debian sid main contrib non-free 开始没有网络,真是奇怪,它怎么媒提示过呢?
>1. 修改 /etc/network/interfaces > >设成静态IP > >auto lo >iface lo inet loopback > >auto eth0 >iface eth0 inet static > address 192.168.1.227 > netmask 255.255.0.0 > gateway 192.168.1.1 >2. 修改 /etc/resolv.conf >nameserver 211.9.226.5 >nameserver 210.22.70.3 重起网络的命令,没找到,反正redhat下的都不行 最后只好/etc/init.d/networking restart 大概这样就好了 安装的时候选了简体中文,这回可好,文档什么的都中文上,除非我打命令控制
改了改参数,总算还搞得定 LANG LANGUAGE LANG_LC perl -V 来查看关于perl的几乎所有配置信息,包括系统的和自己的
帮华哥可两张日文的office2003,我自己还想试试看那个什么永中,下好了,最近找空试试
王磊说让找一个查看机器装了什么perl模块的cgi
找了半天发现系统提供的都不怎么样 水母上的一个仁兄提供了相当好的脚本,多谢,pf 改了改,变成cgi了,还不错,今天做得最大的事情就这个了 又开始感觉基础太差了,想补cgi 装了永中,这个java的东东,总体感觉相当不错,不过看一个ppt的时候,颜色和ms office的不太一样。。。
又随便看了看网关和掩码的东西,终于明白了网关最后一位设成254的意义(太土了,上学的时候就没看过书)
把71的脚本整理一下,这两天在考虑是不是要用rm_file2_from_file1代替remove_module_code
结论是大多数情况不要替换了,除非实在是不能乱写注释,或者写注释对于脚本本身不太好的情况 暂时只有authorized_keys里面使用了rm_file2_from_file1 分一下功能,把doc中的工具脚本单拉出来放在一个叫做tools的文件夹中
时间不多了,感觉写点文档比较实在,早晚都是自己的活==========================
抽空把自己的公钥放到外面那台机器上去(done) 发现一个bug remove_module_code 的匹配是贪婪的,很危险 (done beta_7)
rpm模块里面的rm_rpms脚本改造一下,也拿到外面去 (done beta_7)
整理一下md5对应的模块 (done beta_8)
ntp 447170b9976a8127 hotsanic 44711a86a259c9af root_ssh_key 8b58a21b6200bcf2 start_stop 8b5c2c15983f5f67 daemontools 8b5ac62f28aa1f19 2006.5.26
> 想想昨天那个匹配bug还是有问题,终于改好了,也学到了非贪婪匹配的方法 (beta_8)
正解 s/#<module\s+id=\'$sid\'>\n.*?\n#<\/module>//gs; > 我怎么这么弱啊。。。。我要恶补初级perl和模式匹配练习============================== > 要匹配不含某个字符串'yfang'的部分,
正解/([^y]|y(?!fang))*/ > 这个的确比较厉害,还是我比较菜,这个?啥意思?不懂啊~ >> 解答:?! 是说 预搜索的这整个括号的内容不包括在结果集内。大虾指点,看看perlretut============================== > 所以上面那个匹配也可以写为 s/#<module\s+id=\'$sid\'>\n([^\n]|\n(?!#<\/module>))*\n#<\/module>//g; > 而且这个匹配式更灵活,因为他中间的部分可以随便换 perl的匹配控制符
>Modifier Meaning >e Evaluate the right side as an expression. >g Replace globally, that is, all occurrences. >i Do case-insensitive pattern matching. >m Treat string as multiple lines. >o Only compile pattern once. >s Treat string as single line. >x Use extended regular expressions. >./MySQL/ > MySQL-shared-standard-4.1.16-1.rhel4.i386.rpm required by MySQL-client > MySQL-devel-standard-4.1.16-1.rhel4.i386.rpm required by MySQL-client >./CentOS-4.2-i386-bin1of4/
> ntp-4.2.0.a.20040617-4.i386.rpm required by module ntp > neon-0.24.7-4.i386.rpm required by subversion-1.1.4-2.ent.i386.rpm > apr-util-0.9.4-21.i386.rpm required by subversion-1.1.4-2.ent.i386.rpm > perl-DBI-1.40-8.i386.rpm required by common use > vim-common-6.3.046-0.40E.7.i386.rpm required by common use > vim-enhanced-6.3.046-0.40E.7.i386.rpm required by common use > perl-URI-1.30-4.noarch.rpm required by subversion-1.1.4-2.ent.i386.rpm > net-snmp-5.1.2-11.EL4.6.i386.rpm required by module hotsanic > cpp-3.4.4-2.i386.rpm required by common use > apr-0.9.4-24.5.i386.rpm required by subversion-1.1.4-2.ent.i386.rpm > libart_lgpl-2.3.16-3.i386.rpm required by module hotsanic > ImageMagick-6.0.7.1-12.i386.rpm required by module hotsanic > lm_sensors-2.8.7-2.i386.rpm required by module hotsanic >./CentOS-4.2-i386-bin2of4/ > gcc-3.4.4-2.i386.rpm required by common use > e2fsprogs-devel-1.35-12.2.EL4.i386.rpm required by krb5-devel-1.3.4-17.i386.rpm > gcc-c++-3.4.4-2.i386.rpm required by common use > flex-2.5.4a-33.i386.rpm required by common use > glibc-kernheaders-2.4-9.1.98.EL.i386.rpm required by common use > libxml2-devel-2.6.16-6.i386.rpm required by common use > libstdc++-devel-3.4.4-2.i386.rpm required by common use > umb-scheme-3.2-35.i386.rpm required by guile-1.6.4-14.i386.rpm > swig-1.3.21-6.i386.rpm required by subversion-1.1.4-2.ent.i386.rpm > subversion-1.1.4-2.ent.i386.rpm required by svn > glibc-devel-2.3.4-2.13.i386.rpm required by common use > krb5-devel-1.3.4-17.i386.rpm requried by openssl-devel-0.9.7a-43.2.i386.rpm > zlib-devel-1.2.1.2-1.2.i386.rpm required by common use > autoconf-2.59-5.noarch.rpm required by common use > libjpeg-devel-6b-33.i386.rpm required by module hotsanic > freetype-devel-2.1.9-1.i386.rpm required by module hotsanic > automake-1.9.2-3.noarch.rpm required by common use > guile-1.6.4-14.i386.rpm required by swig-1.3.21-6.i386.rpm > cvs-1.11.17-8.RHEL4.i386.rpm requried by cvs > rpm-devel-4.3.3-11_nonptl.i386.rpm required by module hotsanic > libpng-devel-1.2.7-1.i386.rpm required by common use > openssl-devel-0.9.7a-43.2.i386.rpm required by module httpd-admin > glibc-headers-2.3.4-2.13.i386.rpm required by common use > bison-1.875c-2.i386.rpm required by common use >./CentOS-4.2-i386-bin3of4/
> perl-DBD-MySQL-2.9004-3.1.i386.rpm required by mysql-client > net-snmp-utils-5.1.2-11.EL4.6.i386.rpm required by module hotsanic > libart_lgpl-devel-2.3.16-3.i386.rpm required by module hotsanic >./CentOS-4.2-i386-bin4of4/
> elfutils-libelf-devel-0.97-5.i386.rpm required by module hotsanic > net-snmp-perl-5.1.2-11.EL4.6.i386.rpm required by module hotsanic > lynx-2.8.5-18.i386.rpm required by lynx > elfutils-devel-0.97-5.i386.rpm required by module hotsanic > net-snmp-devel-5.1.2-11.EL4.6.i386.rpm required by module hotsanic > beecrypt-devel-3.1.0-6.i386.rpm required by module hotsanic 2006.5.29
> 换休 2006.5.30
> 写写文档啥的 > 英文化了所有的beforebuild,感觉>>>这个符号不太漂亮,显得很不专业,暂时又想不到什么好主意....先这样吧 > 想一下下面要写的文档列表,nnd,想起来就头疼 > man_perl_module_update > man_hotsanic_setup > man_hotsanic_control===> add to Hand_Book > my.cnf_series_standard > fhs_instruction > software_install_standard > yum_use_restrict > software_update_standard (data backup, service interrupt) > 英文化Hand-book和install > standard_system_dev_standard (etc when one module is added in, what should be checked, user_list?, version_list?) > Comunication_and_cooperation_guideline > 系统安全策略(用户管理,防火墙,管理员职责) > 数据备份策略 > ft啊,每一个看起来都不太好写。。。。。而且估计八成要写成英文的吧~~ 据说75要搬家了~~~,这两天抽空要把里面的东西挪出来,想想看里面都有什么东西,除了web_site,还有ftp,网关就不用了吧~~,那个72的端口映射也没了,可怜的75啊,说走就走了~~
啊~~~终于发现什么问题了diskio....HotSaNIC/var/settings/mod_diskio
2006.5.31
> 今天端午节了 > 整理75,格盘,今后要怎么做才好呢?StandardSystem的分区方式好么?? > /server被钱校长误删了,危险。。。。。 Acronis Disk Director Suite 10.0 一堆恢复软件的名字 一个不错的网站http://www.tldp.org/HOWTO/Ext2fs-Undeletion.html#toc11 不过。。。。 没希望了。。。 这个损失太惨重了,数据库没有了.......
今后的对应策略 > root只能给一个rescue私钥(这个谁都不给),随即生成一个很恶心的密码(给管理员),禁止root直接登录 > 所有可以登录的用户都必须用私钥等 > rm 命令???? > safedelete 软件 > dropdatabase的问题...日后讨论 这两天把doc放到cvs上去
`find .../ -name *.rrd` libphp.so这个东西里面会不会有问题啊。。。已经碰到两次了,原因很简单,rpm包没装好
于是乎写了一个监测stdsys需要的rpm安装状况的脚本,以后可以用这个检查 75重新装过,
/ 10G /mnt/backup 20G /var 41 swap 2 大概是这样吧 hotsanic检查出来的只有sda1和sda
那个什么命令来着cat /proc/diskstats 就可以看到有哪些需要监控的sd了 改了改 part里的setting,改成了sda1,sda2,sda3,sda4,要重新启动服务才可以 看来不是很难改,如果想监控什么东西的话,改改并不难 还有那个diskio,也可以这么改,比如 # DEV=8_0,sda # DEV=3_0,hda # DEV=22_0,hdc 想加的话,要根据自己硬件具体情况加, DEV=8_1,sda1是一个例子 意思也就是这样,再如DEV=22_2,hdc2 试了一下,ms不行~~..... 不过过程要记一下:修改单个module的settings,模块setup,整个rrdgraph restart,makeindex,..... 接受Yatsea建议,试发一贴 我的厨艺(之水里游的) 昨天不太舒服,换休了一天,傍晚去超市买了一堆东西
看到居然有一包鱼鳔和鱼籽,挺新鲜的,从来没在超市看到过这么单卖的,大概十来个,一块钱,感觉好久没吃了,就随手放到了推车里。过了一会觉的单炖这么点玩意儿也太不值了,于是乎买了两条刮子鱼(ps:刮子是我们那边对鲫鱼的称呼,这两条鱼不算大,也不太小,以前买鱼不多,不知道应该多少钱,感觉还行,一共三块),然后有随手拿了一盒中等对虾(这个也不贵,很新鲜的,才9块,大概有一斤多)。
说实话,鱼和虾都没做过!不过洒家从来不把做饭放在眼里。动手就做了,感觉鱼的时间要长一些,就先煮虾,想都没想,洗洗就扔锅里了,用半分钟切好葱姜,也就扔进去了,然后是花椒大料,不能忘了盐。。。。。。
好,这个时间就开始刮鱼鳞(忘了看什么电视了,里面有个女孩做鱼居然不知道刮鱼鳞,sigh,无语)这个鱼的苦胆已经被超市处理过了。。。没意思~总感觉超市为了顾客方便做的太多了,很多cooking的乐趣都没了。试了一下虾汤,太淡了,补盐~得,出锅,so easy,味道和家里的差不多,还不错,汤太鲜了,舍不得扔,留下来煮方便面用。
这个鱼,放点面,煎之,炖之,放了n多种作料,差不多我家有的作料都放遍了,这里ls一下:葱姜蒜,酱油,醋,酒,盐,糖,味精,干辣椒,花椒,八角,差不多了。。。。锅开了,小火咕嘟之,过了十几分钟,感觉汤的味道不太好,空有咸位,不厚重,没有做到鱼汤合一的口感,又放了一大勺糖,继续咕嘟,大概汤汁收到只莫过鱼的1/2强的时候,出锅,这时再尝,汤已经很不错了。出锅,吃。。。根本不觉得甜,天哪~上海菜里的炖鱼那么甜,要放多少糖啊~~每次都怕放糖多了,看来这种担心基本没有必要。。。正和我的口味,典型的北方鱼~~经典!
总结一下体会,煮虾盐要多放一些,别跟炒菜或者做汤似的;炖鱼时间一定要够,作料搭配差不多就行了,不知道最后那一勺糖有没有起到什么作用,直观感觉可能有一点吧,不过最重要的是小火咕嘟时间长一点,那汤的味道就好了~
我真是有天赋啊,娃哈哈哈~~继续保持做饭的信心和对炒菜的自我满意度(我的要求很高滴)
ft,咋一写又这么多了呢?对不住yatsea同学了~ |
||||
|
|