From eaf7123ea5f0271f1316cf0566bd9f6df975278c Mon Sep 17 00:00:00 2001 From: Gaston Gonzalez Date: Sat, 1 Feb 2025 01:14:42 -0700 Subject: [PATCH] VARA - Initial support for WINE and VARA --- overlay/etc/adduser.conf | 2 +- overlay/etc/skel/.bash_profile | 7 +++- overlay/etc/skel/add-ons/wine/.gitignore | 2 + .../skel/add-ons/wine/01-install-wine-deps.sh | 27 ++++++++++++ .../skel/add-ons/wine/02-install-vara-hf.sh | 41 +++++++++++++++++++ .../skel/add-ons/wine/03-install-vara-fm.sh | 41 +++++++++++++++++++ .../add-ons/wine/04-install-vara-terminal.sh | 29 +++++++++++++ .../etc/skel/add-ons/wine/05-run-regedit.sh | 17 ++++++++ .../add-ons/wine/06-backup-wine-install.sh | 32 +++++++++++++++ overlay/etc/skel/add-ons/wine/README.md | 30 ++++++++++++++ .../etc/skel/add-ons/wine/common-checks.sh | 34 +++++++++++++++ overlay/opt/emcomm-tools/bin/et-common | 17 ++++++++ overlay/opt/emcomm-tools/bin/et-user-backup | 3 +- overlay/opt/emcomm-tools/bin/et-vara-fm | 21 ++++++++++ overlay/opt/emcomm-tools/bin/et-vara-hf | 21 ++++++++++ overlay/opt/emcomm-tools/bin/et-vara-terminal | 21 ++++++++++ scripts/install-qttermtcp.sh | 18 +++++++- scripts/install-wine.sh | 31 ++++++++++++++ scripts/install.sh | 4 +- scripts/wine.txt | 27 ++++++++++++ 20 files changed, 419 insertions(+), 6 deletions(-) create mode 100644 overlay/etc/skel/add-ons/wine/.gitignore create mode 100755 overlay/etc/skel/add-ons/wine/01-install-wine-deps.sh create mode 100755 overlay/etc/skel/add-ons/wine/02-install-vara-hf.sh create mode 100755 overlay/etc/skel/add-ons/wine/03-install-vara-fm.sh create mode 100755 overlay/etc/skel/add-ons/wine/04-install-vara-terminal.sh create mode 100755 overlay/etc/skel/add-ons/wine/05-run-regedit.sh create mode 100755 overlay/etc/skel/add-ons/wine/06-backup-wine-install.sh create mode 100644 overlay/etc/skel/add-ons/wine/README.md create mode 100755 overlay/etc/skel/add-ons/wine/common-checks.sh create mode 100755 overlay/opt/emcomm-tools/bin/et-common create mode 100755 overlay/opt/emcomm-tools/bin/et-vara-fm create mode 100755 overlay/opt/emcomm-tools/bin/et-vara-hf create mode 100755 overlay/opt/emcomm-tools/bin/et-vara-terminal create mode 100755 scripts/install-wine.sh create mode 100644 scripts/wine.txt diff --git a/overlay/etc/adduser.conf b/overlay/etc/adduser.conf index b1fb999..f86a478 100644 --- a/overlay/etc/adduser.conf +++ b/overlay/etc/adduser.conf @@ -79,7 +79,7 @@ USERS_GID=1981 # new users to other groups. # This is the list of groups that new non-system users will be added to # Default: -EXTRA_GROUPS="bluetooth dialout cdrom floppy audio video plugdev users" +EXTRA_GROUPS="bluetooth dialout cdrom floppy audio video plugdev tty users" # If ADD_EXTRA_GROUPS is set to something non-zero, the EXTRA_GROUPS # option above will be default behavior for adding new, non-system users diff --git a/overlay/etc/skel/.bash_profile b/overlay/etc/skel/.bash_profile index a8f6e2e..f18a020 100644 --- a/overlay/etc/skel/.bash_profile +++ b/overlay/etc/skel/.bash_profile @@ -1,6 +1,6 @@ # Author : Gaston Gonzalez # Date : 23 April 2024 -# Updated : 25 December 2024 +# Updated : 1 February 2025 # Description : bash profile # All user accounts should be in the 'et-data' group to allow data sharing with @@ -29,3 +29,8 @@ echo -e "${NC}" export ET_USER_CONFIG=${HOME}/.config/emcomm-tools/user.json export ET_LOG_DIR=${HOME}/.local/share/emcomm-tools + +# Export environment variables to support WINE installs for VARA +export WINARCH="win32" +export WINEPREFIX="$HOME/.wine32" +export WINEDEBUG=-all diff --git a/overlay/etc/skel/add-ons/wine/.gitignore b/overlay/etc/skel/add-ons/wine/.gitignore new file mode 100644 index 0000000..ec94583 --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/.gitignore @@ -0,0 +1,2 @@ +*.exe +*.zip diff --git a/overlay/etc/skel/add-ons/wine/01-install-wine-deps.sh b/overlay/etc/skel/add-ons/wine/01-install-wine-deps.sh new file mode 100755 index 0000000..c522fd6 --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/01-install-wine-deps.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Install wine dependencies to support VARA install +set -e + +source ./common-checks.sh + +if [[ ! -e ${WINEPREFIX} ]]; then + winetricks \ + --unattended \ + --force \ + winxp \ + sound=alsa \ + dotnet35sp1 \ + vb6run + + if [[ $? -ne 0 ]]; then + show-err-dialog "Failed to instaill WINE dependencies." + exit 1 + fi +else + echo -e "${WINEPREFIX} already exists. Skipping WINE dependency installation.\n" +fi + +echo -e "${YELLOW}Run ${WHITE}./02-install-vara-hf.sh${YELLOW} to install VARA HF.${NC}" diff --git a/overlay/etc/skel/add-ons/wine/02-install-vara-hf.sh b/overlay/etc/skel/add-ons/wine/02-install-vara-hf.sh new file mode 100755 index 0000000..e7c19e2 --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/02-install-vara-hf.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Install VARA HF +set -e + +source ./common-checks.sh + +VERSION="4.8.9" +DOWNLOAD_FILE="vara-hf-${VERSION}.zip" +URL="https://downloads.winlink.org/VARA%20Products/VARA%20HF%20v${VERSION}%20setup.zip" +VARA_HOME="${HOME}/.wine32/drive_c/VARA" + +et-log "Installing VARA HF..." + +if [ ! -e ${DOWNLOAD_FILE} ]; then + et-log "Downloading VARA HF ${version} from ${URL}" + curl -s -f -L -o ${DOWNLOAD_FILE} "${URL}" +fi + +if [ $? -ne 0 ]; then + et-log "Error downloading VARA HF ${VERSION}." + exit 1 +fi + +unzip -o ${DOWNLOAD_FILE} + +wine 'VARA setup (Run as Administrator).exe' + +if [ ! -e "${VARA_HOME}/nt4pdhdll.exe" ]; then + et-log "Install missing DLL..." + + CWD=$(pwd) + + cd ${VARA_HOME} + curl -s -f -L -O \ + http://download.microsoft.com/download/winntsrv40/update/5.0.2195.2668/nt4/en-us/nt4pdhdll.exe && unzip nt4pdhdll.exe + cd ${CWD} +fi diff --git a/overlay/etc/skel/add-ons/wine/03-install-vara-fm.sh b/overlay/etc/skel/add-ons/wine/03-install-vara-fm.sh new file mode 100755 index 0000000..bd1f788 --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/03-install-vara-fm.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Install VARA HF +set -e + +source ./common-checks.sh + +VERSION="4.3.8" +DOWNLOAD_FILE="vara-fm-${VERSION}.zip" +URL="https://downloads.winlink.org/VARA%20Products/VARA%20FM%20v${VERSION}%20setup.zip" +VARA_HOME="${HOME}/.wine32/drive_c/VARA" + +et-log "Installing VARA FM..." + +if [ ! -e ${DOWNLOAD_FILE} ]; then + et-log "Downloading VARA FM ${version} from ${URL}" + curl -s -f -L -o ${DOWNLOAD_FILE} "${URL}" +fi + +if [ $? -ne 0 ]; then + et-log "Error downloading VARA FM ${VERSION}." + exit 1 +fi + +unzip -o ${DOWNLOAD_FILE} + +wine 'VARA FM setup (Run as Administrator).exe' + +if [ ! -e "${VARA_HOME}/nt4pdhdll.exe" ]; then + et-log "Install missing DLL..." + + CWD=$(pwd) + + cd ${VARA_HOME} + curl -s -f -L -O \ + http://download.microsoft.com/download/winntsrv40/update/5.0.2195.2668/nt4/en-us/nt4pdhdll.exe && unzip nt4pdhdll.exe + cd ${CWD} +fi diff --git a/overlay/etc/skel/add-ons/wine/04-install-vara-terminal.sh b/overlay/etc/skel/add-ons/wine/04-install-vara-terminal.sh new file mode 100755 index 0000000..7fff827 --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/04-install-vara-terminal.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Install VARA Terminal +set -e + +source ./common-checks.sh + +VERSION="1.2.2" +DOWNLOAD_FILE="vara-terminal-${VERSION}.zip" +URL="https://downloads.winlink.org/VARA%20Products/VARA%20Terminal%20V${VERSION}%20setup.zip" + +et-log "Installing VARA Terminal..." + +if [ ! -e ${DOWNLOAD_FILE} ]; then + et-log "Downloading VARA Terminal ${version} from ${URL}" + curl -s -f -L -o ${DOWNLOAD_FILE} "${URL}" +fi + +if [ $? -ne 0 ]; then + et-log "Error downloading VARA Terminal ${VERSION}." + exit 1 +fi + +unzip -o ${DOWNLOAD_FILE} + +wine 'VARA Terminal setup (Run as Administrator).exe' diff --git a/overlay/etc/skel/add-ons/wine/05-run-regedit.sh b/overlay/etc/skel/add-ons/wine/05-run-regedit.sh new file mode 100755 index 0000000..bf93c18 --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/05-run-regedit.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Run regedit +set -e + +source ./common-checks.sh + +echo -e "${YELLOW}" +echo -e "1. Expand HKEY_LOCAL_MACHINE > Software > Wine > Ports" +echo -e "2. In the main pain, right-click and select 'New' > 'String Value'" +echo -e "3. Set the name to ${WHITE}COM10${YELLOW} and the value to ${WHITE}/dev/et-cat${YELLOW}" +echo -e "4. Close the Registry Editor application" +echo -e "${NC}" + +wine regedit diff --git a/overlay/etc/skel/add-ons/wine/06-backup-wine-install.sh b/overlay/etc/skel/add-ons/wine/06-backup-wine-install.sh new file mode 100755 index 0000000..277f78a --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/06-backup-wine-install.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 1 February 2025 +# Purpose : Backup the ~/.wine32 directory for use in ETC image inclusion. + +TODAY=$(date +"%Y%m%d") +BACKUP_FILE="${HOME}/etc-wine-backup-${HOSTNAME}-${TODAY}.tar.gz" + +source /opt/emcomm-tools/bin/et-common + +if [ -e "${BACKUP_FILE}" ]; then + echo -e -n "${RED}A backup file for today exists. Can ${WHITE}${BACKUP_FILE} ${RED}be overwritten? (y/n) ${NC}" + read response + [[ $response != [yY] ]] && echo "Skipping backup and exiting." && exit 1 +fi + +# All paths are relative to $HOME. +BACKUP_DIRS=( + ".wine32" +) + +tar -czf ${BACKUP_FILE} \ + --transform 's|^.*\.local|.local|' \ + -C "${HOME}" "${BACKUP_DIRS[@]}" + +[ $? -ne 0 ] && et-log "Error creating backup" && exit 1 + +# Test that we can read if after we create it. +TAR_OUT=$(tar -tzf ${BACKUP_FILE}) +[ $? -ne 0 ] && et-log "Can't read backup file: ${BACKUP_FILE}. Error creating backup." && exit 1 + +echo -e "${GREEN}Backup created: ${WHITE}${BACKUP_FILE}\n" diff --git a/overlay/etc/skel/add-ons/wine/README.md b/overlay/etc/skel/add-ons/wine/README.md new file mode 100644 index 0000000..ed92bd3 --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/README.md @@ -0,0 +1,30 @@ +# Installing Windows Applications + +The following instructions only need to be run once. They should be run +in this directory as your normal user (do not use 'sudo'). + +1. Install the WINE dependencies. + + ./01-install-wine-deps.sh + +2. Install VARA HF. Accept the default settings and do not launch the program. + + ./02-install-vara-hf.sh + +3. Install VARA FM. Accept the default settings and do not launch the program. + + ./03-install-vara-fm.sh + +4. Install VARA Terminal. Install VARA FM. Accept the default settings and do not launch the program. + + ./04-install-vara-terminal.sh + +5. Run the registery editor. Follow the instructions in the terminal. + + ./05-run-regedit.sh + +6. If you want to include your WINE installation in a future EmComm Tools + Community image build, run the following to make a backup of your WINE + installation now. + + ./06-backup-wine-install.sh diff --git a/overlay/etc/skel/add-ons/wine/common-checks.sh b/overlay/etc/skel/add-ons/wine/common-checks.sh new file mode 100755 index 0000000..35580e2 --- /dev/null +++ b/overlay/etc/skel/add-ons/wine/common-checks.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 1 February 2025 +# Purpose : Performs various checks to ensure that changes can be made +# to a user's local WINE installation. + +source /opt/emcomm-tools/bin/et-common + +WINE_OUT=$(which winetricks) +if [[ $? -ne 0 ]]; then + echo -e "${RED}Wine is not installed. As root, first run: ${WHITE}/root/emcomm-tools-os-community/scripts/install-wine.sh${NC}" + exit 1 +fi + +if [[ "${EUID}" -eq 0 ]]; then + echo -e "${RED}This script must not be run as root. Run it as your normal user.${NC}" + exit 1 +fi + +if [[ -z "${WINARCH}" ]]; then + echo -e "The WINARCH environment variable is not set. Setting it for you." + export WINARCH="win32" +fi + +if [[ -z "${WINEPREFIX}" ]]; then + echo -e "The WINEPREFIX environment variable is not set. Setting it for you." + export WINEPREFIX="${HOME}/.wine32" +fi + +if [[ -z "${DISPLAY}" && -z "${WAYLAND_DISPLAY}" ]]; then + echo -e "${RED}No graphical environment detected. Run this command from a desktop session.${NC}" + echo -e "${RED}This can't be run from within Cubic.${NC}" + exit 1 +fi diff --git a/overlay/opt/emcomm-tools/bin/et-common b/overlay/opt/emcomm-tools/bin/et-common new file mode 100755 index 0000000..b6b1539 --- /dev/null +++ b/overlay/opt/emcomm-tools/bin/et-common @@ -0,0 +1,17 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 1 February 2025 +# Purpose : Common environment variables and functions + +export ESC="\x1B" +export RED="${ESC}[1;31m" +export BLUE="${ESC}[1;34m" +export GREEN="${ESC}[1;32m" +export WHITE="${ESC}[97m" +export YELLOW="${ESC}[1;33m" +export NC="${ESC}[0m" + +show-err-dialog() { + local message="$1" + dialog --title "Notification" --msgbox "$message" 8 60 +} diff --git a/overlay/opt/emcomm-tools/bin/et-user-backup b/overlay/opt/emcomm-tools/bin/et-user-backup index f086a60..116b262 100755 --- a/overlay/opt/emcomm-tools/bin/et-user-backup +++ b/overlay/opt/emcomm-tools/bin/et-user-backup @@ -1,7 +1,7 @@ #!/bin/bash # Author : Gaston Gonzalez # Date : 14 January 2025 -# Updated : 16 January 2025 +# Updated : 1 February 2025 # Purpose : Back up select files from the user's home directory. # # The backups are limited to the following: @@ -31,7 +31,6 @@ BACKUP_DIRS=( ".config/emcomm-tools" ".local/share/emcomm-tools" ".local/share/pat" - ".ssh" ) tar -czf ${BACKUP_FILE} \ diff --git a/overlay/opt/emcomm-tools/bin/et-vara-fm b/overlay/opt/emcomm-tools/bin/et-vara-fm new file mode 100755 index 0000000..a0873e0 --- /dev/null +++ b/overlay/opt/emcomm-tools/bin/et-vara-fm @@ -0,0 +1,21 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Run VARA FM + +source /opt/emcomm-tools/bin/et-common + +EXE="${HOME}/.wine32/drive_c/VARA FM/VARAFM.exe" + +if [[ -e ${EXE} ]]; then + wine ~/.wine32/drive_c/VARA\ FM/VARAFM.exe +else + echo -e "${RED}" + echo -e "${EXE} does not exist." + echo -e "You might NOT have installed the windows subsystem (WINE)." + echo -e "Navigate to ${WHITE}${HOME}/add-ons/wine${RED} and follow the" + echo -e "instructions in the ${WHITE}README.md${RED} file." + echo -e "${NC}" + exit 1 +fi diff --git a/overlay/opt/emcomm-tools/bin/et-vara-hf b/overlay/opt/emcomm-tools/bin/et-vara-hf new file mode 100755 index 0000000..acc4032 --- /dev/null +++ b/overlay/opt/emcomm-tools/bin/et-vara-hf @@ -0,0 +1,21 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Run VARA HF + +source /opt/emcomm-tools/bin/et-common + +EXE="${HOME}/.wine32/drive_c/VARA/VARA.exe" + +if [[ -e ${EXE} ]]; then + wine ${EXE} +else + echo -e "${RED}" + echo -e "${EXE} does not exist." + echo -e "You might NOT have installed the windows subsystem (WINE)." + echo -e "Navigate to ${WHITE}${HOME}/add-ons/wine${RED} and follow the" + echo -e "instructions in the ${WHITE}README.md${RED} file." + echo -e "${NC}" + exit 1 +fi diff --git a/overlay/opt/emcomm-tools/bin/et-vara-terminal b/overlay/opt/emcomm-tools/bin/et-vara-terminal new file mode 100755 index 0000000..ec66338 --- /dev/null +++ b/overlay/opt/emcomm-tools/bin/et-vara-terminal @@ -0,0 +1,21 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Run VARA Terminal + +source /opt/emcomm-tools/bin/et-common + +EXE="${HOME}/.wine32/drive_c/VARA/VARA Terminal.exe" + +if [[ -e ${EXE} ]]; then + wine ~/.wine32/drive_c/VARA/VARA\ Terminal.exe & +else + echo -e "${RED}" + echo -e "${EXE} does not exist." + echo -e "You might NOT have installed the windows subsystem (WINE)." + echo -e "Navigate to ${WHITE}${HOME}/add-ons/wine${RED} and follow the" + echo -e "instructions in the ${WHITE}README.md${RED} file." + echo -e "${NC}" + exit 1 +fi diff --git a/scripts/install-qttermtcp.sh b/scripts/install-qttermtcp.sh index 369a952..a6558e6 100755 --- a/scripts/install-qttermtcp.sh +++ b/scripts/install-qttermtcp.sh @@ -1,7 +1,7 @@ #!/bin/bash # Author : Gaston Gonzalez # Date : 17 December 2024 -# Updated : 31 December 2024 +# Updated : 28 January 2025 # Purpose : Install QtTermTCP set -e trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG @@ -17,6 +17,22 @@ INSTALL_DIR="/opt/${APP}-${VERSION}" INSTALL_BIN_DIR="${INSTALL_DIR}/bin" LINK_PATH="/opt/${APP}" +et-log "Enabling i386 architecture support.." +dpkg --add-architecture i386 +apt update + +et-log "Installing QtTermTCP 32-bit build dependencies..." +apt install \ + qtbase5-dev:i386 \ + qtbase5-dev-tools:i386 \ + qt5-qmake:i386 \ + qtchooser:i386 \ + qtmultimedia5-dev:i386 \ + libqt5serialport5-dev:i386 \ + libfftw3-dev:i386 \ + qttools5-dev-tools:i386 \ + -y + et-log "Installing QtTermTCP build dependencies..." apt install \ qtbase5-dev \ diff --git a/scripts/install-wine.sh b/scripts/install-wine.sh new file mode 100755 index 0000000..ab28515 --- /dev/null +++ b/scripts/install-wine.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 20 January 2025 +# Updated : 1 February 2025 +# Purpose : Install WINE to support VARA + +WIN32_DIR="${HOME}/.win32" + +et-log "Installing WINE..." + +# Check for an existing i386 architecture +ARCH_OUT=$(dpkg --print-foreign-architectures | grep i386) +[ $? -ne 0 ] && dpkg --add-architecture i386 + +#if [ ! -e "/etc/apt/keyrings/winehq-archive.key" ]; then +# et-log "Adding apt keys for official wine repo" +# mkdir -pm755 /etc/apt/keyrings +# wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key +# wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -sc)/winehq-$(lsb_release -sc).sources +# apt update +# apt install --install-recommends winehq-stable +#fi + +apt install \ + wine \ + winetricks \ + exe-thumbnailer \ + -y + +dialog --textbox wine.txt 15 74 +tput sgr 0 && clear diff --git a/scripts/install.sh b/scripts/install.sh index 4c8c440..11c2da8 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 16 March 2024 -# Updated : 31 December 2024 +# Updated : 20 January 2025 # Purpose : Main installer for EmComm Tools OS Community . ./env.sh @@ -57,3 +57,5 @@ exitIfNotRoot # Add user-specific data ./download-osm-maps.sh ./download-wikipedia.sh + +./install-wine.sh diff --git a/scripts/wine.txt b/scripts/wine.txt new file mode 100644 index 0000000..6b99c80 --- /dev/null +++ b/scripts/wine.txt @@ -0,0 +1,27 @@ +The base WINE applications have been installed to support a future +installation of Windows programs such as VARA HF, VARA FM, and VARA +Terminal. However, these applications can't be installed within this +session of Cubic. They must be installed on a running version of +EmComm Tools Community via a desktop session. + +If you previously made a backup copy of your WINE installation using +the "$HOME/add-ons/wine/06-backup-wine-install.sh" script and would +like to bake it into this ISO image, perform the following: + +1. Change into the skeleton directory now with: + + cd /etc/skel + +2. Copy your etc-wine-backup-*.tar.gz file using Cubic to this + directory. + +3. Restore the backup into this directory with: + + tar -xzf etc-wine-backup-*.tar.gz + +4. Confirm that you see a `.wine32` directory here. + +5. Delete the compressed backup file to reduce the size of the + final image. + + rm etc-wine-backup-*.tar.gz