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 '安装失败' }}" |