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 have no root access on this machine.

I would like to know if there is a way I can download Ubuntu packages and install them as non-root?

Probably in my ~/bin or ~/usr/share or something like that? Would that work?

share|improve this question
    
Hopefully, they will support it soon. –  Domi Apr 3 at 9:50

3 Answers 3

up vote 36 down vote accepted

Apt doesn't support it directly, but there are ways to do it.

One is to use schroot to create a non-root chroot. This is a somewhat involved process, but one you should be able find community help for as many developers set up chroot environments for compiling code.

The second way I know of is to install from a .deb package. You may be able to download this from a web site or if it's in the Ubuntu repositories you can download with.

apt-get download package

Replace package with the name of the package

Once you have your de file call dpkg directly from the command line. The following example will install package.deb into your home directory.

dpkg -i --force-not-root --root=$HOME package.deb

The disadvantage to using dpkg like this is that error messages are likely to be cryptic; dpkg doesn't automatically resolve dependencies or create the directory structure it expects.

Finally, you could use the apt-get source command to fetch the source of the package and configure it to install locally. Usually this looks something like:

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

The disadvantage to this approach is that you need the development environment available for this approach to work at all, and you might find yourself compiling dozens of packages in order to resolve all the dependencies.

share|improve this answer
    
If you have root access but just don't want to install a particular package globally, you could use sudo apt-get build-dep package to install everything required to build a package (after getting its source with apt-get source). –  CyberShadow Jan 14 '13 at 22:25
    
the instructions to create a chroot seem to require root privileges ... Is there a way to use chroot without needing such privileges ? –  josinalvo Feb 27 '13 at 14:44
    
@josinalvo, check for schroot –  Sneetsher Mar 19 at 22:45
    
You could also build a deb package that installs somewhere beside the usual system directories, but that would be extremely eccentric. Though occasionally done, usually by corporate entities like Google. –  Faheem Mitha Aug 8 at 13:13
    
This answer was written back in 2010. Have there been any changes to how this is done since then? –  becko Sep 16 at 18:30

I assume you want to install jedit. First you have to find the package and download it. I just take the deb file from some mirror and open a console/terminal:

  1. mkdir /tmp/jedit && cd /tmp/jedit -- Makes a new diretory in tmp and changes into it.
  2. wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb -- Download package
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.deb or, easy to type, ar x *.deb -- this extracts the file contents
  4. tar xvzf data.tar.gz -- the file data.tar.gz has all the stuff which you need for executing the software
  5. usr/bin/jedit opens the editor
  6. done :-)

You can move the files to some point in your home directory and execute them from there.

share|improve this answer
5  
Note that pre- and post-install scripts don't get run; also you'll need to resolve any dependencies or paths yourself. But on a default install this is sufficient for a lot of desktop applications. –  jbowtie Jul 29 '10 at 12:01

I wrote a program called JuJu which basically allows to have a really tiny linux distribution (containing just the package manager) inside your $HOME/.juju directory.

It allows to have your custom system inside the home directory accessible via proot and, therefore, you can install any packages without root privileges. It will run properly to all the major linux distributions, the only limitation is that JuJu can run on linux kernel with minimum recommended version 2.6.32.

For instance, after installed JuJu to install jedit:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit
share|improve this answer
    
This will run just fine on Ubuntu right? –  Seth Nov 2 at 21:27
    
Yes, if the linux kernel version of ubuntu is greater or equal to 2.6.32 it will work. –  user967489 Nov 4 at 0:47

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.