前段時間我們 分享了explainshell.com 一個指令行解釋的網站 ,它會分析指令的幫助文檔,根據你想查詢的指令參數來抽取對應的解釋,然後非常清晰地顯示出來。

- 沒有網絡或網絡很差(可能是沙漠裡的無人區,或者管理嚴格的公司)
- 本機上的指令網站上沒有收錄其幫助文檔,或者收錄的是不比對的版本的文檔
本文将介紹如何在本地架設explainshell服務。放心,這很容易。
首先我們需要将explainshell的git倉庫克隆到本地:
git clone https://github.com/idank/explainshell.git
然後是安裝需要的依賴。首先要安裝mongodb,在Debian/Ubuntu下可以通過如下指令安裝:
sudo apt-get install mongodb
然後是python的一些庫,可以自動安裝:
cd explainshell
pip install -r requirements.txt
之後是用mongodb加載分類資料:
mongorestore dump/explainshell && mongorestore -d explainshell_tests dump/explainshell
好了,差不多完成了,運作下測試,確定沒出什麼問題:
make tests
測試O.K.之後,我們添加下man page。倉庫裡自帶的man page屈指可數,僅供測試之用。我們需要将本機上的man page添加過來。
rm -r manpages/1 manpages/2
ln -s /usr/share/man/man1 manpages/1
ln -s /usr/share/man/man8 manpages/8
python explainshell/manager.py --log info echo
注意我們使用了軟連結,這樣不會占用額外的磁盤空間,最重要的是,我們的作業系統更新軟體之後我們不需要重複添加。
好了,現在隻需啟動服務就可以了
make serve