应用程序与命令系统的关系
![](https://img-blog.csdnimg.cn/7f5240ff718f4bf9bdf4f505335883b7.png)
典型应用程序的目录结构
![](https://img-blog.csdnimg.cn/5af6af22f2424ab9b7dc5a6e7b69bbbd.png)
常见的软件包封装类型![](https://img-blog.csdnimg.cn/5f6206fede2f45ba91efddd1706f03a8.png)
Linux安装软件的四种方式
源码编译安装 ( 二进制安装 )
源码编译安装: 程序是由开发人员 写代码一个一个单词 敲出来的 (windows打包好了)
源码: 编写好的 .c .java 文件
编译: 将人类写的 代码 翻译成二进制语言
安装: 将二进制保存在键盘上
缺点:
1.
如果编译出了问题,你看不懂源代码,无法解决
2.
安装过程复杂
3.
没有统一的管理人员
优点:
1.
契合系统兼容性强
2.
如果你可以看懂源代码,修改新增功能
3.
比较自由
Rpm安装
优点:
1
统一的安装包格式
2.
已经帮你编译完成
3.
使用简单
缺点:
有依赖关系(安装 a 我需要先安)
所以
RPM
包根本不用
命令概述:
常用选项:
![](https://img-blog.csdnimg.cn/b761f3f9bd9940bab4c718dfa4790caa.png)
eg:
1.查询
对已安装程序查询
[root@localhost Packages]#rpm -qa(查看系统已安装的所有软件)
[root@localhost Packages]#rpm -q tree(查看是否安装某软件)
tree-1.6.0-10.el7.x86_64
[root@localhost Packages]#rpm -q httpd
未安装软件包 httpd
-qi 软件包名 软件包的详细信息
[root@localhost Packages]#rpm -qi tree
-ql 软件名 该软件的所有文件列表
[root@localhost Packages]#rpm -ql tree
-qc 配置文件 更详细的分类
-qd 文档
-qf 软件名 该软件出自哪个安装包
[root@localhost Packages]#rpm -qf /bin/bash
对未安装程序查询
1要知道包的全部名称
2rpm -qp i l c d
安装
[root@localhost Packages]#rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
v 显示详细过程
h 进度条
rpm -e httpd(卸载)
rpm -U 软件名 (升级)
辅助选项:
--force、 强制安装
--nodeps 不检测依赖关系
编译安装步骤
第一步
./configure
软件作者写的脚本(安装包中会有)
1.
可以更改你的安装路径,
2.
选择你要安装软件的功能
3.
检测你的安装环境
第二步
make
将源代码 编译成二进制语言,让电脑可以看懂
第三步
make install
将二进制 数据写入硬盘,安装进系统
mkdir /app #建立文件夹
cd /data
tar xf httpd-2.4.29.tar.bz2 #解压源码包
cd httpd-2.4.29/
yum install apr* gcc* pcre* -y #安装依赖环境需要的 工具包
./configure --prefix=/app #选择安装目录
make -j2 #编译 j2 带表使用2颗cpu编译
make install #写进硬盘
/app/bin/apachectl start 开启服务
ss -ntap |grep 80 有就没问题
/app/bin/apachectl stop 停止服务
绝对路径 别名 内部 hash 外部
命令执行过程
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
/app/bin/apachectl 绝对路径的方式去运行
ln -s /app/bin/apachectl /usr/local/ 软连接
[root@localhost httpd-2.4.29]#systemctl stop
yum
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
常用命令
1. yum check-update //列出所有可更新的软件清单命令
2. yum update //更新所有软件命令
3. yum install <package_name> //仅安装指定的软件命令
4. yum update <package_name> //仅更新指定的软件命令
5. yum list // 列出所有可安裝的软件清单命令
6. yum remove <package_name> //删除软件包命令
7. yum search <keyword> 查找软件包命令
8. 清除缓存命令:
yum clean packages //清除缓存目录下的软件包
yum clean headers // 清除缓存目录下的 headers
yum clean oldheaders //清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) //清除缓存目录下的软件包及旧的 headers
客户端
1.客户端第一次连接会将元数据文件下载下来
2.根据元数据中 的依赖关系和包的路径,将所需要的安装包全部下载下来,放到缓存目录
3.安装结束后,将缓存目录中的安装包全部删除
客户端需要配置一个文件指明服务器的路径
客户端的配置文件固定位置在 /etc/yum.repos.d/ 以.repo结尾
服务端
需要一台服务器来提供服务
成为服务器一定要有以下两个文件夹Packages repodata
1.
安装包(Packages 不固定,但是同一都叫
P
ackages )
2.
元数据 (repodata 固定的)
配置文件 不建议修改 保持默认
步骤:
mount /dev/sr0 /mnt/ #挂载
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/
vim local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1
yum clean all #清除缓存
yum makecache #重新建立元数据