Linux环境下SVN常用命令
linux运维工作常用操作命令
linux运维工作常用操作命令Linux操作系统因其稳定性和安全性,已经成为了互联网行业中最为广泛使用的操作系统之一。
随着企业信息化程度不断提升,需要专业的Linux运维工程师来负责管理和维护服务器的日常运行。
本文将介绍一些常用的Linux运维工作操作命令,供大家参考。
1. pwd命令:用于显示当前工作目录的路径。
2. cd命令:用于切换工作目录,例如:cd /home/admin。
进入/home/admin目录。
3. ls命令:用于列出目录下所有的文件和目录。
4. mkdir命令:用于创建一个新的目录,例如:mkdir 。
5. rmdir命令:用于删除一个空的目录,例如:rmdir 。
6. cp命令:用于复制文件或目录,例如:cp -rf /tmp/home /home。
7. mv命令:用于移动文件或目录,例如:mv /tmp/home /home。
8. rm命令:用于删除文件或目录,例如:rm -rf /tmp/home。
9. chmod命令:用于修改文件或目录的权限,例如:chmod 777 /tmp。
10. chown命令:用于修改文件或目录的所有者,例如:chown admin /tmp。
11. chgrp命令:用于修改文件或目录的所属组,例如:chgrp user /tmp。
12. df命令:用于显示文件系统的可用空间和已用空间。
13. du命令:用于显示目录或文件所占用的磁盘空间。
14. top命令:用于显示系统的资源使用情况,包括CPU、内存等。
15. ps命令:用于显示当前系统中正在运行的进程。
16. kill命令:用于关闭指定进程,例如:kill PID。
17. netstat命令:用于显示网络连接状态和信息。
18. ifconfig命令:用于显示和配置网络接口信息。
19. ping命令:用于测试网络连接是否正常,例如:ping .baidu。
20. ssh命令:用于远程登录到其他Linux服务器。
Linux下SVN部署安全及权限配置,实现web同步更新
[examPro:/]
@g_vip=rw
@g_fronter=r
@g_doc=r
[examPro:/protected/modules]
@g_vip=rw
@g_fronter=
*=
[examPro:/protected]
@g_doc=
对于以上代码的配置的详细说明,可以参考本文的参考文章[1]SVN权限配置,里面介绍的比较详细,这里就不多说,有疑问的请留言或mail;
Linux下SVN部署/安全及权限配置,实现web同步更新:
本文包含以下内容:
SVN服务器安装
SVN权限管理
SVN使用SASL加密
SVN上传时同步其它目录
需求
在WEB线上版本管理的基础上,能够在代码上传之后,立刻通过WEB访问,查看修改效果;同时,保证数据的安全性;
#export LANG=zh_CN.UTF-8
export LANG=en_US.UTF-8
2.设置SVN更新时需要同步更新的目录
svn update /alidata/www/examplePro --username yoursname --password yourpwd
以上这行表明,当svn服务器版本有更新时,则同步更新到/alidata/www/examPro目录下的对应文件;yoursname 和yourpwd是你在sasl中设置的用户名和密码;(这里还是涉及到了明文存放,对此,你可以分配一个用户对svn版本库只有全局的读权限)
现在,SVN就实现了版本管理的功能,同时,同步更新的目录有利于测试人员集成测试;
开发人员需要保证的是,任何时候签入到svn库中的版本是可运行的代码。
linux下搭建SVN手册
linux下搭建SVN服务器完全手册ubuntu14.0 + ssh + yum一,安装必须的软件包.yum install subversion (SVN服务器)mysql-server (用于codestriker)httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)sendmail (用于配置用户提交代码后发邮件提醒)wget gcc-c++ make unzip perl* (必备软件包)ntsysv vim-enhanced (可选)二,基本的SVN服务器配置1,新建一个目录用于存储SVN所有文件# mkdir /home/svn2,新建一个版本仓库# svnadmin create /home/svn/project3,初始化版本仓库中的目录# mkdir project project/serverproject/client project/test (建立临时目录)# svn import project/file:///home/svn/project -m "初始化SVN目录"# rm -rf project (删除临时建立的目录)4,添加用户要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password"的条目就可以了.为了测试,我添加了如下内容:[users]# harry = harryssecret# sally = sallyssecretpm = pm_pwserver_group = server_pwclient_group = client_pwtest_group = test_pw5,修改用户访问策略/home/svn/project/conf/authz记录用户的访问策略,以下是参考:[groups]project_p = pmproject_s =server_groupproject_c =client_groupproject_t = test_group[project:/]@project_p = rw* =[project:/server]@project_p = rw@project_s = rw* =[project:/client]@project_p = rw@project_c = rw* =[project:/doc]@project_p = rw@project_s = rw@project_c = rw@project_t = rw* =以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录.6,修改svnserve.conf文件,让用户和策略配置升效.svnserve.conf内容如下:[general]anon-access = noneauth-access = writepassword-db =/home/svn/project/conf/passwdauthz-db =/home/svn/project/conf/authz7,启动服务器# svnserve -d -r /home/svn8,测试服务器# svn co svn://192.168.60.10/projectAuthentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dPassword for 'root':Authentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dUsername: server_groupPassword for 'server_group':svn: Authorization failed ( server_group 没用根目录的访问权 )# svn co svn://192.168.60.10/projectAuthentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dPassword for 'root':Authentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dUsername: pmPassword for 'pm':A project/testA project/serverA project/clientChecked out revision 1. ( 测试提取成功 )# cd project/server# vim main.c# svn add main.c# svn commit main.c -m "测试一下我的C 程序,看什么看,不行啊??"Adding main.cTransmitting file data .Committed revision 2. ( 测试提交成功 )三,配置SVN服务器的HTTP支持1,转换SVN服务器的密码由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。
svn常用命令总结
SVN命令总结1.检出svn co http://路径(目录或文件的全路径) [本地目录全路径]2.导出(导出一个干净的不带.svn文件夹的目录树)svn export http://路径(目录或文件的全路径) [本地目录全路径] 也可指定要导出的版本号:svn export [-r 版本号]3.添加新文件svn add 文件名注:告诉SVN服务器要添加文件了,还要用svn commit -m真实的上传上去!4.提交svn commit -m “提交备注信息文本”文件名svn ci -m “提交备注信息文本”文件名必须带上-m参数,参数可以为空,但是必须写上-m5.更新文件svn updatesvn update -r 修正版本文件名svn update 文件名6.删除文件svn delete 文件名svn ci -m “删除备注信息文本”7.加锁/解锁svn lock -m “加锁备注信息文本”[--force] 文件名svn unlock 文件名8.比较差异svn diff 文件名svn diff -r 修正版本号m:修正版本号n 文件名9.将两个版本之间的差异合并到当前文件svn merge -r m:n path10.查看文件或者目录状态svn st 目录路径/名svn status 目录路径/名目录下的文件和子目录的状态,正常状态不显示:【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】11.查看日志svn log 文件名svn log ./ | more 查看多条记录 -->按空格键即可显示12.查看文件详细信息svn info 文件名13.svn 帮助svn help <-全部功能选项svn help ci <-具体功能的说明14.递归提交一个路径的拷贝到版本库svn import [PATH] URL15.清除锁定svn cleanup16.查看版本库下的文件和目录列表svn list svn://路径(目录或文件的全路径)svn ls svn://路径(目录或文件的全路径)17.创建纳入版本控制下的新目录mkdir newsubdir 创建新目录svn add --non-recursive newsubdirsvn ci -m “提交备注信息文本”目录名18.恢复本地修改svn revert [--recursive] 文件名注意: 本子命令不会存取网络,并且会解除冲突的状况。
linux下常用的svn操作
1:checkout命令:从svn版本库中取代码时可以先查看具体代码的路径,windows下右键单击Tortoise->repo_browser 可直接查看,linux下可以输入命令:svn list 版本库地址如图:Checkout时命令是:Svn checkout 版本库地址如图:注意在目前的svn版本中必须checkout一个文件夹下来,只checkout单个文件会提示失败。
如图:若想查看svn上某个具体文件,从而决定是否要checkout当前版本下来,可以执行命令:svn cat 文件在版本库上的地址。
下载好代码后可以通过执行ll –a 命令查看文件信息,可以看到在下载好的文件夹下有一个.svn 文件夹,该文件夹是用来维护工作拷贝信息的,保证拥有该文件夹的读写权限,就可以对下载的代码进行commit等一系列操作。
如图:2:commit命令:将本地的修改工作拷贝上传到svn 服务器中,保证版本库的一致具体命令是:svn commit 要上传的文件路径–m “日志信息”如图:日志信息可以为空。
注意提交时需将该文件更新,在上传,否则出错。
若当前上传的文件不是从svn上checkout下来的文件,会提示不是工作副本,无法上传。
3:import 命令:将本地代码上传到版本库中进入到需要上传代码的目录,执行命令:Svn import 想要上传到svn的路径-m “上传的日志信息”–no-ignore如图:注意上传时需添加日志选项-m ,可以为空,并且需要添加选项—no-ignore因为svn上传时会默认屏蔽掉so .o 等文件,导致上传上去的代码不完整,若上传一半出错提示某些文件无法识别,最好将该文件的父文件夹打包上传,就可以成功传上去了。
4:log 命令查看svn版本库的日志信息,具体命令是:Svn log 查看日志信息的文件名如图:5:update命令:将当前文件更新到版本库上某个具体版本文件具体命令是:Svn update –r 要更新的版本号文件路径如图:6:add 命令:往版本库中添加新的文件add 功能:向文件拷贝所在的文件夹中添加新的文件,并作出标识,是新添加的,下一步提交时将一并提交到Subversion版本库中去。
linux的svn之checkout命令
linux的svn之checkout命令linux的checkout命令是linux的svn的常用命令之一。
下面由店铺为大家搜集整理了linux的svn之checkout命令的相关知识,希望对大家有帮助!linux的svn之checkout命令常用检出命令:svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn co svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名注:如果不带--password 参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项。
其中 username 与 password前是两个短线,不是一个。
不指定本地目录全路径,则检出到当前目录下。
svn的checkout命令实例svn co svn://192.168.0.3/测试工具/home/testtools --username lukesvn co http://192.168.0.3/test/testapp --username lukesvn checkout svn://192.168.0.3/测试工具 /home/testtools --username lukesvn checkout http://192.168.0.3/test/testapp --username luke标注自己实验过的代码:svn checkout http://XXXX/cxb/weijifen/code/trunk/web/XXX /home/cxb/src/XXXsvn checkout http://XXXXX/cxb/weijifen/code/trunk/web/trunk . /home/cxb/src/XXX检出指定具体版本:svn co http://路径(目录或文件的全路径) [本地目录全路径] [--revision] --username 用户名 --password 密码svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] [--revision] --username 用户名svn co [--revision] http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn checkout [--revision] svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名svn checkout /svn/trunk/ siphon -r r791svn checkout -r r791 /svn/trunk/ siphon检出不包括源文件夹根目录:比如我要checkout trunk/ 下面的所有文件,但是不包括trunk 文件夹我们可以在svn文件夹后面打个空格,在加个“.”就行了svn co http://192.168.1.10/svn/project/trunk/ /home/DSP-OPEN改为:svn co http://192.168.1.10/svn/project/trunk/ . /home/DSP-OPEN查看更多关于checkout参数使用的命令:svn help checkout[root@ltegr ~]# svn help checkoutcheckout (co): Check out a working copy from a repository.usage: checkout URL[@REV]... [PATH]If specified, REV determines in which revision the URL is firstlooked up.If PATH is omitted, the basename of the URL will be used as the destination. If multiple URLs are given each will be checkedout into a sub-directory of PATH, with the name of the sub-directorybeing the basename of the URL.If --force is used, unversioned obstructing paths in the workingcopy destination do not automatically cause the check out to fail.If the obstructing path is the same type (file or directory) as thecorresponding path in the repository it becomes versioned but itscontents are left 'as-is' in the working copy. This means that anobstructing directory's unversioned children may also obstruct andbecome versioned. For files, any content differences between theobstruction and the repository are treated like a local modificationto the working copy. All properties from the repository are appliedto the obstructing path.See also 'svn help update' for a list of possible charactersreporting the action taken.Valid options:-r [--revision] ARG : ARG (some commands also takeARG1:ARG2 range)A revision argument can be one of:NUMBER revision number'{' DATE '}' revision at start of the date'HEAD' latest in repository'BASE' base rev of item's working copy'COMMITTED' last commit at or before BASE'PREV' revision just before COMMITTED-q [--quiet] : print nothing, or only summary information-N [--non-recursive] : obsolete; try --depth=files or --depth=immediates--depth ARG : limit operation by depth ARG ('empty', 'files', 'immediates', or 'infinity')--force : force operation to run--ignore-externals : ignore externals definitionsGlobal options:--username ARG : specify a username ARG--password ARG : specify a password ARG--no-auth-cache : do not cache authentication tokens--non-interactive : do no interactive prompting--trust-server-cert : accept unknown SSL server certificates withoutprompting (but only with '--non-interactive')--config-dir ARG : read user configuration files from directory ARG--config-option ARG : set user configuration option in the format:FILE:SECTION:OPTION=[VALUE]For example:servers:global:http-library=serf知识扩展:check out跟check in对应,export跟import对应check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit 操作。
linux ubuntu下svn命令使用指南
Linux ubuntu下svn的命令使用指南Svn简介:Svn的全名是Subversion,它使用服务端—客户端的结构,当然服务端与客户端可以都运行在同一台服务器上。
在服务端是存放着所有受控制数据的Subversion仓库,另一端是Subversion 的客户端程序,管理着受控数据的一部分在本地的映射(称为工作副本)。
在这两端之间,是通过各种仓库存取层(Repository Access,简称RA)的多条通道进行访问的。
这些通道中,可以通过不同的网络协议,例如HTTP、SSH等,或本地文件的方式来对仓库进行操作。
Subversion是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。
不但提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力。
此外,它支持非ASCII文本和二进制数据,所有这一切都使Subversion不仅对传统的编程任务非常有用,同时也适于Web 开发、图书创作和其他在传统方式下未采纳版本控制功能的领域.Subversion的官方网站是:/大部分的发行版都已经提供Subversion套件,ubuntu下安装subversion客户端:sudo apt-get install subversion使用SubversionSubversion一般使用两种后台服务模式:一种是其自己实现的svnserve,可以通过svn协议访问,另一种是借助mod_dav_svn模块,由Apache http服务器来实现,然后通过HTTP或HTTPS协议来访问。
1、通过svn协议访问svn协议客户端若要通过svn协议访问仓库,必须在存放仓库的机器上运行svnserve服务程序。
启动该程序后,会监听在3690端口,以响应客户端的访问工作。
2、通过HTTP协议访问版本库通过HTTP协议访问版本库是Subversion的亮点之一,这种方式具备许多svnserve服务器所没有的特性,使用上更加灵活。
svn linux下常用命令
在Linux下使用Subversion(SVN)进行版本控制,你可以使用以下常用命令:1. `svn checkout`:从服务器上检出(checkout)一个目录,作为你本地的副本。
语法为`svn checkout path`,其中`path`是服务器的目录路径。
例如:`svn checkout svn://192.168.1.1/pro/domain`。
2. `svn update`:将本地的目录更新到最新的版本。
如果在提交的时候提示过期的话,是因为冲突,需要先`update`,修改文件,然后清除`svn resolved`,最后再提交`commit`。
例如:`svn update test.php`。
3. `svn add`:将新的文件添加到版本库。
语法为`svn add filename`,其中`filename`是要添加的文件名。
例如:`svn add test.cpp`。
4. `svn commit`:将修改的内容提交到版本库。
语法为`svn commit -m "注释"`,其中`-m "注释"`是提交的注释信息。
例如:`svn commit -m "注释" test.cpp`。
5. `svn lock`:给文件加锁,防止其他用户修改。
语法为`svn lock -m "注释" path`,其中`path`是要锁定的文件路径,`-m "注释"`是锁定的注释信息。
例如:`svn lock -m "注释" test.cpp`。
6. `svn unlock`:解锁文件,允许其他用户修改。
语法为`svn unlock path`,其中`path`是要解锁的文件路径。
例如:`svn unlock test.cpp`。
7. `svn status`:查看文件或者目录状态。
可以查看正常状态(例如`svn status path`)和详细状态(例如`svn status -v path`)这些是Linux 下使用Subversion 的常用命令,可以根据实际情况选择适合的命令来操作。
Linux下安装svn
一、准备关联包:1.apr-1.3.8.tar.gz。
下载页面:/download.php?id=25589&ResourceID=470直接复制:/distfiles/apr-1.3.8.tar.gz2.apr-util-1.3.9.tar.gz:下载页面:/download.php?id=25276&ResourceID=472直接复制:/distfiles/apr-util-1.3.9.tar.gz3.Apache,系统已默认安装,其版本可用apachectl–v 查看,我的是Apache/2.2.3。
建议重新安装,因各种包找不到。
下载httpd-2.2.17.tar.gz:下载页面:/download.cgi#apache22直接复制:/apache-mirror//httpd/httpd-2.2.17.tar.gz4.Svn,可能会有版本冲突,现尝试下载1.5.0版本subversion-1.5.0.tar.gz:下载页面:/index.php?q=node/73直接复制:/downloads/subversion-1.5.0.tar.gzSub version-deps-1.5.0-rc5.tar:直接复制:/downloads/subversion-deps-1.5.0-rc5.tar.gz 若只不下载deps,可能会出错:提示你neno没有安装zlib找不到二、安装:1.安装apr:a)解压:tar –xvf apr-1.3.8.tar.gzb)编译:./configure (路径应该是/usr/local/apr)c)安装:make && make install2.安装apr-util:a)解压:tar –xvfapr-util-1.3.9.tar.gzb)编译:./configure --with-apr=/usr/local/aprc)安装:make && make install3.安装apache:a)先去/usr/local下创建apache目录命令:mkdir /usr/local/apacheb)解压下载的apache,计入目录并安装,(一各回车一个命令)tar –xvfhttpd-2.2.17.tar.gzcd httpd-2.2.17./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav--enable-maintainer-mode --enable-rewritemakemake install./configure //配置源代码树--prefix=/usr/local/apache2 //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
linux下搭建SVN
linux下搭建SVN查看系统下有没有安装过⽼版本的svn:rpm -qa subversion,如果没安装过则什么都不显⽰如果有⽼版本先运⾏⼀下yum -y remove subversion,删除⽼版本。
第⼀步:通过yum命令安装svnserve,命令:yum -y install subversion此命令会全⾃动安装svn服务器相关服务和依赖,安装完成会⾃动停⽌命令运⾏若需查看svn安装位置,可以⽤命令:rpm -ql subversion第⼆步:创建版本库⽬录(此仅为⽬录,为后⾯创建版本库提供存放位置,subversion默认是把/var/svn作为数据根⽬录的,开机启动默认也是从这⾥):mkdir /var/svn/svnrepos第三步:创建svn版本库在第⼆步建⽴的路径基础上,创建版本库:svnadmin create /var/svn/test(test为⽬录(项⽬或版本库)名称,后⾯checkout项⽬时会⽤到。
)创建成功后,进⼊test⽬录下,可以看见如下⽂件信息:cd /var/svn/testconf:是这个仓库配置⽂件(仓库⽤户访问账户,权限)format:是⼀个⽂本⽂件,⾥边只放了⼀个整数,表⽰当前⽂件库配置的版本号hooks:放置hook脚步⽂件的⽬录locks:⽤来放置subversion的db锁⽂件和db_logs锁⽂件的⽬录,⽤来追踪存取⽂件库的客户端第四步:配置修改进⼊conf,conf⽬录下,⼀共存放三份重要的配置⽂件,如下:authz:负责账号权限的管理,控制账号是否读写权限passwd:负责账号和密码的⽤户名单管理svnserve.conf:svn服务器配置⽂件修改svnserve.conf:vim svnserve.conf原始⽂件内容,都被注释掉的,我们只需要去掉指定内容前注释即可,如下:[general]anon-access = none #控制⾮鉴权⽤户访问版本库的权限auth-access = write #控制鉴权⽤户访问版本库的权限password-db = passwd #指定⽤户名⼝令⽂件名,即访问时要输⽤户名和密码realm = test #指定版本库的认证域,即在登录时提⽰的认证域名称,改成⾃⼰的版本库修改authz⽂件信息:vim authz在⽂件内容的末尾,添加如下:rw表⽰赋予此账号可读写的权限,r为读,w为写,注意[/]中的斜杠,这⾥如果斜杠反了,authz-db = authz ⼀直会提⽰“认证失败”第⼀种⽅式:单个添加:# 按账号分权限[test/]admin = rwtest = r第⼆种⽅式(后⾯采⽤此⽅式配置):⽤户分组,再设权限[groups]# 按⽤户组分权限admin = admin,admin1 # admin为⽤户组,等号之后的为⽤户test = test1, test2 # test为⽤户组,等号之后的为⽤户[/] # 表⽰svn仓库⽬录(/var/svn/test),test: 对应前⾯配置的realm = test@admin = rw # 表⽰admin组对仓库(/var/svn/test)⽬录有读写权限,r为读,w为写@test = r # 表⽰test组的⽤户对对仓库(/var/svn/test)⽬录只有读的权限[/test1] # 表⽰test1⽬录(/var/svn/test/test1)@test = rw # 表⽰test组对test1⽬录有读写权限* =备注:版本库的⽬录格式如下:[<版本库>:/项⽬/⽬录]@<⽤户组名> = 权限<⽤户名> = 权限其中[]內容有許多写法:[/],表⽰根⽬录及其⼀下的路径,根⽬录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表⽰对全部版本设置的权限[test:/],表⽰对版本库test设置权限;[test:/svnadmin],表⽰对版本库test中的svnadmin项⽬设置权限;[test:/svnadmin/second],表⽰对版本库test中的svnadmin项⽬的⽬录设置权限;权限的主体可以是⽤户组,⽤户或者*,⽤户组在前⾯要以@开头,*表⽰全部⽤户权限分为:r ,w, rw和null ,null空表⽰没有任何权限。
linux下安装svn详解
前言SVN服务器有2种运行方式:独立服务器和借助apache。
2种方式各有利弊,独立SVN服务器不结合Apache安装使用,连接独立SVN服务器也不用HTTP协议。
这是比较快捷的SVN服务器配置方法。
本次安装时使用的是独立用品方式。
SVN存储版本数据也有2种方式:BDB和FSFS。
因为BDB方式在服务器中断时,有可能锁住数据所以还是FSFS方式更安全一点,我安装时也使用的是FSFS方式。
一下载工具1. subversion-1.6.17.tar.gz2. subversion-deps-1.6.17.tar.gz这两个包可以直接到CSDN去下载,版本要一样,都是必须下载的,否则单独下载第一个包编译时就会提示缺少模块。
这两个包下载解压后会解压到同一个目录下,不需要特别指定。
二解压安装1. 解压两个包:在此之前,我已经创建了一个用户svnadmin专门用来安装管理svn的,就解压在/home/svnadmin/目录下tar -xzvf subversion-1.6.17.tar.gztar -xzvf subversion-deps-1.6.17.tar.gz2. 编译安装./configure --prefix=/home/svnadmin/subversion --without-berkeley-db //prefix指定安装的目录,without-berkeley-db表明不使用berkeley数据库//在这一步有可能不成功,是因为有一些依赖的软件没装,具体见下面“遇到的问题”makemake install//也许要sudo,看情况3. 查看是否安装成功/home/svnadmin/subversion/bin/svnserve --version//如果出现SVN的版本则证明安装成功三添加环境变量可以在/etc/profile中添加,这是全局的。
其实最好是专门添加一个svnadmin 用户,在~/.bashrc中添加即可:exprot PATH=$PATH:/home/svnadmin/subversion/bin四建立仓库1. 创建目录mkdir -p /home/svnadmin/svndata/repos1加上参数P,是如果没有父目录则自动创建注意: /home/svnadmin/svndata在这里将是所有仓库的根目录,repos1是其中的一个仓库。
svn常用命令
svn常⽤命令命令的使⽤1、检出3、添加新⽂件svn add ⽂件名注:告诉SVN服务器要添加⽂件了,还要⽤svn commint -m真实的上传上去!例⼦:svn add test.php <-添加test.phpsvn commit -m “添加我的测试⽤test.php“test.phpsvn add *.php <-添加当前⽬录下所有的php⽂件svn commit -m “添加我的测试⽤全部php⽂件“*.php4、提交svn commit -m “提交备注信息⽂本“ [-N] [--no-unlock] ⽂件名svn ci -m “提交备注信息⽂本“ [-N] [--no-unlock] ⽂件名必须带上-m参数,参数可以为空,但是必须写上-m例⼦:svn commit -m “提交当前⽬录下的全部在版本控制下的⽂件“ *<-注意这个*表⽰全部⽂件svn commit -m “提交我的测试⽤test.php“test.phpsvn commit -m “提交我的测试⽤test.php“-N --no-unlock test.php<-保持锁就⽤–no-unlock开关svn ci -m “提交当前⽬录下的全部在版本控制下的⽂件“ *<-注意这个*表⽰全部⽂件svn ci -m “提交我的测试⽤test.php“test.phpsvn ci -m “提交我的测试⽤test.php“-N --no-unlock test.php<-保持锁就⽤–no-unlock开关5、更新⽂件svn updatesvn update -r 修正版本 ⽂件名svn update ⽂件名例⼦:svn update <-后⾯没有⽬录,默认将当前⽬录以及⼦⽬录下的所有⽂件都更新到最新版本svn update -r 200test.cpp <-将版本库中的⽂件 test.cpp还原到修正版本(revision)200 svnupdate test.php<-更新与版本库同步。
linux常用指令表
linux常用指令表
1. ls:显示文件和目录列表
2. cd:更改当前目录
3. mkdir:创建新目录
4. touch:创建新文件或更改文件时间戳
5. cp:复制文件或目录
6. mv:移动或重命名文件或目录
7. rm:删除文件或目录
8. cat:显示文件内容
9. grep:在文件中搜索特定字符串
10. top:显示系统进程和资源使用情况
11. ps:显示当前进程列表
12. kill:终止进程
13. ping:测试网络连接
14. ifconfig:显示网络接口信息
15. netstat:显示网络连接状态
16. chmod:更改文件或目录的权限
17. chown:更改文件或目录的所有者
18. tar:打包和解压文件
19. ssh:远程登录和执行命令
20. scp:通过SSH复制文件或目录。
- 1 -。
Linux部署SVN详解(含备份与还原)
Linux部署SVN详解1安装操作系统安装系统采用CentOS-6.2/Database Server2安装配置apache与SVN1)数据包安装顺序:(安装包在CentOS-6.2盘的Packages目录下均可找到)a)apr-1.3.9-3.el6_1.2.i686.rpmb)apr-util-1.3.9-3.el6_0.1.i686.rpmc)httpd-2.2.15-15.el6.centos.i686.rpm依赖文件:httpd-tools-2.2.15-15.el6.centos.i686.rpm与apr-util-ldap-1.3.9-3.el6_0.1.i686.rpmd)sqlite-3.6.20-1.el6.i686.rpme)subversion-1.6.11-2.el6_1.4.i686.rpm依赖文件:neon-0.29.3-1.2.el6.i686.rpmneon依赖文件:pakchois-0.4-3.2.el6.i686.rpm与libproxy-0.3.0-2.el6.i686.rpm安装libproxy命令:三个包同时安装rpm -ivh libproxy-0.3.0-2.el6.i686.rpm libproxy-bin-0.3.0-2.el6.i686.rpm libproxy-python-0.3.0-2.el6.i686.rpmf)mod_dav_svn-1.6.11-2.el6_1.4.i686.rpm安装后将生成文件:/etc/httpd/conf.d/subversion.conf2)修改apache(即httpd)配置文件#vi /etc/httpd/conf/httpd.conf执行上述命令后,对文件进行以下修改:ServerName localhost:80localhost表示自己的IP地址(找到上面一行并做类似修改后保存退出)#service httpd start#chkconfig httpd on文件修改完成后,启动http服务并使用chkconfig命令设置开机自启动。
linux下svn命令大全
linux下svn命令⼤全1、将⽂件checkout到本地⽬录svn checkout path(path是服务器上的⽬录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的⽂件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前⽬录下所有的php⽂件)3、将改动的⽂件提交到版本库svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使⽤–no-unlock开关)例如:svn commit -m “add test file for my test“ test.php简写:svn ci4、加锁/解锁svn lock -m “LockMessage“ [--force] PATH例如:svn lock -m “lock test file“ test.phpsvn unlock PATH5、更新到某个版本svn update -r m path例如:svn update如果后⾯没有⽬录,默认将当前⽬录以及⼦⽬录下的所有⽂件都更新到最新版本。
svn update -r 200 test.php(将版本库中的⽂件test.php还原到版本200)svn update test.php(更新,于版本库同步。
如果在提交的时候提⽰过期的话,是因为冲突,需要先update,修改⽂件,然后清除svn resolved,最后再提交commit)简写:svn up6、查看⽂件或者⽬录状态1)svn status path(⽬录下的⽂件和⼦⽬录的状态,正常状态不显⽰)【?:不在svn的控制中;M:内容被修改;C:发⽣冲突;A:预定加⼊到版本库;K:被锁定】2)svn status -v path(显⽰⽂件和⼦⽬录状态)第⼀列保持相同,第⼆列显⽰⼯作版本号,第三和第四列显⽰最后⼀次修改的版本号和修改⼈。
linux下svn的配置及svn常用命令
linux下svn的配置及svn常用命令SVN是Subversion的简称,是一个开放源代码的版本控制系统,svn服务器有两种运行方式:独立服务器和借助apache运行。
右图是一个svn的工作流程,它可以很方便用户的代码编写。
1.首先安装SVN:”sudo apt-get install subversion”.查看svn的版本和确定是否安装成功:”svnserve –version”.2.创建svn仓库:“svnadmin create msm”,其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文件夹下面有conf等几个目录和文件.接下来就需要设置版本仓库的权限了。
这里说明一下:版本库之间是独立的。
(下图为msm的目录)3.增加用户修改conf文件夹下的authz文件,该配置文件采用”基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。
包括只读r,读写rw。
没有列出的用户,则不允许访问。
还可以对用户分组,列子如下用户组格式:[groups]<用户组名>=<用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:[<版本库>:/项目/目录]@<用户组名>=<权限><用户名>=<权限>,其中,方框号内部分可以有多种写法:/,表示根目录(仓储目录)及以下。
根目录是svnserve启动时指定的,我们指定/opt/svndata。
这样,/就是表示对全部版本库设置权限。
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
下图是我增加的用户组:(注意:等号后留有空格)增加后:4.修改用户密码添加用户后就要为用户设置密码了,打开conf/passwd文件:输入格式为,[users]<用户1> = <密码1> 如: admin = admin<用户2> = <密码2> 如: username2 = password2…...左边是我的添加:5.启动svn对用户权限、密码的控制需要启动SVN对用户权限、密码的控制,不然的话你就只能读而不能写了。
linux下安装配置svn独立服务器
在linux下安装配置svn独立服务器2008-7-21晚PATH=$PATH:/opt/svn/binexport PATHsource/etc/profile,重载配置文件3.svn测试svnserve--version如果显示如下,svn安装成功:svnserve,version1.4.5(r25188)compiled Jul192008,21:31:54Copyright(C)2000-2006CollabNet.Subversion is open source software,see /This product includes software developed by CollabNet(/). The following repository back-end(FS)modules are available:*fs_fs:Module for working with a plain file(FSFS)repository.二、svn服务器配置1.建立svn版本库目录可建多个:(这里我建立2个)mkdir-p/opt/svndata/repos1mkdir-p/opt/svndata/repos22.建立svn版本库svnadmin create/opt/svndata/repos1svnadmin create/opt/svndata/repos23.修改svn版本库配置文件版本库1:vi/opt/svndata/repos1/conf/svnserve.conf内容修改为:[general]anon-access=noneauth-access=writepassword-db=/opt/svn/conf/pwd.confauthz-db=/opt/svn/conf/authz.confrealm=repos1(注意:把文件中上面各项前面的#号去掉,然后去掉他前面的空格。
linux svn客户端安装及使用
测试是否已经可以在用户目录下使用svn:
svn help 如果出现命令列表,则表示已经链接成功。
5. 使用chmod命令,使 list checkout commit这三个命令脚本有执行权限:
chmod 777 list checkout commit
cp list checkout commit /usr/bin
# svn up 更新本地工作目录
D)删除库上一个文件夹(demo) 进入DemoProject/src/目录
# svn up 更新本地工作目录
# svn del demo 删除demo文件夹
# commit demo 将删除提交到库
3、 本地与库之间的操作
A) 查看库上目录结构(查看DemoProject目录结构)
# svn st
如果你的 hello.cpp修改后还没有提交,则使用svn st会在第一列显示hello.cpp的状态为M,表示项目已经修改但没有提交到库。
B) 查看svn命令的帮助
# svn help update 查看update命令的帮助.
C) 提交时冲突(没有更新本地工作目录而修改文件导致冲突)处理:
B) 提交修改过的整个文件夹到库(修改了文件夹include
# svn up
# commit include
# svn up
C) 新增一个文件夹到库(DemoProject/lib)
进入DemoProject目录:
# svn mkdir lib 创建lib包
# commit lib 提交到库
D)checkout下来库的老版本
首先查看你需要checkout下来的DemoProject老版本,然后再checkout下来:
linux下svn的import命令
linux下svn的import命令linux svn的import命令主要是将文件导入版本库的功能。
下面由店铺为大家搜集整理了linux svn的import命令的相关知识,希望对大家有帮助!linux svn的import命令svn import是将未版本化文件导入版本库的最快方法,会根据需要创建中介目录。
svn import不需要一个工作拷贝,你的文件会直接提交到版本库,这通常用在你希望将一组文件加入到Subversion版本库时,例如:linux svn的import命令实例1)首先,服务器管理员在SVN服务器上创建项目版本库newrepos$ svnadmin create /usr/local/svn/newrepos2)然后,在客户端使用svn命令把本地文件导入到服务器上的项目版本库$ svn import mytree file:///usr/local/svn/newrepos/some/project -m "Initial import"Adding mytree/foo.cAdding mytree/bar.cAdding mytree/subdirAdding mytree/subdir/quux.hCommitted revision 1.在上一个例子里,将会拷贝目录mytree到版本库的some/project下:$ svn list file:///usr/local/svn/newrepos/some/projectbar.cfoo.csubdir/注意,在导入之后,原来的目录树并没有转化成工作拷贝,为了开始工作,你还是需要运行svn checkout导出一个工作拷贝。
推荐的版本库布局尽管Subversion的灵活性允许你自由布局版本库,但我们有一套推荐的方式,创建一个trunk目录来保存开发的“主线”,一个branches目录存放分支拷贝,tags目录保存标签拷贝,例如:$ svn list file:///usr/local/svn/repos/trunk/branches/tags。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,
修改文件,然后清除svn resolved,最后再提交commit)
简写:svn up
6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
用法: revert PATH…
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录
16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法:
1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)
8、查看日志
svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci
4、加锁/解锁
svn lock -m “LockMessage“ [--force] PATH
例如:svn lock -m “lock test file“ test.php
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。
15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
Linux环境下SVN常用命令:
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件
svn add file
的.svn中保留了本地版本的原始拷贝。
简写:svn st
7、删除文件
svn delete path -m “delete test fle“
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
svn help ci
13、版本库下的文件和目录列表
svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录。
用法:
1、mkdir PATH…
2、mkdir URL…
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
简写:svn di
11、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生
冲突,需要处理一下)
12、SVN 帮助
svn help
这个命令更新工作副本与仓库的对应关系。
17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意:பைடு நூலகம்本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。
18、输出指定文件或URL的内容。
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)
3、将改动的文件提交到版本库
svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
svn unlock PATH
5、更新到某个版本
svn update -r m path
例如:
svn update /usr/local/apache2/htdocs/ccnsp2
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
9、查看文件详细信息
svn info path
例如:svn info test.php
10、比较差异
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php