sort tsi.src > tsi.src.new接下來使用 libtabe 所附的工具程式來進行編譯:
tsiadd -d tsi.db -f tsi.src.new -y -r tsiyindump -d tsi.db -y yin.db其中第一個指令會產生 tsi.db 檔,而第二個指令會產生 yin.db 檔。在一般情況下,由於所產生的 yin.db 會很大,這時,我們可以進一 步將它壓縮。如果您的系統有安裝 Berkeley DB2 或 DB3 的工具程式集的話,則 您應該找得到 db_dump 與 db_load 這兩支程式,則您可以執行 以下的指令進行壓縮:
db_dump yin.db | db_load yin.db.new mv yin.db.new yin.db這裡要特別留意的是,由於現在 libtabe 已經可以在 Berkeley DB2 或 DB3 上編譯 (自 libtabe-0.2.3 以後),而 DB2 與 DB3 有可能同時混裝在您的系統中 (視您系統所安裝的套件而定),且 DB2 與 DB3 二者是不相容的,故在做上述的壓縮動作時可能會發生一些 複雜情況。 如果您的系統中找不到 db_dump 與 db_load 這兩支工具程式的話, 則您可能面臨了類似此情況,然而它並不難解決, 您可以參考 底下 的方式來解決,或者您也可以省略上面這一步,因為未壓縮過的 yin.db 在安裝後並不會影響程式的正常運作,只會多佔一些記憶體而已。
最後,將這兩個檔案安裝到上述的目錄下,直接覆蓋掉原來那兩個 .db 檔即可。如果您在原來的 .db 檔中已加了新詞,而這次所加的新詞想要與 原來的 .db 檔合併時,則在進行 tsiadd 與 tsiyindump 兩個指令之前,請先將您原來的 tsi.db 檔拷到目前的工作目錄下:
cp $(prefix)/share/tabe/tsiyin/tsi.db .然後再執行 tsiadd 與 tsiyindump 兩個指令,最後再將新的 tsi.db 與 yin.db 安裝回去。 最後,您可能需要重新啟動 xcin 程式,讓您的修改可以生效。
再來,由於 DB2 與 DB3 是不相容的,故當您在進行壓縮的動作 時,建議您先確定您的 libtabe 在安裝時是連結到 DB2 還是 DB3? 然後再使用它的工具程式來壓縮,判斷方式是使用以下指令:
ldd如此就會顯示出 libtabe 所連結的 DB 版本。如果它是連結到 DB2 的話, 自然所編譯出來的 yin.db 也是 DB2 的格式,這時您就要用 DB2 的 db_dump 與 db_load 來做壓縮。而 DB3 亦同。如果您在壓縮時選錯了版本的工具程式,則會顯示出以下的錯誤訊息, 無法進行壓縮:/tsiadd
db_XXXX: yin.db: unsupported btree version number X這時,您就知道也許您選錯版本了,換個版本的工具程式再試試看。
綜上所述,一般而言您可以試試以下的步驟來做壓縮的動作: