Shell's Home

debian是什么

Mar 20, 2011 - 1 minute read - Comments

debian是一种开源的操作系统,其内核理论上是可变的,主要有linux/freebsd/hurd三种。但是目前为止,主要被采用的都是linux内核,大部分都是基于i386或x86_64编译。 debian系统使用一种被称为deb的打包格式,这种格式中声明了依赖性问题,但是没有解决。所谓依赖,是指一个包内不包含运行所需的所有组件。例如特定版本的lib,辅助配置程序等。将依赖分离有助于多个包共享一份被依赖程序,并且几个组件可以独立升级。windows中通常将依赖包加入安装包内部,但是这样往往不利于被依赖程序的升级。(windows的二进制兼容性做的并不很好)如果没有打入安装包,windows中通常表现为安装一个程序的过程中提示你需要安装某个东西,请去哪里下载。debian的依赖是依靠一套被称为apt的系统解决的。在这套系统中,你可以指定一个源(debian mirror),或者多个源。apt系统会自动将上面所有软件的目录下载下来供你查阅安装。如果有依赖性问题会自动安装依赖的包。因此,配置好的apt系统相当于一个软件仓库,里面有很多程序。你可以选择其中的一部分,安装使用,而无须忧心安装过程。 apt的更新分为三部分,一部分是这个源中有哪些包,这些包的元信息(meta info)。包括这些包的名字,版本,所依赖程序的版本等。当一个源获得了新的软件的时候,就会更新这个列表,或者叫目录。客户端更新目录后就可以发现,有哪些包需要更新或者下载。而另一部分则是这些包文件本身。最后一部分是以上内容的签名。在元信息上有包文件的校验,而元信息本身则被一个非对称密钥签名。这个签名由apt的管理者签署,从而保证只有受到管理者认可的包会被客户安装,其他恶意插入的包都会被警告。 debian系统默认是没有图形界面的,也没有ssh操作界面,debian的基础系统甚至没有一个可启动的内核。基础系统中只包含了一个文件结构,和被简单配置能够自我管理的apt系统。最精简系统在基础系统之上,安装了内核和引导管理器,从而保证在某个系统上可自启动和自引导。debian的businesscard安装包包含了一个建立其他精简系统所需的所有工具的集合,而netinst安装包则增加了建立最小系统所需的镜像。两者的区别在于,businesscard必须联网以下载最小系统所需的所有安装包,而netinst可以从光盘上获得这些包。 当然,这离一个完整的系统还差很远。作为服务系统,必须安装ssh以便于远程管理。作为桌面系统,需要安装X,WM,还有其他应用程序。甚至,作为网络系统,基础的网络配置组件都是默认不完整安装的。你必须设定网络,设定源,然后更新列表,而后安装合适的程序。这一切对于初学者非常不友好,所以debian还有一种gnome标准安装包,在光盘上放了建立一个标准系统所需的所有包。你可以在不联网的情况下,自动建立起一个标准的桌面。 debian的特性是非常强的自我定制,虽然从根本上说,gentoo的定制方式才是极限。但是长期滚动编译对维护而言是一个非常大的挑战(debian的维护方式都会让很多公司感到不舒服)。debian可以很方便的直接定制一个特制化系统,而跳过编译过程。这对于自己需要一定程度定制的高级linux用户非常有吸引力。

社区的基础规则和原因

Mar 19, 2011 - 1 minute read - Comments

1.社区中的常规事务由个人申请,申请到的人全权处理问题。 2.在申请前,需要在社区公共平台呼叫请求。大致类似于“我要做某事了,有没有人在做或者能够提供帮助,请联系我“。 3.如果有人对贡献者所做的工作有异议,可以请求修改或者复议。 4.如果仍旧不满意,可以申请替换贡献者。经过全社区成员投票后就会变更贡献者。 5.如果不能明确归属的事情,或事情本身就比较重要,则由全社区成员投票。 6.如果具体操作者在不确定做法的时候,可以发起讨论和投票,获得社区意见。 为什么社区通常具有以上工作模式? 首先,社区的原则是自愿。通常社区是不会为个人的工作支付薪酬的。因此,谁愿意做什么事情,做到什么质量,完全是不可控制的。这也就是为什么社区事务是由个人申请的,因为并不能向社区中的具体人员指派工作。当一个问题比较严重的时候,也只能由资深社区人员呼吁有没有人志愿解决,而不能强行分派。这是社区为各个软件公司所诟病的特性之一。 为什么申请前需要在公共平台呼叫请求?这样首先防止了工作冲突。尤其是上游发行一个新包的时候,如果没有呼叫请求(debian社区好像叫做ITP),就会出现两个打包者重复工作的问题。其次,如果前任因为某些因素放弃了继续处理,也许他能给你一些额外的帮助。尤其是兼容性问题上的帮助,这样比较有助于保障一致性。 为什么通常事务由申请到的人全权负责?因为一个事务会牵涉到非常多和复杂的细节问题。例如一个包的临时文件位置是使用/tmp还是/var/tmp,依赖库是使用gcc4.1还是gcc4.4。这些细节问题要一一搞定,社区没有那么多时间。如果志愿者是个熟练的人,往往问题的决策会采用比较通用的方案,社区会无条件接受志愿者的方案。当志愿者的方案比较糟糕,或者至少说有待推敲的时候。如果有人用的不爽,就会提出异议,或者更进一步提出解决方案。如果没人关心,那就让他去了。 为什么对于仍旧不满意的问题,只能替换贡献者,而不能强迫贡献者接受方案呢?因为,上文阐述了,贡献者是出于自己的自愿,来帮助社区的。强迫他们接受某个他们所不习惯的想法首先并不尊重他们,招致他们的强烈反感。其次,这些方案可能扰乱他们的工作思路。所以从这个角度来说,当志愿者愿意接受你的方案时自然好说。而如果万一他不接受,要使得自己的想法实现只有让全社区基本同意,你,或者其他人接替这个志愿者的部分工作。 为什么社区在决定性的问题上,采取贡献者民主投票的方式呢?因为,如前我们看到,社区的发展是每个贡献者提供自己的力量共同发展的。这样的社区一定会有不协调的情况。而让冲突升级,导致社区分裂,是不利于社区发展的。可以看到,社区是要讨好贡献者的。更多,更强力的贡献者,社区就能够有更好的发展。所以,采取民主投票的方式,是征求最多贡献者的同意,让他们支持社区,愿意继续为社区作出贡献。并且期待不同意的贡献者,能够理性的作出一定妥协,接受社区的大多数意见。 当然,由于意见未能统一而倒置社区分裂的情况常有发生,尤其是社区同时拥有两位强势的领导的时候,并且他们的意见碰巧相左的时候。但是在大多数时候,贡献者会考量,自己是否值得为了某个意见放弃整个社区。考量的结果往往是接受社区的结论,但是保留自己意见。这种行为会保留社区中最多的人,并且可以期待剩下的人能够接受。这一原则,我们称为“尊重大多数贡献者“。而社区中,部分事物自主可决定的规则,只是因为社区假定你的行为会被大多数贡献者接受。 我们可以看到,社区在发展中采取了很多自主判断假设和市场机制。社区需要假定你的行为是被大多数贡献者所能接受的。社区假定你能够分辨什么是“比较重要“的事情,从而需要征求多数意见。什么是你不需要劳动社区帮忙的事物。在正常的世界中,我们的假定通常都是成立的。debian社区大部分打出来的包并没有人提出异议。对于社区中文名定名或者下一开发版代号之类的问题,通常也是社区协商确定后再行处理的。因此,我们的社区通常工作良好。但是在某些特例下,例如有人无法理解什么问题是重要问题,哪怕大多数的人对这个问题的认识并没有困难。或者,更进一步说,有人捣乱。在这些特例下,社区往往会陷入一种比较混乱的状态。国外经常有所谓“民主效率低于专制“的结论,就是这个现象的集中爆发和体现。

debian社区争论摘抄

Mar 18, 2011 - 1 minute read - Comments

jobinson <jobinson99@gmail.com> 强烈反对这种所谓的尊重说 1、这是人身攻击,攻击他人人品,不是在认真讨论问题 2、我并没有违规。我的作为,是符合debian维基本身规则的,如果这样你还认为我违反规则,不尊重别人,那么,首先的问题就是你拉大旗扯虎皮,把你的个人观点强加在整个debian社区之上,这才是更大的不尊重社区。 也就是说,在目前维基规则未变的情况下,我并没违规,上面几个认为我不尊重人的人,其实才是真正的违规者。 3、请不要以贡献来论我的对错,这是道德绑架,虽然我对debian目前官方社区的贡献有限,但在其他地方的贡献,请不要在不清楚的情况下肆意抹杀,然后试图以玩道德绑架的方式让我闭嘴。 4、单纯讲翻译问题,debian社区确实太多文档老久了,以至于我都不知道debian中文翻译团队是否活着,这是谁的问题?如果按贡献论,是不是原有社区的人都该被论罪?这显然会激起众怒,如果楼上认为贡献论可行,那么接下来激怒社区的责任楼上要负全责。 5、如果debian是世界性的,那么debian就应该容纳得了中文、英文、德文、日本、西班牙文……,而不是只能使用英文。现在这种情况,连个中文名都起不了,还谈什么世界性,简直就是狭隘英文中心主义。 6、请不要回避问题,老左躲右闪的,以贡献啊、尊重啊、其他更需要啊之类的来搪塞对问题的真正讨论。要不干脆关闭这个讨论,要不就不要躲躲闪闪,认真对待。 还有,就是存在众多莫名其妙的所谓公认规则,结果一认真,才发现不过是个人意见,强加给这个社区的,这样的个人规则,请不要再秀出来,这才是真正对社区其他人的极大不尊重! 其实,我也不想纠结在这些名词上,但如果连这么个名词都容纳不下,我不觉得还能容纳下什么别的东西,我不知道英文社区是否也是如此。 Aron Xu <happyaron.xu@gmail.com> 2011/3/17 jobinson <jobinson99@gmail.com> > > 强烈反对这种所谓的尊重说 > 1、这是人身攻击,攻击他人人品,不是在认真讨论问题 也许有些人的话确实说的不怎么恰当,这是说话人的问题,呵呵。 > 2、我并没有违规。我的作为,是符合debian维基本身规则的,如果这样你还认为我违反规则,不尊重别人,那么,首先的问题就是你拉大旗扯虎皮,把你的个人观点强加在整个debian社区之上,这才是更大的不尊重社区。 > 也就是说,在目前维基规则未变的情况下,我并没违规,上面几个认为我不尊重人的人,其实才是真正的违规者。 你的操作没有违反权限(否则没权限你无法编辑),但是违反了在社区活动的一条基本准则:做自己的事不要给别人带来麻烦。现在你私自改了东西就给很多人带来了麻烦。 像项目名称这样重大的决定应该是团队的共同意志,如果你直接不经说明就私自改了,那么你忽略了其他人的意见,这的确是不尊重他人。社区中不是你有权限编辑的地方就可以随意编辑,赋予你权限是对你的信任,相信你能够和其他人好好地合作,共同把项目做好。如果说有了权限就觉得自己什么都可以做,那就辜负了社区对你的信任。 3、请不要以贡献来论我的对错,这是道德绑架,虽然我对debian目前官方社区的贡献有限,但在其他地方的贡献,请不要在不清楚的情况下肆意抹杀,然后试图以玩道德绑架的方式让我闭嘴。 何必把这个问题升级到对与错呢(大家都停止说这个对错,\^_\^)。我觉得只是你做事方法不对,现在不应该在这里讨论这个名字如何如何,而是尊重大家的意见暂时不使用它,并且通过主流媒体做出更正。 昨天我联系 cnbeta.com 等两三个站点删除了文章,LUPA等社区还发了一些更正。希望大家能到 cnbeta 等地方投稿更正这个事情。 4、单纯讲翻译问题,debian社区确实太多文档老久了,以至于我都不知道debian中文翻译团队是否活着,这是谁的问题?如果按贡献论,是不是原有社区的人都该被论罪?这显然会激起众怒,如果楼上认为贡献论可行,那么接下来激怒社区的责任楼上要负全责。 Debian 文档翻译在 Squeeze 周期里没有怎么更新 installation-guide,重译了 maint-guide。网页翻译匆匆地赶出来了一个 release-notes。 如果你要参与,非常欢迎,这个团队现在可以说基本只有个别人做零星贡献。自由软件社区里,每个人都是自由的,行为上第一条是不给别人捣乱,第二条是交接好工作。翻译上一直没人接手,如果谁愿意来可以到这里先询问一下情况——比如你现在问,这个团队是否活着。 5、如果debian是世界性的,那么debian就应该容纳得了中文、英文、德文、日本、西班牙文……,而不是只能使用英文。现在这种情况,连个中文名都起不了,还谈什么世界性,简直就是狭隘英文中心主义。 这种说法有些偏激,和中国中央电视台不能称为CC{T,A}V有一拼了(笑)。当然,Debian和中文名之间并非完全和CCTV那个情况相同。 Debian不是不能有中文名,而是现在还没有让众人觉得确实最好的名称。过去常说的”大便”显然不雅,”蝶变”某种意义上讲是个不错的候选,但还是有很大反对的声音。 不管好与不好,想出来的都是”候选”,不能直接改 Wiki 强迫别人接受你的意志,哪怕你解释说只想做个实验。 这样的实验是不合适的,就好像说某国核电站出了问题,事后说我只想实验它出了问题能有多大影响,这显然不对。 6、请不要回避问题,老左躲右闪的,以贡献啊、尊重啊、其他更需要啊之类的来搪塞对问题的真正讨论。要不干脆关闭这个讨论,要不就不要躲躲闪闪,认真对待。 其实讨论能展开这么久,你回避了最关键的问题。现在是你做得不对,未经讨论滥用了社区赋予的权限,为啥还在说别人呢。 争论的话说多了,谁都可能说出赶劲的话,这时候大家坐下来喝杯茶冷静下,呵呵。 还有,就是存在众多莫名其妙的所谓公认规则,结果一认真,才发现不过是个人意见,强加给这个社区的,这样的个人规则,请不要再秀出来,这才是真正对社区其他人的极大不尊重! 这确实是公认的规则,难道赋予你的权利不是给你的信任吗?如果说,必须要精细地管着你的权限才舒服,那我在这里无话可说。可以随意编辑的分到一类,不可以随意编辑的再分到一类并锁定,我觉得那时候会有人大叫不公平。 其实,我也不想纠结在这些名词上,但如果连这么个名词都容纳不下,我不觉得还能容纳下什么别的东西,我不知道英文社区是否也是如此。 不想纠结就不说这些,赶快把给大家造成的麻烦处理掉。如果你想讨论社区的规则是怎样的,社区怎样才有包容性,再单独发主题,有兴趣的人会愿意和你讨论三百回合。:P Tao Wang <dancefire@gmail.com> 说你不尊重社区,你还觉得有错了。还什么这论,那主义的,还论罪,我怎么恍惚觉得倒退了几十年,又看到了满眼红色的世界? 真是莫名其妙,看看jobinson都干了些啥: http://www.udpwork.com/item/4522.html http://www.freebsdchina.org/forum/topic_51353.html http://www.freebsdchina.org/forum/topic_51346.html http://zh.wikipedia.org/w/index.php?title=Debian&diff=15902934&oldid=15830869 http://zh.wikipedia.org/w/index.php?title=Linux&diff=15963993&oldid=15926795

debian中文名的争议

Mar 15, 2011 - 2 minute read - Comments

最近在debian社区上爆发了关于debian中文名问题的争议,我大致摘录一下,具体可以看debian maillist archive。毕竟这里不是wiki,我就不求全了。 起因是因为Jobinson在社区未达成一致的前提下,将wiki中debian的中文名称改为了”蝶变”。而后,wenheping告知了LIDaobing。后者是DD。LIDaobing将wiki还原,并且发起了社区讨论。他们之间的原文贴录如下: (03:37:51 PM) Atlas Jobinson: 我想问你个问题,你是什么时候知道这维基被改的?通过什么途径知道的? (03:38:01 PM) LI Daobing (李道兵): 很晚 (03:38:11 PM) LI Daobing (李道兵): 因为我没有 subscribe 那个页面 (03:38:22 PM) LI Daobing (李道兵): wenheping 告知的 (03:38:29 PM) Atlas Jobinson: 你可以看看我最早翻译于什么时候 (03:38:37 PM) LI Daobing (李道兵): 看到了 (03:38:40 PM) Atlas Jobinson: 2011-03-04 (03:38:42 PM) LI Daobing (李道兵): 10天前 (03:38:52 PM) Atlas Jobinson: 那说明什么问题? (03:39:06 PM) LI Daobing (李道兵): 说明你在没有取得社区共识前 (03:39:09 PM) Atlas Jobinson: 还有,那个wenheping,是我在freebsd上得罪他了 (03:39:12 PM)

hack comix for windows use gbk as filename code

Mar 14, 2011 - 1 minute read - Comments

Comix is a python application to view comic. it use pygtk as GUI library, so technically, it can be used under windows. But unfortunately, it has code problem under windows. OK, 2 fix it, open src/filechooser.py:214. gbkpath = paths\[0\].decode('utf-8').encode('gbk') self.\_window.file\_handler.open\_file(gbkpath) done.

linux社区规模估量

Mar 13, 2011 - 2 minute read - Comments

debian是一种重要的linux发行,基于其上有很多衍生,其中最知名的就是ubuntu。debian的包是通过ftp mirrors来进行发布的,因此一个国家的镜像数量,大概能够反映出这个国家debian社区的规模。也大概的,能够说明这个国家开源软件社区的发展。 debian的所有官方镜像有一个列表,具体在这里(http://www.debian.org/mirrors/list)。我利用wget下载了这个镜像,然后写了一个简单的脚本来处理这个文件。文件发布在这里(http://shell909090.org/debmircnt.py)。以下是结果。 United States 48 Germany 32 France 28 Taiwan 13 Australia 12 Japan 11 Great Britain 11 Canada 11 Portugal 9 Italy 9 Russia 8 Sweden 8 Spain 8 Czech Republic 8 Brazil 8 Austria 7 Bulgaria 7 Poland 7 Turkey 7 Netherlands 7 Hungary 5 Greece 5 Ukraine 5 Belgium 5 Thailand 5 Croatia 4 Finland 4 Lithuania 4 South Africa 3 Romania 3 Switzerland 3 Denmark

关于日本地震,关于人性

Mar 12, 2011 - 1 minute read - Comments

说人性有点大了,其实这里没有什么该不该对日本幸灾乐祸,或者幸灾乐祸者就OOXX的道德讨论。只是说说我和我周围的人在几次大事中的反应。但是说到底,也没什么好的词,只能用人的本性来形容。 我第一次有意识的观察人们对无预知的大型公共事件的反应,是在汶川地震发生的时候。当时我在一家报社内做项目,看到周围有几个人跑了一下,也没有在意。过一会,QQ新闻跳出来,说四川发生地震,目前情况不详。我稍微提了一下这个事情,周围的人没有震感,就随便他去了。但是当晚据说就有几个记者去了四川,剩下的人也可以看到神情兴奋。是的,兴奋,而不是悲痛。说不上是高兴,但是兴奋之情是难以掩藏的。 第二次是智利地震,这次我在上海一家公司里面做事,一楼。新闻出来后,大家都是一脸笑嘻嘻的说,地球是不是进入震动模式了。然后地震伤亡数字出来了,大家看看,哦,死的真少,比汶川少多了。然后就散了。 第三次是日本海地震,这次还是这家公司。大家先也是笑嘻嘻的说地球进入震动模式的笑话,然后听说震源在海上,就纷纷去查海啸的问题。结论是上海一点事都没有,于是也就这样了。日本地震,中国历来是不发动官方捐款的。最多就是几个国家部门的领导象征性捐款一下。 也许有人该愤怒了,那是人命阿,你们怎么都笑嘻嘻的?实际上,这就是我想说的东西。人对于不关系到自己和自己熟悉的人的危害,不可能在第一时间有发自内心的焦急。对于在危害中死去的人,也不可能有发自内心的悲痛。除非他本人也深受其害。这是人之常情。如果你告诉我,印尼海啸,你在那里完全不认识什么人,甚至都不知道那个地方在哪里,就第一时间的发自内心的表示焦急和悲痛。我说,要么你是世界第一的圣人,要么你是世界第一的装逼犯。当然,曾深受其害者和各国领导人例外。 遇到突发灾害,人的第一本能反应,无一例外,都是兴奋。其实从生物进化角度不难理解。如果人类在突发的灾害面前不能保持高度的兴奋,来应对各种情况。人类早就因为适应不良而被自然淘汰了。因此在听到地震的消息时,神情兴奋的东问西问是正常反应。不是幸灾乐祸,也不是杞人忧天,而是正常的人类反应。如果灾害不会危及自己,过一会就淡了。如果灾害可能危及自己,会优先考虑自己怎么避难。当兴奋过去后,才会考虑是否应当对受害人有所表示,如何表示的问题。

个人文件管理的几个经验

Mar 10, 2011 - 1 minute read - Comments

1.明白你在面对什么问题。个人资料管理,永远是可靠性和价格的双重难题。廉价方案就不可靠,可靠方案就不廉价,因此弄明白你自己需要的是廉价还是可靠。作为如果你的选择是可靠性,就要假设明天电脑就坏了。任何设备在损坏之前都是不会打招呼的,因此现在立刻就行动。 2.由上文引出的第一个建议,区分高可用资料和非高可用资料。通常而言,我们有很多资料,林林总总一大堆。但是其中有一些是丢失了虽然心疼但还可以接受,另一些则是无法接受,往往要搞到去数据恢复中心的地步。与其如此,不如提前区分高可用资料和非高可用资料,尤其注意区分“你的资料”和“你下载的资料”。通常一个人的核心资料应当小于100G(我假定你不会比我更变态),如果你有大量录像资料要备份不在此列,以下的高可用方案也对你不适用。 3.文件的管理方法,区分大类,放弃小类。通常我们的文件管理都有随意性,每个人都有不同的文件放置习惯。建议对文件区分以大类,而放弃细节的文件夹分类。人类在区分大的类别上往往比较恒定,也比较节约时间,在细节分类上越向下越费时。通常我们对歌曲区分男歌手女歌手团体外文等非常容易,但是要细分某个歌手就比较困难了,要精细到某张专辑绝对会花费大量时间。然而人类在寻找东西时的难度,和总体规模大致成正比。为了减少一点复杂性而花费大量时间是一个非常不值得的事情。 区分大类的另一个理由,则是大类的区分经常关系到高可用和非高可用,高安全和非高安全。贝壳的分类中,几个类别的资料全是要求高安全性的,另几个类别则全随便。 4.文件的管理方法,文件名标识,运用搜索。文件管理的第二个建议,就是别用分类来查找文件,使用搜索。windows下肯定是everything,linux下可以用mlocate。通过将内容反映在文件名上,对文件进行管理。在需要用的时候搜索文件名,远比你整理所有文件来的省事。至于上面区分大类的建议,则是事关下面高可用数据的解决方案,所以还是要做的。 5.磁盘的稳定性研究。磁盘能稳定使用多久?贝壳听到最倒霉的记录是7个月,最长纪录是10年。但是通常来说,6成的硬盘会在3-5年内损坏。因此一旦硬盘使用超过3年,就处于临界状态,坏了也不要觉得奇怪的。对于临界状态的硬盘,建议采用SMART监控软件,随时保持监控异常。对于硬盘上发生过循环冗余检查错误,复制死机,文件读取错的,尤其要重视。 5.磁盘的分区方案。很多人拿到硬盘,就先分上三四个驱,好像不分区不专业似的。其实分区是上个世纪FAT文件格式留下的传统,作为NTFS而言完全不必分区,甚至分区是有害的。FAT在不分区的情况下最高只能使用4G硬盘,VFAT方案下windows也只能使用32G的硬盘。因此对于大硬盘都必须分区使用。NTFS最高能使用4T的硬盘,我想个人是用不到这么大的硬盘的,因此完全可以将所有磁盘都分为一个区。这样主要是空间互通,减少对一个磁盘区域的反复使用。同时,在一个磁盘空间不足时不用反复移动文件凑空间。但是对于C盘(系统盘)建议分区安装。这样便于不擦除数据的情况下重装系统。当然,这种情况仅限于windows,linux要重装系统是没必要擦除数据的。不过我仍旧建议/home和/分别安装,因为两者的读写乃至管理特性都相差很大。 6.数据量控制在60%-80%之间。太少的数据会导致利用率过低,而太多的数据则导致存储快速碎片化。windows的磁盘碎片整理程序在空间小于15%的情况下是不工作的,ext3也有类似的问题(低空间下的高碎片化)。 7.因为上文的原因,因此区分普通数据和可抛弃数据。有一些数据,我们总是不确定将来是否会有用,现在删除又太可惜。可以将这些数据集中起来加上标记,命名为可抛弃数据。硬盘空间低于60%的时候尽管留着。一旦空间波动超过80%,就开始丢弃可抛弃数据。 8.个人不要用RAID0。因为使用条带技术,RAID0的时候,如果一个磁盘损坏,则整个卷都没救了。即使另一个磁盘完好无损,数据也是基本拿不回来的。对于两个磁盘的情况,建议你将两个空间分为两个盘,其中一个设定为临时文件存放和非高可用文件存放位置,挪挪空间还是能凑合管理的。同时,我也不建议个人使用LVM,LVM2,活动硬盘之类的高级磁盘管理技术。主要问题是磁盘一旦损坏,剩余盘拿到其他系统上几乎如废物一般,要拯救起来非常困难。 9.RAID1必须打开数据非同步提示。这个原因如8所说,如果你没有打开数据的非同步提示,你根本察觉不到其中一块硬盘已经失效。这个时候往往会发生第二块硬盘级联失效(因为压力集中),这样的RAID1方案就退化成了一点好处都没有。 10.高可用资料的方案——移动硬盘。你的高可用数据是我们真正要管理的目标,哪怕其他资料都损坏,必须保证核心资料的可恢复。通常由于核心数据并不很大,因此我建议用移动硬盘作为核心资料的承载方案,数据在移动硬盘和主硬盘间定时同步。对于频繁修改的文件,建议在两个电脑上进行同步,乃至使用版本管理系统管理和同步。移动硬盘的一大好处就是随身,因此往往和主电脑分离存放。即使你主电脑出现问题,例如被偷走,移动硬盘内的数据往往也没有问题。 11.移动硬盘引入的问题,加密。一旦使用移动硬盘方案,就意味着任何人都可以接触到你的资料。这是一个非常难办的问题,所以你可能要加密数据。我建议不要使用EFS作为数据加密方案,因为EFS的密钥保存在当前用户帐户内,备份和管理比较复杂。我建议两种加密方式,一种是AxCrypt,一种是TrueCrypt,后者比前者更强更复杂一些。前者是针对某个具体文件进行加密的,后者会直接虚拟出一个磁盘来加密,因此更加复杂。然而一旦将数据加入后者的磁盘后,就真的一点痕迹都不留了。不过需要提醒的是,由于磁盘上的数据并不能真正的被擦除,因此一旦数据进入磁盘,在虚拟文件内所占的空间就固定了。即使删除文件也无法收回空间,这给管理带来了困难。 11.高可用的一种备用方案,使用大型硬盘(1T以上)复制然后冷盘存放。这种方案的好处就是稳定性很高,四年前的大型硬盘已经超过500G,足够存放下你所有的数据。由于不加电,因此安全存放五年以上是没问题的。但是建议也不要太长,即使不加电,随着时间推移,硬盘还是会出问题的。当然,与之相应的就是成本高,管理不方便。你多花了一个硬盘的钱(虽然我觉得和保存数据相比还算廉价),但是又不是随时能使用这些文件。 12.高可用的误区,刻录光盘。光盘是数据最大的敌人。我们计算硬盘的存放成本,2T大概700,1T400不到,大约是0.35-0.4元/G。DVD的存放成本大约是,一桶50张的卖70,大概0.32-0.35元/G,成本非常相近。光盘存放三到

debian under box

Mar 7, 2011 - 1 minute read - Comments

This is linux tech blog, so…猫咪和六牙四皂小姐退散。 下面简介一下小型系统组装NAS和服务器的完整攻略。实话说这篇文章写的异常艰难,题目本来叫debian squeeze under EPIA。结果一晃过了一个春节,debian升级了,EPIA挂了。下面前一部分的文章是开始写的,后来发现M10000系列主板只要上sata to ide就会死机,部分IDE硬盘也会死机。所以… 首先是物理硬件的组成办法。推荐购买VIA EPIA M10000,价格大约在150上下。附带了VIA C3 Eden,只要一条内存就可以工作,非常便宜。不过USB引导有些问题,所以后面用的是其他机器装的Linux,并且给折腾了个半死。贝壳还买了一个小机箱,能够放置3.5’硬盘,并且买了1T的硬盘来组装NAS。由于1T的硬盘只有Sata接口,因此还得买一块Sata to IDE,大概是30-40。全部的硬件就是这样,组装起来就可以工作。主板的右下角是主板控制跳线,从左(以CPU和电源所在边为上)到右顺序,引脚如下定义:上排2-3,power sw。上排4-5,reset sw。上排6-7,power led。 首先借助一台大型机,使用USB开始debian系统的安装。另外补充说明一下USB安装debian一文中的一个情况,在boot.img.gz解压开的U盘内复制入netinst也是可以工作的,不一定是businesscard。按照这个估计,复制入完整ISO也是可以的。在分区的时候,贝壳选择了full disk with LVM。/boot分配了228M,最后用了17M。root用LVM中的ext3卷,分配了7G,用了不到1G。全部装好大约有2G吧,安全起见。swap用了2.5G,其实不用这么大,不过我懒得换了。剩下908M,因为1T有一定损耗,还有JS的1000进制算法。。。好吧,全部用ext3放到/home下放数据用。 之所以没用btrfs的原因,一方面是这个是硬盘,不是ssd,也没有高等数据管理要求。另一方面也要求一定的稳定性,btrfs还没有fsck呢。 系统安装并没有什么太大困难,对于熟悉linux系统安装的人,很快就可以完成安装。不过由于是在其他机器上安装,因此注意在迁移后需要修改/etc/udev,把网卡修改为eth0。 下面就是大头了,系统使用grub2引导,但是在booting kernel这里直接挂掉,完全起不来。问过gary后,基本肯定要么是主板坏了,要么是内核坏了。后来我猛然想起,C3是个老CPU了,我用的内核是686内核。改为486内核?顺利引导。 EPIA edin C3 just support i486 Instruction Set, so don’t use linux-image-.*-686。 系统启动后,发现速度并不很快。我用samba和windows共享文件,大约只有7M/s的读写速度,消耗了60%的CPU。我使用的是TP-504G+路由器,后面是一个100M的交换机。EPIA是VT6102,10/100M自适应网卡。主机是1G的网卡——不过没任何用。理论上,最高读写速度应该有12M/s的。实际上根据我的测试,瓶颈居然可能在windows上。我在windows复制文件的时候从box上读取数据,居然对复制没有影响的情况下达到了2M的速度。这样的速度远远低于硬盘30M/s的持续读写速率,所以硬盘效率不用顾虑太多,包括碎片问题。 当我发现sata的问题后,使用iozone确认了问题在udma层面上。杯具的是,这问题无解。所以,退了主板换了一块新的。新主板上去后,性能有所升高。硬盘的吞吐到了97M/s,网络共享的读写速度大约是10M/s。其余都很顺利,就不废话了。

版权和道德的讨论

Mar 4, 2011 - 1 minute read - Comments

某个朋友在做一个文档共享网站,需要一些文档。我建议他去抓取wikipedia的数据作为初始文档,他很惊讶的问我,那个可以么? 谢天谢地,总算碰到一个有点常识的人。我告诉他,wiki使用的是CC协议。只要他将数据抓下来后,注明数据来自wikipedia,是完全符合版权协议的。按照他们最近的情况,要是你肯赞助一笔,并且承诺按照CC协议来,说不定wikipedia还会奉送打包好的资源。相反,他做的这个网站在别处出事的概率到更高一些。他反问我,出什么事情呢? 那就很多了。例如,某个人上传了一个带版权的内容,并且因此获利了。在事发后,带着赚的钱失踪了。那么网站是否要承担责任呢?他说有协议,我问,你们的协议可以对抗第三方么?有人偷了东西,把东西卖给废品站,人消失了。废品站拿着协议大喊,我们签过协议,他承诺这东西不是偷来的,应当被认可么?协议其实什么都不能证明,连你没有盗用版权的故意也无法证明。要证明你没有盗用版权的故意,你必须有一定的核查行为,检查你的内容版权问题。但是这是几乎没法实现的,这也是所有web2.0网站所面临的公共难题。就是说,只要你允许用户上传内容,就几乎无法避免版权问题的指责。 还有,如果别人再复制你的内容呢。他说打官司咯。我说真打官司就脑残了。如果对方在上海还好说,如果对方在北京,根据中国法律,这种官司归侵权事故的发生地管辖。就是说,你得去北京起诉。光是你去北京数次沟通的费用就比对方的侵权赔偿还大。而且中国的国情是发生这种事情的公司绝对不是一家,起诉到判决的时间往往也不止一年。你官司没打完呢,网站就先倒闭了。如果这种事真的官司能解决,腾讯早就赔到死了。 同样,回来上网,看到刘慈欣很生气的说,有个人在百度贴吧里面说,自己已经看完了三体III,准备手打一份贡献给大家。要光这点也就算了,刘慈欣跑上去说话还很猖狂的骂人。我看到这里就不禁很无语,虽然看盗版书这种事情我也干,但是至少我知道这是错的。要是有个好点的渠道给作者点钱,我到不介意付费。但是,一,不要买纸质书,现在家里书山书海,没地方放您的一摞纸,二来也不环保。三就是一次购买,我需要这本书的各种载体都不再付费。不能我花钱买了一次epub,回头txt或者pdf就要我再付费,这可不干。问题是,怎么有人(而且不是一个)没感觉到,免费看书是错的呢? 说到这点,我就想起个老外,上海的DD之一的zigo。上次他在debian打包讲座上说到,Ubuntu开Ubuntu Store,他觉得这个很恶心。LiDaoBing就问他为什么,是因为收费么?他说不是,因为Ubuntu用了很多Debian的包,但是又不承诺免费。LiDaoBing就很门清的和他说,这个完全符合版权协定啊。Debian有dsfg承诺,Ubuntu可没有。zigo就说,我知道,所以我说很恶心。当然,可能因为他也是Debian的打包者,也可能是因为Debian的维护者在版权问题上都比较敏感和激进。但是我接触的大多数老外对于一个内容是合法使用还是非法使用都是比较关注的,哪怕他们买盗版光盘,也至少要关心一下这个内容是真的盗版了,还是合法资源的集合。 说到这里,我觉得,这种问题应当是每个中国人的问题。我们往往知道理论上什么是对的,但是却完全不屑于理论,还和别人争辩理论是没用的。道理上说,我们知道不应当看别人的版权内容。道理上说,我们知道,版权经常有问题的网站应当被抵制。乃至于道理上说,我们不应当用盗版windows,我们不应当砸别人的车,我们不应该收红包,我们都知道。但是在操作的时候,我们用盗版,不但堂而皇之,而且可以找出无数理由。支持国产啦,损害外国公司利益啦。我们砸别人的车,也有无数理由,抵制日货啦,支持国货啦。我们在做的时候,用的是我们自己的一套规则,或者说潜规则。所谓理论上的东西,只是拿来找说法的。自然,说法这东西是随便找的,再多也不怕。 有人选择对这种现象抱怨,但是抱怨不解决任何问题。深谙此道者会从中获利,并且以胜利者的姿态对其他人说教,你们不了解社会。民众会抱怨,但是不是因为整个世界没有公平,正义,乃至美好的道德,而是因为他们在整个体系中没有分得一杯羹。 我们每个人的小聪明,毁坏了我们的整个利益体系。我们没有IT业,因为我们每个人都对电信的不合理行为视若无睹。当电信提供低质量的服务时,当电信无法接入时并且要求你等待24小时时,乃至当电信劫持我们的流量插入广告时,我们说,忍一时风平浪静。当有人站出来,为了他自己,也为了我们所有人而奋战时,我们在后面说两句好话,期待他的成功能让我们一同享福。当对方做出一定让步,承诺给我们一定好处时,我们就对为我们奋战的人置之不理,乃至落井下石。 我们没有软件业,因为盗版不但没有损害国际巨头的利益贴补国人,反而损害了国人的利益贴补国际巨头。金山,一个中国软件业的传奇,上市靠的是网游,而不是单机软件。国内无数的程序员做着外包,也许这还可以解释为人民币对美金汇率的差价。但是无数程序,是由中国程序员写出,却没有中文版。我们宁可花长途话费对老外点头哈腰,也不愿意给同胞改几行代码,因为人家付钱,我们破解。老外的软件仓库中,充斥着免费且强劲的软件,和收费且良好的服务。我们的软件仓库中,充斥着免费的流氓软件和收费的冷屁股。 也许我们无法从购买正版软件做起,或者承诺不上网看盗版书。但是至少,我们应当开始关心我们所说的那些东西,包括版权,包括什么是正确的事情,人和人之间如何制衡来得到正确的事情。也许这是徒劳的,也许一个人的改变无法改变什么,但是当每个人都前行一步时,世界将会不一样。