用 ping 回應 Bad option specified 錯誤訊息

前幾天幫使用者處理網路不通的問題,
用ping測試連線是否正常時發現回應了”Bad option specified”這樣的錯誤訊息,
連ping 127.0.0.1都會如此,
後來找到是Windows的TTL設值有問題,
打開Windows XP的登錄檔編輯器,
到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 修改 DefaultTTL,
改成小於 255 的數值即可 (預設似乎是128)。

Outlook Express 收件匣爆掉的解決方法

自從開始上班之後知道原來Outlook Express(以下簡稱OE),
它的收件匣有2GB的限制,
常常看到同事不時有OE使用的問題跑來求救,
有一半以上都是收件匣爆掉不能收信。

目前我的做法如下:
1. 進入OE,在左方的本機資料夾(或是看使用者有無其他的)新建立一個空匣,假如先取名為Backup。
2. 關閉OE,到使用者的郵件所在目錄,把剛才建立的 Backup.dbx 手動刪除。
3. 將 收件匣.dbx 改名為 Backup.dbx。
4. 此時再打開OE,因為收件匣不存在的話OE一定會建立一個新的,而這時去看Backup就可以看到剛才收件匣的信都在Backup裡。

其實我做的只是收件匣更名的動作,
再利用OE會自動建立收件匣的特性,
也因此第二步驟千萬不要忘記,

利用 HP USB Disk Storage Format Tool 製作可開機的USB隨身碟

之前要做更新BIOS動作時遇到機器沒軟碟機,
但機器跑的是不是Windows也沒有不能用主機板官網的工具程式,
幸好找到這免費的工具:HP USB Disk Storage Format Tool (最新版本是2.2.3)
它可以將USB隨身碟重新格式化並可以開機,
若要更新BIOS就將所需的檔案放在去利用利隨身碟開機就可以了,
接下來的步驟就看各家主機板的操作說明囉。

要注意在格式化時若要能夠開機的話要選擇FAT32,
開機檔可以找看看有沒有用XP做出來的DOS開機片將檔案copy出來用,
或是舊版本的HPUSBFW也有附開機檔,
再來就是看各家主機板的支援或是限制,
像自己碰過HP ML150 G5這主機就限制只能用2GB以下容量的隨身碟來做BIOS更新。

hpusbfw

Skada 修改數值單位

因為之前用的Recount真的太吃資源了,
決定換用Skada這小巧的Addon,
只是看到它的數值單位也是用K、M又手癢想改看看。

打開skada.lua,在第1962行:

改成:

function Skada:FormatNumber(number)
  if number then
    if self.db.profile.numberformat == 1 then
      if number > 100000000 then
        return  ("%02.2f億"):format(number / 100000000)
	elseif number > 1000000 then
        return  ("%d萬"):format(number / 10000)
      elseif number > 10000 then
        return  ("%02.1f萬"):format(number / 10000)
      else
        return number
      end
    else
      return number
    end
  end
end

改成:

function Skada:FormatNumber(number)
  if number then
    if self.db.profile.numberformat == 1 then
      if number > 100000000 then
        return  ("%02.2f億"):format(number / 100000000)
	elseif number > 1000000 then
        return  ("%d萬"):format(number / 10000)
      elseif number > 10000 then
        return  ("%02.1f萬"):format(number / 10000)
      else
        return number
      end
    else
      return number
    end
  end
end

這邊我有再小修改一下,
如果數值小於一萬的話就顯示精確值而不是0.X萬這種格式,一萬到一百萬之間則顯示一位小數(如26.1萬),一百萬到一億之間則只顯示整數,超過一億則顯示兩位小數。

skada


好用的 xargs 指令

前陣子遇到到公司伺服器要移轉的關係,
很多PHP網頁連結資料庫的帳號密碼設定都要改,
因為實在是太多了一個個進去改太累人。
原本要寫一個script去跑的但中途發現一個好用的指令: xargs
它的作用是將前一個指令輸出的結果做為後面指令的參數。

例如我有一大堆的網頁,
假設正好這些網頁的資料庫設定都存放在config_db.php這個檔案裡,
那麼我想要一次改掉所有config_db.php內存的root帳號改成loki (這裡先假定所有的config_db.php格式都統一),
指令可以這麼下:
[cc no_cc=”1″]find . -name ‘config_db.php’ | xargs sed -i ‘s/\”root\”/\”loki\”/g'[/cc]
雖然一般使用find會一次把所有結果列出來,
但xargs可以一項項丟給後面的指令用,
如此就能達到我想要的效果。