星期三, 12月 30, 2009

Bandrich 3.5 G 網卡 Bandluxe c270 in openSUSE 11.2

今天把用了將近十年的Cable  Modem 停掉了
取而代之的是 3.5 G 來上網
透過 3.5 G 的Router 來上網取代傳統的有線網路

透過 3.5 G 的Router 來上網當然是沒有問題
但是心裡還是會掛念, 總不能每次都帶著 3.5 G 的Router 出門吧?

在網路上 3.5 G with Linux 的討論串其實不多

3.5 G 的Router 也是眾說紛紜

然而這次有幸跟版貓借來 Bandrich 的 Bandluxe c270 網卡

之前就很擔心網卡 Linux抓不到的問題
上了 Bandrich 的官網, 查看相關訊息

http://www.bandrich.com/Data-Card_C270_down.html

發現他有支援 eeepc for linux

我想當下就確定是要買這張網卡

在eeepc 上面的測試很順利, 藉由主控台執行安裝程式就可以正常運作

接下來我的第二個考量點就是 我的openSUSE 11.2 可不可以抓到他

目前 openSUSE 11.2  的核心為 2.6.31.5-0.1-default

理論上應該要直接抓的到網卡才對阿~~~~

事實上不然 ~~ 現在的網卡都可以當 USB的隨身碟

所以如果在Linux上面啟動類似網卡的時候

第一個動作就是要先退出該裝置

接下來 到官網下載 for Linux的驅動程式 (看到 for ubuntu 心裡就覺得不妙 ..)

執行安裝的 sh ( ubuntu_patch_V5.sh)

的確會判斷我使用的是 openSUSE Linux 也會下載一些套件

但是我的 NetworkManager 始終就是沒辦法連線

/var/log/messages 只是告訴你
Dec 30 13:13:43 linux-R50e modem-manager: Got failure code 100: Unknown error

Unknown error ~~~~~~~ 天阿

所以就開始漫長的爬文解決他

試過很多方式, 也看過很多 bug 回報及解決

最後解決的方式是

安裝 umtsmon 套件

執行 #umtsmon

我的NetworkManager 就聽話了

現在也開心的使用 3.5 G 上網

Oh ~~ Yah

趕快筆記起來

星期三, 12月 23, 2009

SUSE Linux Enterprise Server 10 一些小記

在修改完Partition 之後如果不想重開機
在2.6 的核心可以使用 partprobe

但是要如何確認真的有生效呢?
可以在使用 #partprobe 之前及之後
#cat   /proc/partitions

那格式化(建立 File system )之後如何確認 該分割區的 File system 呢?
可以試試看
# file  -s    /dev/sda1

之前在設定 postfix 都是設定 /etc/aliases 來讓某個帳號 cc 給別人
那如果寄件人 寄出的時候想要改變 寄件人的欄位呢?

可以去修改 /etc/postfix/sender_canonical 這個檔案
例如加入一行

jgoldman@digitalairline.com     webmaster@digitalairline.com

然後執行
#postmap   hash:/etc/postfix/sender_canonical

#rcpostfix   restart

這樣下次使用者寄信出去的時候就會更改寄件人欄位 ^__^ (但是是不是要想回信該如何?)

有關於  Xen

預設的 image 資料夾
/var/lib/xen/image


Xen 的guest設定檔
/etc/xen/vm


Lab: 複製一個xen 的guest domain


假設 guest OS 為 sles10, 先關閉guest OS
#xm  shutdown  sles10


複製原來的xen guest的設定檔
#cp  /etc/xen/vm/sles10  /etc/xen/vm/sles10-1


檢查是否有成功
#ls    /etc/xen/vm


觀察相關的 images 檔案
#ls  /var/lib/xen/images


複製 相關的 images 檔案 到指定的目錄(這裡以非預設目錄當範例)
  --sparse=always 指的是稀疏檔案的方式
這邊做了一個奇怪的測試是, 在 Guest OS 正在執行的狀況之下 
cp images也是可以, 只是程式可能要restart


#cp  -a  --sparse=always   /var/lib/xen/images/sles10    /vmware/sles10-1


#ls   /vmware


利用 uuidgen 指令產生 一個新的UUID 給新的 Guest OS 使用
#uuidgen


#vi  /etc/xen/vm/sles10-1
    修改 name , uuid , disk 以及網卡的MAC位置

    name="sles10-1"

    uuid="剛剛產生的uuid"

    disk=[ 'file:/vmware/sles10-1/disk0,xvda,w', ]

    vif=[ 'mac=00:16:13:68:8c:ff', ]

#xm  new  /etc/xen/vm/sles10-1


啟動 Guest OS ( 這邊注意到只能接名稱, 不是接設定檔的絕對路徑檔名喔)
#xm  start  sles10-1




即時監控 xen guest OS
#xm  top


Note:  
發現改了 Guest 內的網卡MAC address 設定( /etc/xen/vm/sles10-1)
啟動 sles10-1  的 Guest OS 後網卡設定還是原來sles10 的MAC
但是還是要開機後重新執行 #yast  lan 
重新設定一次網卡(將網卡設定刪除, 重新設定一次)才可以讓新的Guest OS 網路work
設定完網卡之後, 也不會回存到 /etc/xen/vm/sles10-1
要使用 xm list -l 匯出設定
#xm  list   -l   sles10-1   >   /etc/xen/vm/sles10-1-dump


才看得到變更


刪除 xen Guest OS的設定檔
#xm   delete    sles10-1


如果是 xm  list  -l  產生的設定檔
如果匯入要使用  xm  new  -F 的方式來設定
例如
#xm   new    -F     /etc/xen/vm/sles10-1-dump  


但是要注意的是 這個設定檔(藉由 xm  list  -l 匯出)
如果 複製或是建立 link到 /etc/xen/auto
開機的時候並不會被自動帶起來(因為設定檔的內容不一樣)


關閉 Guest OS
#xm  shutdown   sles10


開啟 Guest  OS
#xm  start   sles10




Lab: 設定開機的時候啟動 Xen 的 Guest OS
#mkdir  /etc/xen/auto


#ln  -s    /etc/xen/vm/sles10      /etc/xen/auto/sles10


#ln   -s    /etc/xen/vm/sles10-1      /etc/xen/auto/sles10-1




星期二, 12月 22, 2009

透過 VNC 安裝SUSE Linux Enterprise Server

在安裝的時候
除了傳統的在本機前面安裝, 也可以透過 VNC  來安裝
進行的方式為

在安裝的 boot option 輸入
vnc=1   vncpassword=novell

這樣就可以以VNC  的方式來安裝

接下來就是於另外一台電腦啟動  vncviewer
#vncviewer   192.168.1.x:1

來進行安裝

另外找一天來試試看
usessh=1
sshpassword=novell
的方式吧 ^__^

星期四, 12月 10, 2009

openSUSE 11.2 小記

這次決定將 ThinkPad R50e 裝openSUSE 11.2
理由是 ThinkPad x200 的指紋還有藍牙原廠的patch 上的不夠快
所以就先裝 Windows 7 on X200
openSUSE on R50e

PC 就使用 SATA  抽取盒抽換 Windows 7 and Windows Server 2008 R2

裝上 openSUSE 11.2 第一個印象是
*compiz  fusion 馬上就啟動 沒有問題
*網路預設是用 ifup的傳統方式,  不是像之前預設使用 Network Manager

Keep Going

星期三, 12月 09, 2009

取消 Windows Server 2008 的增強性瀏覽

剛開始使用 Windows Server 2008 or 2003
第一個感覺到不方便的應該是上網瀏覽的時候
都會跳出警告

這個功能稱為 IE 的增強性瀏覽

如果要關閉這個功能

讓上網的時候不要一直被提醒

可以
開始 -->    系統管理工具 --> 伺服器管理員
在 安全性資訊 的區塊:  點選  設定IE ESC

--> 點選  系統管理員 --> 關閉  --> 確定

取消 IE 增強性瀏覽

星期六, 10月 24, 2009

Windows XP 移轉到 Windows 7


主要的升級步驟
這邊有詳細說明

1. 檢查相容性

Windows 7 Upgrade Advisor




2. 因為 Windows XP 沒有辦法直接升級到 Windows 7 所以要先備份原來的相關設定

Windows 7 輕鬆傳輸 for XP 32 bit

這邊碰到的經驗是 
要同時備份兩個使用者帳戶, 使用外接式裝置, 
備份到第二個使用者的時候, 外接式的硬碟會突然離線
所以採取的是分開備份, 解決這個問題

3.使用 Windows 7 安裝光碟安裝 Windows 7
在安裝的時候, Windows 會要求選取安裝的磁碟, 這個時候可以選取舊的Windows XP 所在的磁碟
安裝Windows 7 的時候會將舊的 Windows 放在 C:\Windows.old

4. 桌面安裝小記

星期二, 10月 20, 2009

取消 Windows 7 及 Windows Server 2008 自動登入

因為 VMWare 的貼心 easy install 的功能
所以安裝 Windows Server 2008 會自動建立使用者及自動登入
如果要取消自動登入
可以在命令提示字元使用
  • control  userpasswords2
  • netplwiz
呼叫進階使用者帳號管理

或是於控制台 -->  使用者帳戶 -->  管理使用者帳戶

勾選  "必須輸入使用者名稱和密碼, 才能使用這台電腦 "
--> 確定

這樣下次就不會自動登入

星期二, 9月 08, 2009

轉貼:『雲端』與『姆指電』-自行製作 OpenSolaris 開機姆指碟

找天來實作一下 ^___^


原文網址 http://blog.xuite.net/evereasy/solarpower/26486208




  • 前言


  • 一個可能在 Run PC 出現的問答-PC Run OpenSolaris:

    問:請問 OpenSolaris 在 PC 上也可以 Run 嗎?

    答:其實在 PC 上可以 Run 的作業系統有很多。大家都熟知的 Windows 當然是一種, Linux 當然也是一種,另外像 Solaris/OpenSolaris 其實也可以在 PC 上 RUN。 OpenSolaris 是一個像 Linux 一樣開放原始碼的作業系統。它也和 Linux 一樣提供有 LiveCD 或 LiveUSB 可以用光碟或 USB 開機。如果在姆指碟有開機的作業系統及儲存資料的空間,找到一台支援 USB 開機的 PC,您馬上可以有台比『小筆電』還炫的『姆指電』。配合未來的『雲端』環境,以後網咖只要提供『姆指電』的插槽,每個使用者都可以有個人開機的環境及『本地』和『雲端』的儲存空間。

    說到『雲端』與『姆指電』,今天是記者節,很幸運有機會訪問到 Chao-Chin Hung 大大。 Chao-Chin Hung 大大對『姆指電』可是研究了一段時間。不過因為我不是記者,因此您會看到的是我整理後的筆記而不是一問一答實況報導的訪問記錄。有那麼一點點抱歉...

    以下是採訪 Chao-Chin Hung 大大的記實:

  • 空間規劃使用


  • 我們的計劃是在姆指碟上有一個區域是用來存放開機用的 Live USB 影像,另外有兩個區域是 ZFS 及 FAT32 用來存放資料。基於一些可能的限制,我們將 FAT32 放在第一個分割。在姆指碟上分成兩個分割(Partition),分別是 FAT32 及 Soalris 2。在 Solaris2 中再分為兩個切片(Slice),分別為 UFS 及 ZFS 的檔案系統。其中切片 0 使用 UFS 檔案系統,而切片 1 使用 ZFS 檔案系統。

    MBR
    P1: FAT32
    P2: Solaris 2
    S0: UFS, Live USB
    S1: ZFS, Home

    對於空間大小的規劃則為:Live USB 1.5GB,ZFS 0.5GB,其餘的則保留給 FAT32。

  • 取得適當的 USB 影像檔
    1. 直接下載,目前 OpenSolaris 的安裝下載網址通常都提供了 ISO 及 USB 兩種格式的選擇。
    2. 自行製作,這個部份也許下次有機會採訪 Chao-Chin Hung 大大時再報導。


  • 可以使用以下幾種方式取得姆指碟的影像檔:


  • 安裝複製 USB 影像檔的工具


  • 參考以下的程序安裝 Distribution Constructor,以便使用 usbcopy 工具:
    root@X-Wing:~ # pkg install SUNWdistro-const
    DOWNLOAD                                  PKGS       FILES    XFER (MB)
    Completed                                  1/1       75/75      0.2/0.2
    
    PHASE                                        ACTIONS
    Install Phase                                106/106
    root@X-Wing:~ # pkg list SUNWdistro-const
    NAME (PUBLISHER)                              VERSION         STATE      UFIX
    SUNWdistro-const                              0.5.11-0.118    installed  u---
                
  • 確認姆指碟運作正常


  • 在將 USB 姆指碟插入電腦之後檢查是否偵測到設備:
    root@X-Wing:~ # rmformat
    正在尋找裝置...
         1. Logical Node: /dev/rdsk/c3t0d0p0
            Physical Node: /pci@0,0/pci1179,1@1a,7/storage@1/disk@0,0
            Connected Device: USB      Flash Disk       5.00
            Device Type: Removable
    Bus: USB
    Size: 4.0 GB
    Label: 
    Access permissions: 媒體沒有寫入保護。
                
  • 檢查目前的磁碟分割方式


  • 使用 fdisk 指令可檢視目前姆指碟的現況:
    root@X-Wing:~ # fdisk /dev/rdsk/c3t0d0p0
                 Total disk size is 509 cylinders
                 Cylinder size is 16065 (512 byte) blocks
    
                                                   Cylinders
          Partition   Status    Type          Start   End   Length    %
          =========   ======    ============  =====   ===   ======   ===
              1                 Ext Win95         0   379     380     75
              2       Active    Solaris2        380   508     129     25
    
    
    
    
    SELECT ONE OF THE FOLLOWING:
       1. Create a partition
       2. Specify the active partition
       3. Delete a partition
       4. Change between Solaris and Solaris2 Partition IDs
       5. Exit (update disk configuration and exit)
       6. Cancel (exit without updating disk configuration)
    Enter Selection: 6
                
    記錄下來一個磁柱的大小(有多少個區塊)。

  • 檢查是否掛載此一姆指碟


  • 確認目前並無掛載此一姆指碟上的分割或切片,若有則進行卸載:
    root@X-Wing:~ # mount -p | grep c3t0d0
    /dev/dsk/c3t0d0s0 - /media/Flash Disk ufs - no rw,nosuid,intr,largefiles,logging,xattr,onerror=panic
    /dev/dsk/c3t0d0p0:1 - /media/EVEREASY pcfs - no nosuid,hidden,nofoldcase,clamptime,noatime,timezone=-28800
    root@X-Wing:~ # umount /dev/dsk/c3t0d0s0
    root@X-Wing:~ # umount /dev/dsk/c3t0d0p0:1
                
  • 清除姆指碟


  • 清除姆指碟的第一個磁柱:
    root@X-Wing:~ # dd if=/dev/zero of=/dev/rdsk/c3t0d0p0 bs=512 count=16065
    進來 16065+0 個記錄
    出去 16065+0 個記錄
                
  • 劃分磁區分割


  • 參考以下程序劃出 FAT32 及 SOLARIS2 的分割:
    root@X-Wing:~ # fdisk /dev/rdsk/c3t0d0p0
    No fdisk table exists. The default partition for the disk is:
    
      a 100% "SOLARIS System" partition
    
    Type "y" to accept the default partition,  otherwise type "n" to edit the
     partition table. n
    
                 Total disk size is 1998 cylinders
                 Cylinder size is 4096 (512 byte) blocks
    
                                                   Cylinders
          Partition   Status    Type          Start   End   Length    %
          =========   ======    ============  =====   ===   ======   ===
    
    
    
    
    WARNING: no partitions are defined!
    
    SELECT ONE OF THE FOLLOWING:
       1. Create a partition
       2. Specify the active partition
       3. Delete a partition
       4. Change between Solaris and Solaris2 Partition IDs
       5. Exit (update disk configuration and exit)
       6. Cancel (exit without updating disk configuration)
    Enter Selection: 1
    
    Select the partition type to create:
       1=SOLARIS2  2=UNIX        3=PCIXOS     4=Other
       5=DOS12     6=DOS16       7=DOSEXT     8=DOSBIG
       9=DOS16LBA  A=x86 Boot    B=Diagnostic C=FAT32
       D=FAT32LBA  E=DOSEXTLBA   F=EFI        0=Exit? C
    
    Specify the percentage of disk to use for this partition
    (or type "c" to specify the size in cylinders). 50
    
    Should this become the active partition? If yes, it  will be activated
    each time the computer is reset or turned on.
    Please type "y" or "n". n
    
    Select the partition type to create:
       1=SOLARIS2  2=UNIX        3=PCIXOS     4=Other
       5=DOS12     6=DOS16       7=DOSEXT     8=DOSBIG
       9=DOS16LBA  A=x86 Boot    B=Diagnostic C=FAT32
       D=FAT32LBA  E=DOSEXTLBA   F=EFI        0=Exit? 1
    
    Specify the percentage of disk to use for this partition
    (or type "c" to specify the size in cylinders). 49
    
    Should this become the active partition? If yes, it  will be activated
    each time the computer is reset or turned on.
    Please type "y" or "n". y
    
    Partition 2 is now the active partition.
    
                 Total disk size is 1998 cylinders
                 Cylinder size is 4096 (512 byte) blocks
    
                                                   Cylinders
          Partition   Status    Type          Start   End   Length    %
          =========   ======    ============  =====   ===   ======   ===
              1                 Win95 FAT32       1   999     999     50
              2       Active    Solaris2       1000  1978     979     49
    
    
    
    
    SELECT ONE OF THE FOLLOWING:
       1. Create a partition
       2. Specify the active partition
       3. Delete a partition
       4. Change between Solaris and Solaris2 Partition IDs
       5. Exit (update disk configuration and exit)
       6. Cancel (exit without updating disk configuration)
    Enter Selection: 5
                
  • 劃分磁區切片


  • 參考以下程序劃出切片(slice) 0 及 切片(slice) 1:
    root@X-Wing:~ # format -e
    Searching for disks...done
    
    
    AVAILABLE DISK SELECTIONS:
           0. c3t0d0 
              /pci@0,0/pci1179,1@1a,7/storage@1/disk@0,0
           1. c4t0d0   HD-0160G
              /pci@0,0/pci1179,1@1f,2/disk@0,0
           2. c4t1d0   HD-0250G
              /pci@0,0/pci1179,1@1f,2/disk@1,0
    Specify disk (enter its number): 0
    selecting c3t0d0
    [disk formatted]
    
    
    FORMAT MENU:
            disk       - select a disk
            type       - select (define) a disk type
            partition  - select (define) a partition table
            current    - describe the current disk
            format     - format and analyze the disk
            fdisk      - run the fdisk program
            repair     - repair a defective sector
            label      - write label to the disk
            analyze    - surface analysis
            defect     - defect list management
            backup     - search for backup labels
            verify     - read and display labels
            save       - save new disk/partition definitions
            inquiry    - show vendor, product and revision
            scsi       - independent SCSI mode selects
            cache      - enable, disable or query SCSI disk cache
            volname    - set 8-character volume name
            !     - execute , then return
            quit
    format> partition
    
    
    PARTITION MENU:
            0      - change `0' partition
            1      - change `1' partition
            2      - change `2' partition
            3      - change `3' partition
            4      - change `4' partition
            5      - change `5' partition
            6      - change `6' partition
            7      - change `7' partition
            9      - change `9' partition
            select - select a predefined table
            modify - modify a predefined partition table
            name   - name the current table
            print  - display the current table
            label  - write partition map and label to the disk
            ! - execute , then return
            quit
    partition> print
    Current partition table (original):
    Total disk cylinders available: 977 + 2 (reserved cylinders)
    
    Part      Tag    Flag     Cylinders       Size            Blocks
      0 unassigned    wm       0              0         (0/0/0)         0
      1 unassigned    wm       0              0         (0/0/0)         0
      2     backup    wu       0 - 976        1.91GB    (977/0/0) 4001792
      3 unassigned    wm       0              0         (0/0/0)         0
      4 unassigned    wm       0              0         (0/0/0)         0
      5 unassigned    wm       0              0         (0/0/0)         0
      6 unassigned    wm       0              0         (0/0/0)         0
      7 unassigned    wm       0              0         (0/0/0)         0
      8       boot    wu       0 -   0        2.00MB    (1/0/0)      4096
      9 unassigned    wm       0              0         (0/0/0)         0
    
    partition> 0
    Part      Tag    Flag     Cylinders       Size            Blocks
      0 unassigned    wm       0              0         (0/0/0)         0
    
    Enter partition id tag[unassigned]: root
    Enter partition permission flags[wm]: wm
    Enter new starting cyl[1]: 1
    Enter partition size[0b, 0c, 1e, 0.00mb, 0.00gb]: 1.5gb
    partition> print
    Current partition table (unnamed):
    Total disk cylinders available: 977 + 2 (reserved cylinders)
    
    Part      Tag    Flag     Cylinders       Size            Blocks
      0       root    wm       1 - 768        1.50GB    (768/0/0) 3145728
      1 unassigned    wm       0              0         (0/0/0)         0
      2     backup    wu       0 - 976        1.91GB    (977/0/0) 4001792
      3 unassigned    wm       0              0         (0/0/0)         0
      4 unassigned    wm       0              0         (0/0/0)         0
      5 unassigned    wm       0              0         (0/0/0)         0
      6 unassigned    wm       0              0         (0/0/0)         0
      7 unassigned    wm       0              0         (0/0/0)         0
      8       boot    wu       0 -   0        2.00MB    (1/0/0)      4096
      9 unassigned    wm       0              0         (0/0/0)         0
    
    partition> 1
    Part      Tag    Flag     Cylinders       Size            Blocks
      1 unassigned    wm       0              0         (0/0/0)         0
    
    Enter partition id tag[unassigned]: home
    Enter partition permission flags[wm]: wm
    Enter new starting cyl[1]: 769
    Enter partition size[4096b, 1c, 769e, 2.00mb, 0.00gb]: 976e
    partition> print
    Current partition table (unnamed):
    Total disk cylinders available: 977 + 2 (reserved cylinders)
    
    Part      Tag    Flag     Cylinders       Size            Blocks
      0       root    wm       1 - 768        1.50GB    (768/0/0) 3145728
      1       home    wm     769 - 976      416.00MB    (208/0/0)  851968
      2     backup    wu       0 - 976        1.91GB    (977/0/0) 4001792
      3 unassigned    wm       0              0         (0/0/0)         0
      4 unassigned    wm       0              0         (0/0/0)         0
      5 unassigned    wm       0              0         (0/0/0)         0
      6 unassigned    wm       0              0         (0/0/0)         0
      7 unassigned    wm       0              0         (0/0/0)         0
      8       boot    wu       0 -   0        2.00MB    (1/0/0)      4096
      9 unassigned    wm       0              0         (0/0/0)         0
    
    partition> label
    [0] SMI Label
    [1] EFI Label
    Specify Label type[0]: 0
    Ready to label disk, continue? y
    
    partition> quit
    
    
    FORMAT MENU:
            disk       - select a disk
            type       - select (define) a disk type
            partition  - select (define) a partition table
            current    - describe the current disk
            format     - format and analyze the disk
            fdisk      - run the fdisk program
            repair     - repair a defective sector
            label      - write label to the disk
            analyze    - surface analysis
            defect     - defect list management
            backup     - search for backup labels 
            verify     - read and display labels
            save       - save new disk/partition definitions
            inquiry    - show vendor, product and revision
            scsi       - independent SCSI mode selects
            cache      - enable, disable or query SCSI disk cache
            volname    - set 8-character volume name
            !     - execute , then return
            quit
    format> quit
                
  • 格式化 FAT32 的分割


  • 格式化並且將 OpenSoarlis 的 ISO 檔案複製進來,這樣可以隨時將它分享給別人:
    root@X-Wing:~ # mkfs -F pcfs -o fat=32,b=Data /dev/rdsk/c3t0d0p0:c
    在 /dev/rdsk/c3t0d0p0:c 上建構新的 FAT 檔案系統:(y/n)?y
    root@X-Wing:~ # mount -F pcfs /dev/dsk/c3t0d0p1 /mnt
    root@X-Wing:~ # df -h /mnt
    檔案系統               大小   用過   可用 容量      裝載至
    /dev/dsk/c3t0d0p1      1.9G     0K   1.9G     1%    /mnt
    root@X-Wing:~ # cp -p /moon/ISOs/osol-1002-121-x86.iso /mnt
    root@X-Wing:~ # df -h /mnt
    檔案系統               大小   用過   可用 容量      裝載至
    /dev/dsk/c3t0d0p1      1.9G   741M   1.2G    38%    /mnt
    root@X-Wing:~ # umount /mnt
                
  • 建立 ZFS 的儲存池


  • 使用 ZFS 的指令建立一個名叫 venus 的儲存池:
    root@X-Wing:~ # zpool create -f venus c3t0d0s1
    root@X-Wing:~ # zpool list venus 
    NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
    venus   408M  76.5K   408M     0%  ONLINE  -
    root@X-Wing:~ # zpool export venus
                
  • 修改 /usr/bin/usbcopy 檔案


  • 針對原版的 usbcopy 做了以下幾個修改:
    - 由於 usbcopy 在 zh_TW.UTF-8 的 locale 無法正常執行(在複製影像檔的程式段會有問題),因此加入語言環境變數的設定。
    - 說明會將姆指碟的 Solaris 分割中的切片0覆寫
    - 不執行劃分磁區分割
    - 不執行劃分磁區切片
    - 增加擴大 UFS 檔案系統的動作

    以下為原始版本(/usr/bin/usbcopy)及修改版本(/usr/bin/usbcopy.s0)的差異:
    root@X-Wing:~ # diff /usr/bin/usbcopy /usr/bin/usbcopy.s0;
    25a26,29
    > # Make sure we get the right locale environment
    > LANG=C; export LANG
    > LC_ALL=C; export LC_ALL
    >
    122c126
    <        echo WARNING: All data on your USB storage will be lost.
    ---
    >        echo WARNING: All data on your USB storage\'s Solaris partition slice 0 will be lost.
    151,152c155,156
    < # Install fdisk table with Solaris using entire disk, default VTOC
    < fdisk -B $dev
    ---
    > # # Install fdisk table with Solaris using entire disk, default VTOC
    > # fdisk -B $dev
    154,169c158,173
    < # Now create root partition.  We want to find number of cylinders in backup
    < # partition from label created by fdisk -B and then generate root partition
    < # using whole disk minus cylinder 1
    < acyls=$(prtvtoc $dev | awk '/accessible/{print $2}')
    < cyls=$((acyls - 1))
    < format -e $dev >/dev/null << partition
    < 0
    < root
    < wm
    < 1
    < ${cyls}c
    < label
    < 0
    < y
    < EOF
    ---
    > # # Now create root partition.  We want to find number of cylinders in backup
    > # # partition from label created by fdisk -B and then generate root partition
    > # # using whole disk minus cylinder 1
    > # acyls=$(prtvtoc $dev | awk '/accessible/{print $2}')
    > # cyls=$((acyls - 1))
    > # format -e $dev >/dev/null < # partition
    > # 0
    > # root
    > # wm
    > # 1
    > # ${cyls}c
    > # label
    > # 0
    > # y
    > # EOF
    223a228,230
    > # Resize the UFS filesystem to the allocated slice size
    > /usr/sbin/growfs $s0cdev
    >
                
  • 複製 USB 影像檔到姆指碟


  • 利用以下指令將 USB 影像檔複製到姆指碟:
    root@X-Wing:~ # usbcopy.s0 /moon/ISOs/osol-1002-121-x86.usb
    Found the following USB devices:
    0: /dev/rdsk/c3t0d0p0 4.0 GB USB      Flash Disk       5.00
    Enter the number of your choice: 0
    
    WARNING: All data on your USB storage's Solaris partition slice 0 will be lost.
    Are you sure you want to install to
    USB Flash Disk 5.00, 4000 MB at /dev/dsk/c3t0d0p0 ?  (y/n) y
    Copying and verifying image to USB device
    Finished 889 MB in 182 seconds (4.8MB/s)
    0 block(s) re-written due to verification failure
    Warning: 72 sector(s) in last cylinder unallocated
    /dev/rdsk/c3t0d0s0: 3145728 sectors in 5243 cylinders of 1 tracks, 600 sectors
    1536.0MB in 328 cyl groups (16 c/g, 4.69MB/g, 2240 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
     32, 9632, 19232, 28832, 38432, 48032, 57632, 67232, 76832, 86432,
    Initializing cylinder groups:
    ......
    super-block backups for last 10 cylinder groups at:
     3052832, 3062432, 3072032, 3081632, 3091232, 3100832, 3110432, 3120032,
     3129632, 3139232
    Installing grub to USB device /dev/rdsk/c3t0d0s0
    Completed copy to USB
                
  • 結語


  • 終於製作好了!那?就用它來開機咯。當然您也可以發揮更多的創意..

    星期二, 9月 01, 2009

    SLES 11 First Class 上課小記

    當初 SLES 11 First Class 的一些小記

    Cluster 名稱  = iscsi  的 LUN  名稱
    上課練習的 主機是 SLED11 , 所以要開 IP_Forward
    另外有關於xen guest 主機不能連接
    • #brctl  addbr  br0
    • #brctl  addif  bro  eth0
    • #yast  network    restart
    • #yast  network    restart
    • #brctl  showstp  bro
    • 檢查 state forwarding

    iscsi 與 NFS 差異
    • NFS Server 決定讀寫
    • iscsi TARGET 不能決定讀寫
    • 由 iscsi connect 來決定及讀寫

    星期四, 8月 27, 2009

    如何發佈 openSUSE Weekly News


    這份文件是為了引導 Weekly News Member 在完成翻譯後


    發佈 Weekly News 而製作










    1.首先先登入 自己的帳號
















    2.接下來到 http://en.opensuse.org/OpenSUSE_Weekly_News/Translations/Ready





    選取 對應期數 及 點選 edit










    3.接下來針對 翻譯的部份及時間來更新 --> Save Page



    4.回到 http://zh_tw.opensuse.org/OpenSUSE_Weekly_News

       點選 編輯 






    5.修改最新一期的期數 --> 保存本頁




    6. 來到最新一期的頁面(這邊以 85 期為例子) --> 點選編輯


    7.將翻譯好的內容貼上去 --> 保存本頁


    8. 通知 swyear 大大, 更新 http://zh_tw.opensuse.org 首頁上面的期數 ~~  大功告成


    written by sakana




    星期二, 8月 25, 2009

    Lenovo x200 移轉小記

    從IBM thinkpad R50e 移轉到 Lenovo x200
    雖然都是 openSUSE 11.1 但是因為
    #yast2 backup and #yast2 restore
    在異機還原上有些許問題

    所以也不想太冒險, 故只有備份 /home/max and /root
    還有將 /backup and /vmware 重新複製一份

    所以軟體要重裝
    故小記一下重新安裝的軟體
    *amsn
    *skype
    *VMWare
    *kernel-source (不然VMWare 會無法編譯)

    星期六, 8月 22, 2009

    好用的 時間對照小軟體 FoxClocks

    自從接了 openSUSE News Letter 的工作之後

    就有機會與其他國家的人聊天與開會 ^__^

    因為有些時候 標記的時間都是 UTC
    還有回報的時間格式也都是使用UTC的方式


    對於習慣 Local Time的我, 有點不習慣
    後來日本朋友就建議我使用這個小程式(Firefox 的 plug-in)

    FoxClocks (可以在狀態列及工具列顯示不同時區的時間)

    相關網頁如下

    方便的解決我的問題
    ^^

    星期六, 8月 15, 2009

    2009/8/14 opensolaris Users Group at Taiwan

    2009/8/14 opensolaris Users Group at Taiwan

    I meet Jim tonight, so I decide to "Create a blog with English"
    Because "I must do some thing" ^++^

    Jim Grisanzio

    http://www.facebook.com/jimgris


    Notes and Tips:
    Photography is a very good tool to close community
    Use blog with English is a very good idea.

    Program Profile
    Why: To build a developer community
    How: Open Development

    Community organizing is personal. It's an art, not a science.
    It involves technology and infrastructure, but it's all about people and it's based on relationships of trust.

    Talking is not enough. You must do something.


    http://defect.opensolaris.org


    ********************************************************************************
    Next session

    Eric Li

    opensolaris typical
    *ZFS
    • easy to rollback
    • Default every 15 mins -- take snapshot(Use auto snapshot)
    • Recommand at least 1 GB Mem.

    *DTrace
    • Trace program (-n for program name)
    • #opensnoop -n firefox
    • Trace execution ( -s for time stamp)
    • #execsnoop -s
    • Good ToolKit for DTrace
    • DtraceToolkit
    *Containers

    Nvidia X server tool -- Can Help Contral X display


    See what I get after the session





    Kururu and opensolaris LiveCD


    opensolaris 200906


    星期一, 8月 03, 2009

    Windows 底下 批次改變檔案時間 的好用小工具

    前文: 因為我的Gopro 相機 預設的日期會變成 2098/1/1
    照片或是影像在 windows下開啟
    會產生當機的狀況~~因為時間出現在未來 f@@

    有跟 GoPro的原廠反應過

    但是暫時沒有辦法解決

    所以如果要修正對的時間有兩個方式

    1. 在Linux使用 touch指令來處理

    2.就是今天的主角
    SetFileDate 2.0
    這是個免費的小軟體
    官方網站

    利用它就可以輕鬆的將很多檔案改成指定的時間

    enjoy it ~~

    星期四, 7月 16, 2009

    線上心智圖 分享 ~ mindmeister

    現在慢慢的將一些待辦事項
    或是資訊利用心智圖來整理

    但是要分享的時候就必須考慮
    對方是否有 Freemind 這樣的Mindmap軟體

    所以參考了 別人整理的線上版的心智圖

    使用其中的 mindmeister
    官方網址為
    http://www.mindmeister.com/

    來進行心智圖的分享
    只是要注意的是 上傳心智圖的時候
    如果有超鏈結的部份, 要先將格式轉為純文字
    這樣上傳後, 才會被處理為 超連結

    先記下來
    以後好分享

    星期日, 6月 28, 2009

    Study Area 六月份活動 ~ 與openSUSE 來個夏日約會

    與openSUSE來個夏日約會

    活動簡報如下




    很開心 下雨天還是有朋友來參與活動
    下次來講YaST

    ^^

    星期五, 6月 26, 2009

    openSUSE Weekly News 繁體中文翻譯小組啟動

    活動訊息

    openSUSE Weekly News 繁體中文翻譯小組啟動

    要參加 openSUSE 每週新聞翻譯小組或閱讀最新一期的 openSUSE 每週新聞,請造訪

    openSUSE_Weekly_News

    與 openSUSE 來個夏日約會 (06/27)

    活動內容與報名網址:

    http://registrano.com/events/sataipei200906

    星期六, 6月 20, 2009

    wget 使用小記

    最近由於有新課程要導入
    所以就開始抓新的課程資料
    但是抓 iso檔案或是相關文件
    有時候會耗費很多時間
    這個時候就可以使用 wget 來抓相關的檔案

    使用的方式
    先編輯 一個檔案 存放 要抓的檔案的 URL
    例如
    #vi lab-URL
    http://xxxxxxx檔案所在路徑xxxxxxxxxxx


    上面這個檔案在建立的時候
    可以利用前面加上 # 字號, 變成不符合規定的 http://路徑
    來建立檔案說明


    然後利用 wget 的指令抓取檔案(如果要下載的檔案需要使用者驗證)

    例如:

    #wget --http-user=使用者名稱 --http-password=使用者密碼 -c -i lab-URL

    來下載檔案
    上面的選項
    -c 代表續傳
    -i 代表使用檔案當成輸入的來源, 有助於批次處理

    這樣下載就方便多了

    enjoy it ~~

    好用的螢幕畫筆軟體 gromit

    在Windows 環境有一個小程式
    名稱為 zoomit

    可以在螢幕上面寫字
    對於教學上非常方便

    之前在compiz 上面有看到 annotate 這各plug-in
    但是要啟動 compiz 才有所以覺得不方便

    在網路上找到 之前 中壢國小 孫組長的文章
    有提到 gromit 這個軟體
    所以就上
    http://software.opensuse.org/search

    尋找 gromit 這個軟體
    如果是使用 openSUSE 10.3 以後的版本
    直接 one-click install就好

    不然下載 rpm 來安裝也可以

    如果要使用 src.rpm 來重新編譯
    要記得 安裝 gtk2-devel 才可以安裝

    enjoy it~~

    星期四, 6月 18, 2009

    20090618 C語言進階 上課小記

    *****************************20090618 陳惠堂*********************************************
    *struct
    • 一般寫在前面或是Header 內
    • 與Class的差異: 沒有method 的Class

    struct 定義字
    {
    成員 member
    };

    struct Date
    {
    int year;
    int month;
    int day;
    };



    可以利用 sizeof() 來判斷大小

    Lab:struct 練習
    // include 引入 .h (標頭檔)
    // header .h 要放在程式的最前面
    // 引入 stdio.h 及 stdlib.h
    #include "stdio.h"
    #include "stdlib.h"


    //struct 一般習慣寫在前面 或是 Header 裡面, 這樣才可以被大家利用
    struct Date
    {
    int year;
    int month;
    int day;
    };


    //進入主程式
    int main()
    {


    //定義 a 並填入值
    Date a={1992,12,3};
    //將其列印出來 利用 a.定義 方式列印出來
    printf("Date: %d-%d-%d\n",a.year,a.month,a.day);


    //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內

    system("pause");

    return 0;
    }




    Lab: Struct 練習2
    // include 引入 .h (標頭檔)
    // header .h 要放在程式的最前面
    // 引入 stdio.h 及 stdlib.h
    #include "stdio.h"
    #include "stdlib.h"


    //定義一個 struct
    struct Stud
    {
    char no[4],name[20];
    int vb,vc,java,sum;
    };

    //進入主程式
    int main()
    {


    //定義四個使用者 相關成績 填入的資料參考上面
    Stud n[5]={
    {"001","Jason",76,80,72},
    {"002","Sampson",70,75,60},
    {"003","ines",89,96,85},
    {"004","sakana",80,78,82},
    {"005","joe",70,60,80},
    };
    printf("size of n is %d\n",sizeof(n));
    printf("size of stud is %d\n\n",sizeof(Stud));
    Stud t;
    //定義 s 算迴圈數量
    int s=sizeof(n)/sizeof(Stud);
    //將成績列印出來
    for(int i=0; i<s ;i++)
    {
    n[i].sum = n[i].vb + n[i].vc + n[i].java;
    //列出學號 姓名 VB成績
    printf("%s\t%s\t%d\t",n[i].no,n[i].name,n[i].vb);
    //列出 VC 成績 Java 成績 總合
    printf("%d\t%d\t%d\n",n[i].vc,n[i].java,n[i].sum);
    }
    //使用泡沫排序法 排序
    for(int i=0; i<s-1;i++)
    {
    for(int j=0; j<s-1;j++)
    {
    if(n[j].sum < n[j+1].sum)
    {
    t = n[j];
    n[j] = n[j+1];
    n[j+1] = t;
    }
    }
    }
    printf("\nAfter sort...\n\n");
    //將其列印出來
    for(int i=0; i<s ;i++)
    {
    //列出學號 姓名 VB成績
    printf("%s\t%s\t%d\t",n[i].no,n[i].name,n[i].vb);
    //列出 VC 成績 Java 成績 總合
    printf("%d\t%d\t%d\n",n[i].vc,n[i].java,n[i].sum);
    }



    //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內

    system("pause");

    return 0;
    }




    fopen(檔案,開啟模式)
    • 開啟模式
      • r read
      • a append
      • w write



    Lab:
    // include 引入 .h (標頭檔)
    // header .h 要放在程式的最前面
    // 引入 stdio.h 及 stdlib.h
    #include "stdio.h"
    #include "stdlib.h"


    //定義一個 struct
    struct Stud
    {
    char no[4],name[20];
    int vb,vc,java,sum;
    };

    //進入主程式
    int main()
    {


    //定義使用者 相關成績 填入的資料參考上面
    Stud n={"001","Jason",76,80,72},*p;
    p=&n;
    //使用指標可以利用兩種方法
    //這樣的寫法也可以 方法 1
    // (*p).sum = (*p).vb + (*p).vc + (*p).java;
    // 使用 箭頭 方法 2
    p->sum=p->vb + p->vc + p->java;

    printf("%s\t%s\t%d\t",n.no,n.name,n.vb);
    printf("%d\t%d\t%d\n\n",n.vc,n.java,n.sum);


    //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內

    system("pause");

    return 0;
    }




    Lab: filewrite
    // include 引入 .h (標頭檔)
    // header .h 要放在程式的最前面
    // 引入 stdio.h 及 stdlib.h
    #include "stdio.h"
    #include "stdlib.h"

    #include "conio.h"

    //進入主程式
    int main()
    {


    FILE *fp;
    fp = fopen("C:\\Data.txt","a\");
    char ch;
    while( (ch=getche() ) != 13)
    {
    //對象 大小 寫入筆數 寫入檔案
    fwrite(&ch,sizeof(ch),1,fp);
    }
    fclose(fp);


    //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內

    system("pause");

    return 0;
    }





    Lab: Fileread
    // include 引入 .h (標頭檔)
    // header .h 要放在程式的最前面
    // 引入 stdio.h 及 stdlib.h
    #include "stdio.h"
    #include "stdlib.h"
    #include "conio.h"

    //進入主程式
    int main()
    {


    FILE *fp;
    fp = fopen("C:\\Data.txt","r");
    char ch;
    while(1)
    {
    fread(&ch,sizeof(ch),1,fp);
    //當fp 檔案結束
    if(feof(fp))
    break;
    else
    printf("%c",ch);
    }
    fclose(fp);


    //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內

    system("pause");

    return 0;
    }

    ***********************************************************************************************