亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁(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 改天寫(xiě)下吧,大概做法: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)民參考!
  • 推薦文章
    国产麻豆精品视频| 九九九在线视频| 国产精品免费久久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人免费观看男女羞羞视频| 天天色成人| 亚洲精品久久玖玖玖玖| 精品国产一区二区三区国产馆| 国产视频久久久久| 99久久网站| a级毛片免费全部播放| 91麻豆国产| 国产精品自拍在线观看| 中文字幕97| 国产精品1024永久免费视频| 二级特黄绝大片免费视频大片| 麻豆系列国产剧在线观看| 国产精品1024永久免费视频| 沈樵在线观看福利| 尤物视频网站在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲第一页乱| 精品久久久久久中文字幕2017| 欧美国产日韩精品| 青青久久精品| 高清一级毛片一本到免费观看| 亚洲www美色| 亚久久伊人精品青青草原2020| 日韩中文字幕一区| 精品国产一区二区三区精东影业| 久久国产一久久高清| 精品国产一区二区三区精东影业| 成人免费观看男女羞羞视频| 日本在线不卡视频| 午夜在线观看视频免费 成人| 国产成人精品影视| 九九国产| 国产原创中文字幕| 欧美激情伊人| 欧美大片aaaa一级毛片| 亚洲精品影院一区二区| 精品视频免费看| 高清一级片| 日本伦理黄色大片在线观看网站| 成人免费观看网欧美片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 中文字幕一区二区三区精彩视频| 欧美日本国产| 国产一区二区精品久久91| 国产激情视频在线观看| 久久99这里只有精品国产| 可以免费看污视频的网站| 午夜欧美福利| 欧美激情伊人| 亚洲 欧美 91| 天天做日日爱夜夜爽| 成人免费网站久久久| 国产a网| 亚洲 欧美 91| 成人免费观看的视频黄页| 久久国产影院| 高清一级片| 在线观看成人网 | 天天做人人爱夜夜爽2020毛片| 国产成人精品影视| 国产91精品系列在线观看| 欧美激情一区二区三区在线播放| 91麻豆精品国产综合久久久| 国产一区二区福利久久| 四虎久久精品国产| 亚洲精品影院一区二区| 国产网站免费在线观看| 成人av在线播放| 黄视频网站免费看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产麻豆精品| 你懂的在线观看视频| 成人免费福利片在线观看| 高清一级做a爱过程不卡视频| 国产麻豆精品免费密入口| 999久久66久6只有精品| 97视频免费在线| 夜夜操网| 深夜做爰性大片中文| 日韩一级黄色片| 欧美日本免费| 午夜久久网| 国产一区二区精品久久91| 精品国产亚一区二区三区| 精品国产三级a| 麻豆系列国产剧在线观看| 欧美激情一区二区三区中文字幕| 欧美另类videosbestsex视频 | 久久精品免视看国产明星| 午夜久久网| 二级片在线观看| 99久久精品国产免费| 成人a大片高清在线观看| 九九精品久久| 青青久久精品| 日韩一级黄色片| 久草免费在线视频| 九九干| 成人高清视频在线观看| 国产91精品系列在线观看| 亚洲精品影院久久久久久| 四虎久久精品国产| 国产一区二区精品久久| 香蕉视频三级| 国产成人啪精品视频免费软件| 国产视频久久久久| 午夜久久网| 一本高清在线| 国产网站免费在线观看| 日韩欧美一及在线播放| 国产视频一区二区在线播放| 九九九在线视频| 日韩字幕在线| 久久99这里只有精品国产| 国产不卡精品一区二区三区| 中文字幕97| 国产91视频网| 亚洲第一视频在线播放| 九九九在线视频| 高清一级毛片一本到免费观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产伦精品一区二区三区在线观看| 精品国产亚洲人成在线| 色综合久久手机在线| 亚欧成人乱码一区二区| 国产视频一区二区在线观看| 日韩免费片| 国产一区二区精品尤物| 美女免费毛片| 欧美激情伊人| 精品视频一区二区| 精品视频在线观看视频免费视频 | 国产一区二区精品久久| 国产成人精品综合在线| 亚洲精品久久玖玖玖玖| 青青青草影院 | 成人免费观看网欧美片| 国产麻豆精品| 国产一级强片在线观看| 高清一级毛片一本到免费观看| 精品毛片视频| 麻豆网站在线看| 免费一级片网站| 精品久久久久久中文| 精品久久久久久中文字幕一区| 美女免费精品高清毛片在线视| 91麻豆国产级在线| 精品国产一区二区三区久| 午夜家庭影院| 国产一级强片在线观看| 四虎久久精品国产| 欧美一区二区三区性| 国产成人欧美一区二区三区的| 麻豆午夜视频| 欧美a级片视频| 成人av在线播放| 国产亚洲精品aaa大片| 欧美激情一区二区三区中文字幕| 999久久狠狠免费精品| 韩国毛片 免费| 精品国产一区二区三区久久久蜜臀 | 国产国语在线播放视频| 91麻豆精品国产综合久久久| 日韩在线观看视频黄| 亚洲不卡一区二区三区在线| 国产一区二区精品在线观看| 91麻豆精品国产片在线观看| 久久久久久久网| 午夜在线亚洲男人午在线| 香蕉视频亚洲一级| 一级毛片视频播放| 国产一区二区精品尤物| 国产网站免费视频| 日本特黄特黄aaaaa大片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品国产一区二区三区久久久狼 | 91麻豆精品国产自产在线| 国产精品自拍一区| 日韩男人天堂| 国产成人精品一区二区视频| 欧美1卡一卡二卡三新区| 99色视频在线观看| 91麻豆精品国产综合久久久| 欧美a级片视频| 亚欧成人毛片一区二区三区四区| 精品国产一区二区三区久久久蜜臀| 国产激情一区二区三区| 欧美激情一区二区三区在线播放| 91麻豆国产| 午夜精品国产自在现线拍| 精品国产一区二区三区久久久狼 | 亚洲精品中文字幕久久久久久| 日韩av成人| 四虎影视久久久免费| 国产精品自拍一区|