linux 安装软件有 三种方式
源码编译安装
源码编译安装:程序是由开发人员 写代码一个一个单词敲出来的 (windows打包好了)
源码:编写好的.c .java 文件
编译:将人类写的代码 翻译成二进制语言
安装:将二进制保存到硬盘上
缺点:
1.如果编译出了问题 你看不懂源代码,无法解决
2.安装过程复杂
3.没有统一的管理人员
优点:
1.契合系统兼容性强
2.如果你可以看懂源代码,修改新增功能
3.比较自由
rpm安装 安装包管理工具(约等于360软件管理)
优点:
1.统一的安装包格式
2.编译完成
3.使用简单
缺点:
1.有依赖关系
所以rpm包根本不用
yum 仓库 解决依赖关系而诞生的
1.安装简单
2.自动解决依赖关系
linux常见软件包封装类型
下载安装包:
.rpm 结尾
挂载(mnt):
linux 当中一切皆为文件 无论硬件软件都要当场文件来使用
硬件不能直接当成文件来使用
加硬盘 只能在根分区下 进行操作
挂载:将硬件和根分区下某一文件夹做关联 ,相当于这个文件夹是进入硬盘的一个入口
光驱 挂载
rpm
功能:查询
1.对已安装程序查询
-qa 查看系统已安装的所有软件
-q 加上软件名 是否安装某软件
-qi 软件名 软件包的详细信息
-ql 软件名 该软件的所有软件列表
-qc 配置文件 更详细的分类
-qd 文档
-qf 软件名 该软件出自哪个安装包
2.对未安装程序查询
1.要知道包的全部名称
2.rmp -qp i l c p
安装程序tree
i install 安装
v 显示详细过程
h 进度条######
会有依赖关系
卸载
rpm -e 软件名(缩写)
例子:
rpm -e httpd
升级
rpm -U 软件名(要升级包)
辅助选项:
--force 强制安装
--nodeps 不检测依赖关系
检测包的安全性,完整性:
[root@localhost rpm-gpg]#rpm-import/mnt/RPM-GPG-KEY-CentOS-Testing-7
编译安装
三步安装
第一步 ./configure 软件作者写的脚步(安装包中会有)
1.可以更改你的安装路径
2.选择你要安装软件的功能
3.检测你的安装环境
第二步 make 将源代码编译成二进制语言,让电脑可以看懂
常见编译软件 gcc gcc-c++
第三部 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 #写进硬盘
在第二步之前, 如果make 出错 要删除这个文件再 make不然一直报错
yum
yum仓库:
也是用rpm包,为了解决rpm包管理工具的依赖关系
想用系统自带的yun仓库 网络要配置好
yum客户端安装的过程:
1.客户端第一次连接会将元数据文件下载下来
2.根据元数据中 的依赖关系和包的路径,将所需要的安装包全部下载下来,放到缓存目录
3.安装结束后,将缓存目录中的安装包全部删除
yum 是c/s架构
c client
s server
服务端
需要一台服务器来提供服务
成为服务器一定要有以下两个文件夹
1.安装包(packages 不固定,但是同一都叫packages)
2.元数据(repodata 固定的)
- 安装包的路径
- 依赖关系
- 权限
配置文件:不建议修改 保持默认
客户端
客户端需要配置一个文件指明服务器的路径
客户端的配置文件固定位置在/etc/yum.repos.d
注意:
客户端配置文件必须 以 .repo 结尾
baseurl 有四种表达方式:
file:// 本地的路径(当前系统的路径)
http:// 网页的形式
https:// 加密
ftp:// 文件共享服务来实现
搭建一个本地仓库:
服务端需要以下内容:
安装包:1.通过挂载 2.复制
元信息:1.自行生成 2.复制
客户端:
手写配置文件
[base] ##仓库的名字 无特殊需求,子定义
name=CentOS-$releasever - Base ###仓库的描述 自定义
baseurl=mirror.centos.org/centos/$rel… ###仓库服务器的路径
gpgcheck=1 ####检验包的安全性完整性
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ##如果gpgcheck=1需要指明验证文件的位置
enabled=1 ###代表启用该仓库 enabled=0 代表停用该仓库
安装详细过程:
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 #重新建立元数据
yum基础命令:
yum install 软件名 -y 安装软件名
yum remove 软件名 卸载软件名
yum list 软件名 查询软件是否安装
报错:
[root@localhost ~]#rm -rf /var/run/yum.pid