婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Linux系統(tǒng)下將源碼包制作為rpm包的教程

Linux系統(tǒng)下將源碼包制作為rpm包的教程

熱門標(biāo)簽:淘寶系統(tǒng)退貨外呼項(xiàng)目考試答案 貴陽(yáng)語(yǔ)音電銷機(jī)器人招商 焦作人工智能電話機(jī)器人軟件 鄭州營(yíng)銷外呼系統(tǒng)運(yùn)營(yíng)商 北京市地圖標(biāo)注 2020電銷機(jī)器人排行 百度地圖標(biāo)注陰影動(dòng)態(tài) 廳外呼梯系統(tǒng)布線 鹽城客服外呼系統(tǒng)軟件

1.要使用rpmbuild 這個(gè)命令,那么要安裝rpm-build, centos下可以使用yum -y intall rpm-build 來(lái)完成安裝.

2.rpmbuild 包和 /usr/src/redhat目錄 ,這些 rpm build 的程序是要靠 spec 文件的控制.它是配置指定安裝到另外的機(jī)器上的,

用來(lái)指示轉(zhuǎn)換的源碼補(bǔ)丁編譯成二進(jìn)制文件的包.默認(rèn)編譯操作是在下面的目錄中,它是編譯源碼的相關(guān)動(dòng)作操作的位置.
如果不指定其它的地方,那么 rpm building 的地方是主要在 /usr/src/redhat 的目錄,目錄的架構(gòu)如下,這就是為 rpm-build 提供的目錄結(jié)構(gòu).

復(fù)制代碼
代碼如下:
/usr/src/redhat/
|-- BUILD
|-- RPMS
| |-- i386
| `-- ...
|-- SOURCES
| |-- foo-1.2.tar.gz
| |-- foo-1.2-add_feature.patch
| `-- foo-1.2-change_default.patch
|-- SPECS
| `-- foo.spec
`-- SRPMS
%define name foo # 名字
%define version 16 #version
Name: %{name} #name 就是使用的上面的宏指令
Version: %{version} #version 也是使用的上面的宏指令
Release: 1
License: GPL
Group: Applications/Productivity # 軟件是哪個(gè)組的,更多信息查看 /usr/share/doc/rpm-version/GROUPS
URL: http://www.mysqlops.com
Source: ftp://www.mysqlops.com/pub/xxx.tar.gz
Patch0: foo-1.2-change_default.patch
Patch1: foo-1.2-add_feature.patch
PreReq: unzip # 安裝前需要什么
Requires: pam # 安裝后需要什么
BuildPreReq: gcc >= 2.96 #打包前需要什么
BuildRoot: %{_tmppath}/%{name}-root # 準(zhǔn)備源碼文件的 chroot 的目錄
Summary: A fictional open source package for the offering. #摘要
%description #描述

注意,spec 文件很多信息都是取自宏指令,如果沒(méi)有明確指定,就會(huì)繼承 /usr/lib/rpm/macros 和其它相關(guān)宏指令的文件.

Spec 文件之 %prep

%prep 這部分其它是由一些參數(shù)來(lái)組成一個(gè) shell 腳本來(lái)從 SOURCES 中解壓源碼和應(yīng)用補(bǔ)丁到 BUILD 目錄中來(lái)準(zhǔn)備下面的編譯.
和 %prep 相關(guān)的宏指令

復(fù)制代碼
代碼如下:
%setup
%patch

例:


復(fù)制代碼
代碼如下:
%prep
%setup -q #提取源碼到 BUILD 目錄; -q 指不顯示輸出(quietly)
%patch0 -p1 # 應(yīng)用 patch0
%patch1 -p1 -b .orig # 應(yīng)用 Patch1 但是存下源文件成 .oring 的后綴
unzip foo_data.zip # 接下來(lái)解壓 zip 文件

Spec 文件之 %build
%build 是編譯和準(zhǔn)備軟件,運(yùn)行象一個(gè) shell 腳本,它運(yùn)行在上下文目錄指定的源碼目錄.在編譯過(guò)程中,調(diào)用腳本 .config 在本地的目錄(%configure 中配置的).
和 %build 相關(guān)的宏
%configure # 可以通過(guò)運(yùn)行 rpm -eval %configure 來(lái)看它的設(shè)置

例:


復(fù)制代碼
代碼如下:
%build
%configure –enable-shared
CFLAGS=-O2 make
 

Spec 文件之 %install
%install 是用來(lái)做 rpm 安裝所有需要的文件.這些打包的文件會(huì)復(fù)制到前面的講的 BuildRoot 中的目錄樹(shù)中.通常這個(gè)目錄是使用的 /var/tmp 中.
$RPM_BUILD_ROOT 參數(shù)來(lái)設(shè)置 BuildRoot.主要不能使用真實(shí)目錄來(lái)設(shè)置的主要原因是,在編譯的過(guò)程中有可能會(huì)有文件替換到你系統(tǒng)中的文件引起系統(tǒng)
和軟件問(wèn)題.對(duì)其它的文件路徑象在 %{_mandir}, %{_bindir} , %{_sysconfdir} 等等,都是使用預(yù)先定義的宏來(lái)指定的.
默認(rèn)都是跑在這個(gè) RPM_BUILD_ROOT 目錄下的.
例:

復(fù)制代碼
代碼如下:
%install
rm -rf $RPM_BUILD_ROOT # 默認(rèn)的$RPM_BUILD_ROOT 是 /var/tmp/%{name}-root
make DESTDIR=$RPM_BUILD_ROOT install # 指定安裝文件的路徑
install -m644 foo.8 ${RPM_BUILD_ROOT}/%{_mandir}/man8/foo.8
 


Spec 文件之 %clean
%clean 是用來(lái)清理 build 后的臨時(shí)文件,主要是怕這些舊的文件影響以后編譯.主要是要?jiǎng)h除 $RPM_BUILD_ROOT 和運(yùn)行 make clean .
例:

復(fù)制代碼
代碼如下:
%clean
rm -rf $RPM_BUILD_ROOT
make clean

Spec 文件之 Scriptlets

這些選項(xiàng)可以讓你動(dòng)態(tài)的使用 shell 腳本來(lái)控制安裝和刪除,
%pre,%post 是用腳本運(yùn)行在包安裝后,注意沒(méi)法交互
%preun,%postun 用腳本運(yùn)行在包刪除時(shí)

復(fù)制代碼
代碼如下:
rpm -q –scripts packagename # 可以看到腳本的信息

例如:

復(fù)制代碼
代碼如下:
%pre
groupadd -g 201 foo
useradd -g foo -s /bin/false -d /var/foo -M foo
%post
/sbin/ldconfig
chkconfig --add food
%preun
if [ = 0 ]
then
service food stop > /dev/null 2>1
chkconfig --del food
fi
%postun
if [ = 0 ]
then
userdel foo
groupdel foo
else
/sbin/ldconfig
service food condrestart > /dev/null 2>1
fi

注意,在這個(gè)當(dāng)中的數(shù)字,如果是 1 是指是第一次安裝,如果是 2 是指也許是升級(jí).如果是 0 在 %postun , 是指被完全的刪除.
Spec 文件之 %files

%files 任何打包的文件,都需要在這個(gè)包的詳細(xì)的文件列表中,如果是目錄,包的所有者的全部目錄都在中間,%dir 來(lái)指定空目錄,可以用
%files -f /tmp/dyanmic_filelist 來(lái)指定一個(gè)文件列表.默認(rèn) %config 會(huì)替換掉配置,給原來(lái)的配置修改名字為 .rpmorig,
如果不想修改的話,就用%config(noreplace) 就會(huì)給新的配置文件名字命名為 .rpmnew.
%defattr(mode,user,group)
%attr(mode,user,group) filename
%config 配置文件
%doc 文檔
例:

復(fù)制代碼
代碼如下:
%files
%defattr(-,root,root)
%config /etc/foo.conf # 指定了才能在更新和刪除時(shí)有用
/usr/sbin/food
/usr/bin/foo
%doc README # 目錄是在 /usr/share/doc/%{name}-%{version}
%doc /usr/share/man/man8/food.8
/usr/share/foo/
%dir /var/lock/foo/ # 空的目錄

Spec 文件之 %changelog ;
%changelog 是記錄包的修改,比如加入一個(gè)新的補(bǔ)丁,修改配置,日志使用 data +”%a %b %d %Y”,
需要顯示包的日志改變的信息可以使用 rpm-q –changelog.例:


復(fù)制代碼
代碼如下:
%changelog
? Mon Aug 5 2002 Elvis Presley

[總結(jié)]

知道了怎么把rpm包相信大家就會(huì)知道,然后做yum 源了,做好了yum源,只需要客戶端配置好使用安裝源,這樣是不是很方便,

如果自定義yum 源不會(huì)的,sky 改天寫下吧,大概做法:centos下比較簡(jiǎn)單,安裝下createrepo軟件,然后再做個(gè)http服務(wù),

標(biāo)簽:法律問(wèn)答 淮安 開(kāi)封 馬鞍山 和田 和田 石家莊 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux系統(tǒng)下將源碼包制作為rpm包的教程》,本文關(guān)鍵詞  Linux,系統(tǒng),下,將,源碼,包制,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux系統(tǒng)下將源碼包制作為rpm包的教程》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Linux系統(tǒng)下將源碼包制作為rpm包的教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲久本草在线中文字幕| 久久不见久久见免费视频7| 国产在线观看免费一区| 亚洲精选免费视频| 一本一道波多野结衣一区二区| 亚洲欧美另类小说| 久久在线免费观看| 91精品免费观看| 国产成人综合亚洲91猫咪| 欧美国产欧美综合| 久久精品视频免费| 777a∨成人精品桃花网| 欧美在线制服丝袜| 国产69精品久久99不卡| 午夜成人免费电影| 亚洲一区二区av在线| 一区二区激情小说| 亚洲免费视频中文字幕| 亚洲精品中文在线| 亚洲午夜久久久久久久久久久| 一区二区在线电影| 国产精品久久久久影视| 久久亚洲精华国产精华液| 久久影院电视剧免费观看| 久久亚洲一区二区三区四区| 精品成人佐山爱一区二区| 国产河南妇女毛片精品久久久| 三级成人在线视频| 日本在线不卡视频一二三区| 久久99国产乱子伦精品免费| 国产成a人无v码亚洲福利| 国产aⅴ综合色| 欧美日韩午夜精品| 亚洲精品一区二区三区精华液| 国产亚洲精品aa| 亚洲男人都懂的| 国产呦萝稀缺另类资源| 色综合久久久久久久久久久| 欧美精品久久99| 久久久不卡网国产精品一区| 尤物在线观看一区| 日韩不卡一区二区三区 | 欧美大胆人体bbbb| 日韩一区二区三区四区五区六区| 欧美一卡二卡在线观看| 亚洲精品一区二区三区蜜桃下载| 亚洲精品久久久蜜桃| 精一区二区三区| 欧美精品视频www在线观看| 欧美一区二区三区的| 亚洲欧美另类图片小说| 国产福利不卡视频| 一区免费观看视频| 欧美视频第二页| 精品国产亚洲在线| 性做久久久久久免费观看| 欧美绝品在线观看成人午夜影视| 精品国产凹凸成av人网站| 青青草精品视频| 欧美二区三区91| 日本不卡1234视频| 欧美大黄免费观看| 国产精品18久久久久久久久| 欧美精品一区二区三区在线| 奇米影视在线99精品| av午夜一区麻豆| 中文字幕亚洲综合久久菠萝蜜| 国产高清亚洲一区| 国产精品九色蝌蚪自拍| 国产91对白在线观看九色| 精品国产免费视频| 粉嫩欧美一区二区三区高清影视| 国产精品久久久久久久久免费樱桃| 大白屁股一区二区视频| 有码一区二区三区| 久久精品亚洲乱码伦伦中文| 日本丰满少妇一区二区三区| 久久99久久久久久久久久久| 精品国产乱码久久| 欧美午夜一区二区| 成人高清免费在线播放| 青娱乐精品在线视频| 日韩伦理av电影| 久久影院午夜论| 日韩你懂的在线观看| 91免费看`日韩一区二区| 国产精品正在播放| 国产乱人伦偷精品视频不卡 | 欧美三级乱人伦电影| 国产精品一二三在| 国产一区二区三区精品欧美日韩一区二区三区| 欧美激情综合在线| 国产精品久久久久一区| 2020国产成人综合网| 欧美日韩国产影片| 国产成人免费视频一区| 国产最新精品免费| 久久97超碰色| 成人看片黄a免费看在线| 麻豆精品视频在线观看| 亚洲一区二区免费视频| 亚洲激情图片qvod| 一区二区三区国产豹纹内裤在线| 亚洲综合丁香婷婷六月香| 亚洲一区二区三区视频在线播放 | 国产欧美日韩在线| 一级特黄大欧美久久久| 无码av免费一区二区三区试看| 日韩国产精品久久| eeuss鲁一区二区三区| 91精品国产综合久久婷婷香蕉 | 国产精品水嫩水嫩| 国产精品久久久久毛片软件| 日韩黄色小视频| av不卡免费电影| 欧美α欧美αv大片| 国产日韩av一区| 全部av―极品视觉盛宴亚洲| 国产精品综合在线视频| 麻豆精品在线看| 精品一区二区三区免费毛片爱| 成人av免费在线观看| 日韩欧美123| 欧美精品一区二区三区四区| 日韩美女天天操| 欧美日韩午夜在线| 欧美精品少妇一区二区三区| 国产三级一区二区| 色综合久久中文字幕| 国产精一区二区三区| 国产一区二区中文字幕| 青椒成人免费视频| 久久一夜天堂av一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 欧美aaaaa成人免费观看视频| 国产一区二区三区久久悠悠色av | 色婷婷激情一区二区三区| 另类小说色综合网站| 国产美女精品在线| 91丨九色丨尤物| 91麻豆精品国产91久久久久久久久| 欧美一级电影网站| 欧美激情中文不卡| 偷拍自拍另类欧美| 成人免费视频网站在线观看| 色综合咪咪久久| 91精品国产手机| 亚洲国产精品传媒在线观看| 亚洲va欧美va人人爽午夜| 日韩成人av影视| 在线日韩一区二区| gogo大胆日本视频一区| 日韩欧美二区三区| 日韩国产精品久久| 91麻豆精品一区二区三区| 欧美经典一区二区| 国产91精品在线观看| 国产日本亚洲高清| 一区二区三区精品| 亚洲一区二区三区视频在线| 免费在线观看不卡| 日本不卡免费在线视频| 欧美日韩国产天堂| 亚洲精品国产无天堂网2021| 色成年激情久久综合| 欧美成人r级一区二区三区| 三级欧美韩日大片在线看| 一本色道亚洲精品aⅴ| 亚洲另类春色校园小说| 成人永久免费视频| 日韩欧美一级二级| 蜜臀精品久久久久久蜜臀| 欧美v亚洲v综合ⅴ国产v| 日本欧美一区二区三区乱码| 欧美一级免费大片| 国产剧情在线观看一区二区| 国产精品久线观看视频| 久久综合色一综合色88| 天堂av在线一区| 亚洲午夜久久久久久久久电影网| 欧美无乱码久久久免费午夜一区| 精品国产第一区二区三区观看体验| 五月激情丁香一区二区三区| 91麻豆精品国产91久久久| 91香蕉国产在线观看软件| 一区二区不卡在线视频 午夜欧美不卡在| 成人av免费在线播放| 亚洲国产你懂的| 欧美日韩国产美女| 国产不卡免费视频| 国产91色综合久久免费分享| 久久亚洲精精品中文字幕早川悠里 | 成人一区二区三区视频在线观看 | 国产精品美女久久久久aⅴ| 国产一区二区三区蝌蚪| 美女久久久精品| 一区二区成人在线| 久久久www成人免费无遮挡大片| av亚洲精华国产精华精华| 精品不卡在线视频|