- 主题:迁移一个BBS后什么用户都不能登陆怎么回事?
输啥用户包括guest都找不到
我已经把 .PASSWD 等文件拷来
并重启了BBS
但仍然任何用户都上不了
请输入代号: guest
错误的使用者代号...
因为在不同系统间迁移
重新configure和make过
但类似的事情我以前也做过,从kubuntu迁移到redhat
现在是从redhat迁移到fluxubuntu
还忘了什么?
--
修改:askthesky FROM 220.181.38.244
FROM 220.181.38.244
磁盘文件数据结构是否有变化,如有变化需要转换
比如 userec 结构里我记得有 time_t,你如果从32迁移到64。。。
【 在 askthesky (征集京剧坤老生~~) 的大作中提到: 】
: 输啥用户包括guest都找不到
: 我已经把 .PASSWD 等文件拷来
: 并重启了BBS
: ...................
--
FROM 211.151.94.*
没有
相同的CPU
换了一块硬盘作主盘
都是32位
【 在 fancyrabbit (fancy★Job-Hunting...★喵) 的大作中提到: 】
: 磁盘文件数据结构是否有变化,如有变化需要转换
: 比如 userec 结构里我记得有 time_t,你如果从32迁移到64。。。
--
FROM 220.181.38.244
那。。还有是 .PASSWDS 不是 .PASSWD
别的就没啥了,重启清共享内存没
【 在 askthesky (征集京剧坤老生~~) 的大作中提到: 】
: 没有
: 相同的CPU
: 换了一块硬盘作主盘
: ...................
--
FROM 211.151.94.*
其实我觉得最好的办法就是gdb调调看,呵呵
【 在 fancyrabbit (fancy★Job-Hunting...★喵) 的大作中提到: 】
: 标 题: Re: 迁移一个BBS后什么用户都不能登陆怎么回事?
: 发信站: 水木社区 (Fri Oct 10 16:15:25 2008), 转信
:
: 那。。还有是 .PASSWDS 不是 .PASSWD
: 别的就没啥了,重启清共享内存没
: 【 在 askthesky (征集京剧坤老生~~) 的大作中提到: 】
: : 没有
: : 相同的CPU
: : 换了一块硬盘作主盘
: : ...................
:
: --
: 她说,我大概是一只鸟。充满了警觉,不容易停留。
: 所以一直在飞。
: 我总是以为自己是会对流失的时间和往事习惯的。
: 不管在哪里。碰到谁。以什么样的方式结束。
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 211.151.94.*]
--
FROM 202.118.224.*
【 在 fancyrabbit (fancy★Job-Hunting...★喵) 的大作中提到: 】
: 那。。还有是 .PASSWDS 不是 .PASSWD
手误,其实没错
: 别的就没啥了,重启清共享内存没
没主动弄过。新硬盘,新装的系统
miscd flush 过
--
FROM 220.181.38.244
呵呵,我麻烦康神帮忙看ing...-.- 顺便广告..
【 在 luckwithme (Marvel) 的大作中提到: 】
: 其实我觉得最好的办法就是gdb调调看,呵呵
--
FROM 220.181.38.244
(gdb) s
176 n1 &= 0xdf;
(gdb) s
177 n1 -= 'A';
(gdb) s
178 if (n1 < 0 || n1 >= 26)
(gdb) s
182 n1 = hash->hash0[n1];
(gdb) p n1
$4 = 24
(gdb) s
174 n1 = *userid++;
(gdb) p n1
$5 = <value optimized out>
(gdb) bt
#0 ucache_hash (userid=0xbff40ce2 "yinhang") at ucache.c:174
#1 0x080db786 in getuser (userid=0xbff40ce2 "yinhang", user=0x816cc40)
at ucache.c:517
#2 0x080c26d8 in login_query () at newmain_single.c:260
#3 0x080c2ed8 in main_bbs (convit=0, argv=0xbff41e9c "bin/bbsd")
at newmain_single.c:1081
#4 0x080be3b0 in bbs_main (argv=0xbff41e9c "bin/bbsd") at bbsd_single.c:489
#5 0x080beb3b in main (argc=1752066425, argv=0x676e61) at bbsd_single.c:672
(gdb)
182怎么会跳到174,晕
(gdb) list 178
173
174 n1 = *userid++;
175 if (n1 >= 'a' && n1 <= 'z')
176 n1 &= 0xdf;
177 n1 -= 'A';
178 if (n1 < 0 || n1 >= 26)
179 return 0;
180
181 /* disable it usage->hash0[n1]++;*/
182 n1 = hash->hash0[n1];
(gdb) list 185
180
181 /* disable it usage->hash0[n1]++;*/
182 n1 = hash->hash0[n1];
183
184 while (n1 < 0) {
185 n1 = -n1 - 1;
186 if (!*userid) {
187 /* disable it usage->hash[n1][0]++; */
188 n1 = hash->hash[n1][0];
189 } else {
(gdb)
【 在 luckwithme (Marvel) 的大作中提到: 】
: 其实我觉得最好的办法就是gdb调调看,呵呵
--
FROM 220.181.38.244
咦,再n又回到184了
理解成无理优化吧..
【 在 askthesky (征集京剧坤老生~~) 的大作中提到: 】
: (gdb) s
: 176 n1 &= 0xdf;
: (gdb) s
: ...................
--
FROM 220.181.38.244
现在这个问题很简单
就是 .PASSWD 和 .BOARDS 没有装入 shm
miscd flush 一下那俩文件就变了
这个怎么强制解决呢?
【 在 askthesky (征集京剧坤老生~~) 的大作中提到: 】
: 咦,再n又回到184了
: 理解成无理优化吧..
--
FROM 220.181.38.244