之前一直使用系统自带的SAMBA,近期需要对SAMBA代码做一些修改,然后还是打算用RPM包的方式来安装部署。

这个流程本身不复杂,在这里记录下来,免得在另外写说明文档。

关键词:RHEL5.8, samba, rpm, rpmbuild

一、打包新的RPM
1.安装samba.3.0.33-3.37.e15.src.rpm

  # rpm -ivh samba.3.0.33-3.37.e15.src.rpm
2.cd到RPMBUILD目录下
使用rpmbuild --showrc | grep _topdir来获得具体的RPMBUILD目录,如果没做过修改的话,RHEL上的默认目录应该是/usr/src/redhat)
3.RPMBUILD目录应该包含BUILD,RPMS,SOURCES,SPECS,SRPMS等目录。
进入SPECS目录,这时应该已经有了samba.spec文件
而SOURCES目录下,应该有了samba-3.0.33.tar.gz,一些patch文件和samba需要用到的配置文件
4.解压samba-3.0.33.tar.gz
tar xzvf samba-3.0.33.tar.gz
5.cd samba-3.0.33/source,进行需要的修改
6.重新打包源代码
tar czvf samba-3.0.33.tar.gz samba-3.0.33/
7.打rpm包
打包好像需要cups-devel这个工具,找到cups-devel-1.3.7-30.el5.x86_64.rpm安装一下就行。
# rpmbuild -bb samba.spec
这时应该进行打patch,make,build rpm等动作,完成后,RPMS目录下应该有已经打包好的RPM文件。

二、安装新的RPM
1.卸载系统已安装的rpm
# rpm -qa | grep samba
# rpm -qa | grep smb
# rpm -e libsmbclient --nodeps
# rpm -e samba-client
# rpm -e samba-common

2.安装新包
cd到之前的RPMBUILD/RPMS目录下,
# rpm -ivh libsmbclient-3.0.33-3.37.x86_64.rpm
# rpm -ivh samba-common-3.0.33-3.37.x86_64.rpm
# rpm -ivh samba-3.0.33-3.37.x86_64.rpm

完工

参考资料:

http://www.ibm.com/developerworks/cn/linux/l-rpm/

http://www.worldhello.net/2011/04/02/2405.html

RHEL5.8上SAMBA源码修改打包安装流程的更多相关文章

  1. 百度ueditor vue项目应用 -- 图片上传源码修改

    本文目的有两个,一.废掉单图上传,二.改造多图上传 大家都知道百度ueditor不是针对vue项目开发的,官方文档提供的源码包里有需要后端配置的接口,but到vue项目就不太好办了,网上有些文章也介绍 ...

  2. ubuntu上用源码进行一键安装mysql

      首先卸载原有的mysql: 首先查看自己的mysql有哪些依赖 #dpkg --list|grep mysql 先卸载 #sudo apt-get remove mysql-common #sud ...

  3. openfire源码修改后如何打包部署到linux服务器上

    原文:http://blog.csdn.net/jinzhencs/article/details/50457152 1.linux版本的3.10.3解压部署启动(过程略,参考我的另一篇博文http: ...

  4. vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录)

    为了回答这个问题,我们首先需要了解Webpack如何处理静态资产.在 *.vue 组件中,所有模板和CSS都会被 vue-html-loader 及 css-loader 解析,并查找资源URL.例如 ...

  5. el-upload源码修改跳坑

    之前给element-ui提了一个问题,结果没有鸟我,没办法,只能修改源码来满足需求了 (备注:element-ui2依然没有修改,为了迎合产品还是要改源码) 本文讨论的组件属性仅限于list-typ ...

  6. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

  7. Android6.0 源码修改之 Contacts应用

    一.Contacts应用的主界面和联系人详情界面增加顶部菜单添加退出按钮 通过Hierarchy View 工具可以发现 主界面对应的类为 PeopleActivity 联系人详情界面对应的类为 Qu ...

  8. maven上传源码到私服

    上传源码 项目中采用了分模块的方式构建,直接将maven-source-plugin写到父pom中,尝试了很多次发现源码一直不能上传到私服中,纠结了很长时间才发现原来多模块项目和普通一个项目的配置是有 ...

  9. postgresql密码加强-passwordcheck源码修改三种以上字符

    目录 1.使用方式 2.效果 3.源码修改 1.参考pg_cron的源码在配置文件内增加一个参数 2.修改源码配置校验数字 因数据库入网检测须修改密码级别,在源有的passwordcheck插件上进行 ...

随机推荐

  1. fuse的mount机制-流程及参数

    在bbfs中,传递的参数有两个目录,fuse将一个目录挂载在另一个目录下. 在ssfs中,传递的参数只有一个目录(传递两个目录fuse会出错). 问题:那么fuse的mount机制到底需要几个目录参数 ...

  2. perl字符集处理

    本文内容适用于perl 5.8及其以上版本. perl internal form 在 Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种u ...

  3. Codeforces-914F Substrings in a String (Bitset求T串中S串出现次数)

    之前有过区域赛,简化版问题: 给定一个小写字符组成的字符串S,(|S|<1e5,下标从1开始),现在有Q种操作,对于每个操作Q(Q<=1e5),输入opt, 如果opt==1,输入x,c, ...

  4. exception.py

    try: raise Exception except Exception as e: print(e) try: raise Exception('comment') except Exceptio ...

  5. [SHOI 2015] 脑洞治疗仪

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4592 [算法] 对于操作1 , 我们首先查询区间[l0 , r0]中有多少个1 , ...

  6. MultiAutoCompleteTextView

    Activity_mian.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  7. Android应用开发完全退出程序的通用方法

    在开发一个android应用时,有可能有N个Activity,而在每个Activity里的菜单里有个"退出程序"菜单,这里就要完全退出程序了,所以今天给大家分享的是Android应 ...

  8. PostgreSQL 图形化客户端工具的使用技巧你都get了吗?

    PostgreSQL 数据库作为目前功能较强大的开源数据库,得到了广泛应用.其中,TSA就用到了这款数据库来存储处理后的一些业务数据.虽然PostgreSQL自身提供了命令行交互式客户端工具psql, ...

  9. 【旧文章搬运】《从PEB获取内存中模块列表》的补充

    原文发表于百度空间,2008-7-26========================================================================== 继续研究PE ...

  10. 利用jenkins和docker实现持续交付

    利用jenkins和docker实现持续交付 一.什么是持续交付 让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定.持续的保持在随时可以发布的状况.它的目标在于让软件的构建.测试与发布变得更 ...