Tarball installation
It is possible to play out, untar and run ".tar" files. This allows to easily deploy collections of files through a single transfer. Also here our file distribution configuration is used. Please upload your tar files with the qbee file manager and follow the following steps to transfer it to your IoT edge devices:
Upload any files with the file manager.
Go to "Configure" and start the actual file distribution definition:
File Source:
Production/awesome-app.tar.gz
File Destination:
/usr/local/bin/awesome-app.tar.gz
This plays out the tarball to the defined remote devices. If a "Command to run" is defined this command will be run.
When does this file gets played out?
qbee checks if the file exists in the defined destination. If not it will be transferred. Both the file in the file manager and the file on the machine has a checksum. If the file manager file is replaced a new file distribution happens. Likewise, if the file on the target machine is changed this will also trigger a new file download and the changes will be overwritten with the original file from the file manager.
What happens to the extracted files?
Using tarballs is a way to break the direct link between a file in the file manager and a file on the edge device. So if I have a text.txt in file manager and on the device anytime the text.txt is changed on the device it will be redistributed and overwritten. That can be prevented when using a tarball. Then the file is extracted and the remote system can work on the file. However, if the tarfile changes or is deleted on the remote device it would be re-distributed, uncompressed and the extracted files would be overwritten. So if your final goal is to deliver a file but let the remote system change it you need to distribute it, copy it with a script that checks if the target file exists and only untars or moves it if it is not there yet.
In order to process the tarball the optional "Command to run" function can be used. Here commands can be chained using
&&
and this opens up for a lot of options. In this case we do some operations to install the tarball:Untar the file, run configure, make and install:
tar -zxvf /usr/local/bin/awesome-app.tar.gz && /usr/local/bin/.configure && /usr/local/bin/make && sudo /usr/local/bin/make install