"The Linux Gazette...making Linux just a little more fun!"


(?) The Answer Guy (!)


By James T. Dennis,
Starshine Technical Services, http://www.starshine.org/


(?) No STREAMS Error while Installing Netware for Linux

From Sean McMurray on Tue, 17 Nov 1998

I'm trying to install Caldera Netware for Linux on Redhat 5.1. Following the instructions from ftp://ftp.caldea.com/pub/netware/INSTALL.redhat, I get to Step 5 under "Downloading the Files."

(!) Well, I haven't played with this yet, since I don't have any Netware client systems around here. (Maybe one of these days I'll fire up one of my old XT's to use for clients).

(?) When I type in rpm -i kernel-2_0_35-1nw_i386.rpm, I get the following error:

ln: boot/vmlinuz-2.0.35-1nw-streams: No such file or directory

Can you tell me why? More importantly, can you tell me how to fix it?

(!) Well, the Netware for Linux requires a kernel with STREAMS and IPX patches built into it.
STREAMS is an alternative to BSD sockets. It's a programming model for communications within a Unix or other kernel --- between the applications interfaces and the devices. The Linux kernel core team has soundly reject suggestions that Linux adopt a STREAMS networking model for its native internal interfaces and we won't go into their reasoning here. (I'm inclined to agree with them on this issue in any event.)
So, this error suggests that the 'ln' command (creates hard and symbolic links) can't find the '/boot/vmlinuz...' files to which it refers.
One trick to try is to view the contents of the rpm file using 'mc' (Midnight Commander). Just bring up 'mc', select the RPM file with your cursor keys and highlight bar, and hit [Enter]. That will treat the RPM file as a "virtual directory" and allow you to view and manually extract the contents. Look in RPM:/boot for the kernel file --- also look for the README files.
I've occasionally manually extracted the files from an RPM and just put them in place myself. Then I read through any scripts that and docs contained therein to see what should have been done by the rpm system. (Usually this sort of dodge is only necessary when doing piecemeal upgrades to the rpm package itself).
There are other times when I have to resort to 'rpm -i --force --nodeps ...' to get things to work.
Note that this kernel may not support you hardware configuration (that's one reason why many Linux users build custom kernels). So you may have to find and install the kernel source patches and build your own --- or at least build a set of modules that match that version.
Probably your best bet would be to subscribe to the caldera-netware mailing list. Look to Liszt to help find specific mailing lists and newsgroups:
    Liszt: caldera-netware
    http://www.liszt.com/cgi-bin\
        /start.lcgi?list=caldera-netware&[email protected]

(?) No STREAMS Error while Installing Netware for Linux

From Sean McMurray on Wed, 18 Nov 1998

Jim Dennis wrote:


>When I type in rpm -i kernel-2_0_35-1nw_i386.rpm, I get the
>following error:
>ln: boot/vmlinuz-2.0.35-1nw-streams: No such file or directory
>Can you tell me why? More importantly, can you tell me how to fix it?

Well, the Netware for Linux requires a kernel with STREAMS and IPX patches built into it.

Shouldn't it be included in Caldera's RPMs then. It seems that the first they their install does is try to build a new kernel.Also, does the fact that ncpfs is built in indicate that the STREAMS and IPX patches already exist - the IPX patches, anyway?<clipped>

(!) It is. That's what that kernel is saying. However it seems that the /boot directory isn't there (my to 'mkdir' that) and, for some reason, your 'rpm' command isn't or can't make it. (If you do have a /boot directory --- maybe you've used 'chattr +i' to make it immutable. Maybe you have a file named /boot so that a directory can't be made by that name. Who knows?).

(?) Midnight Commander won't open the RPMs on my system, but I executed rpm -qpl kernel-2_0_35-1nw_i386.rpm > dump.txt to get a listing. The /boot files are: /boot/WHATSIN-2.0.35-1nw /boot/vmlinuz-2.0.35-1nw

The only files with the word stream in the title is /lib/modules/2.0.35-1nw/misc/streams.o

(!) ... that would be the STREAMS loadable kernel module. The other support and IPX patches are compiled into that kernel, and the FAQ tells you how to build a kernel to match the shipping one (close enough to load the requisite modules and route/utilize the IPX protocols anyway).

(?) There are other times when I have to resort to 'rpm -i --force --nodeps ...' to get things to work.

I tried to rpm -e kernel-2_0_35-1nw_i386.rpm, but rpm says that it isn't installed.

(!) That tries to "erase" (uninstall) that package --- except that you have to use the package's name not the package *file's* name. kernel-2.0.35-1nw is probably the package name. The filename is independent of that, though it is conventionally similar.
You can use the 'rpm -qpi' command to extract information about the RPM file including the package name.
In general the -i and -p options to 'rpm' refer to file while others refer to "packages."
If you issued the command 'rpm -ql foo-1.2.3-bang' RPM would list all of the files that are "owned by" the foo-1.2.3-bang package. If you issue the command 'rpm -qpl foo-1.2.3-bang.i386.rpm' then the command would list all of the file in that package file. If (by some chance) you had a different implementation of the same package these two lists might differ.
(That's a minor problem with the RPM system --- there's no central naming authority on package naming and versioning so you can have differences between, for example, the S.u.S.E. and Red Hat packages, with some differences in dependencies --- etc. Actually it's a rather major pain in the patootie when you're a S.u.S.E. user and you keep getting packages that are contributed to the Red Hat site. However, it's still usually easier than building them from tarballs and the "right" answer for me is probably for me to learn enough about building my own RPM's that I can grap the source RPM packages and modify them to fit. The "right" answer for Red Hat and S.u.S.E. and Caldera is to make their packages as compatable with one another as possible --- particularly with regards to dependences and provision identification).

(?) So I tried to rpm -e kernel-2_0_35-1nw_i386.rpm again, but rpm says it's already installed

(!) That sounds wrong. Are you sure you typed exactly that?

(?) I don't know rpm (or Linux) well enough to trust not hosing my kernel. I guess it's not that big of deal. I can just re-install RH5.1 from scratch.

(!) After awhile building and installing new kernels will seem as routine and editing an old DOS CONFIG.SYS file (though you probably won't do anywhere near as often.

(?) Probably your best bet would be to subscribe to the caldera-netware mailing list.

I'm subscribed, but impatient. Thank you for your help.

(!) I'd manually extract the kernel file from that RPM file, put it in the /boot/ directory, edit your /etc/lilo.conf file, run the /sbin/lilo command and try to reboot. Search through the old back issues of LG to read many messages about how LILO works -- or just read the HOWTO at:
http://www.ssc.com/linux/LDP/HOWTO/mini/LILO.html
(... and other LDP mirrors all over).
Naturally you'll want to leave an entry for your existing (working) kernel so that you can reboot into that if this Caldera supplied kernel is inappropriate for your system. You'll also want to prepare a boot/root (rescue) diskette. Although one (image) comes with each Red Hat distribution I personally prefer Tom Oehser's "rtbt" (a full mini distribution on a single floppy --- with a suite of Unix tools sufficient to do most networking and rescue operations). You can find that at:
http://www.toms.net/rb


Copyright © 1999, James T. Dennis
Published in The Linux Gazette Issue 36 January 1999


[ Answer Guy Index ] a b c 1 2 3 4 5 6 7 9 10 11 12
15 16 18 19 20 21 22 23 24 25 26 27 28
29 31 32 33 34 35 36 37 38 39 40 41 42 44
45 46 47 48 49 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66
67 69 72 76 77 78 79 80 81 82 84 85 86 87 91 94 95 96 97 98


[ Table Of Contents ] [ Front Page ] [ Previous Section ] [ Next Section ]