暗无天日

=============>DarkSun的个人博客

DICTD:构建自己的字典服务器

Dictd是字典网络协议(Dictonary Network Protocol)的守护进程

安装并配置DICT服务

安装DICTD

首先我们在服务器上安装DICT服务,在centos7上有两个相关包: dictddictd-server, 其中 dictd 包含了DICT服务和客户端,而 dictd-server 只包含了DICT服务端。

sudo yum install dictd-server -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile

docker-ce-stable                                         | 3.5 kB     00:00     

epel                                                     | 4.7 kB     00:00     

extras                                                   | 3.4 kB     00:00     

os                                                       | 3.6 kB     00:00     

updates                                                  | 3.4 kB     00:00     

(2/5): epel/7/x86_64/updat 0% [                 ]  0.0 B/s |    0 B   --:-- ETA 

(1/5): extras/7/x86_64/primary_db                          | 180 kB   00:00     

(3/5): epel/7/x86_64/updat 6% [=                ]  0.0 B/s | 664 kB   --:-- ETA 

(2/5): epel/7/x86_64/updateinfo                            | 962 kB   00:01     

(4/5): epel/7/x86_64/prima 25% [====            ] 2.8 MB/s | 2.6 MB   00:02 ETA 

(3/5): updates/7/x86_64/primary_db                         | 2.4 MB   00:01     

(4/5): docker-ce-stable/x86_64/primary_db                  |  25 kB   00:01     

(5/5): epel/7/x86_64/prima 59% [=========       ] 3.3 MB/s | 6.0 MB   00:01 ETA 

(5/5): epel/7/x86_64/prima 88% [==============  ] 3.7 MB/s | 9.0 MB   00:00 ETA 

(5/5): epel/7/x86_64/primary_db                            | 6.6 MB   00:02     
Resolving Dependencies
--> Running transaction check
---> Package dictd-server.x86_64 0:1.12.1-20.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package              Arch           Version                 Repository    Size
================================================================================
Installing:
 dictd-server         x86_64         1.12.1-20.el7           epel         242 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 242 k
Installed size: 826 k
Downloading packages:

dictd-server-1.12.1-20.el7 0% [                 ]  0.0 B/s |    0 B   --:-- ETA 

dictd-server-1.12.1-20.el7.x86_64.rpm                      | 242 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction

  Installing : dictd-server-1.12.1-20.el7.x [                             ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [##                           ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [###                          ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [#####                        ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [######                       ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [########                     ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [###########                  ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [#############                ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [##############               ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [################             ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [###################          ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [####################         ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [#####################        ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [######################       ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [########################     ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [#########################    ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [##########################   ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [###########################  ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x [############################ ] 1/1
  Installing : dictd-server-1.12.1-20.el7.x86_64                            1/1 

  Verifying  : dictd-server-1.12.1-20.el7.x86_64                            1/1 

Installed:
  dictd-server.x86_64 0:1.12.1-20.el7                                           

Complete!

然后从 http://www.dict.org/bin/Dict?Form=Dict1&Query=00-database-info&Strategy=*&Database=* 中下载字典

配置DICTD

dictd-server的配置文件位于 /etc/dictd.conf 中。

详细的配置可以看 man dictdCONFIGURATION FILE 一节。

修改好配置后可以通过给 dictd 发送 SIGHUP 信号来重新读取配置信息

kill -s SIGHUP $(pidof dictd)

启动DICTD服务

sudo systemctl enable dictd.service
sudo systemctl start dictd.service

安装并配置DICT客户端

安装dict客户端

sudo pacman -S dictd --noconfirm

配置dict客户端

dict默认从 ~/.dcitrc 读取本用户的配置信息,若该文件不存在则从 /etc/dict/dict.conf 读取全局配置。

默认的 /etc/dict/dict.conf 配置了两个dict服务地址: localhostdict.org, 我们把它改成自己服务器的地址.

创建文件 ~/.dictrc,填入下面内容

server tencent_cloud { port 2628 }

使用dict命令查询字典

最简单的方法就是直接运行 dict 单词,它会列出所有字典中的查询内容

dict man

但是这样一来显示的内容会很多,我们还可以用 -d 字典名 指定从某个字典中查询内容:

dict -d gcide man

只有服务器上支持那些字典可以通过 -D 选项来查询

dict -D

图形化的dict客户端

sudo yum install gnome-dictionary -y