全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 ET大脑 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
云服务器 ECS

自定义 yum 源、NTP 服务和 DNS 服务

更新时间:2017-07-27 20:31:11

实例自定义脚本是阿里云 ECS 为用户提供的一种自定义实例启动行为的脚本,详细信息请参考阿里云线上帮助文档:实例自定义数据

本文档主要介绍在创建实例时,您怎么使用这个自定义脚本来配置自己的 yum 源、NTP 服务和 DNS 服务。您也可以使用这个脚本自定义 Windows 实例的 NTP 服务和 DNS 服务。

场景

目前,实例启动时,阿里云会为实例自动配置预定义的 yum 源、NTP 服务和 DNS 服务。但是,您可能想拥有自己的 yum 源、NTP 服务和 DNS 服务,此时,您就可以使用实例自定义脚本来实现这个需求,此时您要注意:

  • 如果您自定义了 yum 源,阿里云官方将不再提供 yum 源相关支持。
  • 如果您自定义了 NTP 服务,阿里云官方不再提供相关时间服务。

配置方法

您可以按以下步骤实现上述场景需求。

  1. 登录 阿里云 ECS 控制台,创建实例,配置如下:

    • 网络类型:VPC 网络
    • 实例规格:I/O 优化实例
    • 镜像:公共镜像的 CentOS 7.2
  2. 在创建页面的 自定义数据 输入框中输入如下内容:

    1. #!/bin/sh
    2. # Modify DNS
    3. echo "nameserver 8.8.8.8" | tee /etc/resolv.conf
    4. # Modify yum repo and update
    5. rm -rf /etc/yum.repos.d/*
    6. touch myrepo.repo
    7. echo "[base]" | tee /etc/yum.repos.d/myrepo.repo
    8. echo "name=myrepo" | tee -a /etc/yum.repos.d/myrepo.repo
    9. echo "baseurl=http://mirror.centos.org/centos" | tee -a /etc/yum.repos.d/myrepo.repo
    10. echo "gpgcheck=0" | tee -a /etc/yum.repos.d/myrepo.repo
    11. echo "enabled=1" | tee -a /etc/yum.repos.d/myrepo.repo
    12. yum update -y
    13. # Modify NTP Server
    14. echo "server ntp1.aliyun.com" | tee /etc/ntp.conf
    15. systemctl restart ntpd.service

    注意:

    • 第一行必须是 #!/bin/sh,前面不能带空格。
    • 全文不能有多余的空格和回车。
    • 您可以根据实例情况定制具体的 DNS、NTP Server 和 yum 源 URL。
    • 上述内容适用于 CentOS 7.2 镜像,如果是其他镜像,请根据需要修改实例自定义脚本。
    • 您也可以使用 cloud config 类脚本更改 yum 源设置,但是不够灵活,不能适配阿里云对部分 yum 源进行预配置的情况。建议大家使用 script 类的脚本修改 yum 源设置。
  3. 根据需要完成 安全设置

  4. 完成上述配置后,再单击 立即购买,并按页面指示开通实例。

实例购买完成后,您就可以登录实例查看具体的效果,如下图所示。
ECS _ UserData _ 自定义 yum NTP DNS 结果

由上图可知,您已经成功自定义了 DNS 服务、NTP 服务和 yum 源。

本文导读目录