2014年10月26日 星期日

利用『USB/IP』將 USB 裝置『重導』至另一部電腦


因為有某些需求,要將 USB 裝置透過網路『重導』到另一台電腦,就上網找了一下適當的工具套件。找到一個收錄在 RPM Fusion - Free 的開源碼套件 USB/IP,就來試試看這個套件是否合適。測試的結果雖然不符合原先的需求,不過,將來也許會用到,先將過程記錄下來。
  測試的結論先整理一下,免得有人像筆者一樣,試了半天才發現不合需求,而浪費時間。
  • 目前的版本兩台電腦都需以 root 權限設定,才可順利重導 USB 裝置。
  • 目前的版本只能『一對一重導』,尚不能『一對多分享』。
  • USB 裝置所在電腦或稱為 Server(伺服器),接收重導那台稱為 Client(客戶端)。
  • Client 端電腦若為「圖型化桌面環境」,重導後會『自動掛載』該 USB 裝置。

一、安裝 RPM Fusion 套件資料庫

這個 USB/IP 套件是收錄在 RPM Fusion - Free 這個套件資料庫,要先安裝它才可以繼續下面的步驟。詳細說明請參閱前文〝Fedora 一定要加裝的套件資料庫 – RPM Fusion〞,不在此贅述。

二、安裝 USB/IP 及相關套件

2014年10月17日 星期五

SSH「自動認證機制」之改進 - 快速複製密鑰

在前文『SSH 的「自動認證機制」 - 使用 DSA 密鑰』和『SSH 的「自動認證機制」 - 使用 ECDSA 密鑰』中,要將產生的公鑰複製到另一個電腦的『自動認證』公鑰檔案中,需要經過幾個步驟的操作。
  一直都有想找到更方便、快速命令的想法。果然,從網路上查到高手的解答,利用這個機會,分析一下這個複合命令的細節。就用以下這個複製 DSA 密鑰的命令
[SiB@Celeron-D ~]$ cat ~/.ssh/id_dsa.pub | ssh 192.168.10.15 -p 5566 -l SiB2 "cat >> ~/.ssh/authorized_keys"
或複製 ECDSA 密鑰的命令來解析
[SiB@Celeron-D ~]$ cat ~/.ssh/id_ecdsa.pub | ssh 192.168.10.15 -p 5566 -l SiB2 "cat >> ~/.ssh/authorized_keys"
這個複合命令可先分為兩個部分,
  • 第一個部份是『cat ~/.ssh/id_dsa.pub』是將以『ssh-keygen』產生的密鑰之公鑰輸出至『標準輸出(standard output)』,一般是指螢幕。
  • 『 | 』(pipeline,管線)是將前一個命令的『標準輸出』導至下一個命令的『標準輸入』。
  • 第二個命令是 SSH 的進階用法,又可拆分為兩個命令分別在不同電腦執行:
    • 以 SSH 連線至 192.168.10.15,埠號為 5566,登入帳號為 SiB2,並在登入後執行『cat >> ~/.ssh/authorized_keys』這個命令。
    • 在 cat 後並無檔案時,表示將從『管線』傳過來的資料當做『標準輸入』,再將之輸出至『標準輸出』
    • 其中『 >> 』是將『標準輸出』以『附加』的方式,加在檔案後面。
    • 所以命令『cat >> ~/.ssh/authorized_keys』可將傳過來的公鑰(在標準輸出)附加到認證檔的末端。
整個複合命令就是:將『本地電腦』的公鑰,經由『管線』傳至另一台電腦,再將之附加在認證檔之末端。

已測試版本:

  • Fedora: 19, 20

參考資料:

2014年10月15日 星期三

用 SCP 或 SFTP 傳輸含『空白字元』的目錄、檔案

之前發文中,有幾次提及 SCP 命令(實為命令化的程式)的使用。當
  • 所傳輸檔案的『來源目錄』、『目地目錄』不改變
  • 傳輸的檔案數目較少時,
這個命令相當方便。但是當目錄或檔案中有空白字元時,SCP 這個命令就不太正常。今天剛好需要在這個情況下使用它,就找了一下。說也簡單,為什麼沒有想到呢?趕快記下來,以後可好好利用它。
  以從另一台電腦(IP:192.168.10.15,埠號:5566,登入帳號:SiB2),下載檔案及目錄分別是『Fedora DVD x86_64.iso』及『~/temp』,而本地電腦的目的目錄是『~/iso』為例。

一、使用 SCP 命令

SCP 的命令為:
[SiB@Celeron-D ~]$ scp -P 5566 SiB2@192.168.10.15:temp/Fedora\\\ DVD\\\ x86_64.iso iso
其中,目錄或檔案名稱的每個『空白字元』都被加上『\\\』三個『反斜線』。

二、使用 SFTP 命令

SFTP 的命令為:
[SiB@Celeron-D ~]$ sftp -P 5566 SiB2@192.168.10.15:"temp/Fedora\ DVD\ x86_64.iso" iso
其中,目錄或檔案名稱的每個『空白字元』都要加上一個『\』(『反斜線』)。

使用經驗分享:

  • 檔案傳輸效率:較 Filezilla 或 NFS 為快,在 100Mbps 的網路幾乎是滿載的。
  • SFTP:『中文檔名』尚未成功,有機會再試試。

已測試版本:

  • Fedora: 19, 20

參考資料:

2014年10月13日 星期一

在 Fedora 安裝社群版的「嘸蝦米(Boshiamy)輸入法」

幾年前參考網路上說明,由下載的「嘸蝦米輸入法」表格,製作成 iBus 用的輸入法檔案。這個檔案用了幾年都沒問題,直到幾個月前的一次更新。
  當時並沒有留下紀錄,網友自建的表格原始檔在電腦中已經找不到了。用前文的方法只能暫時解決問題,利用連假上網找一下資料,並做個紀錄,以備不時之需。

一、安裝 iBus Table 套件

由於之前的版權(或專利)爭議,並無「嘸蝦米輸入法」的 iBus 模組,而以「表格」型式附加在 iBus 輸入法中。欲使用「嘸蝦米輸入法」要先安裝 iBus Table 套件,切換到 root 權限在終端機中輸入以下命令,
[root@Celeron-D ~]# yum install ibus-table-chinese ibus-table ibus-typing-booster
其中,前兩個套件是 iBus Table 及其中文輸入法,最後一個套件是為 iBus 輸入法增加輸入字預測功能,以加快輸入的速度。

:套件 ibus-typing-booster 若不安裝,似乎不能增加「嘸蝦米輸入法」;先安裝再說,以後再研究。