gNewSense

gNewSense

gNewSense是自由軟體基金會(FSF)基於Ubuntu Linux建立的完全自由的作業系統發行版。

基本介紹

  • 外文名:gNewSense
  • 開發公司:自由軟體基金會
  • 性質:作業系統
  • 運營方式:免費
系統介紹,區別,信息,安裝配置,創建發行版,

系統介紹

gNewSense目標是要提供一個100%自由的作業系統,用戶可以訪問到系統里全部軟體的原始碼,無論是核心還是用戶態程式。gNewSense基於Ubuntu,Ubuntu是從 Debian GNU / Linux上創建的發行版,並且於Debian合作緊密。需要說明的是Debian/GNU Linux雖然冠GNU之名,但是不完全符合GNU的自由精神,而是有所妥協,提供了非自由軟體選項。第一個得到GNU承認的完全自由的GNU / Linux發行版是基於Gentoo的Ututo。
gNewSense發布時包含了一些改進,但不包含任何私有或非自由的組件。特別地,所有的私有固件、受限制的模組、Ubuntu的徽標,都被移除了,而“Universe”軟體倉庫預設被選中,一些GNU套用軟體Emacs和開發庫,以及bsdgames和NetHack,都被包含在預設安裝中。該計畫的目標是創建一份完全自由的Linux發行。
作為一份由自由軟體基金會贊助的產品,gNewSense是基於Ubuntu的Linux發行,它發布時包含了一些改進,但不包含任何私有或非自由的組 件。特別地,所有的私有固件、受限制的模組、Ubuntu的徽標,都被移除了,而“Universe”軟體倉庫預設被選中,一些GNU套用軟體如 Emacs和開發庫,以及bsdgames和NetHack,都被包含在預設安裝中。該計畫的目標是創建一份完全自由的Linux發行。

區別

最好從Ubuntu和Debian的源的格式來簡單理解一下自由軟體與非自由軟體的區別,以及為什麼要創建gNewSense發行版,對Ubuntu和 Debian很軟體包是否自由或者/etc/apt/souce.list文間中各個源的參數很熟的讀者可以直接跳過。

信息

“源”指的就是/etc/apt/sources.lis檔案中包含的類如此類的信息:
對於Ubuntu系統
注意http連結地址後面的四個參數:main restricted universe multiverse
Ubuntu把所有軟體分為4類,稱為“組件(component)”,以反映不同的許可證和可用的支
持級別。預設情況下,來自main的精選包會被安裝以滿足大多數計算機用戶的基本要求,同
樣被安裝的還有來自restricted的對系統可用絕對需要的任何包。
main組件只包含符合Ubuntu許可證要求並可以從Ubuntu團隊中獲得支持的包。這個策略力圖
使日常使用Linux系統時所需的任何東西包括在內。在這個組件內的包可以確保得到技術支
持和及時的安全升級。
restricted 組件包含了由於其重要性而被Ubuntu開發者支持的軟體,但是它們並不具有合
適的自由許可證,因此不能列入 main。其中包括僅能以二進制形式獲得的顯示卡驅動程式。
因為Ubuntu開發者無法獲得原始碼,其支持的水平與main相比是有限的。
universe組件包含範圍廣泛的軟體,他們或許是受限許可證,或許不是,但是都不為
Ubuntu團隊支持。這樣用戶可以使用Ubuntu的包管理系統安裝各種各樣的程式,同時又與
main和restricted中被支持的包相隔離。
最後是multiverse組件,其中包括了不符合自由軟體要求而且不被支持的軟體包
對於Debian系統
四項的含義分別是:
main 主要的基本的且符合GPL的軟體
non-free 不符合GPL的軟體
contrib 可以運行但是依賴non-free的軟體
non-US 非美國地區的。
gNewSense的特性
由上可以看出Ubuntu和Debian並非完全自由,而是做了一定的妥協。
翻譯如下:
⒈ main組件中(名詞“組件”借用Ubuntu的概念)Firmware從核心中去掉了。
⒉ 製作發行版的工具Builder。
⒊ Restricted組件去掉了。
⒋ Ubuntu的圖示被替換掉了。
⒌ 默認開啟Universe組件。
⒍ 安裝了emacs,bsdgames,nethack 和 build-essential 作為默認組件。

安裝配置

目前最新版是2008年8月25日發布的gNewSense 2.1版。gNewSense 2.1 DeltaH基於Ubuntu 8.04 Hardy,移除了其中的非自由軟體和非自由驅動。加入Usplash,新主題和圖案,LiveCD sudo不再詢問密碼等等。gNewSense的安裝配置跟Ubuntu一樣。用LiveCD引導進入系統,點擊install圖示,選擇安裝的語言(中文)只需要7步,就可以把gNewSense安裝到硬碟中。
gNewSensegNewSense
但即使你選擇了中文為默認語言,進入系統後,還有大量的程式如OpenOffice、Synaptic(新立得軟體包管理器)、控制終端等等都為英文界面,這就需要我們進行一些小小的安裝配置,以快速地建立一個舒適的中文使用環境。
設定連線到網際網路
⒈請確保你的系統已聯入網際網路。假如你使用ADSL上網,請參考《ADSL使用PPPoEConf連線到網際網路》方法連線。如連線不到網路請到Linuxsir論壇中求助。
⒉確認連線到網際網路後,我們需要更新軟體包列表。請在終端輸入:
$ sudo aptitude update
⒊安裝更新整個系統。執行下面的命令:
$ sudo aptitude dist-upgrade
或者你打開“系統→系統管理→新立得軟體包管理器”,安裝更新。
設定中文環境
如果你安裝的時候語言選擇了中國,那么你已經有一個zh_CN.UTF-8的中文環境了。
* 如果你安裝的是英文界面,在進入桌面後:單擊主選單中的“系統(System) –> 系統管理(Administration) –> 打開 語言支持(language support)”。
* 在“支持的語言”列表中找到“漢語(Chinese)”,在右端打上勾。同時將默認語言修改為“漢語(Chinese)”並勾選“啟用複雜字元輸入支持(Enable support to enter complex characters)”,點擊確定按鈕。
* gNewSense這時會下載並安裝語言包。安裝完畢之後,當你註銷後重新登錄,界面就變成中文的了。
當然你也可以在終端下安裝,gNewSense會為你自動安裝系統中未安裝中文支持程式的中文包。你也可以順便裝上高質量字型,文泉驛點陣宋體,讓你的桌面更漂亮。
$ sudo aptitude install language-pack-gnome-zh-base language-pack-gnome-zh language-pack-zh xfonts-wqy
安裝完後,在系統–>;系統管理–>;字型 里選擇你想要顯示的字型,這樣你的桌面就漂亮了。
安裝SCIM輸入平台及輸入法
gNewSense系統只默認安裝了SCIM輸入平台,輸入法則需要我們來選擇安裝,我用的是五筆scim-tables-zh,如果你用拼音就換成 scim-pinyin。
$ sudo aptitude install im-switch scim scim-gtk2-immodule scim-tables-zh
$ im-switch -s scim -z default
設定好後,別忘記註銷桌面重新登入。或者你啟動一下輸入法:
$ sudo scim -d
你想刪除SCIM,使用Fcitx輸入法:
$ sudo aptitude purge scim
建議你還是保留Scim輸入法,只把當前輸入法設定成了Fcitx為好。
用自己喜歡的編輯器打開一個檔案:
$ sudo gedit /usr/lib/gtk-2.0/2.10.0/immodule-files.d/scim-gtk2-immodule.immodules
找到下面這段:
# automatically generated by dh_gtkmodules,do not edit
“scim” “SCIM Input Method” “scim” “/usr/share/locale” “ja:ko:zh”
把最後的:zh刪除掉,即只剩下”ja:ko”,在中文環境下,不開啟Scim。重新登入系統即可。安裝Fcitx中文輸入法
$ sudo aptitude install im-switch fcitx
$ im-switch -s fcitx -z default
注意:最後一步操作不加sudo。完成設定最好重啟一下X,輸入法就生效了。
多媒體套用環境設定
說句實話,要想使用100%自由軟體,你可能就要放棄一些套用了,比如影音。因為多數影音的編碼都是專有格式。少有自由開放的編碼。如果你只需要聽MP3還好辦,只需要:
$ sudo aptitude install audacious
如果你覺得,現在的網路電影這么多,不能播放多可惜。那你就加入下面的Ubuntu的源:
$ sudo aptitude update && sudo aptitude install medibuntu-keyring && sudo aptitude update
安裝Mplayer及DVD支持、音頻解碼及RealPlayer:
$ sudo aptitude install mplayer mplayer-fonts mplayer-skin libdvdcss2 w32codecs realplayer
這樣,你的電腦就可以播放幾十種格式的影音檔案了。
大功告成,請註銷重新進入桌面!以上對gNewSense系統的基本設定,你已經完成。不過這些設定對於你來說遠遠不夠。你一定還想安裝自己需要的軟體,那就用圖形化安裝程式按需要安裝吧。
圖形化安裝程式
gNewSense的Gnome桌面中還提供了兩種圖形化前端工具,一個是:應用程式->;添加/刪除程式,另一個是:系統->;系統設定->;新立得軟體包管理器。
如果你厭煩了用終端安裝程式,就用這兩種圖形化程式來安裝你需要的軟體吧。
* 添加/刪除程式提供了更多、更詳細的說明,並且有和應用程式選單相對應的軟體分類,和漂亮直觀的圖示顯示。即使你不懂命令也可以輕鬆使用,不用命令你就能添加、刪除程式,非常方便。
* 新立得軟體包管理器不但有軟體包的管理,還提供系統升級的功能。如果你安裝了中文環境支持,你打開之後就會有中文界面,否則只是英文界面。如果在管理器中細心尋找就可以發現寶藏,很多你想要的軟體,不用到網路上去搜尋下載,它就已經在你的安裝源里。並且,它還提供了強大的搜尋功能,你可以搜尋軟體名稱、軟體注釋、軟體介紹關鍵字來想辦法找到需要的軟體。

創建發行版

作為創建gNewSense的一部分,我們導出了Builder工具,允許在Ubuntu Hardy的基礎上創建新的GNU/Linux發行版。通過一個簡單的配置檔案,你就能夠選擇發行版的名稱,版本號,標語以及你想要安裝或者移除默認的軟體包。圖像將會自動生成。雖然這些腳本主要的目的是為了創建gNewSense,但是它還是一個不錯值得利用的工具。需要注意的是你可以不遵循下面的步驟使用gNewSense,因為你可以從網站的鏡像下載到相關的鏡像檔案
你需要至少60GB的硬碟空間,最好有一個非常快的網路連線(因為你將要下載40GB的數據)。同時你的鏡像點(也可以在同一個系統中)也需要 40GB左右的空間。如果你會利用硬連結,就能夠避免一些重複的下載。這一些操作都將在Ubuntu Hardy(或者更高版本的)系統執行。所有的命令都必須運行在Root許可權下。
如果你有什麼問題,可以發到我們的IRC中。Builder這個工具還只是測試版軟體,我已經很久沒有從源碼重新編譯過該工具,因為有些代碼已經修改過了。第一步:GPG Key
圖形化添加/刪除程式圖形化添加/刪除程式
軟體庫中很多最近版本的apt,需要經過GPG簽名的版本檔案,這樣可以保證發行版的集成度,所以我們的第一步就是創建一個GPG Key。
gpg --gen-key
這個命令就可以讓你做到這些。確保Key只有一個空白的密碼。把這個Key的指紋信息記錄下來,因為之後你將在配置檔案中用到它。
第二步: Deb鏡像(可選的)
為了避免重複下載檔案,我建議創建一個Ubuntu main和universe軟體庫的鏡像點。這樣的話大概需要40GB的空間。
--ignore-release-gpg --root=ubuntu /the/target/directory
你也可以建一個Apache伺服器,這樣你就能通過HTTP看到這個鏡像點。這個步驟是可選的,但是我強烈推薦大家製作一個本地的Ubuntu鏡像點。
第三步: 軟體包
你需要安裝一些軟體包,使得Builder運行順暢。
apt-get install reprepro debmirror build-essential apache2 subversion cdebootstrap debootstrap imagemagick
cd builder
如果這裡面還缺少某些軟體包,請告知我。
第四步: 配置
用文本編輯器,打開配置檔案。你主要關心的設定有MIRROR,RELEASE,DISTRONAME,DOMAIN,BASEDIR,和REPOAPT。如果還有其它的定製要求可以修改配置檔案的其它設定部分。
MIRROR 指的是你在第二步中創建的鏡像點,或者Ubuntu鏡像點,它應該包含安全的軟體包。
MIRRORDIST 指的是鏡像點的發行版本,通常是“Ubuntu“
DISTRONAME 指的是你的發行版名稱,只能包含字母和數字。
BASE_RELEASE 指的是你的版本號。版本號應該是小寫的,因為它將在路徑出現。
TAGLINE 出現在開機啟動和登錄的螢幕中。
SIGNINGKEY 指的是第一步中你設定的GPG Key,不能包含任何空格。
BASEDIR 指的是放置軟體庫、livecd、臨時檔案的目錄名稱,REPODST 指的是當前檔案系統下建立的鏡像點位置($BASEDIR/發行版名稱的小寫形式)。
REPOAPT 指的是編譯腳本放置的路徑,用來下載軟體包。我們假定在archive.DOMAIN和security.DOMAIN以及subdomains處都是類Ubuntu的安裝方式。
RSYNC_DEST 指的是可以通過push-repo 或者push-cd來同步的軟體庫和livecd的位置。
LOGO_LETTER 指的是標誌中的字母。
META_*_{ADD,REMOVE} 在你的默認的軟體包建立之後,用來管理哪些軟體包你想增加或者想把它從Ubuntu默認的軟體包移除。
*_VERSION 指的是給軟體包版本添加的號碼。每次你要重編譯一個軟體包的時候,你需要增加這些。多半都是從1開始計。
第五步: 構造軟體庫
./gen-repo && ./do-update
這一步需要一些時間。當這個命令運行的時候,軟體庫有可能會不一致。這就是為何在第七步中你只需要將改動放到鏡像點中。每次有新的版本(例如安全庫更新了)重新執行 do-update命令就可以了(如果需要的話,也只可以執行debmirror)。
如果你在64位的核心上運行32位的用戶程式,安裝linux32軟體包,然後執行命令
./gen-repo && linux32 ./do-update
第六步: 創建LiveCD
./gen-livecd
創建好的鏡像檔案將放在 $LⅣECDDIR/$DISTRONAME_L-livecd-$LⅣECD_VERSION.iso
./gen-cdsource
./stage-cd
這兩個命令將創建一個源碼包,並把這個ISO放置在 $REPODST/cdimage
第七步:把你的軟體庫放到鏡像點並公開
現在可以在你的鏡像點公開你的軟體庫(dists和pool)地址和LiveCD,將你的新發行版向世界公開。
./push-repo
./push-cd
? Brian Brazil 2006
Minor edits by Karl Goetz

相關詞條

熱門詞條

聯絡我們