CentOS7制作并使用yum本地源以及pip本地源


现在的需求是离线安装OpenStack,需要安装软件,因为不联网,只能制作一个本地源,把需要的安装包都保存下来,然后在需要使用的电脑上复制过去,或者在局域网搭建一个ftp服务器,在源中配置使用ftp服务器获取安装包。

yum

本地源

首先修改一下yum的下载设置
gedit /etc/yum.conf,修改绿色一行,原先为0,修改为1,即为保存缓存的意思,否则下载的软件包不会安装。

[main]
cachedir=/var/cache/yum/ b a s e a r c h / basearch/ basearch/releasever
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

随后,编写一个脚本,安装使用到的软件,因为开启了缓存,所以会顺带保存安装包,这里我写的是安装OpenStack需要用到的一些东西。
这里前面注释的内容也可以执行一下,主要目的是换源,为了方便后面下软件,不然速度很慢。
其实这一步yum update -y,其实可以不做,为了确保稳定性之类的吧,不需要更新,但是更新了也问题不大。

#basic
#yum install -y epel-release
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo 
#yum update -y
#sed -e 's|^metalink=|#metalink=|g' -e 's|^#baseurl=https\?://download.fedoraproject.org/pub/epel/|baseurl=https://mirrors.ustc.edu.cn/epel/|g' -i.bak /etc/yum.repos.d/epel.repo
#yum clean all
#yum makecache

#openstack basic
yum install -y centos-release-openstack-stein
yum install -y python-openstackclient
yum install -y openstack-selinux
yum install -y openstack-utils
yum install -y chrony
yum install -y mariadb mariadb-server MySQL-python
yum install -y memcached python-memcached
yum install -y rabbitmq-server
#openstack
yum install -y openstack-keystone httpd mod_wsgi
yum install -y openstack-glance python-glance python-glanceclient
yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler
yum install -y openstack-nova-compute
yum install -y openstack-placement-api
yum install -y openstack-cinder python-cinderclient
yum install lvm2 device-mapper-persistent-data -y
yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables openstack-neutron-openvswitch
yum install -y openstack-dashboard
#source
yum install -y epel-release
yum install -y python-pip
#docker
yum install -y yum-utils device-mapper-persistent-data lvm2
#wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.14-3.el7.x86_64.rpm
#wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.14-3.el7.x86_64.rpm
#wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.3.9-3.1.el7.x86_64.rpm
#yum localinstall  -y  docker-ce-cli-19.03.14-3.el7.x86_64.rpm
#yum localinstall  -y  containerd.io-1.3.9-3.1.el7.x86_64.rpm
#yum localinstall  -y  docker-ce-19.03.14-3.el7.x86_64.rpm
yum install -y etcd
yum install -y python-pip git python-devel libffi-devel gcc openssl-devel numactl

#plugins :fwaas,vpnaas
yum install -y openstack-neutron-fwaas
yum install -y openstack-neutron-vpnaas libreswan
#others
yum  -y install  createrepo
yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install -y exfat-utils fuse-exfat

然后执行脚本进行安装。
创建一个目录,保存安装包用的
mkdir /home/xxx/Desktop/linux/openstack-stein-local

然后复制缓存的安装包过去
find /var/cache/yum/x86_64/ -name *.rpm -exec cp -a {} /home/xxx/Desktop/linux/openstack-stein-local/ ;

然后呢,安装一个工具
yum -y install createrepo
使用createrepo创建一个源
createrepo /home/xxx/Desktop/linux/openstack-stein-local/
或者直接在安装包目录下执行createrepo .应该也可以。

然后呢,就可以看到这个目录底下出现一些东西,比如文件夹repodata,里面放着一些依赖信息的文件。

随后,可以将这个文件夹打包,方便传输,使用的时候复制过去解压就行了。
tar -cvf openstack-stein-local.tar.gz /home/xxx/Desktop/linux/openstack-stein-local

更新

这里如果添加或者删除了安装包,可以执行createrepo --update .进行更新

使用

使用的时候,直接设置源就可以了。
修改/etc/yum.repo.d/CentOS-Base.repo,也可以自己创建一个xxx.repo放在这个路径下

[openstack-local]
name=openstack-local
baseurl=file:///home/kang/Desktop/linux/openstack-stein-local/
gpgcheck=0
enabled=1

有几点说明

  • […] 代表这个库的名字,必须是唯一的,不可以重复。
  • name= 是这个库的说明,没有太大的实际意义,只是一个字段说明。
  • baseurl= 说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file://,ftp://,http://等
  • enabled=1 说明启用这个更新库,0表示不启用。
  • gpgcheck=1 表示使用gpg文件来检查软件包的签名,可以为0
  • gpgkey= 表示gpg文件所存放的位置,此处也可以有http方式的位置。

这里为了测试,把除了CentOS-Base.repo其他的源文件都删除了。
这时候其实已经更新了,可以执行yum repolist查看一下现在有的仓库,只能看到我们自己的那个repo了。
然后可以重建一下缓存

yum clean all
yum makecache

之后就可以随便安装软件不需要网了。

FTP源

除了在本地搭建一个源,也可以在局域网中搭建一个FTP服务器,其他主机只需要修改源即可,不需要把整个源单独复制过去了。

安装

主要使用到了一个软件vsftpd,可以单独下载一个rpm包,复制过去直接安装就行了。
执行rpm -iv xxxxx.rpm,安装vsftpd
然后启动服务

systemctl start vsftpd
systemctl enable vsftpd

关闭防火墙和selinux

systemctl disable firewalld.service
systemctl stop firewalld.service

可以顺便关闭selinux,注意,如果通过修改配置文件的方式关闭,可能需要重启一下才能生效,但是我不知道这个到底有没有影响,应该没有吧。

制作

查看一下ftp的共享目录

rpm -ql vsftpd

输出应该有如下两个信息

/var/ftp
/var/ftp/pub

随后为了方便整理,可以在pub文件夹中创建一个自己的local-repo文件夹,把源都放在这里面。
然后使用createrepo生成目录索引。

使用

随后就可以使用了。
删除/etc/yum.repo.d/中的所有源文件,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值