公司内网环境。yum用不了,源码安装软件有很多依赖包,非常麻烦。于是需要自己搭建本地yum源仓库。
Linux配置本地yum源和局域网yum源:
-
首先配置本地yum源
下载镜像文件
去官网或者其他网站下载centos镜像文件(CentOS-7-x86*.iso或者RHEL_7.3_*64.iso)。
注意:6版本和7版本的有差异,不要混用。
-
下载好镜像后上传至服务器(opt/iso)
Httpd方式:
配置服务端(本地yum源搭建):
[root@docker ~]# ls /opt/iso/
CentOS-7-x86_64-DVD-2009.iso
# mkdir /mnt/iso 创建挂载目录
# mount -o loop /opt/iso/CentOS-7-x86_64-DVD-2009.iso /mnt/iso/ 临时挂载
# vim /etc/rc.d/rc.local 设置开机自动挂载
mount -o loop /root/CentOS-7-x86_64-DVD-2009.iso /mnt/iso # 在最后行添加命令。
配置yum源:
# cd /etc/yum.repos.d/
# mkdir bakup && mv *.repo bakup 把之前的repo文件做备份到bakup文件夹下
# vim Centos_my.repo 配置yum源信息
[base]
name=yum #自定义
baseurl=file:///mnt/iso # 挂载路径
enabled=1 #1表示启动 0表示不启动
gpgcheck=0 #0不检查 1检查
gpgkey=file:///mnt/iso/RPM-GPG-KEY-CentOS-7 #密钥路径
# yum clean all 清除yum仓库缓存
# yum makecache
# yum repolist
# yum update 更新软件包,并更新系统内核
# yum upgrade 只更新软件包 在服务机操作
base | 3.6 kB 00:00 ...
base/primary_db | 3.3 MB 00:00 ...
repo id repo name status
base yum 4,070
repolist: 4,070
# yum -y install ftp 测试yum可用否
# 到此本地yum源配置完成
-----------------------------------------------
配置客户端 类似 安装httpd服务 (可能有依赖)
# vim /etc/yum.repos.d/myiso.repo
[base]
name=ioo
baseurl=http://10.160.103.100/iso #有改动
enabled=1
gpgcheck=0
gpgkey=http://10.160.103.100/iso/RPM-GPG-KEY-CentOS-7 #可不配
注:同一局域网、可以连通
注意:
建议使用ftp方式 因为需要在客户端安装 httpd服务可能需要yum。可能哈。而ftp安装只需要一个RPM包即可。
FTP方式(推荐)
[root@docker-angent_1 ~]# ls /opt/iso/
CentOS-7-x86_64-DVD-2009.iso
# mkdir /mnt/iso 创建挂载目录
# mount -o loop /opt/iso/CentOS-7-x86_64-DVD-2009.iso /mnt/iso/ 临时挂载
# vim /etc/rc.d/rc.local 设置开机自动挂载
mount -o loop /root/CentOS-7-x86_64-DVD-2009.iso /mnt/iso # 在最后行添加命令。
# yum -y install vsftpd 安装服务(服务端vsftpd)
# systemctl start vsftpd
# systemctl enabled vsftpd
# cd /var/ftp/ 共享目录(ftp)
# ls
pub
# ls /mnt/iso/ 这步看上边挂载
CentOS_BuildTag LiveOS/
.discinfo Packages/
EFI/ repodata/
EULA RPM-GPG-KEY-CentOS-7
GPL RPM-GPG-KEY-CentOS-Testing-7
images/ TRANS.TBL
isolinux/ .treeinfo
# mkdir Centos 创建新的共享文件Centos
# ls
Centos pub
# cp -rf /mnt/iso/* Centos/ & cp镜像文件到共享目录Centos下。不加& 需要在前台等一会
[root@docker-angent_1 ~]# systemctl restart vsftpd
[root@docker-angent_1 ~]# ss -antpl |grep 21
LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=2368,fd=4))
服务端配置完成、在浏览器查看下图:
访问不了 查看防火墙等
客户端配置:
[root@needyou opt]# yum -y install ftp 下载ftp服务 (可以上传rpm包:ftp-0.17-67.el7.x86_64.rpm)
[root@needyou opt]# rpm -ivh ftp-0.17-67.el7.x86_64.rpm (rpm 安装ftp)
[root@needyou opt]# ftp 10.160.103.100 连接服务端测试
Connected to 10.160.103.100 (10.160.103.100).
220 (vsFTPd 3.0.2)
Name (10.160.103.100:root): ftp #匿名登录
331 Please specify the password.
Password: #直接回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls #ls查看共享Centos文件夹(源)
227 Entering Passive Mode (10,160,103,100,71,240).
150 Here comes the directory listing.
drwxr-xr-x 8 0 0 220 Nov 20 06:45 Centos
drwxr-xr-x 2 0 0 6 Oct 13 16:10 pub
226 Directory send OK.
ftp> bye
221 Goodbye.
[root@localhost yum.repos.d]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# vi redhat-ftp.repo
[ftp]
name=ftp
baseurl=ftp://10.160.103.100/Centos
enable=1 #1表示启动、0表示不启动
gpgcheck=0 #1表示检查、0不检查
gpgkey=ftp://10.160.103.100/Centos/RPM-GPG-KEY-CentOS-7 #可不配
# yum clean all 清除yum仓库缓存
# yum makecache
# yum repolist
# yum update 更新软件包,并更新系统内核
# yum upgrade 只更新软件包 在服务机操作
base | 3.6 kB 00:00 ...
base/primary_db | 3.3 MB 00:00 ...
repo id repo name status
base yum 4,070
repolist: 4,070
# yum -y install lsof 测试yum可用否