There is a way to do this. It is really not recommended, but i have found it useful when i needed to install a package that has been abandoned, when the bugs that exist in it do not stop me from performing my tasks (for example if the package provides several binaries, but i only require one of them).
Let's say you have a file
package.deb. You do the following:
ar t package.deb
You then look for a file that is starts with
data, most commonly it will be
data.tar.xz, but a different compression can sometimes be used (or so i read).
Then you run
ar x package data.tar.xz
Make sure to confirm that the extraction took place, because there will be no output one way or another.
It may be beneficial to move the data file to some directory all by itself, because on the next step we will be extracting a directory tree, and you don't want to try to figure out what you need and what you don't need after you finish.
Now extract the file you got:
tar xvf data.tar
You will find files that would be created by installing the package, but with the current directory as the root. So if the binary would go into
/usr/bin, you will find it in
After this you can manually copy the files into their correct places. Or i prefer to copy them into the
/home/user/bin and add a that directory to
PATH. This way you have a little less chance to break the system. Of course if you are installing a library package you will need to spend some more time figuring out what goes where.
Once again, this is not the best way to install packages (to say the least). This installation makes it difficult to remember which file was from what package, and thus it is difficult to figure out where some error is coming from. But unfortunately there are times when you need to "Just Fucking Do It" (tm).