源码包能直接看到源码,安装时需要人为手工设置包装位置,一般是/usr/local/软件名/。源码包的升级版--脚本安装包,人为的改动源码使其有安装界面。
优点:1)开源,如果有足够的能力,可以直接修改源代码。
2)安装时可以自由选择所需的功能。
3)软件是编译安装,所以更加适合自己的系统,更加稳定效率也更高。
4 )卸载方便,直接删了你安装的目录。
缺点:1)安装步骤较多,尤其安装较大的全歼集合时,容易出现拼写错误。
2)编译时间过长,比二进制安装时间长。
3)因为是编译安装,安装过程中一旦报错,新手很难解决。
主要包括centos中的rpm包。rpm包有默认安装位置。/etc/配置文件安装目录;/usr/bin/可执行的命令安装目录;/usr/lib/程序所使用的函数库保存位置;/usr/share/doc/基本的软件使用手册保存位置;/usr/share/man/帮助文件保存位置。
rpm -i 安装包
-v 提供详细的输出
-h 打印hash标志作为包安装
优点:1)包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载。
2)安装速度比源码包快很多。
缺点:CentOS-6.8-x86_64-bin-DVD1.iso
1)已经经过编译了,看不到源代码。
2)功能选择不如源代码包灵活。
3)安装过程中有很多依赖的包,依赖性不好解决。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次性安装所有以来的软体包。
yum管理是从指定的服务器(网络yum源)下载,所有必须要有网络或者自己手动配置一个本地yum源(不需要网络),最关键的是yum能帮我们解决依赖性关系。
(1)网络yum源
#安装好linux系统后在/etc/yum.repos.d/目录中:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 40
-rw-r--r--. 1 root root 1664 Oct 23 2020 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Oct 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Oct 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Oct 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Oct 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Oct 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 Oct 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root 616 Oct 23 2020 CentOS-x86_64-kernel.repo
1)一般以.repo结尾的文件都是yum源,如果可以联网,我们可以直接使用CentOS-Base.repo为默认yum源
2)vi查看:
name:yum源说明
baseurl:yum源服务器的地址,这里默认为是CentOS官方的yum源服务器,一般情况下我们使用 国内站点。
gpgcheck:是否要检验数字证书,1表示校验,0表示不校验
gpgkey:数字证书保存位置
(2)本地yum源(使用光盘):
适用于不一定有网络环境,而且网络yum源也受到宽带的限制,在安装的时候会比较慢,所以一般使用本地的yum源。
本地yum源搭建的步骤:以虚拟机为例:
1)挂载光盘:挂载光盘的时候一定要确认虚拟机的光驱设备是连接的状态。
[root@localhost ~]# mount /dev/sr0 /media
mount: /dev/sr0 is write-protected, mounting read-only
2)将默认的网络yum源备份 创建文件夹bak
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv CentOS-* /etc/yum.repos.d/bak
[root@localhost yum.repos.d]# ll
total 0
drwxr-xr-x. 2 root root 220 Jul 31 14:23 bak
3)新建光盘yum源文件
vi yum.repo #添加如下内容:
[Centos]
name=centos
baseurl=file:///media #在指定服务器地址时,因为是本地文件所以用file,在这里一定要注意 三 个/,其中两个是标准格式,第三个是目录路径 /media
gpgcheck=0
enabled=1
[Centos]
name=centos
baseurl=file:///media
gpgcheck=0
enabled=1
4)清空历史缓存并且创建新缓存:
yum clean all #清空历史缓存
yum makecache #创建新缓存
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: Centos
Cleaning up list of fastest mirrors
Other repos take up 145 M of disk space (use --verbose for details)
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
Centos | 3.6 kB 00:00
(1/4): Centos/group_gz | 153 kB 00:00
(2/4): Centos/filelists_db | 3.3 MB 00:00
(3/4): Centos/primary_db | 3.3 MB 00:00
(4/4): Centos/other_db | 1.3 MB 00:00
元数据缓存已建立
(1)显示配置的仓库
yum repolist all 显示所有
yum repolist enable 显示可以
(2)显示所有软件包
yum list 或者yum list all
yum list |grep 包名
(3)卸载
yum remove 包名
(4)创建和清理缓存
yum clean all 清理缓存
yum makecache 构建缓存
(1)安装准备(即搭建环境)
yum install gcc gcc-c++ gcc-g77
(2)下载源码包
网络下载或者上传已经下载好的压缩包,建议将压缩包和解压后的文件保存在指定目录。
(3)安装源码包
将源码包解压至指定位置后,进入操作。
1)编译安装软件程序包源码编译安装三步走:./configure make make install
./configure 指定安装路径,例如 --prefix=/usr/local/apache
和其他软件关联,例如 --with-apr
检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求
最终生成:Makefile
make clean 清理掉以前编译后产生的 *.o 目标文件
make 按Makefile文件编译,可以使用 -j 2 指定两颗CPU编译,优化编译器参数
make install 按Makefile定义的文件路径安装
2)安装完成后启动服务
/usr/local/apache/bin/apachectl start 启动服务
/usr/local/apache/bin/apachectl stop 停止服务
ps -ef |grep httpd 查看
补充:查看虚拟机的防火墙状态 systemctl status firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 systemctl start firewalld
实操例子:
17 yum install bzip2
18 tar -jxf httpd-2.4.54.tar.bz2
19 ll
20 mv httpd-2.4.54 /usr/local/src/
21 ll
22 cd /usr/local/src/
23 ll
24 cd httpd-2.4.54/
25 ./configure --prefix=/usr/local/apache
26 cd
27 ll
28 tar -zxf apr-1.5.2.tar.gz -C /usr/local/src/
29 ll
30 tar -zxf apr-util-1.3.12.tar.gz -C /usr/local/src/
31 cd /usr/local/src/
32 ll
33 cd apr-1.5.2/
34 ./configure --prefix=/usr/local/apr
35 cd
36 yum install gcc gcc-c++ gcc-g77
37 cd /usr/local/src/
38 ll
39 cd apr-1.5.2/
40 make clean
41 ./configure --prefix=/usr/local/apr
42 make
43 make install
44 cd ..
45 cd apr-util-1.3.12/
46 ./configure --prefix=/usr/local/apr-util
47 make clean
48 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
49 make
50 make install
51 cd ..
52 cd httpd-2.4.54/
53 make clean
54 ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
55 cd ..
56 cd
57 ll
58 unzip -r pcre-8.10.zip
59 cd
60 yum install unzip
61 unzip -r pcre-8.10.zip
62 unzip pcre-8.10.zip -d /usr/local/src/
63 ll
64 cd /usr/local/src/
65 ll
66 cd pcre-8.10/
67 ./configure --prefix=/usr/local/pcre
68 make
69 make install\
70 make install
71 cd ..
72 cd httpd-2.4.54/
73 make clean
74 ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
75 cd ..
76 cd pcre-8.10/
77 make clean
78 ./configure
79 make
80 make install
81 make checkinstall
82 cd ..
83 cd httpd-2.4.54/
84 make distclean
85 ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
86 make
87 make install
88 cd ..
89 ll
90 cd apache/
91 ll
92 cd bin/
93 ll
94 cd apachectl
95 ./apachectl
96 systemctl status firewalld
97 systemctl stop firewalld