配置自己的Linux svnserve服务器
一、新建并初始化版本库
1.新建代码仓库
# svnadmin create /home/myrepos
这样,我们就在/home目录下新建了版本库myrepos。
2.初始化代码仓库
#mkdir -p code/{branches,tags,trunk}
按照svn手册上的建议,我们版本库的布局采用branches/tags/trunk这样的三个目录。
然后可以将代码直接拷贝的trunk目录,也可以随后采用svn add的方式添加。
#svn import code file: ///home/myrepos
将我们构造好的版本库布局(以及代码,如果已经拷贝到trunk下的话)提交到版本库。
由于这里我们是在本地操作,因此可以直接使用file协议方式提交。
格式为:file:// + 版本库绝对的路径
OK,到这里我们已经构建了一个本地版本库,可以再本地使用svn ci的方法得到版本库
的副本了。如果前面只是提交了版本库布局,而没有提交代码的话,则可以通过如下命
令,提交版本代码:
#svn co file: ///home/myrepos/trunk repos
通常只从主线目录trunk下取出源码,放在了新建的repos目录。然后可以将源码拷贝
到repos目录。
执行以下两条命令将代码添加的版本库。
#svn add *
#svn ci * -m "Committed codes"
首先需要将拷贝的代码加入到当前的副本中,然后将代码提交到版本库。
二、配置并启动svnserve
1. 配置svnserve
这一步主要完成远程用户访问版本的权限。
在版本库目录下有个conf目录:home/myrepos/conf,该目录包含三个文件:
authz,passwd,svnserve.conf。
(1)svnserve.conf
此文件重点的设置内容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分别代表设置匿名用户和授权用户的访问权限。
read代表只读,write代表可读可写,还有一个none,代表禁止访问。如果不想让匿名用户
访问的话,可以设置anon-access = none。
password-db为保存版本库的用户名和密码,通常为conf目录下的passwd文件。
authz-db指向的文件,主要用于将用户进行分组,并赋予不同的组不同的权限。
譬如有多个目录时,设置某个组的用户只可以访问其中的那些目录。
(2)passwd
如前面介绍,这个文件的主要内容如下
[users]
harry = harrysecret
sally = sallyssecret
以上两行就是可以访问版本库的用户名和密码。格式为:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = r
相关文档:
安装步骤:
Ø 安装resin前先要保证安装了JDK,可以用命令查看是否安装了JDK:
[root@wxr webapps]# java -versions
java version "1.6.0_19"
Java(TM) SE Runtime Environment (build 1.6.0_19-b04)
Java HotSpot(TM) Client VM (build 16.2-b04, mixed mode, sharing)
Ø 下载Res ......
Linux终端环境下,利用终端命令序列可以设置字体的颜色,其格式如下:
<ESC>[<C1>;<C2>;<C3>m
其中<ESC>的值为 ......
<1> 任务0的堆栈问题
一直不明白schedule.c里的task_union的stack和user_stack是什么关系,head.s里就设置了esp指向user_stack, 却一直没有用到task_union,直到看到INIT_TASK才明白,从进入保护模式到跳转进用户态都是用的user_stack这个栈,而任务0的tss中的esp0指向task_union的stack, 也就是当任务0再跳转进内核 ......
众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。linux就是这样的一个操作系统。
在linux系统中,每个被运行的程序实例对应一个或多个进程。linux内核需要对这些进程进行管理,以使它们在系统中“同时”运行。
linux内核对进程的这种管理分两个方面:进 ......