2008年12月13日 星期六

[教學]圖解Debian Desktop安裝筆記(2)

03.把testing升級成unstable:
以下是我常用的testing的sources.list:
#deb cdrom:[Debian GNU/Linux testing _Lenny_ - Official Snapshot i386 CD Binary-1 20080721-11:45]/ lenny main

deb http://security.debian.org/ lenny/updates main contrib non-free
#deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
#deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

#Offical Site of Debian Taiwan
#deb http://ftp.tw.debian.org/debian lenny main contrib non-free
deb http://ftp.twaren.net/Linux/Debian/debian lenny main contrib non-free

以下是我所用過的套件庫,但是我不是每個都會用到,所以您也可以就您的需求使用。

#deb cdrom:[Debian GNU/Linux testing _Lenny_ - Official Snapshot i386 CD Binary-1 20080721-11:45]/ lenny main

deb http://security.debian.org/ lenny/updates main contrib non-free
#deb-src http://security.debian.org/ lenny/updates main contrib non-free

#Offical Site from U.S
# deb http://http.us.debian.org/debian lenny main contrib non-free
# deb-src http://http.us.debian.org/debian lenny main contrib non-free
#Offical Site of Debian Taiwan
deb http://ftp.tw.debian.org/debian sid main contrib non-free
deb-src http://ftp.tw.debian.org/debian sid main contrib non-free

#Pcmanfm
deb http://people.debian.org.tw/~asho/debian/ unstable main
deb-src http://people.debian.org.tw/~asho/debian/ unstable main

#ucimf and openvanilla 輸入法
deb http://people.python.org.tw/~mat/debian binary/
#deb-src http://people.python.org.tw/~mat/debian binary/

#VirtualBox
# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | apt-key add -
#deb http://download.virtualbox.org/virtualbox/debian lenny non-free

#compiz-fusion
# wget http://download.tuxfamily.org/shames/A42A6CF5.gpg -O- | apt-key add -
deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/unstable/ ./
# deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/snapshot/ ./
# aptitude install compiz-fusion-gnome compiz-fusion-plugins-main compiz-fusion-plugins-extras fusion-icon

#wine HQ
# wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | apt-key add -
#deb http://wine.budgetdedicated.com/apt etch main
# deb-src http://wine.budgetdedicated.com/apt etch main

#Debian-multimedia.org
deb http://www.debian-multimedia.org sid main
#deb-src http://www.debian-multimedia.org sid main
#wget http://debian-multimedia.org/gpgkey.pub -O - | apt-key add -

#Packman
deb http://ftp.twaren.net/Linux/Packman/debian/ etch updates addons
#wget -c http://ftp.twaren.net/Linux/Packman/gpg-pubkey-1abd1afb.asc -O- | apt-key add -

#Google repos
#repos was no longer avalible, but you can download from
#http://picasa.google.com/linux/download.html for PICASA
#http://earth.google.com/intl/zh-TW/download-earth.html for GoogleEarth

#LXDE
deb http://people.linux.org.tw/~andrew/debian/lxde/ ./
#wget -c http://people.linux.org.tw/~andrew/debian/lxde/archive.key -O- | apt-key add -
#aptitude install lxde
#or in a minimal debian,
#aptitude install xorg xserver-xorg lxde gdm -y

打開終端機,把上述的套件位址資訊複寫到/etc/apt/sources.list;你可以利用vi,也可以用gedit。利用aptitude update更新套件庫後,會有幾個錯誤訊息,原因是我們未安裝該站台的gpg key。我們利用簡單的script把GPG key裝起來:

#!/bin/bash
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | apt-key add -
wget -c http://ftp.twaren.net/Linux/Packman/gpg-pubkey-1abd1afb.asc -O- | apt-key add -
wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | apt-key add -
wget http://download.tuxfamily.org/shames/A42A6CF5.gpg -O- | apt-key add -
wget -c http://people.linux.org.tw/~andrew/debian/lxde/archive.key -O- | apt-key add -
wget http://debian-multimedia.org/gpgkey.pub -O - | apt-key add -

上面的script是我們把公鑰下載回來。將debian從testing升級成unstable有兩種行為,一種是upgrade(safe-upgrade),僅升級所安裝的套件以及所需要的函式庫版本;另一種是dist-upgrade(full-upgrade),是將整個系統完整升級。筆者之前的經驗是full-upgrade時由於還有許多套件版本未更新或是尚未維護完全,使用dist-upgrade會出現許多套件毀損的情形;如果強制使用第一個方案upgrade會造成許多套件直接被刪除,許多沒有經驗的使用者會會覺得系統怎麼突然有一天就沒畫面了。因此筆者建議從testing升級到unstable使用:

aptitude update && aptitude upgrade
而不要
aptitude update && aptitude dist-upgrade

更新需要耐心等待一段時間。接下來我們定義三個常用的locale,請執行下列script:

#!/bin/bash
#please execute this script as root.
echo -e "zh_TW BIG5\nzh_TW.UTF-8 UTF-8\nen_US.UTF-8 UTF-8" > /etc/locale.gen
locale-gen

上面的script是快速定義三種常用的locale:big-5,中文UTF-8以及英文UTF-8。


04.安裝基本的工具:
aptitude install nautilus-open-terminal apt-file network-manager-gnome cups-pdf system-config-printer synaptic p7zip-full unrar alien vim locate hardinfo hdparm -y
nautilus-open-terminal:
nautilus跟gnome-terminal的整合程式。你現在可以在桌面按右鍵開啟終端機,在nautilus也可以開啟終端機。
apt-file:
一個可以讓你查函式或套件到底來自於哪個套件的好用工具。安裝完要先使用apt-file update產生cache才能使用。
cups-pdf:
pdf的列印程式。
p7zip-full:
支援.7z的壓縮/解壓縮,當然也支援其他的壓縮格式。
unrar:
non-free的rar解壓縮支援(只能解不能壓)。
alien:
一個deb與rpm互相轉換的小工具。大部分未必有好的使用經驗,但是對於一些小的套件的轉換卻是可以成功的。
locate:
一個尋找系統內檔案的程式。跟find不同的是,find每次都是硬撈,每次用find就如同大海撈針,硬碟瘋狂的轉;locate是需要透過updatedb來預先建立一個檔案清單的cache,日後透過此cache找檔案將會非常迅速。當然檔案如果是在建立cache以後才建立的,locate就會找不到。
hdparm:
一個調校ATA硬碟的小工具,如果你的硬碟是sata,可以不要裝這個小工具。hdparm的用法,請參閱鳥哥前輩的教學網站。
hardinfo:
一個圖形介面查看硬體資源的工具。詳情可以參考這篇
vim:
也就是vi的加強版。沒有他你要玩傳統的vi可是很傷手指的一件事情!
synaptic:
搭配aptitude的圖形介面安裝程式!

安裝的過程中會提示設定samba的工作群組,選擇WORKGROUP即可。

載及讀寫windows分割區也是經常被提及的。事實上ntfs可讀可寫的專案不只一種,最有名的就是可以在userspace上使用的ntfs-3g;另外,我還建議安裝圖形介面的分割工具:Gparted。
aptitude install ntfs-3g gparted parted dosfstools ntfsprogs
此,你的debian也可以建立ntfs、vfat格式,也可以正常的掛載。掛載一個ntfs分割區的內容可以寫在/etc/fstab,大致如下:
LABEL=backup /home/maxsolar/win_D ntfs-3g users,uid=maxsolar,gid=maxsolar,dmask=022,locale=zh_TW.UTF-8 0 0
如果你也有fat32的檔案系統,你也可以這麼寫:
LABEL=backup2 /home/maxsolar/win_E vfat users,uid=maxsolar,gid=maxsolar,dmask=022,iocharset=utf8,codepage=950 0 0
於我的硬碟分割區比較多,為了不造成自己的困擾,我會利用LABEL來避免掛載到非我預期的分割區,當然你可以指定/dev/sdax這種傳統設備表示法,也可以利用uuid。指定locale為utf-8,並且讓這個partition的使用者跟群組id都是我,且資料夾的mask為022。

參考連結:
[教學]圖解Debian Desktop安裝筆記(1)
[教學]圖解Debian Desktop安裝筆記(3)
[教學]圖解Debian Desktop安裝筆記(4)
[教學]圖解Debian Desktop安裝筆記(5)

[教學]圖解Debian Desktop安裝筆記(1)

喜歡debian的人都有自己的一套說法。我自己喜歡debian是他有一個非常小的base system,可以從這個base system一步一步架構出心目中的linux系統;加上強大的apt工具,數量最多套件以及廣大的社群,我幾乎不擔心debian有一天會滅亡--雖然ubuntu出現後,我開始有這樣的恐慌。

總之,這篇文章希望能夠讓你認識到debian的安裝已經不像過去那麼可怕。在linux核心還在2.6跟2.4交界時,那時的debian安裝過程可稱之為天書!看得懂在描述什麼的人,恐怕世上難得倒他的linux也沒幾款了;這些日子雖然很少重新安裝debian,但是印象很深的是再也沒有那麼艱澀的安裝過程--事實上,我喜歡debian的安裝勝於ubuntu,那種自訂性少得可憐的linux,我總覺得被windows化的感覺,不斷地下一步的結果,會產生很多會安裝ubuntu的人都自以為linux了,其實只是會按下一步罷了。所以我推薦debian的原因,是因為他已經非常親民了,而且他不會讓你養成按下一步的可怕壞習慣。筆者沒有排斥使用ubuntu的意思,相反地,我還蠻常推薦人使用ubuntu跟opensuse的,兩者是我用過最friendly的linux。只是ubuntu被外面的教學過度簡化,反而失去了linux的味道;這不是學習linux的好態度。但是筆者還是建議可以先練習做一個好的linux桌面使用者,再進階成為一個好的系統管理員。

首先界定本文的目的是建立一個gnome Desktop,並且由testing升級成unstable。debian雖然也有版本號,但是依套件的穩定性而有stable(server建議)、testing(workstation建議)、以及unstable(Desktop建議)。unstable的套件是最新的,不過並沒有受過太多時間跟使用者的考驗;關於這三種分級定義的詳細資訊請參考Debian快速參考手冊。不過桌面使用者對於停機的敏感度比較低,加上unstable只是一個分類名稱,請安心的使用unstable的類別吧!debian最強大的是,選擇一個類別後,你不用去擔心版本號提昇後系統需要下載release-note再進行整體升級--每天的upgrade都可以讓你的系統維持在最新的狀態!

本文不會交代如何安裝或啟動任何的服務。達成此文目的的方法不只一種(例如網路安裝),我展示的方法是我認為最方便的。文章因為有圖片的關係會很長,也許不算非常嚴謹,只希望對於想入門debian的同好有所幫助。

01.下載debian testing的光碟:
debian的官方網站下載第一片光碟就好。
Fig 1. 你可以把他燒成光碟,或是在虛擬機器下利用iso檔安裝。

02.開始安裝debian:
Debian安裝流程screenshots
Fig 2-1. 選擇第一個Install即可。第二個圖形的Install還不算真正的圖形化,我認為沒有多大驚喜;反倒是Advanced options裡面有專家模式(Expert Install),這才是我最喜歡的安裝方式。 Fig 2-2.實際上應該要選中文(繁體),不過我太久沒用中文環境安裝了,說真的翻譯成中文我還有點不知道究竟是什麼意思^_^。為了我自己的方便,我還是選英文安裝。
Fig 2-3.選擇國家的地方預設是美國,請選擇Other->Asia就可以找到台灣。 Fig 2-4.鍵盤選擇美式鍵盤,是基本常識。其實windows的安裝一樣會選擇鍵盤格式,只不過是大家都下一步習慣了,智商就會變低。
Fig 2-5.設定一個自己喜歡的主機名稱。請注意debian的主機名稱不是完整的FQDN,也就是不包含domain name;如果你習慣像是OpenSuSE或是Fedora的主機名稱(FQDN)的話,那麼此處的主機名稱相當於一個alias。假設你家裏是需要撥接才能上網,你會卡在網路設定錯誤的地方。選擇不要現在設定網路,我們在本文最後會安裝撥接上網的程式。 Fig 2-6.由於我們不做任何服務,也沒有申請domain name,所以留空白即可。
Fig 2-7.請務必不要用系統建議的分割模式!請自己動手設計分割區! Fig 2-8.我利用vbox做的一個8G的硬碟,選擇他作更進一步的硬碟劃分。
Fig 2-9.選擇yes以建立一個全新的硬碟分割表。 Fig 2-10.由於還沒有建立任何的分割區,所以要建立一個新的。
Fig 2-11.我要先建立第一個分割區為swap。在一顆硬碟的最前端當作swap已經是一個經驗法則,既然系統運行會忙碌到用到swap,那麼就把置換空間放在最前面讓swaping的效率達到最好,當然,能不用到swap是最好。一般而言,swap會是ram的兩倍大小。
假設系統已經有到4G以上的記憶體空間,需要分割swap嗎?有需要讓swap是兩倍記憶體大小的空間嗎?事實上swap的存在未必一定是swaping時使用,當系統待命或休眠時,就會用到swap。另外swap的大小跟系統配置記憶體快取的大小有關,也就是系統會根據swap大小依據不同的演算規則管理記憶體;根據Netman老師的說法,兩倍記憶體大小的swap是最恰當的--犧牲一點硬碟空間,而得到效率最好地演算法。
Fig 2-12~14.在use as:的地方按enter選擇其他的類型。
Fig 2-15.選擇swap area。 Fig 2-16.完成/dev/hda1 swap的配置。接下來再一個 / 就行了!
Fig 2-17~19.再一個新的分割區來放/。我喜歡用reiserfs!不過如果不習慣的話,用ext3對於桌面使用者也是沒什麼差別。reiserfs對於桌面使用者其實是比較適合的,他對於許多小檔案的處理能裡遠比ext3好得多、不用擔心inode用完的問題、b*tree技術使得找檔案的速度變快等優點。 Fig 2-20.我很龜毛的!我個人總是會用這些掛載選項。建議至少把noatime勾起來!
Fig 2-21.我喜歡用LABEL的方式去掛載分割區,好記又不容易出錯! Fig 2-22.配置完成,大概會像這樣。再次確認這個分割區ok後,按Done表示確定。
Fig 2-23~24.整個硬碟分割區的overview。一樣確認沒問題後,按下Finish表示確定。系統還會在給你一次確認機會。 Fig 2-25.前置的安裝作業。真正的安裝還沒開始。
Fig 2-26.root密碼。過程中會要求輸入兩次,別忘記密碼了。 Fig 2-27~29.這裡會要求建立一個普通使用者的帳號。其中user name是指真實的姓名,account就是系統的帳號。想當初第一次裝Debian時,兩者都搞不清楚呢!同樣的,密碼會要求輸入兩次。
Fig 2-30.可以放一片馬修連恩的音樂cd進去給他scan一下。(冷) Fig 2-31.這個地方請先選no。因為你選擇了yes,就會變成所有的套件都由網路安裝,那麼你先前耗費時間跟網路頻寬下載那片iso就失去意義了。先利用光碟裡的套件把testing的環境安裝好,再配置apt去更新成unstable。
Fig 2-32.是否加入debian套件使用統計。選擇YES會讓使用者所安裝的套件會回報給debian官方,藉以統計各套件的使用程度。我一向都是選yes的。 Fig 2-33.暫時把Desktop Environment取消掉吧。雖然我們稍候還是會安裝他,不過之前測試的結果,這裡選擇後所安裝的套件並不完整。
Fig 2-34.安裝一個極為精簡的base system。 Fig 2-35.只有一個作業系統,就必定要安裝開機管理程式到MBR。假設有多個系統,才有可能安裝在自己/下的boot sector。
Fig 2-36.安裝的過程中如有出現錯誤訊息,那也算正常現象。我不知道為什麼,grub安裝失敗的問題很常出現;解決的方法千奇百怪,我個人認為最怪得就是一直重複的讓他安裝,某一次就會自動成功了!假設你從來沒遇過grub安裝失敗的話,恭喜你,你重灌debian的經驗不足! Fig 2-37.真棒耶,安裝成功了!
<
Fig 2-38.簡樸而強大的grub,我個人認為是最優秀的開機管理程式。 Fig 2-39.黑鴨鴨的登入畫面。很多人看到這就傻了,還有人說電腦壞了呢!可見微軟圖形化教育多麼的成功!

至此,我們算是正式的取得了一個shell,他提供人跟系統的一個溝通介面,名字叫做bash。unix-like的世界裡有很多shell可以使用,但是bash是GPL授權,因此成為linux預設的shell。首先請以一般使用者身份登入,再使用su -取得管理員權限,並安裝gnome桌面環境:

aptitude install gnome-desktop-environment -y
Fig 2-40.安裝過程會很久,但其實也不會太久。
漫長的裝完成了之後,圖形介面不會自動出來,請下:
invoke-rc.d gdm start
GDM登入畫面就會出現了!
Fig 2-41~42.gdm登入畫面以及桌面。

就是debian的桌面。現在的功能還很簡樸。請開啟一個終端機吧!從Applications->Accessories->Terminal,並切換成root的身份。我們現在還沒使用到網路,如果家裡是使用pppoe撥接上網,現在安裝pppoeconf:

aptitude install pppoeconf
輸入isp提供給你的帳號、密碼,並確定開機後自動連線。網路連線的參數定義在/etc/network/interface裡,想要知道最詳細的用法,就找man:
man interface

延伸閱讀:
[教學]圖解Debian Desktop安裝筆記(2)
[教學]圖解Debian Desktop安裝筆記(3)
[教學]圖解Debian Desktop安裝筆記(4)
[教學]圖解Debian Desktop安裝筆記(5)

2008年12月11日 星期四

matlab R2008A for Linux簡易安裝筆記

因為有學生在問,想想也許研究室的學弟也有需要在UNIX或linux安裝matlab的困擾,因此就做一篇簡單的、圖較多文較少的筆記,希望或多或少有幫助。

1. 將光碟或是iso檔掛載到系統上。假設是光碟機的話,你應該可以在/media/cdrom下面找到一個install的script。假設你是下載學校的iso檔,那麼你可以手動掛載。執行安裝的過程可以由下列簡單的script看出來:

#!/bin/bash
#you must execute this script as root!
mkdir /opt/matlab
mount -o loop MATHWORK_R2008A.iso /mnt
cp /mnt/license.dat /opt/matlab
./mnt/install
不過在我的debian下還是出現了一個錯誤訊息。如果你可以看到安裝圖形,那麼請略過此段。 -------------------------------------------------------------------
An error status was returned by the program 'xsetup',
the X Window System version of 'install'.

The following messages were written to standard error:
/mnt/update/bin/glnx86/xsetup: error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory
Attempt to fix the problem and try again.

If X is not available or 'xsetup' cannot be made to work then try the terminal version of 'install' using the command:
install* -t or INSTALL* -t
-------------------------------------------------------------------
Sorry! Setup aborted . . .

原來是缺了一個共享函式。一般而言,這種大型軟體為了求速度跟安裝時的便利性,會用到的share library都不多,通常都是static library。不過既然如此,我們就找找看該怎麼安裝他。

apt-file search libXp.so.6
得到3個結果:
libxp6: /usr/lib/libXp.so.6
libxp6: /usr/lib/libXp.so.6.2.0
libxp6-dbg: /usr/lib/debug/usr/lib/libXp.so.6.2.0
想必就是第一個啦:
aptitude install libxp6 -y
再次以root執行/media/cdrom或/mnt裡的install指令。
01.選擇不從網路安裝。
02.我的習慣是像solaris一樣把使用者自己安裝的第3方程式放在/opt。
你也可以像一般linux的建議放在/usr/local/share,那都是沒有硬性規定的。
03.這個地方指定學校給我們所使用的序號。我偷偷的研究了一下,學校的序號所能使用的工具比較少^^。
04.從這裡自訂需要安裝哪些功能。matlab很多強大的功能我也不是很懂,自己慢慢研究吧~
05.這是matlab貼心的為你做一個軟連結。在linux/unix的世界裡(當然包含mac os),至否支援此命令除了權限以外,還有PATH環境。
一般使用者可以用的命令包含有/usr/bin, /usr/local/bin等等,你可以填入上述兩者皆可。
06. 輸入學校買授權檔案。再次強調...學校買的軟體在學校用就好!
07. 有時後matlab還是找不到你指定的檔案。沒辦法,指定一個給他吧!
08. 找到授權檔之後,就可以開始安裝。
09. 我個人認為安裝的速度很快呢!
10. 安裝成功的訊息。如果你看到這裡,只是成功了一半而已。
11. 啟用matlab需要在一次檢查授權檔。
12. 在指定一次給他吧。我也不知道為什麼,在安裝時已經檢查過的授權檔,為何此時還要在檢查一次呢?
13. 檢查成功後會自動啟用matlab主程式。2008年2月10日的版本耶!第一次用到這麼新的版本,不知道會不會跑比較快?
個人認為跑得快比較重要!
14. matlab的IDE介面。

對於matlab的語法還算蠻有興趣的,感覺不會很難又能畫出漂亮的圖形,改天在試試看好了。

在OpenSource的世界裡,有一個科學計算繪圖的工具叫作octave,不過他沒有圖形介面,據說跟matlab有很好的相容性,許多買不起matlab的機關都會建議使用octave;只可惜,我也不熟...

相關文章:
Octave note
Octave tutorial
Matlab程式設計入門篇
Matlab程式設計與應用--張智星
matlab練習
matlab基礎教學
matlab計算機應用