用 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可以一項項丟給後面的指令用,
如此就能達到我想要的效果。

Outlook出現「某位收件者被伺服器拒絕」的錯誤訊息

會出現這個訊息代表該使用者的Outlook在傳送郵件時,
其中某位收件者的Mail Address可能為不合法不被伺服器接受,
(如格式有誤)
此時伺服器回應代碼是550 5.1.1代表User unknown,
因此找出看是哪個收件者的有錯誤進行修正或刪除後即可收發郵件。

不過今天因為一時搞不清楚「收件者」的涵意,
結果一直在該使用者的Outlook設定搞了許久沒搞定。

VMware上運行FreeBSD使用VMware Tools

首先當然是先用將FreeBSD安裝至VMware之中,
接下來到VMware選單的Virtual Machine選擇Install VMware Tools…
vmtools_freebsd01
便會開始下載。

下載完畢之後切換到VMware Tools所在的光碟映像檔中將檔案copy開始安裝:
[cc no_cc=”1″]# mount /cdrom[/cc]
[cc no_cc=”1″]# cp vmware-freebsd-tools.tar.gz /home/Loki/[/cc]
[cc no_cc=”1″]# cd /home/Loki[/cc]
[cc no_cc=”1″]# tar zxvf vmware-freebsd-tools.tar.gz[/cc]
[cc no_cc=”1″]# cd vmware-tools-distrib[/cc]
[cc no_cc=”1″]# ./vmware-install.pl[/cc]

安裝過程中會詢問哪些設定檔需要以新的複蓋過去,
像我沒有安裝X.org所以除了這以外我是全部都換成新的。
vmtools_freebsd02

另外FreeBSD要透過VMware上internet的話,
(家用ADSL的情況)
只要WMware網路介面的部分有設定為NAT,
在FreeBSD設定網路時只要用DHCP即可上網。

傳承出現缺口真的很恐怖…

今天總算是拿到光畫社網頁的帳密好好地修改一番,
因為舊主機故障導致論壇、相簿以及Blog等無法運作的關係,
許多連結都失效了,
年初有將不少服務轉移到ihost的虛擬主機上
雖然數度告知新的連結位址但現任的管理員一直沒去做更動,
後來才得知傳承上出了些問題,
現任的學弟也碩二忙得很所以也沒時間去弄,
而且他也才剛找到接班人,
只好自己先上場救援了,
真的深刻體認到傳承若出現缺口那問題真的很大條…
有些東西都近乎停擺,
當然身為前任光畫社資訊組長的我也得負起些責任,
沒有掌握好之後的運作情況。

日後還是會繼續和社上保持聯繫,
目前剩下的課題是要將相簿給恢復過來,
由於資料毀損嚴重真的是件大工程,
接下來就看loki.ind這台主機是否能再重見天日了。

Combuctor 整合背包Addon小修改

 雖然以前很習慣自己手動整理背包,不過看到許多人用使用像OneBag或Bagnon等整合背包似乎也很方便,因此
也找了一些類似的Addon來使用,最後是選上Combuctor,因為它除了背包整合功能外還多了分類標籤和物品品質
過濾等功能,這樣在一個大的整合背包找東西才方便,不過它有個小缺點是每當開啟拍賣場或是專業技能視窗時會自
動打開背包,但Combuctor設定功能中沒有將它關閉的選項,且預設的分類標籤很少,結果每開一個角色就要幫他
選一次,很不方便,因此決定直接修改原始內容。

 打開World of Warcraft\Interface\AddOns\Combuctor\Combuctor.lua:
self:RegisterEvent(‘MAIL_CLOSED’, AutoHideInventory)

	self:RegisterEvent('TRADE_SHOW', AutoShowInventory)
	self:RegisterEvent('TRADE_CLOSED', AutoHideInventory)
	self:RegisterEvent('TRADE_SKILL_SHOW', AutoShowInventory)
	self:RegisterEvent('TRADE_SKILL_CLOSE', AutoHideInventory)
	self:RegisterEvent('AUCTION_HOUSE_SHOW', AutoShowInventory)
	self:RegisterEvent('AUCTION_HOUSE_CLOSED', AutoHideInventory)
	self:RegisterEvent('AUCTION_HOUSE_SHOW', AutoShowInventory)
	self:RegisterEvent('AUCTION_HOUSE_CLOSED', AutoHideInventory)

把不想自動顯示背包的地方註解(或是刪除)即可:

	self:RegisterEvent('MAIL_CLOSED', AutoHideInventory)
	self:RegisterEvent('TRADE_SHOW', AutoShowInventory)
	self:RegisterEvent('TRADE_CLOSED', AutoHideInventory)
--	self:RegisterEvent('TRADE_SKILL_SHOW', AutoShowInventory)
--	self:RegisterEvent('TRADE_SKILL_CLOSE', AutoHideInventory)
--	self:RegisterEvent('AUCTION_HOUSE_SHOW', AutoShowInventory)
--	self:RegisterEvent('AUCTION_HOUSE_CLOSED', AutoHideInventory)
--	self:RegisterEvent('AUCTION_HOUSE_SHOW', AutoShowInventory)
--	self:RegisterEvent('AUCTION_HOUSE_CLOSED', AutoHideInventory)

再來是增加預設分類標籤,一樣修改相同的檔案,在 local function getDefaultInventorySets(class) 這個函式中加入想預設增加的標籤。
例如我希望每個角色預設加入裝備、消耗品、任務、專業技能物品、雜項五個分類:

local function getDefaultInventorySets(class)
	local sets, exclude

	if class == 'HUNTER' then
		sets, exclude = addSet(sets, exclude, L.All, L.All, L.Shards)
	elseif class == 'WARLOCK' then
		sets, exclude = addSet(sets, exclude, L.All, L.All, L.Ammo)
	else
		sets, exclude = addSet(sets, exclude, L.All, L.All, L.Ammo, L.Shards)
	end
	
	sets, exclude = addSet(sets, exclude, L.Equipment)
	sets, exclude = addSet(sets, exclude, L.Usable)
	sets, exclude = addSet(sets, exclude, L.Quest)
	sets, exclude = addSet(sets, exclude, L.TradeGood)
	sets, exclude = addSet(sets, exclude, L.Misc)
	
	return sets, exclude
end

其中第99~103行就是我額外加入的敘述,可以依自己的需求增減,以下再附上各標籤對應的名稱,這些名稱
可以在World of Warcraft\Interface\AddOns\Combuctor\localization\localization.zhTW.lua找到。
combuctor