全部产品
存储与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 源。

本文导读目录