How to make USB drive as local repository
Solution 1
You should build a repository in a local directory and point a file:
URI entry to your APT sources (see URI SPECIFICATION in man sources.list
):
deb file:/home/user/repository
To make apt work, you need to create a list of packages (Packages.gz) for APT to consume. This is explained in detail here. For your case, it should be quite easy. I refer you to the "Trivial Repositories" section of the manual. It should be as easy as changing to, say, /home/user/repository and running
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
Then after a apt-get update
, the packages should become available. Perhaps if you want to make this source take precedence over others, you need to assign it a higher priority; for that see the APT manual pages.
Solution 2
I don't think there is a way to add this as a repository but you can use it to install the packages by copying the contents to your /var/cache/apt/archives. To do this, press alt-f2, enter gksudo nautilus
and do the copy. Once you have done, make sure you close the file manager window because it is not a good idea to use the file manager as root except for the tasks that absolutely require it.
To view/install these packages, run System -> Administration -> Synaptic Package Manager, click the 'Origin' button and choose 'Local' from the list.
In the future, you are better off using a program called aptoncd which can be installed from the repositories. It can be used to create a CD image that can be added as a software source. This image can be transported on a usb stick.
The easiest way to add the image as a software source is to burn it to a CD/DVD. You then need to go to System -> Administration -> Software Sources, click 'Other Software' and click 'Add CD-ROM...'.
If you want to use the ISO image as a software source without burning it, the process will be a bit more complicated. You will need to open a terminal Applications -> Accessories -> Terminal and run these commands:
sudo mkdir /aptoncd-mountpoint
sudo mount /media/USB/aptoncd.iso ~/aptoncd-mountpoint -oloop
sudo apt-cdrom -d=/aptoncd-mountpoint add
(source: http://www.debianhelp.org/node/10486)
If you want to download packages on one computer (Linux, Mac or Windows) and install them on an Ubuntu system, you can use keryx.
Solution 3
If you want to use a official CD / USB / ISO image from Ubuntu as repository, you can add this into /etc/apt/sources.list
:
deb file:/media/usb xenial main restricted
first, you need to mount your image in /media/usb (for example) and change xenial
for your image version.
The server edition only contains main
and restricted
, while the Desktop version additionally contains universe
and multiverse
.
My personal case:
After installing Ubuntu (in a server without internet), I forgot to tick the "OpenSSH server" box so the installation finished without it. I tried to dpkg -i openssh....deb
but as it requires several dependencies, it was better to do it appropriately. At the end, the selected answer in this page helped me to find out how to use my image as repository and it worked without issues.
This can be useful if you are looking for a way to downgrade a package to an specific version included in an image.
Rojan
Updated on September 17, 2022Comments
-
Rojan over 1 year
I copied "archives" folder (/var/cache/apt/archives) from another computer which was fully updated and had some packages that i want. Can someone guide me how to add my USB drive in repository list so that i can install those packages from it?
Thanks.
-
Admin about 10 years
-
-
loevborg over 13 yearsI don't think this is accurate. There is a file:// URI type. Making an iso image is really much too complicated for this simple task.
-
loevborg over 13 yearsn.b. the local directory in question can of course also be a USB drive, such as /media/usbdrive/repository
-
Dave over 8 yearsI wrote a quick-and-dirty script that demonstrates a quick-and-dirty local repo: gist.github.com/linuxluser/3af5fd16dde41b82972a
-
Admin over 7 yearsWelcome to AskUbuntu! Please consider expanding your answer, as link-only answers are not of great quality.
-
Evan Carroll over 6 yearsI just get
dpkg-scanpackages: error: binary directory binary not found