Hello,
from the output of opkg --help you can see this information:
-d <dest_name>
Use <dest_name> as the the root directory for package installation, removal, upgrading. <dest_name> should be a defined dest name from the configuration file, (but can also be a directory name in a pinch).
So, I edited my /etc/opkg.conf adding a dest name called opkg_test for /tmp folder; My etc/opkg.conf now is:
dest root /
dest ram /tmp
dest opkg_test /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
option check_signature 1
Then, I've copied a package (transmission-web_2.92+git-4_mipsel_24kc.ipk) in /tmp/ to make a test, and launched opkg this way:
opkg install -d opkg_test /tmp/transmission-web_2.92\+git-4_mipsel_24kc.ipk
Installing transmission-web (2.92+git-4) to opkg_test...
Configuring transmission-web.
and if you make a find of "transmission*" on /, you can see that it's installed under /tmp/:
root@Omega-D339:/# find / -name "transmission*"
/tmp/transmission-web_2.92+git-4_mipsel_24kc.ipk
/tmp/usr/share/transmission
/tmp/usr/share/transmission/web/style/transmission
/tmp/usr/share/transmission/web/javascript/transmission.js
/tmp/usr/lib/opkg/info/transmission-web.list
/tmp/usr/lib/opkg/info/transmission-web.prerm
/tmp/usr/lib/opkg/info/transmission-web.postinst
/tmp/usr/lib/opkg/info/transmission-web.control
root@Omega-D339:/#
To remove the package, simply run: opkg remove -d opkg_test transmission-web (it prints an error because it's looking for a file in /usr/lib/opkg/info/... but the package is correclty removed)
Hope this helps,
Paolo