温馨提示×

Linux镜像如何共享

小樊
35
2025-11-16 14:00:08
栏目: 智能运维

Linux镜像共享的常见场景与做法

  • 文件级共享:把 ISO 镜像或解压后的 YUM 仓库目录通过网络共享给多台机器使用(HTTP/Nginx、FTP、NFS、Samba)。
  • 容器镜像共享:把 Docker 镜像推送到仓库(如 Docker Hub 或私有仓库)供他人拉取。
  • 系统安装共享:搭建 PXE 网络安装环境,让多台主机从同一镜像启动并安装系统。

文件级共享 ISO 或 YUM 仓库

  • HTTP/HTTPS 方式(推荐)

    • 服务端:安装 Nginx/Apache,将 ISO 挂载到目录(如 /mnt/iso),或把 ISO 内容解压到 /var/www/html/centos7,启动服务并放行防火墙端口 80/443
    • 客户端:浏览器访问 http://服务器IP/centos7/ 验证;YUM 源配置 baseurl=http://服务器IP/centos7
    • 适用:局域网离线源、跨平台访问、简单可靠。
  • FTP 方式

    • 服务端:安装 vsftpd,把 ISO 内容拷贝到 /var/ftp/pub/dvd,启动服务。
    • 客户端:使用 ftp://服务器IP/pub/dvd 访问;YUM 源 baseurl=ftp://服务器IP/pub/dvd
    • 适用:已有 FTP 体系或需要匿名下载的场景。
  • NFS 方式(Linux/UNIX 同网段)

    • 服务端:安装 nfs-utils,编辑 /etc/exports 导出目录(如 /mnt/iso *(ro,sync)),启动 nfs-server
    • 客户端:创建挂载点并挂载,例如:mount -t nfs 服务器IP:/mnt/iso /mnt/nfs
    • 适用:同网段多台 Linux 主机共享,性能与权限控制友好。
  • Samba 方式(跨平台)

    • 服务端:安装 samba,编辑 /etc/samba/smb.conf 定义共享(如 [iso] path=/mnt/iso; read only = no),创建 Samba 用户并启动 smbd/nmbd
    • 客户端:Windows 访问 \服务器IP\iso;Linux 可 mount -t cifs //服务器IP/iso /mnt/smb -o username=xxx。
    • 适用:需要同时给 Windows 与 Linux 使用的环境。

容器镜像共享 Docker 镜像

  • 登录仓库:docker login(可推送到 Docker Hub 或私有仓库)。
  • 打标签:docker tag mycentos:latest 仓库地址/命名空间/mycentos:latest
  • 推送:docker push 仓库地址/命名空间/mycentos:latest
  • 拉取:其他机器执行 docker pull 仓库地址/命名空间/mycentos:latest
  • 适用:应用交付、微服务与 CI/CD 场景。

批量安装共享 PXE 网络启动

  • 服务端组件:安装 DHCP、TFTP、xinetd、vsftpd、syslinux
  • 配置 DHCP:指定子网、next-server(TFTP 地址)、启动文件 pxelinux.0
  • 配置 TFTP:启用服务,根目录(如 /tftpboot),拷入 pxelinux.0、vmlinuz、initrd.img,并在 /tftpboot/pxelinux.cfg/default 中配置启动菜单(如 method=ftp://服务器IP/pub/dvd)。
  • 准备安装源:把 ISO 内容放到 /var/ftp/pub/dvd
  • 适用:机房/实验室 批量无人值守安装 同版本系统。

客户端挂载与访问要点

  • 挂载 ISO 文件:mount -o loop /path/file.iso /mnt/iso(ISO 9660)。
  • 挂载 NFS 共享:mount -t nfs 服务器IP:/共享目录 /mnt/nfs
  • 挂载 Samba 共享:mount -t cifs //服务器IP/共享名 /mnt/smb -o username=xxx。
  • 访问 HTTP/FTP:浏览器或命令行直接访问 http:///ftp:// 地址;YUM 源 baseurl 指向对应 URL。
  • 防火墙与权限:按需放行 80/443/21/2049/139/445 等端口,注意目录权限与 SELinux 策略。

0