#!/usr/bin/env python import sys, os, re boot_dir = '/boot' lts_vm_files = sorted( filter( re.compile(r'vmlinuz-([\d\.\-]+)-lts$').match, os.listdir(boot_dir) ) ) if not lts_vm_files: print(f'No versioned kernel files found in {boot_dir}') sys.exit(1) highest_lts_version_file = lts_vm_files[-1] version_name = re.search(r'vmlinuz-([\d\.\-]+)-lts$', highest_lts_version_file).group(1) symlink_map = { f'{boot_dir}/initramfs-{version_name}-lts.img': f'{boot_dir}/initramfs-linux-lts.img', f'{boot_dir}/initramfs-{version_name}-lts-fallback.img': f'{boot_dir}/initramfs-linux-lts-fallback.img', f'{boot_dir}/vmlinuz-{version_name}-lts': f'{boot_dir}/vmlinuz-linux-lts', } for src, dst in symlink_map.items(): os.path.islink(dst) and os.unlink(dst) os.symlink(src, dst) sys.exit(0)