You really have multiple questions in one, but I'll assume the question marked in bold is your primary question:
Yes, you can make a backup of your phone and download it to your Linux computer.
From your wording it is hard to know whether you by "download" mean that the Linux computer is seperate from the computer that makes the backup, or not. In both cases this is possible:
Use iTunes on your Mac to create a local backup of your iPhone.
Afterwards use any file copying program to copy ~/Bibliotek/Application Support/MobileSync/Backup/ to your Linux PC.
You can copy over the network, via a USB disk, or any other ordinary way of copying files.
Install libimobiledevice on your Linux PC. Depending on Linux distribution, this is normally available in your package manager.
Use the idevicebackup tool to create a backup.
If libimobiledevice is not available in your package manager, you can download it from:
When you do have the backup, your SMS messages are stored in a file originally named "sms.db", which is really a SQLite3 database containing the messages.
There's no built-in support for the vmsg format in libimobiledevice. However, you could create your own tool, as you describe, to convert from vmsg into SQL statements, that you could execute to add the messages to the SQLite database. Then you can restore the backup again to transfer the messages back to the phone.