導航:首頁 > 源碼編譯 > 編譯包製作rpm

編譯包製作rpm

發布時間:2022-07-16 12:53:06

A. linux 下面編譯包和rpm包進行安裝有什麼區別哪種方式比較好

主要區別在於安裝的方式,編譯包需要庫文件,需要make來運行,rpm也是一個工具,同樣提供源代碼,可以在安裝過程中編譯,也可以直接安裝二進制文件。個人認為rpm和編譯相比,功能更強大,選擇更靈活,對使用者的技術水平要求較低,編譯就不一樣,對系統管理員來講很boring,比較適合開發人員。

B. 如何將源碼編譯生成RPM包

1. make dist
2. rpmbuild -tb ovirt-engine-reports-3.5.6_master.tar.gz

C. 怎麼將linux下gz包編譯成rpm包

不需要轉:
1)下載文件: http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86-opensource-2010.02.bin
2) 修改執行許可權:chmod u+x qt-sdk-linux-x86-opensource-2010.02.bin
3) 安裝:./qt-sdk-linux-x86-opensource-2010.02.bin

D. linux 製作rpm包

[轉載]
一個打包自己套件的範例

這個就有趣了!我們自己來編輯一下自己製作的RPM怎麼樣?會很難嗎?完全不會!這里簡單的以一個小例子來說明喔!請注意,這個真的只是一個小例子,所以不要覺得奇怪喔!其中,比較需要注意的,由於在上面的步驟說明中,我們知道在將SRPM編譯成為RPM的時候,會以tar這支程式來將檔案解開,因此,我們在進行來源檔案的建立時,就必需要將他打包成為一個tar.gz的tarball的檔案才行!

假設我們編輯了一支script,內容是這樣:

[root@test root]# cd /usr/src/redhat/SOURCES
[root@test SOURCES]# vi showvbird.sh
#!/bin/bash
# This file is just used to demo the RPM packaging.
# the only thing is showing the hostname.
HOST=`/bin/hostname`
/bin/echo $HOST

[root@test SOURCES]# chmod 755 showvbird.sh
[root@test SOURCES]# tar –zcvf showvbird.tar.gz showvbird.sh
# 注意了,我們必需要將他打包才行!

上面的動作中,我們編輯了一個shell script檔案,檔名為showvbird.sh,並且將他打包成為具有gzip壓縮的tarball檔案,也就是showvbird.tar.gz這樣的檔案才行!請注意,這個showvbird.tar.gz檔案『必需』放置在SOURCES目錄之下!

再來則是要編輯那個很重要的*.spec檔案啰!你可以這樣簡單的編寫一下:

[root@test root]# cd /usr/src/redhat/SPECS
[root@test SPECS]# vi showvbird.spec
Summary: This is a demo RPM package.
Name: showvbird
Version: 1.0
Release: 1
Copyright: GPL
Group: VBird's Home
Source: showvbird.tar.gz <==這個就是剛剛建立起來的Tarball檔案!
Url: http://linux.vbird.org
Packager: VBird

%description
This package is just a demo RPM.

%prep
%setup –c
%install
install -m 755 showvbird.sh /usr/local/bin/showvbird.sh

%files
/usr/local/bin/showvbird.sh

好了!開始給他編譯並打包成為RPM檔案啦!

[root @test SPECS]# rpmbuild -bb showvbird.spec
….(略)
Wrote: /usr/src/redhat/RPMS/i586/showvbird-1.0-1.i586.rpm

最後這個被打包成功的檔案就被放置在/usr/src/redhat/RPMS/i586/showvbird-1.0-1.i586.rpm啰!然後給他安裝一下:

[root@test SPECS]# rpm –ivh /usr/src/RPM/RPMS/i586/showvbird-1.0-1.i586.rpm
Preparing... ########################################### [100%]
1:showvbird ########################################### [100%]

[root @test SPECS]# rpm –qi showvbird
Name : showvbird Relocations: (not relocateable)
Version : 1.0 Vendor: (none)
Release : 1 Build Date: Wed 06 Nov 2002 11:27:17 PM CST
Install date: Wed 06 Nov 2002 11:27:42 PM CST Build Host: test.linux.org
Group : VBird's Home Source RPM: showvbird-1.0-1.src.rpm
Size : 143 License: GPL
Packager : VBird
URL : http://linux.vbird.org
Summary : This is a demo RPM package.
Description :
This package is just a demo RPM.

[root @test SPECS]# showvbird.sh
test.linux.org
[root @test SPECS]# rpm –ql showvbird
/usr/local/bin/showvbird.sh <==嘿嘿!已經記錄起來了!自己的軟體耶!

用很簡單的方式,就可以將自己的軟體或者程序給他修改與設定妥當!很不錯吧!以後您就可以自行設定你的RPM啰!當然,也可以手動修改您的SRPM的來源檔內容啰!

E. 如何用Nginx源碼製作RPM包的詳解

1、查看操作系統版本和內核版本

2、創建相關目錄

/usr/src/redhat/SOURCES //存放源代碼,補丁,圖標等文件。
/usr/src/redhat/SPECS //存放用於管理rpm製作進程的spec文件。
/usr/src/redhat/BUILD //解壓後的文件存放在這里。
/usr/src/redhat/RPMS //存放由rpmbuild製作好的二進制包。
/usr/src/redhat/SRPMS //存放由rpmbuild製作好的源碼包。

3、下載Nginx源碼包

下載源碼包到SOURCES目錄,不需要解壓。

4、手工創建SPEC文件,由於spec文件是由spec語言編寫的,請注意spec語言的語法。

SPEC文件內容如下:



#############################
# Example Spec File For Nginx
# Edited By LaoXu 7.Mar.2013
#############################
Summary: High Performance Web Server
Name: nginx
Version: 1.3.9
Release: el5
License: GPL
Group: Applications/Server
Source:
URL:
Distribution: Linux
Packager: XuYuanzhen <absolutey.>

%description
nginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server
%prep
rm -rf $RPM_BUILD_DIR/nginx-1.3.9
zcat $RPM_SOURCE_DIR/nginx-1.3.9.tar.gz | tar -xvf -
%build
cd nginx-1.3.9
./configure --prefix=/usr/local/nginx
make
%install
cd nginx-1.3.9
make install
%preun
if [ -z "`ps aux | grep nginx | grep -v grep`" ];then
killall nginx >/dev/null
exit 0
fi
%files
/usr/local/nginx5、開始RPM製作

在製作RPM包之前,需要安裝必要的編譯工具,如rpmbuild,gcc等。

開始編譯生成rpm包

cd /usr/src/RedHat/SPECS/

rpmbuild -bb nginx.spec //-ba 參數表示同時生成二進制包和源碼包 -bb 參數表示只生成二進制包

經過一段時間的編譯後最終生成了rpm包文件

如圖所示,在/usr/src/redhat/RPMS/x86_64/該目錄下生成了我們需要的rpm包,由於我編譯的操作系統平台是64bit的,所以生成的rpm包也是64位的文件。在指定的目錄下生成RPM,通常用%_topdir變數,需要在宏配置文件中指定,配置文件稱為macrofiles,它們通常為 /usr/lib/rpm/macros:/usr/lib/rpm/macros.*:~/.rpmmacros,這個在rhel 5.8中可以通過rpmbuild --showrc | grep macrofiles 查看,我們這里在.rpmmacros文件中定義了生產rpm包的路徑為/usr/src/redhat

最後安裝生成的rpm包

至此Nginx源碼製作並安裝成功!

F. 如何使用rpmbuild編譯源碼RPM包

1、查看操作系統版本和內核版本

2、創建相關目錄

/usr/src/redhat/SOURCES //存放源代碼,補丁,圖標等文件。/usr/src/redhat/SPECS //存放用於管理rpm製作進程的spec文件。/usr/src/redhat/BUILD //解壓後的文件存放在這里。/usr/src/redhat/RPMS //存放由rpmbuild製作好的二進制包。/usr/src/redhat/SRPMS //存放由rpmbuild製作好的源碼包。

3、下載Nginx源碼包

下載源碼包到SOURCES目錄,不需要解壓。

4、手工創建SPEC文件,由於spec文件是由spec語言編寫的,請注意spec語言的語法。

SPEC文件內容如下:

#Example Spec File For Nginx# Edited By LaoXu 7.Mar.2013#Summary: High Performance Web ServerName: nginxVersion: 1.3.9Release: el5License: GPLGroup: Applications/ServerSource:URL:Distribution: LinuxPackager: XuYuanzhen <absolutey.>%descriptionnginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server%preprm -rf $RPM_BUILD_DIR/nginx-1.3.9zcat $RPM_SOURCE_DIR/nginx-1.3.9.tar.gz | tar -xvf -%buildcd nginx-1.3.9./configure --prefix=/usr/local/nginxmake%installcd nginx-1.3.9make install%preunif [ -z "`ps aux | grep nginx | grep -v grep`" ];thenkillall nginx >/dev/nullexit 0fi%files/usr/local/nginx5、開始RPM製作

G. tar.gz和tar.bz2的包 怎麼轉換成 rpm的包

我覺得應該有tar2rpm之類的工具,可是我一般都是用RPMBuilder來打包的,它功能就是打包已經存在的文件。

這樣你需要把tar.gz類似的源碼包,直接解壓、編譯生成最終的目標文件,然後用RPMBuilder按下邊的步驟簡單操作就好了:

RPMBuilder,開源C++的,基於Linux。很easy:
>rpmbuilder # 執行第一次是為了生成RPMBuilder.xml配置文件
>vi RPMBuilder.xml # 簡單配置一下
>rpmbuilder # 開始打包
搞定!
去下邊的link去下載rpm包,安裝,直接用~
Links:
https://sourceforge.net/projects/xml2rpm/files/

H. 如何編譯內核及製作RPM包

前言

要編譯自內核能各種同答案列舉:
1 研究習內核源碼
2 支持新硬體或者打某項內核功能
3 升級內核更新版本
4 按自要求定製優化內核功能
種種...
折騰需要理由我說面直接進入主題
編譯式
編譯內核種式kernel.org載選擇載需要版本內核源碼
:linux-2.6.32-rc1.tar.bz2載內核源碼/home/user/目錄進入載目錄解壓壓縮包

#cd /home/user/
#tar -xjvf linux-2.6.32-rc1.tar.bz2

二 准備編譯環境

始前首先確認面軟體包已經安裝(編譯標普華4.0直接全部安裝CD3保證條件)
* rpmdevtools
* yum-utils
fedora系統使用命令安裝:
#yum install yum-utils rpmdevtools

1. rpmbuild命令工作所需目錄樹面命令完該操作手建立目錄樹
命令建立:
#rpmdev-setuptree

命令/usr/src/rpmbuild/目錄目錄結構(位置沒則能前用戶目錄).

# tree /usr/src/rpmbuild/
rpmbuild/
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS
面部rpmbuild環境建立rpm
3. 安裝內核源碼包需要依賴組件(跳步操作)

su -c 'yum-builddep kernel-.src.rpm'
4.安裝內核源碼系統默認目錄/usr/src/neoshine:

rpm -Uvh kernel-.src.rpm

三 配置內核(config配置文件)

面介紹何解源碼包並修改配置重新打包源碼
1. 解源碼包並打所補丁BUILD目錄

cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel.spec

kernel源碼找:

/usr/src/neoshine/rpmbuild/BUILD/kernel-/linux-. directory

配置內核源碼
1. 進入內核源碼:

cd ~/rpmbuild/BUILD/kernel-2.6.$ver/linux-2.6.$ver.$arch/
2. 復制/boot/config*配置文件源碼目錄,config文件已經配或者其備份kernel配置文件:

cp /boot/config2.6- 2.6.$ver.$arch .config
3. 先檢查kernel配置新增選項:

make oldconfig
4. 定製內核功能關閉initrd支持選項執行圖形化內核配置工具:

make menuconfig
註:generic setup選項找initial RAM system and RAM disk(initramfs and initrd) support 項取消編譯同確保跟文件系統應驅系統所存儲器應驅都已經編譯內核(否則啟系統).

5. .config文件第行改面內容(注意:沒行面編譯報錯)

# i386
6. 拷貝.configSOURCES/:

cp .config ../SOURCES/config-$arch

四 編譯新內核

1. 面始准備編譯新內核包
打SPEC/kernel.spec

vim SPEC/kernel.spec
改變面行內容定製自內核擴展名(fc10類):

%define buildid .
步新內核rpm包程需要編譯內核源碼包
使用面命令新內核源碼包
rpmbuild -bb --with baseonly --without debuginfo --target=`uname -m` kernel.spec

參數說明:bb表示編譯二進制包即源碼包without debuginfo 表示沒調試信息
target=`uname -r`表示應前平台內核包
面命令功執行完BUILD/i686目錄新內核安裝包

五 安裝新內核

rpm -ivh kernel-$ver-$arch.rpm
步操作自安裝內核boot目錄安裝應內核模塊/lib/moles/目錄並且新內核應grub引導菜單
修改grub引導菜單格式

title new kernel
kernel /boot/vmlinuz-$ver-$arch root=/dev/sdax(hdax)

注意處要使用uuid指定跟文件系統(能掛載根區導致內核死機)要再加顯示相關參數(內核支持應設置看黑黑屏幕)
至禁用initrd新內核配置安裝完畢

I. linux 里rpm包到底是干什麼用的啊

RPM(RedHat Package Manager)一種通過資料庫管理的方式將所需要的軟體安裝到主機上的管理程序。

RPM包的特點:

1、事先已經編譯好。

2、安裝方便。

3、安裝過程中要求環境一致。

4、反安裝時要從最上層開始。

RPM(Red hat Package Manage)是事實的業界標准,是red hat開發的標准,優點是管理軟體方便簡單,類似於DEB包(den組織的寶管理方式)。

Linux是通過rpm來管理和實現軟體的安裝、查看、刪除的。

(9)編譯包製作rpm擴展閱讀:

RPM軟體包管理器

英文原義:RPM Package Manager(原Red Hat Package Manager,現在是一個遞歸縮寫)

註解:一種用於互聯網下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成具有.RPM擴展名的文件。與Dpkg類似。

RPM文件在Linux系統中的安裝最為簡便。以著名的圖像處理軟體XV為例,其RPM包xv-3.10a-13.i386.rpm可以在該程序的主頁中下載取得。

閱讀全文

與編譯包製作rpm相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:577
python員工信息登記表 瀏覽:375
高中美術pdf 瀏覽:158
java實現排列 瀏覽:511
javavector的用法 瀏覽:979
osi實現加密的三層 瀏覽:230
大眾寶來原廠中控如何安裝app 瀏覽:911
linux內核根文件系統 瀏覽:240
3d的命令面板不見了 瀏覽:523
武漢理工大學伺服器ip地址 瀏覽:146
亞馬遜雲伺服器登錄 瀏覽:521
安卓手機如何進行文件處理 瀏覽:70
mysql執行系統命令 瀏覽:928
php支持curlhttps 瀏覽:142
新預演算法責任 瀏覽:443
伺服器如何處理5萬人同時在線 瀏覽:249
哈夫曼編碼數據壓縮 瀏覽:424
鎖定伺服器是什麼意思 瀏覽:383
場景檢測演算法 瀏覽:616
解壓手機軟體觸屏 瀏覽:348