I am not going to describe post-apocalyptic scenarios (war, aliens, asteroids, zombies...) as it is part of a modern culture and everyone knows what it is. Also. I am not going to explain, why (when installing software on 100 robotic tractors in the middle of rural area with Internet speed between slow and none, you would like to save the bandwidth.
I have been in both situations: one with zombies (sorry, I am not allowed to tell you details) and one when I wanted to do software development from a cruise ship (they had Internet at $6 per minute, frankly, I would better deal with zombies).
Anyway, as you came to this Web site, you probably have your reasons to look for ways of working offline.
Please keep in mind that this site is only for Ubuntu on PC side (as I mostly work with Ubuntu) plus some software for smaller computers (Raspberry Pi, Arduino etc) as I do some robotics projects. So - no Windows, sorry.
Here is what you will find here (all items in the list below assume the "offline" prefix):
Unfortunately, list I am building is far from being complete. There are many ways to achieve the same objective (like making an offline copy of the Ubuntu repos), and I just have no time to look through them all. So in addition to the "theoretical overview", I am going to add a practical configuration that I use to maintain my archive. This way you don't have to read through all the theory, and just follow the instructions instead.