您的位置:首页 > 运维架构 > Linux

3-8·Linux源码包管理、脚本安装包

2017-12-17 21:43 162 查看

一·Linux源码包与rpm包的区别

1)源码包和RPM包的区别:

安装位置不同带来的影响

1、源码包是不能使用[service/systemctl]命令来启动服务,因为源码包的安装位置由用户指定,放在哪并不统一。而rpm包安装后,通常都是放在[/etc/rc.d/init.d]目录中的,而[service/systemctl]命令执行时,会自动搜索该目录,所以rpm包安装的服务可以使用[service/systemctl]命令。

2、综上所述,安装位置不同,启动方法是有区别的。

3、使用绝对路径启动程序的方法是通用的,通常软件包中会写上启动程序的方法的。

4、如果将源码包安装后的启动程序复制到[/etc/rc.d/init.d]目录中,则也是可以使用[service]命令执行的。

二·源码包安装:

1、安装准备

2、由于源码都是c语言写的,所以要先安装c语言编译器:gcc

[root@localhost ~]# yum -y install gcc*


3、从官方网站下载源码包,若是下载到了windows上面,可以使用winSCP传到linux上。

注:若已安装了二进制包,则源码包也是可以继续安装的,因为两者安装目录不一样。但是,并不建议这样做,因为端口会冲突。

netstat -tlun
查找网络连接信息和系统开启的端口号
使用 -t 选项列出 TCP 协议的连接
使用 -l 选项列出正在监听的套接字
使用 -u 选项列出 UDP 协议的连接
使用 -n 选项禁用域名解析功能


下面以安装apache2为例,解压缩后的目录为[httpd-2.2.31]:

1、安装时必须进入到解压缩后的目录[httpd-2.2.31]中;

2、执行[./configure]命令,该命令用于软件配置与检查(基本上每个源码包都会有该命令,即使个别的没有该命令,也会提供相关替代命令),它有以下几点功能:

a、定义需要的功能选项;

b、检测系统环境是否符合安装要求;

c、把a中定义好的功能选项和b中检测系统环境的信息都写入Makefile文件,用于后续的编辑。(后续的[make]和[make install]命令都会依赖该文件)

执行命令[./con
4000
figure –prefix=/usr/local/apache2],该命令用于指定安装位置为:[/usr/local/apache2](其中的[apache2]目录不需要提前创建,[make install]命令执行时会自动创建)。

命令执行后,会在当前目录生成Makefile文件。

3、执行【make】命令,编译源码(这一步通常比较耗时);

4、执行【make install】命令,安装程序,此时会创建【/usr/local/apache2】目录。

5、如果命令执行过程中发生终止,并且出现error、warn或no提示,则表明出错,否则,一切正常。

若执行【./configure】或【make】命令时出现错误,是不需要删除[/usr/local/apache2]目录的,因为程序还没有真正安装。只需要执行【make clean】命令即可,该命令用于清除缓存、临时文件等,使安装环境恢复到未安装状态。

若执行【make install】命令时报错,则需要删除[/usr/local/apache2]目录,并且执行【make clean】命令才行。

三·脚本安装包

1)脚本安装包:准备工作

1、本节以安装LNMP1.0(http://lnmp.org/download.html)为例,所以需要先停止之前安装的apache和mysql服务(最好也将源码包安装的apache [/usr/local/apache2]删除)

2、保证yum源正常:可以使用[yum list]命令测试。(若是光盘yum源,记得挂载光盘)

3、关闭SELinux和防火墙:

a、永久关闭SELinux的方法:编辑文件[/etc/selinux/config],将[SELINUX=enforcing]改为[SELINUX=disabled],然后重启系统即可。

b、永久关闭防火墙的方法:[chkconfig iptables off],开启为:[chkconfig iptables on];临时关闭防火墙的方法:[service iptables stop],开启为:[service iptables start]。

4、脚本安装过程中,会将系统中已有的apache、mysql、php等卸载掉。下面是安装脚本

【centOS.sh】的部分内容:
......部分内容省略......
yum install -y ntp
ntpdate -u pool.ntp.org
date

rpm -qa|grep httpd
rpm -e httpd
rpm -qa|grep mysql
rpm -e mysql
rpm -qa|grep php
rpm -e php

yum -y remove httpd*
yum -y remove php*
yum -y remove mysql-server mysql
yum -y remove php-mysql
......部分内容省略......


注:安装后,如果安装卡在了[php-fpm]那里,通常表示已安装成功,只是[php-fpm]那里卡住了(物理机少见,但虚拟机比较常见),解决的方法就是:使用命令[pkill -9 php-fpm]杀掉[php-fpm]进程,然后重新启动该进程[/etc/rc.d/init.d/php-fpm start]即可。

pkill -9 php-fpm

强制结束php进程

重启php-fpm: /etc/rc.d/init.d/php-fpm start

2)所谓脚本安装包就是把命令一条一条的堆叠,然后一键执行,其实是借助shell脚本
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: