⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1060.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 4 页
字号:
                          <input type=radio checked value=title name=type>标题 
                          <input type=radio value=content name=type>内容 
                          <input type=image src="images/button_go.gif" tppabs="http://www.linuxhero.com/docs/images/button_go.gif" border=0 name=image2>
                        </font></div>
                    </td>
                  </tr>
                  <tr> 
                    <td noWrap> 
                      <div align="center"> 
                        <input maxlength=100 size=30 name=keyword2>
                      </div>
                    </td>
                  </tr></tbody> 
                </table>
              </form>
            </TD>
            <TD rowSpan=2><IMG src="images/header_r1_c7.gif" tppabs="http://www.linuxhero.com/docs/images/header_r1_c7.gif" width=26 border=0 name=header_r1_c7></TD>
          <TD><IMG height=83 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 border=0></TD></TR>
        <TR>
          <TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22 
            src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0 
            name=header_r2_c1></TD>
          <TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
              <DIV align=right><FONT class=normalfont>当前位置: 
              <A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
              <font color="#FF6699">&gt;&gt;</font>
<A href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</A>                 | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
            </TD>
          <TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 
        border=0></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff 
        border=0>
         <TR>
          <TD>
            <TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
              
              <TR>
                <TD vAlign=top align=middle width="60%">
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" 
                  background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
                    <TBODY>
                    <TR>
                        <TD vAlign=top width="80%"> 
                          <DIV align=center>
                        <FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
                            </FORM>
                        <TABLE cellSpacing=0 cellPadding=0 width="95%" 
                          border=0><TBODY>
                          <TR>
                            <TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif" 
                          height=30></TD></TR></TBODY></TABLE>
                        <TABLE cellSpacing=0 cellPadding=3 width="95%" 
                        align=center border=0>
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=0 cellPadding=3 width="100%" 
                              border=0>
                                <TBODY>
                                <TR>
                                      <TD vAlign=top> 
<p><FONT class=normalfont><B><font color=blue>CVS, Automake与Autoconf简介</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:高嘉良<br>来自:Linux知识宝库<br>联系方式:无名<br><br>第一部分 CVS简介<br>
cvs ( Concurrent Version System )是一个版本控制系统,什么是版本控制系统呢?简单的说,它可以记录程序代码修改的过程,有一个完整的历史记录( history )。辟如说,当你在修改程序代码的时候, 不小心写出了一个 bug,但是你可能很久以后才发现多出了这个 bug, 这个时候,cvs 就能很有效的帮助你找出到底是在哪一次的修改中,出现了这个 bug。<br>
也许你会说, 那我每次都把程序保存起来, 用tar 做好备份不就行了,当然, 你可以这样做, 但是这太浪费空间了! cvs 在版本更改间, 只储存不同的部分, 这样就可以省下很多空间。<br>
在另一个场合里, 更能显示出 cvs 的好处 ,比如多人一起开发软件的时候。 cvs支持远程访问, 用户可以对他要修改的文件加上正在编辑的标志, 让别人知道他要修改这个文件了。 当然, 一个较大的开发队伍,一般还会需要一个 mailing list 用来沟通。毕竟cvs 只是一个管理程序代码的工具, 他并不扮演沟通的角色。 cvs的同类软件还有rcs和sccs。RCS ( Revision Control System ) 可以从FSF获得。SCCS ( Source Code Control System ) 由AT&T在SystemV中引入,现在已经被加入X/Open标准( Unix 98? )。比起这些软件,CVS的要优秀得多,特别是在支持多人远程开发方面。由于CVS出现较新,所以使用上反而没有它们普及。当然,如果您熟悉rcs,您会发现学习cvs非常容易。<br>
<br>
名词<br>
repository: 意为仓库。在 cvs 里, 它就是你真正存放各历史版本的地方。 pserver: cvs 远程服务器,cvs 有两种工作模式, 一种是 local, 一种是 remote。 一般通过inetd启动pserver。<br>
CVSROOT: 当使用 cvs 的时候, 要设定 CVSROOT这个环境变量, 或是用 -d 选项来指定该参数,该参数指明你的仓库放在哪里。<br>
<br>
本地( local )cvs<br>
首先, 确定一个 cvsroot,比如:<br>
export CVSROOT="/home/joe/cvsroot/" 建立该目录:<br>
mkdir /home/joe/cvsroot<br>
接着,运行cvs init :<br>
cvs init<br>
cvs init 会帮你把 cvsroot 初始化。接着, 建立一个要放文件的目录 ( 相当于一个Project ): mkdir /home/joe/cvsroot/cvsdoc<br>
cd /home/joe/work<br>
cvs checkout cvsdoc( 或者简写为: cvs co cvsdoc ) 你会看到下面的信息: cvs checkout: Updating cvsdoc cvs checkout 会把当前最新的版本拷贝到你的当前目录下。<br>
记住, 不要自己建立 /home/joe/work/cvsdoc, 该目录下还会有一些用于管理的 cvs 相关的信息。<br>
接着, 进入 cvsdoc 目录, 编辑 cvs.doc 这个文件档案,输入一些信息。<br>
然后,运行:<br>
cvs add cvs.txt cvs commit -m "Initial revision." cvs add 就会把 cvs.txt 加入 cvs 维护的文件列表中去。<br>
cvs commit 检查当前目录下所有的在文件列表中的文件,并把对他们的改动加入到仓库中。-m 表示这次 commit 的 message,一般说明此次修改的相关信息。<br>
现在修改一下 cvs.txt,并且,在文件档案的最上面加上 $Id$ 的字样。<br>
改完之后, 再 commit 一次:<br>
cvs commit -m "Adding new stuff."<br>
现在看看我们所做的修改:<br>
cvs log cvs.txt<br>
可以看到:<br>
RCS file: /home/joe/cvsroot/cvsdoc/cvs.txt,v<br>
Working file: cvs.txt<br>
head: 1.2<br>
branch:<br>
locks: strict<br>
access list:<br>
symbolic names:<br>
keyword substitution: kv<br>
total revisions: 2; selected revisions: 2<br>
description:<br>
----------------------------<br>
revision 1.2<br>
date: 2000/09/11 11:55:06; author: joe; state: Exp; lines: +2 -0<br>
i<br>
----------------------------<br>
revision 1.1<br>
date: 2000/09/11 11:52:32; author: joe; state: Exp;<br>
initial version<br>
==================================================================<br>
你会看到每次修改加进去的 message。这对开发者,特别是一个大的项目的开发者,其帮助是不言而喻的。<br>
cvs diff -r 1.1 -r 1.2 cvs.txt<br>
可以看到:<br>
Index: cvs.txt<br>
================================================================== RCS file: /home/joe/cvsroot/cvsdoc/cvs.txt,v<br>
retrieving revision 1.1<br>
retrieving revision 1.2<br>
diff -r1.1 -r1.2<br>
0a1<br>
&gt; $Id: cvs.txt,v 1.2 2000/09/11 11:55:06 joe Exp $<br>
1a3<br>
&gt; hehe,sencond time edit it!<br>
这样会显示 1.1 和 1.2 版的 diff, 原本有 1.1 版的人, 只需要用这个 patch 就可以了升级到1.2了!<br>
再编辑 cvs.txt, 可以发现最上面的 Id 变长了? 加了一代串文字:<br>
$Id: cvs.txt,v 1.2 2000/09/11 11:55:06 joe Exp $ 这显示这个版本的一些相关信息。<br>
远程( remote )cvs<br>
如果我们要做一个比较大的项目,上面讲的本地cvs服务就太简单了,我们要让众多的人可以远程开发程序! 比如我们要用cvs组织起我们的minigui项目。 检查 /etc/services 有没有这两行,没有请加入:<br>
cvspserver 2401/tcp #CVS network server cvspserver 2401/udp #CVS network server<br>
在 /etc/inetd.conf 加入:<br>
cvspserver stream tcp nowait root /usr/local/bin/cvs cvs --allow-root=/home/minigui pserver<br>
mkdir /home/minigui<br>
要是该设置生效,请重启inetd。<br>
添加用户anoncvs, 这是要给匿名cvs 用户使用的帐号,其组为nogroup。 新加一个名为 minigui的 group。 添加参与 minigui开发的用户的帐号, 当然, 把他们的 group 设为 minigui。<br>
cvs -d /home/minigui init<br>
cd /root/minigui, 这是原来已经存在的版本, 现在我们要把它的东西放进 cvs 仓库里: 比如,我们把minigui的库minigui03放到仓库中:<br>
<br>
cd minigui03;cvs import –m “the lib” minigui03 joe start<br>
<br>
会看到cvs把一个个文件放到仓库中。<br>
cvs import 的语法为:<br>
<br>
cvs import -m "log msg" projname vendortag releasetag<br>
<br>
vendortag 和releasetag 一般不需要关心,我们这里使用一个用户名和一个start 标志。<br>
我们把其它相关的project也放到cvs仓库中:<br>
<br>
cd miniguiapps03 ; cvs import –m “the apps” miniguiapps03 joe start<br>
cd miniguiexec03 ; cvs import –m “the demos” miniguiexec03 joe start<br>
<br>
这样,我们就把minigui的一个cvs服务器建立好了。<br>
注意, 一个 user 要远程访问某些project, 他必须拥有适当的权限。比如,minigui03这个目录应该属于组minigui,且组可写。才能使minigui组里的用户可以远程参与minigui库的开发。<br>
<br>
现在试试看从远程访问 cvs 服务器。<br>
首先, 在你的机器上建立一个工作目录, 譬如是 /home/joe/work<br>
cd /home/joe/work<br>
cvs -d :pserver:joe@www.minigui.org:/home/minigui login<br>
cvs -d :pserver:joe@www.minigui.org:/home/minigui co minigui03<br>
cvs -d :pserver:joe@www.minigui.org:/home/minigui co miniguiapps03<br>
cvs -d :pserver:joe@www.minigui.org:/home/minigui co miniguiexec03<br>
cvs -d :pserver:joe@www.minigui.org:/home/minigui logout<br>
<br>
当你敲入login行时,系统会提示你输入password, 打进去。 www.minigui.org是cvs服务器所在的机器。 该指定被执行后,该 cvsroot<br>
(:pserver:joe@www.minigui.org:/home/minigui) 和加密后的密码会被存在 ~/.cvspass 里。<br>
底下几行取出各个project。最后logout。<br>
<br>
cd minigui03<br>
<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -