Archive for 11月, 2006

限制Solaris用户只能FTP不能Telnet

在/etc下建立一个shells文件,把现有用户用到的所有shell加入到此文件中,如:
/bin/sh
/bin/csh
/bin/bash
同时加入一个系统中不存在的shell,如:
/bin/nologin
保存此文件后,编辑/etc/passwd,把不能进行Telnet的用户shell改为/bin/nologin,即在系统根本不存在的shell。
注:如果不把现有用户用到的所有shell加入到/etc/shells文件中,将会导致其它用户也不能进行ftp操作。

《深入python》学习笔记之内置数据类型(二)

8、Tuple 是不可变 list。 一旦创建了一个 tuple 就不能以任何方式改变它。当分割一个 tuple 时, 会得到一个新的 tuple。
9、Tuple 比 list 操作速度快。如果您定义了一个值的常量集, 并且唯一要用它做的是不断地遍历它, 请使用 tuple 代替 list。
10、当一条命令用续行符 (“\”) 分割成多行时, 后续的行可以以任何方式缩近, 此时 Python 通常的严格的缩近规则无需遵守。
11、将一个 tuple 赋值给另一个 tuple, 会按顺序将 v 的每个值赋值给每个变量。
12、join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。

《深入python》学习笔记之内置数据类型(一)

1、Dictionary 的 key 是大小写敏感的,同时在一个 dictionary 中不能有重复的 key。给一个存在的 key 赋值会覆盖原有的值。
2、Dictionary 没有元素顺序的概念。说元素 “顺序乱了” 是不正确的, 它们只是序偶的简单排列。
3、List 是一个用方括号包括起来的有序元素的集合。
4、list的slice返回值是一个新的list,它包含了 list 中按顺序从第一个 slice 索引开始, 直到但是不包括第二个 slice 索引的所有元素。如果一个或两个 slice 索引是负数,可以这样理解:从左向右阅读 list, 第一个 slice 索引指定了您想要的第一个元素, 第二个 slice 索引指定了第一个您不想要的元素。返回的值为在其间的每个元素。
5、如果将两个分片索引全部省略, 这将包括 list 的所有元素。但是与原始的list 不同, 它是一个新 list, 恰好拥有与原始的list一样的全部元素。只是生成一个原始list完全拷贝的一个简写。
6、Lists 的两个方法 extend 和 append 看起来类似, 但实际上完全不同。 extend 接受一个参数, 这个参数总是一个 list, 并且添加这个 list 中的每个元素到原 list 中。append 接受一个参数, 这个参数可以是任何数据类型, 并且简单地追加到 […]

《深入python》学习笔记之第一个程序

1、不是所有的模块都保存为 .py 文件。有一些, 像 sys 模块, 是”内置模块”, 它们实际上是置于 Python 内部的。内置模块的行为如同一般的模块, 但是它们的 Python 源代码是不可用的, 因为它们不是用 Python 写的!
2、不同的编程语言以不同的方式定义 “对象” 。某些语言中, 它意味着 所有 对象 必须 有属性和方法;另一些语言中, 它意味着所有的对象都可以子类化。在 Python 中, 定义是松散的;某些对象既没有属性也没有方法, 而且不是所有的对象都可以子类化。但是万物皆对象从感性上可以解释为:一切都可以赋值给变量或作为参数传递给函数。
3、模块是对象, 并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值要看您如何应用模块。如果 import 模块, 那么 __name__ 的值通常为模块的文件名, 不带路径或者文件扩展名。但是您也可以像一个标准的程序一样直接运行模块, 在这种情况下 __name__ 的值将是一个特别的缺省值, __main__。

新款服务器不一定能装旧版的Solaris

前天遇到特郁闷一件事,新到了两台Sun Fire V890服务器,随机预装的操作系统是Solaris 10,而我们的应用系统没有在这个版本上测试过,新购的Solaris 9还没有到货,就试着用9/04版的安装,结果一从光盘启动启动就报以下错误:
Rebooting with command: boot cdrom
Boot device: /pci@8,700000/ide@1/cdrom@0,0:f File and args:
krtld: load_exec: fail to expand cpu/$CPU
krtld: error during initial load/link phase
panic - boot: exitto64 returned from client program
Program terminated
这两台890的OBP版本都是4.18.1的,网上有两种说法:1、OBP版本太低;2、Solaris 9系统版本太低。还好我们有SUN的服务,一个电话打过去,结果SUN的老先生太弱,还得我们引导他想解决办法。没办法,下了个890的文档,一看,明明白白的写着这个版本的机器必须装Solaris 9 U8的才行(看来sun的人对自己的产品都不熟,娘的,这样也能混!)。花了一个多小时,下了一套U8的ISO,刻盘安装成功。
由此可见文档还是很很重要地,遇到问题一定要先看文。。。。。档!