推荐一个镜像网站,速度很快。无意中搜索到的。
http://www.by.kernel.org/pub/
里面各种unix包都有。
mount.ntfs-3g /dev/sdb5 sdb5 -o force -o locale=zh_CN.UTF-8
-o force means force mount whatever sdb5 clean or not.
-o locale=zh_CN.UTF-8 means use zh_CN.UTF-8, same as my XP.
CN99的这个大家用的比较多了。http://ubuntu.cn99.com/ubuntu/
今天发现还有一个http://mirror.lupaworld.com/ubuntu/ 速度不错。
还有一个教育网的 http://ftp.sjtu.edu.cn/ubuntu/ 大家有机会测试一下吧。
有两个文件f1,f2,
每个文件都是100 行4列
怎么造一个新文件f3, 也是100行 4列
f3 的第一列,第二列是f1 的第四列,第二列,
f3 的第三列,第四列是f2 的第二列,第三列。
awk ‘{printf “%s %s “,$4,$2;getline <”f2″; printf “%s %s\n”,$2,$3} ‘ f1 >f3
今天遇到的,后来查了一下VIM里$就代表页末,俺这样一下
:%s/$/>123<p>$/
这样就在每行后面添加了一个>123<p>了。其实就是把页末字符替换掉。
Why ? Becouse I want install Qmail. The Qmail Toaster is really good chioce for me….I am lazy…very very lazy….
So..I just have one ubuntu server, How to install Centos?
1. wget -c http://mirror.averse.net/centos/5.2/isos/i386/CentOS-5.2-i386-bin-DVD.iso
2. mkdir /mnt/sde1/centos && mkdir /mnt/isocentos && mount -t iso9660 -o loop CentOS-5.2-i386-bin-DVD.iso /mnt/isocentos && cd /mnt/sde1/centos
3. write a bash shell script ..I named ccc.sh ths context is :
——————————————-
#!/bin/sh
file=$1
rpm2cpio $file | cpio -ivd
——————————————-
chmod +x ccc.sh
Just easy, use rpm2copi convert rpm package to cpio, then use cpio -idv to extart package.
4. find /mnt/isocentos/CentOs/ -name “*.rpm” –exec ./ccc.sh {}\;
use find to extart all the package…I am lazy…
5.then you will find /mnt/sde1/centos have one centos copy.
root@ERJING:/mnt/sde1/centos# ls
bin ccc.sh etc lib misc opt root selinux sys tmp var
boot dev home media mnt proc sbin srv tftpboot usr
root@ERJING:/mnt/sde1/centos#
6. cp /etc/fstab /mnt/sde1/centos/etc
you must take care have one line:
proc /proc proc defaults 0 0
If you don’t have ,just use mount proc /proc -t proc by hand when chrooted.
7. chroot /mnt/sde1/centos
8.done
ssh user@domain.com df
一次执行一个命令
ssh user@domain.com “df;uptime”
执行多个命令
ssh user@domain.com “df|grep sdd”
还能筛选啥的…..
G:\新歌需要整理1
├─其他歌曲
│ ├─大陆
│ │ ├─001
│ │ │ 张靓颖+三角COOL–HEROS.mpg
│ │ │ 李子璇–有没有一种爱让人不流泪(原版伴奏).mpg
│ │ │ 沈建祥-我的心你能够明白吗.mpg
│ │ │ 爱戴-听雪(消伴).mpg
│ │ │ 王键-飞蛾扑火DIY(左伴右唱).mpg
│ │ │ 石卫–痴人(原版伴奏).mpg
│ │ │ 胡灵–不爱拉倒(消伴).mpg
│ │ │ 蛤蟆爱天鹅[动漫+原版伴奏].mpg
│ │ │ 郭燕-下半生.mpg
│ │ │ 长春虫子–动了情伤了心(原版伴奏).mpg
│ │ │ 陈玉建-爱上离婚的女人.mpg
│ │ │ 高榕–钢琴上的芭蕾(天音 原伴).mpg
│ │ │
│ │ ├─002
│ │ │ 初百军-今天你爱了吗.dat
│ │ │ 小宋佳–女人的梦(天音).mpg
│ │ │ 小宋佳–如果我离开(天音).mpg
│ │ │ 张爽–写一首歌.mpg
│ │ │ 张爽–挽留(天音 原伴).mpg
│ │ │ 李宇春-差生(天音).mpg
│ │ │ 李维–风与叶子(原版伴奏).mpg
│ │ │ 高寒–情罪.mpg
硬盘里的文件就是这样的,我需要修改成
G:\新歌需要整理1\大陆\李子璇\有没有一种爱让人不流泪(原版伴奏).mpg
就是说要把“–”前面的字生成文件夹,然后把这个文件放到这个文件夹里。如果能把(原版伴奏)去掉也可以。
回答:
windows下不会…linux下可以这样
写一个新的脚本叫domove.sh,内容如下
—————————————————————————————————-
#!/bin/sh
filename=$1
ddname=`echo $filename |gawk -F — ‘{print $1}’`
if [ -d $ddname ]
then
mv $filename ./$ddname/
else
mkdir ./$ddname && mv $filename ./$ddname/
fi
exit 0
————————————————————————————————————–
然后执行
find ./ -name “*.mpg” -exec ./domove.sh {} \;
可以在windows下安装个cygwin执行….
中国邮政编码验证
匹配形式如:215421
正则表达式 “d{6}”
电子邮件验证
匹配形式如:justali@justdn.com
正则表达式 “w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*”
身份证验证
匹配形式如:15位或者18位身份证
正则表达式 “d{18}|d{15}”
常用数字验证
正则表达式
“d{n}” n为规定长度
“d{n,m}” n到m的长度范围
非法字符验证
匹配非法字符如:< > & / ‘ |
正则表达式 [^<>&/|’\]+
日期验证
匹配形式如:20030718,030718
范围:1900–2099
正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}
正则表达式是一个好东西,但是一般情况下,我们需要验证的内容少之又少。下面是常用的17种正则表达式:
“^\d+$” //非负整数(正整数 + 0)
“^[0-9]*[1-9][0-9]*$” //正整数
“^((-\d+)|(0+))$” //非正整数(负整数 + 0)
“^-[0-9]*[1-9][0-9]*$” //负整数
“^-?\d+$” //整数
“^\d+(\.\d+)?$” //非负浮点数(正浮点数 + 0)
“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮点数
“^((-\d+(\.\d+)?)|(0+(\.0+)?))$” //非正浮点数(负浮点数 + 0)
“^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$” //负浮点数
“^(-?\d+)(\.\d+)?$” //浮点数
“^[A-Za-z]+$” //由26个英文字母组成的字符串
“^[A-Z]+$” //由26个英文字母的大写组成的字符串
“^[a-z]+$” //由26个英文字母的小写组成的字符串
“^[A-Za-z0-9]+$” //由数字和26个英文字母组成的字符串
“^\w+$” //由数字、26个英文字母或者下划线组成的字符串
“^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$” //email地址
“^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$” //url
[code]电子邮件 : @”^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$”
HTTP URL : @”^http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?”;
邮编 : @”\d{6}”
身份证 : @”\d{18}|\d{15}”
整数 : @”^\d{1,}$”
数值 : @”^-?(0|\d+)(\.\d+)?$”
日期 : @”^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$”
合法的用户名(以字母开头,长度不小于4) : @”(([a-zA-Z]){1})+(\w{3,29})”[/code]
[code]常用正则表达式语法例句
这里有一些可能会遇到的正则表达式示例:
/^\[ \t]*$/ “^\[ \t]*$” 匹配一个空白行。
/\d{2}-\d{5}/ “\d{2}-\d{5}” 验证一个ID号码是否由一个2位字,一
个连字符以及一个5位数字组成。
/<(.*)>.*<\/\1>/ “<(.*)>.*<\/\1>” 匹配一个 HTML 标记。
下表是元字符及其在正则表达式上下文中的行为的一个完整列表:
字符 描述
\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后
向引用、或一个八进制转义符。例如,’n’ 匹配字符 “n”。’\n’
匹配一个换行符。序列 ‘\\’ 匹配 “\” 而 “\(” 则匹配 “(”。
^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的
Multiline 属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置。
$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的
Multiline 属性,$ 也匹配 ‘\n’ 或 ‘\r’ 之前的位置。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” 以及
“zoo”。 * 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 “zo” 以
及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,”do(es)?” 可以匹配
“do” 或 “does” 中的”do” 。? 等价于 {0,1}。
{n} n 是一个非负整数。匹配确定的 n 次。例如,’o{2}’ 不能匹配
“Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。
{n,} n 是一个非负整数。至少匹配n 次。例如,’o{2,}’ 不能匹配
“Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。’o{1,}’
等价于 ‘o+’。’o{0,}’ 则等价于 ‘o*’。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹
配 m 次。刘, “o{1,3}” 将匹配 “fooooood” 中的前三个o。
‘o{0,1}’等价于’o?’。请注意在逗号和两个数之间不能有空格
? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,},
{n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的
匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜
索的字符串。例如,对于字符串 “oooo”,’o+?’ 将匹配单个
“o”,而 ‘o+’ 将匹配所有 ‘o’。
. 匹配除 “\n” 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任
何字符,请使用象 ‘[.\n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。所获取的匹配可以从产生的
Matches 集合得到,在VBScript 中使用 SubMatches 集合,在
Visual Basic Scripting Edition 中则使用 $0…$9 属性。要
匹配圆括号字符,请使用 ‘\(’ 或 ‘\)’。
(?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹
配,不进行存储供以后使用。这在使用 “或” 字符 (|) 来组合
一个模式的各个部分是很有用。例如, ‘industr(?:y|ies) 就
是一个比 ‘industry|industries’ 更简略的表达式。
(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符
串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后
使用。例如,’Windows (?=95|98|NT|2000)’ 能匹配”Windows
2000″中的”Windows”,但不能匹配”Windows3 .1″中”Windows”。
预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹
配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之
后开始。
(?!pattern) 负向预查,在任何不匹配Negative lookahead matches the
search string at any point where a string not matching
pattern 的字符串开始处匹配查找字符串。这是一个非获取匹
配,也就是说,该匹配不需要获取供以后使用。例如’Windows
(?!95|98|NT|2000)’ 能匹配 “Windows 3.1″ 中的 “Windows”,
但不能匹配 “Windows 2000″ 中的 “Windows”。预查不消耗字
符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开
始下一次匹配的搜索,而不是从包含预查的字符之后开始
x|y 匹配 x 或 y。例如,’z|food’ 能匹配 “z” 或 “food”。’(z|f)
ood’ 则匹配 “zood” 或 “food”。
[xyz] 字符集合。匹配所包含的任意一个字符。例如, ‘[abc]’ 可以
匹配 “plain” 中的 ‘a’。
[^xyz] 负值字符集合。匹配未包含的任意字符。例如, ‘[^abc]’ 可以
匹配 “plain” 中的’p'。
[a-z] 字符范围。匹配指定范围内的任意字符。例如,’[a-z]’ 可以匹
配 ‘a’ 到 ‘z’ 范围内的任意小写字母字符。
[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如,
‘[^a-z]’ 可以匹配任何不在 ‘a’ 到 ‘z’ 范围内的任意字符。
\b 匹配一个单词边界,也就是指单词和空格间的位置。例如,
‘er\b’ 可以匹配”never” 中的 ‘er’,但不能匹配 “verb” 中
的 ‘er’。
\B 匹配非单词边界。’er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹
配 “never” 中的 ‘er’。
\cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或
回车符。 x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一
个原义的 ‘c’ 字符。
\d 匹配一个数字字符。等价于 [0-9]。
\D 匹配一个非数字字符。等价于 [^0-9]。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于
[ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。
\W 匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]’。
\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确
定的两个数字长。例如, ‘\x41′ 匹配 “A”。’\x041′ 则等价
于 ‘\x04′ & “1″。正则表达式中可以使用 ASCII 编码。.
\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。
例如,’(.)\1′ 匹配两个连续的相同字符。
\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n
个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制
数字 (0-7),则 n 为一个八进制转义值。
\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有
is preceded by at least nm 个获取得子表达式,则 nm 为后
向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文
字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为
八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。
\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-
7),则匹配八进制转义值 nml。
\un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字
符。例如, \u00A9 匹配版权符号 (?)。 [/code]
常用正则表达式
——————————————————————————–
匹配html的嵌入代码 [code]<[^>]*>[/code]
匹配[….]的嵌入码[code] \[[^]]\{1,\}\][/code]
删除仅由空字符组成的行
[code]sed ‘/^[[:space:]]*$/d’ filename[/code]
匹配html标签
[code]/\(<[^>]*>\)/[/code]例如:从html文件中剔除html标签
[code]sed ’s/\(<[^>]*>\)//g;/^[[:space:]]*$/d’ file.html[/code]
例如:要从下列代码中去除”[]”及其中包括的代码
[code]一. 替换
sed ’s/\[[^]]\{1,\}\]//g’ filename[/code]
匹配日期:
[code]Month, Day, Year [A-Z][a-z]\{3,9\}, [0-9]\{1,2\}, [0-9]\{4\}
2003-01-28 或 2003.10.18 或 2003/10/10 或 2003 10 10
\([0-9]\{4\}[ /-.][0-2][0-9][ /-.][0-3][0-9]\)[/code]
匹配IP地址
[code]\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)
\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)[/code]
匹配数字串
[code][-+]*[0-9]\{1,\} 整数
[-+]*[0-9]\{1,\}\.[0-9]\{1,\} 浮点数[/code]
从字串中解析出两个子串(前2各字符和后9个字符)
[code]echo “WeLoveChinaUnix”|sed -e ‘H;s/\(..\).*/\1/;x;s/.*\(.\{9\}\)$/\1/;x;G;s/\n/ /’
We ChinaUnix [/code]
分解日期串
[code]echo 20030922|sed ’s/\(….\)\(..\)\(..\)/\1 \2 \3/’|read year month day
echo $year $month $day [/code]
文件内容倒序输出
[code]sed ‘1!G;h;$!d’ oldfile >newfile[/code]
[code]匹配中文字符的正则表达式:
[\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):
[^\x00-\xff]
匹配空行的正则表达式:
\n[\s| ]*\r
匹配HTML标记的正则表达式:
/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:
(^\s*)|(\s*$)
URL:
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
Email:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
中华人民共和国电话号码
(\(\d{3}\)|\d{3}-)?\d{8}
中华人民共和国邮编
\d{6}
门丁注册的id格式:2-12位,数字、字符、下划线(0-9,a-z,A-Z,_)
^[0-9a-zA-Z]+(\w){1,11}[/code]
蓝吧甜 宝宝:主人,陪我去森林里玩好不好?
你和宝宝在森林里找了个好东西给你~~管理员作的特别科研卡!
卡片说明:获得社区特别科研基金100个金币。
卡片效果:得到100金币。
你高兴我也高兴!

[code]匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
—————————————————————————
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup=”value=value.replace(/[^\u4E00-\u9FA5]/g,”)” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\u4E00-\u9FA5]/g,”))”
1.用正则表达式限制只能输入全角字符: onkeyup=”value=value.replace(/[^\uFF00-\uFFFF]/g,”)” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\uFF00-\uFFFF]/g,”))”
2.用正则表达式限制只能输入数字:onkeyup=”value=value.replace(/[^\d]/g,”) “onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,”))”
3.用正则表达式限制只能输入数字和英文:onkeyup=”value=value.replace(/[\W]/g,”) “onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,”))”
4.计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,”aa”).length;}
5.javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, “”);
}
利用正则表达式分解和转换IP地址:
6.下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:
function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error(”不是一个正确的IP地址!”)
}
}
不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:
var ip=”10.100.20.168″
ip=ip.split(”.”)
alert(”IP值是:”+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))[/code]
转贴,不知道原文出处。
—- 转贴开 始 ——————————————————————————————————————————————-
关于网络设备的定义和设备间连接方式一般规律:
第一,你需要了解两类设备:DTE类设备和DCE类设备。
DTE 类设备:PC、路由器、交换机uplink口、HUB级联口
DCE 类设备:交换机普通口、HUB普通口
同类设备间相连使用交叉线方式;异类设备间相连使用直通线方式。
说明:
DTE(Data TerminalEquipment)是数据终端设备,也就是具有一定的数据处理能力以及发送和接收数据能力的设备。大家知道,大多数的数字数据处理设备 的数据传输能力是很有限的。直接将相隔很远的两个数据处理设备连接起来,是不能进行通信的。必须在数据处理设备和传输线路之间,加上一个中间设备。这个中 间设备就是数据电路端设备DCE(Data Circuit-terminatingEquipment)。DCE的作用就是在DTE和传输线路之间提供信号变换和编码的功能,并且负责建立、保持和 释放数据链路的连接。DTE可以是一台计算机或一个终端,也可以是各种的I/O设备。典型的DCE则是一个与模拟电话线路相连接的调制解调器。DCE虽然 处于通信环境内,但它和DTE均属于用户设施。用户环境只包括DTE。
例如:
PC PC 交叉线
PC HUB 直通线
HUB普通口 HUB普通口 交叉线
HUB普通口 HUB级联口 直通线
PC 路由器 交叉线
路由器 路由器 交叉线
PC 交换机 直通线
路由器 交换机 直通线
交换机普通口 交换机uplink口 直通线
交换机普通口 交换机普通口 交叉线
交换机uplink口 交换机uplink口 交叉线
所谓的交叉线是指:一端是568A标准,另一端是568B标准的双绞线。
直连线则指:两端都是568A或都是568B标准的双绞线。
电缆内有8根电线,分为4对,每一对就是一对双绞线,依次为:(白橙,橙);(白绿,绿);(白蓝,蓝);(白棕,棕)
568A的排线顺序从左到右依次为:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕。
568B的排线顺序从左到右依次为:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕。
其中1、2用于发送数据,3、6用于接收数据,4、5用于传输语音,7、8用于传输电源。
顺便说一下,许多朋友在做RJ45头的时候,只是保证线两端的顺序一一对应,却并未按照568A/568B的排线标准去做。这样虽能连通网络,但这种线的抗干扰性非常差,经常出现诸如传输速度慢、网络时好时坏的情况。希望大家在做网线的时候一定按照标准去做,并且根据实际的工程经验网线长度最好不小于1.5米,这对提高网络的稳定性是非常必要的!
—- 转贴结束 ——————————————————————————————————————————————-
基本上,都是两头568B的线用的多,如果pc和 pc相连,就是一头568A一头568B。还有现在大部分的端口都是智能的,尤其是DEC设备,所以和DEC设备连其实无所谓的。反正能识别。
http://blog.chinaunix.net/u/22826/
Kiver非常勤快滴,俺休息一年了都没有说把以前的东西总结一下,今天去看了看,都被他总结了。
Yeah~~以后俺可以不用总结了,啥忘掉了直接去看就行了。 yah~~~yeah~~yeah~~~~
说起Kiever…一个做事非常认真的人,呵呵,比我还认真,就是比我死心眼。
第一次接触Kiever是在GuangDian ChuanMei….当年对他的映像就是,刻苦!没事就被发配到机去了,一去就一个晚上..家里还有老婆孩子…唉,当时的环境是典型的谁会谁出力,谁出力谁不讨好….
要是我,早就崩溃了…Kiever倒是蛮强悍滴…
linux下的iptables防火墙脚本,
没有用啥特殊的东西,没有加放DDOS之类的,就一个限制端口功能,
然后融合了收集来的一些其他iptables脚本,能Drop IP之类的。
总之用起来很方便,开机直接运行就行了,默认就开22和80。
过几天有空了添加一些增强,比如DDOS,高级过滤之类的。
现在没空啊….
内容如下:
#! /bin/bash
#Script fwinit.sh by erjing@@@126@@@com.
#Initial environment.
IPT=/sbin/iptables
DIR=/root/bin/fwinit
OUTIP=`ifconfig eth0|grep “inet addr”|awk ‘{print$2}’|awk -F \: ‘{print$2}’`
INIP=`ifconfig eth1|grep “inet addr”|awk ‘{print$2}’|awk -F \: ‘{print$2}’`
Allow_ip_inside=`cat $DIR/share/list |grep “allow_ip_inside=”|awk -F \= ‘{print$2}’`
Allow_ip_outside=`cat $DIR/share/list |grep “allow_ip_outside=”|awk -F \= ‘{print$2}’`
Allow_ports_inbound_inside=`cat $DIR/share/list |grep “allow_ports_intbound_inside=”|awk -F \= ‘{print$2}’`
Allow_ports_inbound_outside=`cat $DIR/share/list |grep “allow_ports_inbound_outside=”|awk -F \= ‘{print$2}’`
Drop_ip_outside=`cat $DIR/share/list |grep “drop_ip_outside=”|awk -F \= ‘{print$2}’`
Drop_ip_inside=`cat $DIR/share/list |grep “drop_ip_inside=”|awk -F \= ‘{print$2}’`
Good_ip_outside=`cat $DIR/share/list |grep “good_ip_outside=”|awk -F \= ‘{print$2}’`
Good_ip_inside=`cat $DIR/share/list |grep “good_ip_inside=”|awk -F \= ‘{print$2}’`
#Clean and set all to default.
$IPT -F INPUT
$IPT -X
$IPT -P INPUT ACCEPT
$IPT -F OUTPUT
$IPT -P OUTPUT ACCEPT
$IPT -F FORWARD
$IPT -P FORWARD DROP
#For local loop device.
$IPT -A INPUT -i lo -p all -j ACCEPT
$IPT -A OUTPUT -o lo -p all -j ACCEPT
#Common rule.
$IPT -A INPUT -m state –state ESTABLISHED -j ACCEPT
#For allow port in outside.
for Port in $Allow_ports_inbound_outside
do
for IP in $Allow_ip_outside
do
$IPT -A INPUT -i eth0 -p tcp -s $IP -d $OUTIP –dport $Port -j ACCEPT
$IPT -A INPUT -i eth0 -p udp -s $IP -d $OUTIP –dport $Port -j ACCEPT
$IPT -A INPUT -i eth0 -p icmp -s $IP -d $OUTIP -j ACCEPT
done
done
#For allow port in inside.
for Port in $Allow_ports_inbound_inside
do
for IP in $Allow_ip_inside
do
$IPT -A INPUT -i eth1 -p tcp -s $IP -d $INIP –dport $Port -j ACCEPT
$IPT -A INPUT -i eth1 -p udp -s $IP -d $INIP –dport $Port -j ACCEPT
$IPT -A INPUT -i eth1 -p icmp -s $IP -d $INIP -j ACCEPT
done
done
#For allow ip in outside. Warning: “you should be careful for use this, The ip address will be trusted, No limit! “
for IP in $Good_ip_outside
do
$IPT -I INPUT -i eth0 -s $IP -j ACCEPT
$IPT -I OUTPUT -o eth0 -d $IP -j ACCEPT
done
#For allow ip in inside. Warning: “you should be careful for use this, The ip address will be trusted, No limit! “
for IP in $Good_ip_inside
do
$IPT -I INPUT -i eth1 -s $IP -j ACCEPT
$IPT -I OUTPUT -o eth1 -d $IP -j ACCEPT
done
#For drop ip in outside.
for IP in $Drop_ip_outside
do
$IPT -I INPUT -i eth0 -s $IP -j DROP
$IPT -I OUTPUT -o eth0-d $IP -j DROP
$IPT -I FORWARD -i eth0 -d $IP -j DROP
done
#For drop ip in inside.
for IP in $Drop_ip_inside
do
$IPT -I INPUT -i eth1 -s $IP -j DROP
$IPT -I OUTPUT -o eth1 -d $IP -j DROP
$IPT -I FORWARD -i eth1 -d $IP -j DROP
done
$IPT -P INPUT DROP
$IPT -nL
——————————————————-
看到了吗?就是把文件解压缩到/root/bin/fwinit,然后执行,文件会从/root/bin/fwinit/share/list里找哪些端口需要打开,哪些是信任主机。
/root/bin/fwinit/share/list内容如下:
#There is port and IP list for fwinit.sh
allow_ip_outside= 0.0.0.0/0
allow_ip_inside=
allow_ports_inbound_outside=22 80
allow_ports_intbound_inside=
good_ip_outside=1.2.3.4/32
good_ip_inside=
drop_ip_outside=
drop_ip_inside=
简单吧,写这个就是为了简单,看到那么多的linux防火墙脚本我头都要大了,我仅仅想有一个脚本能从配置文件里读取参数然后开放端口之类的,就需要这个功能而已。
新建了一个cygwin镜像,因为cygwin.cn现在上的人好像很多,这次安装用了足足12小时….
就这个了,大家宣传一下吧,算是做点贡献,自动升级的。
for w in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9
do
mkdir $w
done
for x in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9
do
cd $x
for m in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9
do
mkdir $m
done
for y in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9
do
cd $y
for x in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9
do
mkdir $x
done
cd ..
done
cd ..
done
好玩吧,建立三层目录,类似squid一样的。不过真的好用吗?结果是否定的,实践证明,管理巨型存储用二级目录就行了,三级目录只能影响性能,没有实际用处。
#!/bin/sh
#备份数据库
mysqldump -uroot -p123456 haocaiwu > haocaiwu.sql
#删除内容数据库导出临时文件
rm -f /cygdrive/r/w/wiki_doc_content_tab.tmp
#导出数据
mysql -uroot -p123456 haocaiwu -e”select concat(’update wiki_doc set doc_content=\”,doc_content,’\’ where doc_id=’,doc_id,’;') into outfile ‘r://w/wiki_doc_content_tab.tmp’ from wiki_doc”
#转化编码为GBK
iconv.exe -f utf-8 -t GBK /cygdrive/r/w/wiki_doc_content_tab.tmp > /cygdrive/r/w/wiki_doc_content_tab.tmp.gbk
#去掉内容里所有的链接,初始化数据
cat /cygdrive/r/w/wiki_doc_content_tab.tmp.gbk |sed -e ’s/<\/a>//g’|sed -e ’s/<a href[^>]*>//g’ > /cygdrive/r/w/wiki_doc_content_tab.tmp.gbk.clean
#运行clean_tesu.sh,去掉特殊字符(目前不能在shell下运行,只能复制粘贴了运行内容了。得到wiki_doc_content_tab.tmp.gbk.clean.again)
#删除keyword数据导出临时文件
rm -f /cygdrive/r/w/keyword.tmp
#导出keyword数据
mysql -uroot -p123456 -Dhaocaiwu -e”SELECT doc_title INTO OUTFILE ‘r://w/keyword.tmp’ FROM wiki_doc”
#转化为GBK编码
iconv.exe -f utf-8 -t GBK /cygdrive/r/w/keyword.tmp > /cygdrive/r/w/keyword.tmp.gbk
#去掉多余字符,并且去掉重复,格式化keyword文件。
./makekeyword.sh
#|tr “\n” “\t”
#首先进行unicode编码,防止汉字在sed的处理的时候出问题。
cat keyword.tmp.gbk.clean | ./urlencode > key.en
按照长度排列,这样会首先匹配词组,然后再匹配字。
awk ‘{print length($0),$0}’ key.en |sort -nr|sed ‘/^[^ ]* /s///’> key.en.swp;mv key.en.swp key.en
#给key.en加上两个(),生成key.enformated,方便后面做匹配。
cat key.en |awk ‘{print “(”$1″)”}’ > key.enformated
cat wiki_doc_content_tab.tmp.gbk.clean.again| ./urlencode > c.en
生成第一次编码keyword文件,
cat key.en|./urldecode > key.de
echo “” > url.en1 ;for i in `cat key.de`; do ./e.sh $i >> url.en1 ;done
cat url.en1 |./urlencode > url.en2
合并key.en和url.en2到 k_url.en,这样k_url.en可以被用来当作匹配有keyword的url文件,可以直接调用啦。(注意还没有自动删除最上面一行空白)
paste.exe key.enformated url.en2 >k_url.en
#开始转换
#for i in `cat key.en`;do m=`cat k_url.en|grep $i`; sed -e “s/$i/$m/g” c.en > c.en.tmp;mv c.en.tmp c.en;done
#for i in `cat key.en`;do m=cat k_url.en|grep $i|awk ‘{print $2}’;sed -e “s/$i/$m/g” c.en > e.en.tmp;mv c.en.tmp c.en;done
#for i in `cat key.en`;do m=`cat k_url.en|grep $i|awk ‘{print $2}’`;sed -e “s/$i/$m/g” c.en > c.en.tmp;mv c.en.tmp c.en;done
#for i in `cat key.en`;do m=`cat k_url.en|grep $i|awk ‘{print $2}’`;sed -e ’s/”$i”/”$m”/g’ c.en > c.en.tmp;mv c.en.tmp c.en;done
#for i in `cat key.en`;do m=`cat k_url.en|grep $i|awk ‘{print $2}’`;sed -e “s/$i/$m/g” c.en > c.en.tmp;mv c.en.tmp c.en;done
for i in `cat key.en`;do m=`cat k_url.en|grep “(”$i”)”|awk ‘{print $2}’`;sed -e “s/$i/$m/g” c.en > c.en.tmp;mv c.en.tmp c.en;done
#转换GBK到utf-8
#iconv.exe -f GBK -t utf-8 /cygdrive/r/w/wiki_doc_content_tab.tmp.gbk.clean > /cygdrive/r/w/wiki_doc_content_tab.tmp
#导入数据库
#mysql -uroot -p123456 haocaiwu < r://w/wiki_doc_content_tab.tmp
过滤掉内容的<a href=xxx></a>
cat sewinter_wikihaocaiwu.gb2312 |sed -e ’s/<\/a>//g’|sed -e ’s/<a href[^>]*>//g’
过滤出简介,用时间2008-01-20 22:22:00 这样的格式
cat sewinter_wikihaocaiwu.gb2312.clean|awk -F”‘[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]’,” ‘NR==3 {print $1}’
过滤出正文,用时间2008-01-20 22:22:00 这样的格式
cat sewinter_wikihaocaiwu.gb2312.clean|awk -F”‘[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]’,” ‘NR==3 {print $2}’
得到内容部分
cat sewinter_wikihaocaiwu.gb2312.clean|awk -F”‘[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]’,” ‘NR==1 {print $2}’
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
在mysql配置的时候:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
在建立数据库的时候,最好就直接建立成utf-8的。
CREATE DATABASE haocaiwu
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci ;
如果是已经建立好的数据库,一定要把数据库修改成utf-8的,这样在后面select的时候才不会出错,
ALTER DATABASE haocaiwu
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci;
这样数据会追加到后面:
rm -f /cygdrive/z/w/wiki_doc_content_tab.tmp
mysql -uroot -p123456 -Dhaocaiwu -e”SELECT doc_content INTO OUTFILE ‘z://w/wiki_doc_content_tab.tmp’ FIELDS TERMINATED BY ‘#’ FROM wiki_doc”
iconv.exe -f utf-8 -t GBK /cygdrive/z/w/wiki_doc_content_tab.tmp > /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk
iconv.exe -f GBK -t utf-8 /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk > /cygdrive/z/w/wiki_doc_content_tab.tmp
mysql -uroot -p123456 -Dhaocaiwu -e”LOAD DATA INFILE ‘z://w/wiki_doc_content_tab.tmp’ INTO TABLE wiki_doc FIELDS TERMINATED BY ‘#’ (doc_content)”
正确替换的格式是,唯一的缺陷是没有replace”‘”,所以在导入的时候可能会出问题,如果是php程序导入的内容估计没有问题,因为在php程序往数据库里写的时候就转义过了。
mysql -uroot -p123456 haocaiwu -e”select concat(’update wiki_doc set doc_content=\”,doc_content,’\’ where doc_id=’,doc_id,’;') into outfile ‘z://w/wiki_doc_content_tab.tmp’ from wiki_doc where doc_id between 50 and 200″
mysql -uroot -p123456 haocaiwu < z://w/wiki_doc_content_tab.tmp
这样可以替换原数据,
rm -f /cygdrive/z/w/wiki_doc_content_tab.tmp
mysql -uroot -p123456 haocaiwu -e”select concat(’update wiki_doc set doc_content=\”,doc_content,’\’ where doc_id=’,doc_id,’;') into outfile ‘z://w/wiki_doc_content_tab.tmp’ from wiki_doc”
iconv.exe -f utf-8 -t GBK /cygdrive/z/w/wiki_doc_content_tab.tmp > /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk
iconv.exe -f GBK -t utf-8 /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk > /cygdrive/z/w/wiki_doc_content_tab.tmp
mysql -uroot -p123456 haocaiwu < z://w/wiki_doc_content_tab.tmp
导出2000-3000,并且替换。
rm -f /cygdrive/z/w/wiki_doc_content_tab.tmp
mysql -uroot -p123456 haocaiwu -e”select concat(’update wiki_doc set doc_content=\”,doc_content,’\’ where doc_id=’,doc_id,’;') into outfile ‘z://w/wiki_doc_content_tab.tmp’ from wiki_doc where doc_id between 2000 and 3000″
iconv.exe -f utf-8 -t GBK /cygdrive/z/w/wiki_doc_content_tab.tmp > /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk
iconv.exe -f GBK -t utf-8 /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk > /cygdrive/z/w/wiki_doc_content_tab.tmp
mysql -uroot -p123456 haocaiwu < z://w/wiki_doc_content_tab.tmp
rm -f /cygdrive/z/w/wiki_doc_content_tab.tmp
mysql -uroot -p123456 haocaiwu -e”select concat(’update wiki_doc set doc_content=\”,doc_content,’\’ where doc_id=’,doc_id,’;') into outfile ‘z://w/wiki_doc_content_tab.tmp’ from wiki_doc where doc_id”
iconv.exe -f utf-8 -t GBK /cygdrive/z/w/wiki_doc_content_tab.tmp > /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk
cat /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk |sed -e ’s/<\/a>//g’|sed -e ’s/<a href[^>]*>//g’ > /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk.clean
iconv.exe -f GBK -t utf-8 /cygdrive/z/w/wiki_doc_content_tab.tmp.gbk.clean > /cygdrive/z/w/wiki_doc_content_tab.tmp
mysql -uroot -p haocaiwu < z://w/wiki_doc_content_tab.tmp
得到keyword并且过滤掉特殊字符,并且去掉重复字符:
mysql -uroot -p -Dhaocaiwu -e”SELECT doc_title INTO OUTFILE ‘z://w/keyword.tmp’ FROM wiki_doc
iconv.exe -f utf-8 -t GBK /cygdrive/z/w/keyword.tmp > /cygdrive/z/w/keyword.tmp.gbk
cat keyword.tmp.gbk |sed \
-e ’s/([^>]*)//g’ \
-e ’s/([^>]*)//g’ \
-e ’s/!//g’ \
-e ’s/。//g’ \
-e ’s/,//g’ \
-e ’s/?//g’ \
-e ’s/@//g’ \
-e ’s/#//g’ \
-e ’s/$//g’ \
-e ’s/%//g’ \
-e ’s/︿//g’ \
-e ’s/&//g’ \
-e ’s/*//g’ \
-e ’s/-//g’ \
-e ’s/+//g’ \
-e ’s/://g’ \
-e ’s/;//g’ \
-e ’s/'//g’ \
-e ’s/"//g’ \
-e ’s/~//g’ \
-e ’s/`//g’ \
-e ’s/·//g’ \
-e ’s/¥//g’ \
-e ’s/|//g’ \
-e ’s/“//g’ \
-e ’s/”//g’ \
-e ’s////g’ \
-e ’s/——//g’ \
-e ’s/—//g’ \
-e ’s/、//g’ \
-e ’s/{[^>]*}//g’ \
-e ’s/<[^>]*>//g’ \
-e ’s/[[^>]*]//g’ \
-e ’s/"[^>]*"//g’ \
-e ’s/“[^>]*”//g’ \
-e ’s/《[^>]*》//g’ \
-e ’s/\~//g’ \
-e ’s/\`//g’ \
-e ’s/\!//g’ \
-e ’s/\@//g’ \
-e ’s/\#//g’ \
-e ’s/\$//g’ \
-e ’s/\%//g’ \
-e ’s/\^//g’ \
-e ’s/\&//g’ \
-e ’s/\*//g’ \
-e ’s/(//g’ \
-e ’s/)//g’ \
-e ’s/\_//g’ \
-e ’s/\+//g’ \
-e ’s/{//g’ \
-e ’s/}//g’ \
-e ’s/\[//g’ \
-e ’s/\]//g’ \
-e ’s/\|//g’ \
-e ’s/\://g’ \
-e ’s/\”//g’ \
-e ’s/\>//g’ \
-e ’s/\?//g’ \
-e ’s/\,//g’ \
-e ’s/\.//g’ \
-e ’s/\///g’ \
-e ’s///g’ \
-e ’s///g’ \
-e ’s///g’ \
-e ’s///g’ \
-e ’s///g’ \
-e ’s/\[[^>]*]\]//g’ \
-e ’s/\”[^>]*\”//g’ \
-e ’s/\<[^>]*\>//g’ \
-e ’s/{[^>]*}//g’ \
-e ’s/\<//g’ \
-e ’s/\;//g’ \
-e “s/\’[^>]*\’//g” \
-e ’s/\\//g’ \
-e “s/\’//g”
注意:
1、不要使用 -e ’s/{[^>]*}//g’ \,也不能用-e ’s/\<[^>]*\>//g’ \,否则会匹配所有的英文单词,导致维生素没有ABC区分,只有“维生素”这个单词的关联。
2、匹配{}或者()这样的应该先放在前面执行。
2、部分汉字损坏。
3. -e ’s/://g’ \ 这句删除很重要。
国际企业IT规划
1、IT policy, 企业IT规范。
2、如何做专业的IT规划,企业IT的职能。
3、企业IT网络规划&配置。
网段
VPN
IPEC
SSL
4、企业IT的核心,域管理。
域规划
域合并
linux加入域的几种方式
能和AD融合的几种应用
SSL VPN
PAM (Apache,FTP….)
Suversion
5、企业OA管理,邮件系统,仓库(cvs,subversion)。
6、运营网络规划设计。
先这样吧,慢慢来。
很多时候都需要在IPSEC VPN里跑NAT,典型的情况就是想用机房的防火墙做为办公室里的某个网段的出口。
刚在fortigate里找到这篇文章 《Enabling one-to-one subnet-address translation》
Enabling one-to-one subnet-address translation
When Outbound NAT is selected in a firewall encryption policy, you can configure a
substitute address for Network Address Translation (NAT) through the CLI using the
set natip attribute of the config firewall policy command. The setting
enables one-to-one, subnet-address translation inside an IPSec VPN tunnel.
If you do not use the set natip attribute to translate IP addresses, the source
addresses of outbound encrypted packets are translated to the IP address of the
FortiGate external interface.
When you specify a natip value, the FortiGate unit uses a static subnetwork-tosubnetwork
mapping scheme to translate the source addresses of encrypted packets
into corresponding IP addresses on the subnetwork that you specify. For example, if
the source address in the encryption policy is 192.168.1.0/24 and the natip value is
172.16.2.0/24, a source address of 192.168.1.7 will be translated to 172.16.2.7.
You can specify a 32-bit subnet mask in the natip value to translate the source
addresses of encrypted packets to a single IP address. For example, if the source
address in the encryption policy is 192.168.1.0/24 and the natip value is
172.16.2.1/32, a source address of 192.168.1.7 will be translated to 172.16.2.1.
看到了吗?其实就是一句,是在 CLI里用的。我推荐大家使用CLI界面来配置防火墙,特别是fortigate,你会发现很多参数实在GUI界面里看不到的,虽然fortigate的GUI已经很出色了。
就在大西门电影器材站的二楼就有,东西蛮多的,我买了一卷子绿色偏黄的背景布,220块钱。去的时候忘记带钱包了,掏干全身才找出来214.5块钱,老板也给我了。
回去没钱坐车…扛着近3米长的玩意儿一直走到师范大学…
我买的是密度高的纸背景,以前买过三种颜色的软布,拍出来效果总是不好,无论多大的光圈都觉得背景里很多杂质。这种布他们也有买的,可以按米截。等几天有钱了俺准备买一个电动幕帘,这下就完美啦~~在家里组成俺的小工作室~~~
今天早上听闻Vmware ESXi免费了,真是好消息啊。要是早听到这个消息就好了,那今天给学生开课就直接用Vmware Esxi做实验了,可惜来不及了,还有3个小时就要上课了。
VMware Infrastructure这玩意儿真的不错,用了一年了。以前Mobinex的IT由于资金紧张,我用盗版的ESX建立了完整的IT环境,包括2台AD,一台PPTP VPN,Exchange,Qmail前端…..大概搞了6个左右的主机。很稳定,备份起来也很方便。如果是Linux客户端时钟会有问题,我是搞了一个2分钟一次NTP时间同步就搞定了。
ESX的功能之强大,性能只好,管理之方便是在VMware server里完全体验不到的。BTW:VMware server in linux很早就免费了。
ESXi还可以安装到U盘中(点这里下载相关工具),这意味着使用ESX将更加方便~~
试想用openfiler建立一个iSCSI服务器,并且在U盘上建立这一整套应用。然后使用ESXi U盘结合使用,这意味着我们可以将整个办公室的IT都带到U盘里到处跑,全公司可以去郊外野营顺便几个无聊的家伙还是可以使用公司资源。
以下是ESX和ESXi的对比:
| VMware ESX uses the Service Console for: | VMware ESXi leverages: |
|---|---|
| Executing custom scripts | Remote Command Line Interface (Remote CLI) |
| Hardware monitoring agents | Industry-standard monitoring protocols such as agent-free management through CIM |
| Backup or management agents | ISV solutions that leverage standard interfaces, the VI API and VMware Consolidated Backup |
| VMware ESX 将服务控制台用于: | VMware ESXi 采用: |
|---|---|
|
执行自定义脚本
|
远程命令行界面(远程 CLI)
|
|
硬件监控代理
|
行业标准监控协议(如通过 CIM 进行无代理管理)
|
|
备份或管理代理
|
采用标准界面、VI API 及 VMware Consolidated Backup 的 ISV 解决方案
|
微软对VMware的这一连续的组合拳导致我们可以更加方便的享受VMware的实惠了,哈哈,坐享渔翁之利~~
今天神舟数码北京的朋友打电话,说电信二枢纽有一哥们遇到问题了。oracle不能创建数据库…..
真奇怪啊,AIX + oracle 9i,hcmp都好好的,HA也好好的。测试了N次,也没有错误日志。
oracle启动也正常,就是不能建数据库,而且问题各种各样的…
no也修改过了,hostname,.profile…..
AIX下oracle 9i这问题以前从来都没有遇到啊,居然比linux还邪门…用linux陪rac也没这么多事….
真乱,搞了一天愣是没搞出来,明天下午还要上课….抓紧时间再看看….
朋友搞定了,加了一句export PGSD_SUBSYS=grpsvc
但是默认的这是注释掉的在官方手册里,是否使用取决于VG的类型。
不久以后中国将发三张CDMA执照,但是具体怎么发,网怎么建,最用谁用什么网…我还是云里雾里….
这三张CDMA执照是针对三种CDMA标准的,有哪三种呢?
FDD和TDD的区别
嗯,早上的学习到此结束,吃饭去啦~~~中午再看一遍,下午开始学习三种标准。晚上顺便查一下中国的3G网络究竟准备怎么建。BTW:中国推出自己的TD-SCDMA,千万别小看,标准就是银子,掌握了标准就是掌握了行业。要最终钱都要被老外攒去了。
Powered by WordPress