用镜头记录,用心灵体验 | 订阅本站 | 所有笔记 | 亲和力设计 | 流量

DB2 学习笔记

博客话题:DB2,Linux,Web,业余无线电,户外,摄影,截拳道,Thankpad,其他

July 2007

Subversion 安装笔记

subversion 是一个开源的版本控制软件,虽然在稳定性方面较cvs还有些距离,不过很受追捧,牛顿顿说,这主要得益于subversion在处理大项目效率方面的优势,目前版本是1.4.4。 安装subversion 服务 在这里 下载subversion 的windows 平台软件包,解压缩即可。 然后打开一个DOS 命令行,进入到解压缩的bin目录,运行以下命令创建一个repository(存放版本控制信息的地方)。把PROJECT_NAME 替换为你需要的项目名称。 C:\svn\bin> mkdir \repository\subversion\PROJECT_NAME C:\svn\bin>...

subversion 是一个开源的版本控制软件,虽然在稳定性方面较cvs还有些距离,不过很受追捧,牛顿顿说,这主要得益于subversion在处理大项目效率方面的优势,目前版本是1.4.4。

安装subversion 服务

这里 下载subversion 的windows 平台软件包,解压缩即可。

然后打开一个DOS 命令行,进入到解压缩的bin目录,运行以下命令创建一个repository(存放版本控制信息的地方)。把PROJECT_NAME 替换为你需要的项目名称。

C:\svn\bin> mkdir \repository\subversion\PROJECT_NAME
C:\svn\bin> svnadmin create \repository\subversion\PROJECT_NAME

然后参照这里的安装指南 把subsersion安装为windows系统服务,并在启动时加载。意等号后面必须留有空格。

C:\svn\bin> sc create svn binpath= "C:\svn\bin\svnserve.exe --service 
-r C:\repository\subversion" displayname= "Subversion Server" 
depend= Tcpip start= auto

注意:执行命令时,需要把subversion 的安装路径以及repository 的路径替换成你自己的路径。svn 是服务名称,你也可以随便命名。

这个系统服务可以通过 sc delete svn 命令删除,服务的启动有两种方式:sc start svn 或者 net start svn 。具体可以参考windows 的sc  以及net 命令。

配置版本库权限

配置文件位于 .\repository\subversion\PROJECT_NAME\conf\ 目录

passwd 文件定义了存取版本库的用户名与密码,格式为:

myusername - mypassword 

svnserve.conf 文件需要添加如下几行:

anon-access = noneauth-access = writepassword-db = passwd 

如够希望匿名用户可以checkout 版本库,那么修改第一行为 anon-access = read。 下面一行用于复杂一些的权限配置,如果添加此行,需要配置authz 文件,在这里我把此行注释掉。

# authz-db = authz 

另外还有一行用于定义Project名称,但经过实验,这行可以省略。

# realm = PROJECT_NAME 

至此,subversion 服务安装完成,并且创建了一个版本库。如果已经安装了subversion客户端,则可以通过svn://localhost/PROJECT_NAME 进行访问。

subversion 客户端

subversion 的客户端在windows 可以使用tortoiseSVN 或者subversion eclipes plugin. 

tortoiseSVN 是一个基于subversion服务的windows GUI,并集成了tortoiseMerge 版本比较工具。它和Windows 资源管理器紧密地结合在一起,以插件形式出现,来进行版本控制操作,当前版本也是1.4.4。

使用subversion eclipes plugin 需要先安装eclipes,然后通过插件更新安装subversion plugin,安装完成后,就可以像使用cvs 一样在eclipes 中使用subversion。

在这里下载 tortoiseSVN 1.4.4,安装完成之后,在资源管理器中点击右键,就会看到相关菜单。可以在资源管理器找到要管理的源代码,在目录上点击右键,选择TortoiseSVN 菜单中的Import ,并在Url of repository 下来菜单中选择刚才创建好的repository 即可。然后在working copy 目录中将代码checkout,就在working copy 目录中实现了代码的版本管理。

版本库备份

如果需要对项目版本库备份,只需要把整个.\repository\subversion\PROJECT_NAME 目录备份即可,如果需要在另一台还原备份,需要先安装好subversion服务与客户端(不必创建repository),然后把上述目录copy到svn服务所引用的目录中即可(本例为 c:\repository\subversion)。然后刷新subversion client,通过认证即可看到版本库。

参考信息

Posted by Alex at 8:11 PM | Comments (0) | Edit | Taged: subversion (2), svn (2), tortoiseSVN (1)

Windows XP 与Linux多系统引导的进一步探讨

以下是Windows XP 启动所需的三个文件: ntldr ntdetect.com boot.ini 有篇文章对此介绍得很详细 ,这里讨论其他的几个问题: 手动复制到根目录下的ntldr是否有效? 有效!与最早的DOS 系统不同,只要保证ntldr 在分区的根目录就行,并不关心这个文件在磁盘的那个扇区。(DOS系统启动所需的IO.SYS与MSDOS.SYS只能使用sys命令在启动分区产生) ntldr是否必须位于启动分区? 启动分区也称为活动分区,每个物理磁盘只能有一个分区被标记为启动分区,标记一般为:活动、*号 Active等。在MSDOS中使用fdisk...

以下是Windows XP 启动所需的三个文件:

  • ntldr
  • ntdetect.com
  • boot.ini

有篇文章对此介绍得很详细 ,这里讨论其他的几个问题:

  1. 手动复制到根目录下的ntldr是否有效?

    有效!与最早的DOS 系统不同,只要保证ntldr 在分区的根目录就行,并不关心这个文件在磁盘的那个扇区。(DOS系统启动所需的IO.SYS与MSDOS.SYS只能使用sys命令在启动分区产生)

  2. ntldr是否必须位于启动分区?

    启动分区也称为活动分区,每个物理磁盘只能有一个分区被标记为启动分区,标记一般为:活动、*号 Active等。在MSDOS中使用fdisk 命令标记,Windows 2000/XP中使用磁盘管理器标记,Linux 下使用fdisk 命令也可以标记。

    启动分区标记对于Windows 的意义要大于Linux,电脑启动时,在MBR 找到Windows 的引导记录之后,会继续寻找启动分区,找到后在根目录下寻找ntldr 文件,否则会引导失败。

    对于Linux 目前常用的引导程序grub,这个标记似乎没什么意义,甚至可以在fdisk中随意设置多个标记。

    回到刚才的问题:ntldr是否必须位于启动分区?

    1. 如果使用Windows 引导方式(MBR),那么ntldr必须位于启动分区。这里或许有个例外,就是可以调整bios的启动分区到ntldr所在分区。
    2. 如果使用grub之类的引导程序引导,则ntldr 可以位于任何分区。还有一个例外,后面说。

  3. ntldr 是否必须与系统(Windows目录)位于相同分区?

    不必!但ntldr 所在分区根目录必须要有boot.ini,并且boot.ini具备引导到系统分区的正确参数。

  4. 如何将grub或者Lilo 的MBR恢复回Windows MBR?

    1. Windows安装盘提供了内置的命令fixmbr来修复 ,可以很容易的恢复引导区记录(不是通常人们所建议的重新安装系统,并在拷贝文件之后退出,再手动清理安装临时文件。未经过测试)。

    2. 另外,这里也有一个第三方的工具mbrfix ,在这里下载 (未经过测试)。

    3. MSDOS 引导后,使用命令行 fdisk /mbr (我习惯使用这个方法)

  5. linux grub 启动管理器通过rootnoverify (hd0,2) chainloader +1 来加载ntldr,是如何做到的?

    上面的命令是告诉引导程序去hd0 设备的3号分区的第一个扇区加载操作系统启动程序。前面说过ntldr 并不位于物理第一扇区,为什么还可以加载呢?硬盘除了具有一个主引导记录(MBR)之外,另外在每个分区的头部还有分区引导记录,我想应该是"chainloader +1" 找到分区引导记录,并由分区引导记录找到并加载了ntldr 文件。

  6. 为什么通过rootnoverify (hd0,2) chainloader /ntldr 或者 chainloader (hd0,2)/ntldr加载会失败?

    chainloader 支持直接指定文件名来加载启动程序。但如果ntldr 位于ntfs 格式分区,上述命令会失败,我猜测原因是grub 在文件系统级别不支持读取ntfs 分区,当然也无法读取ntldr。vfat 分区我没有试验。

  7. 在使用grub 时,windows 系统或者ntldr 被安装在扩展分区的逻辑分区,与在主分区有什么不同?

    似乎没有什么不同,在上述情况下grub 引导成功。与上面第2条第2小点有相同的例外,马上讲到。

    例外情况:无论是ntldr 所在分区,还是linux /boot 所在分区,其起始点如果超过硬盘1024扇区(约8.4G),则MBR有可能无法访问到分区上的引导记录,当然也无法加载ntldr 或者linux 内核。要解决这个问题可以在BIOS 中为硬盘指定LBA 模式,grub 新的版本会自动检测LBA是否可用,并正确引导。

    这个网页包含grub 错误号码的详细解释 ,在引导出错时很有参考价值。比如,对于以上例外情况产生的错误,grup 返回错误码 18:

    	18 : Selected cylinder exceeds maximum supported by BIOS
    	This error is returned when a read is attempted at a linear block address beyond the end of the BIOS translated area. This generally happens if your disk is larger than the BIOS can handle (512MB for (E)IDE disks on older machines or larger than 8GB in general). 
    	

  8. grub是否可以跨物理硬盘引导操作系统?

    可以!对于Windows 及Linux 均引导成功。 

延展阅读

Posted by Alex at 3:15 PM | Comments (0) | Edit | Taged: linux (38), winxp (4)

Alex's picture

my email address in picture

搜索|Search

订阅更新|Subscribe to Feed

按月归档|By Month

2009
07
2008
11
10
07
05
04
03
02
01
2007
12
10
07
06
05
04
03
02
01
2006
12
11
10
09
08
07
06
05
04
03
02
01
2005
11
10
09
08
07
04
03
2004
12
11
10
09
08
07
06
05
04
03
02
01
2003
12
10
09
08
06
2002
09
08
04
03
02
2001
12
09
07
06
05

我读|My Books

友情链接|links

我的链接|My Links

推荐站点|favorite sites

我的朋友|My Friends

Creative Commons License
This blog is licensed under a Creative Commons License.
Movable Type 4 Logo