Entries Tagged as ''

SecureCRT里支持彩色

LinuxFreeBSD下的很多命令行工具都支持彩色显示

lsvim什么的

对于远端机器是Linux的

我们现在就是要通过设置SecureCRT来正确显示彩色

点选"Options"—->"Session Options"—->"Emulation"

Terminal改成"Xterm"

(如果是SecureCRT4的版本,没有"xterm",设成"Linux"也可以)

再选中后面的"ANSI Color"

(我用的是SecureCRT5.0,其他版本可能也都差不多)

保存,OK了

再登录进机器

ls一看

呵呵

有彩色了

如果服务器是FreeBSD

ls显示彩色需要加参数-G

所以就可以编辑文件/etc/profile

添加一行:

alias ls=’ls -Gw’

编辑文件/etc/csh.cshrc,添加一行:

alias ls ‘ls -Gw’

这样一来

FreeBSD下不管是csh还是bash

ls都能正确显示中文和彩色了

vi显示彩色的问题

鉴于vi的中文支持问题

我们都用vim代替之

vim显示中文也很简单

我的系统装的是vim6.3

缺省没有显示彩色是因为缺省的配置文件不存在

cp /usr/local/share/vim/vim63/vimrc_example.vim /usr/local/share/vim/vimrc

注意这里的/usr/local/share/vim/vimrc就是缺省的配置文件

有的系统可能是/etc/vimrc

这样再进vim就有彩色了

redhat as3下做lvm

LVM(Logical Volume Manager)是个好东东

他可以动态的扩展分区的大小(当然需要文件系统的支持)

首先,分出一个类行为8e(linux LVM)的分区(如/dev/sdc1)

或者是一个未分区的整设备(如/dev/sdc)也可以

然后

vgscan

#好像得先运行vgscan,否则会报/etc/lvmtab找不到的错误

pvcreate /dev/sdc

#这里是将/dev/sdc初始化成一个物理卷:

vgcreate LVM /dev/sdc

#创建卷组LVM并向里面添加/dev/sdc

lvcreate -L20G -nDATA LVM

#这是从卷组LVM里创建一个初始大小20G的逻辑卷组

#名字叫DATA

#再在逻辑分区上做文件系统

mkreiserfs /dev/LVM/DATA

#以后需要扩大小

#可以先用lvextend来扩逻辑卷的大小

#然后再用resize_reiserfs来扩充文件系统

#再更新/etc/fstab,使之启动的后被mount

就OK了

注意:

1,前面所建的卷组LVM也可以被删掉

像这样:

vgchange -a n LVM

#先将卷组LVM deactive

vgremove LVM

#然后再删掉

2,如果这是as3的系统

可能需要装上与kernel相应的unsupported包

kernel才能支持reiserfs文件系统

3,这里为什么用reiserfs文件系统呢

主要是因为其能动态扩展大小

其实用ext3文件系统也是可以的

只是ext3的文件系统扩大、缩小大小相对比较复杂

lvm1下只能通过e2fsadm这个程序来做

lvm2下可以通过程序resize2fs来做

4,as3系统自带的lvm是lvm1的版本

在这个版本下,如果是一个分区(如/dev/hdc1)

那么这个分区的类型必须是8e(linux lvm)才能被pvcreate认识

在lvm2下则没有这个限制

5,以后如果要添加新的设备到卷组里,可以这样:

初始化新设备/dev/hdd

pvcreate /dev/hdd

添加新设备/dev/hdd到卷组LVM里

vgextend LVM /dev/hdd

然后就可以用lvextend来扩展逻辑卷的大小了

在suse下用grub启动linux和windows2000

昨天下班后在台式机上装了个suse9.3

跟redhat不同的是系统安装grub的时候

没有自动找到我的原来的windows2000系统

并在grub的配置中加上其的入口

于是我要用grub做双启动

就只能自己手动改配置咯

suse跟redhat不同

grub的配置文件不是/etc/grub.conf

而是/boot/grub/menu.lst

于是

vi /boot/grub/menu.lst

在文件里添加:

title windows2000
    rootnoverify (hd0,0)
    makeactive
    chainloader +1
    boot

大概解释一下

上面的rootnoverify有的也可以用root

只不过rootnoverify不会尝试着去mount后面的分区

更不容易出错一些

(hd0,0)是我的windows2000所在的分区(第一块硬盘第一个分区)

makeactive呢

在很多系统下不是必需的

怎样在QQ里免费建群,无级别限制

刚从网上找的

感谢七度空间

据说需要qq2005的版本以上

在qq面板上点“个人账号”(就是图标像¥的)

再右击弹出来的页面,点“属性”

把地址(URL)拷贝下来

复制到notepad里

像这样:

http://pay-client.qq.com/index.shtml?clientuin=123456789&

clientkey=257F417922C9066443E04CACF722917CEFD9E5F73C4210BBE2A987AA451AE30E

再生成一个新的url,像这样:

http://im.qq.com/cgi-bin/toc/toc_info?uin=123456789&

signature=D1F548173DAA1AD298BD3CEFAEFD00F3C5C9C64650B6405D39B8F129FE10C481

这里的uin=123456789的123456789是你的QQ号;

signature=后面的串是取自上面clientkey=后面的串

把这个url拷贝到浏览器的地址栏

打开

就可以建群了

试了一下

还真好使

apache中的AddDefaultCharset的问题

今天下午写一个php程序的时候

发现一个问题

我的php生成的页面(有中文字符)老是乱码

哪怕是在html代码的meta里声明编码方式为gb2312都还不行

抓包来看

发现apache返回给client的头信息里明确指出了编码方式为UTF8!

看来这肯定不是php程序的问题

我打开apache的配置文件httpd.conf一看

发现

AddDefaultCharset设置成了UTF8

看了看apache2的文档

发现AddDefaultCharset这个东东能够忽略html页面里meta的相关设置

我这里的问题正是如此!

因为在apache2中

AddDefaultCharset缺省是utf8

而在apache1.3中,AddDefaultCharset缺省是设为off的

所以apache1.3很少碰见这个问题

而apache2就很常见

于是乎

将AddDefaultCharset UTF8改成

AddDefaultCharset off

于是就ok了

体会:阴沟里翻船

终日打雁,反被雁啄瞎了眼

关于用SecurCRT登上FreeBSD的机器,在SecureCRT上显示中文的问题

关于这个话题

网上有n多的文章

以前一直是搞得不太明白

这次又有人问

特地认真地测了一测

把经验贴出来

也许对大家解决问题有帮助

我们用SecureCRT或者别的什么模拟终端软件

从自己机器(通常是windows)登上FreeBSD的机器

这种情况通常不存在字库问题

中文字库通常是在自己机器上已经有了的

其实这种情况中文是缺省就支持了的

如果文件filename里有中文

那么vim filename就能看见中文

或者是more filename也行

注意:

vi filename不行!

这与vi好像不支持中文有关系(或者说是缺省不支持中文)

升级成vim就没问题了

这是看文件里的中文

基本上来说不需要做任何的设置

还有就是在命令行输入中文

比如说touch 中文

这样生成一个文件名叫"中文"的文件

这样就需要把环境变量LANG、LC_CTYPE设置成zh_CN.EUC

中文显示还有个问题

就是ls下中文文件名显示成????

这个可以通过在ls后加参数-w即可

关于vim6.3里的变量$VIMRUNTIME

上周五一个朋友问我怎么修改vim(6.x的版本)里的变量$VIMRUNTIME的值

我找了一台机器

发现:

这个变量是装了vim-enhanced包,而且要是6.x以上版本才会有的

否则

缺省是没有的

而且这个变量缺省是指向目录/usr/share/vim/vimxx

上面这里的xx是vim的版本号,比如63

上面这个缺省指向是在vim里用":echo $VIMRUNTIME"来看的

不知道怎么改

于是google了一把

发现大多文章都提到通过修改$VIMRUNTIME/下

或$VIMRUNTIME/syntax/下的一些.vim文件来达到修改vim的配置的目的的方法

也还有几篇中文文档提到可以在~/.vimrc里设定环境变量VIMRUNTIME的值

但这些文档里都是讲将$VIMRUNTIME指向程序vim的实际位置

一般应该是/usr/bin/vim

最后还是回到vim里

用命令":help $VIMRUNTIME"找到了答案

看下面我摘抄的这一段:

 

The environment variable "$VIMRUNTIME" is used to locate various support files, such as the on-line documentation and files used for syntax highlighting.  For example, the main help file is normally"$VIMRUNTIME/doc/help.txt". You don’t normally set $VIMRUNTIME yourself, but let Vim figure it out.  This is the order used to find the value of $VIMRUNTIME:

1. If the environment variable $VIMRUNTIME is set, it is used.  You can use    this when the runtime files are in an unusual location.

2. If "$VIM/vim{version}" exists, it is used.  {version} is the version    number of Vim, without any ‘-’ or ‘.’.  For example: "$VIM/vim54".  This is    the normal value for $VIMRUNTIME.

3. If "$VIM/runtime" exists, it is used.

4. The value of $VIM is used.  This is for backwards compatibility with older    versions.

5. When the ‘helpfile’ option is set and doesn’t contain a ‘$’, its value is    used, with "doc/help.txt" removed from the end.

For Unix, when there is a compiled-in default for $VIMRUNTIME (check the output of ":version"), steps 2, 3 and 4 are skipped, and the compiled-in default is used after step 5.  This means that the compiled-in default overrules the value of $VIM.  This is useful if $VIM is "/etc" and the runtime files are in "/usr/share/vim/vim54".

Once Vim has done this once, it will set the $VIMRUNTIME environment variable. To change it later, use a ":let" command like this: >        

:let $VIMRUNTIME = "/home/piet/vim/vim54"

How to disable selinux on linux 2.6

selinux是个新东东

在linux kernel 2.6的系统(如as4、fc3)里常见

一般如果在2.6的kernel的机器上出什么莫名其妙的权限的错误

大家都可以想想是不是selinux的策略问题

以我现在的想法

最好是已开始就把selinux disable掉!

方法是编辑文件/etc/sysconfig/selinux

把SELINUX设为disabled

像这样:

SELINUX=disabled

在重起机器selinux就被忽略了

mysql的root密码丢了怎么办

朋友的一台机器

说是mysql的root密码丢了

让我给看看

我想这还不简单

因为这是一台redhat的机器

而且原来装mysql(版本是4.1.9)的时候

把启动脚本拷贝成/etc/rc.d/init.d/mysqld了的

所以停掉mysql可以直接用命令

/etc/rc.d/init.d/mysqld stop

其实直接killall mysqld也行

然后再启动mysql

/usr/local/mysql/bin/mysqld_safe –skip-grant-tables &

上面是因为mysql安装时加了–prefix=/usr/local/mysql的原因

这样按照文档就应该能不用密码直接从本机连上mysql数据库

但结果是:

/usr/local/mysql/bin/mysql -u root

失败,连不上!?

我想了想

文档肯定是没有错

我大概知道了什么原因

cd /usr/local/mysql/var/mysql;vi user.MYD

一看果然root用户除了localhost的一条记录以外还有一条server1的记录

这里的server1是本机在装机的时候设定的hostname

现在看文件/etc/hosts还有一条记录server1

算是localhost的别名

于是我

/usr/local/mysql/bin/mysql -u root -h server1

OK,上去了

于是,赶紧修改root密码(把localhost和server1的都修改了)

重起mysql

/etc/rc.d/init.d/mysqld restart

搞定

resin的简单安装(linux、FreeBSD下适用)

其实我们工作中用resin多是和apache结合起来使用

用的其实就只是于for apache的plugin的功能(用来解析jsp文件)

同时还有可能用做一个应用服务器(监听6802端口)

来支持servlet

支持jsp仅需要做一个apache的模块儿mod_caucho

这样其实很简单

注意:

装resin之前需要先装jdk

然后再把环境变量JAVA_HOME指向这个jdk的目录

把resin的二进制文件当下来

解开

tar xzvf resin-3.0.13.tar.gz

cd resin-3.0.13

./configure –with-apxs=/usr/local/apache/bin/apxs

#这里的/usr/local/apache为apache的安装目录

make

make install

(注意:

make的时候可能会出错,像这样:

/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory

这个问题好解决,

首先确认krb5-devel、krb5-lib等rpm包已经装上

然后

ln -s /usr/kerberos/include/com_err.h /usr/include/

ln -s /usr/kerberos/include/profile.h /usr/include/

 ln -s /usr/kerberos/include/krb5.h /usr/include/

就行了)

#此时会在apache的某个目录(一般是/usr/local/apache/libexec/)下生成文件mod_caucho.so

应用服务器呢

复杂一些

本来我们装的就是二进制包

应用服务器也都是装好了的

只需要我们启动就好

一般启动脚本为$RESIN_HOME/bin/httpd.sh

只不过httpd.sh启动的不只是应用服务器

还有一个web server(监听8080端口)

web server是我们所不需要的

所以我们一般都修改文件$RESIN_HOME/conf/resin.conf

将web server这部分注释掉