Solution 1:

There are many other tools in the Apt family that can assist with managing packages.

  • apt-move can build a local "installed packages only" repository,
  • apt-cacher or apt-cacher-ng are caching proxies,
  • apt-proxy is another proxy and partial mirror builder,
  • apt-zip can update a non-networked computer using Apt and removable media (Zip here refers to the old 100MB floppy-like media, not the compression),
  • aptoncd creates CD-based repositories with packages downloaded by Apt

These are available as individual packages; for the most part, you'd install them on the machine with network access to the official Apt repositories, and use them to create package repositories on removable media (for apt-zip or aptoncd) or configure that machine to be a local repository that other machines on the local network can access (for the various proxies and apt-move).

As Broam points out in the comments, if you have differing architectures some of these will be more useful than others.

Solution 2:

Yes, you can do that. apt-get will look at cache folder first, and if the version of the package you wanna install is the same with the cache version, apt-get will use the cache version without going to internet

Solution 3:

two options i can think of - use dpkg to install the packages or use aptoncd