Linux系统的软件包安装一般可分为二进制安装和源代码安装两种方式,二进制安装的话相比于源代码安装要简单的多了,因为二进制呢就是别人用源代码编译好的RPM包,你直接用安装工具安装就行了,不用设置很多参数。那么二进制的RPM包的安装工具呢,一般常用的有两个,一个是用RPM另一个就是yum

RPM工具的查询功能很强大,基本上想要了解的安装包信息都可以查到,也可以实现软件的卸载、升级和检验,缺点就是无法有效的解决软件包的依赖性,所以本人是喜欢只用RPM的查询功能的,至于安装很少用。

yum工具对于安装软件包真是太强大不过了,它最大的特点就是很好的解决了软件包的依赖关系,还能够从指定的服务器自动下载RPM包并且安装,并且一次安装所有依赖的软件包无须繁琐地一次次下载、安装,所以我一般会使用yum工具的.

源代码安装比较费时费力,不好操作,但是可以根据自己的需求使用和安装最新的版本和功能,可以个性化设置

   rpm 常用的参数

     安装     -i   文件名 // 安装包

              -ivh   文件名   // -v查询详细的安装信息画面

                                 -h 显示安装进度

        RPM   -ivh  文件名 --test //测试是否可以被安装到用户的Linux环境中

     查询  

       -q    -a ====>-qa  //查询已经安装的所有的rpm

            -l ====-ql  包名称  //查询已经安装过的那些包的信息                              ====-qlp  文件名 //查询还未安装的包的信息

              -i ====> -qi   包名称  //查询包的;数据说明详细信息

            -qip    文件名    //查询包的详细信息

             -f    文件名称   //已安装的软件

 卸载     

         -e   包名称    //直接卸载已安装的包

     升级    

              -Uvh   {升级 安装}

             -Fvh   {升级}

       校验    -V   -a

例:已安装lftp为例

linux下软件包安装_二进制

yum安装分为基于网络的yum和基于本地的yum

 

1.    基于网络的yum

网络yum需要去配置,可以自己构建一个服务器供软件包下载,把包放在网络访问的目录下面就行了

      yum  server {}  

            具备:安装树   下载服务器{ftp/httpd}

      yum  client 

           yum的客户端配置一般有两种方式,一种是直接配置/etc目录下的yum.conf文件,另外一种是在/etc/yum.repos.d目录下增加.repo文件,一定要repo的后缀。
一、yum的配置文件

  主配置文件/etc/yum.conf

这里面的内容基本不用改

linux下软件包安装_服务器_02

linux下软件包安装_源代码_03

     

 /etc/yum.repos.d/文件.repo

这个文件需要改的

       [repoid]

       name=描述

       baseurl=ftp://服务器地址或者名称/目录

       http://服务器地址或者名称/目录

       enable=0|1

       gpgcheck =0|1

       gpgkey=公钥文件

linux下软件包安装_二进制_04

配置好之后就可以用yum进行安装了

直接yum  imstall  包名

2.基于本地yum 

          无服务器   

        a、挂载光驱  mount  /dev/cdrom /media/cdrom

/etc/yum.repos.d/文件.repo

        [repoid]

       name=描述

       baseurl=file:///media/cdrom/目录

       enable=0|1

       gpgcheck =0|1

       gpgkey=公钥文件

       指令 

       查询   yum  repolist

        yum  info   包名称

        yum  list  all   

        yum list available

        yum  grouplist

        yum  groupinstall   组名称

        yum  remove  

        yum  groupremove

        yum  localinstall    本地包    --nogpgchecklinux下软件包安装_软件包_05

更多可参照

http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/09/2203916.html

                                                    

好了下面介绍源代码安装

已安装http服务器为例       

实验环境:centos-6.5  源码包httpd-2.4.9.tar.bz2    apr-util-1.5.1.tar.gz

apr-1.4.6.tar.gz

源代码安装需要编译的环境 ,所以首先安装编译的环境包 “Development  tools”

安装过程中还依赖pcoe-devel 这个包 所以也要装上去。

对于Apache环境进行源码构建时,需要依赖aprapr-util

对下载的aprapr-util以及httpd源代码包拆解到/usr/local/src目录下

(1)    拆解apr包:tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/


2)拆解apr-util 包:tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/

 

(3)    拆解httpd包:tar -jxvf httpd-2.4.9.tar.bz2 -C /usr/local/src/

 

linux下软件包安装_源代码_06

 

 

(4)  安装apr

    cd apr-1.4.6/

 

(5)  安装编译工具软件包

yum --disablerepo=\*  --enablerepo=c6-media groupinstall "Development tools" –y


linux下软件包安装_二进制_07


(6)  检测编译环境:./configure --prefix=/usr/local/apr   **指定安装的位置

linux下软件包安装_软件包_08

(7)  编译并安装:make && make install


 

linux下软件包安装_二进制_09

 

(8)    同样的道理,我们进入到apr-util的目录下安装apr-util

 

[root@localhost apr-util-1.5.1]# ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr/bin/apr-1-config    **需要指定Apr包的配置文件的位置

 

linux下软件包安装_二进制_10

 

(9)预编译环境没有问题后,编译并安装

[root@localhost apr-util-1.5.1]# make && make install

 

linux下软件包安装_linux_11

 

(10)安装Apache

进入Apache代码包解压的目录下    cd httpd-2.4.9/

预编译执行下列选项:

[root@localhost httpd-2.4.4]# ./configure  \

> --prefix=/usr/local/apache  \

> --sysconfdir=/etc/httpd \   **为了配置把Apache的配置文件放到这个目录下

> --enable-so \

> --enable-ssl  \

> --enable-rewrite  \

> --with-apr=/usr/local/apr/bin/apr-1-config \      **指明Apr包配置文件的位置

> --with-apr-util=/usr/local/apr-util/bin/apu-1-config \  **指明Apr工具包位置

> --with-pcre  \

> -with-z

linux下软件包安装_二进制_12

11)编译并安装

[root@localhost httpd-2.4.4]# make && make install

 

linux下软件包安装_linux_13

 

12)安装之后进入配置文件目录,查看配置文件  cd /etc/httpd/conf

 

linux下软件包安装_服务器_14

(13)进入bin目录,启动Apache。  cd /usr/local/apache/bin

linux下软件包安装_二进制_15

(14)启动Apache服务   ./httpd -k start  或者使用 Apachectl start

[root@localhost bin]# ./httpd -k start

 

15)查看80端口是否开启。 netstat -tupln |grep httpd

linux下软件包安装_软件包_16

 

16)关闭防火墙以及安全机制,之后对Apache进行测试

 

[root@localhost bin]# service iptables stop 

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Unloading modules:                               [  OK  ]

[root@localhost bin]# setenforce 0

[root@localhost bin]#

 

http://192.168.3.100

 

linux下软件包安装_源代码_17

 

17)改变搜索路径的环境变量,打开文件添加路径的目录

[root@localhost bin]# vim /etc/profile

linux下软件包安装_二进制_18

保存退出用 . /etc/profile  刷新,使其生效

然后再到其他位置使用 httpd –k start 就可以了

(18)为了用service httpd start的方式进行启动

编写Apache的控制脚本

cd /etc/init.d/  **控制脚本的目录

[root@localhost bin]# cd /etc/init.d

[root@localhost init.d]# touch httpd

[root@localhost init.d]# chmod a+x httpd

[root@localhost init.d]# vim httpd

 

程序脚本如下:

 

#!/bin/bash

# chkconfig: - 88 99

# desceription: the apache server

 

prog=/usr/local/apache/bin/httpd

lockfile=/var/lock/subsys/httpd

 

start() {

        if [ -e $lockfile ]; then

        echo "the apache server is started"

        else

        echo -n "the apache server is starting....."

        $prog -k start &>/dev/null

        fi

        [ "$?" -eq 0 ] && echo -e " [\033[32m  ok \033[0m ]" && touch $lockfile ||echo -e " [\033[31m  fail \033[0m  ] "

}

 

stop () {

        if [ ! -e $lockfile ];then

        echo "the apache server is stoped"

        else

        echo -n "the apache server is stoping....."

        $prog -k stop  &>/dev/null

        fi

        [ "$?" -eq 0 ] && echo -e "[\033[32m ok \033[0m ]" && rm -rf $lockfile ||echo -e "[\033[31m fail \033[0m]"

}

 

case "$1" in

        start)

                start

                ;;

        stop)

                stop

                ;;

        restart)

                stop

                start

                ;;

*)

echo "USAGE:start|stop|restart"

        ;;

esac

                                   

(19)编写好之后,测试开机脚本

linux下软件包安装_软件包_19

 

20)加入chkconfig命令

[root@localhost init.d]# chkconfig --add httpd

linux下软件包安装_源代码_20

注意脚本里要有chkconfig语句才可以添加成功

21)库文件

[root@localhost usr]# vim /etc/id.so.conf.d/apr.conf

linux下软件包安装_二进制_21

刷新缓存

Idconfig

 

22)头文件链接

[root@localhost include]# ln -s /usr/local/apache/include/ apache

 

23)手册创建

[root@localhost usr]# vim /etc/man.config


                    

 linux下软件包安装_二进制_22