The FreeBSD Browser


FreeBSD is a big system; a complete distribution contains more than 100,000 files. After a "make buildworld", this number jumps markedly. Consequently, it's essentially impossible for anyone to remember which files are related to each other, and why. So, we all find ourselves trying to remember (or find out) which files we should be examining.

Fortunately, FreeBSD provides a swath of powerful tools to assist us: apropos, grep, locate, ls, file, info, man, more, strings, whatis, which, ... Unfortunately, in order to find the information you need, you may have to issue quite a few commands. Worse, the needed information may not even be findable in this manner. Some things you "just have to know". Grump!

The FreeBSD Browser is the Meta Project's answer to this problem. It's a specialized "search engine" for information on FreeBSD. It can help you find directories, files, manual pages, papers, and other useful resources. It can also give you an easy way to help other FreeBSD users; if you think our database is missing a relevant link, just let us know!

At the risk of confusing the issue, however, we need to explain a bit of nomenclature. As useful as the browser is, it's actually just a "proof of concept" demonstration for the Meta Project. You can ignore this, with a little effort; when you see "Meta Demo", just think "FreeBSD Browser". Of course, if you find the browser useful, you are more than welcome to investigate further...

Usage

Each browser page displays information about a specific path name or manual page. This includes both descriptive text and links to (putatively) related items. Because of resource limitations, we are not yet able to display the items themselves. So, use the browser to find useful resources, then display them on your local system.

To get to the web page for an arbitrary path name (e.g., /usr/bin/vi) or man page (e.g., vi(1)), enter it into the "Target" form at the top of the page and hit the "return" key. Alternatively, you can append a full path name onto the Meta Demo's base URL for the FreeBSD 4.2 release (http://www.openresource.com/Meta/md/fb/42), as:

http://www.openresource.com/Meta/md/fb/42/usr/bin/vi

The links that show up on the returned page can be used to visit other pages. Because the demo does not show all of the pages that might be relevant for a given starting page (that way lies madness :-), it is quite possible that new pages will contain a differing set of links. To find out why the demo has included a given item, click on the "?" at the start of the line.

Several links appear at the top of each page. The comment link brings up a pre-addressed mailer window, allowing you to submit comments, questions, or suggestions about the current page. The help link brings up the page that you are currently reading. The search link brings up a keyword-searching page. The searching is done in the manner of whatis(1), save that multiple words may be specified (returned lines match all specified words).

In some situations (e.g., /dev/*, font directories), there are far too many possible names to detail. Fortunately, there are often naming conventions that can be used to mechanize name recognition. To see a demonstration of rule-based name parsing, try specifying an arbitrary device name, as:

http://www.openresource.com/Meta/md/fb/42/dev/rad0a

While you're on the page, try the regular expressions link. The page it brings up provides expanded, annotated versions of the regular expressions that match names of related device nodes.