Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1515066
  • 博文数量: 289
  • 博客积分: 11086
  • 博客等级: 上将
  • 技术积分: 3291
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 17:06
个人简介

徐小玉的博客。

文章分类

全部博文(289)

文章存档

2023年(6)

2022年(1)

2021年(2)

2020年(9)

2019年(9)

2018年(6)

2017年(10)

2016年(10)

2014年(3)

2013年(4)

2011年(12)

2010年(16)

2009年(14)

2008年(119)

2007年(48)

2006年(20)

我的朋友

分类: LINUX

2008-03-21 10:18:09

下一个: , 上层: 


F.1 部分错误消息列表

这里是你从 cvs 看到的部分错误消息列表。它不是一个完整的列表 –cvs 可以打印很多很多的错误消息,其中一部分通常由操作系统提供,这里是要列出通用和/或易误解的错误消息。

这些消息按字母顺序排列,但是指导文字如 `cvs update: ' 不按这种次序。

某些情况下列表包含了旧版本 cvs (部分原因是因为用户在特定时刻无法确认所使用的 cvs 版本) 打印的消息。

file:line: Assertion 'text' failed

准确的消息格式会因不同的系统而变。它指出 cvs 里面有 bug,参见 了解如何处理。

cvs command: authorization failed: server host rejected access

连接 pserver 服务器,认证失败时的一般的响应。检查用户名与密码是否正确,在 inetd.conf `--allow-root' 是否允许 CVSROOT。参见

cvs command: conflict: removed file was modified by second party

此消息显示你删除了一个文件,但同时另外有人还在修改它。要解决此冲突,首先要运行 `cvs add file'。如果需要,查看别人的修改以决定是否仍旧删除。如果不再删除,结束。如果仍要删除,继续执行 `cvs remove file' 命令并提交。

cannot change permissions on temporary directory

          Operation not permitted

    

当我们在 Red Hat Linux 3.0.3 4.1 上测试客户机/服务器测试套件时,此消息以不重现和偶然的方式出现。我们不清楚造成的原因,也无法知道是否仅在 Linux (甚至是仅在某个特定的机器)上出现。如果问题出现在其他 Unix 机器上, `Operation not permitted' 可能是读了 `Not owner' 或者是有问题系统使用了 unix EPERM 错误。如果你有其他信息补充,请参考 然后让我们知道。使用 cvs 时,你碰到这个错误,再执行操作应该可以工作良好。

cvs [server aborted]: Cannot check out files into the repository itself

产生这个消息明显的原因(特别是非客户机/服务器 cvs),是由于 cvs 的根为,比如,/usr/local/cvsroot,但你要检出到它的子目录,像 /usr/local/cvsroot/test。但还有一种微妙的原因,是将服务器上的临时目录设为根的子目录(这也是不允许的)。如果这就是原因,将临时目录改成其他地方,例如 /var/tmp; 参考 里面的 TMPDIR,了解如何设置临时目录。

cannot commit files as 'root'

参阅 `'root' is not allowed to commit files'.

cannot open CVS/Entries for reading: No such file or directory

通常这是一个 cvs 内部错误,需要通过解决其他 cvs bug 处理(参阅 )。一般情况下有一个工作环境–性质决定于状态,但希望能指出。

cvs [init aborted]: cannot open CVS/Root: No such file or directory

此消息是无害的。无其他错误时,操作可以成功执行。此消息不会出现在现在的 cvs 版本里面,写在这里是为 cvs 1.9 和之前的版本。

cvs server: cannot open /root/.cvsignore: Permission denied

cvs [server aborted]: can't chdir(/root): Permission denied

参阅 .

cvs [checkout aborted]: cannot rename file file to CVS/,,file: Invalid argument

该消息在 Solaris 2.5 cvs 1.9 上偶尔会出现。原因不明; 如果你知道造成的原因请让我们知道,见

cvs [command aborted]: cannot start server via rcmd

很不幸,如果你运行的客户端是 cvs 1.9,这是相对非特异性的错误消息,并在连接服务器时有错误。当前版本的 cvs 应该显示更多特定的错误消息。如果你看到这个消息,并没有打算作为客户端,你应该指定 :local:,参考

ci: file,v: bad diff output line: Binary files - and /tmp/T2a22651 differ

cvs 1.9 和更早版本中,如果 rcs 没有正确安装,提交二进制文件,将显示此消息。请再读一次 rcs 发布版的指示以及 cvs 发布版的 install 文件。或者,升级到当前的 cvs 版本,它不会使用 rcs,而是自己提交文件。

cvs checkout: could not check out file

cvs 1.9 中,这意味着 co 程序(rcs 的一部分)返回错误。在此之前应该还有其他的错误消息,但没看到其他错误消息会让这个信息难以理解。在当前版本的 cvs 中,因为不再使用 co,如果没有伴随其他错误消息,可以说是 cvs bug (参阅 )

cvs [login aborted]: could not find out home directory

意思是你需要设置环境变量,使得 cvs 可以找到 home 目录。参见 里面的 HOMEHOMEDRIVE HOMEPATH 讨论。

cvs update: could not merge revision rev of file: No such file or directory

cvs 1.9 和更早的版本中,如果搜索 rcsmerge 程序有问题,将显示此消息。请确保它在你的 PATH 之中,或者更新到现在的 cvs 版本,因为它不再使用外部的 rcsmerge 程序。

cvs [update aborted]: could not patch file: No such file or directory

意思是搜索 patch 程序遇到问题。请确保它在你的 PATH 之中。注意,尽管显示的消息不是指是否可以找到 file。如果客户端和服务器都运行当前版本的 cvs,它们不使用外部的 patch 程序,所以也不会有这样的消息。但如果客户端或服务器运行的是 cvs 1.9,那么你就要使用 patch 程序。

cvs update: could not patch file; will refetch

这意味着客户端无论如何也不会打服务器发来的补丁。因为不能打补丁,只会降低速度,对 cvs 也没有影响,所以消息是无关紧要的。

dying gasps from server unexpected

cvs 1.9.18 和更早的版本中,这是一个已知的 bug。我使用 `-t' 全局选项时会重现。如果有人想了解情况,它已经被 Andy Piper 1997 11 14 日更改 src/filesubr.c 而修复。如果你见到这个消息,可在执行一次失败的操作,并让我们知道,见

end of file from server (consult above messages if any)

通常造成的原因是你使用了外部 rsh 程序,并返回一个错误。在这种情况下, rsh 程序应该在上面消息前面打印一个错误消息。了解建立 CVS 客户机和服务器的更多信息,见

cvs [update aborted]: EOF in key in RCS file file,v

cvs [checkout aborted]: EOF while looking for end of string in RCS file file,v

这意味着在 rcs 文件里面有语法错误。注意,即使 rcs 可以正确读取这个文件; cvs 要对 rcs 文件做更多的错误检测。这也是从 cvs 1.9 升级到 1.10 时看到这个消息的原因。可能是硬件、操作系统或者类似的因素造成错误。当然,如果你发现是 cvs 造成的,请报告(参阅 )。这个错误消息会因 cvs rcs 文件里面发现的不同语法错误,有其他一些变化。

 

cvs commit: Executing 'mkmodules'

这个消息意味着你的参考是在 cvs 1.8 之前的版本下建立的。当使用 cvs 1.8 以后的版本,这个消息前会有

          cvs commit: Rebuilding administrative file database

    

如果你看到所有的两条消息,数据库重建了两次,虽没有必要,但是无害。如果你希望避免重复,并且没有使用 cvs 1.7 和更早的版本,对每个出现的 modules 文件,用删除 -i mkmodulesmodules 文件的更多信息,见

missing author

当你创建 RCS 文件时将用户名设为空,这条消息将显示。cvs 将假装创建一个作者字段没有值的非法的 RCS。解决方法是确保用户名非空并重新建立 RCS 文件。

cvs [checkout aborted]: no such tag tag

此消息的意思是 cvs 不知道 tag 标签。经常是由于你打错了标签名。偶尔也会因创建的标签的用户没有权限写 CVSROOT/val-tags 文件(参考参阅 了解更多情况)

cvs 1.12.10 之前的版本里面,有时是一些隐含的原因造成,其中标签是在仓库里面的档案文件中创建,但是 cvs 要求用户试用其他的涉及此标签的 cvs 命令,直到发现让 cvs 更新 val-tags 文件的命令,然后最初失败的命令才能工作。同样可以修理因前面权限造成 val-tags 过期的问题。每个标签只需要更新一次 - 一旦标签列入 val-tags 文件,它就留在那里。

注意使用 `tag -f' 不要求标签匹配,也不覆盖此检查(参阅 )

*PANIC* administration files missing

一般这是因为名为 cvs 的目录下并没有包含 cvs 使用的管理文件。如果这个问题是因为该 cvs 目录是由非 cvs 程序创建,那么简单的处理方法是将它改成其他名字。如果不是上述原因,这意味着是 cvs bug (参阅 )

rcs error: Unknown option: -x,v/

这条消息之后会紧跟着 rcs 的使用方法。这意味着你使用的是旧版本的 rcs (也许是你的操作系统提供的),和旧版本的 cvs。在 cvs 1.9.18 和更早的版本只与 rcs 5 及以后的版本一起工作; 当前版本的 cvs 不再需要运行 rcs 程序。

cvs [server aborted]: received broken pipe signal

这条消息是因为 loginfo 程序从标准输入读取所有的日志信息失败造成。如果你发现它在其他环境下产生,请让我们知道,见

'root' is not allowed to commit files

当提交一个永久性的更改,cvs 会为提交修改的人建立一个日志条目。如果你的提交被当作 "root" (不是使用 "su" 或者其他具有 root 授权的程序) 记录,cvs 将无法判断是谁做了真正的修改。正因为此,CVS 默认不允许登录为 "root" 来提交。(你可以在 configure 里面加上 --enable-rootcommit 选项并重新编译来禁止此选项。在有些系统上面需要在编译 cvs 前修改对应的 config.h 文件)

cvs [server aborted]: Secondary out of sync with primary!

这通常出现在 cvs 运行在一个第二服务器上面,并且与第一服务器的版本不兼容 (参阅 )。如果客户端支持重定向,将不会发生。

这里版本号并不重要,但是支持列表需要服务器提供给客户端。例如,即使两台服务器使用相同的版本,如果第二服务器编译的有 GSSAPI 支持,然而第一服务器没有,那么两个服务器提供的支持列表会不同,并且第二服务器将不能作为第一服务器的传输代理。反之,如果两个服务器版本不同,但都提供相同的客户端请求支持,那么传输代理可以成功。

Terminated with fatal signal 11

该信息表示 cvs (服务器,如果你使用的是客户端/服务器模式) (虚拟)内存溢出。虽然 cvs 尽力捕获错误并给出有意义的信息,在有些条件下仍无法获得。如果你有大量的系统内存,这个问题可能存在于系统对单一进程或类似限制可以使用的内存。显示和设置这种限制的方法因系统而不同,如果你不知道如何处理,请询问你所使用系统的专家。

Too many arguments!

一般该消息是 log.pl 脚本打印,此脚本位于 cvs 源码发布版的 contrib 目录下面。在某些版本的 cvs 中,log.pl cvs 默认安装的一部分。log.pl 脚本从 loginfo 管理文件里面调用。请检查传递给 loginfo 的参数是否匹配你所用的 log.pl 脚本。特别是 cvs 1.3 和更早的版本里面的 log.pl 用日志文件作为参数,而 cvs 1.5 和更新的版本的 log.pl 需要用 `-f' 来指定日志文件。当然,如果你不需要 log.pl,请从 loginfo 里面将其注释掉。

cvs [update aborted]: unexpected EOF reading file,v

参见 `EOF in key in RCS file'.

cvs [login aborted]: unrecognized auth response from server

这个消息一般是指服务器没有正确建立。例如,inetd.conf 指向了一个不存在的 cvs 执行文件。为了进一步调试,请查找 inetd 的日志文件(/var/log/messages 或者其他你系统里面 inetd 所采用的)。详细情况,参阅 ,和

cvs commit: Up-to-date check failed for `file'

它的意思是自从你上次 cvs update 以后,有人提交了这个文件的修改。所以,在进行 cvs commit 之前需要先 cvs updatecvs 将合并你与他人所做的修改。如果没有检测到冲突,将提示 `M file',你可以进行 cvs commit。如果发现冲突,将打印 `C file',你需要手动解决冲突。要了解更详细的处理过程,见

Usage: diff3 [-exEX3 [-i | -m] [-L label1 -L label3]] file1 file2 file3

          Only one of [exEX3] allowed

    

这指明了安装 diff3 rcsmerge 的问题。特别是 rcsmerge 编译需要寻找 GNU diff3,但由搜索到的 unix diff3 替代。确切的消息内容会根据不同的系统变化。最简单的解决方法是升级当前的 cvs 版本,它不再需要使用外部的 rcsmerge diff3 程序。

warning: unrecognized response `text' from cvs server

假如 text 包含有意义的回答( `ok'),跟随着一个额外的回车符(在某些系统上,这会使第二部分的消息覆盖第一部分),那么也许是你用 `:ext:' 访问方式所采用的 rsh 程序,如非 unix rsh 版本,它们默认不提供传输数据报文。在这种情况下,你也许需要采用 `:server:' 替代 `:ext:'。如果 text 是其他内容,它预示着你的 cvs 服务器有问题。请再次确认安装是否符合 cvs 服务器架设的要求。

cvs commit: [time] waiting for user's lock in directory

这是一条普通消息,不是错误。参见 Concurrency 了解详细情况。

cvs commit: warning: editor session failed

这是指 cvs 使用的编辑器返回了非零状态。一些版本的 vi 即使编辑正常也会这样。那么将 CVSEDITOR 环境变量指向一个小的脚本,如:

          #!/bin/sh

          vi $*

          exit 0

    

 

cvs update: warning: file was lost

这意味着 file 的工作副本被删除,但并没有从 cvs 清除。不必担心,update 将从仓库重建本地文件。(这也是放弃本地更改的常用方法: 删除它,然后执行 cvs update)

cvs update: warning: file is not (any longer) pertinent

这意味着 file 的工作副本已经删除,但在当前的工作目录里面没有使用 cvs 删除,但却在其他的工作目录中用 cvs 删除。不必担心,update 将彻底删除本地的文件。

 

阅读(7353) | 评论(1) | 转发(1) |
0

上一篇:Police 'shot at Tibet protesters'

下一篇:WUTI

给主人留下些什么吧!~~

chinaunix网友2008-04-08 20:52:58

请问一下,您知道 cvs [login aborted]: Error reading from server 168.5.130.95: -1: No such file or directory 是什么问题吗?急死我了。