Last active
November 10, 2023 08:31
-
-
Save AliKhadivi/284c22f481b0a87500b10ffb69a06d04 to your computer and use it in GitHub Desktop.
Build Containerd Debian Package
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Set Containerd version | |
export "containerd_version=1.7.8" | |
export "runc_version=1.1.10" | |
export "cni_version=1.3.0" | |
export "nerdctl_version=1.7.0" | |
export "folder=$(pwd)/containerd.io" | |
mkdir -p "${folder}" | |
mkdir -p "${folder}/DEBIAN" | |
cat <<EOF | tee ${folder}/DEBIAN/control | |
Package: containerd.io | |
Section: devel | |
Version: ${containerd_version} | |
Priority: optional | |
Maintainer: Containerd team <[email protected]> | |
Homepage: https://containerd.io | |
Vcs-Browser: https://github.com/containerd/containerd | |
XS-Go-Import-Path: github.com/containerd/containerd | |
Architecture: all | |
Provides: containerd, runc, nerdctl | |
Conflicts: containerd, runc, nerdctl | |
Replaces: containerd, runc, nerdctl | |
Description: An open and reliable container runtime | |
EOF | |
# echo "/etc/containerd/config.toml" > ${folder}/DEBIAN/conffiles | |
wget "https://github.com/containerd/containerd/releases/download/v${containerd_version}/containerd-${containerd_version}-linux-amd64.tar.gz" | |
mkdir -p "${folder}/usr" | |
mkdir -p "${folder}/usr/lib/systemd/system" | |
tar Czxvf "${folder}/usr" "containerd-${containerd_version}-linux-amd64.tar.gz" | |
wget https://raw.githubusercontent.com/containerd/containerd/main/containerd.service -O "${folder}/usr/lib/systemd/system/containerd.service" | |
sed -i 's+/usr/local/bin/+/usr/bin/+g' "${folder}/usr/lib/systemd/system/containerd.service" | |
wget "https://github.com/opencontainers/runc/releases/download/v${runc_version}/runc.amd64" | |
mkdir -p "${folder}/usr/sbin" | |
mv runc.amd64 "${folder}/usr/sbin/runc" | |
chmod 755 "${folder}/usr/sbin/runc" | |
mkdir -p /opt/cni/bin | |
wget "https://github.com/containernetworking/plugins/releases/download/v${cni_version}/cni-plugins-linux-amd64-v${cni_version}.tgz" | |
tar Cxzvf "${folder}/opt/cni/bin" "cni-plugins-linux-amd64-v${cni_version}.tgz" | |
wget "https://github.com/containerd/nerdctl/releases/download/v${nerdctl_version}/nerdctl-${nerdctl_version}-linux-amd64.tar.gz" | |
tar Cxzvf "${folder}/usr/bin" "nerdctl-${nerdctl_version}-linux-amd64.tar.gz" | |
rm -rf "nerdctl-${nerdctl_version}-linux-amd64.tar.gz" "cni-plugins-linux-amd64-v${cni_version}.tgz" "containerd-${containerd_version}-linux-amd64.tar.gz" | |
dpkg-deb --root-owner-group --build "${folder}" | |
echo "Your file ready!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Finding Versions:
containerd_version
: Containerdrunc_version
: runCcni_version
: Containerd CNI Pluginnerdctl_version
: Nerdctl