Gnut Manual: F.A.Q. |
5. F.A.Q.
5.1 Will gnut run on Slackware 4.0?
No. Gnut requires glibc2.0, you need to upgrade to this before you can use it.
5.2 Does ggnut (the Gnome graphical-interface front end to gnut) work?
Yes -- Jon Arney has been releasing working versions of ggnut since May 2000. Jon and Robert Munafo are working on combining their work so that gnut and ggnut will once again be part of the same release -- but for now, visit Jon Arney's site if you want to use ggnut. Also, remember that gnut has an HTTP interface, so if you just don't like typing commands you can ues your gnut through your web browser.
5.3 How do I change the port in gnut?
Starting with version 0.4.7, you can change the port in two ways: with the -p option on the command line:
gnut -p 6346
or by putting a command in your .gnutrc
file:
set local_port 6346
5.4 Does gnut has feature xxx?
Look in this manual, read README, if you don't see it in either place, then the answer is no.
5.5.A I'm behind a firewall, and gnut is showing host addresses behind other firewalls. That's not right, is it?
5.5.B I'm not behind a firewall, and gnut is showing host addresses behind firewalls. That's not right, is it?
The "behind firewall addresses", also called "VPN (Virtual Private Network)" addresses and listed in the Internet document RFC 1597, are addresses in any of the ranges:
10.0.0.0 to 10.255.255.255 (type A)
172.16.0.0 to 172.31.255.255 (type B)
192.168.0.0 to 192.168.255.255 (type C)
(all other addresses will be called "type O")
Starting with version 0.4.8, gnut filters addresses in the host list and search results lists to remove hosts that are definitely inaccessible, depending on gnut's local IP address. It cannot remove all inaccessible hosts if the local IP is behind a firewall. Here are the rules gnut uses:
If your address is | gnut can connect to
(host list) | and can get files from
(search results list) |
type O | type O | any (O directly, A+B+C through push) |
type A | type O (definitely) and A (maybe) | type O (definitely) and A (maybe) |
type B | type O (definitely) and B (maybe) | type O (definitely) and B (maybe) |
type C | type O (definitely) and C (maybe) | type O (definitely) and C (maybe) |
Thus, even if you are not behind a firewall, gnut must show all addresses in search results because files are accessible through push requests.
And even if you are behind a firewall, gnut must show addresses of other hosts whose addresses are of the same type, because they might also be behind your firewall. This is particularly important to users at universities. gnut does not test each address to see if it is actually accessible, because that would be very slow and would be a waste of network bandwidth.
5.6 Why does gnut launch 10 copies of itself, and why does it use so much memory?
If you are running Linux and use ps or top to look at the running processes on your machine, you will see many copies (usually about 3 plus the number of active connections, uploads and downloads), all with the same SIZE and RSS (virtual and resident memory) figures. These are actually threads (simultaneous concurrent execution states) running within a single copy of gnut. ps and top display them as separate processes because they are not thread-aware and because of the way the Linux kernel implements threads. Rest assured that they are not each taking up the amount of memory indicated. There is only a fairly low per-thread memory overhead used for the stack and processor state for context switches.
So if you type ps u
and gnut appears 7 times each with a SIZE of
8400, then your gnut is currently using 8.4 megs of virtual memory.
That 8.4 megs (or whatever number you're seeing) grows as gnut runs, mainly because of the GUID and host lists. These are lists of Gnutella packets that have been seen, host IP addresses, and other things used to route packets in the Gnutella network. When you quit and restart gnut, the memory usage will go down, but it builds up again over time as the packets come in.
There is also a memory leak (bug that causes memory to be allocated and then not de-allocated, causing a buildup of wasted memory). This bug has been around since before version 0.3.29 and I have not been able to find it (yet). Any help would be appreciated.
5.7 Someone is downloading a file "nonsense.mp3" from me, but I have no such file on my computer. What's up?
When you use the info or info t command, gnut displays all transfers and transfer attempts, even those transfers that are not working. Furthermore, the "filename" displayed is the filename they asked for, and the length transferred and percent transferred correspond to the requested data range (which is nonzero if the request is for a resume-in-the-middle transfer). gnut displays this info even when the file is nonexistent because it is often useful to know what is being requested even if you don't have it.
Recently, a spammer on the Gnutella network has been issuing requests for downloads of nonexistent files such as "nonsense.mp3", then letting the connection hang (without acknowledging the error or closing) in an attempt to impede the functionality of your node and other nodes on the network. That's why you see that bogus file transfer.
5.8 I did a search, and I know I'm sharing files that match this search. Why didn't the search show the files I'm sharing?
gnut does not search your own files when you do a search. Searches are for finding things out on the network, not things you already have.