之前一直使用系统自带的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. Bug不能重现的原因分析及其对策

    摘 要:本文简要分析了无法重现的Bug的可能产生原因,包括环境不一致.缺少最准确的描述和浏览器的不当设置.针对这些原因,本文给出了相应的对策.通过这些措施,可以重现许多以前认为不可重现的Bug.    ...

  2. [原创]java获取word文档的条目化内容

    在开发Web办公系统或文档系统时,PageOffice组件是众所周知的在线处理微软word/ppt/excel文档的强大工具,它对WORD文档的各种处理在API层面进行了封装,屏蔽了Office VB ...

  3. phpMVC框架的核心启动类定义

    <?php//核心启动类class Framework { //定义一个run方法 public static function run(){ // echo "hello,wrold ...

  4. close() was never explicitly called on database

    在用SQLiteDatabase的时候如果碰到说database或者cursor没有关闭,可以在使用完之后加上: if (!cursor.isClosed()) { cursor.close(); } ...

  5. ASP.NET Core:WebAppCoreApi

    ylbtech-ASP.NET Core:WebAppCoreApi 1.返回顶部 1. 2. 3.           4. 2. Controllers返回顶部 1.ValuesControlle ...

  6. YARN(MapReduce 2)运行MapReduce的过程-源码分析

    这是我的分析,当然查阅书籍和网络.如有什么不对的,请各位批评指正.以下的类有的并不完全,只列出重要的方法. 如要转载,请注上作者以及出处. 一.源码阅读环境 需要安装jdk1.7.0版本及其以上版本, ...

  7. k8s认证及ServiceAccount-十五

    一.ServiceAccount (1)简介 https://www.kubernetes.org.cn/service-account Service account是为了方便Pod里面的进程调用K ...

  8. POJ2105【进制转化】

    直接瞎写就可以水过.我记得STL有很多好的函数,哎.水过去补多校的题. //#include <bits/stdc++.h> #include<cstdio> #include ...

  9. POJ3616【基础DP】

    //因为同一点结束的时间段会有多个,这里没考虑: //无限wa: const int N=1e6+7; int b[N]; LL a[N]; LL dp[N]; struct asd{ int s; ...

  10. python 基本类型的创建方法

    1.int class int(object) | int(x=0) -> integer | int(x, base=10) -> integer | | Convert a numbe ...