August 2009 Archives

Ubuntu Desktop / Ubuntu Server / Kubuntu與Debian會紀錄網路卡的MAC Address來判斷目前所用的網卡是否與紀錄一致, 倘若不同, 就會自動新增一筆紀錄. 所以就算更換新的網卡(同樣道理, 在A 電腦的VirtualOS 的網卡與B電腦的VirtualOS 的網卡Mac Address 不同), 舊網卡的資料還是一樣會被判定成eth0, 而其他新增的網卡會依照eth1,eth2...一直自動新增下去.

解決的辦法:

sudo vi /etc/udev/rules.d/70-persistent-net.rules

你會看到類似以下的參數設定...

# PCI device 0x10de:0x00df (forcedeth)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10de:0x00df (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="55:44:33:22:11:00", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


只保留最底下的參數 (# PCI device 0x10de:0x00df (forcedeth) 開始), 其餘的通通刪除, 並且將NAME="eth1" 更改成 NAME="eth0"


範例:
# PCI device 0x10de:0x00df (forcedeth)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


# PCI device 0x10de:0x00df (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="55:44:33:22:11:00", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


更改之後, /etc/udev/rules.d/persistent-net.rules 內的參數如下:

# PCI device 0x10de:0x00df (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="55:44:33:22:11:00", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


修改完畢並且儲存之後重新啟動伺服器 (sudo shutdown -r now)就行了.



注: 這方法適用於所有使用Ubuntu/Debian 的伺服器/電腦.  不管是否用Virtualbox, 都可以用.  比如VMWare 或者安裝在真正的硬碟而非虛擬OS.


參考資料: http://nabeko-notebook.blogspot.com/2009/04/eth0debianubuntu.html

簡單易懂的現代魔法 - 生成魔法

| No Comments | No TrackBacks
    我很認真地看了這本小說與動畫之後, 電腦程式員/軟體工程師應該是最有潛能成為魔法使... 因此我也嘗試了下, 看看會不會產生魔法... 於是, 我試著修改小說裡的魔法咒語並且反譯成原始碼....

/*
*******魔法咒語******

若汝刻劃時間, 吾將追溯時間
若汝逆時而行, 吾將刻劃時間
循環 循環, 直到無常之數完全消逝
吾不斷輪轉, 若為鐘
化為真人美女吧! 吾之程序代碼
*/

#魔法咒語的原始程序代碼

class Magic {
  Function __construct() {
    global $Write_Time;
    $Trace_Time = "";

    If($Write_Time) {//若汝刻劃時間
      While($this->SELF_Trace_Time($Trace_Time)==False) {//吾將追溯時間.
        If($Trace_Time == REVERSE) {//若汝逆時而行, 吾將刻劃時間
          TIME::SET(NOW());
        }
        //循環 循環
        $this->Clear_Buffer(); //直到無常之數完全消逝
      }

      $this->Activate_Clock();//吾不斷輪轉, 若為鐘
      $this->Build_Models($_GET['VOICES']['COMMANDS']);//化為真人美女吧! 吾之程序代碼
    }
  }

  private Function Activate_Clock() {
    CLOCK::Run();
  }

  private Function Build_Models(&$Commands) {
    $models = new MODELS;
    $models->Build($Commands);
  }

  private Function Clear_Buffer() {
    Foreach(get_defined_vars() as $Val) {
      Unset(${$val});
    }
  }

  private Function SELF_Trace_Time(&$Trace_Time) {
    Return TIME::Trace($Trace_Time);
  }
}
這個會稍微麻煩些..

  1. 打開terminal (Right Click mouse->Open Terminal)

  2. 輸入yum install gcc -y

  3. 安裝完之後, 輸入yum install kernel sources -y

  4. 安裝完之後, 輸入yum install kernel-devel -y

  5. 待以上步驟做完之後, 重新啟動OS

  6. 重新進入OS之後, VirtualBox Windows 的Menu, Device->Install Guest Additions, 之後會看到已經自動將Gues Additions mount 成CDROM了.

  7. 打開terminal (Right Click mouse->Open Terminal)

  8. 輸入 cd /media/VBOXADDITIONS_3.0.2_49928

  9. Intel 處理器, 請輸入 sudo sh ./VBoxLinuxAdditions-x86.run 或者;

  10. AMD處理器, 請輸入 sudo sh ./VboxLinuxAdditions-amd64.run

  11. 開始安裝...

  12. 完成之後, 重新啟動OS

CentOS 安裝PHP 的GD 模組

| No Comments | No TrackBacks
CentOS 並沒有預設安裝GD 模組.  因此想要使用GD 的話, 就通過以下指令上網安裝就行了.

yum install php-gd

自動偵測文字URL並轉成Hyperlink

| No Comments | No TrackBacks
echo preg_replace("/(http:\/\/|www|[a-zA-Z0-9-]+\.|[a-zA-Z0-9\.-]+@)(([a-zA-Z0-9-][a-zA-Z0-9-]+\.)+[a-zA-Z0-9-\.\/\_\?\%\#\&\=\;\~\!\(\)]+)/","<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$text);

About this Archive

This page is an archive of entries from August 2009 listed from newest to oldest.

July 2009 is the previous archive.

October 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.