校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Linux系統下將源碼包制作為rpm包的教程

Linux系統下將源碼包制作為rpm包的教程

熱門標簽:淘寶系統退貨外呼項目考試答案 貴陽語音電銷機器人招商 焦作人工智能電話機器人軟件 鄭州營銷外呼系統運營商 北京市地圖標注 2020電銷機器人排行 百度地圖標注陰影動態 廳外呼梯系統布線 鹽城客服外呼系統軟件

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

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

用來指示轉換的源碼補丁編譯成二進制文件的包.默認編譯操作是在下面的目錄中,它是編譯源碼的相關動作操作的位置.
如果不指定其它的地方,那么 rpm building 的地方是主要在 /usr/src/redhat 的目錄,目錄的架構如下,這就是為 rpm-build 提供的目錄結構.

復制代碼
代碼如下:
/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 # 軟件是哪個組的,更多信息查看 /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 # 準備源碼文件的 chroot 的目錄
Summary: A fictional open source package for the offering. #摘要
%description #描述

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

Spec 文件之 %prep

%prep 這部分其它是由一些參數來組成一個 shell 腳本來從 SOURCES 中解壓源碼和應用補丁到 BUILD 目錄中來準備下面的編譯.
和 %prep 相關的宏指令

復制代碼
代碼如下:
%setup
%patch

例:


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

Spec 文件之 %build
%build 是編譯和準備軟件,運行象一個 shell 腳本,它運行在上下文目錄指定的源碼目錄.在編譯過程中,調用腳本 .config 在本地的目錄(%configure 中配置的).
和 %build 相關的宏
%configure # 可以通過運行 rpm -eval %configure 來看它的設置

例:


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

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

復制代碼
代碼如下:
%install
rm -rf $RPM_BUILD_ROOT # 默認的$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 是用來清理 build 后的臨時文件,主要是怕這些舊的文件影響以后編譯.主要是要刪除 $RPM_BUILD_ROOT 和運行 make clean .
例:

復制代碼
代碼如下:
%clean
rm -rf $RPM_BUILD_ROOT
make clean

Spec 文件之 Scriptlets

這些選項可以讓你動態的使用 shell 腳本來控制安裝和刪除,
%pre,%post 是用腳本運行在包安裝后,注意沒法交互
%preun,%postun 用腳本運行在包刪除時

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

例如:

復制代碼
代碼如下:
%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

注意,在這個當中的數字,如果是 1 是指是第一次安裝,如果是 2 是指也許是升級.如果是 0 在 %postun , 是指被完全的刪除.
Spec 文件之 %files

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

復制代碼
代碼如下:
%files
%defattr(-,root,root)
%config /etc/foo.conf # 指定了才能在更新和刪除時有用
/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 是記錄包的修改,比如加入一個新的補丁,修改配置,日志使用 data +”%a %b %d %Y”,
需要顯示包的日志改變的信息可以使用 rpm-q –changelog.例:


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

[總結]

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

如果自定義yum 源不會的,sky 改天寫下吧,大概做法:centos下比較簡單,安裝下createrepo軟件,然后再做個http服務,

標簽:法律問答 淮安 開封 馬鞍山 和田 和田 石家莊 湖南

巨人網絡通訊聲明:本文標題《Linux系統下將源碼包制作為rpm包的教程》,本文關鍵詞  Linux,系統,下,將,源碼,包制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux系統下將源碼包制作為rpm包的教程》相關的同類信息!
  • 本頁收集關于Linux系統下將源碼包制作為rpm包的教程的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美日韩久久一区二区| 欧美剧情电影在线观看完整版免费励志电影| 国产美女主播视频一区| av福利精品导航| xf在线a精品一区二区视频网站| 美日韩一级片在线观看| 欧美一区二区三区视频| 蜜臀91精品一区二区三区| 欧美系列在线观看| 日本不卡一二三| 国产喂奶挤奶一区二区三区| 99麻豆久久久国产精品免费| 亚洲一区在线观看免费观看电影高清 | 欧美妇女性影城| 国产在线视频不卡二| 日本一二三不卡| 欧美综合亚洲图片综合区| 美女在线观看视频一区二区| 亚洲欧洲三级电影| 91麻豆精品国产无毒不卡在线观看| 国产精品88av| 日日噜噜夜夜狠狠视频欧美人 | 一区二区三区四区高清精品免费观看| 欧美老年两性高潮| 成人美女在线视频| 精品在线视频一区| 天天免费综合色| 亚洲三级理论片| 精品成人免费观看| 51精品国自产在线| 色综合天天狠狠| 国产精品综合一区二区三区| 亚洲va韩国va欧美va| 亚洲免费观看高清完整版在线| 久久综合色鬼综合色| 91精品国产综合久久小美女| 色综合久久99| 色婷婷精品久久二区二区蜜臀av| 亚洲国产三级在线| 国产精品日日摸夜夜摸av| 69精品人人人人| 99久久精品费精品国产一区二区| 日本中文字幕一区| 亚洲人成在线观看一区二区| 久久久91精品国产一区二区精品 | 99re66热这里只有精品3直播| 蜜臀av性久久久久蜜臀aⅴ| 一二三四社区欧美黄| 久久久久久久久久看片| 在线观看网站黄不卡| 色999日韩国产欧美一区二区| 丁香六月综合激情| 国产一区不卡视频| 美腿丝袜亚洲三区| 久久99精品国产麻豆婷婷 | 亚洲妇熟xx妇色黄| 精品99999| 一区二区三区免费网站| 亚洲摸摸操操av| 亚洲精品久久嫩草网站秘色| 亚洲欧洲一区二区在线播放| 2023国产精品视频| 国产午夜精品久久久久久免费视 | 一区二区三区**美女毛片| 国产精品丝袜黑色高跟| 中文字幕欧美激情一区| 日韩女优制服丝袜电影| 亚洲成人av在线电影| 日韩理论在线观看| 亚洲一区精品在线| 亚洲久本草在线中文字幕| 亚洲第一福利一区| 婷婷国产v国产偷v亚洲高清| 日韩激情视频网站| 国内外精品视频| 国产一区二区三区在线观看精品 | 亚洲成人一二三| 亚洲国产精品久久人人爱| 亚洲成人免费视| 亚洲va国产天堂va久久en| 国产在线精品视频| k8久久久一区二区三区| 欧美天堂一区二区三区| 欧美一区二区三区人| 久久综合色婷婷| 亚洲欧美怡红院| 免费一级片91| 国产在线精品一区二区不卡了| 大桥未久av一区二区三区中文| 欧美视频在线观看一区二区| 日韩欧美久久一区| 亚洲在线中文字幕| 国产乱码一区二区三区| 波多野结衣在线一区| 在线观看亚洲精品| 国产亚洲精品久| 免费高清在线一区| 欧洲精品一区二区| 久久久91精品国产一区二区精品| 亚洲成国产人片在线观看| 成人激情小说乱人伦| 91精品国产综合久久国产大片| 国产精品乱码人人做人人爱| 久久99国产精品久久99果冻传媒| 在线观看网站黄不卡| 亚洲欧洲精品成人久久奇米网| 激情小说亚洲一区| 欧美群妇大交群中文字幕| 一区二区三区中文字幕电影 | 国产主播一区二区| 欧美另类z0zxhd电影| 亚洲男人电影天堂| 成人av高清在线| 国产目拍亚洲精品99久久精品| 亚洲va欧美va天堂v国产综合| 99视频在线精品| 日本一区二区成人| 极品少妇一区二区三区精品视频| 欧美日本韩国一区二区三区视频| 亚洲日本电影在线| 成人av网在线| 国产午夜精品一区二区三区嫩草 | 精品国产一区二区三区久久影院 | fc2成人免费人成在线观看播放| 日韩三级在线免费观看| 午夜影院久久久| 在线观看日产精品| 亚洲蜜桃精久久久久久久| 成人免费观看av| 中文字幕成人av| av资源网一区| 自拍偷拍欧美激情| www.av精品| 亚洲视频一区在线| av动漫一区二区| 亚洲欧美日本韩国| 欧美性一区二区| 视频在线观看一区| 91精品国产综合久久久蜜臀粉嫩 | 久久国产免费看| 欧美电影免费观看高清完整版在线观看| 亚洲电影在线播放| 欧美zozozo| 国产成人av一区二区三区在线| 国产情人综合久久777777| 99久久精品国产麻豆演员表| 一区二区三区不卡视频 | 久久99国产精品麻豆| 国产欧美日韩综合| 欧美在线观看视频一区二区三区| 香蕉成人伊视频在线观看| 精品少妇一区二区三区在线视频| 国产精品一区二区三区99| 亚洲男人电影天堂| 欧美成人bangbros| 91网站最新网址| 日韩和欧美一区二区| 日本一区二区视频在线| 欧美视频第二页| 国产成人精品综合在线观看| 亚洲一区二区三区在线播放 | 久久久久久久综合色一本| 色网综合在线观看| 国产一区免费电影| 午夜视频在线观看一区| 国产欧美日韩另类视频免费观看| 欧美系列亚洲系列| 粉嫩绯色av一区二区在线观看 | 蜜臀精品一区二区三区在线观看| 国产精品私人影院| 欧美不卡在线视频| 欧洲一区二区av| 成人夜色视频网站在线观看| 天天影视网天天综合色在线播放| 国产片一区二区| 精品少妇一区二区| 欧美人与z0zoxxxx视频| 成人看片黄a免费看在线| 日韩制服丝袜av| 伊人婷婷欧美激情| 中文字幕av不卡| 久久亚洲免费视频| 在线成人午夜影院| 欧美亚洲国产一区二区三区va | 99re这里只有精品首页| 国产精品一级黄| 国内一区二区在线| 麻豆精品久久久| 美脚の诱脚舐め脚责91| 亚洲gay无套男同| 亚洲愉拍自拍另类高清精品| 国产精品美女久久久久久| 欧美经典三级视频一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 4438成人网| 欧美一级欧美一级在线播放| 久久免费国产精品| 91福利视频网站| 国产精品一区二区三区乱码| 久久亚洲一区二区三区明星换脸 |