Yum卸载软件并删除依赖,下载离线rpm包,制作拷贝rpm包dockerfile

前景:四层代理的软件包拷贝到容器yum仓库里

1.查找安装历史 

 ~]# yum history
Loaded plugins: fastestmirror, langpacks
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    28 | root <root>              | 2021-11-29 14:12 | D, E           |    3   
    27 | root <root>              | 2021-11-29 14:12 | I, U           |    3   
    26 | root <root>              | 2021-11-29 14:11 | Downgrade      |    2   
    25 | root <root>              | 2021-11-29 14:08 | Erase          |    1   
    24 | root <root>              | 2021-11-29 11:50 | Install        |    1   

2.卸载所有依赖包

~]# yum history undo 24

3.下载rpm包并不安装(以gcc为例)

# 先安装离线工具
~]# yum install -y yum-plugin-downloadonly

#安装gcc并了解其依赖
~]# yum -y install gcc
......
Updated:
  gcc.x86_64 0:4.8.5-44.el7                                                                                                                                                        

Dependency Updated:
  cpp.x86_64 0:4.8.5-44.el7                                libgcc.x86_64 0:4.8.5-44.el7                                libgomp.x86_64 0:4.8.5-44.el7                               

Complete!

#下载gcc与依赖包
~]# yum  reinstall --downloadonly --downloaddir=/root/nginx cpp.x86_64 0:4.8.5-44.el7
~]# yum  reinstall --downloadonly --downloaddir=/root/nginx libgcc.x86_64 0:4.8.5-44.el7 libgomp.x86_64 0:4.8.5-44.el7 gcc.x86_64 0:4.8.5-44.el7

#--downloaddir=/root/nginx  安装包放在/root/nginx下

4.制作dockerfile

# 进入刚刚导入rpm包的目录并把rpm包打包
~]# cd /root/nginx/
~]# tar -zcf nginx-rpm.tar ./

# 创建dockerfile目录
~]# mkdir -p /data/docker
~]# mv nginx-rpm.tar  /data/docker
~]# cd /data/docker

# 书写dockerfile
~]# vim Dockerfile
# Description: nginx image
FROM registry.tke.com/library/yum-repo:v18 
ADD nginx-rpm.tar /repo/rpms
RUN cd /repo/rpms && createrepo ./ 

# 开始制作,注意最后一个点
~]# docker build -t registry.tke.com/library/yum-repo:v19 .
Sending build context to Docker daemon  29.16MB
Step 1/3 : FROM registry.tke.com/library/yum-repo:v18
 ---> 6665a624f291
Step 2/3 : ADD nginx-rpm.tar /repo/rpms
 ---> 1e7313d6914a
Step 3/3 : RUN cd /repo/rpms && createrepo ./
 ---> Running in 84143a07bc58
Spawning worker 0 with 152 pkgs
Spawning worker 1 with 152 pkgs
Spawning worker 2 with 151 pkgs
Spawning worker 3 with 151 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
Removing intermediate container 84143a07bc58
 ---> d5eb47188381
Successfully built d5eb47188381
Successfully tagged registry.tke.com/library/yum-repo:v19

# 查看
~]# docker images | grep registry.tke.com/library/yum-repo
registry.tke.com/library/yum-repo                             v19                 d5eb47188381        About a minute ago   1.2GB

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值