Debian – Install programs without an internet connection on Debian

debianpackage-managementsoftware installation

So I've been battling with my debian install lately, it doesn't have the firmware for either eth0 or wan0 NIC's. However, I got a firmware.zip file that I need to extract to /lib/firmware. The problem is, since I have no connection from the computer, I can't just apt-get what I want.

Here's my question, I don't know a huge amount about the natural dependencies of Linux (Debian specifically), so I need to know a way to get them installed without internet. I can't even unzip this firmware file I have to get internet because as far as I can tell there is no default unzipping program. If I were to download the package and transfer it over on my USB drive, then it wouldn't run, because it needs libbz2-1.0, libc0.1, libc6, libc6.1, and libgcc1. It also suggests a program called zip. libc6 requires libc-bin and recommends libc6-i686, and suggests debconf.libc0.1.

Without being able to unzip anything who knows if I'll even be able to install these things. Do you guys know if there's just a very basic package that will install all these standard packages for me?


I'm going to put some of the errors I'm getting now even though I think that I installed the drivers.

ping google.com
ping: unknown host google.com

ping 192.168.10.101
connect: Network is unreachable


dmesg | grep wlan0
[ 5.348890] udev [432] : renamed network interface wlan0 to wlan1


dmesg | grep Broadcom
[ 1.028800] eth0: Broadcom 44xx/47xx 10/100BaseT Ethernet 00:15:c5:b8:79:75
[ 5.127449] b43-phy0: Broadcome 4311 WLAN found (core revision 10)
[ 5.309856] Broadcom 43xx driver loaded [ Features: PMLS, Firmware-ID:FW13 ]


ifup wlan1
Ignoring unknown interface wlan1=wlan1.


ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:15:c5:b8:79:75  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:17 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan1     Link encap:Ethernet  HWaddr 00:18:f3:85:99:07  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

This is where I get really confused:

ifconfig wlan1 192.168.10.111
b43-phy0 ERROR: Firmware file "B43/ucode5.fw" not found
b43-phy0 ERROR: Firmware file "B43-open/ucode5.fw" not found
b43-phy0 ERROR: You must go to blah blah blah and get the firmware
SIOCSIFFLAGSS: No such file or directory

So despite the fact that my dmesg says that the 43xx driver is loaded, ifconfig says it's not. What do I do at this point? I'll post a bit more data in one minute.


So I guess I didn't run firmware-b43-installer_4.150.10.5-4_all.deb. I just did it by typing this:

dpkg -i firmware-b43-installer_4.150.10.5-4_all.deb
(Reading database ... 14006 files and directories currently installed.)
Preparing to replace firmware-b43-installer 4.150.10.5-4 (using firmware-b43-installer_4.150.10.5-4_all.deb) ...
Unpacking replacement firmware-b43-installer ...
Setting up firmware-b43-installer (4.150.10.5-4) ...
...

However at this point it tries to access a mirror (http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2). Holy crap is there any way possible to just get files that don't require an internet connection?

Best Answer

My suggestion would be to use a good old fashioned CD/DVD. Manually installing all packages with dpkg is possible if you download each .deb along with its dependencies (and theirs, and theirs...) but really not pleasant.

I would:

  1. download and burn the CD/DVD of the Debian distro you are using (check /etc/debian_version) if you don't have one
  2. Put the DVD in and run sudo apt-cdrom add and follow the instructions to add the DVD to apt's sources
  3. Run apt-get install firmware-whatever or whatever

If your firmware isn't part of the official debian distribution, then at least you can install it with dpkg -i <firmware.deb> and use apt to install its dependencies.

Related Question