Is there a way to install a deb package "D" on a remote machine "M" without transferring "D" to "M"? If I move "D" to "M", the owner of the machine "M" can copy my deb package (before I finish installation) which is something that I don't want. I have developed the package "D" myself, so I don't want them to have it. And we do not have time/resources to add a license or key to our package.

  • 3
    Machine M will be able to read most of your data or code anyway. Consider DRM technologies – 炸鱼薯条德里克 May 30 at 3:55
  • 3
    ^What they said. All the files in the package, and any maintainer scripts you have, will still be on the remote system, so they can trivially assemble a dpkg package themselves from all that. – muru May 30 at 4:27
  • More than trivially - there's already a debian package that'll do exactly that. – Shadur May 30 at 6:51

I'm afraid I have bad news for you.

dpkg-repack is a standard bit of software that uses the packaging info files (which have to remain on the system in order to make sure upgrade go properly) to rebuild the .deb package.

If you install D on remote machine M, whoever has root on M can reconstruct D any time they like.

EDIT And even if you somehow prevent them from doing that, a simple dpkg -L packagename will tell them exactly which files are part of the package, at which point they can just tar those up and be done.

  • 1
    In most cases even non-root users can reconstruct packages. – Stephen Kitt May 30 at 7:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.