Shell's Home

如何建立自己的debian repository

Feb 28, 2011 - 1 minute read - Comments

首先,感谢zigo的大力支持,并且贡献出他的源码,我才得以完成本文。其次,技术文,该散的可以退散了。 很多时候,我们对某些东西比较有兴趣,所以会安装一下。debian系统下最熟悉的安装系统就是dpkg了。作为debian用户,我想用deb包来安装这些东西。这样会有以下的好处: 1.便于在多个系统上重复安装。如果是源码包编译,就必须每台系统安装好环境来configure/make install了。 2.便于拆除。如果是make install,能不能拆就看你的运气了。 3.系统可以管理依赖。包括自动安装缺失的依赖包,以及保持依赖包的固定等。 关于打包,请看debian新维护人员手册( http://www.debian.org/doc/maint-guide/index.zh-cn.html)。本文主要是说一下如何将这些包变成一个自己的仓库。 变成仓库,你将拥有以下好处。 1.不必自己去复制包,然后手工安装。 2.当仓库更新后,目标机器在update后可以发现。 3.你可以向仓库中加入自己定制编译的,更加新版本的软件。替换掉系统的同名软件,而不改变操作特性(除了没加key会碰到不安全提示)。 其实debian的主系统是一个超级大仓库,通过ftp和rsync同步提供服务。我们的包如果够重要,也会享受到这种待遇。然而debian官方仓库的要求比较严格,你必须在文件级别搞清楚每个文件的授权,并且核对这些授权是否符合dsfg协定。你的包必须足够重要,有可能的潜在用户。多数时候,我们自己写的产品/库还没有这种待遇,因此只有自己做一个仓库了。 zigo提供了他的打包代码,比我的功能全多了,大家可以参考这里(http://git.gplhost.com/gitweb/?p=mgmt-scripts.git;a=blob;f=scripts/scan_archive;h=db7647732b989b35ae7d8a48c80a48ecf67e4612;hb=0ff8fd7d0ba1991d552376f8beca0b46bfaa32e3)。我根据这个脚本,自己实现了一个,放在这里(http://shell909090.3322.org/debian/scan_deb.py)。下面,我简述一下用法和原理。 首先,你需要建立一个pool目录。在其中建立一些release目录。举例来说,wheezy是一种release,testing也是。但是目前testing是wheezy的别名,你用ln -s做链接指向就可以了。在release目录下,你需要建立category目录。例如main是一种category,contrib和non-free也是。 在指定一个deb仓库的时候,release和category是必须指定的,可以被看作是一个仓库地址的一部分。 建立完三级目录后,将你的包放在对应目录下。 全部文件放好后,在根目录下执行python scan_deb.py。如果你需要自动签名,将最后一行的False改为True。在此前请准备好私钥。如果缺少某种架构,请修改脚本architectures一行。 系统的基本原理是,在某个release, category, architecture下,对于pool/release/category目录执行dpkg-scanpackages操作,生成Packages文件到dists目录下,并且再生成一个压缩版本。 对所有目录执行过操作后,使用apt-ftparchive来生成一个Release文件,这个文件指名了有哪些Packages文件,以及他们的MD5各是多少。 客户端获得了Release,就可以知道某种release的特定几个category是否需要更新。更新到了Package,就知道有什么包,他们的meta信息是多少。最后对Release文件进行签名,就可以防止作假了。

上海电信ADSL的劫持?

Feb 26, 2011 - 1 minute read - Comments

刚刚跑去verycd转一下,发现verycd的页面又不能动。最近经常发生这样的事情,整个页面能看,但是不能点击和拖动。再次刷新后问题消失,并且只在家里出现。我开始以为是chrome的bug。 刚刚不但又出现了这个问题,而且还弹出一个广告。我觉得不对,开源码看了一下。整个源码全是压缩后的js代码,然后用一个frame把http://www.verycd.com/?引用进来。再次刷新后,呈现出一个格式化过的正常首页。很明显,verycd本身是不会搞这种形态的广告的,他们大可在首页上加载各种广告,用不着搞得自己没法访问。 刚刚的广告是卖电信天翼的,verycd公司在上海,服务器IP是中国电信的地址段,加上我的线路也是电信的,谁是最大的嫌疑者简直呼之欲出。不过同样的,这件事情没有证据,而且没有任何的采证可能。要证明电信劫持,就必须证明,在某次具体的通讯过程中,内容确实被调换了。要跟踪某次具体通讯,并且过程都是可采信的,这个难度可不低。再加上,必须证明只有电信可以劫持内容,就是说必须证明数据包在网络上只经过了电信的路由器,没有转发的可能。即使我和verycd都是上海电信的用户,也没有办法追踪某时刻的路由表,说明包必然没有被旁路转发。最关键的是,verycd本身根本不可能得罪电信来帮你做证。 问题是,这样的http过程劫持可不可能被用于被用于其他网站呢?你的网络数据又会不会被拦截下来作为商用呢?电信是不是已经知道了你的电话号码,手机号码,你买了什么东西,乃至你的银行帐号和密码呢?

linux下第二声卡的启用

Feb 24, 2011 - 1 minute read - Comments

贝壳用的是debian testing,xfce。最近买了一个usb耳机,在windows下一切正常,但是linux下只有mplayer能工作。因为mplayer可以指定输出声卡,其他程序都是使用默认声卡的。而由于debian移除了alsaconf,因此连调整一下都不知道该怎么做。也许修改/etc/modprobe.d/alsa*可以解决问题,问题是,谁知道哪些资料是神马时候的呢?我最早甚至找到过01年的资料… 后来,在zigo的建议下,我改用了pulse。zigo在linux下玩音频的,又是DD,怎么也算职业人士,推荐果然很给力。当晚我拿着usb耳机,很顺利的听到了youku视频。那一刻我热泪盈眶,感谢国家,感谢ccav,感谢zigo… 做法如下: # aptitude install pulseaudio pavucontrol $ pavucontrol 在输出设备页面,选择你想要的设备为默认。 如果有部分程序还是不认,建立~/.asoundrc或者/etc/asoundrc.conf,内容如下: pcm.pulse { type pulse } ctl.pulse { type pulse } pcm.!default { type pulse } ctl.!default { type pulse } 完了。 补充一下,pulse的具体资料就不说了。大致上,pulse是一个linux的混音器。用于将多个音源发出的音频流混合成一个音频流播放。严格来说,音频设备属于独占设备,当一个软件发音的时候,其他软件应当不能发音的。这个有点类似于fifo,当两个进程同时打开fifo写数据的时候,目标只能得到碎片。 pulse的作用,是产生一个可以被多次使用的音频设备,类似于unix socket。每一个进程的数据被单独的输入,然后混音,再输出到真实的物理设备上去。由此,多个音源同时发音就变成了可能。 有人也许说,alsa原生也是支持多音源的阿。那是因为alsa内部带了一个很简单的混音器,叫做dmix。当然,pulse比dmix更加专业。

gfw升级了?

Feb 23, 2011 - 1 minute read - Comments

今天使用的主机上有个朋友发来消息,api用不了了。贝壳检查了一下,主机正常阿。 最终,发现问题是这样的。 shell@shell-deb:\~/tmp\$ wget <http://shell909090.org/apis/> --2011-02-23 10:08:39-- <http://shell909090.org/apis/> 正在解析主机 shell909090.org... 74.86.182.175 正在连接 [shell909090.org](http://shell909090.org)|74.86.182.175|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 读取文件头错误 (Connection reset by peer)。 重试中。 --2011-02-23 10:08:41-- (尝试次数: 2) <http://shell909090.org/apis/> 正在连接 [shell909090.org](http://shell909090.org)|74.86.182.175|:80... ^C shell@shell-deb:\~/tmp\$ wget <http://shell909090.org/> --2011-02-23 10:13:36-- <http://shell909090.org/> 正在解析主机 shell909090.org... 74.86.182.175 正在连接 [shell909090.org](http://shell909090.org)|74.86.182.175|:80... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:1156 (1.1K) \[text/html\] 正在保存至: “index.html” 100%\[======================================&gt;\] 1,156 --.-K/s 花时 0s 2011-02-23 10:13:37 (277 MB/s) - 已保存 “index.html” \[1156/1156\])

EPIA主板经常死机问题

Feb 22, 2011 - 1 minute read - Comments

十天死机三次,经过咨询,问题可能在电源或者DMA上。 用iozone来压硬盘,一次没跑完就死机了,问题看来集中在DMA上了。 在BIOS里面把硬盘的高性能模式关掉,再压,两次没死机。 等三天,又死了。 正在换主板。

解决问题的艺术

Feb 19, 2011 - 1 minute read - Comments

前几天的卖家打电话过来道歉了,听起来淘宝的投诉对他们是相当肉痛的一件事情。不过事情已经到这个份上,我花了无数精力下去,怎么可能凭三言两语就给你撤销呢。只是让我白骂一通。 不说这个卖家的JP问题了,就说整个事情的处理过程。其中有不少反面动作,值得大家惊醒。 1.出错后的态度。 这点那位卖家做的相当好,错了就认错。很直接的道歉,对不起,是我们的错,我们帮您解决。实话说,要没后面的一堆事情,我有心就这么解决掉了。人也没那么多精力去搞每件事情。 2.出了问题不到手足无措,也不要左右推脱。 这倒和那位卖家没关系,是我在杭州招行文三路支行的一次经历。我去交水电费,他们交过去后,因为系统衔接问题(实话说,杭州的各个系统衔接做的真是——垃圾啊),不确定是否到帐。所以要找我解决一下,否则万一没交成,我回头发现,投诉信还不写到总部去。 开始的时候是一位MM,可能是新来的,负责处理我的事情。从交钱的时候就一塌糊涂,我给的钱点来点去点不清楚,和我说话也是含含糊糊,我当是怕生。自己搞不清,叫来经理看,结果和经理讲话的时候也含含糊糊的,不知道怎么想的,居然来做柜面。结果我交一笔1600的钱,等了20多分钟才处理好,我都看懂了处理流程。算了,柜面也不容易,不要欺负新人了。等我上了杭州回上海的动车,才打电话告诉我有问题。说话还是交代半天说不清楚。没办法,只好找她们主管。 他们主管的名字我现在还记得,叫徐安江,做事清晰利落。先和我道歉,说明是他们的问题,接口上有点问题,周一能查清。要是没到,让我来补交,如果到对方那里了,会发起退回,让我重交。就是要麻烦我一趟。我说这个我可以接受,不过这个水电费快到期了,滞纳金的问题么。他说,会和对方协商,争取免掉,有的话就做主补上。然后问,您有个杭州的账户,方便转回那里么?我说不成,那是我个人开的账户,万一老板误会个啥的。他说,好的,我们钱到了转回上海账户,中间手续费帮您免掉。 我靠,这一下问题顿时解决。当然,如果换了柜面MM,补上滞纳金和免除手续费就不能做主了。但是前后的沟通实在是——新人勉强不来啊。 等我回杭州,和他们约好了去解决问题。结果还是上次的小MM,又是一通问题处理不清楚。没办法,还是叫主管吧。我就碰到了她的主管。他跟我说现在交不了,要到周三再过来一趟。我说周三人都在上海了,是你们说周一让我跑一趟的,咋办?他很客气的说,那钱我帮你收着,给你写个欠条,说明事情原委,到时候你凭欠条来我这里拿发票。 我靠,这话说的,我当场想写感谢信来着。最后事情多,把这茬给忘了。这件事虽然算是服务瑕疵,但是我仍旧认为招行在我碰到的银行里面服务排第二(第一是浦发)。 碰到问题,首先不要慌,如果自己慌了,客户就不会信任你。当初我在碰到问题的时候,拿着客户的电话大喊,想起来实在是很业余。另外也不要左右推脱,尽力帮客户办好事情。客户的事情办好了,坏事也可以变好事的。 3.解决问题的时候别引起新的问题。 春节后人忙,我能理解。过年盘账,我也能理解。说暂时到不了帐,客户不会马上翻脸。你哪怕给个折衷点的时间呢,客户也可以接受。但是9号说要查,查到12号说当天到,15号没到说明天,16号又没到。是可忍孰不可忍。事情做到这一步,要么你就拖着,然后等着客户投诉完了骂一顿,还得说你自找的。要么你就想办法的摆平客户。200不到的东西连借个账户先垫付一下转账安抚客户都不会,还开门做什么生意。 4.别到了解决问题的时候还没搞清问题在哪里。 刚刚给我打电话的卖家小客服,到打电话的时候还没搞清退货流程。他还以为我申请退货,他点同意,我点OK,钱就回去了。我还得给他补课上退货流程,是我申请,他同意,我发货,他接受,完成。这TMD我出事后都自己看了一遍流程,他连流程都没去看,叫什么事啊。

淘宝上的某个恶心卖家

Feb 17, 2011 - 1 minute read - Comments

最近为了拼小机器,在淘宝买了这家(http://item.taobao.com/item.htm?id=3259889569)的小机箱。由于我想装1T硬盘,因此提前查了,1T硬盘只有3.5寸,SATAII接口规格。所以我曾经问这个卖家的客服,你们的机箱可以支持3.5寸硬盘吧?这个尺寸的机箱普遍说不支持的,只有你们这里在参数中明确说明支持。客服答复我,支持。我说,你别光看页面参数,你确定。他说,我确定。 所以我就下单了。东西到的很快,在春节时段,倒也难得。问题是——机箱质量什么的不说,这机箱压根不支持3.5’硬盘阿。 我找客服投诉,你们卖的时候可是说好支持的。他查了一会,告诉我,对不起,不支持,您可以外接硬盘。废话,哥的硬盘比主板加机箱还贵,要外接还用买你的机箱?再说要外接我TMD当初问你干吗?没事逗闷子玩阿。我说我给你两条路,一条是想法弄个3.5’硬盘架给我,另一个是换。前一个比较简单,就怕机箱尺寸不符。后一个我是不会付来回邮费的,这是你们的错误,而且最终只有中评。对方问了一下老大,说这个机箱上不去3.5’硬盘架,而后一个这单他肯定亏,所以给我退货。TMD你亏我不亏,确认了能用的结果来一这玩意。搭10块钱退货不说,还浪费时间处理,老子TMD做咨询两小时足够再买个机箱了。 退货就退货吧,我问对方,我发起请求了,你是先同意还是我先发货。他说,你先发货,哥们。好,我先发货了。过两天一看,改为已经同意退货协议了,总算了了一桩心事。过年闹个肚子,春节后再上去一看——已成交? 喂喂,这算哪门子事儿阿。马上联系,结果改一个卖家的投诉帐号来处理这个事情。我问他,你们机箱没收到?他说春节刚过,人还不齐,所以要看看。我想想也是,春节刚过,事情一堆,也不忙于一时,就说,你慢慢查,我明天听回音。这是二月九号的事儿。十一号的时候我再催,说去年的帐存档了,财务要去查。十二号再问,说已经在处理了。 shell909090:(14:04:41) 您好,请问有消息了么? 候鸟信誉商城:投诉:(14:26:18) 财务已经在理了 确定后下午会打到你支付宝账户里 shell909090:(14:28:26) 好的,谢谢 到了15号我上去买东西,顺手看了看——还没到帐。上去问了一下,说财务支付盾在重新重新申请,几天内都不能支付。 候鸟信誉商城:投诉:(16:03:24) 请您耐心等1-2天 财务那边有记录的 但是支付盾重新申请过了,这几天都不能支付 候鸟信誉商城:投诉:(16:05:45) 你放心好了 我们也不是小店 不会蒙你的 shell909090:(16:05:45) 实话说,这次退货问题,我是无责的 shell909090:(16:05:57) 好吧,这样 shell909090:(16:06:00) 我联系一下淘宝的客服 shell909090:(16:06:04) 听取一下他们的意见 候鸟信誉商城:投诉:(16:06:09) 可以 候鸟信誉商城:投诉:(16:10:27) 我问过财务了 最快明天下午可以支付 我觉得有点不对,就算财务十二号当天转帐发现不能转,马上申请的话。淘宝和对方公司都在杭州呢,十五号怎么也申请到了。而且这家公司上来就坑了我一把,于是就多了个心眼,打给了淘宝客服去问问。客服MM建议我别等了,尽快做投诉。因为淘宝只开放15天的投诉维权接口,过后就关闭了,再处理问题就会更困难。得亏哥没信你们,信你们一回吃一回亏。下面是维权说明。 曾向客服询问主机是否支持3.5’硬盘架,客服很确定的告知支持。但货到后根本不3.5’硬盘,也无法改装硬盘架。因此要求全额退款。在春节前发现退款已经同意,因此将货物寄回。春节后发现变成已经成交,货款反复催促后仍未到帐。 投诉过后,对方是这样辩解的。 被维权人(候鸟信誉商城)的留言: 卖家于2011年02月16日 18:54:50不同意维权协议. 2011-02-16 被维权人(候鸟信誉商城)的留言: 当时是说好给你退的,我们点了同意退货,但是买家一直不点退货发货,最后退款自动关闭,年后因为跨年做账问题无法马上支付,要买家等等,聊天记录里说的清清楚楚,不用怕我们赖账的,没必要马上就维权,说了最快今天,最晚明天就给你支付到账上,请买家取消维权。 首先,你让我TMD先发货你再点同意退货的,谁知道同意退货后面还跟着退货发货阿。欺负老子新手不成?前面不是说支付盾么?怎么这回又变成做帐了?不用怕你赖帐?我倒是不怕你赖帐,我怕你失踪阿。第二天再看,果然还没到帐。不过这次倒可能不是卖家的问题,支付宝总算给力了一把。 淘宝客服留言: 根据维权的内容,淘宝网已经从卖家保证金中扣除175元给买家,已经提交申请将卖家的保证金扣除到买家的支付宝账户,该交易款项将会在三个工作日内到达买家支付宝账户,请买家关注。淘宝及卖家一直在努力为买家提供安全愉快的购物环境,感谢对淘宝支持! 2011-02-17 基本搞定了。 事情还有个小插曲。沈崴沈游侠最近也在买小机器,很兴高采烈的给我推荐神板和神箱,我看完箱子的第一句是,箱子很给力,卖家不靠谱。然后让他向下翻一翻,我那颗大名正在买家列表里面呢。最神奇的地方是,这是春节后的事情,我都投诉了,但是网页上还是赫然写着——支持3.5寸硬盘——到现在都没改。估计我这篇要是看到的人多,兴许卖家会改了页面来找我算帐吧。

上海地铁的安保想站到神马时候阿

Feb 16, 2011 - 1 minute read - Comments

世博的时候就算了,世博过去,说要站到过年,也算了。过好了年还站着。查又查的不严格,撤又不撤。纳税人的钱花着没个说法,有没有搞错。

nginx使用fastcgi连接django时的细节

Feb 15, 2011 - 1 minute read - Comments

django使用PATH_INFO和SCRIPT_NAME来计算urls.py中的匹配路径,当两者都设定时,会出现URL计算结果为空,导致无法访问的问题。具体看这里。 http://aftnn.org/2009/jan/23/nginx-django-fastcgi/

闹肚子找到罪魁祸首了

Feb 11, 2011 - 1 minute read - Comments

现在全家闹肚子了,看样子是外婆的冰箱。数年不洗,生熟混用,而且还没有控温器,靠定时器工作的。。。 亏我也能活到现在。