Linux-Development-Sys Digest #609, Volume #8 Wed, 4 Apr 01 14:13:13 EDT
Contents:
Re: Equivalent function to IRIX hinv? ("Carden, C. (Chris)")
Re: TCP/IP socket buffering (Grant Edwards)
file reading from kernel again (Massimiliano Caovilla)
Re: How can I use the SCI inside linux module for DSM?? (Emmanuel CECCHET)
Re: file reading from kernel again (Emmanuel CECCHET)
Re: Help with inline assembly ("Osiris Pedroso")
strace (Moslem Belkhiria)
Re: mysql or postgresql? which is better?
Need your recommendation for a full-featured text editor (Knowledge Seeker)
Re: mysql or postgresql? which is better?
Newbie question: how to debug threaded functions ("Thomas A. Anderson")
net driver in 2.4.x (vishwanath parakala)
Re: the kernel size ??? (vishwanath parakala)
Re: TCP/IP socket buffering ("Joseph A. Knapka")
How to control time to wait when opening a socket ? ([EMAIL PROTECTED])
Re: the kernel size ???
----------------------------------------------------------------------------
From: "Carden, C. (Chris)" <[EMAIL PROTECTED]>
Subject: Re: Equivalent function to IRIX hinv?
Date: Wed, 04 Apr 2001 10:09:46 -0400
Robert Lynch wrote:
>
> "Carden, C. (Chris)" wrote:
> >
> > Can anyone point me to a way or ways to get a hardware inventory from
> > Linux? I'm stuck in a dungeon without documentation.
> >
> > IRIX has a nice function, called hinv, which produces a listing like
> > this:
> >
> > > 1 400 MHZ IP30 Processor
> [snip-rest of inventory]
> > Any ideas would be appreciated. Thanks in advance.
> > --
[snip signature]
>
> Some time back, someone (not me, it's NOT mine) posted this Perl
> script:
> ==
[snip script]
> __END__
>
> anm
> --
> Andrew N. McGuire
> [EMAIL PROTECTED]
> perl -le'print map?"(.*)"?&&($_=$1)&&s](\w+)]\u$1]g&&$_=>`perldoc -qj`'
>
> ==
> HTH. Bob L.
> --
> Robert Lynch Berkeley CA USA [EMAIL PROTECTED]
Thanks. I also got 4 different hinv perl scripts from sgi, giving me 5
in all to choose from. I thought that there would be a nice trustworthy
solution to my problem, but on testing all 5 of the scripts, it appears
that at least 4 of them are opinionated in their reporting.
Three of the 4 sgi scripts report 1023.9375 Mbytes for main memory, the
most recent of the 4 reports 960 Mbytes, and the one that you sent
reports ~1011M total memory.
The nice thing about the script that you posted is that it reports the
cpus as:
2 GenuineIntel 798.652989 MHz processors
whereas the 3 of the 4 sgi scripts report as:
1 GenuineIntel 3 processor
1 GenuineIntel processor
and 1 of the sgi scripts says:
2 GenuineIntel Pentium III (Coppermine) processors
Much nicer to have the speed of the processor included in the report,
but the model name is useful, too (especially when you find out
something as significant as Coppermines). That information comes from
/proc/cpinfo, according to the script that you posted.
I'll have to look at the sgi scripts and find out why the discrepencies
in the information dept.
The game is afoot, Watson.
P.S. -- your signature is cool. I ran it on Linux and got the intended
result. I ran it on IRIX, however, and got muchos errors. I'm noticing
that perl and other scripts are not as portable as one would first
think. Oh, well.
--
Chris Carden
Software Engineer
Certified Maya Instructor
Alias|Wavefront, Inc.
[EMAIL PROTECTED]
(248) 521-0676
------------------------------
From: [EMAIL PROTECTED] (Grant Edwards)
Crossposted-To: comp.os.linux.networking
Subject: Re: TCP/IP socket buffering
Date: Wed, 04 Apr 2001 14:57:01 GMT
>> In article <[EMAIL PROTECTED]>, Lew Pitcher wrote:
>>
>> >>Does anybody know how to disable receive buffering?
>>
>> [using TCP for datagrams]
>>
>> Bummer. I'm stuck supporting legacy products that use TCP as a
>> datagram service. Programs that use TCP as a datagram service
>> are just plain broken. But when they're already fielded, I
>> guess you've got no choice but try to support them.
>
>Reading from a TCP stream is no more problematic than reading
>from a file sequentially.
I'm aware of that. The legacy stuff I'm supporting would be
unable to read a command sequence from a file: it depends on
each read() call to return exactly one command (of whatever
length). If commands get fragmented into mutple read()s it the
program doesn't work. If a read() returns multiple commands,
only the first is processed.
>Any stream, in order to be understood by the receiver, is going
>to have to be structured in some way, so why the fuss if that
>structure happens to consist of packets N bytes long? Just
>prepend a message length to each packet, or install delimiters,
>or whatever, and be prepared to handle recv() failures
>gracefully.
The software I have to talk to is burned in ROMs in thousands
and thousands of boards scattered about the planet. I can not
change it.
>I can't see how this is any worse (more difficult/less
>reliable) than trying to implement reliable datagrams on top of
>UDP;
UDP preserves the boundaries between write() calls.
>in fact the latter seems quite a lot easier to get wrong in
>some non-obvious way that takes many person-hours to track
>down. Please enlighten me.
Under TCP, you only get a 1:1 mapping of write() calls to
read() calls under ideal conditions. Under UDP, your are
guaranteed to get a 1:1 mapping of write() calls to read()
calls -- assuming nothing gets lost. Using UDP you have to
impliment reliability at the user level.
The boxes I'm dealing with are treating TCP as if it was a
reliable datagram service. It is reliable but it's not a
datagram service. I've worked on quite a few applications that
could have been much simpler if SOCK_SEQPACKET was implimented
on top of IP.
Today, if you want reliable datagram service, you either use
TCP and come up with a delimiter/packet-length scheme in user
space to handle the "datagram" part of the requirement, or you
use UDP and do the "reliable" part in userspace.
It would be nice to have the system provide a reliable datagram
service.
--
Grant Edwards grante Yow! .. I
at feel... JUGULAR...
visi.com
------------------------------
From: Massimiliano Caovilla <[EMAIL PROTECTED]>
Subject: file reading from kernel again
Date: Wed, 04 Apr 2001 15:26:07 GMT
Hello
I have module that REALLY NEEDS to read/write files from within the
kernel: I actually do that by calling directly the file operations from
the file * I get with a filp_open. It works well, but I can't find a way
to check its error return. Actually, I do a comparison between the
size_t returned by read and the size_t I requested to be read> anyway,
it seems it dosn't work if I open a file in O_CREAT and then try to read
from the file! How should I check in another way?
Thanks, Massi
------------------------------
From: Emmanuel CECCHET <[EMAIL PROTECTED]>
Subject: Re: How can I use the SCI inside linux module for DSM??
Date: Wed, 04 Apr 2001 18:27:03 +0200
This is a multi-part message in MIME format.
==============910CDFA7FEAEE5A1DA5A6163
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hi,
> Can any one advise me solving the following problem.
> I want to use the distributed shared memory DSM inside the linux kernel.
>
> My platform is some PC's running Mosix kernel version 2.2.17
> communicated by Dolphin PCI-SCI adapter cards D310. I wrote a module
> which use the PCISCI device functions, but I can not open this device.
Why do you try to use it as a device ? You can directly call the functions
that are exported in the kernel by the driver. Which driver do you use ?
> I received the following error when I call insmod for my module :
> Unable to handle kernel NULL pointer dereference at virtual address
> ......
That's just a segmentation fault in the kernel. You're trying to
access a NULL pointer. You must check every returned value
to prevent this kind of things.
> Have any one an idea how can I open a file inside the kernel space. I
> need to use the shared memory segments in kernel space.
You can get a 'struct file' by using the same code as sys_open()
is fs/open.c. After the call to filp_open(...) don't forget to check
if everything was ok with the IS_ERR(..) macro.
In the struct file, you have the f_op field that is a structure of
file system operations specific to each file system. You can use
the specific read/write operations by using f->f_op->read(...)
or f->f_op->write(...)/
Be careful when using buffers in the kernel, the memory is
really limited !
Have fun
Emmanuel
==============910CDFA7FEAEE5A1DA5A6163
Content-Type: text/x-vcard; charset=us-ascii;
name="Emmanuel.Cecchet.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Emmanuel CECCHET
Content-Disposition: attachment;
filename="Emmanuel.Cecchet.vcf"
begin:vcard
n:CECCHET;Emmanuel
tel;fax:04.76.61.52.52
tel;work:04.76.61.52.63
x-mozilla-html:FALSE
url:http://sirac.inrialpes.fr/~cecchet
org:INRIA Rh�ne-Alpes;Is�re (38)
adr:;;655, Avenue de l'Europe;Montbonnot St Martin;;38330;FRANCE
version:2.1
email;internet:[EMAIL PROTECTED]
title:Ph.D Student/Doctorant
x-mozilla-cpt:;-3808
fn:Emmanuel CECCHET
end:vcard
==============910CDFA7FEAEE5A1DA5A6163==
------------------------------
From: Emmanuel CECCHET <[EMAIL PROTECTED]>
Subject: Re: file reading from kernel again
Date: Wed, 04 Apr 2001 18:35:12 +0200
This is a multi-part message in MIME format.
==============E161FA23A3AF8DD53689E6AD
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Massimiliano Caovilla wrote:
> Hello
> I have module that REALLY NEEDS to read/write files from within the
> kernel: I actually do that by calling directly the file operations from
> the file * I get with a filp_open. It works well, but I can't find a way
> to check its error return. Actually, I do a comparison between the
> size_t returned by read and the size_t I requested to be read> anyway,
> it seems it dosn't work if I open a file in O_CREAT and then try to read
> from the file! How should I check in another way?
Filesystems using the generic_file_read(...) operation usually
return -EFAULT as ssize_t if read failed. It's true for
ext2 and nfs, I haven't check for the others.
Let me know if it doesn't work.
Emmanuel
==============E161FA23A3AF8DD53689E6AD
Content-Type: text/x-vcard; charset=us-ascii;
name="Emmanuel.Cecchet.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Emmanuel CECCHET
Content-Disposition: attachment;
filename="Emmanuel.Cecchet.vcf"
begin:vcard
n:CECCHET;Emmanuel
tel;fax:04.76.61.52.52
tel;work:04.76.61.52.63
x-mozilla-html:FALSE
url:http://sirac.inrialpes.fr/~cecchet
org:INRIA Rh�ne-Alpes;Is�re (38)
adr:;;655, Avenue de l'Europe;Montbonnot St Martin;;38330;FRANCE
version:2.1
email;internet:[EMAIL PROTECTED]
title:Ph.D Student/Doctorant
x-mozilla-cpt:;-3808
fn:Emmanuel CECCHET
end:vcard
==============E161FA23A3AF8DD53689E6AD==
------------------------------
From: "Osiris Pedroso" <[EMAIL PROTECTED]>
Subject: Re: Help with inline assembly
Date: Wed, 04 Apr 2001 16:41:16 GMT
LOCK is a macro, most likely reducing to the string opcode for the lock
operation for the current platform (for X86, "lock", which prepends the byte
0x0F to the instruction) . It indicates that the next instruction should be
atomic (prevents other processors from using that address until this
instruction has completed)
.section .text.lock
tells the compiler to generate the code following it into a new section,
named .text.lock
.previous
tells the compiler to rever back to the previous .section (default is .text)
Hope this helps
"G" <[EMAIL PROTECTED]> wrote in message
news:99a9f7$fju$[EMAIL PROTECTED]...
> Hi,
> This is wrto inline asm semaphore implementation in linux.
> __asm__ __volatile__(
> "# atomic up operation\n\t"
> LOCK "incl %0\n\t" /* ++sem->count */
> "jle 2f\n"
> "1:\n"
> ".section .text.lock,\"ax\"\n"
> "2:\tcall __up_wakeup\n\t"
> "jmp 1b\n"
> ".previous"
> :"=m" (sem->count)
> :"c" (sem)
> :"memory");
> }
> Can somebody explain what LOCK , .text.lock and .previous mean in this
> context. Went throught the gcc inline asm info page and as pseudo ops
info
> pages...but couldn't find what .text.lock or .previous mean .. I know abt
> text, and data sections but what is .text.lock . (Yeah I am a bit green
:)
> )pls halp.
>
> K
>
> (btw code is copyright linus trovalds and license as per GNU GPL ..shud i
> include this??)
------------------------------
From: Moslem Belkhiria <[EMAIL PROTECTED]>
Subject: strace
Date: Wed, 04 Apr 2001 18:39:28 +0200
Reply-To: [EMAIL PROTECTED]
hi,
I'm a Linux newby and I'm interested in the strace tool to intercept
system calls.
I took a look at the source code and I don't understand how strace deals
with fork, clone and vfork system calls.
Is there someone who can direct me where to find the part of the code
treating this stuff?
Thank you for your help
moslem belkhiria
------------------------------
From: <[EMAIL PROTECTED]>
Subject: Re: mysql or postgresql? which is better?
Date: Wed, 04 Apr 2001 16:45:42 GMT
Tim Roberts <[EMAIL PROTECTED]> wrote:
> I have to say your performance notes are exactly contrary to my experience.
> Having done web sites on both, I vastly prefer postgresql because of it
> better feature set and robustness, but MySQL has outperformed Postgresql in
> every benchmark I've ever done. The margin has been as much as 10:1 in
> cases where I didn't use transactions.
The latest postgresql (and a couple of the previous ones) are alot
better performancewise. So, if by happy accident your workload falls
into one of the optimised sections, you can win big. It would be
really nice to see an objective comparison for web uses done, since
the last one I saw where postgresql won big featured alot of the huge
multi-table selects that are kind of rare in some uses.
It's also worth noting that I use postgresql because of pg_access, and
some apps I wrote which use transactions. So I admit to a bias.
One question worth asking would be if MySQL still does table-level
locking, or if it can do row-level locking now. And if either is
expected to impact the OP's problem.
>>It's definately worth benchmarking both for critical applications.
> Now, THIS is the kind of excellent advice that Usenet so rarely sees...
I'm always perplexed why people don't benchmark their application when
it's using free libraries and tools. (I'm perplexed why they don't do
it with non-free tools too, but at least that has an excuse) Given the
relative ease of installation for both, and a minimally painfull
migration between the two, a couple days spent benchmarking is a sound
investment. Especially since, as you noted, the performance difference
can be 10-1 in some cases.
--
Matt Gauthier <[EMAIL PROTECTED]>
------------------------------
From: Knowledge Seeker <[EMAIL PROTECTED]>
Crossposted-To:
24hoursupport.helpdesk,alt.comp.shareware.programmer,comp.editors,comp.lang.java.help,comp.lang.java.programmer,comp.lang.java.softwaretools,comp.os.linux.advocacy
Subject: Need your recommendation for a full-featured text editor
Date: Wed, 04 Apr 2001 13:02:42 -0400
Reply-To: [EMAIL PROTECTED]
Hi,
I am looking for a full-featured yet easy to use text editor to
replace Notepad. Ideally, I would like a tool that is cross-platform
or has versions for Win98 and Linux. The main platform requirement
would be Win98 and the nice-to-have platform is Linux.
There seem to be a plethora of choices that might work:
UltraEdit
TextPad
EditPlus
WinEdit
Multi-Edit
Zeus
CRiSP
Right now I am leaning to UltraEdit but I have not done a true
rigorous evaluation. I would definitely like to hear from anybody
that has done a true objective comparative evaluation of these
products (or others that I have not listed).
My actual requirements are:
Must haves:
1. Syntax highlighting (with color and or font) for HTML and Java
2. Robust cut and paste including row, AND column AND block
capabilities
3. Split and join functions based on margin or specified column
4. Ability to intelligently remove prefix characters (i.e. ">") and
re-format text to new margins keeping paragraphs intact (i.e. fixing
forwarded email text)
5. Ability to edit multiple files side-by-side
6. Ability to compare files and synchronize multiple similar files
flagging differences
7. Robust search and replace capabilities (ideally supporting
regular expressions)
8. Line numbering
9. Column numbering
10. Auto-completion (based on customizable template)of common
programming statements
11. Ability to preview HTML pages (including Java applets) easily
12. HTML toolbar (I know I should know all the tags but I just cannot
remember them all)
13. Can be used as a replacement for Notepad (so it must be
relatively quick and have a small footprint)
14. Highlights URL and e-mail addresses and launches browser or email
client in a separate window when clicked
15. Ability to change case for entire selected text
16. Auto indent based on user-defined templates for each programming
language
17. Auto alignment (I.e. if I want a set of lines with the "=" sign
or decimal point or comma aligned on multiple rows)
18. Undo capability
Nice to haves:
1. Syntax highlighting for Perl, C/C++, and SQL. Also, extensibility
for other programming languages based on easily customized syntax
files.
2. Ability to use FTP
3. Spell checker
4. Ability to compile from within the editor
5. Keystroke save/execute (i.e. macro capability)
--
eCommerce Knowledge Seeker
------------------------------
From: [EMAIL PROTECTED] ()
Subject: Re: mysql or postgresql? which is better?
Date: Wed, 04 Apr 2001 17:16:22 -0000
In article <WcIy6.33880$[EMAIL PROTECTED]>,
<[EMAIL PROTECTED]> wrote:
>One question worth asking would be if MySQL still does table-level
>locking, or if it can do row-level locking now. And if either is
>expected to impact the OP's problem.
MySQL can do transactions now but you have to use a different
table type. Here's a review:
http://techweb.techreviews.com/sections/topics/article/TT20010118S0025
--
http://www.spinics.net/linux/
------------------------------
From: "Thomas A. Anderson" <[EMAIL PROTECTED]>
Subject: Newbie question: how to debug threaded functions
Date: Wed, 4 Apr 2001 23:06:09 +0800
Hello all,
I'm recently learning to create multi-threaded programs using the pthread
library in Linux. I recently run into a problem in which the GDB compiler
cannot see what is happening inside the threaded function. Debugging info
just points to the line just before the thread starts to execute. I would
like to see what is happening inside my threaded code.
What tools are there to help me with this problem? Do I have to get a new
GDB version that supports debugging of multithreaded programs? Are there any
utilities that are specifically designed for this?
my devel system:
=========================
GNU gdb 4.18
gcc version egcs-2.91.66
Slackware 7.0 with kernel 2.4.3
=========================
Any help would be greatly appreciated.
Thanks!
------------------------------
From: vishwanath parakala <[EMAIL PROTECTED]>
Subject: net driver in 2.4.x
Date: 4 Apr 2001 11:28:33 -0700
Where can I get more info on what has been changed in the net subsystem in 2.4.x as
compared to 2.2.x (kernel wise) OTHER THAN Documentation/Changes
(I'm porting a net dev driver to 2.4.x)
--
VISHWANATH PARAKALA
__________________________________________________________________________
Home Page: http://www.cs.colostate.edu/~vishu
finger : [EMAIL PROTECTED]
------------------------------
From: vishwanath parakala <[EMAIL PROTECTED]>
Subject: Re: the kernel size ???
Date: 4 Apr 2001 11:31:11 -0700
How is bzImgae different from zImage ?
Just mmore compression ?
Organization:
Kasper Dupont <[EMAIL PROTECTED]> wrote:
> hushui wrote:
>>
>> in boot.h ,it defines the kernel size by the following :
>> boot.h
>> /* Don't touch these, unless you really know what you're doing. */
>> #define DEF_INITSEG 0x9000
>> #define DEF_SYSSEG 0x1000
>> #define DEF_SETUPSEG 0x9020
>> #define DEF_SYSSIZE 0x7F00
>>
>> 7f00 ,what is its unit ??? the number of sectors ???
>> It is written when compile the kernel????????
>> what is the actual kernel size in bytes ???
>> I am confused about.
>> I use redhat 6.2 (kernel 2.1.14)
>> I make config to add ntfs file system supported in my kernel.
>> And it runs.
>> But I find the time of the file (boot.h ) is still 1997 ,not the time when
>> I compile the kernel (2001).
>> Why ???? The kernel size is only written in the file of vmlinuz??????
> The value is used in the file arch/i386/boot/bootsect.S.
> In that file you can also read that it is 16-byte units.
> It does not mean that the kernel is exactly 508KB, it is
> an upper limit. I think it is the upper limit on the
> size of a zImage, while a bzImage can be larger.
> --
> Kasper Dupont
--
VISHWANATH PARAKALA
__________________________________________________________________________
Home Page: http://www.cs.colostate.edu/~vishu
finger : [EMAIL PROTECTED]
------------------------------
From: "Joseph A. Knapka" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking
Subject: Re: TCP/IP socket buffering
Date: Wed, 04 Apr 2001 17:16:35 GMT
Grant Edwards wrote:
>
> >> In article <[EMAIL PROTECTED]>, Lew Pitcher wrote:
> >>
> >> >>Does anybody know how to disable receive buffering?
> >>
> >> [using TCP for datagrams]
> >>
> >> Bummer. I'm stuck supporting legacy products that use TCP as a
> >> datagram service. Programs that use TCP as a datagram service
> >> are just plain broken. But when they're already fielded, I
> >> guess you've got no choice but try to support them.
> >
> >Reading from a TCP stream is no more problematic than reading
> >from a file sequentially.
>
> I'm aware of that. The legacy stuff I'm supporting would be
> unable to read a command sequence from a file: it depends on
> each read() call to return exactly one command (of whatever
> length). If commands get fragmented into mutple read()s it the
> program doesn't work. If a read() returns multiple commands,
> only the first is processed.
Ah, I see. In other words, your predecessor did *not* design a
datagram protocol atop TCP; rather he/she/it ignored the issue
entirely. That *is* evil, and I now consider myself enlightened
:-}
> The software I have to talk to is burned in ROMs in thousands
> and thousands of boards scattered about the planet. I can not
> change it.
Oh my. You'd think someone would have noticed this problem
earlier. Murphy must have been taking the long view ("whatever
can go wrong, will go wrong, unless by doing so it might clue
you in to a problem that will cause exponentially greater
grief a year or two hence").
Anyway, you *could* change those ROMs - all you need is a
nice big EMP; a 100 kiloton air burst ought to do it. A nice
example of a hardware solution to a software problem! (Oh wait,
let me guess, the ROMs are hardened against EMP, right?)
[snip summary of read/write boundaries in TCP vs UDP]
> It would be nice to have the system provide a reliable datagram
> service.
Agreed.
--Joe
-- Joe Knapka
"It was just a maddened crocodile hidden in a flower bed. It could
have happened to anyone." -- Pratchett
// Linux MM Documentation in progress:
// http://home.earthlink.net/~jknapka/linux-mm/vmoutline.html
* Evolution is an "unproven theory" in the same sense that gravity is. *
------------------------------
From: [EMAIL PROTECTED]
Subject: How to control time to wait when opening a socket ?
Date: Wed, 04 Apr 2001 17:43:43 GMT
How to control time to wait when opening a socket ?
Thanks for reading this,
Do you know how to control the timeout of the "socket" connect
function. I think it is possible to do with the sysctl executable.
Better yet, do you know the proper syntax for the C function "sysctl"
which will control this,
Thanks so so much for helping,
Sean.
[EMAIL PROTECTED]
------------------------------
From: [EMAIL PROTECTED] ()
Subject: Re: the kernel size ???
Date: Wed, 04 Apr 2001 17:52:52 -0000
In article <[EMAIL PROTECTED]>,
vishwanath parakala <[EMAIL PROTECTED]> wrote:
>How is bzImgae different from zImage ?
>Just mmore compression ?
It uses a different bootstrap to allow the loading of a larger
image:
zImage: $(CONFIGURE) bootsect setup compressed/vmlinux tools/build
$(OBJCOPY) compressed/vmlinux compressed/vmlinux.out
tools/build bootsect setup compressed/vmlinux.out $(ROOT_DEV) > zImage
bzImage: $(CONFIGURE) bbootsect bsetup compressed/bvmlinux tools/build
$(OBJCOPY) compressed/bvmlinux compressed/bvmlinux.out
tools/build -b bbootsect bsetup compressed/bvmlinux.out $(ROOT_DEV) > bzImage
--
http://www.spinics.net/linux/
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list by posting to the
comp.os.linux.development.system newsgroup.
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************