Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I don't have internet access at my home and it takes me about a half hour to ride my bike to the library. I have downloaded .deb files to try to install at my home computer but everyone I have downloaded says it can't install because it depends on package X. The next day I will download package X and it will require package Y. Is there anyway to find out what ALL the sub-dependencies are for deb files?

I have tried to boot from USB or External Hard drive on the library computers but the security settings prevent this.

Also, I do not know anyone with a Linux computer.

share|improve this question
    
Possible duplicate of how to install software in offline –  Tachyons Jun 7 '12 at 4:14

4 Answers 4

You can go to Ubuntu Package Search and find the packages on any computer, even one with Windows or Mac OSX. You can then download the .deb files and double-click them on the Ubuntu computer after bringing them on a flash drive in order to install them(Or in terminal, execute sudo dpkg -i /path/to/package.deb)

share|improve this answer
    
What about dependencies? –  wakeup Jul 10 '13 at 23:06
    
@wakeup This is a relatively old post; if you'd like feel free to add a new answer. –  hexafraction Jul 10 '13 at 23:08

The post here has some suggestions. Packagedepends looks like it may be what you're looking for.

share|improve this answer

In ubuntu, Packages work like food. If you want a cup of coffee, you will need coffee beans and milk. If you want a bowl of cereal, you will need a box of cereal and milk, just like the coffee.

Same thing. You want package X, and it requires package Z. You want Package Y, but it also requires package Z. If you want to download all the packages, the best way to do it is to bring your computer to the library and run sudo apt-get package.

But if you can't bring your computer to the library, you can go to the Ubuntu packages search (as ObsessiveFOSS said) and find all the packages you need. When you found a specific package, click the package, then go to the "Other Packages Related" section and install all the packages before you install the main package. Otherwise it will show up as an error.

share|improve this answer
    
You will often have most or all of the "Other packages related". A better way to find out what other packages would need to be installed is to simulate installing the package you want. For example, to simulate installing Thunderbird, run this command in the Terminal (notice that sudo is unnecessary): apt-get -s install thunderbird However, even that's not perfect, because without an Internet connection or something like AptOnCD or Keryx (hopefully someone more familiar with these utilities can post an answer about them), your information about what packages are available/needed gets stale. –  Eliah Kagan Jun 7 '12 at 3:57

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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