2012年12月8日星期六

在GPT分区上安装windows7

要在GPT分区上安装windows7,必须要是64位版本的的才行,32位不支持gpt分区。另外,要注意的是,要在gpt分区上安装系统,得主板支持UEFI才行,启动得用UEFI BIOS启动才行:比如从光驱驱动就得UEFI xxxx CDROM这样的才行。


2012年11月17日星期六

gcc编译时源文件的编码

今天遇到个问题,如果把 日文 写到.c里面,编译时gcc会自动进行编码转换


普通情况下,gcc会将源码转换为utf8进行编译,编译后再转换为目标的exec的编码

gcc  --input-charset=euc-jp  --exec-charset=euc-jp -o test test.c


比如我源码以euc写的,按照上面的命令编译

gcc会先将我的源码input-charset转换为utf8,再将utf8转换为exec-charset的。


gcc  --input-charset=euc-jp  --exec-charset=euc-jp  -o test test.c  -L:/usr/local/lib/ -l:libiconv.so

2012年11月10日星期六

开了SELinux后的samba居然没法访问home外的目录

6.3里面遇到的,开了SELinux,使用
setsebool -P samba_enable_home_dirs 1
后可以访问home目录下的目录了,但是反而别的地方的目录却访问不了,一直报错
[2012/11/10 18:52:15.953564,  1] smbd/notify_inotify.c:421(inotify_watch)
  inotify_add_watch returned Permission denied
  
没找到法子解决,只有禁止SELinux了
 
1.查看SELinux状态
运行getenforce,或者sestatus
 
2.临时禁止
setenforce 0 
 
3.永久禁止
vi /etc/selinux/config
修改为
SELINUX=disabled  
后重新启动机器 

2012年9月4日星期二

rhel6里面重新启动gdm

有时候修改防火墙配置后,xmanager就连不上了,只有重新启动一下gdm。
以前的gdm-restart命令已经没有了,所以要重新启动gdm,只有

killall gdm-binary
这样xmanager就可以连上了,不需要restart os。 
 

2012年8月14日星期二

去掉db_domain

我要用dblink,源是没有domain的,而目的地却用了domain。我在目的地里面create dblink,总被自动加上了db_domain,然后select from tbl@dblink.domain,却一直不行。没法,得想法去掉db_domain。

我测试了
alter system set db_domain='' scope=spfile;重新启动后,parameter里面的db_domain被清空
了,service_name变成了只有sid。但是新增create dblink,仍然会自动加上db_domain。这时

后来胆子大直接修改字典,
UPDATE SYS.PROPS$ SET VALUE$ = '我的sid' WHERE NAME = 'GLOBAL_DB_NAME'; 居然可以了。

第一步执行后global_name是没有改变的。估计create dblink不是看db_domain的值,而是去看了global_name的值是否带有domain。

oracle的DB_NAME,SID,DB_DOMAIN,SERVICE_NAME

每次都好像了解了,但是过不多久就忘了,因为一般也很少真去区分。
DB_NAME,标志一数据库,是create database时确定的。用命令是不可修改的,除非手动修改spfile。

DB_DOMAIN,在一个数据库分布在多个地方的情况下,多了一个概念:域。这种情况下下为了特定某个域里的数据库,必须用DB_NAME.DB_DOMAIN来标志。这两个加起来,也就是GLOBAL_NAME了。

GLOBAL_NAME是一个数据库的唯一标志,缺省就是DB_NAME.DB_DOMAIN。GLOBAL_NAME和DB_NAME以及DB_DOMAIN没有必然联系,相互修改并不影响对方。GLOBAL_NAME也可以胡乱起。

SERVICE_NAME也是一个数据库的唯一标志,oracle 8i以前,用SID了标志一个数据库实例,但是后来Oracle可并行,一个数据库可以对应多个实例,为了定位,就多了SERVICE_NAME,SERVICE_NAME缺省就是DB_NAME.DB_DOMAIN,也就是等于GLOBAL_NAME。
一个数据库,可以有多个SERVICE_NAME。SERVICE_NAME也可以胡乱起,并不一定要和SID保持一致。

INSTANCE_NAME是一个数据库实例。

ORACLE_SID是oracle和os打交道的环境变量,,比如用在了文件名命名里,它不是oracle自身的参数( v$parameter里能看到)。INSTANCE_NAME却是oracle自身的参数。
$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora
我感觉 ORACLE_SID和INSTANCE_NAME应该总是一样,就是同一个东西的两个名字,用在不同的地方:在oracle里面用INSTANCE_NAME,在os里面用sid。

2012年8月11日星期六

购置自己的机器

最近一直想购置一台台式机+笔记本,当然游戏工作娱乐要三不误,查询了很久,还是打算放弃购置。原因是

1。最近刚出的3770k的CPU,非常棒,降低功耗却能达到i7第二代2700k的水平。但它是第一代的3D Tri-Gate芯片,既然是新技术,感觉不踏实,超频后散热控制还是问题,还是等到下一代的Haswell出来,再说目前的LGA1155也没法升级到Haswell的LGA1150,这就注定了目前的Ivy是个杯具。根据intel路线图,下一带2013年3月到6月推出,估计能购置机器就得2013年8月到10月间了。

2。购置我仍然会选择Dell的外星人,要它的静音水冷和售后服务。目前3770k都出来3月了,外星人的桌面机仍然是二代Sandy的3820,3930,二代的U功耗大,Dell反应太慢了。显卡上,到时候再说了,目前AMD的7870感觉性价比比较合适,游戏打在27的显示器2560 x 1440也能对付上。老黄的690,太坑爹了,一个卡都12w日元,抢钱。

3。笔记本方面,其实现在购买就好已经够快了不用等Haswell,外星人17R4,用7970M+3820QM,找dell的人讨个32Gssd的话,mSATA 32G+ 1Tx2如果用ISRT还是很爽,正在琢磨下单。也或者还是考虑购置一个非游戏的本方便移动。

2012年8月8日星期三

javascript的框架

一直用着jquery,轻便,选对象上的确不错,可是老是觉得不爽,因为jquery不够全面,还得为jquery选择第三方的库,然后就是折腾再折腾。

有用过YUI的库,感觉文档好,结构好,就是太庞大了,还有它的框架的css和页面勾搭太紧密了,这太让人讨厌了。

最近又听说closure-library不错,打算试试。

2012年8月3日星期五

RHEL 6.3 vsftp不能访问home目录

setsebool -P ftp_home_dir=1
service vsftpd restart
就可以了

查看有哪些参数可供配置, getsebool -a | grep ftp,用了SELinux真是麻烦多事啊

2012年7月25日星期三

RHEL 6.3的Samba

设置好了,却不能home访问,报错
[2012/07/25 17:37:19.028405,  1] smbd/notify_inotify.c:421(inotify_watch)
  inotify_add_watch returned Permission denied

google了一下,执行下面的命令解决
sudo setsebool -P samba_enable_home_dirs 1



2012年7月16日星期一

11g的em用不了了

或许是因为我将eth2整到br0上,emctl start启动不了了,说ORACLE_UNQNAME没设置,可是我设置上了仍然没用。只好重新配置em

emca -config dbcontrol db -repos recreate
emctl start dbconsole

另外解决网页按钮乱码的事情,找一个自己机器上的字体文件ttc,upload到
$ORACLE_HOME/jdk/jre/lib/fonts/fallback目录下,改名为
我的是
$ORACLE_HOME/jdk/jre/lib/fonts/fallback/msmincho.ttf
然后删除cache
rm $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/*.gif
最后重启em
emctl stop dbconsole
emctl start dbconsole

如何备份kvm的raw文件

官方建议disk用raw,因为raw块设备比qcow2据说快不少,我也是这么用,可是备份时却是个问题,ls看raw是非常巨大的,tar肯定不行,我测试了cp --sparse=never仍然备份出来的文件很大,dd肯定一样。备份出来的文件很大,就没有意义了。

后来没法,只有转换为qcow2后备份,使用时再恢复为raw。

qemu-img convert -O qcow2 disk.raw disk.qcow2
qemu-img convert -O raw disk.qcow2 disk.raw

RHEL 6.3将kvm配置为桥接模式

默认的kvm是nat模式,我需要用桥接模式。
1.去/etc/sysconfig/network-scripts目录下新增一个interface,ifcfg-br0文件,内容如下
 [root@linuxsrv network-scripts]# cat ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTRPOTO=static
IPADDR=192.168.101.41
NETMASK=255.255.255.0
GATEWAY=192.168.101.250
DNS1=192.168.102.1
ONBOOT=yes

2.我是用eth2,那么修改ifcfg-eth2,修改方法为去掉ip行,uuidh行,最后增加BRIDGE=br0
[root@linuxsrv network-scripts]# cat ifcfg-eth2
DEVICE="eth2"
BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
#UUID="57b04eb5-0f04-489c-a961-7118e0d0294a"
HWADDR=00:1B:78:5D:35:A4
#IPADDR=192.168.101.41
PREFIX=24
#GATEWAY=192.168.101.250
#DNS1=192.168.102.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth2"
BRIDGE=br0
这样就将eth2桥接到br0。

3.重启网络
service network restart
后查看一下ifconfig

4. 查看当前桥接
[root@linuxsrv network-scripts]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.001b785d35a4       no              eth2
virbr0          8000.525400ca78c1       yes             virbr0-nic

5.将nic绑到新增的br0上
[root@linuxsrv network-scripts]# brctl delif virbr0 virbr0-nic
[root@linuxsrv network-scripts]# brctl addif br0 virbr0-nic
[root@linuxsrv network-scripts]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.001b785d35a4       no              eth2
                                                        virbr0-nic
virbr0          8000.000000000000       yes

到此,操作完毕,然后就是在virt-manager里面给虚拟机选择新增的HostDevice virbr0-nic(Bridge 'br0')就可以了。


在RHEL6.3上装vncserver

kvm还是有不少问题,至少我用xmanager连上去,运行virt-manager后,进行虚拟xp安装,键盘没法输入,非得去机器旁边敲打键盘。无奈之下,安装了vncserve。

yum --disablerepo=* --enablerepo=local search vnc
yum --disablerepo=* --enablerepo=local install tigervnc-server.x86_64
就算是安装上了。

编辑/etc/sysconfig/vncserver,我添加了两行
VNCSERVERS="2:kvm"
VNCSERVERARGS[2]="-geometry 1280x800"
然后去login kvm,运行vncserver,输入密码,这会创建.vnc目录以及目录下的passwd文件,并会启动vncserver,直接vncserver -kill :number关闭vncserver,number是编号,第一次启动一般是1。 我要的是开机自动启动kvm的vncserver,所以以kvm运行vncserver只是为了生成文件罢了。

这样就ok了,开机会去看/etc/sysconfig/vncserver后会自动启动kvm的vncserver了。

如果用了SELinux,添加端口5900-5910,允许连接。

在vnc里面,就可以安装虚拟机了,不会出现键盘没法输入的情况。

2012年7月9日星期一

nfs,gfs的效能比较

装好nfs和gfs后,我做了一下读写比较。

读命令time dd if=/data/Srv1/file of=/dev/null bs=4096k count=200
写命令time dd if=/dev/zero of=/data/Srv1/file bs=4096k count=200


测试结果
本地写:159 MB/s, 327 MB/s,364 MB/s
GFS写:31.7 MB/s, 67.7 MB/s, 76.9 MB/s
NFS写:74.3 MB/s,67.9 MB/s,65.8 MB/s
本地读:340 MB/s,333 MB/s, 319 MB/s
GFS读:41.6 MB/s, 73.0 MB/s,73.1 MB/s
NFS读:42.5 MB/s,49.0 MB/s,44.6 MB/s

可能是虚拟机,对存储有一定优化,后面两组感觉不怎么真实。

nfs的option

http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s1-nfs-client-config-options.html

nfs在RHEL 6.2的配置

由于我开了防火墙,我先去打开防火墙的NFSv4的2049的端口,然后就直接service nfs start,一直都不行
Jul  9 21:07:35 Srv3 kernel: svc: failed to register nfsdv3 RPC service (errno 13).
Jul  9 21:07:35 Srv3 kernel: svc: failed to register lockdv1 RPC service (errno 13).
Jul  9 21:07:35 Srv3 kernel: nfsd: last server has exited, flushing export cache
Jul  9 21:07:35 Srv3 rpc.nfsd[5920]: error starting threads: errno 13 (Permission denied)

重新启动也不行,我把防火墙禁止了,仍然不行,google找不到答案,绝望时
执行了service rpcbind restart,居然行了。

也就是说,如果你修改了防火墙配置,最好还是重新启动rpcbind一下,这rpcbind就是以前的portmap。
我这样做了后,nfs能启动了,但是重启机子后,仍然同样。难道非的rpcbind restat才能用?没法子,将service rpcbind restart加到init.d/nfs里面了。

gfs安装在RHEL 6.2上 配置

我整了3个虚拟机,Srv1,Srv2,Srv3
一,添加信任存储pool
在Srv1上运行
gluster peer probe Srv2
gluster peer probe Srv3
将Srv2,Srv3添加到Srv1的信任存储pool里,如果出现107错误,检查防火墙配置。 
查看一下添加的内容
gluster peer status
 
二,建立vol
gfs的vol有Distributed, Replicated, Striped,Distributed+Replicated,Distributed+Striped
5种方式。
一定要理解协议一下gfs的概念 
http://www.gluster.org/community/documentation/index.php/GlusterFS_Concepts

由于我只是想用gfs替代nfs,所以做最简单命令了。
在Srv1上执行
gluster volume create Srv1-Vol Srv1.RHEL62:/data/Srv1
gluster volume create Srv2-Vol Srv2.RHEL62:/data/Srv2
gluster volume create Srv3-Vol Srv3.RHEL62:/data/Srv3
建立了3个Distributed vol。
然后在start vol
gluster volume start Srv1-Vol
gluster volume start Srv2-Vol
gluster volume start Srv3-Vol
 
由于gfs没有什么mds的概念,所以也就无所谓老大,大家都一样,所以上面的命令,
其实在哪台机器上执行都一样。
 
三,mount 
start vol了后,就可以开始mount了,由于我的每台机器既是server又是client,
所以fuse肯定已经有了,client也是肯定有了。就不用再次安装native client了。直接mount就好。
在Srv1上,开始mount
mount -t glusterfs -o log-level=WARNING,log-file=/var/log/glusterfs/Srv2.log Srv1.RHEL62:/Srv2-Vol /data/Srv2
mount -t glusterfs -o log-level=WARNING,log-file=/var/log/glusterfs/Srv3.log Srv1.RHEL62:/Srv3-Vol /data/Srv3
注意的是,在Srv1上我用的是 Srv1的vol,用Srv2的vol是不是一样呢,当然是一样
比如,我修改为
mount -t glusterfs -o log-level=WARNING,log-file=/var/log/glusterfs/Srv2.log Srv2.RHEL62:/Srv2-Vol /data/Srv2
就会要求Srv2比Srv1开机早,不方面重启等。所以我感觉最好还是自己用自己的。 这点上,也是我打算用gfs替换nfs的原因之一。nfs如果要mount上,就非得对方先起来。
这样就完事了,同理,在Srv2,Srv3上也mount上。
 
到此,我打算用gfs替换nfs的事情就做完了。接下来是测试效率,以及热切换时gfs的反应。
  
 
 

vxfs的碎片整理

vxfs的文件系统,用了2年多,没整理过。
bash-3.00# df -os /data/image
フリーエクステントサイズ
          1:      78261            2:      86610            4:      77911  
          8:      83777           16:      72701           32:      58230  
         64:      68639          128:      53019          256:      43395  
        512:      30339         1024:      21158         2048:      12914  
       4096:       7167         8192:       3734        16384:       1715  
      32768:        461        65536:        155       131072:        124  
     262144:         89       524288:         51      1048576:         32  
    2097152:         17      4194304:         10      8388608:          3  
   16777216:          1     33554432:          1     67108864:          0  
  134217728:          0    268435456:          0    536870912:          0  
 1073741824:          0   2147483648:          0 

可以看到
<8的blocks,远远超过了总块的5%
<64的bocks,也超过了50%

整理一下
/opt/VRTS/bin/fsadm -d -e /data/image

2012年7月7日星期六

gfs安装在RHEL 6.2上 安装

一。安装
最好还是源码安装,下载http://download.gluster.org/pub/gluster/glusterfs/LATEST/glusterfs-3.3.0.tar.gz
然后解压
./configure
make
make install
一路顺利 
glusterfs --version
按后如果防火墙打开了就配置一下防火墙
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24011 -j ACCEPT 
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT 
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT 
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 38465:38485 -j ACCEPT #这一行是用NFS时加
service iptables save
service iptables restart
在6.2里面,虽然iptables这样操作出来的/etc/sysconfig/iptables是正确的,
但是却不能正常打开端口,原因未知。所以最后还是得用system-config-firewall来gui配置 

到此,应该是安装完毕了

2012年7月6日星期五

禁止Voice Control

我把iphone放提包里,home按钮老无意被按着,然后就开了voice control功能,挺吵。

修改/System/Library/CoreServices/SpringBoard.app/目录下N88.plist里面的 voice-control后面的true,修改为false,就可以disable掉voice control功能了。根据iOS版本,文件名不一定是88,可能是94啥的。

2012年7月2日星期一

补装gdm

去了硬件商那测试机器,发现硬件商准备的RHEL 6.2没装x window,要重装的话,FC, iSCSI的挂接又得整半天,于是开始补装xwindow。

方法如下:
yum install gdm
yum groupinstall "X Window System"
yum groupinstall "Desktop"
就可以了。当然,本地别忘了安装指定repo源。装好后就可以gdm进xwindow了。
yum真是个好东西呀。

64位的Redhat Linux安装32的库

虽然中间件和应用都早走了64位,但是系统里偶尔还是会用到三方的程序,并只支持32。怎么在64的机器上装上32的库和编译环境呢,今天为编译32的程序折腾不少时间(我开始是去http://pkgs.org/centos-6-rhel-6/centos-rhel-i386/4/下的,然后rpm -ivh安装不上)
1。预备好x86_64的iso,mount上。
2。在/etc/yum.repos.d目录里建立一个文件local.repo,内容如下
[local]
name=local
baseurl=file:///mnt/dvd/
enabled=1
gpgcheck=0
这是为了yum时找repo源
3。现在可以yum开始安装了。
查找一下
yum --disablerepo=* --enablerepo=local search glibc
然后开始安装.i686的
yum --disablerepo=* --enablerepo=local install glibc.i686
yum --disablerepo=* --enablerepo=local install glibc-devel.i686
yum --disablerepo=* --enablerepo=local install compat-libstdc++-33.i686
yum --disablerepo=* --enablerepo=local install libstdc++.i686
yum --disablerepo=* --enablerepo=local install libstdc++-devel.i686

到此,gcc就可以-m32,编译了32的程序了, compat-libstdc++是需要的,要不旧的程序会报libc.so.5找不到。

2012年7月1日星期日

恢复自制固件

我的带锁老的3gs,没事儿就被我折腾,今天修改一下imessage的地址,就激活不了了,试了几个法子,都不灵。于是重新刷。用以前备份了的5.0.1的signed了的去基带固件。

1.iFaith-v1.4.2.exe,进iReb,根据说明进DFU.(没这步,直接Itune恢复会1604error)
2.再在itune里面shift恢复就可。

iFaith很久没更新了,所以没法自制5.1,5.1.1,看来我的3gs也就停留在了5.0.1了

2012年6月30日星期六

adobe livecycle es3的PDF Generator

折腾了3天,写了个java通过ejb终于可以call到ES3上面的服务了,tmd,才发现ES3没有Acrobat 根本没法ps->pdf。而Acrobat只有windows和mac的版本,没有linux版本。白折腾了,太阳。
付上测试的java程序,算个终结。编译时,要用到很多jar,根据classnotfound,逐步排查添加。
我添加到jar主要在以下目录
/home/adobe/adobe_livecycle_es3/sdk/client-libs/common
/home/adobe/adobe_livecycle_es3/sdk/client-libs/jboss
/home/adobe/adobe_livecycle_es3/sdk/client-libs/thirdparty
/home/adobe/glassfish3/glassfish/modules目下的 javax.ejb.jar
/home/adobe/jboss-5.1.0.GA/client目录下的jbossall-client.jar

在线帮助文档
http://help.adobe.com/en_US/livecycle/10.0/documentation.html#task=0,1,2,3,4,5,6&module=-1
http://help.adobe.com/en_US/livecycle/10.0/ProgramLC/index.html
PDF Generator支持的文件格式
http://www.adobe.com/products/livecycle/pdfgenerator/formats.html
package testadobe;

import java.util.*;
import com.adobe.idp.Document;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
import com.adobe.livecycle.generatepdf.client.*;
import java.io.File;
import java.io.FileInputStream;

/**
*
* @author Administrator
*/
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
            Properties ConnectionProps = new Properties();
            ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "jnp://localhost:1099"); 
            ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);           
            ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss"); 
            ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator"); 
            ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");

            ServiceClientFactory factory = ServiceClientFactory.createInstance(ConnectionProps);

        try {
            String inputFilename = "/home/adobe/eps/A2_color/s.eps";
            FileInputStream fileInputStream = new FileInputStream(inputFilename);
            Document inDoc = new Document(fileInputStream);
            String adobePDFSettings = "Standard";
            String securitySettings = "No Security";
            String fileTypeSettings = "Standard_eps";

            CreatePDFResult result = new CreatePDFResult();
            result = new GeneratePdfServiceClient(factory).createPDF(inDoc, inputFilename, fileTypeSettings, adobePDFSettings, securitySettings, null, null);

            Document createdDocument = result.getCreatedDocument();
            createdDocument.copyToFile((new File("/home/adobe/eps/A2_color/s.pdf")));


        } catch (Exception e) {
           e.printStackTrace();
   
        }

    }
}

2012年6月29日星期五

Linux EL 6.2安装adobe livecycle es3

我整的是jboss的版本。挺折腾。
安装条件
1. jboss 5.1,别去整更高的版本。这es3再高版本的jboss上爬不起来。
2. MySQL Community Server(虽然我没打算将gds放数据,不过还是得装,要5.1的版本,5.5的会报错type=InnoDB不支持,因为已经换成了ENGINE=InnoDB),装好后,启动mysql,建立数据库名为adobe,建立用户adobe/adobe,付给权限。
create database adobe;
grant all privileges on adobe.* to adobe@localhost identified by 'adobe';
设置mysql的max_allowed_packet为16M。

3. jdk 1.6(要带j2ee的,因为最后编译client走ejb的话要用到javax.ejb.jar库)

安装步骤:
0,下载lces_server_10_0_2_jboss_all_unix.tar.gz,解压

1,安装jboss,安装完后,将LiveCycle_Server_install/third_party/db/mysql/mysql-connector-java-5.1.14-bin.jar放到jboss的lib目录,将LiveCycle_Server_install/third_party/jboss-4.2.1_jars/crypto下的jar放到jboss的lib目录,将LiveCycle_Server_install/third_party/additional/datasources/lc_mysql/deploy/adobe-ds.xml放到jboss的deploy目录。
设置jboss的jdk环境所需内存为1.5G以上,设置MaxPermSize为256M。
设置 ulimit -n的值大于等于8192
我用的虚拟机测试,给2G内存,玩不转,至少给3G给虚拟机。

2,运行LiveCycle_Server_install/server/Disk1/InstData/Linux/NoVM/install.bin安装,一路next。

3,不要安装Correspondence_Management_install

4,安装完后,运行安装目录里/configurationManager/bin/ConfigurationManager.sh,一路config,next。中途需要将export目录下的文件cp到jboss的server的deploy的目录下后启动jboss,我是用all,所以就nohup run.sh -c all &了。

Linux EL 6.2安装MySQL-server-5.5.24

EL6.2带的只是mysql client,版本是5.1.52。下载好MySQL-server-5.5.24-1.el6.x86_64.rpm,rpm安装是报和mysql-5.1.52-1.el6_0.1.x86_64冲突,
rpm -e mysql-5.1.52-1.el6_0.1.x86_64
说被mysql-devel-5.1.52-1.el6_0.1.x86_64使用
rpm -e mysql-devel-5.1.52-1.el6_0.1.x86_64
rpm -e mysql-5.1.52-1.el6_0.1.x86_64
再安装,还报冲突mysql-libs-5.1.52-1.el6_0.1.x86_64
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64,不行,有libmysqlclient.so.16被postfix-2.6.6-2.2.el6_1.x86_64使用。总不能把postfix-2.6.6-2.2.el6_1.x86_64删了。
没法子了。

于是先安装 MySQL-shared-compat-5.5.24-1.el6.x86_64.rpm
 rpm -ivh MySQL-shared-compat-5.5.24-1.el6.x86_64.rpm
rpm -ivh MySQL-client-5.5.24-1.el6.x86_64.rpm
再删rpm -e  mysql-libs-5.1.52-1.el6_0.1.x86_64就没问题了,
最后
rpm -ivh MySQL-server-5.5.24-1.el6.x86_64.rpm没问题。到此6.2的mysql更新完毕。

启动停止重启
一、启动方式
1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:safe_mysqld&
二、停止
1、使用 service 启动:service mysqld stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
3、mysqladmin shutdown
三、重启
1、使用 service 启动:service mysqld restart
2、使用 mysqld  脚本启动:/etc/inint.d/mysqld restart


2012年6月27日星期三

Linux EL 6.2打开xdmp

1. Open /etc/gdm/custom.conf and edit the security and xdmcp section like the followings:
[security]
DisallowTCP=false

[xdmcp]
Enable=true

2. Add UDP port 177 to the Allow list on firewall.
防火墙关闭的就不用修改
/etc/sysconfig/ipchains文件中加入以下语句:
-A input -p udp -s 0/0 -d 0/0 177 -j accept

3. As an admin, do 'init 3' and then, 'init 5' 
修改/etc/inittab,将
id:3:initdefault:
修改为:
id:5:initdefault:


----------------------追记
6.3里面就变了样子。
1。 yum install xdm。否则没有/etc/X11/xdm了
2。修改/etc/X11/xdm/xdm-config,注释掉
#DisplayManager.requestPort:    0
3。修改/etc/X11/xdm/Xaccess ,放开
*                                       #any host can get a login window
4。加上上面的修改才可以。

2012年3月17日星期六

Delphi的debug编译选项

转贴的,做个记号,老觉得理解了,结果还是有些模糊。

Debug Information: 调试信息开关。用于设置是否把调试信息写入以编译的单元文件(.dcu)。
如果{$D+}或{$DEBUGINFO ON},那么你就可以单步调试。
如果{$D-}或{$DEBUGINFO OFF},你不能单步调试。
缺省:{$D+}{$DEBUGINFO ON},其实设置{$D+}就可以了,他不会影响EXE文件的大小和执行速度,只是dcu文件增大。

Local Symbols: 局部符号开关。允许或禁止局部符号信息的创建。是否生成本地符号(变量、常数)信息供调试器使用。
如果{$L+}{$LOCALSYMBOLS ON},可以在调试状态观察和修改本地符号的值。
如果{$L-}{$LOCALSYMBOLS OFF},不能观察和修改本地符号的值。
缺省:{$L+}{$LOCALSYMBOLS ON}
注:{$D+}时有效,不影响最后生成的可执行文件的大小和运行速度。这里符号是指常量(有类型)和变量。

Reference Info/Definitions Only: 符号信息开关。用于允许或禁止由Delphi的对象浏览器使用的符号引用信息的生成。
如果{$YD}或{DEFINITIONINFO ON}, 在Explorer Code中按Crtl+Left有效,但Brower(Ctrl+Shitf+B)不能显示符号所有引用的位置。
{$Y+}或{REFERENCEINFO ON}, 在Explorer Code中按Crtl+Left有效,并且Brower(Ctrl+Shitf+B)可以显示符号所有引用的位置。
{$Y-}或{DEFINITIONINFO OFF}, 在Explorer Code中按Crtl+Left无效,并且Brower(Ctrl+Shitf+B)不能显示符号所有引用的位置。
缺省:{$YD}{DEFINITIONINFO ON}
注:{$D+}且{$L+}时有效,不影响最后生成的可执行文件的大小和运行速度。这里符号是指单元、类型、常量、变量、类、函数、过程等。

Assertions: 决定是否可以使用Assert全局方法。
如果{$C+}或{$ASSERTIONS ON}, Assert函数有效。
如果{$C-}或{$ASSERTIONS OFF},Assert函数无效。
缺省:{$C+}{$ASSERTIONS ON}

2012年1月31日星期二

Delphi的Structure View的小技巧

老久的问题了,但我一直没去追问。IDE的Structure View的小窗口,展开和收缩的功能,居然没在右键菜单里,我也一直以为没这功能。今天碰巧知道了,记录。

按小键盘的
/  可以全部折叠
*  可以全部展开
+  可以展开一层
-  可以收缩一层


Structure View的小窗口,很多毛病的,一切换再切回来,原来选择的地方,就没了,这点很要命,又得找半天。还好,这个窗口支持输入即使查询,可以跳到想要的类上,比如要找TAppender类,直接输入TA,选择就会移动到TA打头的类上。


2012年1月30日星期一

重新编译DevExpress VCL 2.3

每次重新编译DevExpress都挺烦,拿到2.3后,写了个bat文件来编译。以后编译就简单了。

2.3仍然不支持x64,虽然官方说支持,但是我用dcc64.exe没编译过去。

DevExpress 的dpk文件里,直接OFF掉了REFERENCEINFO,也就是$Y-,所以不管怎么设置dcc32.exe的编译选项,编译出来的都是不能ctrl+click找到源码。我又不想将Sources路径添加到Lib Path,没法子只有全替换.dpk里的编译选项了,这样就算Sources路径在Browsing Path里,也能Ctrl+Click找到源码了。