769 lines
26 KiB
HTML
769 lines
26 KiB
HTML
<!--startcut ==============================================-->
|
|
<!-- *** BEGIN HTML header *** -->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML><HEAD>
|
|
<title>Installing dict - An On-Line Dictionary LG #63</title>
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
|
|
ALINK="#FF0000">
|
|
<!-- *** END HTML header *** -->
|
|
|
|
<CENTER>
|
|
<A HREF="http://www.linuxgazette.com/">
|
|
<H1><IMG ALT="LINUX GAZETTE" SRC="../gx/lglogo.png"
|
|
WIDTH="600" HEIGHT="124" border="0"></H1></A>
|
|
|
|
<!-- *** BEGIN navbar *** -->
|
|
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="collinge.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue63/gibbs.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../faq/index.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="nielsen.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
|
|
<!-- *** END navbar *** -->
|
|
<P>
|
|
</CENTER>
|
|
|
|
<!--endcut ============================================================-->
|
|
|
|
<H4 ALIGN="center">
|
|
"Linux Gazette...<I>making Linux just a little more fun!</I>"
|
|
</H4>
|
|
|
|
<P> <HR> <P>
|
|
<!--===================================================================-->
|
|
|
|
<center>
|
|
<H1><font color="maroon">Installing dict - An On-Line Dictionary</font></H1>
|
|
<H4>By <a href="mailto:chris@hawklord.uklinux.net">Chris Gibbs</a></H4>
|
|
</center>
|
|
<P> <HR> <P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
|
|
<H1>Purpose of this Paper</H1>
|
|
<P>To advertise the efforts of <A HREF="http://www.dict.org">http://www.dict.org</A> and to
|
|
provide the means by which any Linux user regardless of experience,
|
|
can install a functional dictionary system either for local or
|
|
network use.
|
|
</P>
|
|
<h3><u>CONTENTS</u></h3>
|
|
<p>
|
|
<OL>
|
|
<LI><a href="#1">Introduction</a>
|
|
<LI><a href="#2">The DICT Development Group (www.dict.org)</a>
|
|
<LI><a href="#3">Available Dictionaries</a>
|
|
<LI><a href="#4">Installation</a>
|
|
<OL class="inner">
|
|
<LI><a href="#5">dictd, dict and dictzip</a>
|
|
<LI><a href="#6">Webster's</a>
|
|
<LI><a href="#7">WordNet (r) 1.6</a>
|
|
<LI><a href="#8">Jargon File, FOLDOC, The Elements, Easton's Bible Dictionary & Hitchcock's Bible
|
|
Names Dictionary</a>
|
|
<LI><a href="#9">More up-to-date Jargon File</a>
|
|
<LI><a href="#10">US Gazetteer</a>
|
|
<LI><a href="#11">The Devils Dictionary</a>
|
|
<LI><a href="#111">Who Was Who: 5000 B. C. to Date</a>
|
|
<LI><a href="#12">Language Dictionaries</a>
|
|
</OL>
|
|
<LI><a href="#13">Configuring dictd</a>
|
|
<LI><a href="#14">Using dict</a>
|
|
<LI><a href="#15">Kdict</a>
|
|
<LI><a href="#16">Conclusion</a>
|
|
</OL>
|
|
</p>
|
|
<a name="1"></a>
|
|
<H1>Introduction</H1>
|
|
<P>I have been using Linux exclusively as my operating system for
|
|
over three years now. One of the very few things I miss about <I>"that
|
|
other operating system"</I> is the easy availability of cheap or
|
|
even free versions of commercial encyclopedias and dictionaries.
|
|
</P>
|
|
<P>So when I installed a recent version of S.u.S.E. linux I was both
|
|
surprised and happy to find a package called <B>Kdict</B> had been
|
|
installed on my machine. Reading the documentation that came with the
|
|
package revealed that the program was only a front end to another
|
|
program, and that though it is possible to install a dictionary
|
|
server locally, if I wanted to do so I would have to get everything
|
|
else I need from the Internet.
|
|
</P>
|
|
<a name="2"></a>
|
|
<H1>The DICT Development Group (www.dict.org)</H1>
|
|
<P><SUB>Note:- This section paraphrases the contents of ANNOUNCE in
|
|
the dict distribution.</SUB>
|
|
</P>
|
|
<P><A HREF="http://www.dict.org/">The DICT Development Group
|
|
(www.dict.org)</A> have both developed a <B>Dictionary Server
|
|
Protocol</B> (as described in RFC 2229), client/server software in C
|
|
as well as clients in other languages such as Java and Perl, and
|
|
converted various freely available dictionaries for use with their
|
|
software.
|
|
</P>
|
|
<P>The <B>Dictionary Server Protocol</B> (DICT) is a TCP transaction
|
|
based query/response protocol that allows a client to access
|
|
dictionary definitions from a set of natural language dictionary
|
|
databases.
|
|
</P>
|
|
<P><B>dict</B>(1) is a client which can access DICT servers from the
|
|
command line.
|
|
</P>
|
|
<P><B>dictd</B>(8) is a server which supports the DICT protocol.
|
|
</P>
|
|
<P><B>dictzip</B>(1) is a compression program which creates
|
|
compressed files in the gzip format (see RFC 1952). However, unlike
|
|
gzip(1), dictzip(1) compresses the file in pieces and stores an index
|
|
to the pieces in the gzip header. This allows random access to the
|
|
file at the granularity of the compressed pieces (currently about
|
|
64kB) while maintaining good compression ratios (within 5% of the
|
|
expected ratio for dictionary data). dictd(8) uses files stored in
|
|
this format.
|
|
</P>
|
|
<P>Available in separate <CODE>.tar.gz</CODE>
|
|
files are the data, conversion programs, and formatted output for
|
|
several freely-distributable dictionaries. For any single dictionary,
|
|
the terms for commercial distribution may be different from the terms
|
|
for non-commercial distribution -- be sure to read the copyright and
|
|
licensing information at the top of each database file. Below are
|
|
approximate sizes for the databases, showing the number of headwords
|
|
in each, and the space required to store the database:
|
|
</P>
|
|
<CENTER>
|
|
<TABLE border=2>
|
|
<TR>
|
|
<TD>
|
|
<P><B>Database</B></P>
|
|
</TD>
|
|
<TD>
|
|
<P><B>Headwords</B></P>
|
|
</TD>
|
|
<TD>
|
|
<P><B>Index</B></P>
|
|
</TD>
|
|
<TD>
|
|
<P><B>Data</B></P>
|
|
</TD>
|
|
<TD>
|
|
<P><B>Uncompressed</B></P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>web1913</P>
|
|
</TD>
|
|
<TD>
|
|
<P>185399</P>
|
|
</TD>
|
|
<TD>
|
|
<P>3438 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>11 MB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>30 MB</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>wn</P>
|
|
</TD>
|
|
<TD>
|
|
<P>121967</P>
|
|
</TD>
|
|
<TD>
|
|
<P>2427 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>7142 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>21 MB</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>gazetteer</P>
|
|
</TD>
|
|
<TD>
|
|
<P>52994</P>
|
|
</TD>
|
|
<TD>
|
|
<P>1087 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>1754 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>8351 kB</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>jargon</P>
|
|
</TD>
|
|
<TD>
|
|
<P>2135</P>
|
|
</TD>
|
|
<TD>
|
|
<P>38 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>536 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>1248 kB</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>foldoc</P>
|
|
</TD>
|
|
<TD>
|
|
<P>11508</P>
|
|
</TD>
|
|
<TD>
|
|
<P>220 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>1759 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>4275 kB</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>elements</P>
|
|
</TD>
|
|
<TD>
|
|
<P>131</P>
|
|
</TD>
|
|
<TD>
|
|
<P>2 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>12 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>38 kB</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>easton</P>
|
|
</TD>
|
|
<TD>
|
|
<P>3968</P>
|
|
</TD>
|
|
<TD>
|
|
<P>64 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>1077 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>2648 kB</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>hitchcock</P>
|
|
</TD>
|
|
<TD>
|
|
<P>2619</P>
|
|
</TD>
|
|
<TD>
|
|
<P>34 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>33 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>85 kB</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P>www</P>
|
|
</TD>
|
|
<TD>
|
|
<P>587</P>
|
|
</TD>
|
|
<TD>
|
|
<P>8 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>58 kB</P>
|
|
</TD>
|
|
<TD>
|
|
<P>135 kB</P>
|
|
</TD>
|
|
</TR>
|
|
|
|
</TABLE>
|
|
</CENTER>
|
|
<P>All of these compressed databases and indices can be
|
|
stored in approximately 32MB of disk space.
|
|
</P>
|
|
<P>Additionally there are a number of bi-lingual
|
|
dictionaries to help with translation. Though I have not looked at
|
|
these judging from their different sizes some will be more useful
|
|
than others (i.e. English to Welsh is unfortunately not very good,
|
|
whereas English to German is probably quite useful).
|
|
</P>
|
|
<P>All the dictionaries seem to be under constant
|
|
development so interested people should keep up with latest
|
|
developments.
|
|
</P>
|
|
<a name="3"></a>
|
|
<H1>Available Dictionaries</H1>
|
|
<DL>
|
|
<br>
|
|
<DT><B>Webster's Revised Unabridged Dictionary (1913)</B>
|
|
</DT><DD><P>
|
|
The Oxford English Dictionary this is not! It is however a very
|
|
pleasant dictionary. It seems to be an American version of one of
|
|
those Dictionary/Encyclopedias, so common at the time of its
|
|
writing. Quite often in a definition you will find a poetic quote
|
|
and it really is very informative and pleasant to use.
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>WordNet (r) 1.6</B>
|
|
</DT><DD><P>
|
|
This dictionary seems to be under constant development. The aim
|
|
seems to be to provide definitions of all the words people want to
|
|
have definitions for! In practice it seems to miss some obvious
|
|
words such as "with" and "without". I guess the
|
|
idea is to simply provide necessary update to the definitions found
|
|
in Webster's. Unfortunately this dictionary is neither as
|
|
informative or as pleasant as Webster's. If you need a more up to
|
|
date dictionary it is necessary.
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>The Free On-line Dictionary of Computing (15Feb98)</B>
|
|
</DT><DD><P>
|
|
FOLDOC is a searchable dictionary of acronyms, jargon, programming
|
|
languages, tools, architecture, operating systems, networking,
|
|
theory, conventions, standards, mathematics, telecoms, electronics,
|
|
institutions, companies, projects, products, history, in fact
|
|
anything to do with computing. The dictionary is Copyright Denis
|
|
Howe 1993, 1997.
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>U.S. Gazetteer (1990)</B>
|
|
</DT><DD><P>
|
|
This is probably only of interest to people wanting information
|
|
about America. The original U.S. Gazetteer Place and Zipcode Files
|
|
are provided by the U.S. Census Bureau and are in the Public Domain.
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>Easton's 1897 Bible Dictionary</B>
|
|
</DT><DD><P>
|
|
These Dictionary topics are from M.G. Easton M.A., D.D., Illustrated
|
|
Bible Dictionary, Third Edition, published by Thomas Nelson, 1897.
|
|
Due to the nature of etext, the illustrated portion of the
|
|
Dictionary has not been included.
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>Hitchcock's Bible Names Dictionary (late 1800's)</B>
|
|
</DT><DD><P>
|
|
This dictionary is from "Hitchcock's New and Complete Analysis
|
|
of the Holy Bible," published in the late 1800s. It contains
|
|
more than 2,500 Bible and Bible-related proper names and their
|
|
meanings. Some Hebrew words of uncertain meaning have been left out.
|
|
It is out of copyright, so feel free to copy and distribute it. I
|
|
pray it will help in your study of God's Word. --Brad Haugaard
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>The Elements (22Oct97)</B>
|
|
</DT><DD><P>
|
|
This dictionary database was created by Jay Kominek <jfk at acm.org>.
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>The CIA World Factbook (1995)</B>
|
|
</DT><DD><P>
|
|
This somewhat typically short sighted view of the World (sorry I
|
|
love America, I lived there for a while - its great, but it is not
|
|
ALL THE WORLD!), really only becomes useful if you look in the index
|
|
file and see that there are Appendix's, these are though of limited
|
|
use to normal people, who think that the world ends at their
|
|
keyboard.
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>Jargon File (4.2.0, 31 JAN 2000)</B>
|
|
</DT><DD><P>
|
|
The Jargon File is a comprehensive compendium of hacker slang
|
|
illuminating many aspects of hackish tradition, folklore, and humor.
|
|
This bears remarkable similarity to FOLDOC above.
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>THE DEVIL'S DICTIONARY ((C)1911 Released April 15 1993)</B>
|
|
</DT><DD><P>
|
|
_The Devil's Dictionary_ was begun in a weekly paper in 1881, and
|
|
was continued in a desultory way at long intervals until 1906. In
|
|
that year a large part of it was published in covers with the title
|
|
_The Cynic's Word Book_, a name which the author had not the power
|
|
to reject or happiness to approve. Users of the <B>fortune</B>
|
|
program will already have some familiarity with this ;-).
|
|
</DD><DT>
|
|
<br><br>
|
|
<B>Who Was Who</B>
|
|
</DT><DD><P>
|
|
Who Was Who: 5000 B. C. to Date: Biographical Dictionary of the
|
|
Famous and Those Who Wanted to Be, edited by Irwin L. Gordon
|
|
<br><br>
|
|
<B>OTHER DICTIONARIES</B>
|
|
</DT><DD><P>
|
|
A number of other dictionaries have been made available, see the
|
|
<B>dict</B> home page for details. In many cases you may find the
|
|
program to convert dictionary data to the format <B>dict</B>
|
|
requires has not been written yet ;-(
|
|
<br><br>
|
|
</DD>
|
|
</DL>
|
|
<P>
|
|
As mentioned elsewhere, there are a number of translation
|
|
dictionaries also available (see below).
|
|
</P>
|
|
<a name="4"></a>
|
|
<H1>Installation</H1>
|
|
<P>The links given here were correct at the time of writing. If it is
|
|
a long time since this paper was published you should visit
|
|
<A HREF="http://www.dict.org/">http://www.dict.org</A> to see what has
|
|
changed.
|
|
</P>
|
|
<P>Unfortunately installation of the above mentioned software did not
|
|
go quite as easily as it should have, which partly explains why I am
|
|
writing this;-).
|
|
</P>
|
|
<P>The first thing you will need is plenty of disk space. The largest
|
|
dictionary available is <B>Webster's 1913</B> dictionary, which will
|
|
need about 85Meg to be re-built in.
|
|
</P>
|
|
<a name="5"></a>
|
|
<H2>dictd, dict and dictzip</H2>
|
|
<P>Unarchive <A HREF="ftp://ftp.dict.org/pub/dict/dictd-1.5.5.tar.gz">dictd-1.5.5.tar.gz</A>
|
|
in the normal manner.
|
|
</P>
|
|
<P><B>IMPORTANT:-</B> The HTML support has been turned off in this
|
|
version of <B>dict</B>. You need to turn it back on if you want to
|
|
take advantage of <B>Kdict</B>.
|
|
</P>
|
|
<P>Load the file <B>dict.c</B> into your favorite editor and remove
|
|
the comments from line 1069:-
|
|
</P>
|
|
<PRE>
|
|
|
|
{ "raw", 0, 0, 'r' },
|
|
{ "pager", 1, 0, 'P' },
|
|
{ "debug", 1, 0, 502 },
|
|
{ "html", 0, 0, 503 }, //Remove comments from this line
|
|
{ "pipesize", 1, 0, 504 },
|
|
{ "client", 1, 0, 505 },
|
|
|
|
</PRE><P>
|
|
so the file becomes as above.
|
|
</P>
|
|
<P>Now you can run <CODE>./configure;make;make install</CODE>. You
|
|
will see a great many warnings produced by the compiler, but at the
|
|
end you should have working client, server and compression program
|
|
installed.
|
|
</P>
|
|
<a name="5"></a>
|
|
<H2>Webster's</H2>
|
|
<P>Unpack the files <A HREF="ftp://ftp.dict.org/pub/dict/dict-web1913-1.4.tar.gz">dict-web1913-1.4.tar.gz</A>
|
|
and <A HREF="ftp://ftp.dict.org/pub/dict/web1913-0.46-a.tar.gz">web1913-0.46-a.tar.gz</A>:
|
|
</P>
|
|
<PRE>
|
|
|
|
$ tar xvzf dict-web1913-1.4.tar.gz
|
|
$ tar xvzf web1913-0.46-a.tar.gz
|
|
$ cd dict-web1913-1.4
|
|
$ mkdir web1913
|
|
$ cp ../web1913-0.46-a/* web1913
|
|
$ ./configure
|
|
$ make
|
|
$ make db
|
|
|
|
</PRE><P>
|
|
Now go make a cup of tea, this takes over an hour on my 133MHz box.
|
|
When done, decide on a place for your dictionaries to live and copy
|
|
them there, I use <CODE>/opt/public/dict-dbs</CODE> as suggested:-
|
|
</P>
|
|
<PRE>
|
|
|
|
$ mkdir /opt/public/dict-dbs
|
|
$ cp web1913.dict.dz /opt/public/dict-dbs
|
|
$ cp web1913.index /opt/public/dict-dbs
|
|
|
|
</PRE>
|
|
<a name="7"></a>
|
|
<H2>
|
|
WordNet (r) 1.6</H2>
|
|
<P>Grab <A HREF="ftp://ftp.dict.org/pub/dict/dict-wn-1.5.tar.gz">dict-wn-1.5.tar.gz</A>
|
|
</P>
|
|
<P>It is a great shame that one of the most useful dictionaries is
|
|
also the one that refuses to compile correctly. To create a viable
|
|
dictionary the original data must be parsed by a program. When you do
|
|
<CODE>make</CODE> it is this program that is created. Unfortunately
|
|
this package uses a <code>Makefile</code> created by <CODE>./configure</CODE>
|
|
which does not work. I am unable to correct the <CODE>automake</CODE>
|
|
procedure but can assure you that the following will work:
|
|
</P>
|
|
<PRE>
|
|
|
|
$ tar xvzf dict-wn-1.5.tar.gz
|
|
$ cd dict-wn-1.5
|
|
$ ./configure
|
|
$ gcc -o wnfilter wnfilter.c
|
|
$ make db
|
|
|
|
</PRE><P>
|
|
Again this process takes a considerable amount of time ( > 1 hour
|
|
on my 133MHz). Once complete if you have not already created a
|
|
directory for your dictionaries do so now and copy the dictionary and
|
|
its index there:
|
|
</P>
|
|
<PRE>
|
|
|
|
$ cp wn.dict.dz /opt/public/dict-dbs
|
|
$ cp wn.index /opt/public/dict-dbs
|
|
|
|
</PRE>
|
|
<a name="8"></a>
|
|
<H2>
|
|
Jargon File, FOLDOC, The Elements, Easton's Bible Dictionary &
|
|
Hitchcock's Bible Names Dictionary</H2>
|
|
<P>Grab <A HREF="ftp://ftp.dict.org/pub/dict/dict-misc-1.5.tar.gz">dict-misc-1.5.tar.gz</A>
|
|
</P>
|
|
<PRE>
|
|
|
|
$ tar xvzf dict-misc-1.5.tar.gz
|
|
$ cd dict-misc-1.5
|
|
$ ./configure
|
|
$ make
|
|
$ make db
|
|
|
|
$ cp easton.dict.dz /opt/public/dict-dbs
|
|
$ cp easton.index /opt/public/dict-dbs
|
|
$ cp elements.dict.dz /opt/public/dict-dbs
|
|
$ cp elements.index /opt/public/dict-dbs
|
|
$ cp foldoc.dict.dz /opt/public/dict-dbs
|
|
$ cp foldoc.index /opt/public/dict-dbs
|
|
$ cp hitchcock.dict.dz /opt/public/dict-dbs
|
|
$ cp hitchcock.index /opt/public/dict-dbs
|
|
$ cp jargon.dict.dz /opt/public/dict-dbs
|
|
$ cp jargon.index /opt/public/dict-dbs
|
|
|
|
</PRE>
|
|
<a name="9"></a>
|
|
<H2>
|
|
More up-to-date Jargon File</H2>
|
|
<P>Grab <A HREF="ftp://ftp.dict.org/pub/dict/dict-jargon-4.2.0.tar.gz">dict-jargon-4.2.0.tar.gz</A>
|
|
</P>
|
|
<PRE>
|
|
|
|
$ tar xvzf dict-jargon-4.2.0.tar.gz
|
|
$ cd dict-jargon-4.2.0
|
|
$ ./configure
|
|
$ make
|
|
$ make db
|
|
|
|
$ cp jargon.dict.dz /opt/public/dict-dbs
|
|
$ cp jargon.index /opt/public/dict-dbs
|
|
|
|
</PRE>
|
|
<a name="10"></a>
|
|
<H2>
|
|
US Gazetteer</H2>
|
|
<P>Grab <A HREF="ftp://ftp.dict.org/pub/dict/dict-gazetteer-1.3.tar.gz">dict-gazetteer-1.3.tar.gz</A>
|
|
</P>
|
|
<PRE>
|
|
|
|
$ tar xvzf dict-gazetteer-1.3.tar.gz
|
|
$ cd dict-gazetteer-1.3
|
|
$ ./configure
|
|
$ make
|
|
$ make db
|
|
|
|
$ cp gazetteer.dict.dz /opt/public/dict-dbs
|
|
$ cp gazetteer.index /opt/public/dict-dbs
|
|
|
|
</PRE>
|
|
<a name="11"></a>
|
|
<H2>
|
|
The Devils Dictionary</H2>
|
|
Grab <A HREF="ftp://ftp.dict.org/pub/dict/pre/devils-dict-pre.tar.gz">devils-dict-pre.tar.gz</A>
|
|
</P>
|
|
<P>As with the language dictionaries below, the dictionary has
|
|
already been created for you. Simply unpack this file in your
|
|
dictionary directory.
|
|
</P>
|
|
<a name="111"></a>
|
|
<h2>Who Was Who: 5000 B. C. to Date</h2>
|
|
<p>
|
|
Grab <a href="http://www.hawklord.uklinux.net/dict/www-1.0.tgz">http://www.hawklord.uklinux.net/dict/www-1.0.tgz</a>
|
|
<PRE>
|
|
|
|
$ tar xvzf www-1.0.tgz
|
|
$ cd www-1.0
|
|
$ ./configure
|
|
$ make
|
|
$ make db
|
|
|
|
$ cp www.dict.dz /opt/public/dict-dbs
|
|
$ cp www.index /opt/public/dict-dbs
|
|
|
|
</PRE>
|
|
|
|
<a name="12"></a>
|
|
<H2>Language Dictionaries</H2>
|
|
<P>Visit <A HREF="ftp://ftp.dict.org/pub/dict/pre/www.freedict.de/20000906">ftp://ftp.dict.org/pub/dict/pre/www.freedict.de/20000906</A>
|
|
</P>
|
|
<P>Installing a language dictionary does not involve re-building the
|
|
dictionary from original data, so you just need to unpack each file
|
|
into you dictionary directory.
|
|
</P>
|
|
<a name="13"></a>
|
|
<H1>Configuring dictd</H1>
|
|
<P><B>dictd</B> expects to find the file <CODE>/etc/dictd.conf</CODE>,
|
|
though an alternative file may be specified on the command line. Each
|
|
dictionary needs to be specified in this file so <B>dictd</B> can
|
|
find the dictionary and its index. For example if you just want to
|
|
use Webster's, WordNet and The Devils Dictionary, then the following
|
|
entries will be required (assuming you use <CODE>/opt/public/dict-dbs</CODE>
|
|
as your dictionary directory):
|
|
</P>
|
|
<PRE>
|
|
|
|
database Web-1913 { data "/opt/public/dict-dbs/web1913.dict.dz"
|
|
index "/opt/public/dict-dbs/web1913.index" }
|
|
database wn { data "/opt/public/dict-dbs/wn.dict.dz"
|
|
index "/opt/public/dict-dbs/wn.index" }
|
|
database devils { data "/opt/public/dict-dbs/devils.dict.dz"
|
|
index "/opt/public/dict-dbs/devils.index" }
|
|
|
|
</PRE><H2>
|
|
Advanced Configuration</H2>
|
|
<P>It seems it is possible to implement user access control and other
|
|
security measures. I have not tried this. If I were into security
|
|
issues the current state of the software gives me no reason to trust
|
|
any security feature it might have. But why anyone would want to
|
|
restrict access to these dictionaries is completely beyond me, this
|
|
is stuff any user has a right to use.
|
|
</P>
|
|
<P>You should be aware of a number of security issues if you intend
|
|
to make <B>dictd</B> available over a local network since not being
|
|
aware will leave your server vulnerable to a number of possible
|
|
attacks.
|
|
</P>
|
|
<p>Unless you are installing <b>dictd</b> on a server for a school/college
|
|
or for some other large network these issues will probably be of no concern to
|
|
you. If you are installing on such a network then you should already
|
|
be aware of the issues below.
|
|
</p>
|
|
<H3>Server Overload, Denial of Service, Heavy Swapping</H3>
|
|
<P>All these symptoms can occur if a number of users send queries
|
|
like <CODE>MATCH * re .</CODE> at the same time. Such queries return
|
|
the whole database index and each instance will require around 5MB
|
|
buffer space on the server.
|
|
</P>
|
|
<P>Possible solutions include limiting the number of connections to
|
|
the server, limiting the amount of data that can be returned for a
|
|
single query or limiting the number of simultaneous outstanding
|
|
searches.
|
|
</P>
|
|
<H3>Denial of Service</H3>
|
|
<P>The server can be driven to a complete stand still by any evil
|
|
minded <I>cracker</I> that wants to connect to the server 1,000,000
|
|
times.
|
|
</P>
|
|
<P>To prevent such anti-social behavior simply limit the number of
|
|
connections based on IP or mask.
|
|
</P>
|
|
<H3>Buffer Overflow</H3>
|
|
<P>If you experience this kind of problem you should make your
|
|
logging routines more robust, use <CODE>strlen</CODE> and examine
|
|
<CODE>daemon_log</CODE>.
|
|
</P>
|
|
<a name="14"></a>
|
|
<H1>Using dict</H1>
|
|
<P><B>dict</B> expects to find the file <CODE>/etc/dict.conf</CODE>.
|
|
This file should contain a line with the name of the machine you wish
|
|
to use as your <B>dictd</B> server, though this can be overridden at
|
|
the command line.
|
|
</P>
|
|
<P>The current version of <B>dict</B> is a little disappointing as a
|
|
users front-end for <B>dictd</B>. If all you have is a console and
|
|
you can't use <B>Kdict</B> then you will just have to get used to
|
|
<B>dict</B>. The worst thing about <B>dict</B> is that it can trash
|
|
your console and you will need to take action (such as logging out
|
|
and back in) to restore the keyboard to normal! This typically occurs
|
|
if there is a problem with <B>dictd</B>; such as when it is not
|
|
running and you try to use <B>dict</B>.
|
|
</P>
|
|
<P>Since <B>dict</B> is just a console program, it just sends output
|
|
to <B>less</B>. So unless you have a very good memory you will need
|
|
to use `cut and paste' to transfer referenced words or phrases back to
|
|
the command line.
|
|
</P>
|
|
<P>There is an option to send output to a pager program. I tried the
|
|
command <CODE>dict -html -P lynx luser</CODE>, the result was not a
|
|
happy one! Lynx went mad, referencing random help and configuration
|
|
files in a manner that reminded me of certain viruses in MS operating
|
|
systems.
|
|
</P>
|
|
<P>Personally I would say if you can avoid using <B>dict</B>
|
|
directly, avoid it! It is necessary to have it if you want to use
|
|
<B>Kdict</B>, and you <B>do</B> want to use <B>Kdict</B>.
|
|
</P>
|
|
<a name="15"></a>
|
|
<H1>Kdict</H1>
|
|
<IMG SRC="misc/gibbs/kdict.gif" ALT="Kdict.gif" WIDTH=578 HEIGHT=559 BORDER=0>
|
|
|
|
<P>To take full advantage of <B>dict</B> you really <B><I>need</I></B>
|
|
Kdict from <A HREF="http://www.rhrk.uni-kl.de/~gebauerc/kdict">http://www.rhrk.uni-kl.de/~gebauerc/kdict</A>.
|
|
I have used version 0.2 and cannot speak for any other version.
|
|
</P>
|
|
<P>To use <B>Kdict</B> you <B><I>must</I></B> turn HTML support back
|
|
on for <B>dict</B> as described above.
|
|
</P>
|
|
<P>The screen shot above shows <B>Kdict</B> in use. <B>Kdict</B>
|
|
makes good use of the limited HTML tags provided by <B>dict</B>, and
|
|
inserts extra tags so that you can easily cross-reference words. Any
|
|
phrase or word shown in red can be clicked on with the mouse to show
|
|
its definition.
|
|
</P>
|
|
<P>What makes <B>Kdict</B> so good is the fact that you can use the
|
|
clipboard to highlight a word from any window on the desktop and paste
|
|
it into <B>Kdict</B> as a query.
|
|
</P>
|
|
<a name="16"></a>
|
|
<H1>Conclusion</H1>
|
|
<P>This is a great project that can only get better, so it is a lot
|
|
like <B>Linux</B> and <B>gnu</B> software in general... <B>Give it
|
|
your full support</B>!
|
|
</P>
|
|
<p>
|
|
If you get <b>xscrabble</b> from <a href="http://www.belgarath.demon.co.uk/programs/index.html"> Matt Chapman's homepage</a>, you can enhance your enjoyment of the game by looking up the definitions of words you don't know, - as the computer beats the sh*t out of you;-).
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<P> <hr> <!-- P -->
|
|
<H5 ALIGN=center>
|
|
|
|
Copyright © 2001, Chris Gibbs.<BR>
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 63 of <i>Linux Gazette</i>, Mid-February (EXTRA) 2001</H5>
|
|
<!-- *** END copyright *** -->
|
|
|
|
<!--startcut ==========================================================-->
|
|
<HR><P>
|
|
<CENTER>
|
|
<!-- *** BEGIN navbar *** -->
|
|
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="collinge.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue63/gibbs.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../faq/index.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="nielsen.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
|
|
<!-- *** END navbar *** -->
|
|
</CENTER>
|
|
</BODY></HTML>
|
|
<!--endcut ============================================================-->
|