2005年08月09日

缺陷跟踪系统Bugzilla Linux安装

环境:
操作系统: Redhat 9.0
内核:2.4.20-8

步骤:
1. 下载并安装Bugzilla

1.1 下载Bugzilla
    到http://www.bugzilla.org/download/ 下载Bugzilla 2.18.3 (bugzilla-2.18.3.tar.gz)以及中文简体补丁(bugzilla-2.18rc3

-cn-0.9.rar)和繁体补丁(bugzilla-2.18.1-tw-1.3.rar)

1.2 下载rar for linux
    下载rar for linux(rarlinux-3.4.1.tar.gz), 解压并参考Makefile拷贝文件

1.3 拷贝Bugzilla文件
    在Linux下使用tar -zxvf bugzilla-2.18.3.tar.gz解压bugzilla-2.18.3并拷贝到/var/www/bugzilla
    使用unrar x bugzilla-2.18.1-tw-1.3.rar解压繁体补丁并使用命令 mv tw /var/www/bugzilla/template拷贝
    使用unrar x bugzilla-2.18rc3-cn-0.9.rar解压简体补丁并使用命令 mv cn /var/www/bugzilla/template拷贝

1.4 修改Bugzilla目录访问权限
    chown -R apache.apache bugzilla

2. 配置Bugzilla

2.1 安装并启动mysqld服务

2.2 配置mysql

2.2.1 修改mysql的root用户口令
如果是第一次使用mysql,一定要使用mysqladmin修改mysql口令
  mysqladmin -u root -p oldpassword newpasswd

2.2.2 建立数据库用户test 和bugs

2.2.2.1 添加数据库用户test
mysql>
    INSERT INTO mysql.user (Host,User,Password)
    VALUES (‘localhost’,'test’, PASSWORD(‘12345678′));
mysql>
    FLUSH PRIVILEGES;
 增加一个用户test,密码为12345678。注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES来执

行确认。

2.2.2.2. 添加数据库用户bugs
mysql>
    INSERT INTO mysql.user (Host,User,Password)
    VALUES (‘localhost’,'bugs’, PASSWORD(‘$db_pass’));
mysql>
    FLUSH PRIVILEGES;

2.2.3 建立测试数据库 test 和bugs

2.2.3.1 建立数据库test
#mysql -u root -p
mysql> create database bugs;
mysql> GRANT ALL ON test.* TO test@localhost IDENTIFIED BY "12345678";
mysql> FLUSH PRIVILEGES;

2.2.3.2 建立数据库bugs
#mysql -u root -p
mysql> create database bugs;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY ‘$db_pass’;
mysql> FLUSH PRIVILEGES;
mysql> quit

这里的bugs, bugs@local, $db_pass分别表示bugzilla建立的数据库名、bugzilla的数据库用户名和密码(使用真是的

密码代替,不要输入$db_pass

2.2.4 修改bugzilla/localconfig文件
修改bugzilla/localconfig中的
$db_host = "localhost";
$db_name="bugs";
$db_user="bugs"
$db_pass="xxxx"; 刚才建立数据库时候用到的

2.3 安装perl

2.3.1 确定或安装perl包
可以使用rpm -qa | grep perl命令检查
rpm列表
    perl-5.6.1-26.72.3.i386.rpm
    perl-DB_File-1.75-26.72.3.i386.rpm
    perl-CGI-2.752-26.72.3.i386.rpm
    perl-NDBM_File-1.75-26.72.3.i386.rpm
    perl-CPAN-1.59_54-26.72.3.i386.rpm
如果没有某个包,可从Redhat 9.0安装光盘查找相应文件,并使用rpm -iUh ….rpm安装。

2.3.2 安装其他perl脚本
方法一、自动安装
perl -MCPAN -e ‘install "Bundle::Bugzilla"’

方法二、一个个安装
# cd bugzilla
bugzilla> ./checksetup.pl
按照提示需要安装的模块,到http://www.cpan.org/modules/下载相应的模块解压并一个个安装,比如CGI
#cd CGI
#perl Makefile.PL
#make
#make test
#make install
所有模块都可按此法安装,在安装一些模块如Template Tookit时会有一些信息要求确认,按默认一路回车即可
安装后在运行checksetup.pl,知道所有要求的模块都可以找到。

建议先使用方法一,然后使用方法二安装方法一中可能没有安装的模块。

2.4 再次运行./checksetup.pl
按提示输出管理员email地址,口令等。

2.5 apache设置
找到httpd.conf文件
在其中查找:
AddHandler cgi-script.cgi, 把注释去掉
查找:
AddDefaultCharset, 把ISO-8559-1改成GB2312
查找:
DirectoryIndex,在后面添加index.cgi

增加:
Alias /bug/ "var/www/bugzilla/"
<Directory "/var/www/bugzilla/">
Options ExecCGI
AllowOverride Limit
</Directory>

使用service httpd restart 重新启动apache

2.6 sendmail设置
修改/etc/mail/local-host-names
在里面指定一个hostname.domainname (主机名.域名)

3. 测试
http://127.0.0.1/bug/

3.1 修改administrator的email
在bugs数据库的profiles表中修改相应的元组

3.2 升级
#cd /var/www
# cp bugzilla/localconfig* bugzilla.new/
#cp -r bugzilla/data bugzilla.new/
#mv bugzilla bugzilla.old
#mv bugzilla.new bugzilla
#cd bugzilla
#./checksetup.pl

Linux ADSL共享上网设置

环境:
操作系统: Redhat 9.0
内核版本: 2.4.20-8

步骤:
1. 设置网卡
    安装内网网卡和连接ADSL盒的外网网卡。假设内网网卡别名为Localhost,设备名为 eth0, 外网网卡别名为Internet,设备名为 eth1 (简单判断eth0和eth1的方法,在主板上靠近显卡那段应该时eth0)。
    使用redhat-config-network设置eth0的IP地址为192.168.0.1,子网掩码为255.255.255.0,设置eth1的IP地址为192.168.0.2,子网掩码为255.255.255.0

2. 设置adsl
1) 运行adsl-setup,安步骤设置,注意选dns为(server), 选防火墙类型为2  (MASQUERADE)
2) 运行adsl-start启动adsl服务
3) 检验adsl设置
    使用ifconfig -a 查看adsl启动是否成功,启动成功应该有ppp0
    使用netstat -nr 查看缺省网关(目标地址为0.0.0.0)是否为ppp0的地址,如果不是, 可以使用 route add default ppp0的地址 来添加

3. 设置IP转发
1) 设置网络为转发模式
    echo 1 >> /proc/sys/ipv4/ip_forward

2) 设置内网通过ppp0访问internet
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE -o ppp0 

3) 设置通过设备eth0访问内网
    route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0

4. 设置自动脚本
    为了不至于每次机器启动都要重复3,可以将它们加入自启动文件 /etc/rc.local中

2005年06月10日

RADEON 9550(530元) -> FireGL T2 (专业图卡)

上周末买了块RADEON 9550卡(530元), 为了使用MPE的虚拟现实能力,需要将它软修改成专业显示卡(FireGL), 通过上次将Nvidia Geforce MX 440变成Quadro 的经历,知道了有个工具特别棒,它就是RivaTuner,其相关的网址是http://forums.guru3d.com/,进入论坛并选RivaTuner,可以下载到相应的工具 RivaTuner v2.0 RC 15.5。

一、RADEON 9550 -> 9600 Pro

Flashrom.exe: DOS下刷新BIOS的工具,其ROM文件越新越好
ATI BiosEdit 2.7: 修改Devices ID
UltraEdit: 16进制编辑软件

经过了解知道,RADEON 9550卡本质上是RADEON 9600,不过需要通过刷新BIOS来实现,
1>   可以通过RivaTuner /bi读出原来显示卡的BIOS,系统随机保存了一个名字xxxxx.rom,将它改成ATI9550.ROM,并复制一份为BACKUP.ROM.

2>   使用VC++或其他二进制编辑工具打开ATI9550.ROM,找到“0070h”这一行, 将44 52 28 37 93(“0074h”位置的偏移量, 也可能为其他数字)的93改为92(RV350核心是90,RV360核心是92)并保存。
编辑ATI9550.ROM

3>   打开BiosEdit,首先在程序右上角的in file CheckSum OFF前面,打上勾,不然会出错,然后,点Load Bios,打开ATI9550.rom文件,然后记住左面“Dev”选项框中的显卡“Subsystem ID”和“Subvendor ID”,这两个值我们不会修改。点击左边的“Edit”,在“Device ID”中输入4152(RV360,9600XT)或者4150(RV350,其余的9600系列),Subsystem ID(0002)和Subvendor ID(1002=ATI)保持和原显卡一致,编辑完成后点“Edit End”即可;
     右边四个数字,是你的显卡频率,左上角为,显存频率,左下角为核心频率,右上角为调节后的显存换算成DDR的频率,右下角是调节后的核心频率(其中“Effective”下面就是你的实际显存频率和核心频率),可点右边的小黑三角形进行超频,此处我们修改为核心频率400MHz、显存频率500MHz,注意,在超频前一定要先用ATITOOL等工具,测试出你的显卡能承受的频率,不然刷入BIOS后,可能有引起显卡损坏。
    都调好以后,点Save Bios,保存为9550Hack.ROM。
 

4>  使用VFloppy工具并使用WinImage修改其自带的Win98启动镜像BOOTDISK.IMG, 将其中不需要的文件删除,然后添加 ATI BIOS刷行工具文件(Flashrom.exe, Flashrom.cfg, Flashrom.rom)以及显卡的BIOS文件(包括原来备份的BIOS文件 BACKUP.ROM 和刚才修改的BIOS文件 9550Hack.rom),保存新的启动镜像文件MyBoot.Img

5>  使用VFloppy并利用刚才制作的镜像文件MyBoot.Img制作XP环境下的DOS启动环境

6>  在DOS环境下面使用 Flashrom -p 0 9550Hack.rom -f -sst 刷新显卡的BIOS为新修改的BIOS文件,重新启动计算机

7>  在启动的XP环境下,系统提示找到新的VGA卡并安装启动程序,可以看到,XP已经将显卡认为是 ATI RADEON 9600 Pro,成功!!!!

二、RADEON 9600 Pro -> FireGL T2
下面文字引自 参考网址:http://www.newbietech.net/bbs/cn/viewthread.php?tid=751  (有修改)

15.5 RT(RivaTuner) 软改 ATI FireGL 8.083 驱动方法

相关内容超强链接:
http://forums.guru3d.com/showthread.php?s=&threadid=119992
http://forums.guru3d.com/showthread.php?s=&threadid=129197

新版15.5 RT 软改 8.083驱动方法
这个方法对 9600/9800/X800 系列都有效,9550 要用刷 BIOS 的方法改成 9600 后才能改。
一、 准备工作

1、ATI FireGL Unified Driver Version 8.083 (Display Driver & Control Panel下载:

firegl-unified-8.083.exe

2、3DMAX 优化驱动:

fireglmax8083.exe

3、当然还有 RC15.5 RivaTuner ,RT 讨论版块有下载连接

4、这个贴带的附件中包含有 /解包文件:unpack.bat / C2_19953.INI /CX_19953.INI /C2_19953.inf /CX_19953.inf 共 5 个文件,下载后待用。


二、驱动破解

1、把下载的驱动、驱动面版、优化驱动用 WINRAR 解压到各自的目录中。

2、建立一个 MOD 目录,比如 c:\MOD

3、将 unpack.bat 拷贝到 MOD 目录中(位于附件压缩包中)

4、将 ati2mtag.sy_ 文件(位于 …\ati_firegl_drv8083\2KXP_INF\B_19827 目录中)拷贝到 MOD 目录中

5、双击运行 unpack.bat 文件,运行结束后,删除 ati2mtag.sy_ 文件。

6、进入 RT 的 ATI 脚本目录(…\RivaTuner v2.0 RC 15.4 \PatchScripts\ATI\SoftFireGL\Unified),双击运行 SoftFireGL w2k.rts 脚本,在询问目标文件路径的时候指向 c:\MOD 目录,完成破解。

注意:在对话框的下拉菜单中要选择对应你的显卡的专业型号。

对应关系:
ATI RADEON 9600@FireGL T2
ATI RADEON 9700@FireGL X1
ATI RADEON 9800@FireGL X2
ATI RADEON 9800SE@FireGL X2 (4 Pipes)
ATI RADEON 9800XT@FireGL X2
ATI RADEON X800系列@FireGL X3



7、进入 RT 的 ATI 脚本目录(…\RivaTuner v2.0 RC 15.4 \PatchScripts\ATI\ATIOverclockingAntiprotection),双击运行 ATIOverclockingAntiprotection w2k.rts 脚本,在询问目标文件路径的时候指向 c:\MOD 目录,完成破解。这一步是为了破解 ATI 驱动的超频限制,也可以不做。

8、进入 MOD 目录,将 *.OLD 文件删除,将 ati2mtag.sys  改名为 ati2mtag.sy_ ,然后将这个文件拷贝回原来的目录(位于 …\ati_firegl_drv8083\2KXP_INF\B_19827 ),覆盖原文件。

9、将附件中的 C2_18678.INI 和 CX_18678.INI 文件拷贝到 驱动目录中(…\ATI_firegldisplaydriver-8062\),覆盖原文件;将C2_18678.inf 和CX_18678.inf 文件拷贝到 …\ATI_firegldisplaydriver-8062\2KXP_INF\ 目录中,覆盖原文件。

到此驱动修改部分完成。

三、驱动安装

1、到控制面版的“添加删除程序”中,将当前的 ATI 驱动卸载。要卸载干净。

2、重启系统,当系统提示找到新硬件的时候,指向破解好的驱动目录(…\ati_firegl_drv8083\2KXP_INF),让系统安装好驱动。这里系统会检测两次,两次都指向破解驱动目录就可以了。

3、驱动安装好了以后,直接安装驱动面板即可。

四、3DMAX 优化驱动破解、安装

1、进入 RT 的 ATI 脚本目录(…\RivaTuner v2.0 RC 15.4 \PatchScripts\ATI\SoftFireGL\Unified\Antiprotection\FGLMax),双击运行 Installer antiprotection.rts 脚本,然后指向优化驱动的安装文件的目录中(…\ati_fire_3dmax614105015),完成破解。

2、运行 SETUP.EXE 安装这个破解的优化驱动。

3、再次进入 RT 的 ATI 脚本目录(…\RivaTuner v2.0 RC 15.4 \PatchScripts\ATI\SoftFireGL\Unified\Antiprotection\FGLMax),运行另外一个脚本 atiimxgl.exe antiprotection.rts,指向第二步中安装的优化驱动的安装目录中(默认情况下,这个优化驱动会安装在: c:\Program Files\ATI Technologies\Fire GL 3D Studio Max\),破解 atiimxgl.exe 文件。

优化驱动破解完成。

三、测试新的FireGL T2

2005年06月07日

      今天试验MPE和VC的集成问题,主要是证实Express输出的类用在VC++开发环境,可以支持MPE提供的虚拟显示功能,试验应该说是成功的。注意在使用鼠标在MPE新弹出的MPE虚拟显示窗口中移动时,系统崩溃,但可以通过在原来的窗口中移动鼠标达到旋转,缩放,平移等操作。

        使用的是MPE 6.2,在利用软件自带的tutor/mfc/geomview.v输出时,发现产生的express.h文件没有加入包含文件fmpc_gen.hxx和FMPcommMods_Init 的定义,从而导致编译时产生很多函数没有定义的情况,在将软件自动产生的express.h中加入如下代码后,编译通过。

#ifdef __cplusplus
#include "wand\fmp_comm\fmpc_gen.hxx"
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef MSDOS
void FMPcommMods_Init (int *argc, char **argv, HINSTANCE *hInst, HINSTANCE *hPrevInst);
#else
void FMPcommMods_Init (int *argc, char **argv);
#endif
#ifdef __cplusplus
}
#endif

    观察发现, 实际上MPE版和原来的开发版产生的express.mk基本没有区别,主要就是添加了MPU需要的相关库,即 libwand.a, libgdmpu.a, liblic.lib, NtQuerySemaphore.lib;另外,MPE的MPU render的数字常数为5 (software = 1, OpenGL = 2)。

   下一步工作:

    关于新弹出的MPE窗口鼠标移动时崩溃的问题,有待继续研究;另一个试验方向是,让OpenGL显示和立体显示在同一个窗口是否可能?

2005年06月03日

      今天继续学习Red Book(Programming – OpenGL Programming Guide) P8 Animation中有句话“the video refresh rate is constant, which can have some unexpected performance consequences.”以及下面的解释给我启发很大, 提示我为了提高动画或者交互的帧率,并不是一味最求高显示器刷新率就好,应该根据具体的显示场景和显卡的配置,动态调整显示器的刷新率。比如,如果你的图形实际显示(rendering)需要1/95秒,你设置显示器刷新率为85Hz,  也就是说你的图形可以在一个刷新周期完成(1/95 < 1/85),然后有1/85-1/95的空闲时间,所以你得到的动画或交互帧率就是85fps, 而此时如果你将显示器刷新率调整为120Hz, 由于2*1/120 > 1/95 > 1/120,因而显示需要在两(2)个刷新周期内完成,当然有1/60-1/95的空闲时间,你实际得到的动画或交互帧率其实只有 60fps。

    结论:根据实际情况灵活调整显示器的刷新率有助于获得更高的动画或交互帧率(性能)。

2005年06月02日

今天学 Red Book: Programing – OpenGL Programing Guide,发现里面的链接ftp://sgigate.sgi.com已经不可以用,改成ftp://ftp.sgi.com