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为例
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
这里面的内容基本不用改
/etc/yum.repos.d/文件.repo
这个文件需要改的
[repoid]
name=描述
baseurl=ftp://服务器地址或者名称/目录
http://服务器地址或者名称/目录
enable=0|1
gpgcheck =0|1
gpgkey=公钥文件
例
配置好之后就可以用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 本地包 --nogpgcheck
更多可参照
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环境进行源码构建时,需要依赖apr和apr-util
对下载的apr和apr-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/
(4) 安装apr
cd apr-1.4.6/
(5) 安装编译工具软件包
yum --disablerepo=\* --enablerepo=c6-media groupinstall "Development tools" –y
(6) 检测编译环境:./configure --prefix=/usr/local/apr **指定安装的位置
(7) 编译并安装:make && make install
(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包的配置文件的位置
(9)预编译环境没有问题后,编译并安装
[root@localhost apr-util-1.5.1]# make && make install
(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
(11)编译并安装
[root@localhost httpd-2.4.4]# make && make install
(12)安装之后进入配置文件目录,查看配置文件 cd /etc/httpd/conf
(13)进入bin目录,启动Apache。 cd /usr/local/apache/bin
(14)启动Apache服务 ./httpd -k start 或者使用 Apachectl start
[root@localhost bin]# ./httpd -k start
(15)查看80端口是否开启。 netstat -tupln |grep httpd
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]#
17)改变搜索路径的环境变量,打开文件添加路径的目录
[root@localhost bin]# vim /etc/profile
保存退出用 . /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)编写好之后,测试开机脚本
20)加入chkconfig命令
[root@localhost init.d]# chkconfig --add httpd
注意脚本里要有chkconfig语句才可以添加成功
21)库文件
[root@localhost usr]# vim /etc/id.so.conf.d/apr.conf
刷新缓存
Idconfig
22)头文件链接
[root@localhost include]# ln -s /usr/local/apache/include/ apache
23)手册创建
[root@localhost usr]# vim /etc/man.config