一個RPM的軟件包描述文件,可以僅生成一個父包或一個子包,也可以生成一個父包和多個子包。通過設定子包選項,可以使生成的子包采用"軟件名-子包名" 的標准命名,也可使生成的子包采用自己的名字。一個子包,通常是按照其包含的文件的用途或類型來歸並文件進而打成包裹的。象前面的LZE描述文件很簡單, 它將所有文件都包含進了父包中。我們也可以將文件分類作成子軟件包,如可分成執行程序子包(lze-bin),配置文件子包(lze-config)和說明文檔包(lze-doc)。我們還可以只分出一個配置文件子包(lze-config),其余文件均打入父包中(lze)。通過這樣詳細地分類,有助於用戶管理軟件包,避免安裝多余的東西,同時也有助於升級。
要想創建子軟件包,必須描述以下內容:
1. %package :
用此段創建一個子包。其名字由子包選項控制。子包選項為"[-n] 子包名",不選-n時,生成的子包文件為"軟件名-子包名-版本號-釋出號.體系.rpm";選-n時,生成的子包文件為"子包名-版本號-釋出號.體系.rpm"。其應用格式為:
%package 子包選項
2. Summary
此域必須在%package下面,它定義子包功能簡介(一句話說明)。格式為:
Summary : 子包簡介
3. Group
此域必須在%package下面,其定義子包所屬軟件類別(軟件類別請參見<<精通RPM之五--查詢篇>>)。格式為:
Group : 軟件類別
4. %description :
此描述段的內容是較為詳細的子包功能介紹,介紹為文本形式,格式不作要求,可任意換行或分段。格式為:
%description 子包選項
...介紹子包功能的內容...
5. %files :
此文件段的內容是子包所要包含的文件列表。文件列表中,一個文件占用一行,還可使用多種文件修飾符。(詳見<<精通RPM之七--制作篇(上)>>)
段名應用格式為:
%files 子包選項 [-f 文件名]
注意: 上述%description與%files段所用的子包選項形式,必須與%package所用的子包選項形式一致,否則的話,它們定義的不是同一個子包,RPM檢查時將報錯退出。如定義過%package name後,描述段名須用%description name,文件段名須用%files name方可。而用%description -n name則不行,%files -n name也不行。
子軟件包也可使用%pre,%post,%preun,%postun,%triggerin,%triggerun和%triggerpostun等七個可選的功能段,因為它們都可使用子包選項。當使用子包選項時,它們的段內容就是用來管理子軟件包的腳本程序。要注意的是,這些段使用的子包選項形式也必須與%package段使用的子包選項形式一致。
條件語句的使用
在軟件包描述文件中,可以靈活地使用條件語句,位置不限制。這些語句,用於當前體系與操作系統的判斷,當條件為真或為假時,RPM均會引用其相應的描述內容。
條件語句有兩種格式:
1. {%ifarch,%ifnarch,%ifos,%ifnos} 值1 [值2] ...
描述內容
%endif
注: {}所括內容必選其中之一,[]所括為可選項,各個值之間以空格分隔,%endif表示條件語句結束。
此語句的含義是:
1) 使用%ifarch時,表示如果當前體系為值1或值2...,則引用描述內容。
2) 使用%ifnarch時,表示如果當前體系不為值1或值2...,則引用描述內容。
3) 使用%ifos時,表示如果當前操作系統為值1或值2...,則引用描述內容。
4) 使用%ifnos時,表示如果當前操作系統不為值1或值2...,則引用描述內容。
如果想在LZE包描述文件的文件段增加只適用於sparc體系的文件/etc/sparc.lze和 /etc/sparc.ime,則可在文件段內加入如下語句:
%ifarch sparc
/etc/sparc.lze
/etc/sparc.ime
%endif
這樣做以後,如果當前體系為sparc,則RPM在打包時會加入這兩個文件。
2. {%ifarch,%ifnarch,%ifos,%ifnos} 值1 [值2] ...
描述內容1
%else
描述內容2
%endif
注: {}所括內容必選其中之一,[]所括為可選項,各個值之間以空格分隔,%else表示另外一種情況,%endif表示條件語句結束。
此語句的含義是:
1) 使用%ifarch時,表示如果當前體系為值1或值2...,則引用描述內容1,否則引用描述 內容2。
2) 使用%ifnarch時,表示如果當前體系不為值1或值2...,則引用描述內容1,否則引用描述內容2。
3) 使用%ifos時,表示如果當前操作系統為值1或值2...,則引用描述內容1,否則引用描述內容2。
4) 使用%ifnos時,表示如果當前操作系統不為值1或值2...,則引用描述內容1,否則引用描述內容2。
如果想根據當前操作系統來確定LZE包的名字,則可在描述文件頭使用如下語句定義Name域:
%ifos Linux
Name : lzeforlinux
%else
%ifos aix
Name : lzeforaix
%else
Name : lzeforothersys
%endif
%endif
本例中使用了嵌套的條件語句,它說明的情況是:如果操作系統為linux,則軟件名定為lzeforlinux,如果操作系統為aix,則軟件名定為lzeforaix,如果不是上述兩個操作系統,則將軟件名定為lzeforothersys。
如何在描述文件中使用宏(macros)
1. 宏是什麼?
學過C語言的人都知道,宏是用來實現文本替換的,即定義了宏名與宏體後,文件中所有有宏名的地方在預處理時將被宏體替換掉。使用宏可以減少文字的錄入量,方便了編程人員。在軟件包描述文件中使用宏,也是基於這個目的,只不過這個宏與C語言的宏定義格式不同而已。
2. 宏的定義
描述文件中宏的定義格式為:
%define [(opts)]
注: []所括為可選項。為宏名,宏名可用字母,數字和下劃線(_),並且其長度最小為3。opts為一個或多個選項,各選項之間無分隔,選項采用getopt函數要求的形式,即選項為單個字符,如果某個選項需要參數,則需要在這個選項後加個冒號(:)。為宏體,它周圍的空字符將被刪掉。宏體的內容須在一行上。
如沒有選項的宏定義:
%define aaa "This is my software"
如僅有一個選項的宏定義:
%define xxx(p:Z) echo %{-p:%{-p*}} %{-Z}
3. 宏的使用
宏的使用格式為:
% [opt1] [opt2]... [arg1] [arg2]...
或
%{} [opt1] [opt2]... [arg1] [arg2]...
注: []所括為可選項;為所應用的宏名,宏名可以用{}括住;opt1,opt2...為選項,均須以減號(-)開頭,並且如果選項需要參數,則必須提供一個選項參數;arg1,arg2...則為宏的參數。
如上面定義的xxx宏,可這樣使用:
%xxx -p zhsoft hello world<
br>
例子中,xxx宏使用一個選項-p,zhsoft為-p選項的參數,還有兩個宏的參數hello和world。
注意: 宏使用時最好多換一行(即宏下面空一行),因為宏在擴展後並不換行,這樣如果不多換行,則下面一行若有內容的話,宏擴展後的內容將和下面一行的內容合並在一起,極容易出現錯誤。這也是筆者發現RPM宏的問題之一。還有一個問題,如果注釋行上存在宏,則這個宏也將擴展,錯矣!因為注釋本來就是要忽略掉的,有宏也不必再擴展了。這兩個問題都需要引起RPM開發者的注意,並切實加以解決。
4. 宏體專用的宏
宏體中可使用如下專用的宏:(類似SHELL形式的宏)
1) %0 : 表示所在宏的宏名;
2) %* : 表示宏的所有參數;
3) %# : 表示宏的參數個數;
4) %{-f} : 表示如果宏使用了-f選項,則它表示-f及其選項參數;
5) %{-f*} : 表示如果宏使用了-f選項,則它表示-f所帶的參數;
6) %{-f:X} : 表示如果宏使用了-f選項,則它表示X;
7) %{!-f:Y} : 表示如果宏沒有使用-f選項,則它表示Y;
8) %1,%2,... : 表示宏的參數1,參數2...
如,上例中xxx宏執行時,若宏體中有上述專用的宏,則專用宏將會擴展為:
1) %0擴展為xxx;
2) %*擴展為hello world;
3) %#擴展為2;
4) %{-p}擴展為-p zhsoft;
5) %{-p*}擴展為zhsoft;
6) %{-p:good}擴展為good;
7) %{!-Z:bad}擴展為bad; (因為xxx宏未使用-Z選項)
8) %1為hello,%2為world,沒有其它參數。
5. 系統內置的宏
系統內置的宏可分如下三類:
5.1 定義類
1) %define ... : 定義一個宏;(原來,%define也是一個宏啊)
2) %undefine ... : 取消一個宏;(宏取消後,此語句下面的描述文件就不能再使用這個宏了,即使使用,該宏也不會被擴展了)
5.2 調試類
1) %trace : 打印宏擴展前後的調試信息;
2) %dump : 打印活動的宏(宏名及宏體);
3) %{echo:...} : 打印...到標准錯誤設備;
4) %{warn:...} : 打印...到標准錯誤設備;
5) %{error:...} : 打印...到標准錯誤設備,並且返回BADSPEC值;
5.3 特殊類
這類宏的默認值通常放在/usr/lib/rpm/macros文件中,用戶通過編輯自己主目錄(HOME)下的.rpmmacros文件(~/.rpmmacros),可重定義這類宏,改變其默認值,以供RPM在軟件包制作,安裝及查詢時使用自己的定義。
這類宏的定義格式為:
%
注: 為宏名,為宏體。
1) %packager,%vendor,%distribution :
這三個宏用於定義描述文件中Packager,Vendor,Distribution三個可選域的默認的域值,即如果這三個域中有哪個未在描述文件中定義,且其相對應的宏有定義,則RPM會采用其對應的宏的宏體。
如我的~/.rpmmacros文件中有這樣三行:
%vendor 縱橫軟件制作中心
%packager 雨亦奇
%distribution 小趙'2001
這樣,軟件包描述文件中再也不用定義那三個域了,由此制作出來的軟件包在查詢時,其打包者(Packager),銷售商(Vendor)及發行版(Distribution)均自動搞定了,一勞永逸。
2) %buildroot,%_provides :
這兩個宏定義軟件包建包時用的根目錄及軟件包所提供的功能。它們在打包時不會象 上面那三個宏一樣主動被RPM采用,而是必須在描述文件中寫那麼幾行。即:
%vendor 縱橫軟件制作中心
%packager 雨亦奇
%distribution 小趙'2001
Buildroot : %buildroot
Provides : %_provides
3) %_topdir,%_builddir,%_rpmdir,%_sourcedir,%_specdir,%_srcrpmdir :
這六個宏都是RPM制作軟件包時要用的,它們在/usr/lib/rpm/macros文件中的默認值為:
%_topdir %{_usrsrc}/dist
%_builddir %{_topdir}/BUILD
%_rpmdir %{_topdir}/RPMS
%_sourcedir %{_topdir}/SOURCES
%_specdir %{_topdir}/SPECS
%_srcrpmdir %{_topdir}/SRPMS
%_topdir宏定義的是RPM制作軟件包時所用目錄的頂層目錄,一般為/usr/src/dist(%{_usrsrc} 宏的值為/usr/src)。在頂層目錄下面,又有五個子目錄:
* 編譯連接源程序時用的目錄,由%_builddir宏定義,常用BUILD;
* 生成的RPM執行程序包存放的目錄,由%_rpmdir宏定義,常用RPMS;
* 軟件源程序存放的目錄,由%_sourcedir宏定義,常用SOURCES;
* 軟件包描述文件存放的目錄,由%_specdir宏定義,常用SPECS;
* 生成的RPM源程序包存放的目錄,由%_srcrpmdir宏定義,常用SRPMS。
由於宏的遞歸特性,我們可以通過只定義%_topdir宏來達到改變%_builddir等五個宏的目的。 (注意:%_builddir等五個宏的宏體如無特殊要求,盡量不要改變,它們是標准的定義,應該采用)這對於普通用戶來說,意義非常重大。因為RPM默認的頂層目錄/usr/src/dist並不是每個用戶都可以隨便使用的,普通用戶更想在自己所有的目錄下用RPM來制作些軟件包。我也有這種想法,所以在~/.rpmmacros文件裡加上這麼一行:
%_topdir /usr/zzz/rpm
同時,在此宏定義的目錄下面建立了RPM所需的子目錄,使用命令為:
$ cd /usr/zzz
$ mkdir -p rpm/{BUILD,RPMS/i386,SOURCES,SPECS,SRPMS}
$
命令中的i386是RPM默認的體系名,RPM生成的執行程序包是存放在“RPMS/體系名”目錄下面的。這麼做以後,我就可以在自己的目錄下制作RPM軟件包了,象超級用戶一樣自由。
4)%_excludedocs,%_FTPport,%_ftpproxy,%_httpport,%_httpproxy,%_netsharepath :
這六個宏對RPM軟件包的安裝和查詢起作用。
* %_excludedocs : 如果其值定義為1,則RPM安裝軟件包時,對說明文檔的默認作法是不安裝;
* %_ftpport : 此宏用於定義RPM默認的FTP端口;
* %_ftpproxy : 此宏用於定義RPM默認的FTP代理服務器;
* %_httpport : 此宏用於定義RPM默認的HTTP端口;
* %_httpproxy : 此宏用於定義RPM默認的HTTP代理服務器;
* %_netsharepath : 此宏用於定義RPM默認的網絡共享目錄,適用於網絡文件系統(NFS)。
6. 一種特殊的宏
這種宏的用法是:
%(SHELL命令及其參數)
它的結果是取指定的SHELL命令的標准輸出的結果作為描述文件內容的一部分。如軟件包描述文件的某個部分需要加上當前日期,則可以用:
%(date +%Y-%m-%d)
執行後,該宏將擴展為類似2001-10-31的日期數據。用戶不妨在自己的描述文件的預處理段(%prep)內加上這麼兩行試試:
%(date +%Y-%m-%d)
exit 1
注: exit 1用於中止RPM的執行。
描述文件模板
以下所有描述文件模板均以LZE軟件包制作為例,以源程序現場編譯後產生的文件為准生成軟件包。描述文件中一般只描述必要的部分。另外,如果文件段的所有文件已存在於系統中,並且想直接利用打包,則可以去掉Source域,去掉RPM建包用功能段(%prep,%build,%install,% clean)。
1. 只有父包,沒有任何子包:
此描述文件見<<精通RPM之七--制作篇(上)>>。此文件中還可以去掉幾個可選的功能段, 如%pre,%post,%preun,%postun,%triggerin,%triggerun,%triggerpostun。這幾個段在此文件中無實質用途,執行時僅顯示RPM開始執行某個腳本程序的信息。此描述文件僅生成軟件包lze-6.0-2.i386.rpm(父包)。
2. 有父包,也有子包:
描述文件如下:
1 # 文件名稱: lze-6.0-2.spec1
2 # 文件功能: lze軟件包描述信息
3 # 文件作者: 縱橫軟件制作中心雨亦奇 國防大學研究生二隊趙建利
4 # 修改時間: 2001.10.31
5
6 Name: lze
7 Version: 6.0
8 Release: 2
9 Summary: 小趙全屏幕中英文多窗口多功能編輯器(LINUX/UNIX系統適用)
10 Group: Applications/Editors
11 License: Share
12 Source: http://zhsoft.myetang.com/lze-6.0-2.src.tgz
13
14 %description
15 小趙編輯器,是為使用SCO UNIX,LINUX多用戶系統的廣大用戶專門設計的全屏幕多窗
16 口中英文多功能編輯器。
17 它主要有以下十大特點:1.全屏幕菜單操作。2.顯示方式多樣。3.塊操作豐富。4.十
18 字制表功能強大。5.多窗口操作靈活自如。6.文件操作功能齊全。7.解釋輸出功能獨具特
19 色。8.自帶中文輸入法(增強五筆和增強拼音),實用方便。9.十六進制編輯功能,如虎
20 添翼。10.即時翻譯,按到即譯。
21 總之,小趙編輯器會成為您在UNIX,LINUX系統上編制程序和書寫一般性文稿的好幫手。
22 它將在工作中助您一臂之力,輕松上陣,游刃有余!
23
24 %prep
25 echo "預處理腳本程序(prep)開始執行"
26 %setup
27
28 %build
29 echo "編譯連接腳本程序(build)開始執行"
30 make
31
32 %install
33 echo "安裝腳本程序(install)開始執行"
34 make install
35
36 # 配置文件子包
37 %package config
38 summary : 小趙編輯器LZE的配置文件
39 group : Applications/Editors
40
41 %description config
42 小趙編輯器用配置文件包括功能鍵定義文件與
43 輸入法控制文件,用戶可根據實際情況加以修改。
44
45 %files config
46 %config /etc/funkey.def
47 %config /etc/inputme.def
48
49 # 說明文檔子包
50 %package doc
51 summary : 小趙編輯器LZE的說明文檔
52 group : Applications/Editors
53
54 %description doc
55 小趙編輯器說明文檔,詳細介紹了該編輯器的
56 命令行用法及內置的各項菜單的功能與操作,對用
57 戶熟悉小趙編輯器有很大作用。
58
59 %files doc
60 %doc /usr/doc/lze-6.0/README
61 %doc /usr/doc/lze-6.0/LICENSE
62
63 # 父包文件段
64 %files
65 %defattr (-,root,root)
66 /usr/bin/lze
67 /usr/bin/lzeime.py
68 /usr/bin/lzeime.wb
69 /etc/wbzc.dat
70
此描述文件生成軟件包有:lze-6.0-2.i386.rpm(父包),lze-config-6.0-2.i386.rpm(配置文件子包)和lze-doc-6.0-2.i386.rpm(說明文檔子包)。
3. 沒有父包,只有子包:
沒有父包,意味著描述文件中可以沒有父包的文件段(%files),請看下面的描述文件:
1 # 文件名稱: lze-6.0-2.spec2
2 # 文件功能: lze軟件包描述信息
3 # 文件作者: 縱橫軟件制作中心雨亦奇 國防大學研究生二隊趙建利
4 # 修改時間: 2001.10.31
5
6 Name: lze
7 Version: 6.0
8 Release: 2
9 Summary: 小趙全屏幕中英文多窗口多功能編輯器(LINUX/UNIX系統適用)
10 Group: Applications/Editors
11 License: Share
12 Source: http://zhsoft.myetang.com/lze-6.0-2.src.tgz
13
14 %description
15 小趙編輯器,是為使用SCO UNIX,LINUX多用戶系統的廣大用戶專門設計的全屏幕多窗
16 口中英文多功能編輯器。
17 它主要有以下十大特點:1.全屏幕菜單操作。2.顯示方式多樣。3.塊操作豐富。4.十
18 字制表功能強大。5.多窗口操作靈活自如。6.文件操作功能齊全。7.解釋輸出功能獨具特
19 色。8.自帶中文輸入法(增強五筆和增強拼音),實用方便。9.十六進制編輯功能,如虎
20 添翼。10.即時翻譯,按到即譯。
21 總之,小趙編輯器會成為您在UNIX,LINUX系統上編制程序和書寫一般性文稿的好幫手。
22 它將在工作中助您一臂之力,輕松上陣,游刃有余!
23
24 %prep
25 echo "預處理腳本程序(prep)開始執行"
26 %setup
27
28 %build
29 echo "編譯連接腳本程序(build)開始執行"
30 make
31
32 %install
33 echo "安裝腳本程序(install)開始執行"
34 make install
35
36 # 配置文件子包
37 %package config
38 summary : 小趙編輯器LZE的配置文件
39 group : Applications/Editors
40
41 %description config
42 小趙編輯器用配置文件包括功能鍵定義文件與
43 輸入法控制文件,用戶可根據實際情況加以修改。
44
45 %files config
46 %config /etc/funkey.def
47 %config /etc/inputme.def
48
49 # 說明文檔子包
50 %package doc
51 summary : 小趙編輯器LZE的說明文檔
52 group : Applications/Editors
53
54 %description doc
55 小趙編輯器說明文檔,詳細介紹了該編輯器的
56 命令行用法及內置的各項菜單的功能與操作,對用
57 戶熟悉小趙編輯器有很大作用。
58
59 %files doc
60 %doc /usr/doc/lze-6.0/README
61 %doc /usr/doc/lze-6.0/LICENSE
62
63 # 執行程序子包
64 %package bin
65 summary : 小趙編輯器LZE的執行程序
66 group : Applications/Editors
67
68 %description bin
69 小趙編輯器執行程序為lze,五筆輸入法服務器執行程序
70 為lzeime.wb,拼音輸入法服務器執行程序為lzeime.py。
71
72 %files bin
73 %defattr (-,root,root)
74 /usr/bin/lze
75 /usr/bin/lzeime.py
76 /usr/bin/lzeime.wb
77 /etc/wbzc.dat
78
此描述文件生成三個軟件包:lze-config-6.0-2.i386.rpm(配置文件子包),lze-doc-6.0-2.i386.rpm(說明文檔子包),lze-bin-6.0-2.i386.rpm(執行程序子包)。
38 summary : 小趙編輯器LZE的配置文件
39 group : Applications/Editors
40
41 %description config
42 小趙編輯器用配置文件包括功能鍵定義文件與
43 輸入法控制文件,用戶可根據實際情況加以修改。
44
45 %files config
46 %config /etc/funkey.def
47 %config /etc/inputme.def
48
49 # 說明文檔子包
50 %package doc
51 summary : 小趙編輯器LZE的說明文檔
52 group : Applications/Editors
53
54 %description doc
55 小趙編輯器說明文檔,詳細介紹了該編輯器的
56 命令行用法及內置的各項菜單的功能與操作,對用
57 戶熟悉小趙編輯器有很大作用。
58
59 %files doc
60 %doc /usr/doc/lze-6.0/README
61 %doc /usr/doc/lze-6.0/LICENSE
62
63 # 執行程序子包
64 %package bin
65 summary : 小趙編輯器LZE的執行程序
66 group : Applications/Editors
67
68 %description bin
69 小趙編輯器執行程序為lze,五筆輸入法服務器執行程序
70 為lzeime.wb,拼音輸入法服務器執行程序為lzeime.py。
71
72 %files bin
73 %defattr (-,root,root)
74 /usr/bin/lze
75 /usr/bin/lzeime.py
76 /usr/bin/lzeime.wb
77 /etc/wbzc.dat
78
此描述文件生成三個軟件包:lze-config-6.0-2.i386.rpm(配置文件子包),lze-doc-6.0-2.i386.rpm(說明文檔子包),lze-bin-6.0-2.i386.rpm(執行程序子包)。
13
14 %description
15 小趙編輯器,是為使用SCO UNIX,LINUX多用戶系統的廣大用戶專門設計的全屏幕多窗
16 口中英文多功能編輯器。
17 它主要有以下十大特點:1.全屏幕菜單操作。2.顯示方式多樣。3.塊操作豐富。4.十
18 字制表功能強大。5.多窗口操作靈活自如。6.文件操作功能齊全。7.解釋輸出功能獨具特
19 色。8.自帶中文輸入法(增強五筆和增強拼音),實用方便。9.十六進制編輯功能,如虎
20 添翼。10.即時翻譯,按到即譯。
21 總之,小趙編輯器會成為您在UNIX,LINUX系統上編制程序和書寫一般性文稿的好幫手。
22 它將在工作中助您一臂之力,輕松上陣,游刃有余!
23
24 %prep
25 echo "預處理腳本程序(prep)開始執行"
26 %setup
27
28 %build
29 echo "編譯連接腳本程序(build)開始執行"
30 make
31
32 %install
33 echo "安裝腳本程序(install)開始執行"
34 make install
35
36 # 配置文件子包
37 %package config
38 summary : 小趙編輯器LZE的配置文件
39 group : Applications/Editors
40
41 %description config
42 小趙編輯器用配置文件包括功能鍵定義文件與
43 輸入法控制文件,用戶可根據實際情況加以修改。
44
45 %files config
46 %config /etc/funkey.def
47 %config /etc/inputme.def
48
49 # 說明文檔子包
50 %package doc
51 summary : 小趙編輯器LZE的說明文檔
52 group : Applications/Editors
53
54 %description doc
55 小趙編輯器說明文檔,詳細介紹了該編輯器的
56 命令行用法及內置的各項菜單的功能與操作,對用
57 戶熟悉小趙編輯器有很大作用。
58
59 %files doc
60 %doc /usr/doc/lze-6.0/README
61 %doc /usr/doc/lze-6.0/LICENSE
62
63 # 執行程序子包
64 %package bin
65 summary : 小趙編輯器LZE的執行程序
66 group : Applications/Editors
67
68 %description bin
69 小趙編輯器執行程序為lze,五筆輸入法服務器執行程序
70 為lzeime.wb,拼音輸入法服務器執行程序為lzeime.py。
71
72 %files bin
73 %defattr (-,root,root)
74 /usr/bin/lze
75 /usr/bin/lzeime.py
76 /usr/bin/lzeime.wb
77 /etc/wbzc.dat
78
此描述文件生成三個軟件包:lze-config-6.0-2.i386.rpm(配置文件子包),lze-doc-6.0-2.i386.rpm(說明文檔子包),lze-bin-6.0-2.i386.rpm(執行程序子包)。