博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SVN, 制作RPM包
阅读量:4228 次
发布时间:2019-05-26

本文共 4024 字,大约阅读时间需要 13 分钟。

文章 ,论文 ,笔记

人     电脑  --- >  USB ---> 笔记本(改动文章,忘了哪个是最新的) --->云盘

代码,脚本  ==> 版本控制

常见的版本控制软件:cvs,svn(Subversion) ,git

客户端

-命令行
-图形

通信方式
-本地访问
-SVN服务器
-Web服务器

Subversion

版本控制核心:版本库
-任意数量客户端
-客户端通过写数据库分享代码
自动备份,记录每一次改变

备份功能的FTP[]+自动合并

共享文件【资料发到文件夹】
客户端访问

一、web1服务器,web2客户端

1)web1
1.yum安装Subversion
2.创建共享目录  mkdir /var/svn/
3.创建版本库  svnadmin create /var/svn/project   [空仓库]
4.往仓库导入数据 
cd  /usr/lib/systemd/system/
svn import . file:///var/svn/project/ -m "注释随便写" 
该文档不以明文存储
du -sh /var/svn/project
608K    /var/svn/project

5.修改配置文件

cd /var/svn/project/conf/
[root@web1 conf]# ls
authz  passwd  svnserve.conf (从右往左改)

]# vim svnserve.conf
注:所有都要顶头写,开头不要有空格
anon-access = none
//19行,匿名无任何权限
auth-access = write
//20行,有效账户可写
password-db = passwd
//27行,密码文件
authz-db = authz
//34行,ACL访问控制列表文件

]# vim passwd

… …
[users]
harry = 123456
//用户名和密码
tom = 123456
//用户名和密码

]# vim  authz [访问控制]
尾行新增
[/]
harry = rw
tom = rw

6.启服务

[root@web1 conf]# svnserve -d(放后台)  -r(共享目录在那) /var/svn/project
重启先killall svnserve  再svnserve -d -r /var/svn/project

[root@web1 conf]# ss -nutlp | grep svn

tcp    LISTEN     0      7         *:3690(端口)                 *:*                   users:(("svnserve",pid=7732,fd=3))

备注:启动服务也可以使用svnserve -d(不加r)启动,但客户端访问时需要指定绝对路径(svn://服务器IP/var/svn/project).

2)Web2:
1. cd /tmp  (随便一个干净的地方)
#check out=co下载
[root@web2 ~]# svn --username harry --password 123456 \
co svn://192.168.2.100/ code(目录,没有则新建)
#建立本地副本,从服务器192.168.2.100上co下载代码到本地code目录
保存未加密的密码(yes/no)?y  下次不用密码直接访问
   
[root@web2 code]# cd /tmp/code  #svn要在共享目录下操作
vim user.slice  #随便改一个文件,测试用
svn ci -m "modify use“ #将本地修改的数据同步到服务器,ci(commit)上传; -m注释
svn update             #将服务器上新的数据同步到本地
svn info     svn://192.168.2.100    //查看版本仓库基本信息
svn log     svn://192.168.2.100    //查看版本仓库的日志
echo "test" > test.sh        //本地新建一个文件
svn ci -m "new file"            //提交失败,该文件不被svn管理
svn add/rm/mkdir/mv  test.sh                //将文件或目录加入版本控制
svn ci -m "new file"            //再次提交,成功
svn revert 文档

svn:
add    添加
commit(ci) 提交更新    
checkout(co) 检出代码
cat 查看代码文件内容
del 删除
diff 文件对比
import 导入代码
info 查看版本信息
list 查看文件列表
log 查看版本改动
update 更新
mkdir 创建目录

svn[版本控制,管理文件和目录] 共享目录(不会像ftp,smb,nfs那样会覆盖)只有增量修改上传,自动管理

创建共享目录,创建仓库svnadm create,svn import导数据进仓库

修改配置文件[server.conf  , password , authz]
找客户端:
下载文件-->svn co svn:///ip  目录
本地修改 svn ci -m “注释”    -->上传
更新下载 svn update 
文件操作(svn add,rm,cp,mv)

[工作环境]winds安装TortoiseSVN(图形)直接操作svn

修改相同文件的相同行发生冲突

选择: (p) 推迟,(df) 显示全部差异,(e) 编辑,(r) 已解决,

        (mc) 我的版本, (tc) 他人的版本,
        (s) 显示全部选项: 

p

tuned.service  
tuned.service.mine 我的修改副本
tuned.service.r13  第13个版本
tuned.service.r14   第14个版本,对方已提交

svnadmin dump[备份]  路径/文档  > 目标路径(备份到哪)

svnadmin load[还原]  新空仓库路径  < 备份文件

-----------------------------------------------------------------------------------------

 

打RPM包

流程:\|/

源码包计算机不可读,先编译--->安装--->打包

/usr/local/nginx ---->
vim  /root/rpmbuild/SPECS/nginx.spec
基本信息[名称,版本,网址,描述]
%post 安装后脚本 [kickst]
命令
%setup -q 
./configure  --prefix=/usr/local/nginx
make
make install 
%file
/usr/local/nginx,要与上面config的路径要一致or /usr/local/nginx*
rpmbuild -ba nginx.spec

源码 ---> rpm

tar -xf nginx-1.12.2.tar.tz
cd nginx-1.12.2
./configrue --参数
make
make install
/usr/local/nginx/
tar -czf nginx.rpm /usr/local/nginx #打包过程,并不是tar打包
yum -y install nginx.rpm  解包

 

制作RPM包

yum安装rpm-build
[root@web1 ~]# rpmbuild -ba nginx.spec    #会报错,没有文件或目录
[root@web1 ~]# ls /root/rpmbuild          #自动生成的目录结构
BUILD  BUILDROOT  RPMS(最终成果)  SOURCES(源码包)  SPECS(编译步骤)  SRPMS将源码包复制到rpmbuild子目录
[root@web1 ~]# cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES/
[root@web1 ~]# vim /root/rpmbuild/SPECS/nginx.spec 

Name:nginx    *要与与源玛包一致

Version:1.12.2 *要与压缩包一致
Release:1 第几次做RPM
Summary:任意
#Group:    #组包
License:GPL  #任意复制、修改、拷贝
URL:www.tedu.cn #随意
Source0:nginx-1.12.2.tar.gz  *压缩包名字
#BuildRequires:  #提示依赖包
#Requires: 
%description
详细信息:任意字符

%post  #装这个包执行什么

useradd -s /sbin/nologin  nginxx
...多个命令
%prep
%setup -q  #自动解压源码包,并cd进入目录
%build
./configure  --with-http_ssl_module
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
%files
%doc
/usr/local/nginx/*   #对哪些文件与目录打包
%changelog

 
rpmbuild -ba SPECS/nginx.spec
cd  /root/rpmbuild/RPMS/x86_64/
ls
nginx-1.12.2-1.x86_64.rpm  nginx-debuginfo-1.12.2-1.x86_64.rpm
把之前装的nginx删除
rm -rf /usr/local/nginx/

yum - y install nginx-1.12.2-1.x86_64.rpm

 

转载地址:http://lhiqi.baihongyu.com/

你可能感兴趣的文章
CSS 基本语法
查看>>
10.shell基础
查看>>
为人处世小技巧
查看>>
结构体知识汇总
查看>>
内存操作越界略述
查看>>
消息与消息队列
查看>>
关于#include "stdafx.h"
查看>>
VC下线程同步的三种方法(互斥、事件、临界区)/(转)
查看>>
非常好的一篇U-BOOT的文章--转载
查看>>
【设计模式】学习之创建型 单例模式
查看>>
【设计模式】学习之创建型 原型模式
查看>>
【设计模式】学习之结构型 适配器模式-装饰器模式-代理模式
查看>>
Maven+Eclipse+Tomcat+Spring MVC web 请求 404 问题总结及noHandlerFound
查看>>
SpringMVC API缓存 LastModified的实现总结
查看>>
406 Not Acceptable 415 Unsupported Media Type Spring MVC consumes与produces
查看>>
MyBatis 高级映射与懒加载
查看>>
HCIP-H12-222练习题
查看>>
点到点IPSec VPN的配置
查看>>
MySQL InnoDB何时更新表的索引统计信息
查看>>
MTU 设置错误导致防火墙或者路由器断网
查看>>