1、源码包

源码包能直接看到源码,安装时需要人为手工设置安装位置,一是/usr/local/软件名/。。
优点:
①、开源,如果有足够的能力,可以直接修改源代码。
②、安装时可以自由选择所需的功能
③、软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高。
④、卸载方便,直接删了你安装软件的那个目录就好了。
缺点:
①、安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。
②、编译时间过长,比后面讲的二进制安装时间长。
③、因为是编译安装,安装过程中一旦报错新手很难解决。

2、二进制包

这里的二进制包最要包括centos中的rpm包。rpm包有默认安装位置。/etc/ 配置文件安装目录;/usr/bin/ 可
执行的命令安装目录;/usr/lib/ 程序所使用的函数库保存位置;/usr/share/doc/ 基本的软件使用手册保存位
置;/usr/share/man/ 帮助文件保存位置。
优点:
①、包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。
②、安装速度比源码包快很多。
缺点:CentOS-6.8-x86_64-bin-DVD1.iso
①、已经经过编译了,看不到源代码。
②、功能选择不如源代码包灵活。
③、安装过程中有很多依赖的包,依赖性不好解决。

(1.)YUM安装方式

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
主要的是 yum可以自动解决依赖关系。
使用格式:
yum [options] [command] [package …]

#其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等。[command]为所要进行的操作,[package …]是操作的对象

网络源

新安装的linux系统  默认是网络源 
        #安装好linux系统后在/etc/yum.repos.d目录中
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-Debuginfo.repo CentOS-Media.repo
#一般以.repo结尾的文件都是yum源,如果可以联网,我们可以直接使用CentOS-Base.repo为默认yum源
#vi查看
[base]: yum源名称,名称一定要在[]中
name:yum源说明
mirrorlist:镜像站点,可以不要
baseurl:yum源服务器的地址,这里默认是CentOS官方的yum源服务器,一般情况下我们使用国内站点
gpgcheck:是否要检验数字证书,1表示校验,0表示不校验
gpgkey:数字证书保存位置
#如果是可以联网的,现在就可以直接使用yum源了

创建yum本地源

之所以创建本地源 是为了在没有网络时 使用 并且只要要安装的包在本地源中 下载速度是很快的。
步骤

①挂载光盘
 挂载光盘的时候一定要确认虚拟机的光驱设备是连接的状态
 先创建挂载点 /media
 [root@nebulalinux01 bak]# mount /dev/sr0 /media/
 mount: block device /dev/sr0 is write-protected, mounting read-only
 [root@nebulalinux01 bak]#
 ②将默认的网络yum源备份 创建文件夹bak
 [root@nebulalinux01 yum.repos.d]# mkdir bak
 [root@nebulalinux01 yum.repos.d]# mv Cen* bak/
 ③新建光盘yum源文件
 [root@nebulalinux01 yum.repos.d]# vi yum.repo
 #添加如下内容
 [Centos]
 name=centos
 baseurl=file:///media #在指定服务器地址时,因为是本地文件所以用file,在这里一定要注意三个/,其中两个是标
 准格式,第三个是目录路径/media
 gpgcheck=0
 enabled=1
 ④清空历史缓存并创建新缓存
 [root@nebulalinux01 yum.repos.d]# yum clean all #清空历史缓存
 已加载插件:fastestmirror
 Cleaning repos: Centos
 清理一切
 Cleaning up list of fastest mirrors
 [root@nebulalinux01 yum.repos.d]# yum makecache #创建新缓存
 已加载插件:fastestmirror
 Determining fastest mirrors
 Centos | 4.0 kB 00:00
 …
 Centos/group_gz | 226 kB 00:00
 …
 Centos/filelists_db | 6.3 MB 00:00
 …
 Centos/primary_db | 4.7 MB 00:00
 …
 Centos/other_db | 2.8 MB 00:00
 …
 元数据缓存已建立

总结 1.挂载光盘 2.编写源的配置文件(以repo结尾)3 清除缓存 4.建立缓存 5 写入自动挂载文件

y源码安装阿帕奇服务

1、安装准备

[root@nebulalinux03 ~]# yum install gcc gcc-c++ gcc-g77
#安装编译工具
2、分析安装平台环境
根据安装平台,在编译安装时设定相应的选项参数
3、下载源码包
以apache http为例 下载地址:http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.37.tar.gz
源码包建议保存位置:/usr/local/src
[root@nebulalinux03 ~]# cd /usr/local/src/
[root@nebulalinux03 src]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.37.tar.gz

z 直接进入你要安装的目录 一般推荐安装在 /usr/local/src 进入目录后 直接使用 wget 进行下载就好

#等待下载完成
4、安装源码包
我们将下载好的源码包通过工具复制到Linux系统中,或者在Linux系统总下载好,然后解压,

最后进入到解压目录

我们下载好后 步骤 :解压 进入解压后的目录    然后  指定安装路径  预编译   安装

编译安装软件程序包源码编译安装三步走:./configure、make、make install

./configure

a. 指定安装路径,例如 --prefix=/usr/local/apache
b. 启用或禁用某项功能, 例如 --enable-ssl, --disable-filter --with-http_ssl_module
c. 和其它软件关联,例如–with-pcre
d. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求
最终生成:Makefile

make clean //清理掉以前编译后产生的 *.o目标文件

make //按Makefile文件编译,可以使用-j 2指定两颗CPU编译,优化编译器参数

make install //按Makefile定义的文件路径安装

[root@nebulalinux03 src]# ls
httpd-2.4.37.tar.gz
[root@nebulalinux03 src]# tar -zxf httpd-2.4.37.tar.gz
[root@nebulalinux03 src]# ls
httpd-2.4.37 httpd-2.4.37.tar.gz
[root@nebulalinux03 src]# cd httpd-2.4.37
[root@nebulalinux03 httpd-2.4.37]#

①第一步:软件配置与检查./conigure

1、定义需要的功能选项 指定安装路径。

2、检测系统是否符合安装要求。

3、把定义好的功能选项和检测系统环境的信息都写入Makefile 文件,用于后续的编辑

[root@nebulalinux03 httpd-2.4.37]# ./configure --prefix=/usr/local/apache
checking for chosen layout… Apache
 checking for working mkdir -p… yes
 checking for grep that handles long lines and -e… /bin/grep
 checking for egrep… /bin/grep -E
 checking build system type… x86_64-pc-linux-gnu
 checking host system type… x86_64-pc-linux-gnu
 checking target system type… x86_64-pc-linux-gnu
 configure:
 configure: Configuring Apache Portable Runtime library…
 configure:
 checking for APR… noconfigure: error: APR not found. Please read the documentation.
#校验没通过 APR失败 我们需要下载APR 这里简略描述
 wget http://mirror.bit.edu.cn/apache/apr/apr-1.6.5.tar.gz
 wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
 [root@nebulalinux03 apr-1.6.5]# tar -zxf apr-1.6.5.tar.gz
 [root@nebulalinux03 apr-1.6.5]# cd apr-1.6.5[root@nebulalinux03 apr-1.6.5]# ./configure --prefix=/usr/local/apr
[root@nebulalinux03 apr-1.6.5]# make && make install
 [root@nebulalinux03 apr-1.6.5]# tar -zxf apr-util-1.6.1.tar.gz
 [root@nebulalinux03 apr-1.6.5]# cd apr-util-1.6.1
 [root@nebulalinux03 apr-1.6.5]# ./configure --prefix=/usr/local/apr-util --with-
 apr=/usr/local/apr/
 [root@nebulalinux03 apr-util-1.6.1]# make && make install
 [root@nebulalinux03 apr-util-1.6.1]# yum -y install expat-devel
 缺少xml 的解析器 需要安装一个 在这里 以yum方式安装,在后面内容讲解
#缺少pcre https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.gz/download[root@nebulalinux03 pcre-8.42]# ./configure --prefix=/usr/local/pcre
[root@nebulalinux03 pcre-8.42]# make && make install
#前置包安装完后 继续configure
[root@nebulalinux03 httpd-2.4.37]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre //将安装需要的所有依赖指定
②第二步:执行编译 make ,将源码包编译为机器码
[root@nebulalinux03 httpd-2.4.37]# make③第三步:执行 make install ,编译安装
[root@nebulalinux03 httpd-2.4.37]# make install④安装完成后启动服务
[root@nebulalinux03 httpd-2.4.37]# /usr/local/apache/bin/apachectl start #启动服务
 [root@nebulalinux03 httpd-2.4.37]# /usr/local/apache/bin/apachectl stop #停止服务
 [root@nebulalinux03 httpd-2.4.37]# ps -ef | grep httpd #查看
 [root@nebulalinux03 httpd-2.4.37]#
 cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd #(添加启动服务)
 [root@nebulalinux03 httpd-2.4.37]# service httpd start #使用服务管理

源码安装注意事项

./configure 指定安装路径   
         make编译成机器码  
         makeinstall 编译安装  
         一般来说 不会直接安装成功 我们需要安装依赖 
         安装依赖的步骤和源码安装相同  都是 .指定安装路径 编译机器码  编译安装  
         一定要注意在安装完所有依赖后 我们要进入我们要源码安装的包的解压包中
         重新 ./configure  将所有依赖包安装路径关联起来   
         然后执行 make  make install