This is a partial answer; hopefully others will post answers detailing, perhaps in tutorial form, how to use a utility to automatically handle dependencies, download packages to a Windows (or other non-Linux) machine, and install them on your Ubuntu system.
I've instead focused on answering just one part of this question.
Is there anyway to find out what ALL the sub-dependencies are for deb files?
Yes, there is a way to do this with mostly accurate results.
Checking on http://packages.ubuntu.com/ is not a very good solution because you will usually already have many of the packages it says are dependencies. Instead, you should simulate installing the package you want:
apt-get -s install packagename
Since you're not actually installing anything, you don't have to use sudo
.
This will, in addition to some other information, tell you what packages would have to be installed (or upgraded or removed) for packagename
to be installed.
While this usually gives the right answer, occasionally it does not, if you have not been able to run sudo apt-get update
recently (which you probably cannot do because your machine is never connected to the Internet). This is because some packages will be available in versions newer than the database of package information in your machine accounts for. Such newer packages occasionally have different dependencies (or simply require a later version of a package it already depended on...where you might already have the earlier version).
Running this kind of simulation is very useful for situations where you are temporarily without an Internet connection and/or just need to install a small number of packages. For long-term package management, this is inadequate, because:
You would never find out about important updates, and your machine absolutely can fall victim to some kinds of security vulnerabilities even without being network-connected. This will become more of an issue as Linux-based systems continue to become used by an increasing number of people (since there will then be much more malware written to target Ubuntu and other Linux-based systems).
While far less effort intensive than going back and forth between your home and your public library several times for each package you have to install (to retrieve packages as you find out they are needed as dependencies), calculating dependencies with apt-get -s install ...
and manually downloading all the necessary .deb
files is still extremely time consuming, if you have to install a lot of software, or install software frequently.
Hopefully someone will post about a full solution to this problem. I know they exist, but I am not adequately familiar with any of them to give a good, thorough answer.