安装程序(rpm,yum)

103 阅读4分钟

linux 安装软件有 三种方式

源码编译安装

源码编译安装:程序是由开发人员 写代码一个一个单词敲出来的  (windows打包好了)

源码:编写好的.c .java 文件

编译:将人类写的代码 翻译成二进制语言

安装:将二进制保存到硬盘上

缺点:

1.如果编译出了问题 你看不懂源代码,无法解决

2.安装过程复杂

3.没有统一的管理人员

优点:

1.契合系统兼容性强

2.如果你可以看懂源代码,修改新增功能

3.比较自由

rpm安装  安装包管理工具(约等于360软件管理)

优点:

1.统一的安装包格式

2.编译完成

3.使用简单

缺点:

1.有依赖关系

所以rpm包根本不用

yum 仓库 解决依赖关系而诞生的

1.安装简单

2.自动解决依赖关系

linux常见软件包封装类型

下载安装包:

.rpm  结尾

挂载(mnt):

linux 当中一切皆为文件   无论硬件软件都要当场文件来使用

硬件不能直接当成文件来使用

加硬盘 只能在根分区下 进行操作

挂载:将硬件和根分区下某一文件夹做关联 ,相当于这个文件夹是进入硬盘的一个入口

光驱   挂载

image.png

image.png

rpm

功能:查询  

1.对已安装程序查询

-qa 查看系统已安装的所有软件

-q  加上软件名   是否安装某软件

image.png

-qi  软件名      软件包的详细信息

image.png

-ql  软件名      该软件的所有软件列表

image.png

-qc  配置文件    更详细的分类

-qd  文档

-qf  软件名      该软件出自哪个安装包

  image.png

2.对未安装程序查询

1.要知道包的全部名称

2.rmp -qp i l c p

 

安装程序tree

image.png i    install   安装

v    显示详细过程

h    进度条######

会有依赖关系

image.png

卸载

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不然一直报错

image.png

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        软件名      查询软件是否安装

报错:

image.png

[root@localhost ~]#rm -rf /var/run/yum.pid