亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rpm-howto-6.html

?? Linux初學者最好的老師就是howto了。相當于函數man。
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
 <TITLE>RPM HOWTO (RPM at Idle): Building RPMs</TITLE>
 <LINK HREF="RPM-HOWTO-7.html" REL=next>
 <LINK HREF="RPM-HOWTO-5.html" REL=previous>
 <LINK HREF="RPM-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="RPM-HOWTO-7.html">Next</A>
<A HREF="RPM-HOWTO-5.html">Previous</A>
<A HREF="RPM-HOWTO.html#toc6">Contents</A>
<HR>
<H2><A NAME="s6">6. Building RPMs</A></H2>

<P>
<P>如果您可以自個兒取得所需的軟體,那麼建造 RPM 檔案也是非常簡單的。
<P>建造 RPM 檔案的基本步驟如下:
<UL>
<LI>確定您的 <CODE>/etc/rpmrc</CODE> 已經符合系統所需, 完成設定。</LI>
<LI>取回所要建造的 source code。</LI>
<LI>進行所需的 source 檔案 patch 動作, 以使得我們能順利地
build 整個程式。</LI>
<LI>為程式套件撰寫一份 spec 檔案。</LI>
<LI>確認每個檔案都在正確的目錄位置。</LI>
<LI>使用 RPM 來 build 整個程式套件。</LI>
</UL>
<P>如果一切操作正確, RPM 便能順利 build 完成 binary 與 source 程式套件。
<P>
<P>
<P>
<H2><A NAME="ss6.1">6.1 The rpmrc File</A>
</H2>

<P>
<P>目前為止, RPM 系統唯一的設定檔, 是透過 <CODE>/etc/rpmrc</CODE> 檔案來管理。
其內容□例如下:
<BLOCKQUOTE><CODE>
<PRE>
require_vendor: 1
distribution: I roll my own!
require_distribution: 1
topdir: /usr/src/me
vendor: Mickiesoft
packager:  Mickeysoft Packaging Account &lt;packages@mickiesoft.com>

optflags: i386 -O2 -m486 -fno-strength-reduce
optflags: alpha -O2
optflags: sparc -O2

signature: pgp
pgp_name: Mickeysoft Packaging Account
pgp_path: /home/packages/.pgp

tmppath: /usr/tmp
</PRE>
</CODE></BLOCKQUOTE>
<P>檔案中的 <CODE>require_vendor</CODE> 這一行敘述, 用以控制 RPM
是否須要找尋 vendor 那一行敘述, 而 verdor 的資訊可能來自
<CODE>/etc/rpmrc</CODE> 或是 spec 檔案的 header 處。 如果您把上述的號碼改為
<CODE>0</CODE>, 便能把這項尋找功能關閉。 這樣的設定方式,
同樣適用於 <CODE>require_distribution</CODE> 與 <CODE>require_group</CODE> 的敘述上。
<P>接下來, 我們看到 <CODE>distribution</CODE> 這一行, 您可以在此設定, 或是日後在
spec 檔案的 header 處設定。 當我們在某個 distribution 上 build 程式套件時,
就算不需要查詢設定, 此行內容的設定正確, 也是能夠帶來許多便利。
<CODE>vendor</CODE> 那一行的作用, 和上述的 distribution 非常相似,
但其內容并不限定 ( 例如是 Joe's Software 或 Rock Music Emporium )。
<P>RPM 目前支援「多平臺架構」的程式套件 build 功能, 我們可以在 <CODE>rpmrc</CODE>
檔案里指定 ``optflags'' 變數, 當進行程式套件 build 動作時,
便可依據所需的平臺類型, 應用特定的變數內容。 我們將會在接下去的章節里,
說明如何使用這些變數。
<P>除了上述的 macro 設定外, 還有許多其他的設定方式, 您可以使用:
<BLOCKQUOTE><CODE>
<PRE>
rpm --showrc
</PRE>
</CODE></BLOCKQUOTE>

來查看系統的 tag 與可供使用的 flag 有哪些。
<P>
<H2><A NAME="ss6.2">6.2 The Spec File</A>
</H2>

<P>在此我們將討論 spec 檔案的設定。 build 一個程式套件時, 我們需要使用到
spec 檔案, 其內容為該程式套件的說明, 額外還包括一些指令,
用以指示整個 build 的過程, 還有一份檔案列表, 用以表示程式套件中的檔案,
分別被安裝到哪里。
<P>spec 檔案的命名方式, 最好是遵循標準的慣例, 其格式應該為
package name-dash-version number-dash-release number-dot-spec。
<P>這里我們舉一個小型的 spec 檔案為例 (vim-3.0-1.spec):
<BLOCKQUOTE><CODE>
<PRE>
Summary: ejects ejectable media and controls auto ejection
Name: eject
Version: 1.4
Release: 3
Copyright: GPL
Group: Utilities/System
Source: sunsite.unc.edu:/pub/Linux/utils/disk-management/eject-1.4.tar.gz
Patch: eject-1.4-make.patch
Patch1: eject-1.4-jaz.patch
%description
This program allows the user to eject media that is autoejecting like
CD-ROMs, Jaz and Zip drives, and floppy drives on SPARC machines.

%prep
%setup
%patch -p1
%patch1 -p1

%build
make RPM_OPT_FLAGS="$RPM_OPT_FLAGS"

%install
install -s -m 755 -o 0 -g 0 eject /usr/bin/eject
install -m 644 -o 0 -g 0 eject.1 /usr/man/man1

%files
%doc README COPYING ChangeLog

/usr/bin/eject
/usr/man/man1/eject.1
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss6.3">6.3 The Header</A>
</H2>

<P>檔案 header 的部份, 有幾個特定的欄位內容, 您必須加以設定完成,
另外還有幾點注意事項。 您必須設定完成的欄位內容如下:
<UL>
<LI><CODE>Summary:</CODE> 以一行長度的描述, 來說明程式套件的內容。</LI>
<LI><CODE>Name:</CODE> 這個檔案名稱必須與您準備使用的 rpm 檔名一致。</LI>
<LI><CODE>Version:</CODE> 這個版本名稱必須與您準備使用的 rpm 檔名一致。</LI>
<LI><CODE>Release:</CODE> 這個發行序號必須與您準備使用的 rpm 檔名一致。
( 也就是說, 如果我們完成一個程式套件, 但事後發現它有些小小的問題,
必須重新 build 一次, 此時新的程式套件, 其發行序號便是 2 號 )。</LI>
<LI><CODE>Icon:</CODE> 如果您使用了其他高階的安裝工具程式
( 像是 Red Hat 的 ``glint'' 程式 ), 那麼這里可以指定其相對應的圖示檔,
它必須是一個 gif 檔案, 而且必須位於 SOURCES 目錄。</LI>
<LI><CODE>Source:</CODE> 這里指定了那些「未經處理過的 source 檔案」的
HOME 目錄, 當您想要重新取得 source 檔案, 或是檢察是否有新版本時,
就需要用到這個設定。 注意事項: 這里的檔名, 「務必」與您系統上的檔案名稱一致
( 也就是說, 下載 source 檔案後, 不要去變更其檔案名稱 )。
同時, 您可以指定一個以上的 source 檔案, 方式如下:
<BLOCKQUOTE><CODE>
<PRE>
Source0: blah-0.tar.gz
Source1: blah-1.tar.gz
Source2: fooblah.tar.gz
</PRE>
</CODE></BLOCKQUOTE>

這些檔案都會到 <CODE>SOURCES</CODE> 目錄底下 ( 相關的目錄結構說明,
會在後面的 "The Source Directory Tree" 章節里加以討論 )。</LI>
<LI><CODE>Patch:</CODE> 如果您需要重新下載 patch 檔案,
那麼其目錄位置設定於此。
注意事項: 這里的檔名, 必須與您系統上使用的 patch 檔案名稱相符,
另一方面, 和前述多個 source 檔案的設定一樣, 您也可以指定多個
patch 檔案名稱。 其格式□例如下:
<BLOCKQUOTE><CODE>
<PRE>
Patch0: blah-0.patch
Patch1: blah-1.patch
Patch2: fooblah.patch
</PRE>
</CODE></BLOCKQUOTE>

這些檔案都會到 <CODE>SOURCES</CODE> 目錄底下。</LI>
<LI><CODE>Copyright:</CODE> 這里的設定, 用以說明程式套件采用何種版權聲明。
像 GPL、 BSD、 MIT、 public domain、 distributable、 commercial 等,
都是您可以指定的。</LI>
<LI><CODE>BuildRoot:</CODE> 您可以指定一個目錄,
它會被當作是 build 與 install 新程式套件的 ``root'' 目錄,
如果您想在實際安裝之前, 先行測試程式內容, 可以善用此項設定。</LI>
<LI><CODE>Group:</CODE> 這里的設定, 用於高階的安裝工具程式 ( 例如
Red Hat 的 ``glint'' 程式 ) 當中, 用以說明程式所屬的群組位置。
目前的群組架構, 大致如下所述:
<BLOCKQUOTE><CODE>
<PRE>
Applications
    Communications
    Editors
        Emacs
    Engineering
    Spreadsheets
    Databases
    Graphics
    Networking
    Mail
    Math
    News
    Publishing
        TeX
Base
    Kernel
Utilities
    Archiving
    Console
    File
    System
    Terminal
    Text
Daemons
Documentation
X11
    XFree86
        Servers
    Applications
        Graphics
        Networking
    Games
        Strategy
        Video
    Amusements
    Utilities
    Libraries
    Window Managers
Libraries
Networking
    Admin
    Daemons
    News
    Utilities
Development
    Debuggers
    Libraries
        Libc
    Languages
        Fortran
        Tcl
    Building
    Version Control
    Tools
Shells
Games
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI><CODE>%description</CODE>  這個并非真的是 header 項目,
但您應該連同上述的項目一同填寫, 每個「程式套件」或「子程式套件」,
都應該有一個 description tag。 這里允許您輸入多行內容,
使得程式套件能夠具有一份完整詳盡的說明。
</LI>
</UL>
<P>
<H2><A NAME="ss6.4">6.4 Prep</A>
</H2>

<P>這里是 spec 檔案的另一個段落章節, 用以設定讓 source 檔案就緒,
以供下一步的 build 動作。 平常我們必須經過 setup, 才能實際進行 <CODE>make</CODE>
動作, 因此在本段落章節中, 我們將視需要進行 source 檔案的 patch 與 setup。
<P>有件事值得注意的: 接下來的段落設定, 實際上只是指明某段 shell scripts
的位置, 您可以將 shell scripts 的內容, 另外以 <CODE>sh</CODE> script
的方式加以存檔, 并將 script 程式名稱置於 <CODE>%prep</CODE> tag 之後,
用以執行 source 檔案的 unpack 與 patch 動作。 當然, 以原有之 macro
型式來做, 應該是方便許多的。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级在线播放| 国产亚洲制服色| 精品日本一线二线三线不卡| 国产色爱av资源综合区| 天天影视涩香欲综合网| 成人小视频免费在线观看| 欧美一卡2卡3卡4卡| 亚洲精品视频在线观看网站| 精品无人码麻豆乱码1区2区| 欧美美女一区二区在线观看| 国产精品毛片无遮挡高清| 久久精品国产99久久6| 欧美日韩一本到| 亚洲欧美日韩国产成人精品影院| 国产在线播放一区三区四| 欧美一二三区在线| 亚洲国产成人91porn| 菠萝蜜视频在线观看一区| 久久无码av三级| 看片的网站亚洲| 欧美不卡一区二区三区四区| 亚洲精品高清视频在线观看| 国产成人av电影在线播放| 91精品国产丝袜白色高跟鞋| 亚洲色欲色欲www| 国产精品香蕉一区二区三区| 欧美色图第一页| 亚洲国产成人午夜在线一区| 亚洲色图色小说| 国产成人自拍高清视频在线免费播放| 欧美久久高跟鞋激| 一区二区成人在线观看| 国产不卡一区视频| 精品免费日韩av| 日韩福利视频导航| 欧美性三三影院| 亚洲天堂久久久久久久| 丁香六月综合激情| 国产日韩欧美激情| 国产麻豆9l精品三级站| 精品日产卡一卡二卡麻豆| 日韩精品每日更新| 欧美日精品一区视频| 一区二区欧美国产| 91免费在线播放| 亚洲欧洲av一区二区三区久久| 国产精品羞羞答答xxdd| 久久九九久久九九| 国产精品综合一区二区三区| 精品伦理精品一区| 极品少妇xxxx偷拍精品少妇| 日韩欧美中文字幕一区| 蜜芽一区二区三区| 日韩免费视频一区| 久久99国产精品麻豆| 日韩精品一区二区三区在线播放 | 亚洲一区二区三区三| 色综合久久久久综合体桃花网| 成人免费在线视频观看| 色婷婷激情综合| 亚洲6080在线| 91麻豆精品国产自产在线| 丝袜诱惑制服诱惑色一区在线观看| 欧美午夜寂寞影院| 欧美bbbbb| 久久免费电影网| 成人网页在线观看| 亚洲日本丝袜连裤袜办公室| 色诱亚洲精品久久久久久| 亚洲福利一区二区| 日韩欧美二区三区| 成人av在线资源网| 一区二区三区四区在线免费观看| 欧美体内she精视频| 美日韩黄色大片| 中文无字幕一区二区三区| 色网综合在线观看| 亚洲人成伊人成综合网小说| 91浏览器在线视频| 五月婷婷久久综合| 久久久青草青青国产亚洲免观| a在线播放不卡| 午夜精品福利一区二区三区av | 97se亚洲国产综合自在线不卡| 国产精品久久三| 欧美一卡二卡在线| 成人av网站大全| 日本亚洲欧美天堂免费| 国产蜜臀av在线一区二区三区| 成人高清视频在线观看| 亚洲一区在线看| 精品久久久影院| 99re免费视频精品全部| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品卡一卡二卡三| 6080日韩午夜伦伦午夜伦| 国产成人av一区| 五月天激情综合| 国产精品美女一区二区| 欧美高清www午色夜在线视频| 国产91在线|亚洲| 午夜视频在线观看一区二区| 国产偷v国产偷v亚洲高清 | 石原莉奈在线亚洲三区| 国产精品美女一区二区在线观看| 欧美另类久久久品| 不卡电影一区二区三区| 激情另类小说区图片区视频区| 亚洲欧美国产三级| 久久影院电视剧免费观看| 91福利视频在线| 国产成人一区在线| 五月激情综合色| 亚洲人成精品久久久久久| 国产欧美1区2区3区| 日韩一区二区三区免费观看| 91福利精品视频| 97久久精品人人做人人爽50路 | 婷婷六月综合亚洲| 亚洲乱码国产乱码精品精小说| 国产日产欧美一区| 日韩精品一区二区三区三区免费 | 蜜臀av国产精品久久久久| 亚洲午夜精品网| 一区二区成人在线视频| 亚洲免费在线观看视频| 亚洲同性gay激情无套| 亚洲国产成人一区二区三区| 91精品福利在线一区二区三区 | 欧美精品高清视频| 色美美综合视频| 91麻豆高清视频| 国产1区2区3区精品美女| 精品一区二区三区在线观看国产| 日本成人在线看| 日本午夜一本久久久综合| 天堂影院一区二区| 日本在线不卡视频一二三区| 日韩精品一级中文字幕精品视频免费观看| 亚洲综合在线五月| 亚洲国产一区在线观看| 亚洲成人av一区二区| 午夜欧美视频在线观看 | 毛片一区二区三区| 日本aⅴ免费视频一区二区三区 | 国产乱子伦视频一区二区三区| 国产呦精品一区二区三区网站| 裸体一区二区三区| 黑人精品欧美一区二区蜜桃| 成人性生交大片免费| 99精品久久久久久| 欧美日韩一级片在线观看| 欧美一二区视频| 国产日韩欧美在线一区| 中文字幕中文乱码欧美一区二区| 亚洲欧美日韩电影| 日本不卡中文字幕| 国产精品自拍网站| 91亚洲精品久久久蜜桃网站| 欧美制服丝袜第一页| 日韩欧美在线1卡| 国产日韩欧美a| 一级中文字幕一区二区| 日韩av在线播放中文字幕| 国产乱人伦精品一区二区在线观看| 成人黄色av电影| 欧美日韩精品一区二区在线播放| 欧美色欧美亚洲另类二区| 日韩欧美激情一区| 亚洲免费在线观看| 极品少妇xxxx偷拍精品少妇| 99久久精品国产观看| 欧美一区二区黄色| 国产精品久久久久久亚洲毛片 | 国产三级一区二区三区| 一区二区国产视频| 国产精品系列在线播放| 欧洲av一区二区嗯嗯嗯啊| 日韩精品一区二区三区在线| 综合电影一区二区三区 | 中文字幕av一区 二区| 偷窥国产亚洲免费视频| 成人免费黄色大片| 欧美一级精品大片| 中文字幕第一区综合| 精品中文字幕一区二区小辣椒 | 色婷婷综合在线| 精品国精品国产尤物美女| 亚洲成人先锋电影| av中文字幕亚洲| 26uuu精品一区二区三区四区在线| 亚洲美女少妇撒尿| 国产成人av一区二区| 91麻豆精品国产无毒不卡在线观看| 国产精品久久网站| 国产精品一区二区在线播放| 成人激情黄色小说| 日本一区二区三区在线不卡| 美国精品在线观看| 制服丝袜激情欧洲亚洲|