67 lines
2.3 KiB
YAML
67 lines
2.3 KiB
YAML
---
|
|
- name: 强制升级 Podman 到最新版本
|
|
hosts: warden
|
|
become: yes
|
|
gather_facts: yes
|
|
|
|
tasks:
|
|
- name: 检查当前 Podman 版本
|
|
shell: podman --version
|
|
register: current_podman_version
|
|
ignore_errors: yes
|
|
|
|
- name: 显示当前版本
|
|
debug:
|
|
msg: "升级前版本: {{ current_podman_version.stdout if current_podman_version.rc == 0 else '未安装' }}"
|
|
|
|
- name: 卸载现有 Podman
|
|
shell: apt-get remove -y --purge podman* containerd* runc*
|
|
ignore_errors: yes
|
|
|
|
- name: 清理残留配置
|
|
shell: |
|
|
rm -rf /etc/containers
|
|
rm -rf /usr/share/containers
|
|
rm -rf /var/lib/containers
|
|
ignore_errors: yes
|
|
|
|
- name: 直接下载并安装最新版Podman二进制文件
|
|
shell: |
|
|
# 清理可能存在的旧版本
|
|
rm -f /tmp/podman-latest.tar.gz
|
|
rm -f /usr/local/bin/podman
|
|
|
|
# 获取最新版本号
|
|
LATEST_VERSION="v5.6.1" # 硬编码最新版本避免网络问题
|
|
echo "安装版本: $LATEST_VERSION"
|
|
|
|
# 使用GitHub镜像站点下载二进制文件
|
|
echo "使用GitHub镜像站点下载..."
|
|
wget -O /tmp/podman-latest.tar.gz "https://gh.git4ta.fun/github.com/containers/podman/releases/download/${LATEST_VERSION}/podman-linux-static-amd64.tar.gz"
|
|
|
|
# 检查文件是否下载成功,如果失败尝试直接下载
|
|
if [ ! -f /tmp/podman-latest.tar.gz ]; then
|
|
echo "镜像下载失败,尝试直接下载..."
|
|
wget -O /tmp/podman-latest.tar.gz "https://github.com/containers/podman/releases/download/${LATEST_VERSION}/podman-linux-static-amd64.tar.gz"
|
|
fi
|
|
|
|
# 解压并安装
|
|
tar -xzf /tmp/podman-latest.tar.gz -C /usr/local/bin/ --strip-components=1
|
|
chmod +x /usr/local/bin/podman
|
|
|
|
# 更新PATH
|
|
echo 'export PATH=/usr/local/bin:$PATH' >> /etc/profile
|
|
. /etc/profile
|
|
|
|
# 验证安装
|
|
/usr/local/bin/podman --version
|
|
ignore_errors: yes
|
|
|
|
- name: 验证安装结果
|
|
shell: podman --version
|
|
register: new_podman_version
|
|
ignore_errors: yes
|
|
|
|
- name: 显示最终版本
|
|
debug:
|
|
msg: "升级后版本: {{ new_podman_version.stdout if new_podman_version.rc == 0 else '安装失败' }}" |