[sf-lug] debian base system (initially without X11) install progress (or lack there of!) report

Rick Moen rick at linuxmafia.com
Wed Dec 12 11:55:54 PST 2018


Quoting Alex Kleider (akleider at sonic.net):

> The exact response:
> # dpkg -i firmware-iwlwifi_20161130-4_all.deb
> -/bin/sh: dpkg: not found

I'm a little mystified.  Of course, dpkg may just not be in $PATH during
installer runtime.  Logically, it _must_ be present, because it's the
basic tool by which the base system installs anything.

Docs say
(https://www.debian.org/releases/stretch/amd64/ch06s04.html.en):

  6.4. Loading Missing Firmware

  As described in Section 2.2, “Devices Requiring Firmware”, some devices
  require firmware to be loaded. In most cases the device will not work at
  all if the firmware is not available; sometimes basic functionality is
  not impaired if it is missing and the firmware is only needed to enable
  additional features.

  If a device driver requests firmware that is not available,
  debian-installer will display a dialog offering to load the missing
  firmware. If this option is selected, debian-installer will scan
  available devices for either loose firmware files or packages containing
  firmware.
  [...]
  To prepare a USB stick (or other medium like a hard drive partition,
  or floppy disk), the firmware files or packages must be placed in either
  the root directory or a directory named /firmware of the file system on
  the medium. The recommended file system to use is FAT as that is most
  certain to be supported during the early stages of the installation.
  
'echo $PATH' might be enlightening, in tracking down where the
installer's copy of dpkg is (or at least where it isn't).  On a normal
installed system, the utility is at /usr/bin/dpkg .   You know about
PATH, right?  It's the user's environment variable defining which
directories (a colon-separated list, to be used in the order defined)
the shell will search for an executable invoked without an explicit
path, before giving up and saying '[thing]: command not found'.  Like,
maybe during installation, the root user doesn't have /usr/bin in $PATH,
or maybe dpkg is in a directory omitted from $PATH.  (Me, I'd look
around, and give the thing's explicit path to run it.)

In any event, the _installer_ obviously knows where dpkg is, so you
could just do what the indented docs paragraphs say and park the firmware
.debs in the root directory of a flash drive, for the installer to scoop
up.


If nothing else, Alex, you may be emerging with a better understanding
of how the shell finds commands (absent a fully qualifed pathspec).
Look in your dotfiles, to see how this works.



More information about the sf-lug mailing list