64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| set -e
 | |
| 
 | |
| update_initramfs() {
 | |
|     # regenerate initramfs for single file restore VM
 | |
|     INST_PATH="/usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore"
 | |
|     CACHE_PATH="/var/cache/proxmox-backup/file-restore-initramfs.img"
 | |
| 
 | |
|     # cleanup first, in case proxmox-file-restore was uninstalled since we do
 | |
|     # not want an unuseable image lying around
 | |
|     rm -f "$CACHE_PATH"
 | |
| 
 | |
|     [ -f "$INST_PATH/initramfs.img" ] || \
 | |
|         echo "proxmox-backup-restore-image is not installed correctly" >2 || \
 | |
|         exit 1
 | |
| 
 | |
|     echo "Updating file-restore initramfs..."
 | |
| 
 | |
|     # avoid leftover temp file
 | |
|     cleanup() {
 | |
|         rm -f "$CACHE_PATH.tmp"
 | |
|     }
 | |
|     trap cleanup EXIT
 | |
| 
 | |
|     mkdir -p "/var/cache/proxmox-backup"
 | |
|     cp "$INST_PATH/initramfs.img" "$CACHE_PATH.tmp"
 | |
| 
 | |
|     # cpio uses passed in path as offset inside the archive as well, so we need
 | |
|     # to be in the same dir as the daemon binary to ensure it's placed in /
 | |
|     ( cd "$INST_PATH"; \
 | |
|         printf "./proxmox-restore-daemon" \
 | |
|         | cpio -o --format=newc -A -F "$CACHE_PATH.tmp" )
 | |
|     mv -f "$CACHE_PATH.tmp" "$CACHE_PATH"
 | |
| 
 | |
|     trap - EXIT
 | |
| }
 | |
| 
 | |
| case "$1" in
 | |
|     configure)
 | |
|         # in case restore daemon was updated
 | |
|         update_initramfs
 | |
|     ;;
 | |
| 
 | |
|     triggered)
 | |
|         if [ "$2" = "proxmox-backup-restore-image-update" ]; then
 | |
|             # in case base-image was updated
 | |
|             update_initramfs
 | |
|         else
 | |
|             echo "postinst called with unknown trigger name: \`$2'" >&2
 | |
|         fi
 | |
|     ;;
 | |
| 
 | |
|     abort-upgrade|abort-remove|abort-deconfigure)
 | |
|     ;;
 | |
| 
 | |
|     *)
 | |
|         echo "postinst called with unknown argument \`$1'" >&2
 | |
|         exit 1
 | |
|     ;;
 | |
| esac
 | |
| 
 | |
| exit 0
 |