:::

用EaseUS Todo Backup Free 4.0.0.2實作實體機器轉成虛擬機器(P2V)

用EaseUS Todo Backup Free 4.0.0.2實作實體機器轉成虛擬機器(P2V)

image

最近在重灌電腦的時候試著用用看其他的備份軟體,意外地發現EaseUS Todo Backup Free 4.0.0.2具備P2V功能。我一直以來都對虛擬機器相當感興趣,P2V──實體機器虛擬化當然也是其中一個關切重點。

使用EaseUS Todo Backup Free備份電腦並轉換成虛擬機器的過程並沒有很困難。更重要的是,這些工具全部都是免費可取得的!非常適合虛擬機器入門者拿來練習P2V。

在此記錄使用EaseUS Todo Backup Free來實作P2V的過程。


什麼是P2V?

摘要Wikipedia的介紹:

計算機集群中,許多小型伺服器正在被一個大型伺服器取代以增加硬體資源的利用率(如CPU等)。雖然硬體正在被整合,但是典型的作業系統仍然是獨立的。取而代之地,每一個運行在獨立的伺服器上的作業系統被轉移到在虛擬機中。大型的伺服器可以「寄宿」許多這樣的「客戶」虛擬機。這就是物理到虛擬(Physical-to-Virtual, P2V)的轉換。

早期我們大部分的系統都是以實體機器建立:在實體機器上安裝Linux、架設網站、實作系統。但是一旦這個系統已經不常使用時,它卻仍佔用了這個實體機器。這不僅造成維護上的困難,後面的人也無法有效地利用這台實體機器的資源。

這時我們採取的作法就是上述的P2V,把實體電腦直接虛擬化,然後擺到虛擬機器運作環境下讓它繼續運作,而實體電腦就可以騰做其他利用。

關於P2V的技術與工具非常多,有興趣的話可以先看一看王偉任寫的一次學會虛擬化P2V與V2V轉移,可以有更全面的基本概念。

使用工具

這一篇介紹使用了三種工具,一個是主角EaseUS Todo Backup,一個是P2V的輔助函式庫VMware Virtual Disk Development Kit,最後一個是虛擬化環境VirtualBox。

EaseUS Todo Backup 4.0.0.2

image

EaseUS這家公司出的備份軟體EaseUS Todo Backup主要是用於硬碟映像檔備份上。類似功能的產品有早期的Norton Ghost、現在知名的Acronis True Image與國網中心整合多種開放原始碼工具組成的再生龍CloneZilla

在雲端平台虛擬化技術熱潮之下,這些軟體也不只有單純地用在實體機器上,而也對應到虛擬機器的備份與還原。當然,實體機器可以用的備份工具,虛擬機器也可以用。而為了因應虛擬機器的管理需求,各種功能就因應而生。

P2V就是其中的一種虛擬機器技術。然而由於虛擬機器運作環境並非個人、家庭常見的東西,大部分免費、個人與家用版的備份軟體都不具備P2V功能。

EaseUS Todo Backup在很早以前的免費版本4.0.0.2中卻擺上了P2V這個企業級的功能,但是在後面的免費版本中卻都將它移除掉了。EaseUS Todo Backup 4.0.0.2版本在官方網站已經消失已久,不過網路上依然可以找到這個版本。我把它上傳到SkyDrive供其他人利用,如果有所侵權,請再告知我吧。

VMware Virtual Disk Development Kit

EaseUS Todo Backup的P2V功能需用到VMware的Virtual Disk Development Kit,這也是VMware上可以免費下載的工具,不過需要先註冊免費帳號登入之後才能使用就是了。我也將它備份如下:

VMware-vix-disklib-5.1.0-774844.i386.exe

Orcale VM VirtualBox

image

EaseUS Todo Backup使用P2V最後輸出的會是VMware的虛擬機器格式,而這個幾乎已經成為業界標準的VMware虛擬機器也是能在免費的Orcale VM VirtualBox上運作。

VIrtualBox到現在還是我個人認為練習架設虛擬機器的首選,到目前版本在網路設定上已經友善許多,不輸給VMware Workstation,而且還是免費的喔!

備份檔案如下:


P2V實作過程

Ashampoo_Snap_2013.01.06_16h07m03s_008_EaseUS Todo Backup

裝好EaseUS Todo Backup(以下簡稱EaseUS)之後你可以看到上面的主畫面。

要做P2V我們必須經過兩個步驟:

  1. 將實體機器備份成硬碟映像檔
  2. 將硬碟映像檔轉換成虛擬機器
備份實體機器

image

我現在就以我目前在操作的電腦來做練習,按下「Data backup (File, Disk/Parititon)」進入備份功能。

Ashampoo_Snap_2013.01.06_16h08m18s_010_EaseUS Todo Backup

選擇你要備份的硬碟,我主要的系統都安裝Disk 2,你可以看到上面的路經是「C: (NTFS)」。選擇Disk 2,然後在下面設定備份映像檔的儲存位置(Destination,我目前設定是D:\My Backups),最後按下右下角的「Proceed」開始備份吧。

在備份的時候電腦不需要關機,這種模式叫做「熱備份(Hot Cloning)」,而用在P2V術語上,則叫做「熱遷移(Hot Migration)」。相較於備份時必須關機的模式「冷備份(Cold Cloning)」或是「冷遷移(Cold Migration)」來說,「熱備份」其實是比較高難度的作法喔。

備份需要花點時間。如果你硬碟非常大,那就要花更久的時間。我的硬碟為60GB大小,備份過程會壓縮處理,最後產生了9GB的備份檔。

Ashampoo_Snap_2013.01.06_16h02m39s_003_Disk and Partition backup 2013-1-6 AM 08-00

備份完成之後,你就可以在備份檔的儲存位置找到你硬碟的備份檔。為了方便燒錄,所以我把映像檔做了分割,上圖中才會看到那一堆的映像檔資料,但其實都是同一顆硬碟Disk 2的備份檔案。

轉換映像檔成為虛擬機器

image

再回到EaseUS的主畫面,這次我們要用的是轉換映像檔(Convert image)的功能,將備份的硬碟映像檔轉換成虛擬機器。

除了VMware之外,你也可以轉換成Microsoft虛擬機器VirtualPC。而這篇主要展示的是轉換成VMware的功能。請注意,在用這功能之前必須先安裝VMware Virtual Disk Development Kit,不然會無法執行喔。

Ashampoo_Snap_2013.01.06_16h03m30s_005_EaseUS Image Converter

轉換映像檔功能操作也很簡單:

  1. 選擇你要轉換的映像檔(Backup image)
  2. 設定你要輸出的虛擬機器檔案名稱(Image name)、類型(Type: VMWare)與位置(Destination)

設定完成之後按下「Proceed」開始轉換吧。

Ashampoo_Snap_2013.01.06_16h03m07s_004_Disk and Partition backup 2013-1-6 AM 08-00

虛擬機器跟硬碟映像檔放在同一個位置,就只有那一個檔案而已喔。我9GB的備份檔案轉換成虛擬機器之後大小增至22GB,但還是比原本60GB小很多。耗時很短,只有15分鐘左右。

在VirtualBox上運作

為了測試我們轉換完成的虛擬機器是否能正常運作,在此是使用VirtualBox來進行。

image

在建立虛擬機器那邊,要使用現有的虛擬硬碟檔案,並指向你剛剛轉換完成的虛擬機器。

image

在這邊要注意一下。VirtualBox預設建立虛擬機器掛載虛擬硬碟檔案的時候,會將硬碟連接為SATA硬碟。如果你原本實體機器硬碟就是用SATA,那沒有問題;如果是IDE裝置(PATA)的話,要記得到設定值的存放裝置中,把你的硬碟掛載在「控制器:IDE」底下,這樣子Windows開機才會正常運作喔。

Ashampoo_Snap_2013.01.06_16h18m40s_015_

設定完成之後,打開VirtualBox中的虛擬機器,整個就是正常運作。畫面中出現錯誤是因為我沒有另外備份另一個磁碟,導致Windows找不到資料而已。


結語:EaseUS Todo Backup的優缺點

經過這一番P2V的練習之後,我可以發現EaseUS一些優缺點。

優點部分很明顯:

  • EaseUS Todo Backup是免費的,很適合作為推廣入門的工具。
  • 先將實體機器轉換成映像檔、再轉換成虛擬機器的過程十分穩定,比VMware vCenter Converter Standalone透過連線做Hot Cloning還要來得穩定得多。
  • 結合原本實體機器的備份策略

缺點部分也不少:

  • 兩階段轉換手續難以自動化。如果P2V需求相當大的話,這就比較麻煩了。
  • EaseUS Todo Backup Free 4.0.0.2沒有「增量備份」的功能。

特別是增量備份的功能,這對定時要進行系統備份的任務來說是非常必要的。增量備份的意思是,第一次備份檔案時備份了完整的硬碟映像檔,而第二次之後則是備份前一次差異的檔案,不必再次備份完整的整顆硬碟。這種技術可以省下許多硬碟空間,並將多個版本保持在同一個備份檔案中,以方便管理。

之前我大多使用Acronis TrueImage作為備份工具,也是因為它具備了增量備份功能。

而後來我又發現到原來VMware vCenter Converter Standalone能夠將Acronis TrueImage備份的tib硬碟映像檔轉換成VMware虛擬機器。這樣就能做到跟上述使用EaseUS相同的效果,還能繼續使用增量備份的功能,實為更佳的方案。我們下次再來聊聊怎麼用Acronis TrueImage來實作P2V吧。

(more...)

BlueStacks利用Astrid開啟Google Play,也能購買付費App

布丁布丁吃布丁

BlueStacks利用Astrid開啟Google Play,也能購買付費App

Ashampoo_Snap_2013.01.11_16h12m40s_016_BlueStacks App Player for Windows -beta-1-

利用BlueStacks App Player來開啟Google Play以付費下載Android App的方法已經是去年的新聞了。T客邦這篇文章的作法是下載Go桌面EX以開啟Google Play,但實際上可以更簡單一點:只要在瀏覽器中打開Google Play的網址就可以了

這篇大概敘述一下整個過程,作為一個記錄。


下載BlueStacks

image

如果在安裝的時候遇到以下錯誤訊息:

Bluestacks currently doesn't recognize your graphics card. It is possible youe Graphics Drivers may need to be updated. Please update them and try installing again

表示你的顯示卡驅動程式太舊了,請重新安裝。

其他安裝BlueStacks的過程可以參考巴哈姆特tyr2004的文章

設置Google帳戶

Ashampoo_Snap_2013.01.11_15h42m44s_015_BlueStacks App Player for Windows -beta-1-

Google Play綁定Google帳戶,所以在下載App之前你必須先在BlueStacks裡面設定Google帳戶。設定的地方是在右下角image設定按鈕中,進入「管理帳戶」,然後新增Google帳戶。操作方式跟手機上是一樣的,在此不再細述。

無法安裝Go桌面

Ashampoo_Snap_2013.01.11_15h38m15s_003_BlueStacks App Player for Windows -beta-1-

安裝好BlueStacks之後,我先做的就是搜尋「GO桌面EX」。找是找得到,可是按下「安裝」的時候卻怎樣都失敗。

我試了其他軟體,發現BlueStacks似乎被Google Play擋了下來,所以只能安裝他自己提供的App。

安裝Astrid記事軟體

image

GO桌面EX不能裝、ES檔案管理器不能裝,沒關係,至少Astrid可以安裝。

Ashampoo_Snap_2013.01.11_15h40m03s_007_BlueStacks App Player for Windows -beta-1-

Astrid是一個待辦事項記事工具,但有個特色,他在備註裡面的網址會自動轉換成連結。這就可以讓我們從Astrid中開啟Google Play的網址。

在Astrid新增有Google Play網址的待辦工作

Ashampoo_Snap_2013.01.11_15h40m23s_008_BlueStacks App Player for Windows -beta-1-

首先,在下面的「Add a task」新增任意名字的工作,我把它叫做Test。然後按下工作名稱,到右邊選擇「更多」,找到下面的「備註」。

Ashampoo_Snap_2013.01.11_15h41m11s_009_BlueStacks App Player for Windows -beta-1-

然後在備註裡面輸入Google Play的網址。

在這邊我以付費App「PhotoSyncUnlocker」為例,他的網址是:

為了方便我輸入到BlueStack,我利用goo.gl縮短網址之後,短網址是:

回到Astrid,我們把這段網址輸入到備註吧。

Ashampoo_Snap_2013.01.11_15h41m20s_010_BlueStacks App Player for Windows -beta-1-

你可以看到備註那邊已經多了一段「http://goo.gl/zcu8q」網址,而且是可以點開的。

從Astrid工作備註開啟Google Play

Ashampoo_Snap_2013.01.11_15h41m36s_011_BlueStacks App Player for Windows -beta-1-

點下去之後就可以選擇用「Play 商店」(就是Google Play)來開啟。

Ashampoo_Snap_2013.01.11_15h42m27s_014_BlueStacks App Player for Windows -beta-1-

到此為止,你已經順利進入Google Play,而且可以購買App了。

(more...)

Android的Evernote變更預設筆記本的方法──用Evenote Web來設定

布丁布丁吃布丁

Android的Evernote變更預設筆記本的方法──用Evenote Web來設定

image

知名的跨平台筆記軟體Evernote是我很常用的工具,你既能在電腦上安裝Evernote編輯筆記、也能在Android等行動裝置上安裝App來隨手記錄、還能用瀏覽器開啟Evernote Web

Screenshot_2013-01-03-01-27-36 

我最常用的是Android的Evernote App,目前版本是4.4.2。他用來記錄的功能很多,但是管理功能卻很弱。特別是最近我換了一個預設記事本,Evernote App根本就找不到更改預設記事本的設定,讓我十分困擾。

最後發現到只要在Evernote Web設定預設筆記本,最後就會同步到Evernote App,這樣就行了。

步驟如下:

  1. 進入Evernote Web:登入你Evernote的帳號密碼就能開啟。
  2. 選擇你要設定成為預設記事本的記事本,按右鍵開啟選單,選擇「內容」。
    20130103-012350
  3. 記事本內容設定裡面就有「將此設為我的預設記事本」,打勾並按下「儲存」按鈕吧。
    20130103-012510
  4. 回到Android的Evernote App同步看看,接下來新增的記事都會變成你的預設筆記本囉。
    Screenshot_2013-01-03-01-26-27
(more...)

從日曆上看RSS:RSS轉換成iCalendar格式

布丁布丁吃布丁

從日曆上看RSS:RSS轉換成iCalendar格式

 

20121231-003507

許多網站服務都提供資訊饋送RSS Feed的服務,可供Google Reader之類的RSS閱讀器來訂閱。大部分的RSS閱讀器都是以一篇一篇的形式瀏覽文章,但是如果能從日期來回溯看過的RSS文章,那RSS就不只能當做新聞閱讀,還能典藏資訊供之後的調閱。

現在的日曆軟體也有訂閱功能,例如Google Calendar,可惜它訂閱的是iCalendar格式,跟RSS的XML格式差別很大。今天我找到了Yahoo Pipes這個有趣的程式化Feed改造服務,作了一個RSS to iCalendar服務供大家使用。

這篇是教大家如何使用RSS to iCalendar服務,並放你的Google Calendar的方法。


1. 準備你要轉換的RSS Feed網址

首先,你應該會有一個想要轉換成可在日曆上看到的資訊來源。Blog是一個很好的例子,如果可以從日曆上看到你是什麼時候寫的Blog,那不就像是日記一樣地實用嗎?

image

以下我就用你現在看到的這個Blog「布丁布丁吃什麼?」的RSS來介紹。我想把最新發表的文章放到日曆中,那麼我透過一些調查知道這個RSS Feed網址是:

記好這個網址,待會會用到喔。

2. 進入RSS to iCalendar設定資料

20121231-005109

請開啟RSS to iCalendar網頁,網址如下:

請在中間兩個欄位輸入資料,這兩個欄位各別是:

image

  • 請輸入RSS/ATOM網址 (Feed URL):輸入剛剛查到的RSS Feed網址「http://pulipuli.blogspot.tw/feeds/posts/default
  • 請輸入標題的前贅詞,以方便分辨RSS/ATOM來源 (Prefix of every item title):這個日曆我希望標題開頭都帶有容易分辨的標籤,所以填入「[BLOG]」

接著按下右邊的「Run Pipe」,等待Yahoo Pipes擷取你的Feed資料吧。

image

如果順利的話,下面的List會列出我的Blog文章標題與內容,也就是Feed的資料。你可以發現標題都被加入了[BLOG]字串

3. 取得iCal網址

20121231-001955

接著我們要取得可以匯入日曆的iCal網址,它的位置是在List上面那排分享工具列最右邊的「More options」裡面的「image Get as iCal」,請按右鍵來「複製連結網址」。這些位置不太好找,請參考上圖來操作。

最後取得到iCal網址為:

http://pipes.yahoo.com/pipes/pipe.run?_id=2f8dc3f91998456a835b5c86d91e9ce1&_render=ical&feed=http%3A%2F%2Fpulipuli.blogspot.com%2Ffeeds%2Fposts%2Fdefault&prefix=%5BBLOG%5D

4. 匯入到Google Calendar中

20121231-001706

日曆軟體很多,在此我是以最常用的Google Calendar來說明。在Google Calendar左下角有個「其他日曆」的位置,它的標題右邊有個下拉式三角形箭頭按鈕image ,開啟選單進入「輸入網址以新增」。操作位置請參考上圖。

image

接著請輸入剛剛取得的iCal網址,按下「新增日曆」,然後稍待一下。

image

如果順利的話,Google Calendar會建立一個「RSS to Calendar (iCal)」的日曆。

20121231-001857

如果不幸出現了「無法為 …… 於 http://pipes.yahoo.com/pipes/pipe.run?_id=2f8dc3f91998456a835b5c86d91e9ce1&_render=ical&feed=http%3A%2F%2Fpulipuli.blogspot.com%2Ffeeds%2Fposts%2Fdefault&prefix=%5BBLOG%5D 中新增匯入的日記」這種訊息,請試著換台電腦再操作看看吧,你可能被Google Calendar擋下來了。

6. 設定RSS to iCalendar(iCal)日曆

image

接著教你如何修改RSS to iCalendar (iCal)的名稱跟顏色。請按下該日曆右邊的箭頭開啟選單 image,你可以在此選擇日曆的顏色,然後進入「日曆設定」。

image

在日曆設定中,你可以設定日曆名稱。現在我們把「RSS to iCalendar(iCal)」改成「布丁布丁吃什麼?」,然後按下上面的「儲存」按鈕吧。

image

日曆名稱改成「布丁布丁吃什麼?」囉。

這樣子你要新增下一個RSS to iCalendar的時候,就不會因為日曆名稱一樣而被搞混了。


結語:用日曆來「彙整」日記

用日曆來寫日記這種概念很多人都有過,但是用日曆來「彙整」日記這想法似乎就很少人提過。

傳統對於日記的概念大多是撰寫成一份供人閱讀的文件,但是在網路時代中,我們的日常記錄卻常常是以不同的形式分散在網路的各個地方:在Blogger寫的文章、在Plurk發的牢騷、在Picasa建立的相簿、在Facebook舉辦的活動、在Evernote保存的網頁。

有些網站服務是專門彙整你在網路上活動的社群網站記錄,但是卻很少看到這些服務是以日曆的方式來保存。

最近一天,我忽然發現我想要找三年前某一天的活動照片跟聊天討論時,我開始驚覺到用日期來找尋日記這件事情有多麼的重要。所以現在才會著手研究RSS轉成iCalendar保存在Google Calendar的方法。

當然,放在Google Calendar的日曆不僅可以從日期來瀏覽,也支援全文搜尋的功能,讓你更方便找到以前的日記喔。

(more...)

Proxmox修復OpenVZ虛擬機器使用Ubuntu 12.04/10.04無法在console顯示的問題

Proxmox修復OpenVZ虛擬機器使用Ubuntu 12.04/10.04無法在console顯示的問題

image

Proxmox VE是虛擬機器運作環境的一種平台,其特色是支援了容器虛擬化技術OpenVZ。OpenVZ可以用較少(比起VMware之類的全虛擬化)的檔案建立一個高效能的獨立虛擬機器。然而OpenVZ並非是一種全虛擬化的技術,在運作各個系統時難免會遇上一些問題,需要手動修正。

這篇是講以OpenVZ建置Ubuntu 12.04/10.04虛擬機器時,修復console (控制台)無法順利使用的問題。問題的解法是來自於Proxmox的說明網頁,基本上照著它的作法並沒有錯,我只是增加一些額外的說明而已。


問題敘述:console卡死在apache2

20121221-230506

這次我在Proxmox VE 2.2版中安裝ubuntu-12.04-standard_12.04-1_i386.tar.gz樣板建立起Ubuntu虛擬機器。建置過程順利,但是卻無法順利進入console(控制台)。如上圖所示,畫面卡在以下訊息:

* Starting web server apache2                   [ OK ]

看監控表,虛擬機器是有正常運作,可是實際上卻不能使用,怎麼會這樣呢?我找了好久才發現原來這是Ubuntu的桌面無法配合console顯示的問題。

解決方法:調整Ubuntu的tty1.conf

首先,先登入Proxmox VE伺服器,我們從伺服器來進入Ubuntu虛擬機器修改。

查詢Ubuntu虛擬機器編號

你必須先知道Ubuntu虛擬機器的編號,你可以輸入vzlist指令來查詢:

proxmox-ve:~# vzlist
     CTID      NPROC STATUS    IP_ADDR         HOSTNAME
      108         23 running   192.168.9.20    ubuntu-1204.proxmox.com
      109         18 running   192.168.9.21    centos63-64.proxmox.com
      111         15 running   192.168.9.23    centos5-64.proxmox.com
      114         14 running   192.168.9.30    deb6-32.proxmox.com
      115         15 running   192.168.9.31    deb7-32.proxmox.com
      122         14 running   192.168.9.36    deb5.proxmox.com

從上面的例子中你可以看到ubuntu1204.proxmox.com的編號是108

進入Ubuntu並修改tty1.conf

接著輸入vzctl enter 108來進入Ubuntu虛擬機器:

proxmox-ve:~# vzctl enter 108

順利的話,你就可以看到以下訊息:

root@ubuntu-1204:

這表示你進到Ubuntu虛擬機器了,接著來修改tty1.conf吧。tty1.conf的檔案路徑位於「/etc/init/tty1.conf」:

root@ubuntu-1204:/# vim /etc/init/tty1.conf

你會看到以下畫面:

image

現在要把這個檔案的內容改成以下設定:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.
 
start on stopped rc RUNLEVEL=[2345]
 
stop on runlevel [!2345]
 
respawn
exec /sbin/getty -8 38400 tty1

儲存該檔案,然後重新啟動Ubuntu伺服器吧。

root@ubuntu-1204:/# reboot

然後你就可以在console看到Ubuntu虛擬機器順利啟動了。

20121221-230123

(more...)

從散步到跑步

布丁布丁吃布丁

從散步到跑步

Screenshot_2012-12-21-18-22-45

最近回到政大的時候,也想要試著養成每日運動的習慣。今天也是沿著景美溪河岸跑跑看,感覺還不錯。不過跟之前當兵相比,這種程度的跑步量還真是相差很多啊XD

這篇想要記錄一下我對於跑步這件事情的一些想法,純粹閒聊而已。


在山路散步

262671_1771953106347_3676212_n

在政大的期間,由於工作的地方是位於山腰上的百年樓、住的地方又是位於山頂的自強宿舍,所以大部分的時候我都是走路上下山。

政大有校內公車,車資1元,非常受學生歡迎。但是我覺得比起在公車上人擠人,我更喜歡像是烏龜一樣,一步一步地踏著傾斜的山路上山。

DSC_0305

我喜歡悠閒地在路上慢慢地晃著,偶爾抬頭看看天空、夕陽與晚霞,偶爾看看四周綠意盎然的山林,偶爾也可以沉浸於手上的手機、平板電腦或PSP(←不良示範)。

總覺得,這樣子在山路上散步,就已經算是一種運動了。可是在軍中,正常體位如我,徒手三千公尺跑步只是基本要求。

新訓的跑步訓練

剛入伍的時候要經過新兵訓練,簡稱新訓。新訓會格外要求各位阿兵哥的基本體能,對此進行嚴格的訓練。

我聽過許多人為了怕當兵時跑不了三千公尺,在入伍前就開始訓練。但是我進去之後才知道,軍中也不會要你馬上就跑三千公尺,而是從一千二百公尺左右的長度逐漸增長,最後才是跑完整的三千公尺。

嗯?一千兩百公尺大概有多長呢?比較一下今天跑步的地圖,我想一千兩百公尺大概就是從政大前門水平移動到蔣公銅像的後門這麼長吧。儘管政大因為是山路的關係,並沒有像是直接跑在平地那麼輕鬆,但是以前從前門到後門都要騎車的距離,居然新訓時就要做到了!

而且很遺憾的,因為種種誤會,直到我真正跟大家進行跑步訓練的時候,大家已經從兩千公尺起跳了。兩千公尺大概又有多長呢?差不多就跟我今天跑的距離一樣,從百年樓往後門跑、下景美溪河岸、一路跑到道南橋這樣的程度。

平常沒在跑步的我,第一次就跟大家帶隊跑步兩千公尺,實在是非常地吃力。帶隊跑步的意思是,一百二十幾人排成四路隊形,必須腳步劃一地進行跑步訓練。不光是跑步,我們也要藉由大聲喊出口號來維持隊形與統一步伐,以避免跑步時造成混亂、採到別人的腳步。

一邊跑步、一邊跟上大家的腳步、還要一邊喊口號,跑步結束之後走路緩衝的時候,我是直接被班長扶到救護車去休息,整個人完全撐不下去。

 

但是,那的的確確是個新奇的體驗

「加油!撐下去!」

老實說,雖然身體沒辦法完全地跟上大家的腳步,但是我不但不討厭帶隊跑步,反而覺得這是很有趣的一項活動。這麼多人跟你一起跑步,這大概也是只有當兵時才會經歷的體驗了。

新訓時並不特別強調速度,只要大家都能順利跑完,帶隊者也不會刻意刁難。跑個幾天之後,就算不運動如我也逐漸地能夠適應。甚至有種如果不是刻意要求速度的話,似乎不管跑多遠我都做得到的感覺。

更讓我覺得有趣的地方,是在於一起跑步的同袍們。

帶隊跑的用意不僅僅是管理方便,由於大家要彼此配合奔跑,有時候你會有種「被隊伍帶著跑」的感覺,而激勵自己跑得比原本的狀況還要好。

另一種情況不是「被隊伍帶著跑」,而是「在隊伍中往前跑」。儘管帶隊跑會要求隊形,但是跟不上的人終究也只能逐漸脫隊,此時後面的人就會在隊伍中慢慢地往前推進。那種超越別人的瞬間,也算是自己一個鼓勵。

不過,比起超越其他人,「加油,撐下去!」地鼓勵快要撐不下去的同袍是我更常作的事情。

 

我們要一起跨越終點線,加油!

下部隊之後的跑步訓練

新訓之後我又被分發到二階段訓。雖然那時候也是要求每天下午跑步,但是距離大概只有兩千公尺,與新訓時的三千公尺有相當大的差別。

那時候就開始有種不跑一下身體難以舒展的感覺,在跑完基本要求的兩千公尺之後,我偶爾也會自己再去多跑個一陣子。那時候也認識了幾位喜愛跑步的朋友,有人一起跑步、聊天,感覺也不錯。

儘管新訓與二階段訓對於體能要求都是照表抄課,但是下部隊之後的體能訓練,則是端看上面長官的重視程度。

我剛下去的時候剛好遇到體能鑒測,那時候也是下午要求統一集合帶操、跑步。之後的體測要求、聯隊對體能的重視等等,也都會引起一陣跑步訓練的風潮。

不過除此之外,大部分時候在路上跑步的人都是少數。平常工作已經很累了,下班之後更是不會想要訓練體能。因此下部隊之後,不僅帶隊跑的機會不多,種種業務工作纏身的情況下,下班之後要跑步也很困難。

觀賞不同的景色

有陣子,我幾乎覺得自己退回到跑不了三千的程度了。還好,跟我同辦公室的同梯,他是個喜歡運動的人──比起在辦公室工作來說更喜歡運動XD

有一次在他的推薦之下,我跟他一起沿著機場外圍的道路跑步。跟以前繞著固定道路跑個三四圈的情況不同,外圍道路道路寬敞、人車稀少,也不會有種一直在原地打轉的感覺。我們就是只跑一圈,但是是非常大的一圈,光這樣跑下來就已經快要四千公尺了。

我們並沒有刻意在意速度,一邊聊天一邊慢慢跑地跑完全程。

 

「比起跑固定的地方,」同梯他說,「我更喜歡在這邊跑步,可以一邊觀賞不同的景色。」

 

他說的這番話,讓我印象十分深刻。

即使在這個營區中服兵役已過半載,我卻還有許多地方尚未涉足。像是這外圍道路,要不是他找我來這跑步,我自己可能從來不會想要來這邊看看。

經他點醒之後,跑步對我來說,已經不只是一項單純的體能訓練,而包括了擴大視野的這層意義。

找尋政大的景色

退伍之後,我離開了平坦的營區,回到位於山上的政大校園。

我十分質疑自己是否能夠維持軍中跑步運動的習慣。畢竟在當兵時都是跑平地,很少會在傾斜的路上跑步。綜合學院旁操場的人又實在是太多,跑起來也不太順暢的感覺。而適逢寒流與東北季風,這季節台北雨天的日子比晴天還要多。別說在山路上跑步了,甚至是不想出門被雨淋呢。

 

有一次,終於天晴了。

我下定決心,試著走出百年樓跑跑看山路。不過才剛開始跑,就被藝文中心那邊新蓋好的水岸電梯吸引了過去。

DSC_0103

看到新玩意兒當然是先來參觀一下了,二話不說立馬跑過去坐個電梯下樓看看。

DSC_0107

透明外牆的水岸電梯上,可以看到景美溪河岸旁的水岸道路,平坦地綿延到前門。

 

這時候我忽然想起了同梯的話。

對喔,政大並不是只有山路跟操場,它還有像是景美溪河岸這樣的平路呢。

開始每一場冒險

unnamed

剛好,最近又發現到Google推出了Android APP「我的足跡」,可以越來記錄我每次跑步的過程。

Screenshot_2012-12-21-20-36-40

看著APP上寫著「開始記錄您的下一場冒險」,激起了我對於四處跑步的興趣。

今天下午我就開著它,從政大後門沿著景美溪河岸跑到了前門,並上傳到了我的Google地圖。這樣跑下來約2.19公里,花了16分鐘。以當兵時三千公尺要求15分鐘(因年紀而調整)的標準來說,這成績是完全拿不上檯面。但比起跑步訓練體能這件事情,四處觀看不同景色卻能給我帶來更多樂趣。

今天在跑步的時候,我發現景美溪對面似乎也是不錯的一條路線。每次跑步時都能開發出不同的路徑,未來又會有更多的冒險可以進行,真是令人期待啊。


結語:運動的樂趣

如果說當兵讓我學到最重要的東西,我想應該就是「運動的樂趣」吧。

流汗是一種舒爽的感覺、喘氣是一種活著的證明,而在挑戰體能的極限之餘,我又學到了從跑步中欣賞更多周圍景色的樂趣。對我來說,當兵是很有價值的一段經驗。

做運動是很有趣的,希望大家都能多多跑步、或至少散散步,欣賞一下週圍的景色吧。

本週的布丁通信,就到此為止囉。

(more...)

XAMPP啟用PostgreSQL功能

布丁布丁吃布丁

XAMPP啟用PostgreSQL功能

20121220-205618

XAMPP是一套以Apache、PHP、MySQL組成的開發用套裝伺服器,但它並沒有內建PostgreSQL,在設定PostgreSQL的連線上也不是這麼直覺。

最近在架設開發環境的期間遇到了XAMPP無法順利啟用PostgreSQL連線的問題。經過一番研究,總算找出了解法。這篇就是介紹如何在XAMPP中啟用PostgreSQL的方法。


作業系統說明

image

我目前使用的作業系統是Windows 7 企業版,64位元。這篇的問題主要都是發生在Windows之中,Linux使用者應該不太容易遇到這個問題喔。

XAMPP與PostgreSQL的安裝

image

XAMPP使用的是XAMPP Portable 1.8.1

必須特別註明的是,儘管這是Portable可攜版本,但是目錄必須為「xampp」並放置在磁碟分割的根目錄下,例如「C:\xampp」或「D:\xampp」。我因為想嘗試不同版本而將資料夾命名為「xampp 1.8.1」之類的名詞,xampp就無法順利啟動。

PostgreSQL使用的是9.2.2版。網路上討論這個問題時通常看到的是8.x版本,所以我想版本應該不是問題。

XAMPP的部份

20121220-223634

剛安裝好XAMPP與PostgreSQL的時候,XAMPP裡面的PHP是無法順利連上PostgreSQL的,因為它預設並沒有打開pg_sql模組。

設定php.ini

php.ini是PHP的主要設定檔,它位於以下路徑:

[xampp]\php\php.ini

請以任意的文字編輯器開啟,並找到以下兩個PostgreSQL模組的選項:(兩者位於不同行,但很相近)

;extension=php_pdo_pgsql.dll
;extension=php_pgsql.dll

開啟模組的方法就是移除前面的註解符號「;」,修改之後如下:

extension=php_pdo_pgsql.dll
extension=php_pgsql.dll

20121220-205754

修改完成,請重新啟動Apache。

用XAMPP Control Panel來啟動XAMPP

image

最近幾版的XAMPP都有一個方便的控制版:XAMPP Control Panel,位於以下路徑:

[xampp]\xampp-control.exe

開啟之後就可以看到上圖的畫面。

如果要開啟Apache,點下Apache後面的「Start」按鈕就可以了。

缺少libpq.dll的問題

照理來說,照上面的步驟啟用PostgreSQL模組之後就能正常運作。但是實際上卻遇到了錯誤訊息:

20121220-205618

無法啟動程式,因為您的電腦遺失 LIBPQ.dll。請嘗試重新安裝修正這個問題。

不僅如此,還連帶地出現以下的錯誤警告:

20121220-205650

這個錯誤就是因為XAMPP沒有載入PostgreSQL重要的函式庫libpq.dll。

找到libpq.dll的位置

我安裝的時候,赫然發現XAMPP其實已經內建了libpq.dll。檔案位置如下:

[xampp]\php\libpq.dll

但是在Windows中就是無法自動載入,必須要手動設定才行。

在httpd-xampp.conf中載入libpq.dll

要載入libpq.dll則必須在Apache設定檔中加入LoadFile選項。

20121220-222657

網路上大部分都建議修改Apache的主要設定檔httpd.conf。但是httpd.conf很長、也有一定結構,我找了幾個地方塞進LoadFile,開啟Apache時都會發生錯誤,如上圖。

後來我發現XAMPP也在他們自己的設定檔httpd-xampp.conf使用了LoadFile,我們也可以在此設定載入libpq.dll。httpd-xampp.conf的檔案位置如下:

[xampp]\apache\conf\extra\httpd-xampp.conf

找到這一行設定:

LoadFile "/xampp/php/php5ts.dll"

在前面插入載入libpq.dlll的設定:

LoadFile "/xampp/php/libpq.dll"
LoadFile "/xampp/php/php5ts.dll"

20121220-223702

設定完的httpd-xampp.conf就如上圖。

image

這樣再開啟就不會出錯了。

檢測PHP是否啟用了PostgreSQL的功能

phpinfo()

image

要知道PHP到底有沒有啟用PostgreSQL,最簡單的方式就是來看phpinfo()的訊息。XAMPP內建一個網頁專門顯示phpinfo()資訊,開啟Apache之後請開啟以下網址:

搜尋看看「pg_sql」,應該可以看到模組的相關資訊,那就表示順利啟用。

用函式檢測是否有啟用PostgreSQL

另一個方法就是檢查PostgreSQL的函式能不能使用,能夠使用就表示PostgreSQL模組有順利啟用。PHP檢查函式的語法如下:

$postgresql_is_enable = function_exists("pg_connect");

我們就能透過$postggresql_is_enable來得知PostgreSQL是否有順利啟用。


結語:PostgreSQL真是小眾

postgresql_logo-1979px

作為知名的開發環境,XAMPP在支援PostgreSQL上卻是意外地薄弱。這個問題在網路上查詢的結果,有不少人都是叫你關掉pg_sql就好,實在是令人為PostgreSQL的小眾難過。

比起流行的MySQL,我仍然覺得PostgreSQL才是大型系統應該要使用的資料庫。不光是可以用於商業行為的BSD授權(MySQL商業使用要付費的啊,希望大家要有授權的觀念),transaction功能與豐富的資料型態也都是讓人愛不釋手。

在此還是呼籲一下PostgreSQL的重要性,希望大家多多重視這個重量級的資料庫吧!

(more...)