跳至主要内容

博文

目前显示的是 2010的博文

Python学习笔记20100128

methodList = [method for method in dir(object) if callable(getattr(object, method))] ###插一句, ifconfig pcn0 unplumb 去禁solaris的网卡plumb起网卡   and, or  已经and-or一起用。 and 两者为真,print第二个数,一个为假一个为真返回假,三者为真返回最后一个真。 or 两个为真,返回第一个, 一个为假一个为真返回真,三者为假返回最后一个假   lambda可快速定义最小值函数   g = lambda x:x*2 g(3) 6 (lambda x:x*2)(3)   doc string print getattr(object,mothod).__doc__   ljust ljust 用空格填充字符串以符合指定的长度。info 函数使用它生成了两列输出并将所有在第二列的 doc string 纵向对齐。 如果小于的话不会从中截断   -----面向对象 首先导入,你可以选择import module or from module import module 如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import。 如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import。 如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module 来避免名字冲突   -----类的定义 class Lofs    pass   这个类的名字是 Loaf,它没有从其它类继承。 类名通常是第一个字母大写,如:EachWordLikeThis,但这只是一个习惯,不是一个必要条件。   这个类没有定义任何方法或属性,但是从语法上,需要在定义中有些东西,所以你使用 pass。这是一个 Python 保留字,仅仅表示 “向前走,不要往这看”。它是一条什么都不做的语句,当你删空函数或类时,它是一个很好的占位符。   你可能猜到了,在类中的所有东西都要缩近,就象位于函数、if 语句,for 循环,诸如此类的代码。第一条不缩近的东西不属于这个类。 ----- class FileI

pgsql

mysql                      psql SHOW DATABASES;           \l USE db-name;              \c db-name SHOW TABLES;              \d SHOW USERS;               \du SHOW COLUMNS;             \d table-name SHOW PROCESSLIST;         SELECT * FROM pg_stat_activity; SELECT now()\G            \x 可以打开和关闭类似\G功能 SOURCE /path.sql          \i /path.sql LOAD DATA INFILE ...      \copy ... \h                        \? -- Alex Tu ----------------------------------------------------------- ShangHai,China

虚拟技术使用

Vmware ESXI 开始实用command line ,其实还是有其他登录方式的只不过用client管理比较好看而已。 Host装完以后, 可以alt-f1 然后输入unsupported再打回车符。 就可以进到里面 文章 可以参考。 开启本机ssh和改变host. vi /etc/inet.conf uncomment ssh. 然后在/etc/init一下, 不会影响已经启动的虚拟机。 然后直接可以从外网链接到command模式下.   由于自己已经能顺利实现在solaris上,讲zone占到nfs上。 具体步骤如下:   make sure NFS is having enough space to install. make sure you have root permission. cd Path mkfile 6G zone ( the solaris standard installation will cost 6G and the filename is better the same as zone name) lofiadm ( run this command for confirming the link between path and the virtual devices) lofiadm –a /Path/zone /dev/lofi/* ( please count the * one by one) newfs /dev/lofi/* mkdir /localpath/zone (localpath as the old local zone path, zone name as NFS’ zone) mount /dev/lofi/* /localpath/zone chmod 700 /localpath/zone vi /zone.cfg (please modify the ip address, zonepath as required , do not modify the others) zonecfg –z zone –f /zone.cfg zoneadm list –ivc (confirm the zone had been listed, correct

vmware esxi 安装

需求来自于save cost. 开始有用户需求部署vmware esxi为架构的虚拟机, 由于目前没有server来测试,用户自己找的pavilion的家用机系列也跑不了。只得从onsite那里借来一台xw4400. 这机器吧,挺好,xw4400开跑的64位虚拟支持的话,先得在Blos上设置下, 因为没有这方面经验,以为机器都能直接判断,但是从安装实录上里讲,需要在blos里这是,对于xw4400的设置是,security-os security- enable virtualization. 然后重启。顺便丢入光盘。   iso其实很小大概只有200多M,是一个linux kernel的东西。里面从个人观点来看,带有web接口。和管理接口。 安装程序会自动检测你机器的配置是否符合安装要求,家用额pavilion就没检测过,看网上资料,初步认定是网卡没有不办法兼容。 一路按照提示点F2和enter就成。由于是基于网络的,请注意ip的分配。 安装完成之后请拿出光盘,因为我之前就是这样犯了个错误,导致重复安装一次:(   重启之后,会有一个界面告诉你这个管理的 http://ip 是啥, 然后你可以通过windows client段去下载客户端管理工具,ci. 里面按f2是管理配置界面,可以配置root密码,ip地址等等,详细可以参考 文章 .   点击后的下载ci客户端,点击,输入控制端ip/用户名/密码。 然后就是如vmware的配置一般。 有一点奇怪的是,他竟然没有办法认出host上的光驱。好在有网络以后,他可以mount本机和网络上的盘,当然我指的是client上的物理光驱以及网络上的虚拟iso. 选择client的话,然后用物理光驱要选emulate cd. 安装非常的方便。 然后装完两个32bit and 64bit的suse. 用户开始test -- Alex Tu ----------------------------------------------------------- ShangHai,China

Python学习笔记20100117

映射list   Dictionary 是用{}. list 是一那个[]. turple是用() 当你定义过dictionary后,你可以使用d.keys(), d.values(),d.items()将定义后的时候分别显示出来 当然可以将list里的值加减乘除,也可以如一般的定义直接重新复制这个list. 链接与分割字符串的 li=";", join(li) 则显示的就是 分隔符为;的数 如果使用li=li.split(";")则将刚刚;的分隔符删除,而split里也可定义域,如li.split(";",1)   自省 <---这是啥 之前在使用的时候发觉有些书本上的模块不能调用,很多是py脚本定义过的函数。 下载该脚本s,然后上传至指定位置。 >>>import sys >>>sys.path >>>sys.path.append("绝对位置")然后就能调用这些脚本和参数了。 删除 >>>sys.path.pop() 定义一个参数是 def info(test, test1=10.test2=12): info是函数名,test是必备参数,因为没有定义值,test1和test2是可选参数,定义了初始值   以上是外部函数的调用,下面转到内部函数 内部函数有type,str,dir及其他   ---type 返回任意字符的类型,模块也可以。types模块 >>> type(1) <type 'int'> >>> li=[] >>> type(li) <type 'list'> >>> import odbchelper >>> type(odbchelper) <type 'module'> >>> type(sys) <type 'module'> >>> import types >>> type(o

Python学习笔记2010026

开始学习python. RH5已经开始内置python,而solaris还是没有嵌入但是机器上有,所以开始使用。 学习的教程是dive into python.网上有CHM和PDF, 个人现在看,由于篇幅大,但是相对来说基础知识涵盖的比较丰富。 安装就不提了,主要是在unix/linux上,所以直接跑。 xtuulei@cnshx021:%:python Python 2.4.4 (#3, Dec  3 2007, 12:14:12) [GCC 3.3.2] on sunos5 Type "help", "copyright", "credits" or "license" for more information.   根据教程, def 定义函数,和抒写规则一样,建议按照标准的书写规则,空行已经。 """ """" 类似于dic string表示好注释一样。 if else一样都需要规范书写。 模块中定义import sys的时候, 键入sys.__name__可以表现出当前模块。   ----------------dictionary定义 dictionary: 定义参数一一对应 d = {"test":"test1",42:"test2","test3":33,44:56} 无先后顺序。 定义修覆盖,可添加 d["test4"] = 22 d["Test"]= 22   del ["test4"] 可删除。 d.clear() 清空d   键入d显示结果。 键入d["test"]显示test值,但是键入d["test1"]不能显示test这个key     ----------------- list定义 类似于数组 li = ["a","b","mpilgrim","z","examp

zone start on NFS and start issue.

前几日,用户有需求,因为本地硬盘是在是不够大了, 开始想将数据或者应该将zone的数据放在NFS上。 这就给出了个不小的难题,只能网上搜这样用法,从网上的说法来看,其实SUN官方还没有支持那么做。 当你在做zone直接放到nfs上时,他会报粗错。具体的错误为, zone detected it's not a local file system. balabala... 当时想取巧,在本机磁盘上建立个soft link让他能认为这个是本地硬盘,但事实证明是不成功的。 于是乎,在这千钧一发之际,万能的google又救命了。 详细请参阅 joost pronk's weblog . 根据实际情况进行总结。  #mkdir 6G /nfs/test #之前建立过300M,但是由于目前Solaris 10的需求有将近6G左右  #lofiadm -a /nfs/test /dev/lofi/1 #newfs /dev/lofi/1 #mkdir /zone/test_zone #建立本地磁盘目录 #mount /dev/lofi/1 /zone//test_zone #chmod 700 /zone/test_zone   然后就可以按照一般的步骤那么安装下去。而且基本没什么岔子。   原本以后就这么了解了,结果没想周一来的时候zone在nfs上的起不了了。 看机器的状态zoneadm list -ivc是好的就是死活进不去, 然后只能就zoneadm -z testzone halt。 这时候发觉mount点mount不上去了。 mount的时候报i/o error而在机器log里面也 Jan 11 09:28:01 cnnjx026 devfsadmd[636]: [ID 272826 daemon.error] mknod failed for /local/zones/cnnjx026z019/dev/pts/356: I/O error   本来试着想用 #mount -o rw /dev/lofi/1 /zone/test_zone 还是错误后来试着read-only #mount -o ro /dev/lofi/1 /zone/test_zone 是成功的。 那就怪了, 然后去nfs上查,发觉nf

Suse 开机不能进入os

接到个case。机器通电后死活进不了系统,onsite也不知道怎么进去看。 service desk只能派case到我这里。因为不能用正确的root password直接登录,所以只能另想办法。其实网上说要进入failsafe在打init=/bin/bash, 其实从个人使用后,发觉如果有failsafe以后硬盘是无法加载的,也许是因为这个机器之前的原因。 从总体上来看, 是因为硬盘出错导致没有办法做fsck。 系统提示只能手动做fsck. 按照init=/bin/bash后,进入会(none)#, 然后因为硬盘还没加载,但你可以使用大部分命令,可以run fsck.ext3然后就开始检测,这时候狂按y就成。系统检查完了,想reset root password但是这时候不能进入会提示module is unkwon...然后正常启动的时候,登录界面也没有办法得到焦点,切到ctrl+alt+f1也没办法登入。 那个郁闷啊, 这个时候只能停下来,看google。大部分的原因是因为pam不能正常工作导致的, 这点也是比较失败的地方,其实可以直接从/var/log/messages里面看到。  后来查看了一下,确实pam出问题了,但是这个问题并不是源于机器本身的pam而是vas登录的时候在/opt/quest/lib/security/pam_vas.so这个文件丢失了, 那只能先把vas全部卸掉,然后重启,在rest root password. 这个时候就成功了, 然后只需要重新安装vas就好了  -- Alex Tu ----------------------------------------------------------- ShangHai,China