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脚本
相关文章推荐
- Linux系列教程(十三)——Linux软件包管理之源码包、脚本安装包
- Linux(cent OS)下软件包管理-源码包安装/脚本安装包
- Linux软件包安装4——源码包安装以及脚本安装包Webmin实现web管理
- Linux软件安装管理 - CentOS (四) ---- 脚本安装包
- Linux 之 软件包管理-脚本安装包
- Linux-软件包管理-脚本安装包
- Linux学习之软件包管理--脚本安装包
- Linux基础入门及系统管理01-bash脚本编程之二if等条件判断脚本知识17
- linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本
- Linux学习日记 —— 6.5 软件包管理-脚本安装包
- Linux 内核中RAID5源码详解之stripe_head的管理
- Linux 之软件包管理--源码包与RPM包的区别
- linux下lamp 源码安装详解(次内容可以直接复制当作自动安装脚本)
- linux 编写shell管理脚本02
- Linux学习日记 —— 12.3 Linux服务管理-源码包服务的管理
- linux源码编译安装php,nginx,git需要的依赖安装脚本
- linux之脚本管理批量添加用户的脚本
- Linux源码编译软件及管理
- 制作Linux下程序安装包——使用脚本打包bin、run等安装包
- LINUX 源码包管理