Three ways I know of:
-
These guys wrote a tool in Ruby to do it. It uses the Fruitstrap library which in turn uses one of Apple’s private APIs, so this could possibly break in the future.
-
You can also just use Fruitstrap on its own, but then you need an .app directory, whereas the Transporter Chief tool I linked above supports both .app and .ipa deployments (as required in your answer).
In either case, you need to have XCode installed for it to work, but the device does not need to be jailbroken.
-
Thirdly, there is also a binary distribution for OS X of the
libimobiledevice
library, which enables Linux boxes to talk to iOS devices. This has a few different tools, one of which can install valid signed IPAs to the device using this syntax:ideviceinstaller -i myapp.ipa
The advantage of this method is that it does not need XCode or even iTunes.