1
自由軟體 與
集中式管理之電腦教室
蕭志榥
http://opensource.nchc.org.tw
http://drbl.nchc.org.tw, http://drbl.sf.net
國家高速網路與計算中心自由軟體實驗室
Apr, 2004
主題
自由軟體與開放原始碼軟體簡介
集中式管理之電腦教室
–
Penguinzilla
企鵝龍(DRBL)
簡介3
Polling
自由軟體 / 開放原始碼軟體 / 免費軟 體的差別?
使用過 Linux / BSD 系統?
使用 Linux / BSD 當 Server ?
使用 Linux 教學?
觀念與理念的接受最重要
擁抱自由永遠不嫌晚
自由軟體與開放原始碼簡介
5
Free Software vs. Open Source
●
“ Free Software” term author – Richard Stallman
●
“ Open Source” term author – Eric Raymond
●
"Open Souce Definition" (OSD) – Bruce Perens
●
Richard Stallman
等Free Software
的擁護者並不 同意由Open Source
這個名詞來取代Free
Software
●
Freedom to Use, Copy, Modify and Distribute
(UCMD)
Free ?
● 是自由,不是免費,但是因為可以
U. C. M. D.
所 以費用趨近於零●
Free beer ? No...
●
Free speech By Richard Stallman.
●
“ Free software is free as limestone, wood and silicon.
Those are all elemental substances, freely proudced by nature.... Free software is produced by human nature” By Doc Searls.
● 自由軟體是建在互惠的基礎上
● 自由軟體還是可以收費,不過不能阻止買者再自由 傳播散佈自由軟體
7
Copyleft vs. Copyright
●
Copyleft Reciprocity
– A general method for making a program free software and requiring all modified and extended versions of the program to be free software as well.
– To copyleft a program, the software is first copyrighted, and the software is distributed under a license, a legal instrument that gives everyone the rights to use, modify, and redistribute the program's code or any program derived from it but only if the distribution terms are unchanged. Thus the code and freedoms become legally inseparable.
From Martin Fink, "The Business and Economics of Linux and Open Source", Prentice Hall PTR
Summary of OSD
●
Free redistribution
●
Source code
●
Derived works
●
Integrity of the author's source code
●
No discrimination against person or groups
●
No discrimination against fields of endeavor
●
Dsitribution of license
●
License must not be specific to a product
●
License must not contaminate other software
9
Some Open Source Licenses
●
Copyleft or not ?
– Apache Software License No
– BSD License – No
– GNU General Public License (GPL) Yes
– GNU Lesser General Public License (LGPL) – Yes
– IBM Public License – Yes
– Mozilla Public License (MPL) – Yes
– MIT License – No
– Python License – No
– Qt Public License (QPL) – Yes
– Sun Industry Standards Source License (SISSL) No
From Martin Fink, "The Business and Economics of Linux and Open Source", Prentice Hall PTR
GNU – Gnu is Not Unix!
– 1983/9/27
– " 教主”:Richard Stallman http://www.stallman.org/
– Free software manifesto
http://www.gnu.org/gnu/manifesto.html
– Free means freedom!
– Free Software Foundation – FSF
– 軟體應該是人類的共同智能,屬於公 共財!
11
GNU – Richard Stallman
● 試想,如果有人跟你說:只要你保證不拷貝給 其他人使用的話,我就把這些寶貝拷貝給你 用。其實這樣的人才是魔鬼
;
而誘人當魔鬼 的,則是賣高價軟體的人 Stallman
●
Stallman:
「我要做出一系列亂棒的自由軟體,好到讓廠家們只要不用他就會倒店的程度。」
Legal Issues
●
GPL – General Public License
●
LGPL – Lesser General Public License
● 非官方中文翻譯
– http://www.gnu.org/licenses/translations.zh.html
13
Opensource
傳教士:
Eric S. Raymond
– http://www.tuxedo.org/~esr/
– Opensource 一詞的發明人
– The Cathedral & The Bazaar
– The Art of UNIX Programming
– A Brief History of Hackerdom
The Cathedral & The Bazaar
●
Case study
– Linus Torvalds' Linux
– Esr's fetchmail
– Netscape, Mozilla
– Many many more!
● 把你的使用者視為協同發 展人
,
可以讓你傷最少的腦 筋,
但做到原始碼的快速改 善,
程式的除錯有績效.
● 中文翻譯版:
http://www.linux.org.tw/CLDP/doc/CathedralBazaar.html
15
●
[
格言1]
好軟體都是起源於程式發展者要解 決切身之痛.
●
[
格言2]
優秀的程式師知道要寫程式,
偉大的 程式師知道要改寫(
和重覆利用)
程式.
●
[
格言5]
當你對一個問題不再感興趣時,
你最 後的責任就是找位能勝任的接棒人.
●
[
格言7]
儘早,
經常發表新版本,
並且傾聽使 用者的意見.
●
[
格言8]
足夠多的人來看程式,
所有的錯誤都 變得淺顯 Linus
定律The Cathedral & The Bazaar
Linux History
●
Linux Torvalds, Finland
●
Just for fun!
●
Related to Minix
●
Newsgroup flame
●
Free Software
●
Internet effect
17
Linus 名言
● 人類進化演進的過程
Linus
三定律– 為求生存
– 為求社會地位
– 為娛樂, Just for fun!
– Examples: Sex 、戰爭、電視、手機、Linux
●
Software is like sex, it's better when it's free.
● 全球性的團隊遊戲
(for developer)
What's Linux?
●
Linux
是一套自由的32*
位元多人多工Unix
like
作業系統,同時相容於System V
與BSD
並且符合POSIX
標準。●
It's GPLed!
●
Ported to other platforms: i386, IA64, X8664,
DEC's Alpha, Sun SPARC, PowerPC, VAX, SGI
MIPS etc.
19
Linux Features
●
Totaly Free!
●
Opensource
●
Cross platform
● 多人多工
● 具網路功能
● 上千種
GNU
軟體● 可與其他作業系統並存
Linux History
●
Developers worldwide
●
Opensource, thounds of eyeballs
●
Community support
●
Vendors support
– Redhat
– Mandrake
– Suse
– IBM
– ...
21
Linux & distribution
●
Linux
是kernel
!●
A distribution = Linux kernel + software packages
●
Linux kernel +
基本的libc utilities + X Window system
● 最重要的工具集:
GNU tools!
● 嚴格來講、叫做
GNU/Linux
Linux Distributions
●
LFS – Linux From Scratch
– http://www.linuxfromscratch.org/
●
Slackware
– http://www.slackware.org/
●
Redhat
– http://www.redhat.com/
●
Mandrake
– http://www.mandrake.com/
23
Linux Distributions
●
Suse
– http://www.suse.com/
●
Debian
– http://www.debian.org/
●
Gentoo
– http://www.gentoo.org/
Linux Distribution
●
TurboLinux
●
OpenLinux
●
UnitedLinux
●
Etc
25
NCHC 發展與推廣自由軟體的 背景
2002 年 5 月 NCHC 在立法院公聽會提出國家型 開放原始碼計畫的構想,計畫雖未成立,但我 們秉持
理念 自由 經費
✔ 鼓勵創新,培植本土軟體資訊人材
✔ 建立資訊工業自主實力
✔ 節省政府支出,每年省下二十億以上
✔ 促進資料交換格式開放,確保資訊自由
NCHC 發展與推廣自由軟體的 背景
●台灣,大部分個人電腦的作業系統與辦公室軟體均為少數外商的產品
●至民國 89 年底,政府機關與學校單位設置的個人電腦總數為 1,229,276 部,估計支付外商公司軟體授權費超過新台幣七十億元以上
●教育之所以為教育就是要學生學習能組合與創造的工具,例如數學和英 文課程
●我們的教育,如果只是整天教小孩子昂貴的軟體與作業系統,那學生只 有兩條路,不是非常有錢來買軟體,就是作罪犯來盜版。
●如果我們的老師永遠睜一眼閉一眼,小孩子從小就受這樣的教育,惡小 為之,人格必定扭曲。為何要讓學生生活在那樣的環境中?
●政府機構所採購的電腦,內裝的軟體可能只使用 20%~30% ,卻需付 100%
的軟體費用,最重要的是沒有 U.C.M.D 的自由
●身為政府機構,若有能力卻不做,有違我們的認知與良心
27
FOSSFree Open Source Software
✔ 免費只是自由的一個要素,只看到『免費』太 短視,
M$ IE
就是一個例子... 2003
年5
月7
日M$ IE
程式經理Bryan Countryman
表示...
✔ 要求『降價』如同向毒梟討價還價,只圖短暫 的苟安,不如培養競爭對手,泰國就是一個例 子
✔ 要堅持自由開放原始碼軟體
(FOSS)
的精神✔ 你可以任意
copy
,任意傳播散佈✔ 台灣人這麼愛
copy
,為何不發展一個東西讓 大家來copy
,被copy
的人很爽,copy
的人 也拷貝的很爽...
自由軟體的精神,符合人性Debian GNU/Linux
● 非商業化、最自由的套 件
● 由全世界
5000
多個志願者共同維護
●
http://www.debian.org/
● 安裝難度略高
● 但容易控制管理
29
資訊消費新主張 : 請賣給我一開 機就可以用的電腦 !
朝陽科技大學洪朝貴教授主張
:
✔
PDA
一買來就可以建立通訊錄,
計算,
安排 行程,
對吧?
從來沒有聽說過買了PDA
之 後還需要自己下載一大堆軟體,
才可以真正做 有用的事。✔ 我們談的不是功能陽春的
wordpad, Outlook
Express,
小畫家;
也不是價格昂貴的MS
Word
與Photoshop
。 我們談的是合法,
免 費的OpenOffice.org, Mozilla Composer,
與Gimp
。 知名電腦品牌大量生產的電腦,
明明 可以在出廠時預先安裝這些軟體...
資訊消費新主張 : 請賣給我一開 機就可以用的電腦 ! ( 續 )
✔ 如果賣衣服的廠商像電腦製造商一樣
,
或許會 堅持要消費者自己縫鈕扣;
✔ 如果賣收音機的廠商像電腦製造商一樣
,
或許 會堅持要消費者自己畫頻道刻度;
✔ 如果小吃店像電腦製造商一樣
,
或許會堅持要 消費者自己炒菜;
31
教學上自由、開放原始碼軟體的 選擇
✔ 作業系統
Linux, BSD
系列...
✔ Debian, Mandrake, RedHat/Fedora, FreeBSD...
✔ 瀏覽器
Mozilla, Konqueror...
✔ 收發電子郵件
Mozilla, Thunderbird, Kmail...
✔ 影像、多媒體
The GIMP, Xine, Mplayer, Xmms, VLC...
✔ 辦公室軟體
OpenOffice.org, Koffice...
✔ 字典
Stardict, Kdict...
✔ 燒錄軟體
K3b, Nautilus CD burner, arson...
✔ 即時通訊軟體
gaim, jabber...
使用自由、開放原始碼軟體可能 遇到的問題與解決方式
✔ 遇到的問題
封閉格式檔案✔ 網頁只針對 M$ IE 撰寫,其他瀏覽器無法開啟
✔ 檔案只有 M$ 獨家的程式可以完整的開啟、編輯或執行,例如 .doc, .exe 檔
✔ 解決方式
我們的主張✔ 無障礙的網頁,請遵循 W3C 標準撰寫網頁
✔ 公開空間,提供開放格式的檔案是人人的責任,尤其政府單位與學 校更是有責任與義務做到。這不是技術問題,是公德心問題
✔ 不是反微軟,而是反壟斷 自由軟體、不自由軟體在開放格式的共 通標準下和平共存與公平競爭。這樣社會才有正義,世界才能進步
✔ 舉微軟在歐盟的例子 微軟反駁說是類似汽車加新配備,事實是 ...
33
企鵝龍 Penguinzilla
(DRBL Diskless Remote Boot in Linux)
國網中心自由軟體實驗室開發
Penguinzilla (DRBL Diskless Remote Boot in Linux)
✔
pxe/etherboot + nfs + nis
站在巨人的肩膀上起源:
PC Cluster >
自由軟體電腦教室需求1.
支援多元化的電腦教學 Linux
與M$
Windows
可同時並存– Penguinzilla 環境下, OS 存在server 端, client 端的作業系統可保 留
2.
簡化管理工作– 所有的服務集中在 server 管理,減少檢視每台 client 軟體的困擾
– 作業系統與軟體只需要在 server 上安裝一遍即可
3.
硬體與安裝雖簡化,軟體卻完整35
Penguinzilla 示意圖
server
switch 1
node001 node013 node027 node040
NIC 1
NIC 4 NIC 3
NIC 2
switch 2 switch 3
node014
~
node028~
public ip
private ip private ip private ip
~
LTSP vs. Penguinzilla
既有 LTSP ,何要 Penguinzilla ?
中央集權
vs.
地方分權
LTSP
無法充分使用local
電腦的硬體資源,例如用戶 端無法撥放聲音,無法使用隨身碟與光碟機
Penguinzilla
不適用於老舊電腦使用 因地制宜,取己所需
37
Clonezilla
Penguinzilla 的內建殺手級功能
✔
Clonezilla [OCS (Opensource Clone System)]
– 搭配 partimage (http://www.partimage.org) 可以將作業系統由 server clone 回client 。功能類似 MS Windows 下的企業版 Ghost ,不過更 漂亮的地方是人不需要在現場,可以設定好執行時間,系統自動 做。以 NCHC PC 教室為例, 36 台 clients clone 3.5 Gbytes 的 M$
Windows XP 環境,使用 unicast 方式約 50 分鐘到 1 小時,使用 multicast 方式則只要約 8 分鐘。
✔ 由
Server
可遠端控制Client
開機 * 與關機✔ 由
Server
可遠端控制Client
的作業系統選擇✔ 可備份與還原多種作業系統,包含
Linux, M$
Windows
等* 主機需支援 wake on LAN 功能
Penguinzilla 集中管理功能
✔ 由
server
可下一個指令可以✔ 控制所有學生機器的開 * 、關機
✔ 收發學生的作業
✔ 修改所有機器的管理者密碼
✔ 複製檔案給所有機器
✔ 切換學生機器的登入選擇 ( 自動登入、一般登入、限時登入 )
✔ 切換學生電腦的作業系統或是工作 (FreeDOS, DRBL client, local Hd 內的作業系統 , memtest, clonezilla, 網路安裝
RedHa/Fedora/Mandrake...)
✔ 新功能持續開發中
39
Penguinzilla features
✔
It's GPLed!!!
✔ 程式碼完全公開,任何人都可以自由使用、複 製、修改與散佈
✔ 作者們就在你面前
硬體需求
● 伺服器
– 基本需求 : CPU 450MHz 以上為佳,記憶體 256 MB 以上, fast ethernet 網路卡 ( 以兩張以上為佳 ) ,硬碟 20GBytes 以上為佳 .
– HPC 需求 : 永無止境
● 用戶端
– 基本需求 : CPU 300 Mhz 以上為佳,記憶體 128 MB 以上為佳,
fast ethernet 網路卡,無需硬碟,若網路卡未內建 bootrom 或是 PXE 功能,則需有軟碟機來提供網路開機的機制。
– HPC 需求 : 永無止境
● 網路設備
– 基本需求 : fast ethernet switch, port 數目配合client machine 的數 目,一般電腦教室 40 台client machines , 2 台 24 ports switch 即可
41
Penguinzilla 整體運作示意圖
server client
node001 IP
DHCP
pxe/etherboot
192.168.0.40
kernel TFTP
TFTP
bootNFS file system
/, /usr, /home ...NIS account
user loginclient node040 ...
pxe/etherboot
192.168.0.1 boot
/, /usr, /home ...
user login
如何安裝 ?
●
http://drbl.nchc.org.tw; http://drbl.sf.net
●
Penguinzilla for Debian Linux
– 兩步安裝法:尚未安裝任何作業系統的主機,使用光碟來安裝,約
2030 分鐘左右可以完成整個電腦教室的架設 ( 安裝時間視主機速
度而定 )
– 四步安裝法:自行安裝好 Debian Linux 之後,下載程式來安裝與設
定,約 20 30 分鐘左右可以完成整個電腦教室的架設 ( 安裝時間視
主機與網路速度與而定 )
●
Penguinzilla for RedHat Linux
– 四步安裝法:自行安裝好 RedHat Linux 之後,下載程式來安裝與
設定,約20 30 分鐘左右可以完成整個電腦教室的架設( 安裝時間
視主機與網路速度與而定 )
● 每增加一台
client
,server
所需額外增加的硬碟空間約15MB ( )
43
使用 Penguinzilla 的學校與單位
✔ 教育部的舊電腦延續計畫 - 宜蘭 (5 所學校 ) , 桃園 (5 所學校 ) ,苗栗 ( 預計 5 所學校 )
✔ 新竹縣 ( 預計至少有 12 所學校 )...
✔ 國家高速電腦網路與計算中心 *
✔ 新竹市青草湖社區大學
✔ 嘉義縣網中心
✔ 嘉義市崇文國小
✔ 新竹市建功國小 *
✔ 桃園縣楊明國小
✔ 苗栗縣五穀國小
✔ ...
* Installed by NCHC Opensource Taskforce
Penguinzilla 運用在 NCHC 上 課情形
Penguinzilla 運用在新竹市建 功國小教師自由軟體研習營 上課情形
45