rpm&yum(二)--将新的rpm包添加到本地yum源

本文介绍了一种在没有现成rpm包的情况下,通过网上下载并添加到本地yum源的方法来安装Zabbix所需的特定版本的php-bcmath和php-mbstring组件。步骤包括下载rpm包、复制光盘中的Packages文件夹到本地、创建本地yum仓库、配置本地yum源文件及最终安装。

目录

0、开始

1、下载rpm包

2、将光盘中的Packages文件夹,复制到本地目录

3、创建本地yum仓库

4、本地yum源文件配置

5、最后进行包的安装


0、开始

首先推荐两个很不错的现在rpm的地址

https://pkgs.org/

http://rpm.pbone.net/

在安装zabbix的时候,光盘中并没有php-bcmath-5.4.16-42.el7.x86_64.rpm和php-mbstring-5.4.16-42.el7.x86_64.rpm两个包。

所以需要将两个包在网上下载到本地后,然后进行本地yum源的更新。

现在以php-bcmath和php-mbstring为例进行描述,如何将新的rpm包添加到本地yum源。

1、下载rpm包

wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/7.1/x86_64/updates/security/php-bcmath-5.4.16-42.el7.x86_64.rpm

wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/7.1/x86_64/updates/security/php-mbstring-5.4.16-42.el7.x86_64.rpm

但是一定要注意安装包的版本,一定要和本地源中的其他软件版本一致,否则会提示依赖错误。

 

2、将光盘中的Packages文件夹,复制到本地目录

挂载:mount /dev/cdrom /mnt

mkdir /usr/local/yum

复制:cp -r /mnt/Packages /usr/local/yum

在将新下载的包复制到/usr/local/yum/Packages中

3、创建本地yum仓库

yum clean all

createrepo /usr/local/yum

yum文件夹下会产生repodata的文件夹

4、本地yum源文件配置

https://blog.youkuaiyun.com/nowzhangjunzhe/article/details/81195443

依据此文章中的配置文件,进行配置,将路径更改为正确的路径即可

baseurl=file:///usr/local/yum

5、最后进行包的安装

yum install php-bcmath

yum install php-mbstring

在构建基于CentOS 7的MySQL镜像时,执行`yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm && yum install -y mysql-community-server`出现`exit code: 1`错误,可能有以下几种原因及解决办法: #### 网络问题 若网络不稳定或无法访问MySQL官方,会导致下载RPM或安装软件失败。可尝试更换yum,比如使用阿里云镜像。在Dockerfile中添加以下代码: ```Dockerfile RUN sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Base.repo && \ sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-Base.repo && \ yum clean all && \ yum makecache ``` #### 软件依赖问题 CentOS 7默认安装了MariaDB,而MySQL与MariaDB存在冲突,可能导致安装失败。可在安装MySQL前先卸载MariaDB,在Dockerfile中添加以下代码: ```Dockerfile RUN yum remove -y mariadb-libs ``` #### RPM损坏或版本不兼容 若下载的RPM损坏或版本不兼容,也会导致安装失败。可尝试删除已下载的RPM,重新下载。在Dockerfile中添加以下代码: ```Dockerfile RUN rm -f /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-release-el7-11.noarch.rpm && \ yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm ``` #### 系统环境问题 确保系统环境正常,没有其他异常。可在安装前清理yum缓存,在Dockerfile中添加以下代码: ```Dockerfile RUN yum clean all && \ yum makecache ``` 完整的Dockerfile示例如下: ```Dockerfile FROM centos:7 # 更换yum为阿里云镜像 RUN sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Base.repo && \ sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-Base.repo && \ yum clean all && \ yum makecache # 卸载MariaDB RUN yum remove -y mariadb-libs # 清理yum缓存 RUN yum clean all && \ yum makecache # 安装MySQL RUN yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm && \ yum install -y mysql-community-server # 初始化MySQL RUN mysqld --initialize-insecure # 暴露MySQL默认端口 EXPOSE 3306 # 启动MySQL服务 CMD ["mysqld_safe"] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值