为了更加平稳高效地运行医院HIS,近日服务器系统平台由Windows转移到了Linux。
在转移的过程中遇到一些问题,记录下来以备参考:
HIS是用Perl编写的,程序文件首行Perl解释器的路径问题。这个问题很单纯,在Windows里程序开头是#!d:\perl\bin\perl,在Linux里需要改为#!/usr/bin/perl。批量改一下所有的程序文件首行就可以,临时没找到批量修改首行路径的程序,自己写了一个Perl程序来转换,也很容易。
文件换行符的问题。Windows的换行符是0D0A,在Linux里的换行符是0D,所以在Linux里编辑程序,每一行最后都带有一个^M,虽然不好看,但一般不影响程序运行,目前发现,在Linux中通过chomp处理Windows的文本文件会有问题。
数据库转移的问题。因为目前用的是SQLite数据库,所以转移数据非常简单,用ftp从Windows传递到Linux服务器,注意是bina的模式,传过去就直接可以用。SQLite的数据库就一个文件,特别简单。
程序中文件读写路径的问题。所有程序里所涉及的文件读写路径都要尽量和Windows里的路径保持一致,这样程序几乎不用修改。
文件和目录的权限问题,包括文件的运行权限、写入权限,还有目录的可写权限等等,这是基本常识。
在传递文件时遇到的问题。在Linux上,ftp服务一般会安装vsftpd,上传到Linux的cgi程序会发现不能运行,即使改变文件权限、调整上传模式bina/ascii都不行,在网上查了一下,这是vsftpd默认配置的问题,需要修改有关ascii上传文件的设置,修改后使用ascii方式上传就可以了。
还有中文乱码问题。在Windows里显示中文正常的程序,到了Linux里中文就显示乱码,如果不想使用utf-8编码,就需要对Linux设置一下,在网上搜索“中文gb18030之locale设置方法”,经过设置,默认编码已经是GB18030了。
除了这些问题,再说点别的。
服务器运行Linux,不需要启动桌面,更不需要运行杀毒软件,所有问题在终端命令里解决,运行起来感觉非常快速、稳定。
只有感觉是不说明问题的,刚看了一个新闻是这么说的:一年两次的Top 500超级计算机宣布,其对应用于高端的操作系统进行了排名,Linux系统占到世界Top 500超级计算机站点的93.8%,共469个。这比2007年11月份公布的数据多出10个。
只运行过Windows的服务器应要是有机会应该安装一下Linux,尝试一下运行Linux的工作效率和风格,有比较才会有客观的印象。
当然,各科室的电脑还是Windows最适合,因为Windows最普及,IE谁都会用。操作员对计算机没有多少了解,也不需要去多了解什么,所以让她们去适应Linux的操作完全没有必要。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21129783/viewspace-613106/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21129783/viewspace-613106/