- 主题:问几个 kbs 代码的问题
【 在 JulyClyde (七月) 的大作中提到: 】
: 标 题: Re: 问几个 kbs 代码的问题
: 发信站: 水木社区 (Tue Apr 8 09:07:26 2008), 转信
:
:
: 【 在 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
不是这个原因,用自己的 telnetd 有各种好处,一个是省了一次 fork, 一个是省了一对 pty 设备,自己的 sshd 的好处同上,而且还省一个 sshd 进程,防止 ssh 可能有的其他强大功能带来安全问题,比如有些人是不知道需要禁止掉 ssh 执行命令或者 port forward 的。
: : * kbsIntro.txt 里提到代码里用了 sysv shm,这个跟 tmpfs + mmap 相比
: : 有什么好处?apue 里提到 sysv shm 有数目和大小限制,而且 sysv 的那套
: : IPC 机制在进程退出时是不会自动释放的,所以我觉得尽量不用为好。
这个分情况讨论,如果 mmap 不带 tmpfs 使用,你会发现进程退出的时候系统会强制刷写所有的 dirty page, 造成很大的开销。带 tmpfs 的话将就可以忍,但使用起来也很麻烦,启动时候要从硬盘上拷贝到 tmpfs, 中间为了防止断电或者死机要定期拷贝回去,sysv shm 需要的工作量跟这个差不多,而且明显要少很多开销,因此一起看就很划算了,另外这里进程退出不自动摧毁 shm 的效果反而是我们所需要的。如果他退出了就销毁了对我们来说操作还挺麻烦。
: 所以有clearipc.sh这个脚本。大概是历史问题?
: : BTW,问这些不是说 kbs 的实现不好怎么的,我其实是 unix 编程初手,kbs
: : 的做法跟我凭空想的很不一样,不知道里头藏了什么玄机。
:
:
: --
: ╱╲ █ 冷咖啡离开了杯垫 ◣
: ╰╯ █ 我忍住的情绪在很后面
: ξ █ 拼命想挽回的从前
: █D █ 在我脸上依旧清晰可见
: ┳━━━━━┳ ●█ ——周杰伦《不能说的秘密》
: ┃ ┃ ︵■█
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 124.207.144.*]
--
FROM 220.181.38.*
倒不是在退出时候再写入,平时也会正常 flush, 退出时候这个写估计是内核为了某些地方实现方便,要强迫刷一次。这里看起来应该是有优化的余地,但是改 kernel 不太像是 kbs 应该干的事情。
【 在 JulyClyde (七月) 的大作中提到: 】
: 而且只有在退出时才写入?
: 写入时机过于集中了
--
FROM 220.181.38.*
【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】
: 标 题: Re: 问几个 kbs 代码的问题
: 发信站: 水木社区 (Tue Apr 8 10:38:15 2008), 转信
:
:
: 【 在 kxn (时光似箭,果蝇喜欢香蕉) 的大作中提到: 】
: : 标 题: Re: 问几个 kbs 代码的问题
: : 发信站: 水木社区 (Tue Apr 8 10:21:33 2008), 转信
: :
: : 不是这个原因,用自己的 telnetd 有各种好处,一个是省了一次 fork, 一个是省了一对 pty 设备,自己的 sshd 的好处同上,而且还省一个 sshd 进程,防止 ssh 可能有的其他强大功能带来安全问题,比如有些人是不知道需要禁止掉 ssh 执行命令或者 port forward 的。
:
: pty 设备有上限吗?如果有上限的话这就是个硬伤了。理解你说的好处了,多谢!
有的,以前曾经流行过改 kernel 配置增加 pty 的做法。
: 但我觉得这样做带来的坏处是维护比较麻烦,官方 ssh 要是加了个补丁得手动
: 合并过来,如果为了bbs 做的修改跟他们的冲突,合并就头大了。
所以当时的决定就是,不要的功能全都代码级别砍掉,只保留最基本的功能,这样出现不得不合并过来的补丁的情况就会很少了,而且 sshd 现在支持的 ssh1 是不维护的状态,也省了很多心。
:
: :
: : : : * kbsIntro.txt 里提到代码里用了 sysv shm,这个跟 tmpfs + mmap 相比
: : : : 有什么好处?apue 里提到 sysv shm 有数目和大小限制,而且 sysv 的那套
: : : : IPC 机制在进程退出时是不会自动释放的,所以我觉得尽量不用为好。
: :
: : 这个分情况讨论,如果 mmap 不带 tmpfs 使用,你会发现进程退出的时候系统会强制刷写所有的 dirty page, 造成很大的开销。带 tmpfs 的话将就可以忍,但使用起来也很麻烦,启动时候要从硬盘上拷贝到 tmpfs, 中间为了防止断电或者死机要定期拷贝回去,sysv shm 需要的工作量跟这个差不多,而且明显要少很多开销,因此一起看就很划算了,另外这里进程退出不自动摧毁 shm 的效果反而是我们所需要的。如果他退出了就销毁了对我们来说操作还挺麻烦。
:
: 原来你们要的就是 shm 不自动摧毁的效果,赞!
:
: :
: : : 所以有clearipc.sh这个脚本。大概是历史问题?
: : : : BTW,问这些不是说 kbs 的实现不好怎么的,我其实是 unix 编程初手,kbs
: : : : 的做法跟我凭空想的很不一样,不知道里头藏了什么玄机。
: : :
: : :
: : : --
: : : ╱╲ █ 冷咖啡离开了杯垫 ◣
: : : ╰╯ █ 我忍住的情绪在很后面
: : : ξ █ 拼命想挽回的从前
: : : █D █ 在我脸上依旧清晰可见
: : : ┳━━━━━┳ ●█ ——周杰伦《不能说的秘密》
: : : ┃ ┃ ︵■█
: : :
: : :
: : : ※ 来源:·水木社区 newsmth.net·[FROM: 124.207.144.*]
: :
: :
: : --
: : 标 题: CCTV1大战CCTV4
: : 发信站: 水木社区 (Thu Nov 22 18:27:46 2007), 站内
: :
: : CCTV4,海峡两岸,台湾物价增长4.5%,民众大叫“活不了了”。
: : CCTV1,晚间新闻,大陆10月物价上涨6.6%,群众一致表示“对生活影响不大”
: :
: :
: : ※ 来源:·水木社区 newsmth.net·[FROM: 220.181.38.*]
:
:
: --
: The stupid content tracker, Git 1.5.5, 146 sub commands. An incomplete list:
: init clone config fsck gc daemon instaweb | annotate blame describe show status
: diff log shortlog show-branch grep gitk whatchanged | add rm mv commit gui clean
: reset revert stash bisect rebase | checkout branch tag merge mergetool remote
: fetch pull push cherry-pick format-patch am send-email | svn archive bundle
: submodule | cat-file ls-tree ls-files update-index update-ref symbolic-ref
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 211.157.41.*]
--
FROM 220.181.38.*