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可以在该程序的主页中下载取得。