centos-yum离线源

时间:2023-03-09 13:18:24
centos-yum离线源

配置离线源

在个别开发环境中,我们可能有限制不能连外网。

这个情况可以通过用一台同内网的机器配置离线源,然后通过vsftp公用。

安装ftp

rpm命令详解

    $ rpm -ivh apache-1.3.6.i386.rpm    #安装软件:执行rpm -ivh rpm包名
$ rpm -Uvh rpm包名 #升级软件
$ rpm -e rpm #卸载
$ rpm -qpi rpm包名 #查询软件包的详细信息
$ rpm -qf rpm包名 #查询某个文件是属于那个rpm包的
$ rpm -qpl rpm包名 #查该软件包会向系统里面写入哪些文件

判断是否安装了 vsftp

    [root@vs-yth12 ~]$ rpm -qa | grep vsftpd
vsftpd-3.0.2-21.el7.x86_64 #出现这个证明是安装了
[root@vs-yth12 ~]$ yum install vsftpd #也可以用这个判断
....
Package vsftpd-3.0.2-21.el7.x86_64 already installed and latest version
Nothing to do #说已经安装了

安装 vsftp

一般来说,centos都默认安装好了的,如果没安装,

下载 FTP:- http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)

    [root@vs-yth12 ~]rpm -ivh vsftpd-3.0.2-21.el7.x86_64.rpm    #直接安装
[root@localhost ~]$ service vsftpd start #测试是否安装成功
[root@vs-yth12 ~]$ whereis vsftpd # 默认配置文件: /etc/vsftpd/vsftpd.conf
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

上传配置离线源

下载

下载 centos镜像,这个官网下:- http://vault.centos.org/

阿里云:- https://mirrors.aliyun.com/centos/

链接进去后选择对应的版本,如7.3.1611点进去后再点击isos,就可以找到。

下载epel,这个比较大。目前网上没找到可以下载的,可以自己做:- http://mirrors.sohu.com/fedora-epel/7/x86_64/

这3个文件夹内容全下下来后,用UltraISO做成iso即可。注册码在网上找到了一个可以用的:

名:王涛

码:7C81-1689-4046-626F

CentOS-7-x86_64-DVD-1611.iso

epel-7.x86_64.iso

上传配置

把CentOS-7-x86_64-DVD-1611.iso,epel-7.x86_64.iso这2个镜像上传到/data上

    $ cd  /var/ftp/pub
$ mkdir epel
$ mkdir centos
$ mount /data/epel-7.x86_64.iso /var/ftp/pub/epel
$ mount /data/CentOS-7-x86_64-DVD-1611.iso /var/ftp/pub/centos
$ cd /etc/yum.repos.d/
$ mkdir backup
$ mv * backup #把所有文件移走备份,如果要用时移回来报错就yum clean all&yum makecache
$ vi ftp.repo
[centos73]
name=centos73
baseurl=ftp://10.92.190.46/pub/centos73
enabled=1
gpgcheck=0 [epel]
name=epel #自定义
baseurl=ftp://10.92.190.46/pub/epel #可以用http,也可以本地文件:file:///var/ftp/pub/centos
enabled=1 #必须是1,这个配置文件才会生效
gpgcheck=0 #必须是0,这样就不检查

如果上传慢的话,其他内网机器有这2个ISO,可以用sftp传过来

sftp

sftp登陆远程服务器
sftp username@ip
例如:sftp root@10.10.1.150
然后输入password即可 put:上传文件
例如:put *iso /data
将iso文件上传到对端服务器,即10.10.1.150上面 get:下载文件
例如:get *iso
将远端文件下载到本地 help:帮助命令 pwd/lpwd:pwd查看远端服务器目录;lpwd查看本端目录。 ls/lls:ls列出远端目录文件;lls列出本端文件 !command:!+命令表示在本段运行命令
例如:!ls列出本端文件;!pwd显示本端路径 exit/quit:退出

其他机器

1.安装 vsftp,启动

2.移除所有/etc/yum.repos.d/下的所有文件

3.重新写上ftp.repo文件

中间件离线安装

在部分工作场景中有时候会遇到一些私有化部署的问题,就是在一些无法上网的机器上面安装使用一些中间件,这就引出了离线安装的问题,这里以docker的离线安装为例。

离线安装包下载

准备一台可以联网,系统版本跟局域网那台的一样,同样没有安装过docker的机器。

一般使用yum install下载安装包会进行安装,安装完成后删除下载的安装包,这里只下载不安装

    $ yum install --downloadonly --downloaddir=/home/docker/dockerRpm docker    #将所有rpm包下载到/home/docker/dockerRpm上

centos-yum离线源

制作yum源

先将所有rpm复制到局域网的机器上,我的放 /var/ftp/pub/docker

    $ cd /var/ftp/pub/docker
$ createrepo . #构建源,生成repodata目录

上传配置

添加配置

    $ cd /etc/yum.repos.d/
$ vi ftp.repo
[bk]
name=bk
baseurl=ftp://10.92.190.55/pub/bk #也可以用file:///var/ftp/pub/docker,这里用ftp需要systemctl enable vsftpd&&systemctl start vsftpd
enabled=1
gpgcheck=0 [centos73]
name=centos73
baseurl=ftp://10.92.190.46/pub/centos73
enabled=1
gpgcheck=0 [epel]
name=epel #自定义
baseurl=ftp://10.92.190.46/pub/epel #可以用http,也可以本地文件:file:///var/ftp/pub/centos
enabled=1 #必须是1,这个配置文件才会生效
gpgcheck=0 #必须是0,这样就不检查 $ yum repolist #查看是否能看到自己构建的源
repo id repo name status
!centos73 centos73 3,831
!docker docker 20
!epel epel 12,266
repolist: 16,117 $ yum clean all #清除缓存
$ yum makercache #创建缓存

安装

    $ yum install docker    #安装,这里要跟下包时的名称一样