兰色精灵 发表于 2015-1-14 20:27:14

来一发Linux下源码包制造成RPM包

欢迎大家来到仓酷云论坛!第一步:起首装置rpm-build软件包:完成天生rpm包操纵
#rpm-qa|greprpm-build
#yuminstall-yrpm-build

第二步:制造httpd.spec文件
注:必需一般用户来做

#useraddtom
#su-tom
$vimhttpd.spec
$cathttpd.spec
Name:httpd//步伐名
Version:2.2.25//版本号
Release:1%{?dist}
Summary:compiledfrom2.2.25byzsp//形貌信息,这个能够自界说写

Group:SystemEnvironment/Daemons
License:GPL
URL:http://www.tarnea.com//自界说该信息
Source0:httpd-2.2.25.tar.gz//源文件称号,需和上面第四步对应,文件称号要一向
BuildRoot:%(mktemp-ud%{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires:gcc,gcc-c++,openssl-devel//天生rpm包所必要的软件撑持
Requires:wireshark-gnome//实行该rpm

%description
Apachewebserver.Compiledfrom2.2.25byzsp

%prep
%setup-q


%build
./configure--prefix=/usr/local/httpd--enable-so--enable-rewrite--enable-cgi--enable-ssl--enable-charset-lite--enable-suexec--with-suexec-caller=daemon--with-suexec-docroot=/usr/local/httpd/htdocs

make%{?_smp_mflags}


%install//装置之前需初始化装置目次
rm-rf%{buildroot}
makeinstallDESTDIR=%{buildroot}


%clean
rm-rf%{buildroot}


%files//装置以后天生的文件
%defattr(-,root,root,-)
%defattr(-,root,root,-)
/usr/local/httpd/bin/*
/usr/local/httpd/build/*
/usr/local/httpd/cgi-bin/*
%config/usr/local/httpd/conf/*
/usr/local/httpd/error/*
/usr/local/httpd/htdocs/*
/usr/local/httpd/icons/*
/usr/local/httpd/include/*
/usr/local/httpd/lib/*
%dir/usr/local/httpd/logs
%doc/usr/local/httpd/man/*
%doc/usr/local/httpd/manual/*
/usr/local/httpd/modules/*

%post//装置以后必要实行的举措,将apachectl拷贝成myhttpd
cp/usr/local/httpd/bin/apachectl/etc/init.d/myhttpd
sed-i1a#chkconfig:23458515/etc/init.d/myhttpd
sed-i2a#description:apachewebserver/etc/init.d/myhttpd
chkconfig--addmyhttpd

%preun//卸载该rpm包所实行的一些操纵
/etc/init.d/myhttpdstop
chkconfig--delmyhttpd


%changelog//界说一些日记文件,可使用:rpm-q--changeloghttpd检察到
*WedMar262014zhangzhg<zsp@tarena.com>2.2.25
-firstrpmfromhttpd-2.2.25

$

第三步:天生相干目次
$ls
httpd-2.2.25.tar.gzhttpd.spec
$rpmbuildhttpd.spec//天生相干目次,有毛病范例的提醒信息,属一般
error:File/home/tom/rpmbuild/SOURCES/httpd-2.2.25.tar.gz:Nosuchfileordirectory
$ls
httpd-2.2.25.tar.gzhttpd.specrpmbuild//天生以后会呈现rpmbuild目次
$lsrpmbuild/
BUILDBUILDROOTRPMSSOURCESSPECSSRPMS//rpmbuild目次下有这六个目次


第四步:把文件拷贝到指定目次
$cphttpd.specrpmbuild/SPECS/
$cphttpd-2.2.25.tar.gzrpmbuild/SOURCES/

第五步:天生RPM包
$rpmbuild-barpmbuild/SPECS/httpd.spec

假如没法实行,则大概会提醒没有装置gcc、gcc-c++和openssl-devel软件,加入tom用户,实行yum装置便可;#yuminstall-ygccgcc-c++openssl-devel

装置完成后,会在在RPMS目次下天生rpm包,在SRPMS目次下天生源码包:
$lsrpmbuild/RPMS/x86_64/
httpd-2.2.25-1.el6.x86_64.rpm
$lsrpmbuild/SRPMS/
httpd-2.2.25-1.el6.src.rpm
$


第六步:测试重生成的RPM包
#cp/home/tom/rpmbuild/RPMS/x86_64/httpd-2.2.25-1.el6.x86_64.rpm.
#rpm-ivhhttpd-2.2.25-1.el6.x86_64.rpm
//因为在httpd.spec文件中设置了依附干系,以是装置的时分会提醒有wireshark-gnome的依附,做这个设置为了考证rpm制造时的依附选项,以是,能够经由过程疏忽依附干系装置。
error:Faileddependencies:
wireshark-gnomeisneededbyhttpd-2.2.25-1.el6.x86_64
#rpm-ivh--nodepshttpd-2.2.25-1.el6.x86_64.rpm//疏忽依附干系装置
Preparing...###########################################
1:httpd###########################################
#rpm-e--nodepshttpd-2.2.25-1.el6.x86_64
httpd(nopidfile)notrunning
//因为没有开启myhttpd,而在httpd.spec文件中设置了%preun选项,以是会有提醒说httpd没有运转
#


欢迎大家来到仓酷云论坛!

山那边是海 发表于 2015-1-16 18:01:43

来一发Linux下源码包制造成RPM包

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

精灵巫婆 发表于 2015-1-25 21:17:25

我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。

分手快乐 发表于 2015-2-4 11:48:15

熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:

简单生活 发表于 2015-2-9 22:28:34

为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?

小魔女 发表于 2015-2-28 03:16:49

随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。

仓酷云 发表于 2015-3-9 21:04:54

Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。

再见西城 发表于 2015-3-17 03:58:38

笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机

老尸 发表于 2015-3-23 21:53:32

掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。
页: [1]
查看完整版本: 来一发Linux下源码包制造成RPM包