CentOS下安装tar包/rpm包

时间:2021-11-25 08:25:54
在CentOS系统中,软件安装程序比较纷繁复杂,不过最常见的有两种:

1)一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz)。
2)另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常被是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
  当然,也有用rpm格式打包的源代码,用gzip压缩过的可执行程序包。只要您理解了以下的思路,这两种形式的安装包也不在话下了。

下面,我们就分成两个部分来说明软件安装思路:

第一部分:搞定.tar.gz

首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。
  ---- #cp filename.tar.gz /root
  ---- 由于该文件是被压缩并打包的,所以,应对其解压缩。命令为:
  ---- #tar xvzf filename.tar.gz
  ---- 执行该命令后,安装文件按路径被解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有名为"INSTALL"的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。
  ---- 对于多数需要编译的软件,其安装的方法大体相同。执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:
  ---- #./configure
  ---- 如果检查过程中,发现有错误,configure将给予提示,并停止检查。你可以跟据提示对系统进行配置。再重新执行该程序。检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机的性能的不同,所耗费的时间也不同。命令为:
  ---- #make
  ---- 成功编译后,键入如下的命令开始安装:
  ---- #make install
  ---- 安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:
  #make clean
  #make distclean
  至此,软件的安装结束


1.首先,使用tar -xzvf来解开这个包,如:
  #tar -xzvf apache_1_3_6_tar.gz
  这样就会在当前目录中创建了一个新目录(目录名与.tat.gz包的文件名类似),用来存放解压了的内容。如本例中就是apache_1.3.6

2.进入这个目录,再用ls命令查看一下所包含的文件,如:
  #cd apache_1.3.6
  #ls
  你观察一下这个目录中包含了以下哪一个文件:configure、Makefile还是Imake。
        1)如果是configure文件,就执行:
  #./configure
  #make
  #make install
        2)如果是Makefile文件,就执行:
  #make
  #make install
        3)如果是Imake文件,就执行:
  #xmkmf
  #make

  #make install

        make原理是执行一个叫(所生成的)Makefile文件里的指令,make的基本用处是自动根据makefile里的指令来编译源文件。它还可以用来做比如安装软件,卸载软件等事情,但前提是作者在makefile里写了。比如makefile里有这么些内容:
                       install :  < commands >
        然后用make install的话,make程序就会按照上面install:后面的指令< commands >执行安装,uninstall也是一样的道理,大部分的作者会写有卸载的部分,这时只要简单地执行make unistall就可以,如果作者懒没有写,那就只有根据make install中的步骤,看它把什么文件拷到哪去了,然后分别手动删除。
        还有关键的一点是,编译安装完成后,不要删除源代码,不然就算作者写了unnistall目标,你也没有makefile可以执行了。

3.如果没有出现什么错误提示的话,就搞定了。至于软件安装到什么地方,通常会在安装时出现。否则就只能查阅一下README。

         执行命令查看安装目录:  rpm -ql apache
         如果遇到错误提示,也别急,通常是十分简单的问题:
        1)没有安装C或C++编译器:
  确诊方法:执行命令gcc(C++则为g++),提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
          #rpm -ivh gcc* (哈哈,我们用到了第二种安装方式)
        2)没有安装make工具:
  确诊方法:执行命令make,提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
          #rpm -ivh make*
        3)没有安装autoconf工具:
  确诊方法:执行命令make,提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
         #rpm -ivh autoconf*
        4)缺少某些链接库;
  确诊方法:在make时,提示需要某些文件。
  解决方法:安装包含这个文件的包,这就需要积累了。

第二部分:搞定.rpm

  RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。

        将安装文件拷贝至你的目录中/usr/src。然后使用rpm来安装该文件。命令如下:
  ---- #rpm -ivh filename.i386.rpm
  ---- rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。

  1.安装软件:执行rpm -ivh rpm包名,如:
              #rpm -ivh apache-1.3.6.i386.rpm
  2.升级软件:执行rpm -Uvh rpm包名。
  3.反安装:执行rpm -e rpm包名。
  4.查询软件包的详细信息:执行rpm -qpi rpm包名
  5.查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名
  6.查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名