而
recompile
不但½行编译跟打包,还同时½行『安装』了!
不过,要注意的是,这两个选项都没有修改过
SRPM
内的设定值,½是透过再次编译来产生
RPM
可
安装软件文件而已。
一般来说,如果编译的动作顺利的话,那么编译过程所产生的中间暂存盘都会
被自动删除,如果发生任何错误,
则该中间文件会被保留在系统上,等待用户的除错动作!
问:
请由
http://vault.centos.org/
下载正确的
CentOS
版本中,
在
updates
软件库当中的
ntp
软件
SRPM
,请下载最
新的那个版本即可,然后½行编译的行为。
答:
目前
(2015/09)
最新的版本为:
ntp
-
4.2.6p5
-
19.el7.centos.1.src.rpm
这一个,所以我是这样作的:
.
先下载软件:
wget http://vault.centos.org/7.1.1503/updates/Source/SPackages/ntp
-
4.2.6p5
-
19.el7.centos.1.src.rpm
.
再尝试直½编译看看:
rpmbuild
--
rebuild ntp
-
4.2.6p5
-
19.el7.centos.1.src.rpm
.
上面的动作会告诉我还有一堆相依软件没有安装~所以我得要安装起来才行:
yum install libcap
-
devel openssl
-
devel libedit
-
devel pps
-
tools
-
devel autogen autogen
-
libopts
-
devel
.
再次尝试编译的行为:
rpmbuild
--
rebuild ntp
-
4.2.6p5
-
19.el7.centos.1.src.rpm
.
最终的软件就会被放置到:
/root/rpmbuild/RPMS/x86_64/ntp
-
4.2.6p5
-
19.el7.centos.1.x86_64.rpm
上面的测试案例是½一个
SRPM
文件抓下来之后,依据你的系统重新½行编译。一般来说,因为该
编译可能会依据你的系统硬件而优化,
所以可能效能会好一些些,但是
...
人类根本感受不到那种效
能优化的效果~所以并不½议你这么作。此外,
这种情况也很能发生在你从不同的
Linux distribution
所下载的
SRPM
拿来想要安装在你的系统上,这样作才算是有点意义。
一般来说,如果你有需要用到
SRPM
的文件,大部分的原因就是
...
你需要重新修改里面的某些设定,
让软件加入某些特殊功能等等的。
所以啰,此时就得要½
SRPM
拆开,编辑一下编译配置文件,
然后再予以重新编译啦!下个小½我们来玩玩修改设定的方式!
22.4.2 SRPM
使用的路径与需要的软件
SRPM
既然含有
source code
,那么其中必定有配置文件啰,所以首先我们必需要知道,这个
SRPM
在½行编译的时候会使用到哪些目录呢?这样一来才能够来修改嘛!
不过从
CentOS 6.x
开始
(
当然
包含我们的
CentOS 7.x
啰
)
,因为每个用户应该都有能力自己安装自己的软件,因此
SRPM
安装、
设定、编译、最终½果所使用的目录都与操作者的家目录有关~鸟哥假设你用
root
的身份来½行
SRPM
的操作,
那么你应该就会使用到下列的目录喔:
/root/rpmbuild/SPECS
这个目录当中放置的是该软件的配置文件,例如这个软件的信息参数、设定项目
等等都放置在这里;
/root/rpmbuild/SOURCES
这个目录当中放置的是该软件的原始文件
(*.tar.gz
的
文件
)
以及
config
这个配