安装及管理文件
源码编译安装
优点:
- 契合系统兼容性强
- 如果你可以看懂源代码,修改新增功能
- 比较自由
缺点:
- 如果编译出了问题,你看不懂源代码,无法解决
- 安装过程复杂
- 没有统一的管理人员
安装过程
tar解包
用途:
将下载的软件包解压并释放源代码包到指定的目录。
操作:
使用源码目录中的configure脚本,执行 “./configure --help” 可查看帮助。
配置选项:
--prefix=软件安装目录
示例:\
[root@localhost ~]# cd /usr/src/httpd-2.4.25 //切换至源代码包释放目录
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache //运行configure脚本,检测安装环境,并指定安装目
make编译与安装
用途:
- 生成可执行的二进制文件。
- 复制二进制的文件到系统,配置应用环境。
操作步骤:
- 编译:执行make命令。
- 安装:执行make install命令。
示例:
[root@localhost httpd-2.4.25]# make //编译
[root@localhost httpd-2.4.25]# make install //安装
yum install apr* gcc* pcre* -y //安装依赖环境需要的 工具包
完整过程
//将源码包拉进xshell
tar xf httpd-2.4.29.tar.bz2 //解压源码包
cd httpd-2.4.29/
yum install gcc gcc-c++ apr* -y //安装依赖环境需要的 工具包
./configure --prefix=/usr/local/apache //选择安装目录
make //编译
make install //写进硬盘
cd /usr/local/apache/bin
./apachectl
systemctl stop firewalld //关闭防火墙
setenforce 0 //停止服务
make 编译出现“没有指明目标并且找不到makefile。停止。” 时,需要添加yum install pcre*,这条命令。然后再重新选择安装目录,并编译
yum安装
1、概念
基于RPM包管理,与RPM不同的是,其可以自动处理依赖性关系,无需像RPM包一般需要手动一个一个下载软件所依赖的软件,方便用户。
2、配置本地yum仓库
2.1、设置虚拟机配置
2.2、进入xshell操作
mount /dev/sr0 /mnt
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim zhangsan.repo
///zhangsan.repo配置如下
[zhangsan]
name=zhangsan
baseurl=file:///mnt
enabled=1
gpgcheck=0
yum clean all && yum makecache
yum install httpd -y
rpm 安装
优点:
- 统一的安装包格式
- 已经帮你编译完成
- 使用简单
缺点:
- 有依赖关系
查询已安装的 RPM 软件信息
rmp -q[子选项] [软件名]
| 选项 | 功能效果 |
|---|---|
| -qp | 查询未安装的软件包 |
| -qpd | 查询未安装的指定软件包的文档位置 |
| -qpi | 查询未安装的指定软件包的完整名称等详细信息 |
| -qpl | 查询未安装的指定软件包的文件列表 |
| -qpc | 查询未安装的指定软件包的配置文件位置 |
安装、升级、卸载RPM软件包
安装
rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
升级
rpm -U 软件名 (要升级包)
| 选项 | 说明 |
|---|---|
| -h | 在安装或升级软件包的过程中,以“#”号显示安装进度。 |
| -v | 显示软件安装过程中的详细信息。 |
| - -force | 强制安装某个软件包,比如要安装版本更旧的软件包。 |
| --nodeps | 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系,强制安装。 |
卸载
rpm -e 软件名 (缩写)
总结
以上三种都是可以安装软件包的,具体用哪一种看具体情况。 因为PRM安装软件包时有依赖关系,所以一般使用YUM安装和源码编译安装