Just do IT.
分类: LINUX
2011-08-03 13:10:49
(1) 对于Linux初学者来说,安装一个很小的软件恐怕都是一件很让人头疼的事,因为在Linux下安装软件不像在 Windows中那样简单。在Linux中大多数软件提供的是源代码,而不是现成的可执行文档,这就需要用户根据自己系统的实际情况和自身的需要来配置、编译源程式后,软件才能使用。多数初学者往往不知道该如何进行配置和编译就盲目地运行一些有执行属性的文档或机械地运行“make”、“make install”之类的命令。结果呢?是软件没装成,自己急出一身汗,后果严重的还会破坏系统的稳定性。下面笔者将安装软件方面的一些规律写出来和大家分享。
现在流行的软件包有两种比较常见的形式,一种是RPM包的形式,另一种是压缩成*.tar.gz的形式。本文将讨论这两种形式的软件包在文本环境和图像环境(X Window)下不同的安装方法。 RPM是RedHat Package Manager的缩写,他只能使用在安装了RPM软件的系统中,RedHat Linux和Turbo Linux中已使用了他。这种结构的包使用起来还是很方便的,只要记住几条简单的命令和参数就能够方便地使用: #〉rpm [options] filename.rpm 其中常用的options包括: -i: 安装软件 -e: 卸载软件 -q:查看软件安装的信息和状态 -U: 升级现有软件 例如安装软件时,能够使用如下命令:“rpm -i filename.rpm”,软件安装在什么地方、是怎么安装的都无需用户操心,RPM能够帮助用户管理。由于RPM使用方便,很多软件都有RPM版本。假如想使用RPM形式的软件就要首先下载一个RPM管理软件。在ftp://ftp.rpm.org/pub/rpm/dist/rpm-version网站能够下载最新的版本——rpm-3.-.4.i386。该软件有RPM包和.tar.gz包两种形式,假如您的系统中已有了RPM管理软件,您能够下载RPM形式的包来升级现有软件,否则就必须了解.tar.gz包的安装方法。 二、安装需要编译的.tar.gz包 由于RPM包使用的局限性(必须安装RPM),现在更多的软件使用的是源代码形式的.tar.gz包。这种软件的安装通常要经过解压缩、软件配置、软件编译及安装的过程。 解压缩通常有两种命令方法:一种是“gunzip filename-VERSION-OS.tar.gz | tar xvf -”,他实质是两条命令“gunzip filename-VERSION-OS.tar.gz”和“tar xvf filename-VERSION-OS.tar”;另一种是“tar xzvf filename-VERSION-OS.tar.gz”。 一般来说在软件解压缩后会生成一个目录filename-VERSION-OS。 软件的配置、编译、安装是最让初学者望而生畏的事了,但笔者认为掌控一些规律还是不难的。一般来说,在解压缩生成的目录中都会有名为Readme、Rnstall或Readme.install之类的文档。这些文档通常会对软件的功能、特性、版权许可、安装连同相关知识加以介绍,并且会提到关于安装的方法和步骤。举例来说:在apache_1.3.6的install文档中说明了如下内容(此处只列出总的条目,具体内容省略): Installing the Apache 1.3 HTTP server with APACI ============================== 1.Overview for the impatient(概括说明配置的全过程) $./configure--prefix=PREFIX $make $make install $PREFIX/bin/apachectl start 2.Requirements(需要的条件) 3.Configuring the source tree(配置的参数说明) 4.Building the package(编译软件的方法) 5.Installing the package(安装软件的方法) 6.Testing the package(软件测试) 理解并能熟练使用这些说明文档后,就能够利用一些规律来安装大多数的软件。对于那些没有说明文档的软件(当然这种情况比较少见),这些规律通常也是适用的。一般来说,和安装软件有直接关系的文档只有两个:configure 、Makefile。 其中,configure文档具备可执行的属性,是用来配置软件的,他的参数比较多,用法也比较灵活。当然,不同的软件参数也不相同,这时候就需要借助他的help参数,运行下面的命令就会让您感到豁然开朗: #〉 ./configure -help Usage: configure [options] Options: [defaults in brackets after descriptions] General options: --quiet, --silent do not print messages --verbose,-v print even more messages --sha [=DIR] switch to a shadow tree (under DIR) for building Stand-alone options: --help,-h print this message --show-layout print installation path layout (check and debug) Installation layout options: --with-layout=[F:]ID use installation path layout ID (from file F) --target=TARGET install name-associated files using basename TARGET …… 接下来,就能够运行“./configure [options]”来配置该软件。注意,命令行中的“./”很重要,他告诉系统要运行的命令就在当前目录下(否则系统就会到$path变量指定的路径下去执行命令)。执行命令后能够生成Makefile文档或修改已有的文档配置。 Makefile文档通常是用来编译和安装软件的。运行make命令时系统会自动根据Makefile文档中的配置对软件进行编译和安装。make命令有时还能够带一些参数,如:all、build、config、install等。具体要带哪个参数能够参看Makefile文档。在Linux中绝大部分文档是文本文档,Makefile就是个shell程式(Linux中shell程式和DOS中的批处理文档有很多相似之处,当然功能要强得多),很容易读懂,尤其是编译时可带的参数都会明确写出,例如: ##======================== ## Targets ##======================== # default target all: build ##------------------------ (2)软件的安装和卸载 《中文版Linux 桌面操作系统初级教程》郭守华 宋雪娇 编著 概述 一般的Linux系统套件都包含了丰富的应用程序,但有时并不能满足实际需要。这时就要涉及 到对低版本软件的卸载、安装新版本软件,或者安装全新的应用软件。 简单的软件可能只包含一个可执行文件。但Linux系统中运行的大部分应用软件要复杂得多。 一般的应用程序或工具软件都会由多个可执行文件、配置文件、文档组成,有的还会涉及库文件。把所 有这些文件以及其存储位置的信息统一存储到在一起,就形成了安装包。讨论应用程序的安装和升级, 就是要讨论对这些安装包的安装和维护。 在linux系统中,安装包有多种格式。本章将一般性地介绍TAR 源码包和RPM包及其操作方法, 实际使用时,会出现这样那样的差异。读者应结合本章的实例,学习对软件包的管理和维护。 提示:对软件包的管理和维护,需要以root身份进行。 TAR源码包 tar源码包是在Linux环境下经常使用的一种源码发布的软件包。tar包文件一般都以 “.tar.gz” 或“.tar.bz2”作为扩展名。比如,httpd-2.0.48.tar.gz,httpd 就是软件的名字, 也就是提供WWW服务的Apache服务器软件,2.0.48 则是这个安装包的版本号,.tar.gz 表示这是一个经 过gzip 压缩的tar 包。再比如,kdevelop-3.1.0.tar.bz2,kdevelop 是软件的名字,这个软件提供 了Linux 下的C++集成开发环境,版本为3.1.0,其扩展名tar.bz2表明它是一个经过bzip 压缩的tar 包。 用tar包安装软件的一般过程是:首先,解开tar包,解包后一般都会形成一个以软件名命名的 目录;用其次,cd命令转移到这个目录,依次执行配置、编译和安装命令,安装工作就完成了;安装 后,一般应清理一下安装过程中的一些临时文件。
| |
下面是解tar 包的命令例子: tar -xvzf httpd-2.0.48.tar.gz tar -xvjf httpd-2.0.52.tar.bz2 配置、编译和安装命令一般是如下三条: ./configure make make install 清理临时文件的命令如下: make clean 如果要卸载,则执行如下的命令。 make uninstall RPM包 对于小型软件,按上述方法安装是可以的。但对于比较复杂的软件,运行configure命令前还需要设置很多系统变量, configure命令本身也会要求提供复杂的参数。在安装前,必须自己检查文件的依赖关系。这对于初学者是比较困难的。为了简化软件 包的安装,就出现了一种被称为RPM 的软件包。RPM 包也是非常常见的一种软件包。使用它安装软件,只需执行简单的命令即可。不 需要人工检查依赖关系。操作RPM 包的命令无非是安装和卸载两种。 安装的命令如下: rpm -Uvh Kdevelope-3.1-1.rpm 其中,kdevelope-3.1-1.rpm 是相应的RPM 包文件名,对应的软件包名就是kdevelope,版本号为3.1-1。 如果要卸载kdevelope,则执行如下的命令。 rpm -e kdevelope 软件包安装案例 例1:RAR for Linux 要想在红旗Linux4.1桌面版操作rar 格式的压缩文件,必须安装RAR for Linux。RAR for Linux的软件包是tar包,但其中 并没有源代码。以RAR 3.41 for Linux为例,其安装包的文件名是rarlinux-3.4.1.tar.gz。安装此软件的第一步是解压缩,用cd命 令转移到rarlinux-3.4.1.tar.gz所在的目录,然后执行下面的命令。解压后,会形成一个目录rar。 tar -xvzf rarlinux-3.4.1.tar.gz 由于此tar包不包含源代码(也就是说,这是一个编译好的软件安装包),因此不必编译,直接执行安装命令就可以。用cd命令 转移到解压生成的那个rar 目录执行安装命令。 make install 这样就算安装完了。从安装时的提示信息可以看出,安装程序只是把RAR运行所需的文件复制到特定的目录。如果要卸载,把 这些文件删除即可。 例2:WWW服务器软件Apache 假设要建立一个个人WWW网站,允许别人能通过内部局域网访问这个网站,阅读文档或下载软件。网站的网页文件都存在 /mnt/WinD/www123下,首页文件名是index.html,可供下载的软件存在/data/pub下。要达到目的,需要安装Apache服务器软件。下 载得到Apache服务器软件的安装包是httpd-2.0.48.tar.gz,这是一个标准的含有源码的tar包。其中,2.0.48是版本号。按典型的 tar 源码包的安装方法即可。 具体步骤如下:1、解压缩。用cd 命令转移到httpd-2.0.48.tar.gz所在的目录然后执行: tar -xvzf httpd-2.0.48.tar.gz 解压后,会形成一个目录httpd-2.0.48 2、编译和安装转移到解压生成的那个httpd-2.0.48目录 依次执行如下命令: ./configure make make install make clean 这样就算安装完了。 接下来要修改配置文件/usr/local/apache2/conf/httpd.conf来控制服务器软件,使其按要求运行。 首先,修改Listen行,确定服务的IP 地址和端口号: Listen 10.1.30.144:80 说明:10.1.30.144是当前计算机的内网IP 地址,通过80 端口提供Web 服务。此项不特意设也可,默认端口就是80。 其次,修改DocumentRoot ,设定主页所在的根目录。修改后形成如下两行: DocumentRoot "/mnt/WinD/www123" 第三,修改DirectoryIndex行,确认首页的文件名在其中。如果没有就追加上。 DirectoryIndex index.html index.html.var 第四,修改AddDefaultCharset行,将默认编码改为GB2312,这样保证主页上的汉字能正常显示。修改后的 AddDefaultCharset行是: AddDefaultCharset GB2312 第五,增加一个Alias,把/data/pub映射为网站根目录下的download目录。增加的内容如下: Alias /download/ "/data/pub/" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all
上述五步配置的目的是使局域网的其他计算机能用这个网址访问我的网站了。要下载存放在/data/pub/的软 件,则输入download/就可以看到文件列表。安装配置好之后,运行下面的命令是就可以启动这个WWW服务器 了。 /usr/local/apache2/bin/apachectl start 如果希望系统每次启动时自动启动httpd 服务器,则还要做如下工作。首先,拷贝apachectl 到/etc/rc.d/init.d/,并更 名为httpd ,相应的命令是: cp /usr/local/apache2/apachectl /etc/rc.d/init.d/httpd 然后,修改/etc/rc.d/init.d/httpd中的ARGV 行,改成: ARGV="start" 最后,在/etc/rc.d/rc5.d目录下,创建一个指向httpd 的连接。相应的命令是: ln /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd 为了保证在字符模式下启动红旗也能提供Web 服务,还要在/etc/rc.d/rc3.d目录下,创建一个指向httpd的连接。相应的命 令是: ln /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S85httpd 提示: 若要重启动这个WWW服务器 /usr/local/apache2/bin/apachectl restart 若要关闭WWW 服务 /usr/local/apache2/bin/apachectl stop 例3:RedOffice办公套件 目的:在Windows下,可以用MS office套件处理处理文档、表格、演示稿等文件。那么在Linux下也需要这样的软件来处理类 似的工作,并且这个软件一定能处理过去在Windows下生成的这类文件。操作:安装RedOffice For Linux V2.0个人版。RedOffice 个人版相对RedOffice标准版进行了一些功能裁减,这些功能是:宏、数据源、文献数据库、新建标签/名片/HTML等文档类型的功能、 自动文件助理、插入动态框、插入区域、图像地图、插入Applet对象/Plug-in 对象、与Java/XML相关的功能。RedOffice个人版无需 安装密码,没有时间限制,可以由个人用户免费、自由地下载、安装和试用。下载得到的RedOffice 安装包名字为 RedOffice2.0_ForLinux.tar.gz,它虽然以.tar.gz结尾,但不是包含源代码的那种tar包,而是一个带安装向导的软件包。 要解开包,只需执行下面的命令。解压后会形成一个名为RedOffice2.0_ForLinux的文件夹。 tar -xvzf RedOffice2.0_ForLinux.tar.gz 接下来在图形界面中进入RedOffice2.0_ForLinux文件夹,双击setup就开始安装了。按提示即可完成全部安装过程。默认 的安装路径是在/root/RedOffice2.0-PE之下。按Linux 管理程序的习惯,应将其修改为/usr/local/RedOffice2.0-PE。安装完成 后,要适当修改RedOffice的某些目录的权限,以防止其他用户使用该软件时出现安全备份错误。相应的命令有: chmod 777 /usr/local/RedOffice2.0-PE/user/backup chmod 777 /usr/local/RedOffice2.0-PE/user/basic 安装程序已自动把RedOffice各组件启动的快捷方式放到开始菜单里了。 例4:C++集成开发环境Kdevelop 在红旗Linux4.1的开发工具盘中,提供了集成开发环境Kdevelop3.0.92。可以下载相应的ISO 文件并利用其中的安装程 序,安装之。安装的第一步,是要挂载红旗Linux4.1的开发工具盘的ISO文件RedFlag4-devel-20040121158.iso,以便读取其中的内 容。挂载前需要选择挂载点。假设在/mnt下创建一个iso目录,专门用于挂载ISO文件。未挂载前,查看此目录,是空的。 mkdir /mnt/iso 确定了挂载点之后,就可以执行mount 命令进行挂载了。先用cd 命令转移到RedFlag4-devel-20040121158.iso所在的目录,然后执 行如下命令1: mout -t iso9660 -o loop,iocharset=cp936 RedFlag-4-devel-20040121158.iso /mnt/iso 再查看/mnt/iso,我们发现其中已经有文件了。如图11-1。用鼠标双击autorun 就可以启动开发工具盘中的安装向导程序。 在选择软件包的窗口列表中,选中kdeools 分组(如图11-2),点击“下一步”按钮就可以自动把Kdevelop安装到系统中。安装完成 后,从开始菜单中就可以启动Kdevelop:【开始】→【应用程序】→【软件开发】→【Kdevelop】如果不再需要读取开发工具盘的ISO 文件,应该及时卸载它,命令如下。卸载后查看/mnt/iso,会发现它又空了。 umount /mnt/iso ------------ 1对开发工具盘的ISO文件而言,参数iocharset=cp936并不是必须的。只有在挂载含有中文文件名的的ISO文件时,才需要 iocharset=cp936这个参数以确保中文文件名的正确显示。不使用iocharset=cp936 时的命令应该是这个样子: mout -t iso9660 -o loop RedFlag4-devel-20040121158.iso /mnt/iso 图11-1 图11-2 例5:“我爱背单词” 背单词软件是比较流行的一种学习软件,很多人都用它一边背单词,一边练习指法。可以从红旗Linux4.1的工具盘中找到背 单词软件的安装包。当然可以用例4中提到的方法,借助工具盘中的安装程序安装这个软件。这里介绍用rpm 命令的安装方法。第一 步,从工具盘中提取需要的rpm包。先挂载相应的ISO文件: mout -t iso9660 -o loop,iocharset=cp936 RedFlag-4-tool.iso /mnt/iso 然后借助autorun 看背单词安装包包括哪些rpm包。如图11-3。 图11-3 图中打勾的软件包就是“背单词”软件所必须的。根据这些信息,可以猜测出“背单词”软件所需RPM包的文件名。转移到 /mnt/iso/RedFlag/RPMS目录下,执行ls命令并以reciteword 关键词过滤,就可以找到相应的rpm包了,如图11-4。 ls -l | grep reciteword 图11-4 可以先把这5 个文件复制到一个单独的目录里备用。第二步,安装rpm包。 可以执行如下命令安装“背单词”软件的5 个rpm包2。 rpm -Uvh reciteword-0.8.1-10.i386.rpm rpm -Uvh reciteword-books-0.8.1-2.i386.rpm rpm -Uvh reciteword-dicts-0.8.1-2.i386.rpm rpm -Uvh reciteword-RealPeopleTTS-0.8.1-2.i386.rpm rpm -Uvh reciteword-skins-rw-0.8.1-2.i386.rpm 也可以执行如下一条命令来安装这5 个包: rpm -Uvh reciteword*.rpm --nodeps --force *是文件名通配符,reciteword*.rpm 正好匹配上述5 个文件包。参数nodeps 表示在安装时不检查软件包之间的依赖关 系;force 表示强制安装,即使系统中已经有了要安装的软件包,也会重新安装一遍,新安装的将覆盖原有的。 -------------- 2有些软件的各个rpm包之间是有依赖关系的。安装其中某个rpm包,它所依赖的rpm包必须事先安装好,否则安装将无法完 成。为了确定个rpm包之间的依赖关系,可以先尝试随便安装其中某个包,安装程序会自动检测并给出依赖关系提示。手工确定RPM 包 之间的依赖关系是非常麻烦的。 进行rpm包安装时,会出现进程提示。图11-5 上述安装操作的提示信息。 图11-5 安装完成后,从开始菜单中就可以启动“背单词”软件:【开始】→【应用程序】→【我爱背单词】→【背单词】 软件安装完成后,不要忘记把ISO文件卸载。 umount /mnt/iso 软件包管理器 为了编译软件包的管理,可以使用软件包管理器。【开始】→【设置】→【控制面板】→【软件包管理器】软件包管理器有 三个标签,分别是用户软件包、系统软件包和其他工具。如果想查看安装Linux操作系统是,已经自动安装了哪些软件包,可以查看 “系统软件包”。如图11-6。这里的软件包对系统运行很重要,除非特别清楚自己干什么,否则不要随便卸载它们。如果想安装或卸 载应用软件包,可以使用“用户软件包”标签。如图11-7,列出了已经安装的一些应用软件包。选中某软件包,点“卸载软件包”按 钮,就可以进行卸载操作了。其效果等效于带-e 参数的rpm命令。 图11-6 图11-7 推荐主题: Linux实用培训学习教程1.0(最终版)下载: |