3

我想自动创建我的 Debian 映像。

到目前为止,使用 Packer 0.7.1 和 Preseed 效果很好,我唯一不能正确的是/etc/apt/sources.list.

我希望它是这样的:

deb http://http.debian.net/debian wheezy main
deb-src http://http.debian.net/debian wheezy main

deb http://http.debian.net/debian wheezy-updates main
deb-src http://http.debian.net/debian wheezy-updates main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

使用我当前的脚本,我只能获得最后两行,这不足以通过apt-get install.

这就是我尝试设置镜子和 apt 的方式preseed_wheezy.cfg

### Mirror settings
d-i mirror/country string manual
d-i mirror/http/hostname string http.debian.net
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
d-i mirror/suite string wheezy

### Apt setup
d-i apt-setup/use_mirror boolean true
d-i apt-setup/hostname      string http.debian.net
d-i apt-setup/directory     string /debian/
d-i apt-setup/non-free  boolean true
d-i apt-setup/contrib   boolean true
d-i apt-setup/security-updates      boolean true
d-i apt-setup/security-updates-fail string security.debian.org

apt-mirror-setup apt-setup/use_mirror boolean true
apt-mirror-setup mirror/http/hostname    string http.debian.net
apt-mirror-setup apt-setup/contrib  boolean true
apt-mirror-setup apt-setup/non-free     boolean true

此外,这是我的打包器 JSON 文件和完整的preseed_wheezy.cfg

我为每一个建议感到高兴。

4

1 回答 1

1

作为一种解决方法,这是我sources.list通过 Packer .json 文件配置我的方式:

{
  "type": "shell",
  "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -E -S sh '{{ .Path }}'",
  "inline": [
    "echo deb http://security.debian.org/ wheezy/updates main > /etc/apt/sources.list",
    "echo deb http://http.debian.net/debian wheezy main >> /etc/apt/sources.list",
    "echo deb http://http.debian.net/debian wheezy-updates main >> /etc/apt/sources.list",

    "apt-get update" ,
    "apt-get install python-pip python-dev git -y",
    "pip install PyYAML jinja2 paramiko httplib2",
    "pip install ansible",

  ]
},

虽然我没有让 Preseed 设置 的内容sources.list,但这个解决方案对我有用。

于 2015-11-19T16:42:11.230 回答