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