2010年3月24日 星期三

Ubuntu 9.04 下解決 抓不到 Attansic AR81系列 網卡問題

問題描述:
在Ubuntu 9.04下 抓不到 Attansic AR81系列 的網路卡 ,原因在於9.04 的 kernel 不支援
該系列的網卡


解決方法:

(方法一) kernel 升級或重新安裝Ubuntu 9.10。

(方法二) 官網下載Source code重新編譯安裝。
  1. 下載 drive source code: 點我
  2. 選擇 AR81Family Linux Driver
  3. tar -xzvf AR813X-linux-v1.0.0.9.tar.gz
  4. cd src
  5. sudo make
  6. sudo maike install
  7. sudo insmod atl1e.ko


Q:支援那些Attansic AR81系列的網路卡呢 ?

A:支援如下的網卡




說明:        
                每個PCI 的硬體裝罝 都會有一對的vendor id 與 device id 。其中
                vendor id 代表的是硬體廠商的編號;而device id 表示產品編號。
                因此,只要知道網路卡的 vendor_id 與 device_id,再對照此表 
                就能知道該驅動程式是否支援這一塊網路卡了






Q:要如何知道網卡的 vendor_id  與 device_id ?!

A:方法如下

  1.  在命令列模式下指令:

    james@james-desktop:~$ lspci -nn   

  2. 出現如下結果(只截選網卡資訊):
james@james-desktop:~$ 03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+[10ec:8139]

    3. 其中:10ec:8139 就是vendor_id與device_id

2010年3月19日 星期五

解決 mount: cannot mount block device read-only 問題

說明:
在 Ubuntu Server 上要 mount nas上的資料匣到本地端,卻出現如下的錯誤訊息:

root@james-desktop:/home/james# mount -t cifs -o username="james" -o iocharset=utf8 //192.168.1.242/images db/
mount: block device //192.168.1.242/images is write-protected, mounting read-only
mount: cannot mount block device //192.168.1.242/images read-only


解決方法:
安裝smbfs套件即可解決
james@james-desktop:~$ apt-get install smbfs

2010年3月16日 星期二

openfire 整合 微軟的AD網域

說明:
因台北移民署專案的需求,openfire需整合微軟AD 帳號進來,其目的是要
讓clinet 端的 Pidgin 能用 AD上 的帳號就能登入,無需額外再openfire上
用人力的方式再建立一份跟AD上一模一樣的帳號。


實作方法如下:

1 openfire 安裝完之後,進入到web的初始設定畫面

2 進行到 profile settings 選項,選擇:(LDAP)

  



3 把ad的帳號匯入openfire,基本設定如下:

  • server type選擇:Active Directory
  •  Host 填入 微軟 AD 的 網域名稱(Domain name) 或 ip
  •  填入Base DN:指填入AD的網域名稱,但必須符合格式,以本例的網域名稱 是:immigration.gov.tw 為例,則要設定為:dc="immigration",dc="gov",dc="tw
  •  填入Administrator DN: 主要是告訴openfire AD網域上的那一個帳號是具有管理者的權限。以本例來說,網域上的administrator是具有管理者權限。那麼在 Administrator DN 這個欄位上就要做如此的設定:cn="Administrator",cn="Users",dc="immigration",dc="gov",dc="tw"。這個設定很明確的告訴了openfire 在 AD網域(immigration.gov.tw) 上的 Users 目錄裡的Administrator這個帳號具有管理者權限 。這個步驟完畢之後,即可按Continue鈕







4 這一頁使用預設值即可,無需改寫。按 Continue鈕




5 同樣使用預設值就可以了,按 Continue鈕



6 新增ad 網域上的 administrator 為 openfire 的管理者

 



7  重新登出再登入。即完成 openfire 整合 微軟 ad





使用Pidgin 驗證 整合成功:

1 開啟Pidgin 
2 帳號-->管理帳號-->新增





3   設置新增帳號:
  • 通訊協定:選擇XMPP
  • 使用者:填入AD上的帳號
  • 域名:填入Openfire 的 ip 或 網域名稱(Domain name)
  • 填入完畢之後,按加入鈕






4  紅色框框所圍的圖示是彩色的表示已經上線了;若是灰白表示未上線。




2010年3月15日 星期一

sed、awk 二三事

(一)
說明:
在外交部的案子中,因應專案的需求要做一個雙系統的備份/還原程式。
簡單的說,就是程式要能備份整台電腦的雙OS系統,並且能指定要還原
系統中的那一個OS。

與同事討論後認為:Clonezilla + Perl 是最好的組合與實作。

實作上,要把 Clonezilla 安裝在本機機器上,再搭配寫好的 Perl 程式
自動去把 Clonezilla 的 開機 與 復原 的參數 寫到 linux grub 的 menu.list 檔裡面。
使用者只要利用 Clonezilla 把 os 的 image 檔存在指定的分割區中,那麼,一但系統
當掉要再 回復的作業,只要開機進入menu選單 ,選擇要復原的 作業系統,Clonezilla
即會自動做回復的動作。

該支perl 程式 有用到 awk 命令 ,就把實務上常用的命令記下來吧!

(二):
awk 實例:

以冒號區分欄位,並印出第一筆記錄的第四個欄位值
awk 'BEGIN{FS=":"} NR==1 {print $4} ' config `


網路上有很多awk 的資源,推好文如下:
awk 單行腳本

2010年3月4日 星期四

Postgresql DB 備份與還原

說明:
 使用Postgresql DB 要做資料的備份與還原時,可以用以下的二個指令:

  • pg_dump :資料庫備份的指令
  • pg_restore :資料庫回復(Recover)的指令

實驗環境:

  • Ubuntu 9.04
  • Postgresql DB 8.3

    pg_dump 常用指令參數:
    •  -f  file
       --file=file
       輸出到指定的文件


    • -F format
      --format=format
      輸出的格式可以是下列之一

      p  輸出成一個sql 腳本

      t   輸出成一個 tar 檔

      c  輸出成一個壓縮格式的文件

       
    • -v
      --verbose
      備份時在瑩幕上顯示出祥細的訊息(如備份進度等)


    • -Z 0..9
      --compress=0..9
      此選項要配合輸出格式參數為 'c'   一起配合使用。數字
      0到9表示壓縮的級別


    • -h  host
      --host=host
      連線的主機名稱(也可以是ip)


    • -p  port
      --port=port
      資料庫的連結埠


    • -U username
      登入資料庫的帳號





    使用 pg_dump 做資料庫備份:

    (1)把名稱為xdna_kiosk_client 的資料庫備份
    到james家目錄的db資料匣中,且備份的檔名為 kiosk_client.bak
    pg_dump -h 127.0.0.1 -p 5432 -U postgres -F c -b -v -f "/home/james/db/xdna_kiosk_client.bak" xdna_kiosk_client  
    


    使用 pg_restore做備份還原:

    (1)
    新建一個空白的資料庫,該資料庫名稱為mydb:
    psql -U postgres -h 127.0.0.1 -c "create database mydb"
    

    (2)
    把james家目錄的db資料匣中備份檔 Recover 到 mydb
    pg_restore -h 127.0.0.1 -p 5432 -U postgres -F c -b -v -f "/home/james/db/xdna_kiosk_client.bak" mydb