I have a friend who has got a computer that is not connected to the Internet. Is there any way to install software offline easily?
Check out Keryx, it's an offline repository manager.
How does it work? It lets you download updates and new programs (with dependencies) to your flash drive.
Its interface is similar to synaptic but it works from a pendrive (it doesn't need installation). Unfortunately, the GUI needs wxwidgets, which don't come preinstalled on Ubuntu (they're cross-platform and installable from here and ubuntu repository here). It can only install software in a Ubuntu system, but you can download the updates or new packages in any Linux, Windows or OS/X.
Here you can find a tutorial.
Another detailed step-by-step tutorial in this answer.
Launchpad also hosts downloadable files.
A quick hack
A quick hack is to copy all the packages you downloaded for your install to his machine. The .deb files are stored in
A DVD repository
If you want the latest bug fixes and security patches available then have a look at this tutorial, which covers creating your own DVD repository.
A USB repository
If you have a decent sized USB stick - assuming around 4-8Gb (or external hard drive) you can set up a custom copy of the Ubuntu repository and configure that as a local repository as covered in AptGet/Offline/Repository on help.ubuntu.com.
To get the actual package files (the .deb files), I suggest using
and edit its configuration file
Only include the repository sections you want. Here is a simple example that copies the binary .deb files from all 4 sections (main, restricted, universe and multiverse) as well as the latest bug fixes.
It is guesstimated that you will need around 15Gb of space for all 4 sections, without the source.
I have put the path for all the .deb files to be
If you just want the main files, remove the restricted, universe and multiverse names from the configuration file.
If you are using a different architecture (you have 64bit, but your friend has 32 bit) then add the following at the start of the mirror.list configuration file:
Once you have the
Once you have the .deb files, copy the files to your USB memory stick (or external hard drive) and set up the local repository as per the article mentioned previously.
Test it works before taking it to your friend!
You need to get a PC with Internet connection first, where you can download required .deb files. Once you have downloaded all the files, You can now create a CD/DVD rom or ISO file which can you use to install the software you have downloaded in your offline PC.
Start with a clean install or VM.
Install the packages you want on one PC
Note that aptoncd only backs up things in the current apt-cache.
I use apt-get with the "--print-uris" option to do it. I also add "-qq" so it would be quiet.
Use sed to remove extra characters added to some filenames (something like 3%2a) and to get the url, filename and md5sum of files. Use wget to download the files. Use md5sum to check if the files are downloaded properly.
You may use this to create a shell script for Linux or Mac OS (replace ".cmd" in the commands to .sh and do "chmod a+x (filename) to add permission to execute the script) or a Windows Command batch file, and an MD5Sum file to make sure the files are downloaded correctly.
Create md5sum file:
You need md5sum for Windows if you're using that operating system to download files.
Create script to download repository listings:
Checking MD5 Sums
You may add these to the ends of scripts to check md5sum:
Windows (uses older md5sum, does not support --quiet):
To add automatically to script:
Installing List Files (Update Command)
Run these commands to the target computer.
You need to use bunzip2 to extract the repository list files:
Then copy to listing folder (current folder only contains list files):
Above combined (current folder may contain other files):
If you want to make downloading the files faster, try using Axel.
Folder Hierarchy (Downloading files using Windows)
I usually create a folder like this:
This will separate the *.deb files and list files into different folders.
Updating your system
Download Executables for Windows
Wget for Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
You may also use the ones from MinGW, which are what I use. You only need wget.exe, md5sum.exe and the necessary shared libraries. Check the section "Folder Hierarchy".
In synaptic you can select the packages you want to install and under the first menu there is an option to generate a script which you can take to another machine and run there. This script will "wget" (i.e. "download") all the packages you specified that you wanted (and their dependencies) which you run on a computer that does have internet access.
Once run you'll have all the package files needed by the disconnected computer. Carry them on a CD/USB stick and install them by
Step 1: Get the download URLs in a file :
Execute the following command replacing package-names with required ones, separating by a space.
Step 2: Copy this file (apturls) to a machine which has high-speed Internet access, and execute the following command to download the packages:
Step 3: Now get those downloaded packages to your machine, and install them using :
You can use Cube. It is an offline package management system which is compatible with Ubuntu, Linux Mint and other distributions that use apt-get.
Latest Preview of Cube 1.0.8 (February 7, 2014 Release)
Running in freshly installed Ubuntu 12.04
Microsoft Windows -- Downloading packages
Ubuntu (Original Computer) Installing previously downloaded packages
It is written in C#, and running in both Windows and Linux Distributions using mono-framework. Cube is a portable application, and no additional applications needed to be installed in Linux to use it.
You can download it from its Launchpad page (cube.zip) : Camicri Cube Launchpad Page
Or from SourceForge : Camicri Cube SourceForge Page
A tutorial is also included in the zip.
Still in continuous development (BETA) phase, Debian Apt-Based distributions (Ubuntu and Linux Mint) are currently supported (Both 32 and 64bit). Kindly read the "Readme.txt" inside for more details. You could also help in maintaining it by reporting bugs and translating to your language at its launchpad page. Thank you.
You can use
The Offline installation is achieved in 3 simple steps.
Apt-offline can be even used in Windows systems. In my opinion,
There are several good, effective answers listed above. However, this is the mechanism I personally use -- apt-ftparchive. I'm documenting it here, in case I need it again in the future. Perhaps it might be useful to you.
Creating the Archive Snapshot
Using the Archive Snapshot on the Offline Target System
For offline installation you will need the packages. If you are using a Debian system
You may have problems with dependencies. You need to install all those first for a successful offline installation.
Yes. You can download the DVD iso, burn it on a DVD, and install the software from the DVD. See here CDs and DVDs can be given as source to package managers in the same way as online archives.
This is not a fully detailed answer, but at a high level you could:
I suggest to customize Live CDs and install them.
You also can download the files on http://packages.ubuntu.com/filename, but then you have to pay attention to the dependencies, too.
Another possibility is to use remastersys. This tool allows you to make an iso image from your own system and after creating a bootable usb stick via unetbootin you can install a customized system to as many computers you want.
I have a couple of simple suggestions. You can go to the library. Look in the computer section for the operating system that you want, some of the books have DVD's inside of them. Also, if you want the most up to date operating system, I would reccomend this website where you can purchase a DVD for a nominal fee. www.ubuntu.com/download/desktop.
This question is a bit old so an answer at this time may be redundant, but perhaps you could also try using dpkg-offline. Install bzr, then:
there's a tutorial and a readme file included in there.
Assuming you want to install git on an Ubuntu 14.04 amd64 system, even if your system is e.g. 12.04 i386, you can:
dpkg-offline will work with any Ubuntu desktop version from 10.04 onwards (I haven't tested with older versions but they should also work), and with any Ubuntu server version from 12.10 onwards. It should also work with amd64, i386 and armhf images regardless of the host architecture. Again, I haven't tested with arm64 or powerpc/ppc64el but they may also work.
Disclaimer: I wrote dpkg-offline.
The first thing you could do before an offline package installation is update the repository/repositories that you need. You should for sure like an updated the Main repository (for free and officially supported software).
The applications which you are looking to install might be in some other repositories like the Universe (free but no official support), or the Restricted (non-free, officially supported), or the Multiverse (non-free, no official support) repository. So you might want one or more of these too.
So the first step in the process is to build an updated offline repository; then generate the "to-download" list and download them, and finally the insatllation. Here's how it's done: source