Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1807601
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2013-05-13 13:35:43

一、自建YUM源
现在基本上已经不再编译源码安装应用了,管理起来实在太麻烦,还是用RPM来管理各软件包,RPM/YUM的可维护性与方便比起编译源码强太多了,把自己用到的一些RPM包整理起来,自建一个YUM源,使用起来还挺方便的。

创建YUN源需要使用createrepo工具,yum -y install createrepo

然后就可以开始自建源了:

1)规划/创建目录

1
#mkdir -p /data/yum/centos/5/{i386,x86_64,noarch}

2)生成repodata

1
2
3
4
#cd /data #createrepo -p -d -o yum/centos/5/i386 yum/centos/5/i386 #createrepo -p -d -o yum/centos/5/x86_64 yum/centos/5/x86_64 #createrepo -p -d -o yum/centos/5/noarch yum/centos/5/noarch

3)配置YUM源
在/etc/yum.repos.d/下新建一个文件,扩展名为.repo,如crsay.repo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[crsay] name=crsay baseurl=http:///yum/centos/$releasever/$basearch/ enabled=1 gpgcheck=0 gpgkey=
  #以下可忽略 [crsay-noarch] name=crsay baseurl=http:///yum/centos/5/noarch/ enabled=1 gpgcheck=0 gpgkey=

至此自建源的工作搞定。

二、制作RPM包
为了不至于因为编译错误导致系统出错,使用一个普通用户来编译RPM包,当然,事先要安装rpmbuild工具,yum -y install rpm-build

开始:

1
2
3
4
5
6
7
8
9
10
#useradd kuka #passwd kuka #su kuka #cd $ mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SRPMS,SPECS,tmp} $ mkdir ~/rpm/RPMS/{i386,i586,i686,noarch}  
$ vi ~/.rpmmacros %_topdir /home/kuka/rpm %_tmppath /home/kuka/rpm/tmp

编译RPM,关键在于spec文件编写,这里是一个最简单的例子,仅仅是拷贝一些脚本到/usr/sbin目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
kukashpack.spec
  %define name kukashpack %define version 1.0 %define release 1  
Summary: kuka sh tool packages
Name: %{name} Version: %{version} Release: %{release} License:share
Group: Applications/User
BuildArch: noarch
BuildRoot: %{_builddir}/%{name}-root
URL: http://
Distribution: whatever
Vendor: kuka (cracada@gmail.com) Packager: cracada@gmail.com
Provides: kuka
  %description
This package contains Some sh tools, just build for me
  %prep exit 0   %build exit 0   %install exit 0   %files %defattr(0755,root,root) /usr/sbin /root
 
  %clean exit 0

保存文件,放入~/rpm/SPECS目录,然后

1
2
3
mkdir ~/rpm/BUILD/kukashpack-root mkdir ~/rpm/BUILD/kukashpack-root/usr/sbin mkdir ~/rpm/BUILD/kukashpack-root/root

把需要复制的文件放到上面新建的目录内,进入SPECS目录

1
$ rpm -bb kukashpack.spec

进入RPMS目录,验证RPM包

1
2
$ rpm -qpi kukashpack-1.0-1.noarch.rpm
$ rpm -qpl kukashpack-1.0-1.noarch.rpm



阅读(1271) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~