Chinaunix首页 | 论坛 | 博客
  • 博客访问: 485439
  • 博文数量: 148
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1553
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-23 23:09
文章分类

全部博文(148)

文章存档

2010年(6)

2009年(58)

2008年(84)

我的朋友

分类: LINUX

2008-03-17 00:16:07

发现好书一本--《linux应用程序大全》(科学出版社出版,蔡闵光编著)。初读部分,获益良多不愿独善,摘录一二,贴上大墙,与众菜鸟共进步:

对于多数linux用户,从安装到使用linux,所遇到的烦恼与困难可能远超过你的想象。从开始选择linux套件,就令你烦恼究竟选哪一套好呢?而安 装系统的过程更是困难重重。等到有了一个较象样的linux环境,接下来令人头痛的是linux应用程序如何获得?linux的应用软件究竟如何安装?如 何才能删除那些不要的软件呢?其实你可以做得更简单,用得更容易。
依据安装软件的经验,大体上可以归纳出“三类两法”的概念,而这个经验几乎可以包括多数的linux软件类型与安装。那究竟什么是“三类两法”?
作者所称的“三类”,指的是linux软件的封装方式,也就是读者下载应用软件所看见的软件名称类型。整体而言,tar packages(tarballs),rpm packages(rpm,redhat package manager),debian packages(dpkg)就是我们常见的linux应用程序封装格式与方法。
举例:软件类型 软件范例
tar packages(tarballs) aaa-1.1.1-1.tar.gz
redhat packages manager(rpm) aaa-1.1.1-1.i386.rpm
debian packages(dpkg) aaa-1.1.1-1.deb
在范例中,读者可以发现一个有趣的规律,那就是linux应用软件的发行名称,似乎有一定的规律与规则,虽然软件命名没有统一的规范或规定,但是软件命名多按照下列顺序:
名称-版本-修正次数-类型(name-version-realest-type)
通过范例中的软件范例,你可以发现这一规律。例如:aaa-1.1.1-1.tar.gz代表这个软件的名称为aaa,发行版本为1.1.1并且修正了1 次,而这个应用程序的类型为tar packages。而aaa-1.1.1-1.i386.rpm,则代表了这个软件的名称为aaa,发行版本为1.1.1并且修正了1次,而i386则是 适用于x86计算机,这个应用程序的类型是rpm packages。从这两个套件名称的比较可以清楚的了解到我们所下载的tar packages需要编译的原因,是因为多数tar packages只不过是不应用程序的众多相关文件压缩成一个文件,而用户所使用的平台则在编译过程中再判别。而rpm packages要加上i386是因为rpm packages已先行编译过,故用户直接安装时,需先考虑适合自己平台的安装文件。
这三种linux应用软件封装类型中,主要常见的软件格式又可分为:
tar packages:tra.gz,tgz,bz2等
rpm packages:rpm,src.rpm
debian packages:deb
也正是因为格式的不同,使用方法也有不同之处,但安装原则基本是相同的。tar packages为软件开发人员在完成应用程序编写时,以tar与其他压缩工具(如gzip,bzip2)将所有应用程序相关文件封装成一个文件的方式, 这样的好处是不仅用户下载容易,而且更能使不同平台的用户均获得源文件并且编译安装到自己的系统上。而rpm packages与deb packages则是应用程序已先编译过的可直接安装文件,对于用户而言,只要系统支持rpm或是dpck安装命令,均可直接安装到系统中去,相对于 tar packages而言可以省去编译的过程。如果读者还不清楚他们之间的关系,我们再以windows 9x的应用程序说明。当我们从网络上下载软件时,通常可获得两种格式的文件,一种为zip压缩过的安装文件,里面包含了setuo.exe, readme.txt等,因此我们先将这类压缩文件解压缩,再执行setup.exe安装应用程序,而另一类为exe自动安装执行文件,应用程序便会自动 安装到系统中。故上述的zip压缩安装文件好比是linux下的tar packages,而exe自动安装文件则是类似linux下的rpm packages,deb packages。
我们再做更深入的探讨,以win9x下而言,如果下载的安装文件类型为自动安装文件,我们只需执行该安装执行文件,最后安装完成.对于linux下的 rpm packages,deb packages也是一样的,只不过我们是以rpm或dpkg命令,配合参数下达安装命令,当然也有相关的图形辅助安装程序,例如GnoRPM, kpackage,dselect,Gdselect.如果读者还不放心这类已经编译过可直接安装的文件,你还可以选择src.rpm格式的rpm packages,通过rpm命令重新编译后再安装,而这样的过程,与tar packages的编译安装方法相去不远,只是使用命令不同而已.
在windows 9x下,所下载的压缩安装文件并不只有zip格式,还有可能是rar,arj等压缩格式,因此我们要使用其他解压缩工具解开这些压缩安装文件再进行安装. 同理,linux下的tar packages也是包含有多种压缩格式,常见的压缩格式有tar.gz,tgz,bz2,zip等.至于如何解开这些压缩文件,这里只略提压缩方法,不 仅让读者复习一下linux命令,也帮助你顺利安装linux应用程序.
下面是解压缩tar packages范例:
tar.gz:tar zxvf AAA.tar.gz
tgz:tar zxvf AAA.tgz
bz2:bzip2-d AAA.bz2
zip:unzip-d AAA.zip
(AAA表示压缩文件名称,名称后面为压缩格式类型.)
到目前为止读者应该不难理解,既然有三种主要封装方式,所对应的安装方法必然不相同,因此前面所提的"二法",代表 这三类linux应用软件封装类型的安装方法,主要为 自行编译法 与 直接安装法,当然不是所有应用套件的安装方法都可以归入这两类.
(1)自行编译--适用于tar packages类型文件
软件开发者为顾及不同操作系统平台用户下载,将相关应用程序文件预先压缩,当用户需要安装时,必须先解开压缩文件再自行编译与进行安装.

(2)直接安装--适用于rpm packages,deb packages类型文件
试想如果linux下也有个程序可以帮助用户直接安装或删除应用程序,并且提供监控,这样的使用环境会让人觉得更友好.这类可直接安装的文件,不仅安装命 令易用,另一个最大的优点就是包含安装记录,以供应程序卸载或是升级,因此目前有多套linux安装套件均提供了rpm或deb安装命令.
linux安装套件适用安装法列表slackware(traballs),redhat(rpm,tarballs),mandrake(rpm, tarballs),suse(rpm,tarballs),openlinux(rpm,tarballs),turbolinux(rpm,tarballs),corellinux(deb,tarballs,rpm),debian linux(deb,tarballs)
至此,读者应该对于linux上的应用软件类型及安装方法有了基本认识及了解.

tar packages(tarballs)
前面已经提到linux下的两种应用软件安装方法,下面将深入讲解安装的技巧与方法,以使读者在将来安装linux应用套件时能畅通无阻.对于我们所下载 的应用软件如果为tar packages的压缩套件,我们所需做的,其实就是那么几个步骤.安装真的那么简单吗?如果你不相信,先随便找个应用套件来试试.
牛刀小试:
假如你已经得到一张包含linux应用程序安装套件的光盘,其中的压缩文件为prozilla-0.99.9.4.tar.gz.
请打开一终端窗口或退出x-window,再执行下列步骤:
步骤一:由光盘中获得prozilla-0.99.9.4.tar.gz.
步骤二:执行命令tar zxvf prozilla-0.99.9.4.tar.gz,解开压缩文件至任一目录下.
步骤三:执行命令cd prozilla-0.99.9,切换到解开的目录中.
步骤四:执行命令./configure,进行安装设置.
步骤五:待设置完成后,再分别执行命令make;make install;make clean.
步骤六:执行命令gproz -h &.
步骤七:检测安装结果.
虽然安装步骤看似复杂,实际上却很简单,只要多熟悉几次,上面的示范安装步骤可以更精简.其实linux应用程序安装并不难,难的是用户缺乏正确的安装概念,当然借助参考书再加上你的执著态度,能让你更顺利安装linux应用程序,设置linux系统.
看完了上面的简单示范,还不能立即将这个方法应用到所有的tar packages应用程序安装上,读者还要了解tar packages应用程序的正确安装概念.
tarballs命令模式(console)安装法
请先看tar packages安装步骤流程,体会一下安装的步骤与流程,看看还有哪些值得注意的地方.
[取得应用软件->解压缩软件->阅读install文件->执行./configure-> 执行make->执行make install->执行make clean->执行应用程序]
步骤说明:获得应用软件--在下载软件的同时,就应该考虑到你习惯的安装软件方式. 解压缩软件--因为多数需要自行编译才能安装的应用软件多以压缩格式供用户下载. 阅读文件--在windows 9x下安装软件,多数人不去阅读readme,install文件,这种习惯往往导致在linux下安装软件失败,其实任何一套linux应用软件的开发 者皆已针对不同平台安装软件的方式,写在install文件中了. 执行./configure--自行编译的软件安装方式,最先执行的便是./configure,这个命令是为了让应用软件检测到用户的系统,以便顺利安 装. 执行make--当检测完系统后,接着执行make,将文件编译完成。在编译的过程中,用户应注意是否出现错误信息。 执行make install--编译完成,直接执行make install,将应用程序安装至系统中。 执行make clean--将临时文件删除,并不是把执行文件删除,读者别误会了。 执行应用程序--执行文件,这句话说得很轻松,但是初学者却不知如何执行,多数linux软件安装位置是在/usr/local/bin,因此你可以将 /usr/local/bin路径加到/etc/profile中或是由终端窗口中切换到这个目录下,查询你所安装的文件名称,并在命令行下输入该执行文 件名即可。
对于已使用过Linux的读者应该有所体会,但对于初学者可能只略知一二,因此我们再做最后的补充说明。曾经有读者问及下载时,究竟要下载至何处,其实
这并没有绝对答案,只要放到任何一个你喜欢的目录内即可,不过为了方便安装
及删除文件,建议读者将文件放置在/tmp目录下。整体说来,整个安装软件流程的三大步骤不过是./configure、make、make install,但是这三个步骤中常常出错的是组态(configure)的过程,既然组态无法通过,当然就更别提编译了(make),安装也就失败了。 为什么组态容易出错呢?当编写linux软件时,会用到某个函数(例如qt library,gtk library),因此安装组态时会检查应用函数,如果系统中没有预先安装这个函数或是函数的版本不对或是函数路径不对都会导致检查的过程出现错误。而检 查系统的错误,往往是用户放弃安装的第一个原因,再反过来想想,你真的详细阅读了readme,install文件了吗?其实,通常在INSTALL、 README文件中,软件开发者多会先告知用户应该注意的事项、须预先安装的文件、甚至收录了FAB,因此读者安装软件时,应该先阅读readme, install文件,以防安装出错。万一在组态过程中就出错,先别急着放弃,再读一遍readme,install文件,甚至到该应用程序网站查找相关安 装说明,相信对纠正安装错误应该会有所帮助。

先说这么多,我打字很慢,类死了,有不明白的大家提出来探讨

阅读(1224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~