linux 论文 linux论文可以写哪些
求一篇软件工程专业的论文
图书馆自动化系统开源软件的比较研究
摘要〕在调研与实际操作的基础上,对国外三种比较有代表性的图书馆自动化系统开源软件(Koha, PHPMyLibrary,
PMB)进行介绍,并从基本技术特征、系统功能和技术服务三方面对这三个系统进行比较分析,以期深入理解图书馆自动
化开源软件的设计理念,为开源软件在国内图书馆自动化系统建设中的推广应用提供参考。
〔关键词〕图书馆自动化系统;开源软件; Koha; PHPMyLibrary; PMB
1引言
图书馆自动化系统,又叫图书馆集成管理系统(Inte-
grated Library System),始于20世纪70年代,是实现图书馆
业务与服务自动化管理的软件系统。长期以来,自动化系
统的建设是图书馆建设的重要工作,但商业自动化系统的
高额费用和非个性化服务使图书馆的自动化建设受到很大
阻碍。而近年来在全球广泛兴起的开源软件为图书馆提供
了新的选择。
所谓开源软件,是在新型的———并行的、点对点的、
动态的软件开发模式〔1〕下开发出来的软件,它鼓励软件开
发者相互协作,开放软件的源代码,并允许任何人基于任
何目的使用、拷贝、修改及重新分发软件。国外图书馆界
对开源软件的研究始于1998年,美国耶鲁大学医学图书馆
的系统馆员Daniel Chudnov在《图书馆杂志》(Library Jour-
nal)上发表了名为“开源软件:图书馆系统的未来”的研
究论文,引起了图书馆界的广泛关注,他指出“尽管开源
软件至今仍未进入图书馆软件的主流市场,但这种开发模
式对于图书馆软件市场的发展有着巨大的竞争力,新时期
的图书馆应该把更多的资源用于用户与馆员的培训,而非
购买昂贵的系统”〔2〕。目前,在国际范围内,已有十几种采
用开源软件模式进行开发和应用的图书馆自动化系统,主
要侧重于编目、公共存取等基本功能的实现。如: Koha系
统、Avanti系统、Evergreen系统、LearningAccess ILS、PHP-
MyLibrary系统、OpenBiblio系统等。这些系统在设计目标、
采用标准、实现技术、系统规模以及数据的组织方式、发
布方式等很多方面都不尽相同。本文在调研与实际操作的
基础上,选择了3个比较有代表性的图书馆自动化系统开
源软件进行比较分析。
2系统介绍
2·1Koha集成图书馆自动化系统
Koha系统产生于1999年,被业内人士认为是全球第一
个自动化开源软件,由Katipo通信公司采用Perl语言和
MySQL数据库开发完成。该系统不仅集成了图书馆的传统
业务流程,包括采购、编目、流通、OPAC、读者管理,同
时还为用户提供个性化的定制机制。
Koha系统是基于Web的客户/服务器体系结构。该系
统中的perl脚本是Koha系统的核心部分,它是图书馆用户
与后台系统交互作用的核心,包括OPAC系统、Intranet系
统、Daemons系统以及DB系统〔3〕。OPAC系统是Koha系统
中的重要组成,其开发基于标准的WWW技术,如XHTML、
CSS和JavaScript,因而用户可以通过基于Web浏览器的用
户端,很容易地找到特定资源。Intranet系统则是后台事务
与前台操作的接口,图书馆员无需安装其它软件,直接利
用浏览器便可以实现图书馆自动化的基本业务,如用户的
登入、登出管理、虚拟书架的管理、图书馆资源采购、资
源流通的管理,以及资源数据的导入、导出等。Daemons系
统为利用Z39·50协议查询资源的用户提供到Z39·50服务器
的连接。而DB系统则为数据库的存取操作提供支持。
目前Koha系统主要安装在公共图书馆、个人和高校图
书馆的系部。而公司等赢利性机构使用得不多。
2·2PHPMyLibrary系统
PHPMyLibrary系统是一个基于PHP语言和MySQL数据
库的图书馆自动化应用系统,它包括编目、流通、Web
OPAC、输入/输出和论文管理模块。主要具有如下特征:
(1)基于Web编目并存储相关的书目信息。图书馆员不仅
可以对数据库中的信息进行编辑、修改、检索、添加与删
除操作,还能通过动态按钮很容易地增加或编辑新的书目
格式。(2)提供基于USMARC标准的输入/输出。(3)提供
ISIS2MARC程序,实现从ISIS数据库的系统导入功能〔4〕。
(4)支持多语言管理,用户可以管理包含多种语言的信息,
包括汉语、俄语、西班牙语、法语、德语等,并可以支持
对这些语种的数据库进行检索。
2·3PMB系统
PMB系统,原名PhpMyBibli,自2002年在法国立项以
来,受到国际同行的广泛关注。该系统由PHP和MySQL编
写完成,目前已能实现资源订购、资源编目(主要是书籍
与期刊编目)、资源流通以及授权管理和串行数字接口中
(SDI)管理等功能。
该系统支持UNIMARC标准,运行在Linux或Windows
操作系统下。由于该项目源于法国,因此很多相关信息都
以法语提供,为该系统的推广宣传带来障碍,但来自波多
黎各的Jesir Vargas已把该系统翻译成英语和西班牙语,拓
宽其使用范围, 2004年,该项目的用户社区在比利时成立。
3系统比较与分析
3·1基本技术信息
基本技术信息包括软件所遵循的许可证类型、所支持
的客户端与服务器端系统类型以及图书馆标准等,它们是
评判系统的可扩展性和易用性的有效标准。
通过比较,可以看出这三个图书馆自动化开源软件都
具有较好的通用性、开放性和可扩展性。主要体现在:(1)
都可以在当前的主流操作系统平台上运行;(2)都支持图
书馆编目标准MARC、检索协议Z39·50;(3)都是基于Web
的系统,为用户提供了简单的操作接口,极大提高了系统
的操作性能。这与传统的基于CS架构的图书馆自动化系统
不同。面对网络环境的日益渗透,传统图书馆自动化系统
不得不考虑向Web系统转型,这无疑为本土企业和图书馆
用户带来大量工作。而开源软件大多从一开始设计就是基
于Web的客户/服务器体系结构,开发语言(如PHP等)
普遍具有良好的可扩展性,这也是开源自动化系统区别于
传统自动化系统的最大优势。
3·2系统功能
系统功能是图书馆选择自动化系统的重要依据,是系
统功能模块有效实现的直接反映。作者参阅2005年国家工
程技术图书馆发表的关于“图书馆自动化系统的调研报
告”〔5〕中的用户需求,对上述三个开源系统进行了功能比
较,帮助读者对这些系统所能实现的功能进行客观把握。
从笔者的实际操作来看, Koha几乎具有用户所需的各
项功能,包括多样的检索接口,对资源流通过程的系统跟
踪;对采购过程的系统管理,如资源编目数据的获取、资
源获取的预算与实际资金管理,同时该系统还为小型图书
馆提供了简单的采购模块,另外,该系统还提供对期刊与
网络资源的编目,因此, Koha系统是值得图书馆界关注的
一个重要系统。而PHPMylibrary和PMB系统缺乏对期刊和
成员馆的管理,系统功能不如Koha系统完善,因而更适合
中小型图书馆选择利用。
3·3技术服务
系统的维护与服务是关系到图书馆自动化系统是否能
长期有效运行的重要因素之一,是图书馆选择这类软件所
必须考虑的因素,与商业软件相比,开源软件的技术服务
有其特殊之处。面对各种市场需求,越来越多的商业软件
许可证中包含了如安装、培训、运行支持、排错性维护和
版本升级等技术服务内容,而由于开源软件的开放与自由
获取性,用户通常需要自己在相关网站中下载安装与操作
文档,当用户在使用过程中遇到问题时,可以通过邮件列
表或是其它方式(如由专业软件公司提供的正式支持)获
得相应的帮助,这种多样的服务方式为用户提供了个性化
的选择。
虽然上述三个系统都拥有正式的服务团队,而且Koha
系统的技术力量相当强大,不仅由多国专家共同组成,同
时还有全球的众多厂商参与,包括新西兰、法国、美国、
英国、阿根廷等国家的软件服务公司。但由于地域、语言、
时间等限制,国内用户很难真正及时有效获得帮助。尤其
是PMB系统,其很多资料都是法语文献,严重影响用户对
系统的参与和理解。
4结论
自从2000年初奥本大学(Auburn University)图书馆成
功安装图书馆自动化开源软件以来,国际上许多知名图书
馆陆续开始采用开源软件来改善已有的图书馆自动化系统。
目前已有数百个图书馆采用Koha系统,散布全球五大洲,
包括澳大利亚、美国、加拿大、爱沙尼亚、印度、尼日利
亚、波兰等国家。其中美国的Ohio Nelsonville公共图书馆,
有7个分馆,馆藏30万册,读者5万人,年流通量62万
册,是Koha的最大客户。另外中国台湾地区的仁德医护管
理专科学校、南投县南港国小等多个学校使用该系统获得
了较好效果〔6〕。而PHPMylibrary和PMB系统用户相对较少,
PHPMylibrary目前在坦桑尼亚、印尼和菲律宾等国开始使
用。北苏门答腊大学(USU: University of Sumatra Utara)图书
馆在线拥有70, 920件馆藏,是到目前为止利用该系统的
较大在线馆藏〔7〕, PMB系统目前在全球的用户仅100余
个〔8〕。
通过对这些软件的比较分析,以期深入理解图书馆自
动化开源软件的设计理念,为开源软件在国内图书馆自动
化建设中的应用提供参考。传统的图书馆自动化系统开发
过程,基于商业利益和技术保密的考虑,仅由开发商负责。
由于无缘参与开发,图书馆只能在功能和性能上对软件的
质量进行评价,却无法从更深的技术层面来研究软件,导
致软件中的错误或低效率逃过检测而进入实际使用,最终
延长了软件达到预期目标的周期。开源软件的开发模式令
图书馆能够在更大范围和更深层次上参与软件的开发与维
护,而用户的参与将有助于全面查找并快速修正软件中的
错误,完成软件的多样性和适应性测试,并能根据特殊需
求定制或集成软件,从而促使图书馆软件系统趋向成熟。
〔参考文献〕
〔1〕Eric S. Raymond. The Cathedral and the Bazaar〔EB/OL〕.〔2008-
05- 30〕. . firstmonday. org/issues/issue3-3/ray-
mond/.
〔2〕Daniel Chudov. Open Source Software: The Future of Library System
〔J〕. Library Journal, 1999, 124(13): 40-43.
〔3〕Nicholas Rosasco, Erik Bakke. Koha architecture study〔EB/OL〕.
〔2008-04-20〕. . kohadocs. org/Koha-architecture.
html.
〔4〕About PhpMyLibrary〔EB/OL〕.〔2008-04-10〕.
brary. com/pml/? page-id=2.
〔5〕国家工程技术图书馆信息服务中心.图书馆自动化系统调研报
告〔R/OL〕.〔2008-05-03〕. . 160. 16. 228/
libauto/wp-content/uploads/2006/04/dybg. pdf.
〔6〕Koha: Documentaiton Subsite〔EB/OL〕.〔2008-04-05〕. http://
www. kohadocs. org/.
〔7〕PhpMyLibrary Users〔EB/OL〕.〔2008-04-10〕.
brary. org/index2. php? option=com-content&do-pdf=1&id=16.
〔8〕PMB users〔EB/OL〕.〔2008-04-20〕. . sigb. net.
Linux系统的应用论文
一、Linux的产生
Linux是一种计算机操作系统,通常被称为类Unix系统,这是因为Linux和Unix有着很深的渊源。
在计算机非常昂贵的年代,只有在大学或大型企业中才能够接触到计算机,人们非常希望多个用户能同时连接到一台计算机并同时使用它。于是,计算机科学家开始研究分时系统。分时系统是将CPU的运行时间分为很小的时间片,多个用户任务可以通过交替占有时间片的方式实现快速交互使用CPU。由于时间片是很短的一段时间,以至于每个用户任务、每个用户好像在独占CPU,独占整个计算机系统。在研究人员的不懈努力下,1969年,AT&T公司贝尔实验室开发出了Unix系统。
1986年,芬兰赫尔辛基大学的Andrew Tanenbaum教授为了给学生讲授《计算机操作系统》课程,开发出了Minix系统,这是Unix的一个变体。1991年,Andrew Tanenbaum教授的学生Linus Torvalds,由于对课堂上使用的Minix系统不太满意,于是开始在386 PC机上试着改进Minix系统。
1991年8月,Linus Torvalds在comp.os.minix新闻组贴上了以下这段话:“你好,所有使用minix的人,我正在为386(486)AT做一个免费的操作系统,只是为了爱好,……”
Linus最初为自己的这套系统取名为freax,他将源代码放在了芬兰的一个FTP站点上供大家下载。该站点的管理员认为这个系统是Linus的Minix系统,因此建立了一个名为Linux的文件夹来存放它。于是,Linus的“爱好”就成了今天微软的头号对手,功能强大且价格低廉的Linux操作系统。
1993年底94年初,Linux 1.0终于诞生了!
Linux1.0已经是一个功能完备的操作系统,而且内核写得紧凑高效,可以充分发挥硬件的性能,在4M内存的80386机器上也表现得非常好,至今人们还在津津乐道于此。
Linux的和是一只名字叫做的,Linux的是Linus Torvalds所有的。这是由于在,一个名字叫做William R. Della Croce的律师开始向各个Linux发布商发信,声明他拥有Linux的所有权,并且要求各个发布商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给Linus Torvalds。
二、Linux的开发模式
Linus于1991年10月5日发布了Linux的第一个版本Linux 0.0.2,并在网络上公布了Linux核心程序的源代码,同时决定以GPL(大众所有版权,又称GUN通用公共许可证)的方式来发行传播,也就是说这个软件允许任何人以任何形式进行修改和传播。
随着网络的日益盛行,越来越多的技术高超的程序员加入到Linux的开发与完善中来。在这个过程中,无数的富有个性和开创性的程序员在没有计较任何酬劳的前提下,完全自发的加入到开发行列中来。一旦一个程序员完成了其中的部分程序,他便会立即将这个程序发表,并免费将它发给任何一个需要的人,而其他的一些程序员研究它后将会对它修正和改良,然后将它发表。这个过程周而复始,因此Linux的改进速度是最快的,同时它的稳定性也是非常高的。
所以,Linux并非仅由Linus一人开发,而是由全世界几百个程序员共同开发的,当然Linus为内核定了调子。这种集市型的开发模式促成了Linux系统的繁荣。可以说,Linux完全是一个热情、自由、开放的网络产物。三、Linux的发展
Linux具有良好的兼容性和可移植性。大约在1.3版本之后,Linux开始向其他硬件平台上移植,包括号称最快的CPU——Digital Alpha。所以不要总把Linux与低档硬件平台联系到一块,Linux只是将硬件的性能充分发挥出来而已。Linux必将从低端应用横扫到高端应用!
为了使Linux变的容易使用,Linux也有了许多发布版本,发布版实际上就是一整套完整的程序组合。现在已经有许多不同的Linux发行版和各自的版本号,为了不产生混淆,我们先解释一些常提到的术语。当我们提到的Linux时,一般是指“Real Linux”,即内核,是所有UNIX操作系统的“心脏”。但光有linux并不能成为一个可用的操作系统,还需要许多软件包,编译器、程序库文件、Xwindow系统等等。因为组合方式不同,面向用户对象不同,所以就有了许多不同的Linux发行版。
越来越多的公司在Linux上开发商业软件或把其他Unix平台的软件移植到Linux上来。如今很多IT业界的大腕IBM、Intel、Oracle、Infomix、Sysbase、Corel、Netscape、CA、Novell等都宣布支持 Linux。商家的加盟弥补了纯自由软件的不足和发展障碍,Linux迅速普及到广大计算机爱好者,并且进入商业应用,成为打破某些公司垄断文化圈的希望所在。
Linux是爱好者们通过Internet协同开发出来的,当然它的网络功能十分强大。比如你可以通过ftp、nfs等来安装Linux,用它来做网关等等。随着Linux的发展,衍生出来的应用恐怕出乎Linus本人最初的预料。如有人用它来做路由器,有人来做嵌入式系统,有人来做实时性系统……。常有新手问Linux能做什么?其实它不象那些中看不中用的操作系统,不在于你用它能干什么,而在于你想干什么。
Linux是一个在PC机上运行的Unix系统。Linux系统具有最新 Unix的全部功能,包括真正的多任务、虚拟存储、共享库函数、即时负载、优越的存储管理和TCP/IP、UUCP网络工具等。Linux系统及其发展均符合Posix标准,其内核支持Ethernet、PPP、SLIP、NFS、AX.25、IPX/SPX(Novell)、NCP(Novell)等。系统应用包括tellnet、rlogin、ftp、Mail、gopher、talk、term、news(tin、trn、nn)等全套UNIX工具包。X图形库,包括xterm、fvwm、xxgdb、mosaic、xv、gs、xman等全部X-Win应用工具。商业软件有Motif、WordPerfect。中文工具已有Cxterm、celvis、cemasc、cless、hztty、cytalk、ctalk、cmail等,可以处理GB、BIG5、HZ文件。此外还有DOS模拟软件,可以运行DOS/Win下的软件。
在开始的时候,Linux只是个人狂热爱好的一种产物。但是现在,Linux已经成为了一种受到广泛关注和支持的一种操作系统。和其他的商用Unix系统以及相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。直到今天,Linux已经成为一个功能完善的主流网络操作系统。
毕业论文:linux系统的web服务器架设
LINUX系统中常见的有:CERN、NCSA、Apache三种方式,一般最常用的方法就是用Apache。此种方式特点明显,配置简明,具有最大的对系统兼容性,以下是用此方式配置基于Linux的WEB服务器的全过程。
一. Apache服务器慨述。
其特征是显著的:可以运行于所有计算机平台,自然包括UNIX/LINUX系统;集成代理服务器和Perl编程脚本;对用户的访问会话过程跟踪;可对服务器日志定制;还支持虚拟主机及HTTP认证等等。再配合LINUX系统本身的强大,我们没理由不选择Apache。
二.安装Apache。
一般说来,所有Linux版本应该包含有此软件包的安装,如果你在安装Linux系统没有安装此软件包,可以从安装光盘或是网站上找到其安装文件(注意网上有两种版本:一种是下载后需重新编译的源代码,一种是只需解压就可使用的可执行文件),然后执行安装即可。
1.如果你下载的是可执行文件包如:apache_1.2.4.e.tar.gz(当中的数字视你下载的版本而定,此为举例),那这就相对简单,比较适合对Linux编译不熟悉的初级用户,只需执行:tar xvzf apache_1.2.3.4.tar.gz即可完成安装。
2.如果下载的是源代码如:apache_1.2.4.rpm,则先用rpm–ivh apache_1.2.4.rpm安装,然后在src目录下执行“./configure”;接着执行“make”命令编译Apache;接着将编译好的可执行文件复制到/etc/httpd/bin目录下;再将Apache的配置文件:httpd.conf、access.conf、srm.conf和mime.types复制到/etc/httpd/conf目录下,才算完成安装。
三.配置Apache,实现WEB服务。
其实,到现在你的Linux已经开始WEB服务了,你要做的只需将Linux系统连入互联网,然后将主页存放于“/home/httpd”目录下即可。但为了让此WEB服务器更有效率的工作,我们还需对其作些设置,具体需要配置的其实就是刚才复制的那4个文件。以下对其主要的两个配置文件httpd.conf和access.conf作些说明:
1. httpd.conf.
此文件是主配置文件,主要用来设置服务器启动的基本环境,也就是说它负责安排WEB服务器怎样运行。其相关设置参数为:
ServerTypestandalone/inetd:此选项作用就是指定以何种方式运行WEB服务器。其中standalone参数表示WEB服务进程以一个单独的守候进程的方式在后台侦听是否有客户端的请求,如果有就生成一个子进程来为其服务;其效率更高。主要是设置主服务器进程侦听的特定端口地址,方法为:Port[number](缺省为80)。
而inetd模式相对standalone来说它更安全,此模式也是RedHat Linux运行Apache的默认方式。如果你的版本不是RedHat,则需在/etc/inetd.conf文件里加入以下一新行:httpd stream tcp nowait httpd/etc/httpd/bin/httpd–f/etc/httpd/conf/httpd.conf;然后在/etc/services文件里同样添加一新行:httpd 80/tcp httpd即可。
ErrorLog:用来指定错误记录的文件名称和路径。格式如:ErrorLog/var/httpd/error.log。
ServerRoot:用来指定将服务器的配置及日志文件存于何处。格式如:ServerRoot/etc/httpd。
Server Admin:设置WEB管理员的E-Mail地址.格式如:Server AdminXXX@XXXX.com。
2. srm.conf
这是Apache的资源配置文件,作用为告诉服务器你想在WWW站点上提供的资源及如何提供,其主要参数为:
DocumentRoot:用来指定主文档的地址。格式如:DocumentRoot/home/httpd/html。
DirectoryIndex:跟windows平台的IIS设置一样,用来指定首页文件的名称。大家都知道,首页一般都以“index.html”或“index.htm”作为文件名。当设置为这两种文件名之后,只要用户发出WEB请求,即将调入以“index.html”或“index.htm”命名的主页。格式如:DirecotryIndex index.html index.htm。
经过以上简单的配置后,你的WEB服务器已经具备基本的功能了。接下来要做的就是重启WEB服务,使刚才的配置生效,我们可以用以下命令来完成:
/etc/rc.d/init.d/httpd restart
最后,我们来看看基于Apache服务的安全方面。Apache服务器通过认证系统能控制哪些主机可以访问某些特定的站点。具体来说,它通过两种方式来实现:
一种是基于主机地址的认证,但由于目前大部分上网用户使用的都是动态地址,因此此种方式并没多少实际意义;
另一种方式是基于用户名/口令的认证方式,不言而喻,此种方式更适合如今的网络状况,而对于具体的用户名/口令认证实现。