[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 下一頁 ]

Debian GNU/Linux 3.0 (`woody'), Alpha 發行情報
第 3 章 - 從先前的發行升級系統


3.1 系統改變的細節

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

我們需要這項資訊,以及其他任何和各平台移植相關的細節。

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


3.1.1 名稱改變的套件

以下套件的名稱已經如所示的改變了。在大部分(即使不是全部)的情況下,開發人員都已經提供了適當的 Conflicts:、Replaces:、和 Provides: 欄位,使得新的套件能夠自動地被安裝好,並且(或)安全地取代並移除舊的套件。這也包含了被合併到其他套件中的套件,因為最後的結果和重新名命是相同的。

     
               gimp -> gimp1.2 (只限於 GIMP1.2 版)
               dict-web1913 -> dictgcide
               amcl -> gnome-mud
               rstart -> xutils
               rstartd -> xutils
               xbookss -> xspecs
               xfonts-cjk -> xfonts-base
               xcontrib -> xbase-clients
               xlib6g-static -> xlibs-dev
               listar -> ecartis
               cln -> libcln2
               cln-dev -> libcln-dev
               pgp-i, pgp-us -> pgp
               cvs-doc -> cvs
               acm -> acm4
               user-ja -> language-env
               expect5.31, expect5.24 -> expect
               sgml-tools -> linuxdoc-tools
               sgmltools-2 -> sgmltools-lite
               bonnie -> bonnie++
               c2ps -> a2ps
               camlp4 -> ocaml
               corel-util -> nwutil
               crossfire-sounds -> crossfire-client-sounds
               cslatex, csplain, cstexfonts -> tetex
               cspsfonts -> tetex-extra
               custom-mule -> mule2-support
               docbook2x, cygnus-stylesheets -> docbook-utils
               db -> db2
               dgs -> xfree86
               docbook-stylesheets -> docbook-dsssl
               genius, drgeo -> drgenius
               egcs1.0 -> egcs1.1
               emacs19 -> emacs20
               f77reorder -> g77
               flim1.13 -> flim
               gdict -> gnome-utils
               libgmp2, gmp, gmp1 -> libgmp3
               gnome-users-guide-en -> gnome-user-docs
               gnomehack -> nethack
               gpasm -> gputils
               gsl-ref-pdf -> gsl-ref-ps
               gstep-core -> gnustep-core
               gstep-extensions -> gnustep-extensions
               gstep-guile -> gnustep-guile
               gzilla -> dillo
               hanterm -> hanterm-xf
               imap -> uw-imap
               iplogger -> ippl
               jgroff -> groff
               lib-sax-java, lib-xp-java, lib-xt-java -> xalan2, libxt-java
               libansicolor-perl -> perl
               libape -> libcommonc++
               libgc4 -> libgc6
               libgcj -> libgcj2
               libid3 -> id3lib
               libmalaga1 -> malaga
               libmpeg-mp3info-perl -> libmp3-info-perl
               libpth -> pth
               libv1.22 -> libv1.25
               listar -> ecartis
               lvm -> lvm10
               mdutils -> raidtools2
               mutt-ja -> mutt
               myodbc2.50.26 -> libmyodbc
               oldncurses, ncurses3.4, ncurses4.2 -> ncurses (5.2)
               nfs-server -> nfs-user-server
               palm-doctoolkit -> pyrite-publisher
               pbm2ppa -> pnm2ppa
               pcre, pcre2 -> pcre3
               puzzle -> tree-puzzle
               rt -> root-tail
               selfhtml -> chaos, t-gnus
               sgmlspm -> libsgmls-perl
               synaptics -> tpconfig
               tknamazu -> namazu2
               typist -> gtypist
               umich-ldap -> openldap
               wanderlust2 -> wl-beta
               wdsetup -> nictools-nopci
               wnn6-dev -> wnn6-sdk
               wxftp -> axyftp
               xacc -> gnucash
               xjscal -> libjsw
               zope-siteaccess -> zope

雖然我們盡全力加入所有相關的資訊,但還是有被更名或合併的套件沒有被包含在這份列表之中。


3.1.2 被分割的套件

在 2.2 (`potato') 和 3.0 (`woody') 版的發行之間,有些套件已經被分割成兩個以上的套件了。一般而言,套件會被分割的原因是它提供了許多不同的功能,而只有極少數的使用者會用到所有的功能。有些套件會在安裝時顯示關於套件分割的警告訊息,有些會在套件的說明文件中加入相關的訊息,而有些則沒有提供任何說明。

如果您發現一個您熟悉的套件缺少了它部分或全部的功能,請檢查以下的列表,以決定您是否需要安裝額外的套件來取得原先所有的功能。如果還是找不到相關資訊的話,請檢視在 /usr/share/doc/package/changelog.Debian.gz 中的套件改版記錄。

以下是已經被分割的套件列表(這份列表可能並不完全):

              
                 isdnutils -> ipppd, isdnlog, isdnutils-doc, isdnutils-xtools,
                 isdnvboxserver, isdnvboxclient
              
                 xpdf -> xpdf-reader, xpdf-utils, xpdf-chinese-simplified,
                 xpdf-chinese-traditional, xpdf-cyrillic, xpdf-japanese,
                 xpdf-korean,xpdf-thai
                 
                 cupsys -> cupsys (CUPS daemon), cupsys-client (CUPS client),
                 cupsys-pstoraster (postscript rasterizer)
                 
                 groff -> groff-base, groff, groff-x11
                 
                 xspectemu -> spectemu-common, spectemu-svga, spectemu-x11
                 
                 ecpg ->  libecpg3 (library), postgresql-dev (development
                 files)
                 
                 postgresql-pl -> libpgperl, libpgtcl
                 
                 netbase -> netbase, portmap, ifupdown, ipautofw, ipchains,
                 ipfwadm, ipmasqadm, iputils, net-tools, netkit-base
                 
                 uqwk -> uqwk, uqwk-spool
                 
                 tetex-bin -> tetex-bin, texi2html
                 
                 xproxy -> lbxproxy, proxymngr, xfwp
                 
                 xlib6g -> xlibs, libxaw6
                 
                 xlib6g-dev -> libxaw6-dev, xlibs-dev  
                 
                 xbase-clients, xlib6g-dev, xcontrib -> xutils
     
                 xconq -> xconq, xconq-common
                 
                 python-imaging-doc -> python-imaging-doc,
                 python-imaging-doc-html, python-imaging-doc-pdf
                 
                 gnumeric -> gnumeric, gnumeric-doc, gnumeric-python
                 
                 latex2rtf -> latex2rtf, latex2rtf-doc
                 
                 glade -> glade, glade-gnome, glade-gnome-db, glade-common,
                 glade-doc
                 
                 apmd -> apmd, xapm, libapm1, libapm-dev, powermgmt-base
     
                 uudeview -> uudeview, xdeview, libuu-dev
                 
                 sysklogd -> sysklogd, klogd 
                 
                 xtide -> xtide, xtide-data
                 
                 snack -> libsnack2, libsnack2-dev, libsnack2-doc
                 
                 gnapster -> gnapster, gnapster-gtk
                 
                 proftpd -> proftpd, proftpd-common, proftpd-doc, proftpd-ldap,
                 proftpd-mysql, proftpd-pgsql
                 
                 alsaplayer -> alsaplayer-common, alsaplayer-gtk,
                 alsaplayer-nas, alsaplayer-text, libalsaplayer-dev,
                 libalsaplayer0

3.1.3 程式語法的重大改變

Debian 的原則是儘量避免修改原作者發行的套件,因此在原作者發行套件中的改變也會反應在 Debian GNU/Linux 之中。

在 Debian GNU/Linux 2.2 'Potato' 發行中 tar 是使用

     -I

參數來代表 bzip 壓縮,而現在您則必需改用

     -j

參數。您可能也需要依同樣的方法改變腳本程式的內容。


3.2 準備系統升級

在對您的系統進行升級之前,我們強烈建議您做一次完整的備份,至少您也應該把不可或缺的資料和設定資訊給備份起來。升級所用的工具和過程都是十分可靠的,但在升級過程中發生的硬體錯誤會使得您的系統停留在嚴重受損的狀態之中。

您會想要備份的內容包括 /etc 目錄和 /var/lib/dpkg 目錄中的內容,以及 dpkg --get-selections \* 所輸出的資訊。

您應該在進行任何升級之前先把您的計畫告知使用者,不過至少利用 ssh 從遠端存取系統的使用者在升級過程中可能不會發現任何異狀,而會希望持續進行他們的工作。如果您要採取額外的預防措施的話,請在升級前備份或卸載使用者的分割區 (/home)。您在升級前後通常並不需要重新開機。

您應該在本地端透過文字模式的虛擬終端機(或直接連線的序列終端機)或從遠端透過 ssh 連線進行發行升級的動作。

重要:您應該透過 telnetrloginrsh、或是由您所要升級的系統上的 xdm 管理的 X 行程進行升級。這是因為這些服務在升級的過程中都可能會中斷,而留下一個只完成了部分升級而無法存取的系統。


3.2.1 檢查套件的狀態

不論您是用什麼方式進行系統的更新,我們都建議您先檢查所有套件的狀態,並確認所有的套件都能夠被順利更新。以下的指示會顯示所有狀態是半安裝 (Half-Installed) 或設定失敗 (Failed-Config) 或有其他任何錯誤的套件。

             
                 # dpkg --audit

除此之外,檢查系統中所有套件的方法還包括使用 dselect 或利用以下的指令:

              
                 # dpkg -l | pager

或是

              
                 # dpkg --get-selections > ~/curr-pkgs.txt

在理想的狀況中,您應該在進行系統升級前移除所有的保留 (hold) 旗標。如果有任何應該升級的關鍵套件被設定為保留狀態,升級的動作就會失敗。您可以用以下的指令找出被設定為保留狀態的套件:

              
                 # dpkg --audit

如果您自行在系統中編譯了改變過的套件,而沒有把它更名或在版本號碼中使用 epoch,那您就必須把它設定為保留狀態,以防止它被升級到新的版本。您可以用 dselect 來改變套件的保留狀態(在套件選單中使用 `H' 和 `G' 分別設定和解除套件的保留狀態),或是在

             
                 dpkg --get-selections > ~/curr-sels.txt

指令產生的檔案之中把 "hold" 改成 "install"(反之亦然),然後以 root 的權限執行

              
                dpkg --set-selections < ~/curr-sels.txt

3.2.2 SSH 使用者的特別注意事項

2.2 版以前的發行在 ssh 套件中,或 2.2 版發行在 ssh-nonfree 套件中的商用版 SSH 在這次的發行中已經被符合 DFSG 自由定義的 ssh 套件 (OpenSSH) 所取代了。我們已經不提供商用的 SSH 實作了,而現在 ssh-nonfree 只是一個會安裝 OpenSSH ssh 套件的假套件。ssh 套件中會透過 Debconf 詢問您是否要重新產生和 OpenSSH 相容的設定檔。

請注意這一次發行中的 ssh 套件預設是允許 root 登入的(在 2.2 中預設是關閉這項功能)。如果您不需要這項從遠端存取您的系統的功能,為了安全上的理由,您應該在升級後確認在 /etc/ssh/sshd_config 中的 PermitRootLogin 選項是設成 no。您只要自行修改這個檔案的內容,就可以防止 dpkg 自動依照新的預設值來修該它的內容。通常您只需要加上一個空白行就足以達成這個目的了。


3.2.3 可能需要特別注意的目錄

您應該確定 /etc/rcS.d 目錄在升級前就已經存在;不然在安裝 libc6 套件時會發生錯誤。

如果 /usr/share/doc 目錄已經存在的話,它一定不能是個(指向 /usr/doc 的)符號連結,不然會使某些套件發生問題。然而,系統允許您把 /usr/doc 連結到 /usr/share/doc 目錄去。如果您使用了這樣的符號連結,您就會看到許多關於無法移除/usr/doc 目錄的訊息。這是完全正常的,所以您可以直接忽略這些訊息。


3.3 準備 APT 的來源設定

我們建議的升級方式是直接依以下的指示使用 apt-get。APT 的內建相依性分析能力使得升級安裝的動作變得平順而簡單。

應該在 dselect 中使用除了 apt 之外的任何方法來進行主要的套件升級,因為其他的方法不像 apt 一樣能在安裝時自動計算套件在邏輯上的先後順序,因此會比較不那麼可靠。除此之外,這些方法並沒有經過詳細的測試,而也不被 Debian 所支援。

任何套件安裝的動作都需要有系統管理者的權限才能進行,所以您必須以 root 登入,或使用 susudo 來取得所需的權限。

在開始進行升級前,您必須先設定 apt 的套件列表設定檔 /etc/apt/sources.list

apt 會把所有可以在 "deb" 行中能找到的套件列入考慮,並安裝其中版本號碼最高的套件,並優先從前面列出的來源取得套件(因此當您在許多不同位置都有套件可供使用時,您可以讓系統依本地端硬碟、光碟片、遠端 HTTP/FTP 的順序取得套件)。


3.3.1 加入網際網路上的 APT 套件來源

雖然系統的預設設定是由 Debian 在網際網路上的主要伺服器進行安裝,您還是可能會希望修改 /etc/apt/sources.list 以改用網路距離離您最近的映射網站。

您也可以在 http://www.debian.org/distrib/ftplist 找到 Debian 的 HTTP 或 FTP 映射網站的位址(請參考 "Full list of mirrors" 小節)。HTTP 映射網站的傳輸速度通常會比 FTP 映網站快。

舉例來說,假設離您最近的 Debian 映射網站是 http://mirrors.kernel.org/debian/。當您透過網路瀏覽器或 FTP 程式來檢視這個網站時,您會發現其中的主要目錄大致上是安排成這個樣子的:

                
                  http://mirrors.kernel.org/debian/dists/woody/main/binary-alpha/...
                  http://mirrors.kernel.org/debian/dists/woody/contrib/binary-alpha/...

要讓 apt 使用這個映射網站,請把以下的這一行加入您的 sources.list 檔案之中:

                
                  deb http://mirrors.kernel.org/debian woody main contrib

請注意 `dists' 是會被自動加到路徑中的,而在發佈名稱後的參數則會被用來展開成多個不同目錄的路徑。

在您加入了新的 APT 來源之後,請在 sources.list 中原有的 "deb" 設定行前加入井字符號 (#) 以關閉這些套件來源。

所有從網路上下載安裝的套件都會被存放在 /var/cache/apt/archives 目錄中(而下載中的檔案則會被存在 partial/ 子目錄中),所以在嘗試開始安裝前請確保您有足夠的磁碟空間。對一個裝有相當套件的 Debian 系統來說,下載的資料量應該會超過 300 MB。

注意:如果您使用的是靜態連結的 aptdpkg 套件,您將無法使用主機和網域名稱查詢的功能(這也就是為什麼透過網路升級時應該要使用一般的 apt 的原因)。這個問題的解決方法是直接在 "deb" 行中填入映射網站的 IP 位址。(提示:您可以使用 nslookup some-server


3.3.2 增加本地端映射的 APT 套件來源

您可能也會想修改 /etc/apt/sources.list 中的設定,以使用本地端(包括透過 NFS 掛載的)磁碟上的映射資料來取代透過 HTTP 或 FTP 存取遠端的套件映射網站。

舉例來說,如果您的套件映射是放在 /var/ftp/debian/ 之下,而主要的目錄看起來是像這樣的話:

                
                  /var/ftp/debian/dists/woody/main/binary-alpha/...
                  /var/ftp/debian/dists/woody/contrib/binary-alpha/...

您如果要讓 apt 使用這個本機上的映射,請把以下的設定行加入 sources.list 檔案之中:

                  deb file:/var/ftp/debian woody main contrib

請注意 `dists' 是會被自動加到路徑中的,而在發佈名稱後的參數則會被用來展開成多個不同目錄的路徑。

在您加入了新的 APT 來源之後,請在 sources.list 中原有的 "deb" 設定行前加入井字符號 (#) 以關閉這些套件來源。


3.3.3 增加 CD-ROM 光碟的 APT 套件來源

請參考以上的說明,以決定您是否需要依以上的步驟安裝新版本的 aptdpkg 套件。

如果您只要使用光碟,請在 sources.list 中原有的 "deb" 設定行前加入井字符號 (#) 以關閉這些套件來源。

請確定在 /etc/fstab 中有一行能讓您的光碟機掛載在 /cdrom 下的設定(apt-cdrom 要求掛載點一定要是 /cdrom)。舉例來說,如果您的光碟機是 /dev/hdc,那麼 /etc/fstab 中就應該要有像這樣的一行設定:

     
                  /dev/hdc /cdrom auto defaults,noauto,ro 0 0

請注意在第四欄的 defaults,noauto,ro 的字中間一定不能有空白字元

要確認您的設定是否正確,請把光碟片插入光碟機中,並試著執行

      
                 mount /cdrom (這會把光碟掛在掛載點下)
                 ls -alF /cdrom (這會顯示光碟的根目錄的內容)
                 umount /cdrom (這會卸載光碟)

接下來對每一張 Debian 的程式光碟執行

                 apt-cdrom add

以把每一張光碟的資料加到 APT 的資料庫中。


3.4 進行升級

不要忘了用類似以下的指令把所有的分割區(特別是 /usr 和根分割區)重新以可讀寫的模式掛載:

                 mount -o remount,rw /mountpoint

假設您已經依以上的說明把 aptsources.list 給設定好了,接下來請以 root 的權限執行:

                 apt-get update

這會把套件綜觀檔案和它的來源進行同步化的動作,同時更新系統中關於新增和新版套件的資訊。

我們強烈建議您使用 /usr/bin/script 程式來記錄升級的完整過程。如果發生了任何問題,您就有了所發生問題的確實記錄,如果有必要的話,也能在錯誤報告中提供確實的資訊。要開始記錄的工作,請使用

                 script -a ~/upgrade-to-woody.typescript

或類似的指令。請不要把記錄檔放在像是 /tmp/var/tmp 之類的暫存目錄下(這些目錄中的檔案可能會在升級途中或重新開機時遭到清除)。

在您開始進行主要的升級之前,您應該先升級 apt、dpkg、和 debconf 這三個套件。APT 從上一次發行到現在已經有了許多的改進。Debconf 則是一個被新近的套件廣泛使用的重要工具。

                 apt-get install dpkg apt debconf

這會把其餘的安裝步驟所需的最新版 dpkgapt、和 debconf 安裝到系統之中。它同時也會把一些必須的系統函式庫升級到最新的版本。

當 debconf 詢問它所要詢問的問題種類時,請不要選擇 'critical' 選項,因為那會使您錯失許多重要的問題。

有些人會喜歡用以下的指令先排練升級的過程

                 apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager

雖然這會花上不少的時間,但它可以避免在真正的升級過程中遭遇不在預期中的問題。它會告訴您系統出了什麼問題(以及解決的方式),或者是,在大多數的情況下,告訴您在升級過程中所會完成的工作。請注意所有會被“移除 (REMOVED)”的套件,其中不應該包含任何重要的套件。

在您確定了 apt-get 應該沒有問題後,執行女7

                 apt-get --fix-broken --show-upgraded dist-upgrade

這會對您的系統進行完整的更新,也就是安裝所有套件所提供最新版本,並解決在不同發行版本之間的套件可能會有的相依性問題。如果有需要的話,它也會安裝一些新的套件(通常是新版的函式庫或是被更名的套件),並移除任何和新版套件發生衝突的過時套件。

如果您是從光碟集進行升級的話,系統將會在升級進行時要求您更換某張特定的光碟片。您可能會需要反覆插入同一張光碟數次;這個由於相關的套件被分散在多張光碟之中所造成的。

如果更新某些已安裝的套件會改變其他套件的安裝狀態的話,這些套件就會被保留在原來的狀態(並顯示為 "held back")。因此,您可能需要使用 dpkgdselect 來移除或重新安裝一些損壞的套件或相依關係。除此之外,您也可以在 apt-get -f dist-upgrade 後輸入 apt-get dselect-upgrade 指令(請參考 apt-get(8) 的手冊文件)。

--fix-broken(或只是 -f)選項會使得 apt 嘗試就地修正系統中錯誤的相依關係。apt 不允許系統中有任何相依關係的錯誤。


3.4.1 在升級中或升級後可能發生的問題

有時候您會需要開啟 APT::Force-LoopBreak 選項讓 APT 暫時移除一個重要的套件,以解決循環的 Conflicts/Pre-Depends 關係。apt-get 會對此提出警告,並終止升級的過程。您可以靠著在 apt-get 的指令行加入 -o APT::Force-LoopBreak=1 來解除這個問題。

系統中的相依關係也可能混亂到需要人工介入才得以解決。通常這代表您需要使用 dselect

               
                 dpkg --remove packagename

來清除一些會造成問題的套件,或

     
                 apt-get --fix-broken --show-upgraded install
                 dpkg --configure --pending

在極端的情況下,您可能需要利用以下的指令來進行強制重新安裝的動作

     
                 dpkg --install /path/to/packagename.deb

在問題都修正了之後,您就應該可以重新輸入先前所描述的 dist-upgrade 指令以繼續升級的工作。

在升級的過程中,系統可能會詢問您一些問題,以對套件做設定或重新設定的工作。當您被問到是否要把在 /etc/init.d/etc/terminfo 目錄中的檔案或 /etc/manpath.config 置換成套件維護者所提供的版本時,您通常必須回答 `yes' 以維護系統的一致性。您可以稍後再選擇復原舊的設定檔,因為它們都會以在檔名後附加 .dpkg-old 的方式被保存起來。

如果您不太確定要怎麼做的話,把套件或檔案的名稱寫下來,等到有時間的時候再慢慢瞭解實際的狀況。您可以在記錄檔中搜尋在系統升級時出現在螢幕上的資訊。


3.4.2 再下一次重新開機前應該完成的工作

apt-get dist-upgrade 執行完畢後,“形式上的”系統升級就已經完成了,但仍然有一些工作是在您下次重新啟動系統之前應該要完成的。

最重要的是,您可能需要安裝 localesutil-linux 套件。您可以靠著以下的指令完成這項工作:

                 apt-get install locales util-linux

如果您是從 Debian 2.0 或更早以前的發行升級上來的,這將會移除 getty 套件,因為 getty 套件現在已經是 util-linux 套件的一部分了。

有些同樣也需要安裝的套件可能沒有被 apt-get 察覺,因為 apt-get 不會自動選擇不是其他套件所需要(例如被列在 Recommends: 及 Suggests: 欄位中)的套件。您可以輕易地用dselect 或其他視覺化的前端介面程式來找到這些套件。在 dselect 的 [A]ccess 畫面中選擇 `apt' 方法(如果您還沒有這麼做的話)並利用 [U]pdate 更新資料庫中的套件資訊。然後,在 [S]elect 畫面中,按下 `o',`o',`v' 和 Shift-d 然後尋找

               
                 --- Obsolete and local packages present on system ---

這樣的標頭。在這一節中您就會看到所有這樣的套件。舉例來說,舊的 gimp 套件已經被 gimp1.2 所取代了。您可以透過 dselect 安裝新的套件(這會顯示一個 ``dependency conflict resolution'' 畫面,指出您應該移除舊版的套件),或使用

      
                 apt-get install gimp1.2

這會立刻移除舊版的套件(您可能需要確認這個動作)。

另一個連在 dselect 中都不會顯示出來的例子,是 telnet 和 talk 的伺服器和客戶端程式,以及 NFS 伺服器,因為它們都是從原本的 netstd 套件中分割出來的。您可以用類似以下的指令安裝這些套件:

                 apt-get install telnet telnetd talk talkd nfs-server

manpages 中分割出來的 manpages-dev 套件的狀況也十分相似。

請參考 Debian GNU/Linux 前一個發行版本的發行情報以取得在那次發行中被分割的套件資訊;然後再回來閱讀 名稱改變的套件, 第 3.1.1 節被分割的套件, 第 3.1.2 節 以瞭解有哪些套件在這一次的發行中被分割了。

請注意以上的程序並不會更新您的系統核心。您可能會想自己透過安裝 kernel-image-* 其中之一的套件,或從原始碼編譯一個新的系統核心來進行更新的動作。

Debian GNU/Linux 中所附的是比較老舊的 2.2 系列穩定系統核心 2.2.20。您可能會因為更廣泛的系統支援或更好的執行效能而希望改用 2.4 系列的系統核心。從第三張光碟開機會自動改用 2.4 系列的核心,您也可以直接安裝已經編譯好的核心套件。

                apt-get install kernel-image-2.4.18-{386,586tsc,686}

對於那些比較富有冒險心的人,我們也提供了一個在 Debian GNU/Linux 編譯自製核心的簡易方法。請安裝 kernel-package 並詳細閱讀在 /usr/share/doc/kernel-package 中的說明文件。

請盡情享受您新的 Debian GNU/Linux 3.0 系統! :-)


[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 下一頁 ]

Debian GNU/Linux 3.0 (`woody'), Alpha 發行情報

$Id: release-notes.zh_TW.sgml,v 1.1 2003/01/04 00:37:57 joy Exp $

Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer, Rob Bradford
debian-doc@lists.debian.org