Linux下软件安装的方式自结

1.Linux下软件安装的两种方式:

           a)源码Tarball安装

           b)软件管理机制安装。例如,RedHat系的RPM,在线升级机制YUM;Debian系的DPKG,在线升级机制APT

 

2.所谓软件的Tarball文件,就是讲开发者开发出来的源代码文件、configure/config检测程序以及ReadMe等文件打一个tar包,然后再利用解压缩软件进行压缩,形成一个.tar.gz或者.tar.bz2文件。源码安装步骤如下:

           ——》取得源文件:将TabBall文件解压缩到指定的目录

           ——》取得步骤流程:在解压缩的文件中,查阅INSTALL和README等相关的文件

           ——》相关属性软件安装:根据INSTALL/README的内容查看并安装好一些依赖的软件

           ——》生成makefile文件:以自动检测程序(eg. configure或config)检测操作环境,并建立makefile文件,注意它有一个重要的参数--prefix,用来设定要将软件安装目录。

                     eg. ./configure --prefix=/usr/local/apache   以安装apache为例

           ——》编译:以make这个工具软件以及其配置文件makefile文件,来进行make的操作

           ——》安装:以make这个工具软件,依据mekefile文件中的install这个目标Target将软件安装(是拷贝啦)指定的目录中。

Remarks:

           a)在上面的步骤中,源码的解压缩后存放的位置,以及软件安装的位置都有一定的良好约定,参见鸟哥的建议(/usr/local/apache   以安装apache为例)。

           b)以源码Tarball方式安装软件,至于,如何去升级软件,采用patch方式。

           c)configure/config程序是用来检测环境并生成Makefile文件,make工具是来执行Makefile文件中配置的信息的。


3.软件管理机制安装—以RedHat系为例说明

利用RPM机制去管理软件的安装、卸载以及升级等等,都涉及到一些RPM的数据库文件,而这些RPM数据库文件是放置在/var/lib/rpm的目录中。

           a)RPM

                       ——》安装软件:rpm -ivh rpm文件

                       ——》升级或更新软件:rpm -Uvh或者rpm -Fvh,二者的区别在于,如果要升级的软件目前在系统上没有安装,是否安装的问题

                       ——》RPM查询:可以利用rpm -q*的方式去查询某个软件是否安装、软件的详细信息等等

                       ——》RPM验证:利用rpm -V*的方式去验证指定的软件或者文件等是否被修改过

                       ——》卸载软件:rpm -e 软件名 

                                   Remarks:是否卸载成功,看该软件的属性依赖问题

                       ——》重建RPM数据库:rpm --rebuilddb

            b)SRPM

                      ——》rpmbuild --rebuild *.src.rpm       作用是编译,打包成rpm文件

                      ——》rpmbuild --recompile *.src.rpm    作用是编译,打包成rpm文件,然后安装到系统上

                   Remarks:RPM与SRPM的不同在于,SRPM里面是源代码,没有经过编译的。所以利用SRPM机制去安装软件是这样的一个过程,先将源文件编译,打包生成RPM文件,然后将RPM文件安装到Linux上。

             c)YUM在线升级机制(需要联网的哦)

                       ——》YUM查询软件:可以利用yum去在yum服务器上,搜索软件及其详细信息等等

                       ——》YUM安装软件:yum install 软件名

                       ——》YUM升级软件:yum update 软件名

                       ——》YUM卸载软件:yum remove 软件名

                   Remarks:YUM在线升级机制中,在本地机器中有一个“yum配置/设置文件”。例如,RedHat系统中是/etc/yum.repos.d/rhel-debuginfo.repo这个文件,这个文件里配置的有远程yum服务器的URL,YUM机制在查询、安装、升级以及卸载软件的时候,都是从这个配置文件去连接远程YUM服务器,从而获取软件数据。

               d)关于使用YUM机制安装vim的例子

                       ——》使用yum search vim查询,结果为:

                                  Linux下软件安装的方式自结_第1张图片   

                       ——》使用yum install vim-enhanced,开始安装就ok了

               e)关于RPM/SRPM/YUM的一点闲话

                           SRPM和YUM机制都是以RPM机制为基础的。所以,尽管YUM机制很方便也很好用,但是RPM是最基本的。

                           有时,使用yum在线安装软件时,需要使用rpm --import url来导入远程yum服务器的公钥。

你可能感兴趣的:(Linux下软件安装的方式自结)