Soon I will go to a meeting where I might have to install Debian GNU/Linux without an Internet connection. To do the job, I made up a USB drive with everything I will need:
- basic formatting,
- firmware, including possible non-free stuff: firmware.tar.gz
- a CD image (debian-7.6.0-i386-xfce-CD-1.iso, and
- a local repository created with debpartial-mirror containing 1023 packages I wanted but could not fit in the drive as CD-images
To test out this rig, I created a virtual machine and booted it from the USB drive. The default installation was routine, hardly different from any other. When I booted the minimal system, though, the repository in the CD would not work for me and debpartial-mirror didn’t have Debian’s signing keys… so I just used dpkg to install what I wanted.
The local repository I created on the USB drive had all the .deb’s on a single level so
dpkg -i debian/pool/*/*/*/*.deb got everything there. It worked very well except that it thought three packages were broken. One was a discrepancy between versions on the CD and in the repository. Another was irrelevant because the package wasn’t likely to be used. One was a missing package. We missed one. Then I started up the GUI and saw this, in all its glory:
So, it’s not exactly like XP. It’s configurable and it fit in 4.3gB on the virtual hard drive. 😉 This is a lightweight setup which should give new life to an old notebook sagging under Vista.
One problem was that I had left out gksu to run synaptic, so I had to download the packages to put in a directory on the USB drive. If I want to offer remote support, I can get openssh-server off the CD. I can mount the CD on a local directory to get at the .deb’s there:
mount whatever.iso some_dir/ -o loop,ro.
The entire configuration for debpartial-mirror?
;; debpartial-mirror configuration file.
;; Show debug information?
;debug = DEBUG
;; Mirror destination directory
mirror_dir = /home/pogson/debpartial-mirror/
;; Which architectures should I download?
architectures = i386
;; What should I look for, by default?
components = main
distributions = wheezy
;; What should I get?
get_suggests = true
get_recommends = true
get_provides = true
get_sources = false
get_packages = true
;; Here is our first backend. It mirrors a subset of packages from the
;; Debian official repositories.
;; Where do we get the packages from?
server = http://http.debian.net/debian
;; Since we specify components and distributions in this section, what we
;; specify here overrides the settings in [DEFAULT].
components = main contrib non-free
distributions = wheezy
;; Only get a subset of the packages in this source.
filter = name:xorg|xfce4|wifi-radar|wicd|iceweasel|libreoffice-writer|libreoffice-calc|gnumeric|vlc|gimp|xfce4-weather-plugin|lightdm|xfwm4|xserver-xorg-|xpdf|ristretto|aptitude|synaptic|gufw|xfburn|net-tools|glib-networking-services|python-numpy|gnome-icon-theme|dconf-service|liblapack3|gksu|openssh-server
;;resolve_deps_using = wheezy
;; And get the source packages as well for this backend.
get_sources = false
Yes, gksu, and openssh-server are in there. I must have messed up my versions as I converged on a solution…(I do need a secretary but can’t afford to pay one)… debpartial-mirror is wonderful because a short list like that pulls in the dependencies too. I can concentrate on what the user needs rather than ~1000 details.
Anyway, Debian GNU/Linux is a powerful operating system with powerful tools to use whether on or off the web and with or without a CD-drive. M$, eat your heart out.
UPDATE At the meeting, the lady had not brought her laptop but we did exchange e-mail address for follow-up. She often travels near my neighbourhood. Interestingly, another participant of the meeting, an active teacher, reported that her school’s secretary uses GNU/Linux on her desktop. Amazing. Usually school secretaries are the most difficult to convert because they have a huge inventory of documents and don’t want to risk upsetting the flow of information.
I even found there is at least one person in that town who does GNU/Linux but he does not provide training, just setup and networking support, exactly the backup we might need. I can provide training if e-mail is working.
UPDATE I redid the filter for debpartial-mirror to include the things I missed before and flashplugin-nonfree too.
"/media/usb1/debian/pool# ls */*/*/*.deb|grep "gksu\|ssh\|flash" All in all there are 1050 packages drawn in. Not bad for a few minutes of my time and 25 minutes downloading automatically with dependencies. Great. It makes for a speedy installation of a very usable system.
"filter = name:xorg|xfce4|wifi-radar|wicd|iceweasel|libreoffice-writer|libreoffice-calc|gnumeric|vlc|gimp|xfce4-weather-plugin|lightdm|xfwm4|xserver-xorg-|xpdf|ristretto|aptitude|synaptic|gufw|xfburn|net-tools|glib-networking-services|python-numpy|gnome-icon-theme|dconf-service|liblapack3|gksu|openssh-server|flashplugin-nonfree"
I hope she drops by so I can try this out “in the wild” so to speak. I have no idea what hardware she has except it’s a notebook with Vista and running at a snail’s pace…