원클릭으로
debian-upgrade-release
Update Packer templates for Debian minor release changes (e.g., 13.4 → 13.5)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Update Packer templates for Debian minor release changes (e.g., 13.4 → 13.5)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Update package versions in templates for Alpine Linux
Update Packer templates for FreeBSD release changes (BETA, RC, RELEASE)
Create Packer templates for a new OpenBSD version based on an existing version
Update package versions in templates for OpenBSD
Update package versions in templates for FreeBSD
SOC 직업 분류 기준
| name | debian-upgrade-release |
| description | Update Packer templates for Debian minor release changes (e.g., 13.4 → 13.5) |
This skill automates the process of updating Packer templates when Debian releases a new minor version (e.g., Debian 13.4 → 13.5).
Important: This skill is for minor version upgrades only within the same major Debian release. For creating templates for a new major release (e.g., Debian 14.0), refer to a separate skill designed for that purpose.
When instructed to upgrade Debian templates to a new minor release, follow these steps:
Ask the user for:
13.4): The existing minor release13.5): The target minor release to
upgrade to13.5.20260415): The version number for
the Vagrant box, typically formatted as {major}.{minor}.{date}Based on the major version number, determine the Debian codename using the official Debian releases page at https://www.debian.org/releases/:
| Major Version | Codename | Status |
|---|---|---|
| 13 | trixie | Stable |
| 12 | bookworm | Oldstable |
| 11 | bullseye | LTS |
| 10 | buster | LTS |
| 9 | stretch | EOL |
| 8 | jessie | EOL |
| 7 | wheezy | EOL |
For example, Debian 13.5 uses the codename trixie.
By default, support amd64 and arm64 architectures. Ask the user if
additional architectures need to be supported (e.g., i386).
Verify that the source directory debian/debian-{MAJOR}/ exists before
proceeding (e.g., debian/debian-13/).
For each .pkr.hcl file in the Debian version directory, update the
following variables:
Variable: box_version
"13.4.20260314" → "13.5.20260415"Variable: os_version
"13.4" → "13.5"For each architecture-specific .pkrvars.hcl file, update the following:
Variable: iso_name
debian-{major}.{minor}.{revision}-{arch}-{type}.iso0 for minor releasesdebian-13.4.0-amd64-netinst.iso → debian-13.5.0-amd64-netinst.isoVariable: iso_path
{major}.{minor}.{revision}/{arch}/iso-cd13.4.0/amd64/iso-cd → 13.5.0/amd64/iso-cdVariable: iso_checksum
debian-cd path
file:https://cdimage.debian.org/debian-cd/13.5.0/amd64/iso-cd/SHA256SUMScdimage/archive path
file:https://cdimage.debian.org/cdimage/archive/12.12.0/amd64/iso-cd/SHA256SUMSNote: Determine whether to use debian-cd or cdimage/archive
based on whether the release is still current. For minor upgrades within
the same major version, typically the same URL pattern as the previous
version should be used.
Update the README.md file in the Debian version directory:
Debian 13.4 → Debian 13.5v13.4.20260314 → v13.5.20260415If instructed, update package versions using the Debian packages repository:
For each architecture (amd64, arm64, etc.):
https://deb.debian.org/debian/dists/{codename}/main/binary-{arch}/Packages.xzcurl -sL https://deb.debian.org/debian/dists/trixie/main/binary-amd64/Packages.xz | \
xz -d > /tmp/debian-packages-trixie-amd64.txt
Identify packages with hardcoded versions in .pkr.hcl files:
environment_vars with version strings like
package=1.2.3Update package version strings using replace_in_file:
environment_varsIf updating Docker-related packages (docker.io, docker-compose), use a different repository depending on the package source:
For docker.io (from Debian repository):
curl -fsSL https://deb.debian.org/debian/dists/{codename}/main/binary-amd64/Packages.xz | \
xz -d > /tmp/debian-packages-{codename}-amd64.txt
grep "^Package: docker.io" /tmp/debian-packages-{codename}-amd64.txt -A 2 | \
grep "^Version:" | tail -1
DOCKER_IO environment variable in the docker template
.pkr.hcl files with the new versionFor docker-ce (from Docker's official repository):
curl -fsSL https://download.docker.com/linux/debian/dists/{codename}/stable/binary-amd64/Packages.gz | \
gunzip > /tmp/docker-packages-{codename}-amd64.txt
grep "^Package: docker-ce$" /tmp/docker-packages-{codename}-amd64.txt -A 2 | \
grep "^Version:" | tail -1
DOCKER_CE environment variable if presentFor docker-compose (Debian repository):
grep "^Package: docker-compose" /tmp/debian-packages-{codename}-amd64.txt -A 2 | \
grep "^Version:" | tail -1
DOCKER_COMPOSE environment variable in docker template filesUpdate the environment variables in the provisioner "shell" block of
debian-{major}-docker.pkr.hcl:
"DOCKER_IO=docker.io=26.1.5+dfsg1-9+b13"replace_in_file to update these values in the appropriate
templatesAdd an entry to the root CHANGELOG.md file under the [Unreleased]
section:
* [Debian {MAJOR}](debian/debian-{MAJOR}/README.md): Upgrade templates to Debian {NEW_VERSION}.* [Debian 13](debian/debian-13/README.md): Upgrade templates to Debian 13.5.
After completing all steps:
.pkr.hcl files have been updated with the new
versionREADME.md have been updated.pkrvars.hcl files have been
updatedCHANGELOG.md has been updated with the upgrade entrypacker validate on the updated templates to ensure
they are syntactically validWhen a user says: "Update Debian 13 templates from 13.4 to 13.5 with box version 13.5.20260415"
The skill will:
Confirm the details:
13.413.513.5.20260415trixie (auto-determined from major version 13)amd64, arm64 (default, confirm with user)Update all .pkr.hcl files in debian/debian-13/:
debian-13-minimal.pkr.hcldebian-13-dwm.pkr.hcldebian-13-desktop.pkr.hcldebian-13-docker.pkr.hclUpdate architecture-specific variable files:
vars-debian-13-amd64-netinst.pkrvars.hcl:
iso_name = "debian-13.5.0-amd64-netinst.iso"iso_path = "13.5.0/amd64/iso-cd"iso_checksum = "file:https://cdimage.debian.org/debian-cd/13.5.0/amd64/iso-cd/SHA256SUMS"vars-debian-13-arm64-mini.pkrvars.hcl:
Update README.md with new version references and box version examples
Update CHANGELOG.md with the upgrade entry
Confirm completion
0 for minor releases (e.g., 13.5.0)Packages.xz from Debian repositories,
not packages.debian.orgWhen fetching package information from remote repositories (Debian, Docker, etc.), maintain a minimum 60-second interval between successive HTTP requests to the same remote host to avoid overloading the server.
This is particularly important when:
Implementation Guidelines:
deb.debian.org), wait
at least 60 seconds before making the next request to that host# Download first package index
curl -fsSL https://deb.debian.org/debian/dists/trixie/main/binary-amd64/Packages.xz | xz -d > /tmp/packages-amd64.txt
# Wait 60 seconds before next request to the same host
sleep 60
# Download second package index
curl -fsSL https://deb.debian.org/debian/dists/trixie/main/binary-arm64/Packages.xz | xz -d > /tmp/packages-arm64.txt
Rationale: Remote package repositories have finite bandwidth and request limits to serve the global community. Respectful spacing of requests helps maintain service availability for all users.