- 主题:问几个 kbs 代码的问题
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: 在看 atppp 的那篇 kbsIntro.txt,写的挺好,有些疑问,版上有人知道的话
: 指点一下,省的我去看代码了。
: * 版面文章索引文件有 .DIR, .JUNK,那么删除一个帖子时是把 .DIR 中
: 对应的 fileheader 去掉,后头索引项往前挪吗?我觉得不大可能是这样,
: 但 fileheader 里头 FILE_DEL 注释说“版主标记删除 X”,那么不是“已删除
: 标记”了。
: * 我原先以为用户登录就是用的 login 或者 ssh,然后派生个 bbs 作为 shell,
: 看 INSTALL.debian 后才知道有 bbsd, sshbbsd,请问自己写 telnetd 和 sshd
: 有什么好处?
可以自定义身份验证机制。不过你也可以用bbsd -i(inetd模式)配合ssh
: * kbsIntro.txt 里提到代码里用了 sysv shm,这个跟 tmpfs + mmap 相比
: 有什么好处?apue 里提到 sysv shm 有数目和大小限制,而且 sysv 的那套
: IPC 机制在进程退出时是不会自动释放的,所以我觉得尽量不用为好。
所以有clearipc.sh这个脚本。大概是历史问题?
: BTW,问这些不是说 kbs 的实现不好怎么的,我其实是 unix 编程初手,kbs
: 的做法跟我凭空想的很不一样,不知道里头藏了什么玄机。
--
FROM 124.207.144.*
修改了之后是同步写入还是等unmmap的时候才写入?
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: 我找到 delete_record 那个函数了,确实是 mmap 后把索引项往前 memcpy 的,
: 这样如果突然断电,.DIR 岂不是要坏掉了?
: 似乎改 /etc/issue 可以修改登录画面,只是提示符那里貌似得修改 login 了,
: 普通用户登录也这个画面我觉得也没啥不好,反正登录后是正常的 shell,而且
: 改 login 比改 telnetd、sshd 容易多了,我看了下 sshbbsd 代码,是从 sshd
: 修改过来的。
: 服务器突然崩溃后这些资源不会自动释放,需要设置 atexit 钩子。
--
FROM 124.207.144.*
kbs没有提供pam模块。呵呵
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: 不知道 login 用 pam 能否达到 bbs 组的用户跟普通用户的身份验证机制
: 不一样的效果。
: 哦,可能是这个原因。
: ...................
--
FROM 124.207.144.*
既然是dirty page,总得有明确的指示是保存还是放弃吧?
【 在 KCN (毒中之毒~strongest) 的大作中提到: 】
: 用sysv的原因是,mmap在linux上的实现,在进程退出的时候,会强制dirty page
: 进行一次flush,这个会造成很多无谓的i/o。所以对于读写频繁的.PASSWDS采用了
: sysv定时flush的方式,控制不必要的i/o
: 既然有一个ipc,有些其他地方就懒得改成mmap了....
--
FROM 124.207.144.*
而且只有在退出时才写入?
写入时机过于集中了
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: mmap PROT_WRITE, MAP_SHARED 没有放弃一说,改了内存里东西就相当于改了文件了。
: 进程退出时不刷新到硬盘上也可以,只要保证下次打开文件读写时照顾到先前被
: 映射的区域,这样做效率高点,感觉实现要复杂些。
: ...................
--
FROM 124.207.144.*
既然是dirty page,写一次也没啥嘛
【 在 kxn (时光似箭,果蝇喜欢香蕉) 的大作中提到: 】
: 倒不是在退出时候再写入,平时也会正常 flush, 退出时候这个写估计是内核为了某些地方实现方便,要强迫刷一次。这里看起来应该是有优化的余地,但是改 kernel 不太像是 kbs 应该干的事情。
--
FROM 124.207.144.*
pty有上限
现在kbs的sshbbsd没有跟bbs更新
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: pty 设备有上限吗?如果有上限的话这就是个硬伤了。理解你说的好处了,多谢!
: 但我觉得这样做带来的坏处是维护比较麻烦,官方 ssh 要是加了个补丁得手动
: 合并过来,如果为了bbs 做的修改跟他们的冲突,合并就头大了。
: 原来你们要的就是 shm 不自动摧毁的效果,赞!
--
FROM 124.207.144.*