今天把用了將近十年的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月 30, 2009
星期三, 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
在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
的方式吧 ^__^
除了傳統的在本機前面安裝, 也可以透過 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
理由是 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 增強性瀏覽
第一個感覺到不方便的應該是上網瀏覽的時候
都會跳出警告
這個功能稱為 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. 桌面安裝小記
- 剛剛安裝的時候, 沒有出現 新注音輸入法, 解決方式為
- Windows --> 控制台 --> 變更鍵盤或其他輸入方法 --> 變更鍵盤 --> 新增 --> 勾選輸入法 --> 確定 --> 確定
- 防毒軟體使用 Antivir
- 安裝skype
- 安裝 Windows Live Messenger ( Windows --> 開始使用 --> 取得Windows Live Essentials)
星期二, 10月 20, 2009
取消 Windows 7 及 Windows Server 2008 自動登入
因為 VMWare 的貼心 easy install 的功能
所以安裝 Windows Server 2008 會自動建立使用者及自動登入
如果要取消自動登入
可以在命令提示字元使用
或是於控制台 --> 使用者帳戶 --> 管理使用者帳戶
勾選 "必須輸入使用者名稱和密碼, 才能使用這台電腦 "
--> 確定
這樣下次就不會自動登入
所以安裝 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 檔案系統。
對於空間大小的規劃則為:Live USB 1.5GB,ZFS 0.5GB,其餘的則保留給 FAT32。
取得適當的 USB 影像檔
可以使用以下幾種方式取得姆指碟的影像檔:
安裝複製 USB 影像檔的工具
參考以下的程序安裝 Distribution Constructor,以便使用 usbcopy 工具:
確認姆指碟運作正常
在將 USB 姆指碟插入電腦之後檢查是否偵測到設備:
檢查目前的磁碟分割方式
使用 fdisk 指令可檢視目前姆指碟的現況:
檢查是否掛載此一姆指碟
確認目前並無掛載此一姆指碟上的分割或切片,若有則進行卸載:
清除姆指碟
清除姆指碟的第一個磁柱:
劃分磁區分割
參考以下程序劃出 FAT32 及 SOLARIS2 的分割:
劃分磁區切片
參考以下程序劃出切片(slice) 0 及 切片(slice) 1:
格式化 FAT32 的分割
格式化並且將 OpenSoarlis 的 ISO 檔案複製進來,這樣可以隨時將它分享給別人:
建立 ZFS 的儲存池
使用 ZFS 的指令建立一個名叫 venus 的儲存池:
修改 /usr/bin/usbcopy 檔案
針對原版的 usbcopy 做了以下幾個修改:
- 由於 usbcopy 在 zh_TW.UTF-8 的 locale 無法正常執行(在複製影像檔的程式段會有問題),因此加入語言環境變數的設定。
- 說明會將姆指碟的 Solaris 分割中的切片0覆寫
- 不執行劃分磁區分割
- 不執行劃分磁區切片
- 增加擴大 UFS 檔案系統的動作
以下為原始版本(/usr/bin/usbcopy)及修改版本(/usr/bin/usbcopy.s0)的差異:
複製 USB 影像檔到姆指碟
利用以下指令將 USB 影像檔複製到姆指碟:
結語
終於製作好了!那?就用它來開機咯。當然您也可以發揮更多的創意..
原文網址 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
|
對於空間大小的規劃則為:Live USB 1.5GB,ZFS 0.5GB,其餘的則保留給 FAT32。
- 直接下載,目前 OpenSolaris 的安裝下載網址通常都提供了 ISO 及 USB 兩種格式的選擇。
- 自行製作,這個部份也許下次有機會採訪 Chao-Chin Hung 大大時再報導。
可以使用以下幾種方式取得姆指碟的影像檔:
參考以下的程序安裝 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
格式化並且將 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 的指令建立一個名叫 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
針對原版的 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 影像檔複製到姆指碟:
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 主機不能連接
iscsi 與 NFS 差異
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
6. 來到最新一期的頁面(這邊以 85 期為例子) --> 點選編輯
星期二, 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 會無法編譯)
雖然都是 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的方式
對於習慣 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
*DTrace
Nvidia X server tool -- Can Help Contral X display
Kururu and opensolaris LiveCD
opensolaris 200906
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
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
星期五, 6月 26, 2009
openSUSE Weekly News 繁體中文翻譯小組啟動
活動訊息
openSUSE Weekly News 繁體中文翻譯小組啟動
要參加 openSUSE 每週新聞翻譯小組或閱讀最新一期的 openSUSE 每週新聞,請造訪
與 openSUSE 來個夏日約會 (06/27)
活動內容與報名網址:
星期六, 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"
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//struct 一般習慣寫在前面 或是 Header 裡面, 這樣才可以被大家利用
struct Date
{
int year;
int month;
int day;
};
//進入主程式
int main()
{
int main()
{
//定義 a 並填入值
Date a={1992,12,3};
//將其列印出來 利用 a.定義 方式列印出來
printf("Date: %d-%d-%d\n",a.year,a.month,a.day);
system("pause");
return 0;
}
}
Lab: Struct 練習2
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.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()
{
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);
}
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"
// 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()
{
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);
system("pause");
return 0;
}
}
Lab: filewrite
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
//進入主程式
int main()
{
int main()
{
FILE *fp;
fp = fopen("C:\\Data.txt","a\");
char ch;
while( (ch=getche() ) != 13)
{
//對象 大小 寫入筆數 寫入檔案
fwrite(&ch,sizeof(ch),1,fp);
}
fclose(fp);
system("pause");
return 0;
}
}
Lab: Fileread
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
//進入主程式
int main()
{
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);
system("pause");
return 0;
}
}
***********************************************************************************************
訂閱:
文章 (Atom)