本文共 4024 字,大约阅读时间需要 13 分钟。
文章 ,论文 ,笔记
人 电脑 --- > USB ---> 笔记本(改动文章,忘了哪个是最新的) --->云盘
代码,脚本 ==> 版本控制常见的版本控制软件:cvs,svn(Subversion) ,git
客户端
-命令行 -图形 通信方式 -本地访问 -SVN服务器 -Web服务器备份功能的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/project5.修改配置文件
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 = rw6.启服务
[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[还原] 新空仓库路径 < 备份文件-----------------------------------------------------------------------------------------
流程:\|/
源码包计算机不可读,先编译--->安装--->打包
/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 |
yum - y install nginx-1.12.2-1.x86_64.rpm
转载地址:http://lhiqi.baihongyu.com/