How to install Veracrypt (Noob friendly), and a decent hash checking tool

Hey there,

i want to install Veracrypt in a disposable template. I tried an thought i got it but it won’t show up in “applications”, even after a full reboot. Furthermore the same is happening with GTKhash the tool of my choice (maybe you can recommend yours) to check the checksum of a downloaded file.


You may have neglected to install only to the private volume in your disposable template…by default veracrypt will install to the root volume, which gets restored to the state of the base template every time you shut down the disposable template (or DVMs based on it). (Remember: the base template, e.g. debian-12, provides the root volume of a DVM, the disposable template, e.g. debian-12-dvm provides the private volume with the home folder + some other folders of a DVM).

So, either install veracrypt in the base template or, if you need to install it in the disposable template, extract it to some other folder and then e.g. move all the files to their proper location in the private volume, e.g. if you extract and it creates a folder structure like usr/bin, usr/share etc. in the folder you extracted to, then create those folders in /usr/local/, e.g. /usr/local/bin, /usr/local/share etc. and put everything in those (/usr/local is on the private volume). The simplest way to do that may be to execute sudo thunar or sudo nautilus, move into the newly created (from extracting the veracrypt archive) usr folder, select all folders in it, press Ctrl + C, move into the /usr/local/ folder and now press Ctrl + V.

Another thing to check is to ensure that you installed the gui version, rather than the command line version. The command line version won’t show up in a desktop menu.

Also, by “Applications” I presume you mean the Applications tab in Qube Settings.

Just to add to @SteveC’s answer: if you install the GUI version in the template, then it will generate a .desktop file in the correct place on the root volume, but that won’t necessarily be included in the app menu; you’ll have to open the settings (from Qube Manager) of the AppVM based on that template in which you’d like to use veracrypt and in the “Applications” tab add “Veracrypt” from the list of available applications on the left to the list of selected ones on the right.

As to a hash checking tool, I’d recommend sha256sum or sha512sum, which should be available by default in most Linux distributions today (they’re command line tools, however); if security is not super important and you want better speed you could even use e.g. md5sum.

Well how to do it the right way. Your explanation was to much for me. I need it step for step. THX in advance.

If you’re trying to install Veracrypt and GTKhash as debian packages then they will be installed in system directories that are not persistent for non-template qubes:

The usual approach would be to clone the original template e.g. debian-12-xfce to debian-12-xfce-veracrypt, install the packages in debian-12-xfce-veracrypt and then create disposable template based on debian-12-xfce-veracrypt.
But you can try to use bind-dirs to install the packages in the disposable template (which has AppVM type):

You’ll need to check where the files in the package are installed, e.g. for veracrypt:

% dpkg-deb -c veracrypt-1.26.7-Debian-12-amd64.deb
drwxr-xr-x root/root         0 2023-09-30 15:53 ./usr/
drwxr-xr-x root/root         0 2023-09-30 15:53 ./usr/bin/
-rwxr-xr-x root/root   4800816 2023-09-30 15:51 ./usr/bin/veracrypt
-rwxr-xr-x root/root       441 2023-09-30 15:51 ./usr/bin/
drwxr-xr-x root/root         0 2023-09-30 15:53 ./usr/sbin/
-rwxr-xr-x root/root       854 2023-09-30 15:51 ./usr/sbin/mount.veracrypt
drwxr-xr-x root/root         0 2023-09-30 15:53 ./usr/share/
drwxr-xr-x root/root         0 2023-09-30 15:53 ./usr/share/applications/
-rw-r--r-- root/root       336 2023-09-30 15:51 ./usr/share/applications/veracrypt.desktop
drwxr-xr-x root/root         0 2023-09-30 15:53 ./usr/share/doc/
drwxr-xr-x root/root         0 2023-09-30 15:53 ./usr/share/doc/veracrypt/
drwxr-xr-x root/root         0 2023-09-30 15:53 ./usr/share/doc/veracrypt/HTML/
-rw-r--r-- root/root      3508 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/AES.html
-rw-r--r-- root/root      3675 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/Acknowledgements.html
-rw-r--r-- root/root      2956 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/Additional Security Requirements and Precautions.html
-rw-r--r-- root/root      2891 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/Authenticity and Integrity.html
-rw-r--r-- root/root      2370 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/Authors.html
-rw-r--r-- root/root      4612 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/Avoid Third-Party File Extensions.html
-rw-r--r-- root/root      2064 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/BCH_Logo_48x30.png
-rw-r--r-- root/root      4097 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/BC_Logo_30x30.png
-rw-r--r-- root/root      3130 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/BLAKE2s-256.html
-rw-r--r-- root/root     14405 2023-09-30 15:51 ./usr/share/doc/veracrypt/HTML/Beginner's Tutorial.html

Then you’ll need to configure bind-dirs in disposable template for every directory or files that would be installed by the packages. After configuring bind-dirs you can install the packages and the apps should persist.

THX. I’ll try and install in Template.