forked from liuyu/liuyu.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatom.xml
1160 lines (1123 loc) · 69.4 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title><![CDATA[Liuyu's blog]]></title>
<subtitle><![CDATA[Puppet in action]]></subtitle>
<link href="http://bubbyroom.com/atom.xml" rel="self"/>
<link href="http://bubbyroom.com"/>
<updated>2013-08-13T10:22:41.491Z</updated>
<id>http://bubbyroom.com/</id>
<author>
<name><![CDATA[Liu Yu]]></name>
<email><![CDATA[[email protected]]]></email>
</author>
<generator uri="http://zespia.tw/hexo">Hexo</generator>
<entry>
<title type="html"><![CDATA[Migrate My blog from WordPress to Hexo]]></title>
<link href="http://bubbyroom.com/2013/08/11/migrate-my-blog-from-wordpress-to-hexo/"/>
<id>http://bubbyroom.com/2013/08/11/migrate-my-blog-from-wordpress-to-hexo/</id>
<published>2013-08-11T07:14:17.000Z</published>
<updated>2013-08-11T11:19:02.000Z</updated>
<content type="html"><![CDATA[<p>正式将Blog从WordPress迁移至Hexo,并从VPS托管至Github。整个组合模式为:hexo+github+vim+markdown.由于文档很多,并且很详细,这里只是列出相关的参考文档链接。</p>
<a name="more"></a>
<h2>Hexo</h2>
<ul>
<li><a href="http://zipperary.com/2013/05/28/hexo-guide-1/">Hexo介绍</a></li>
<li><a href="http://zipperary.com/2013/05/29/hexo-guide-3/">Hexo安装配置</a></li>
<li><a href="http://zipperary.com/2013/05/30/hexo-guide-4/">Hexo优化</a></li>
<li><a href="https://github.com/tommy351/hexo/wiki/Plugins">Hexo插件列表</a></li>
<li><a href="https://github.com/tommy351/hexo-plugins/tree/master/migrator/wordpress">WordPress迁移插件</a></li>
</ul>
<h2>Markdown</h2>
<ul>
<li><a href="http://upwith.me/?p=503">Markdown基本语法</a></li>
<li><a href="http://zipperary.com/2013/05/22/introduction-to-markdown/">Markdown指南</a></li>
<li><a href="https://github.com/volca/markdown-preview">实时预览插件</a></li>
<li><a href="https://github.com/plasticboy/vim-markdown">vim语法高亮</a></li>
</ul>
<h2>我的配置</h2>
<h3>WordPress</h3>
<ol>
<li>安装插件<code>npm install hexo-migrator-wordpress</code></li>
<li>登录WordPress后台,选择"工具"-->"导出" 导出所有文章至本地XML</li>
<li>运行如下命令,\<source>为你本地的XML文件路径<code>hexo migrate wordpress \<source></code></li>
</ol>
<h3>导航添加about</h3>
<ol>
<li><code>hexo new page "about"</code></li>
<li>编辑<code>source/about/index.md</code></li>
<li><code>themes/light/_config.yml</code>中,添加如下:</li>
</ol>
<figure class="highlight"><table><tr><td class="gutter"><pre>1
2
</pre></td><td class="code"><pre><span class="keyword">menu</span>:
关于: /<span class="keyword">about</span>
</pre></td></tr></table></figure>
<h3>RSS</h3>
<ol>
<li>安装插件<code>npm install hexo-generator-feed</code></li>
<li>编辑<code>hexo/_config.yml</code>添加如下代码:</li>
</ol>
<figure class="highlight"><table><tr><td class="gutter"><pre>1
2
</pre></td><td class="code"><pre><span class="comment">plugins:</span>
<span class="literal">-</span> <span class="comment">hexo</span>-<span class="comment">generator</span>-<span class="comment">feed
</pre></td></tr></table></figure>
<ol>
<li>编辑<code>themes/light/_config.yml</code> 添加RSS链接<code>rss: /atom.xml</code></li>
<li>编辑<code>themes/light/layout/_partial/header.ejs</code> 在<code><ul></ul></code> 之间添加<code><li> <a href="/atom.xml">RSS</a> </li></code></li>
</ol>
<h3>搜索引擎sitemap</h3>
<ol>
<li>安装插件<code>npm install hexo-generator-sitemap</code></li>
<li>编辑<code>hexo/_config.yml</code>添加如下代码:</li>
</ol>
<figure class="highlight"><table><tr><td class="gutter"><pre>1
2
</pre></td><td class="code"><pre><span class="comment">plugins:</span>
<span class="literal">-</span> <span class="comment">hexo</span>-<span class="comment">generator</span>-<span class="comment">sitemap
</pre></td></tr></table></figure>
<h3>Baidu Analytics</h3>
<ol>
<li>获取网站的相关代码<a href="http://tongji.baidu.com/web/welcome/login">百度统计</a></li>
<li>可以直接插入在Google Analytics中,编辑<code>themes/light/layout/_partial/google_analytics.ejs</code>插入代码</li>
</ol>
<h3>插入代码</h3>
<ol>
<li>直接使用 ``包围</li>
<li><img src="http://m3.img.libdd.com/farm5/2012/0913/15/73D9410B78B12835FE79BEC176AB49EE19D57A05049E_500_244.PNG" alt="image"></li>
<li>或者不输入语言名</li>
</ol>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[centos yum puppet 2.7 puppetabs.repo]]></title>
<link href="http://bubbyroom.com/2011/11/18/centos-yum-puppet-2-7-puppetabs-repo/"/>
<id>http://bubbyroom.com/2011/11/18/centos-yum-puppet-2-7-puppetabs-repo/</id>
<published>2011-11-18T09:53:08.000Z</published>
<updated>2013-08-11T11:19:30.000Z</updated>
<content type="html"><![CDATA[<h1>Puppet最新源仓库</h1>
<a name="more"></a>
<p>以前的文章:<a href="http://bubbyroom.com/2010/12/howto-install-puppet-on-centos5/">http://bubbyroom.com/2010/12/howto-install-puppet-on-centos5/</a></p>
<p>源站地址:<a href="http://yum.puppetlabs.com/">http://yum.puppetlabs.com/</a>
安装RPM包:</p>
<p><code>wget http://yum.puppetlabs.com/el/5/products/x86_64/puppetlabs-release-5-1.noarch.rpm</code></p>
<p>或使用以下通用配置文件: puppetlabs.repo</p>
<pre><code><figure class="highlight"><pre><span class="title">[puppetlabs-products]</span>
<span class="setting">name=<span class="value">Puppet Labs Products $releasever - $basearch</span></span>
<span class="setting">baseurl=<span class="value">http://yum.puppetlabs.com/el/$releasever/products/$basearch</span></span>
<span class="setting">gpgkey=<span class="value">file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs</span></span>
<span class="setting">enabled=<span class="value"><span class="number">1</span></span></span>
<span class="setting">gpgcheck=<span class="value"><span class="number">1</span></span></span>
<span class="title">[puppetlabs-deps]</span>
<span class="setting">name=<span class="value">Puppet Labs Dependencies $releasever - $basearch </span></span>
<span class="setting">baseurl=<span class="value">http://yum.puppetlabs.com/el/$releasever/dependencies/$basearch</span></span>
<span class="setting">gpgkey=<span class="value">file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs</span></span>
<span class="setting">enabled=<span class="value"><span class="number">1</span></span></span>
<span class="setting">gpgcheck=<span class="value"><span class="number">1</span></span></span>
<span class="title">[puppetlabs-products-source]</span>
<span class="setting">name=<span class="value">Puppet Labs Products $releasever - $basearch - Source</span></span>
<span class="setting">baseurl=<span class="value">http://yum.puppetlabs.com/el/$releasever/products/SRPMS</span></span>
<span class="setting">gpgkey=<span class="value">file:///yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs</span></span>
<span class="setting">failovermethod=<span class="value">priority</span></span>
<span class="setting">enabled=<span class="value"><span class="number">0</span></span></span>
<span class="setting">gpgcheck=<span class="value"><span class="number">1</span></span></span>
<span class="title">[puppetlabs-deps-source]</span>
<span class="setting">name=<span class="value">Puppet Labs Source Dependencies $releasever - $basearch - Source</span></span>
<span class="setting">baseurl=<span class="value">http://yum.puppetlabs.com/el/$releasever/dependencies/SRPMS</span></span>
<span class="setting">gpgkey=<span class="value">file:///yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs</span></span>
<span class="setting">enabled=<span class="value"><span class="number">0</span></span></span>
<span class="setting">gpgcheck=<span class="value"><span class="number">1</span></span></span>
</pre></figure></code></pre>
<p>清cache
yum makecache</p>
<p><code>yum -y install puppet</code> 安装</p>
]]></content>
<category scheme="http://bubbyroom.com/tags/puppet/" term="puppet"/>
<category scheme="http://bubbyroom.com/tags/repo/" term="repo"/>
<category scheme="http://bubbyroom.com/tags/yum/" term="yum"/>
<category scheme="http://bubbyroom.com/categories/puppet/" term="puppet"/>
</entry>
<entry>
<title type="html"><![CDATA[zabbix_agent.spec]]></title>
<link href="http://bubbyroom.com/2011/08/11/zabbix_agent-spec/"/>
<id>http://bubbyroom.com/2011/08/11/zabbix_agent-spec/</id>
<published>2011-08-11T03:20:45.000Z</published>
<updated>2013-08-11T11:19:38.000Z</updated>
<content type="html"><![CDATA[<p>Zabbix RPM制作,spec文件参考
<a name="more"></a></p>
<pre><code><figure class="highlight"><pre><span class="variable">%define</span> zabbix_agent_etc /etc/zabbix
<span class="variable">%define</span> zabbix_agent_bin /usr/<span class="keyword">local</span>/zabbix_agent/bin
<span class="variable">%define</span> zabbix_agent_sbin /usr/<span class="keyword">local</span>/zabbix_agent/sbin
Summary: zabbix agent
Name: zabbix_agent
Version: <span class="number">1.8</span>.<span class="number">6</span>
Release: <span class="number">0</span>
<span class="comment">#Source0: %{name}-%{version}.tar.gz</span>
License: MIT
Group: Applications/Internet
Buildroot: <span class="variable">%{_tmppath}</span>/<span class="variable">%{name}</span>-<span class="variable">%{version}</span>-<span class="variable">%{release}</span>-root-<span class="variable">%(</span><span class="variable">%{__id_u}</span> -n)
<span class="comment">#for install</span>
<span class="comment">#BuildRequires:</span>
<span class="comment"># for /sbin/service</span>
Requires(preun): chkconfig, initscripts
Requires(postun): initscripts
Source<span class="number">0</span>: <span class="variable">%{name}</span>d.conf
Source1: zabbix_get
Source2: zabbix_sender
Source3: zabbix_agent
Source4: zabbix_agentd
Source5: zabbix_agentd.init
<span class="variable">%description</span>
zabbix_agent
<span class="variable">%prep</span>
<span class="variable">%build</span>
<span class="keyword">mkdir</span> -p <span class="variable">%{buildroot}</span><span class="variable">%{zabbix_agent_etc}</span>
<span class="keyword">mkdir</span> -p <span class="variable">%{buildroot}</span><span class="variable">%{zabbix_agent_bin}</span>
<span class="keyword">mkdir</span> -p <span class="variable">%{buildroot}</span><span class="variable">%{zabbix_agent_sbin}</span>
<span class="variable">%install</span>
<span class="variable">%{__install}</span> -p -<span class="keyword">m</span> <span class="number">0644</span> <span class="variable">%{SOURCE0}</span> <span class="variable">%{buildroot}</span><span class="variable">%{zabbix_agent_etc}</span>
<span class="variable">%{__install}</span> -p -<span class="keyword">m</span> <span class="number">0644</span> <span class="variable">%{SOURCE1}</span> <span class="variable">%{buildroot}</span><span class="variable">%{zabbix_agent_bin}</span>
<span class="variable">%{__install}</span> -p -<span class="keyword">m</span> <span class="number">0644</span> <span class="variable">%{SOURCE2}</span> <span class="variable">%{buildroot}</span><span class="variable">%{zabbix_agent_bin}</span>
<span class="variable">%{__install}</span> -p -<span class="keyword">m</span> <span class="number">0644</span> <span class="variable">%{SOURCE3}</span> <span class="variable">%{buildroot}</span><span class="variable">%{zabbix_agent_sbin}</span>
<span class="variable">%{__install}</span> -p -<span class="keyword">m</span> <span class="number">0755</span> <span class="variable">%{SOURCE4}</span> <span class="variable">%{buildroot}</span><span class="variable">%{zabbix_agent_sbin}</span>
<span class="variable">%{__install}</span> -p -D -<span class="keyword">m</span> <span class="number">0755</span> <span class="variable">%{SOURCE5}</span> <span class="variable">%{buildroot}</span><span class="variable">%{_initrddir}</span>/<span class="variable">%{name}</span>d
<span class="variable">%clean</span>
rm -rf <span class="variable">%{buildroot}</span>
<span class="variable">%files</span>
<span class="variable">%defattr</span>(-,root,root,-)
<span class="variable">%{zabbix_agent_bin}</span>/zabbix_get
<span class="variable">%{zabbix_agent_bin}</span>/zabbix_sender
<span class="variable">%{zabbix_agent_sbin}</span>/zabbix_agent
<span class="variable">%{zabbix_agent_sbin}</span>/zabbix_agentd
<span class="variable">%dir</span> <span class="variable">%{zabbix_agent_etc}</span>
<span class="variable">%{zabbix_agent_etc}</span>/<span class="variable">%{name}</span>d.conf
<span class="variable">%{_initrddir}</span>/<span class="variable">%{name}</span>d
</pre></figure></code></pre>
]]></content>
<category scheme="http://bubbyroom.com/tags/spec/" term="spec"/>
<category scheme="http://bubbyroom.com/tags/zabbix/" term="zabbix"/>
<category scheme="http://bubbyroom.com/categories/Monitoring/" term="Monitoring"/>
</entry>
<entry>
<title type="html"><![CDATA[puppet 配置邮件报警]]></title>
<link href="http://bubbyroom.com/2011/06/29/puppet-tagmail/"/>
<id>http://bubbyroom.com/2011/06/29/puppet-tagmail/</id>
<published>2011-06-29T09:42:34.000Z</published>
<updated>2013-08-11T03:52:35.000Z</updated>
<content type="html"><![CDATA[<div id="_mcePaste">more tagmail.conf</div>
<div id="_mcePaste">err: [email protected]</div>
<div></div>
<div>puppet.conf</div>
<div>
<div>[master]</div>
<div>reports=log, foreman, tagmail, store</div>
</div>]]></content>
<category scheme="http://bubbyroom.com/categories/puppet/" term="puppet"/>
</entry>
<entry>
<title type="html"><![CDATA[http code]]></title>
<link href="http://bubbyroom.com/2011/05/15/http-code/"/>
<id>http://bubbyroom.com/2011/05/15/http-code/</id>
<published>2011-05-15T04:00:07.000Z</published>
<updated>2013-08-13T09:36:55.000Z</updated>
<content type="html"><![CDATA[<p>以前只是看的枯燥的文字版的服务器返回状态码。现在,看一张比较形象的图解,希望能增强记忆。
<a name="more"></a></p>
<pre><code><figure class="highlight"><pre><span class="title">HTTP</span> <span class="number">400</span> – 请求无效
HTTP <span class="number">401</span>.<span class="number">1</span> – 未授权:登录失败
HTTP <span class="number">401</span>.<span class="number">2</span> – 未授权:服务器配置问题导致登录失败
HTTP <span class="number">401</span>.<span class="number">3</span> – ACL 禁止访问资源
HTTP <span class="number">401</span>.<span class="number">4</span> – 未授权:授权被筛选器拒绝
HTTP <span class="number">401</span>.<span class="number">5</span> – 未授权:ISAPI 或 CGI 授权失败
HTTP <span class="number">403</span> – 禁止访问
HTTP <span class="number">403</span> – 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost
HTTP <span class="number">403</span>.<span class="number">1</span> 禁止访问:禁止可执行访问
HTTP <span class="number">403</span>.<span class="number">2</span> – 禁止访问:禁止读访问
HTTP <span class="number">403</span>.<span class="number">3</span> – 禁止访问:禁止写访问
HTTP <span class="number">403</span>.<span class="number">4</span> – 禁止访问:要求 SSL
HTTP <span class="number">403</span>.<span class="number">5</span> – 禁止访问:要求 SSL <span class="number">128</span>
HTTP <span class="number">403</span>.<span class="number">6</span> – 禁止访问:IP 地址被拒绝
HTTP <span class="number">403</span>.<span class="number">7</span> – 禁止访问:要求客户证书
HTTP <span class="number">403</span>.<span class="number">8</span> – 禁止访问:禁止站点访问
HTTP <span class="number">403</span>.<span class="number">9</span> – 禁止访问:连接的用户过多
HTTP <span class="number">403</span>.<span class="number">10</span> – 禁止访问:配置无效
HTTP <span class="number">403</span>.<span class="number">11</span> – 禁止访问:密码更改
HTTP <span class="number">403</span>.<span class="number">12</span> – 禁止访问:映射器拒绝访问
HTTP <span class="number">403</span>.<span class="number">13</span> – 禁止访问:客户证书已被吊销
HTTP <span class="number">403</span>.<span class="number">15</span> – 禁止访问:客户访问许可过多
HTTP <span class="number">403</span>.<span class="number">16</span> – 禁止访问:客户证书不可信或者无效
HTTP <span class="number">403</span>.<span class="number">17</span> – 禁止访问:客户证书已经到期或者尚未生效
HTTP <span class="number">404</span>.<span class="number">1</span> – 无法找到 Web 站点
HTTP <span class="number">404</span> – 无法找到文件
HTTP <span class="number">405</span> – 资源被禁止
HTTP <span class="number">406</span> – 无法接受
HTTP <span class="number">407</span> – 要求代理身份验证
HTTP <span class="number">410</span> – 永远不可用
HTTP <span class="number">412</span> – 先决条件失败
HTTP <span class="number">414</span> – 请求 – URI 太长
HTTP <span class="number">500</span> – 内部服务器错误
HTTP <span class="number">500</span>.<span class="number">100</span> – 内部服务器错误 – ASP 错误
HTTP <span class="number">500</span>-<span class="number">11</span> 服务器关闭
HTTP <span class="number">500</span>-<span class="number">12</span> 应用程序重新启动
HTTP <span class="number">500</span>-<span class="number">13</span> – 服务器太忙
HTTP <span class="number">500</span>-<span class="number">14</span> – 应用程序无效
HTTP <span class="number">500</span>-<span class="number">15</span> – 不允许请求 global.asa
Error <span class="number">501</span> – 未实现
HTTP <span class="number">502</span> – 网关错误
</pre></figure></code></pre>
]]></content>
<category scheme="http://bubbyroom.com/tags/http-1/" term="http"/>
<category scheme="http://bubbyroom.com/categories/faq/" term="faq"/>
</entry>
<entry>
<title type="html"><![CDATA[用iptables的raw表解决ip_conntrack: table full, dropping packet的问题]]></title>
<link href="http://bubbyroom.com/2011/04/01/iptables_raw_ip_conntrack-table-full-dropping-packet/"/>
<id>http://bubbyroom.com/2011/04/01/iptables_raw_ip_conntrack-table-full-dropping-packet/</id>
<published>2011-04-01T08:55:40.000Z</published>
<updated>2013-08-11T03:52:35.000Z</updated>
<content type="html"><![CDATA[<p>1) 什么是raw表?做什么用的?</p>
<p>iptables有5个链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING,4个表:filter,nat,mangle,raw.</p>
<p>4个表的优先级由高到低的顺序为:raw-->mangle-->nat-->filter</p>
<p>举例来说:如果PRROUTING链上,即有mangle表,也有nat表,那么先由mangle处理,然后由nat表处理</p>
<p>RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和 ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.</p>
<p>RAW表可以应用在那些不需要做nat的情况下,以提高性能。如大量访问的web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度。</p>
<p>2) iptables的数据包的流程是怎样的?</p>
<p>(流程介绍来源:<a href="http://selboo.com.cn/post/721/">http://selboo.com.cn/post/721/</a>)</p>
<p>一个数据包到达时,是怎么依次穿过各个链和表的(图)。</p>
<p><img src="http://bubbyroom.com/wp-content/uploads/2011/04/iptables.png" alt="" title="iptables"></p>
<p>基本步骤如下:</p>
<p>1. 数据包到达网络接口,比如 eth0。</p>
<p>2. 进入 raw 表的 PREROUTING 链,这个链的作用是赶在连接跟踪之前处理数据包。</p>
<p>3. 如果进行了连接跟踪,在此处理。</p>
<p>4. 进入 mangle 表的 PREROUTING 链,在此可以修改数据包,比如 TOS 等。</p>
<p>5. 进入 nat 表的 PREROUTING 链,可以在此做DNAT,但不要做过滤。</p>
<p>6. 决定路由,看是交给本地主机还是转发给其它主机。</p>
<p>到了这里我们就得分两种不同的情况进行讨论了,一种情况就是数据包要转发给其它主机,这时候它会依次经过:</p>
<p>7. 进入 mangle 表的 FORWARD 链,这里也比较特殊,这是在第一次路由决定之后,在进行最后的路由决定之前,我们仍然可以对数据包进行某些修改。</p>
<p>8. 进入 filter 表的 FORWARD 链,在这里我们可以对所有转发的数据包进行过滤。需要注意的是:经过这里的数据包是转发的,方向是双向的。</p>
<p>9. 进入 mangle 表的 POSTROUTING 链,到这里已经做完了所有的路由决定,但数据包仍然在本地主机,我们还可以进行某些修改。</p>
<p>10. 进入 nat 表的 POSTROUTING 链,在这里一般都是用来做 SNAT ,不要在这里进行过滤。</p>
<p>11. 进入出去的网络接口。完毕。</p>
<p>另一种情况是,数据包就是发给本地主机的,那么它会依次穿过:</p>
<p>7. 进入 mangle 表的 INPUT 链,这里是在路由之后,交由本地主机之前,我们也可以进行一些相应的修改。</p>
<p>8. 进入 filter 表的 INPUT 链,在这里我们可以对流入的所有数据包进行过滤,无论它来自哪个网络接口。</p>
<p>9. 交给本地主机的应用程序进行处理。</p>
<p>10. 处理完毕后进行路由决定,看该往那里发出。</p>
<p>11. 进入 raw 表的 OUTPUT 链,这里是在连接跟踪处理本地的数据包之前。</p>
<p>12. 连接跟踪对本地的数据包进行处理。</p>
<p>13. 进入 mangle 表的 OUTPUT 链,在这里我们可以修改数据包,但不要做过滤。</p>
<p>14. 进入 nat 表的 OUTPUT 链,可以对防火墙自己发出的数据做 NAT 。</p>
<p>15. 再次进行路由决定。</p>
<p>16. 进入 filter 表的 OUTPUT 链,可以对本地出去的数据包进行过滤。</p>
<p>17. 进入 mangle 表的 POSTROUTING 链,同上一种情况的第9步。注意,这里不光对经过防火墙的数据包进行处理,还对防火墙自己产生的数据包进行处理。</p>
<p>18. 进入 nat 表的 POSTROUTING 链,同上一种情况的第10步。</p>
<p>19. 进入出去的网络接口。完毕。</p>
<p>3) iptables raw表的使用</p>
<p>增加raw表,在其他表处理之前,-j NOTRACK跳过其它表处理</p>
<p>状态除了以前的四个还增加了一个UNTRACKED</p>
<p>例如:</p>
<p>可以使用 “NOTRACK” target 允许规则指定80端口的包不进入链接跟踪/NAT子系统</p>
<p>iptables -t raw -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j NOTRACK</p>
<p>iptables -t raw -A PREROUTING -s 1.2.3.4 -p tcp --sport 80 -j NOTRACK</p>
<p>iptables -A FORWARD -m state --state UNTRACKED -j ACCEPT</p>
<p>4) 解决ip_conntrack: table full, dropping packet的问题</p>
<p>在启用了iptables web服务器上,流量高的时候经常会出现下面的错误:</p>
<p>ip_conntrack: table full, dropping packet</p>
<p>这个问题的原因是由于web服务器收到了大量的连接,在启用了iptables的情况下,iptables会把所有的连接都做链接跟踪处理,这样iptables就会有一个链接跟踪表,当这个表满的时候,就会出现上面的错误。</p>
<p>iptables的链接跟踪表最大容量为/proc/sys/net/ipv4/ip_conntrack_max,链接碰到各种状态的超时后就会从表中删除。</p>
<p>所以解決方法一般有两个:</p>
<p>(1) 加大 ip_conntrack_max 值</p>
<p>vi /etc/sysctl.conf</p>
<p>net.ipv4.ip_conntrack_max = 393216</p>
<p>net.ipv4.netfilter.ip_conntrack_max = 393216</p>
<p>(2): 降低 ip_conntrack timeout时间</p>
<p>vi /etc/sysctl.conf</p>
<p>net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300</p>
<p>net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120</p>
<p>net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60</p>
<p>net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120</p>
<p>上面两种方法打个比喻就是烧水水开的时候,换一个大锅。一般情况下都可以解决问题,但是在极端情况下,还是不够用,怎么办?</p>
<p>这样就得反其道而行,用釜底抽薪的办法。iptables的raw表是不做数据包的链接跟踪处理的,我们就把那些连接量非常大的链接加入到iptables raw表。</p>
<p>如一台web服务器可以这样:</p>
<p>iptables -t raw -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j NOTRACK</p>
<p>iptables -A FORWARD -m state --state UNTRACKED -j ACCEPT</p>
<p>5) iptables raw表的效果测试</p>
<p>我们在一台web server上做测试,先不使用raw表,观察链接跟踪表(/proc/net/ip_conntrack)的大小:</p>
<p>先看下iptables配置:</p>
<p>cat /etc/sysconfig/iptables</p>
<h1>Generated by iptables-save v1.3.5 on Wed Aug 18 10:10:52 2010</h1>
<p>*filter</p>
<p>:INPUT ACCEPT [0:0]</p>
<p>:FORWARD ACCEPT [0:0]</p>
<p>:OUTPUT ACCEPT [104076:12500201]</p>
<p>:RH-Firewall-1-INPUT - [0:0]</p>
<p>-A INPUT -j RH-Firewall-1-INPUT</p>
<p>-A FORWARD -j RH-Firewall-1-INPUT</p>
<p>-A RH-Firewall-1-INPUT -i lo -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p esp -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p ah -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited</p>
<p>COMMIT</p>
<h1>Completed on Wed Aug 18 10:10:52 2010</h1>
<p>在另一台机器上用ab测试:</p>
<p>ab -c 1000 -n 5000 <a href="http://192.168.20.26/index.html">http://192.168.20.26/index.html</a></p>
<p>在web server上查看链接跟踪表(/proc/net/ip_conntrack)的大小:</p>
<p>[root@mongo html]# wc -l /proc/net/ip_conntrack</p>
<p>5153 /proc/net/ip_conntrack</p>
<p>可以看到跟踪表内有5153个链接,再大一些的压力可能就要报ip_conntrack: table full, dropping packet的错误了。</p>
<p>下面我们启用raw表:</p>
<p>先更新iptables:</p>
<p>[root@mongo html]# cat /etc/sysconfig/iptables</p>
<h1>Generated by iptables-save v1.3.5 on Wed Aug 18 10:10:52 2010</h1>
<p>*filter</p>
<p>:INPUT ACCEPT [0:0]</p>
<p>:FORWARD ACCEPT [0:0]</p>
<p>:OUTPUT ACCEPT [104076:12500201]</p>
<p>:RH-Firewall-1-INPUT - [0:0]</p>
<p>-A INPUT -j RH-Firewall-1-INPUT</p>
<p>-A FORWARD -j RH-Firewall-1-INPUT</p>
<p>-A RH-Firewall-1-INPUT -i lo -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p esp -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p ah -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED,UNTRACKED -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT</p>
<p>-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited</p>
<p>COMMIT</p>
<h1>Completed on Wed Aug 18 10:10:52 2010</h1>
<h1>Generated by iptables-save v1.3.5 on Wed Aug 18 10:10:52 2010</h1>
<p>*raw</p>
<p>:PREROUTING ACCEPT [116163:9327716]</p>
<p>:OUTPUT ACCEPT [104076:12500201]</p>
<p>-A PREROUTING -p tcp -m tcp --dport 80 -j NOTRACK</p>
<p>-A OUTPUT -p tcp -m tcp --sport 80 -j NOTRACK</p>
<p>COMMIT</p>
<h1>Completed on Wed Aug 18 10:10:52 2010</h1>
<p>红色部分是新增的。</p>
<p>重启iptables:</p>
<p>service iptables restart</p>
<p>可以用iptables命令查看是否启用成功了:</p>
<p>[root@mongo html]# iptables -t raw -L -n</p>
<p>Chain PREROUTING (policy ACCEPT)</p>
<p>target prot opt source destination</p>
<p>NOTRACK tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80</p>
<p>Chain OUTPUT (policy ACCEPT)</p>
<p>target prot opt source destination</p>
<p>NOTRACK tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80</p>
<p>然后再用ab测试:</p>
<p>ab -c 1000 -n 5000 <a href="http://192.168.20.26/index.html">http://192.168.20.26/index.html</a></p>
<p>查看链接跟踪表(/proc/net/ip_conntrack)的大小:</p>
<p>[root@mongo html]# wc -l /proc/net/ip_conntrack</p>
<p>1 /proc/net/ip_conntrack</p>
<p>跟踪表内只跟踪了一个链接了。</p>
<p>[root@mongo html]# cat /proc/net/ip_conntrack</p>
<p>tcp 6 431999 ESTABLISHED src=192.168.20.26 dst=192.168.20.10 sport=22 dport=50088 packets=85 bytes=10200 src=192.168.20.10 dst=192.168.20.26 sport=50088 dport=22 packets=92 bytes=6832 [ASSURED] mark=0 secmark=0 use=1</p>
<p>可以看到iptables已经不跟踪进出端口为80的链接了。测试结果表明用iptables的raw表可以完美解决ip_conntrack: table full, dropping packet的问题。</p>
]]></content>
<category scheme="http://bubbyroom.com/tags/iptables/" term="iptables"/>
<category scheme="http://bubbyroom.com/tags/raw/" term="raw"/>
<category scheme="http://bubbyroom.com/categories/faq/" term="faq"/>
</entry>
<entry>
<title type="html"><![CDATA[What are the programming languages and frameworks the top NYC startups are using?]]></title>
<link href="http://bubbyroom.com/2011/03/30/what-are-the-programming-top-nyc-startups-are-using/"/>
<id>http://bubbyroom.com/2011/03/30/what-are-the-programming-top-nyc-startups-are-using/</id>
<published>2011-03-30T08:48:45.000Z</published>
<updated>2013-08-13T09:40:08.000Z</updated>
<content type="html"><![CDATA[<p>In a conversation with the NYCEDC and ITAC, I learned that no one has a sense of what are the predominant languages and frameworks that people are using.</p>
<p>If you are with a startup or company that has more than 1M pageviews a month and is based in NYC (or the boroughs), can you give a sense of the skills/experience you are looking for? This will help people understand what skills we need to grow...</p>
<p>Companies like:</p>
<p>Tumblr</p>
<p>OMGPOP</p>
<p>Kickstarter</p>
<p>Makerbot</p>
<p>AppNexus</p>
<p>Aviary</p>
<p>the Fridge</p>
<p>ideeli</p>
<p>Daylife</p>
<p>HowAboutWe</p>
<p>Thrillist</p>
<p>Gawker</p>
<p>Artsy</p>
<p>Sailthru</p>
<p>20x200</p>
<p>fanfeedr</p>
<p>SolveMedia</p>
<p>Social Flow</p>
<p>HuffingtonPost</p>
<p>AppFund</p>
<p>betaworks</p>
<p>Work Market</p>
<p>Chartbeat</p>
<p>Producteev</p>
<p>Voxy</p>
<p>Food52
一、</p>
<p>foursquare:</p>
<p>Language - Scala
Web Framework - Lift
Database - MongoDB
App Server - Jetty
Proxy Layer - nginx + HAProxy
Hosting - Amazon EC2
Search - Solr
Email - SendGrid
Queuing - Kestrel
JS Library - jQuery
Etc - FogBugz, Git, CIJoe, ReviewBoard</p>
<p>PS: If you'd like to work with these tools (or think we should be using something else and want to show us why), we're hiring! <a href="http://foursquare.com/jobs/"><a href="http://foursquare.com/jobs/">http://foursquare.com/jobs/</a></a></p>
<p>二、</p>
<p>At SecondMarket we use :</p>
<p>Language - Java
Web Framework - SpringMVC
Databases - MongoDB & Postgres
App Server - Jetty
Proxy Layer - ELB & HAProxy
Hosting - Amazon EC2
Email - SendGrid
Queuing - ActiveMQ
JS Library - jQuery
API interface - Rest/JSON
Etc - Bamboo, Puppet, SVN, JIRA
QE tools - (ruby, watir, webdriver, selenium)</p>
<p>Interested - check out our open jobs - <a href="http://www.secondmarket.com/about/careers.php"><a href="http://www.secondmarket.com/abou">http://www.secondmarket.com/abou</a>...</a></p>
<p>三、</p>
<p>Here at OMGPOP:</p>
<p>Language - Ruby, AS3, Erlang, C/C++/Objective C, Javascript
XMPP - ejabberd, openfire
Web Frameworks: Rack, Merb, Sinatra, Express
Database - MySQL, Redis, Memcache, Vertica
App Server - Thin, node.js
Proxy Layer - Nginx + HAProxy
Hosting - Amazon EC2 / Softlayer / Managed Colo
Queuing - Redis/Resque
JS Library - jQuery / underscore
Monitoring - New Relic, Nagios, Munin, Flume, Custom
Testing - rspec, selenium
Etc - jira, git, svn, puppet, capistrano</p>
<p>四、</p>
<p>Languages: Python, some C, and a little bit of TCL (yes, really)
Web Framework: Tornado
Reverse Proxy: nginx
Redirect App Server: AOLserver
Databases: MySQL, Tokyo Cabinet, and MongoDB
Volatile Data Stores: Memcache, MemoryFly (internal)
Hosting: NTT and EC2
Queueing - simplequeue (<a href="https://github.com/bitly/simplehttp/tree/master/simplequeue"><a href="https://github.com/bitly/simpleh">https://github.com/bitly/simpleh</a>...</a>)
JS Library: jQuery</p>
<p>五、Gilt Groupe/City:</p>
<p>Frontend: Java/JSP
Middle Tier: Java/Jetty
Internal app: lots of Rails
Javascript: jQuery
Database: Postgres, Voldemort, used to use a bit of Mongo</p>
<p>etc: JIRA, Hudson, puppet, git
六、**GroupMe uses the following:</p>
<p>Languages:<strong> Ruby, Javascript
</strong>Web Frameworks:<strong> Rails, Sinatra, node.js
</strong>Database:<strong> Postgres, Redis
</strong>Frontend:<strong> Sass, Haml, jQuery
</strong>Services:<strong> Twilio, Heroku
</strong>Tools:** RSpec, Git, Github, Pivotal Tracker
七、Stack: Ruby on Rails, MongoDB, Backbone.js, JQuery</p>
<p>Tools: Git, Pivotal Tracker, GitHub, CI Joe, RSpec, Steak (BDD), Jasmine (BDD for JS)
八、Frameworks: Django 1.2, jQuery
Web Servers: Cherokee, Nginx
Data: Postgres 8.4
Hosting: Amazon EC2, Linode
Caching: memcached
Queuing: Celery/RabbitMQ
Web Services: Sailthru, KISSmetrics, Twillio, Recurly, Discus, Google Analytics, Facebook
Tools: SVN, Unfuddle, Pivotal Tracker, Basecamp, Google Docs/Apps
Mobile: Objective-C, HTML5/CSS3</p>
<p>Unlike most NYC startups, we keep our HR in the cloud. Developers work remotely and collaborate through IRC from Madrid, Buenos Aires, Novosibirsk, Chicago and Minneapolis. This greatly reduces start-up costs and also increases our multi-language exposure which is an asset to a language-learning startup.</p>
<p>We're hiring... Looking for a talented cross-platform mobile developer.
<a href="http://voxy.com/about/jobs/en/"><a href="http://voxy.com/about/jobs/en/">http://voxy.com/about/jobs/en/</a></a>
九、Chartbeat (<a href="http://chartbeat.com/"><a href="http://chartbeat.com">http://chartbeat.com</a></a>)
Languages: Python, C++, Javascript</p>
<p>Frameworks: Tornado (Python), django, Google Closure Tools
Webserver: nginx
Infrastructure/deployment: puppet, fabric
Database: MongoDB, MySQL
Email: Sailthru
Monitoring: nagios, ganglia, chartbeat :), munin
Hosting: AWS
Queueing: RabbitMQ, Gearman
Versioning: GitHub, <a href="https://github.com/chartbeat/labs"><a href="https://github.com/chartbeat/labs">https://github.com/chartbeat/labs</a></a>
Etc: fogbugz, reviewboard
Interested in joining? - <a href="http://chartbeat.com/jobs/"><a href="http://chartbeat.com/jobs/">http://chartbeat.com/jobs/</a></a>
十、Language: PHP, Java, Javascript; Also Python, Ruby, C# for API clients
Web Framework: Custom
Databases: MongoDB
Web Server: Apache with Pound Load Balancer
Queuing - ActiveMQ
JS Library - jQuery
API interface - Rest/JSON (XML also available but not recommended)
Hosting - Amazon EC2 with few colocated servers
Etc - Github, Lighthouse
十一、Languages: Python, Java, Erlang, Objective-C, Javascript
Frameworks: Pylons
Tools: JIRA,SVN
Database: Postgres
Search: SOLR
Servers: apache, rabbitmq</p>
<p>Evolving to:</p>
<p>Languages: Python, Java, Erlang, Objective-C, Javascript
Frameworks: Pylons, JQuery/Backbone
Tools: JIRA, Puppet, mercurial, Bamboo, Thrift
Database: Postgres, Hadoop/HBase, CouchDB
Search: ElasticSearch
Servers: nginx, rabbitmq,
十二、anguages: Python, PHP, Javascript
Frameworks: Tornado (Python), custom MVC (PHP)
Webserver: Apache and nginx
Database: MySQL
Email: Sailthru
Monitoring: nagios, graphite, statsD, splunk, chartbeat, pingdom
Hosting: AWS and Slicehost
Etc: git, vagrant, chef, capistrano, RabbitMQ, jQuery</p>
<p>Hiring software engineers - <a href="http://www.lot18.com/careers"><a href="http://www.lot18.com/careers">http://www.lot18.com/careers</a></a></p>
]]></content>
<category scheme="http://bubbyroom.com/categories/cdn/" term="cdn"/>
</entry>
<entry>
<title type="html"><![CDATA[mysql 1主2从同步错误:Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND解决方案]]></title>
<link href="http://bubbyroom.com/2011/03/21/mysql-master-slave-error_code-1032/"/>
<id>http://bubbyroom.com/2011/03/21/mysql-master-slave-error_code-1032/</id>
<published>2011-03-21T09:10:10.000Z</published>
<updated>2013-08-11T03:52:35.000Z</updated>
<content type="html"><![CDATA[<p>架构说明:</p>
<p>1主。2从。2从的配置都一样。</p>
<p>版本也一样。</p>
<p>实然发现其中一台从不同步了。报错如下。</p>
<h1>show slave status\G;</h1>
<p><strong><strong><strong><strong><strong><strong><em>*</em></strong></strong></strong></strong></strong></strong> 1. row <strong><strong><strong><strong><strong><strong><em>*</em></strong></strong></strong></strong></strong></strong></p>
<p>Slave_IO_State: Waiting for master to send event</p>
<p>Master_Host: 192.168.1.20</p>
<p>Master_User: slave</p>
<p>Master_Port: 3306</p>
<p>Connect_Retry: 10</p>
<p>Master_Log_File: mysql-bin.002552</p>
<p>Read_Master_Log_Pos: 233406800</p>
<p>Relay_Log_File: mysql-relay-bin.000007</p>
<p>Relay_Log_Pos: 204127317</p>
<p>Relay_Master_Log_File: mysql-bin.002552</p>
<p>Slave_IO_Running: Yes</p>
<p>Slave_SQL_Running: No</p>
<p>Replicate_Do_DB:</p>
<p>Replicate_Ignore_DB:</p>
<p>Replicate_Do_Table:</p>
<p>Replicate_Ignore_Table:</p>
<p>Replicate_Wild_Do_Table:</p>
<p>Replicate_Wild_Ignore_Table:</p>
<p>Last_Errno: 1032</p>
<p>Last_Error: Could not execute Delete_rows event on table redmine.reports; Can't find record in 'reports', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.002552, end_log_pos 204464875</p>
<p>搜索找了不少文档。也有很暴力的解决方案:</p>
<p>slave-skip-errors=1032 但不建议采用这种方案。会导致以后数据不致的情况出现。</p>
<p>其正确的解决方案如下:</p>
<p>主数据库同步模式是binlog_format = MIXED</p>
<p>第一台从库服务器同步模式也是binlog_format = MIXED,则第一台从库同步没问题</p>
<p>第二台从库的同步模式需要修改下,否则出现1032错误,该服务器同步模式设置binlog_format = STATEMENT</p>
<p>经过观察mysql的错误日志,发现问题解决。没有出现1032的错误。</p>
<p>提醒 :在重启的时候一定要先slave stop</p>
<p>否则会有如下错误 :</p>
<p>Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position'</p>
<p>它的解决方案网上挺多的。我就记录下吧:</p>
<p>mysqlbinlog mysql-bin.0000xx > a.txt</p>
<p>tail -n 20 a.txt</p>
<p>找到最后正确的同步pos</p>
<p>然后再</p>
<p>CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.002552', MASTER_LOG_POS=233406800;</p>
<p>问题就能得到解决。如果你解决不了。那就只能重做主从了。:)</p>
]]></content>
<category scheme="http://bubbyroom.com/tags/1032/" term="1032"/>
<category scheme="http://bubbyroom.com/tags/1236/" term="1236"/>
<category scheme="http://bubbyroom.com/tags/master/" term="master"/>
<category scheme="http://bubbyroom.com/tags/mysql/" term="mysql"/>
<category scheme="http://bubbyroom.com/tags/slave/" term="slave"/>
<category scheme="http://bubbyroom.com/categories/数据库/" term="数据库"/>
</entry>
<entry>
<title type="html"><![CDATA[ubuntu install moinmoin WIKI系统]]></title>
<link href="http://bubbyroom.com/2011/03/14/ubuntu-install-moinmoin/"/>
<id>http://bubbyroom.com/2011/03/14/ubuntu-install-moinmoin/</id>
<published>2011-03-14T06:29:43.000Z</published>
<updated>2013-08-13T10:05:28.000Z</updated>
<content type="html"><![CDATA[<p>官方网站:<a href="http://moinmo.in/"><a href="http://moinmo.in">http://moinmo.in</a></a></p>
<p>下载1.9的包后,在docs里有INSTALL.html文档,可以看下依赖包。</p>
<p>本文是最新ubuntu python2.6+ nginx fcgi</p>
<p>安装:</p>
<pre><code><figure class="highlight"><pre><span class="comment">python2</span>.<span class="comment">6</span> <span class="comment">setup</span>.<span class="comment">py</span> <span class="comment">install</span> <span class="literal">-</span><span class="literal">-</span><span class="comment">force</span> <span class="literal">-</span><span class="literal">-</span><span class="comment">record=install</span>.<span class="comment">log</span> <span class="literal">-</span><span class="literal">-</span><span class="comment">prefix='/usr/local'</span> <span class="literal">-</span><span class="literal">-</span><span class="comment">install</span>-<span class="comment">data=/data/moin
</pre></figure></code></pre>
<p>COPY WIKI相关的目录</p>
<pre><code><figure class="highlight"><pre><span class="title">cp</span> -<span class="type">R</span> /usr/local/share/moin/<span class="typedef"><span class="keyword">data</span> /<span class="keyword">data</span>/moin</span>
<span class="title">cp</span> -<span class="type">R</span> /usr/local/share/moin/underlay /<span class="typedef"><span class="keyword">data</span>/moin</span>
<span class="title">cp</span> /usr/local/share/moin/config/wikiconfig.py /<span class="typedef"><span class="keyword">data</span>/moin</span>
<span class="title">cp</span> /usr/local/share/moin/server/moin.fcgi /<span class="typedef"><span class="keyword">data</span>/moin </span>
</pre></figure></code></pre>
<p>启动moin</p>
<pre><code><figure class="highlight"><pre><span class="comment">spawn</span>-<span class="comment">fcgi</span> <span class="literal">-</span><span class="comment">a</span> <span class="comment">127</span>.<span class="comment">0</span>.<span class="comment">0</span>.<span class="comment">1</span> <span class="literal">-</span><span class="comment">p</span> <span class="comment">9001</span> <span class="literal">-</span><span class="comment">u</span> <span class="comment">daemon</span> <span class="literal">-</span><span class="comment">g</span> <span class="comment">daemon</span> <span class="literal">-</span><span class="comment">F</span> <span class="comment">1</span> <span class="literal">-</span><span class="comment">f</span> <span class="comment">/data/moin/moin</span>.<span class="comment">fcgi
</pre></figure></code></pre>
<p>新建WIKI的虚拟主机</p>
<pre><code><figure class="highlight"><pre>wiki<span class="preprocessor">.bubbyroom</span><span class="preprocessor">.com</span><span class="preprocessor">.conf</span>
server
{
listen <span class="number">80</span><span class="comment">;</span>
server_name wiki<span class="preprocessor">.bubbyroom</span><span class="preprocessor">.com</span><span class="comment">;</span>
index index<span class="preprocessor">.php</span> index<span class="preprocessor">.html</span> index<span class="preprocessor">.htm</span><span class="comment">;</span>
root /data/wwwroot/moin<span class="comment">;</span>
<span class="preprocessor">#access_log /data/logs/access_test.com.log combined;</span>
<span class="preprocessor">#error_log /data/logs/error_test.com.log;</span>
location / {
include fastcgi_params<span class="comment">;</span>
fastcgi_pass <span class="number">127.0</span><span class="number">.0</span><span class="number">.1</span>:<span class="number">9001</span><span class="comment">;</span>
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name<span class="comment">;</span>
fastcgi_param SCRIPT_NAME /<span class="comment">;</span>
fastcgi_param PATH_INFO $fastcgi_script_name<span class="comment">;</span>
}
}
</pre></figure></code></pre>
<p>访问wiki.bubbyroom.com 就好了</p>
]]></content>
<category scheme="http://bubbyroom.com/tags/moinmoin/" term="moinmoin"/>
<category scheme="http://bubbyroom.com/categories/Webserver/" term="Webserver"/>
</entry>
<entry>
<title type="html"><![CDATA[ganglia gmond 安全:增加acl ]]></title>
<link href="http://bubbyroom.com/2011/03/14/ganglia-gmond-acl/"/>
<id>http://bubbyroom.com/2011/03/14/ganglia-gmond-acl/</id>
<published>2011-03-14T02:59:18.000Z</published>
<updated>2013-08-11T03:52:35.000Z</updated>
<content type="html"><![CDATA[<p>在配置好ganglia 后。可以通过</p>
<p><code> </code></p>
<pre><code><figure class="highlight"><pre><span class="title">telnet</span> ip <span class="number">8649</span> `</pre>
` `
取到机器所监控的metric 信息。非常 的详细。为了安全起见。需要增加ACL访问控制。
而gmond可以在**udp_recv_channel and tcp_accept_channel **增加ACL
例如:
` `
<pre>`acl {
<span class="title">default</span> = <span class="string">"deny"</span>
access {
<span class="title">ip</span> = <span class="number">192.168.0.4</span>
mask = <span class="number">32</span>
action = <span class="string">"allow"</span>
}
} `</pre>
` `
或者:
` `
<pre>`acl {
<span class="title">default</span> = <span class="string">"allow"</span>
access {
<span class="title">ip</span> = <span class="number">192.168.0.0</span>
mask = <span class="number">24</span>
action = <span class="string">"deny"</span>
}
access {
<span class="title">ip</span> = ::ff:<span class="number">1.2.3.0</span>
mask = <span class="number">120</span>
action = <span class="string">"deny"</span>
}
} `</pre>
` `
而取telnet 取得的信息是在tcp_accept_channel 字段。所以只需要在这个字段 增加acl即可 。
例:
` `
<pre>`tcp_accept_channel {
<span class="title">port</span> = <span class="number">8649</span>
acl {
<span class="title">default</span> = <span class="string">"deny"</span>
access {
<span class="title">ip</span> = <span class="number">192.168.1.5</span> <span class="comment">#中心机的IP</span>
mask = <span class="number">32</span>
action = <span class="string">"allow"</span>
}
}
}
</pre></figure></code></pre>
<p><code> </code></p>
<p>参考文档:<a href="http://linux.die.net/man/5/gmond.conf"><a href="http://linux.die.net/man/5/gmond.conf">http://linux.die.net/man/5/gmond.conf</a></a></p>
]]></content>
<category scheme="http://bubbyroom.com/tags/acl/" term="acl"/>
<category scheme="http://bubbyroom.com/tags/ganglia/" term="ganglia"/>
<category scheme="http://bubbyroom.com/tags/gmond/" term="gmond"/>
<category scheme="http://bubbyroom.com/categories/cdn/" term="cdn"/>
<category scheme="http://bubbyroom.com/categories/cdn/分布式监控/" term="分布式监控"/>
</entry>
<entry>
<title type="html"><![CDATA[Bash 单引号 双引号 反引号]]></title>
<link href="http://bubbyroom.com/2011/03/10/bash-quotation-marks/"/>
<id>http://bubbyroom.com/2011/03/10/bash-quotation-marks/</id>
<published>2011-03-10T06:27:37.000Z</published>
<updated>2013-08-11T03:52:35.000Z</updated>
<content type="html"><![CDATA[<p>bash脚本中,有三种引号</p>
<p><pre>1. 单引号 '
2. 双引号 "
3. 反引号 `</p>
<p>单引号
两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思.
双引号
两个双引号包围起来的字符串,部分特殊字符将起到它们的作用.
这些特殊字符有: 美元符$, 反斜杠\, 反引号, 感叹号!.
反引号
两个反引号包围起来的字符串,将作为命令来运行,
执行的输出结果作为该反引号的内容,称为命令替换,
它有另一种更好的写法: $(command)</pre>
我们来看几个例子,更直接的了解这三种引号的特性.
1. 美元符$在单、双引号中的表现: 在双引号中的$, 将发生变量引用, 而在单引号中的$, 将保留它的字面意思</p>
<p><table border="0" cellspacing="0" cellpadding="0"></p>
<p><tbody></p>
<p><tr></p>
<p><td>12</p>
<p>34</td></p>
<p><td><code>igi@gentoo ~ $ ``echo</code> <code>'$HOME'``$HOME</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>"$HOME"``/home/igi</code></td>
</tr>
</tbody>
</table>
注: HOME为内部变量</p>
<p>2. 反斜杠\ 在单、双引号中的表现: 在双引号中的\, 将转义它后面的字符,使其具有特殊意义或者失去原来的特殊意义, 在单引号中的\, 将保留它的字面意思</p>
<p><table border="0" cellspacing="0" cellpadding="0"></p>
<p><tbody></p>
<p><tr></p>
<p><td></td></p>
<p><td><code>igi@gentoo ~ $ ``echo</code> <code>'\$HOME'``\</code></p>
<p><code>$HOME</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>"\$HOME"</code></p>
<p>/home/igi</td>
</tr>
</tbody>
</table>
注: 双引号中的\,后面跟着$, 这里发生了转义,使得$失去特殊意义, 变成普通字符.</p>
<p>3. 反引号与其他两种引号的不同: 反引号包围起来的字符串将被运行,取其结果</p>
<p><table border="0" cellspacing="0" cellpadding="0"></p>
<p><tbody></p>
<p><tr></p>
<p><td></td></p>
<p><td><code>igi@gentoo ~ $ ``echo</code> <code>'date'</code></p>
<p><code>date</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>"date"</code></p>
<p><code>date</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>date</code></p>
<p><code>Fri Dec 3 18:34:09 CST 2010</code></td>
</tr>
</tbody>
</table>
注: 在反引号中的date被当成命令执行,包含的正是命令的输出信息</p>
<p>了解了他们的不同,我们来聊一聊常见的问题</p>
<p>1. 把反引号` 写 成单引号’</p>
<p>不得不说,它们长得确实很像,个别书的印刷字体区别度不高或者印刷质量不过关, 导致了很多新手认错,常把反引号`写成单引号’。如果你不知道反引号在哪,请看看Esc键下面的那个按键, 那个就是反引号。当然也不排除有些人看书不注意,这也是常有的事。只要我们明白了反引号与单引号作用的区别,什么时候要用单引号,什么时候要用反引号就一清二楚了。当你需要一个字符串时,使用单引号; 而当你需要捕捉命令的输出时,请用反引号。</p>
<p>2. 总是忘了加双引号
双引号不总是多余的,被它包围的数据变得很安全,不至于被bash切开对待。</p>
<p><table border="0" cellspacing="0" cellpadding="0"></p>
<p><tbody></p>
<p><tr></p>
<p><td></td></p>
<p><td><code>igi@gentoo ~ $ ``seq</code> <code>3</code></p>
<p><code>1</code></p>
<p><code>2</code></p>
<p><code>3</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>``seq` `3</code></p>
<p><code>1 2 3</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>"</code>seq 3<code>"</code></p>
<p><code>1``2``3</code></td>
</tr>
</tbody>
</table>
注: seq输出的是包含换行的信息,但echo <code>seq 3</code> 却丢失了换行符,因为bash在解析时认为<code>seq 3</code>的输出结果是3个独立的字符,解析后与echo 1 2 3相同(这个过程,bash做了很多工作,有兴趣的可以了解下bash解析顺序); 而echo “<code>seq 3</code>”时,bash把<code>seq 3</code>的输出结果当成一个整体对待(因为它被双引号包围),所以输出的结果不会被bash拆分对待,换行符得以保留。所以,当你需要保留变量或者命令替换的完整信息, 特别是换行符时,请记得给它们戴上双引号作保险,时刻加个双引号是个好习惯(为什么不是单引号呢?前面解释了,单引号里面没有魔法,变量也变不了了,命令替换也替换不了了)。再次提醒: “$var”, “<code>command</code>”, 都比$var, <code>command</code>安全得多,很多情况下,前面的才是你要的结果,除非你知道你在做什么,否则不要轻易省略双引号。</p>
<p>3. 引号嵌套总是混乱的
引号中包含其他引号,只要能理解单引号和双引号中字符的表现,就不难掌握</p>
<p><table border="0" cellspacing="0" cellpadding="0"></p>
<p><tbody></p>
<p><tr></p>
<p><td></td></p>
<p><td><code>igi@gentoo ~ $ ``echo</code> <code>"abc\"abc"</code></p>
<p><code>abc"abc</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>"abc\'abc"</code></p>
<p><code>abc'abc</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>"abc\</code>abc"`</p>
<p><code>abc</code>abc`</td>
</tr>
</tbody>
</table>
如你所见,双引号中加入其他引号很容易,你只需要用反斜杠\转义你要添加的引号(双引号中加单引号可以不用转义)。 那么单引号中是否如此简单?</p>
<p><table border="0" cellspacing="0" cellpadding="0"></p>
<p><tbody></p>
<p><tr></p>
<p><td></td></p>
<p><td><code>igi@gentoo ~ $ ``echo</code> <code>'abc"abc'</code></p>
<p><code>abc"abc</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>'abc</code>abc'`</p>
<p><code>abc</code>abc`</td>
</tr>
</tbody>
</table>
到这里,确实很简单,单引号中都是普通字符,所以完全不需要转义,如果加了反斜杠\, 那么反斜杠依然是它自己,直接打印出来。</p>
<p><table border="0" cellspacing="0" cellpadding="0"></p>
<p><tbody></p>
<p><tr></p>
<p><td>12</td></p>
<p><td><code>igi@gentoo ~ $ ``echo</code> `'abc\"``<span style="font-family: monospace;">abc</span></p>
<p><code>'``abc\"\</code>abc`</td>
</tr>
</tbody>
</table>
问题来了,单引号中如何包含单引号?这个时候,反斜杠\也是无用的, 如果直接写单引号,那么bash会认为引号还没结束。好吧,如果你不幸碰到这样的问题,还是有办法解决的</p>
<p><table border="0" cellspacing="0" cellpadding="0"></p>
<p><tbody></p>
<p><tr></p>
<p><td></td></p>
<p><td><code>igi@gentoo ~ $ ``echo</code> <code>$``'abc\'abc'</code></p>
<p><code>abc'abc</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>-e ``'abc\x27abc'</code></p>
<p><code>abc'abc</code></p>
<p><code>igi@gentoo ~ $ ``echo</code> <code>'abc'``\``''``abc'</code></p>
<p><code>abc'abc</code></td>
</tr>
</tbody>
</table>
第一种方法是bash特有的,$’string’ 之间到反斜杠都将转义字符,第二种方法,通过单引号的ASCII码来打印单引号,而第三种方法,则是通过截断命令,在中间插入单引号来实现。一般用第一种方法是最优雅的。</p>
<p>最后: 希望能更多的人喜欢Bash,使用Bash。</p>
<p>转自:<a href="http://www.igigo.net/archives/128"><a href="http://www.igigo.net/archives/128">http://www.igigo.net/archives/128</a></a></p>
]]></content>
<category scheme="http://bubbyroom.com/tags/bash/" term="bash"/>
<category scheme="http://bubbyroom.com/tags/单引号/" term="单引号"/>
<category scheme="http://bubbyroom.com/tags/双引号/" term="双引号"/>
<category scheme="http://bubbyroom.com/categories/faq/" term="faq"/>
<category scheme="http://bubbyroom.com/categories/faq/系统命令/" term="系统命令"/>
</entry>
<entry>
<title type="html"><![CDATA[python图形处理库Python Imaging Library (PIL)简介及安装]]></title>
<link href="http://bubbyroom.com/2011/03/08/python-imaging-library-pil/"/>
<id>http://bubbyroom.com/2011/03/08/python-imaging-library-pil/</id>
<published>2011-03-08T08:41:18.000Z</published>
<updated>2013-08-11T03:52:35.000Z</updated>
<content type="html"><![CDATA[<p>[简介]</p>
<p>这两天用python写一个程序,需要对各种格式的图片进行一些简单的处理,采用了Python Imaging Library (PIL)库,这个库可用于图片的一些常用操作,比如改变图片格式、尺寸、色彩、旋转等。</p>
<p>pil站点: <a href="http://www.pythonware.com/products/pil/index.htm">http://www.pythonware.com/products/pil/index.htm</a></p>
<p>pil下载: <a href="http://effbot.org/downloads/Imaging-1.1.6.tar.gz">http://effbot.org/downloads/Imaging-1.1.6.tar.gz</a></p>
<p>pil文档: <a href="http://www.pythonware.com/library/pil/handbook/index.htm">http://www.pythonware.com/library/pil/handbook/index.htm</a></p>
<p>[安装]</p>
<p>$ gunzip Imaging-1.1.6.tar.gz</p>
<p>$ tar xvf Imaging-1.1.6.tar</p>
<p>$ cd Imaging-1.1.6</p>
<p>$ python setup.py build_ext -i</p>
<p>$ python selftest.py</p>
<p>$ python setup.py install</p>
<p>安装完毕后,可在python安装目录下的site-packages找到PIL安装目录。</p>
<p>[使用]</p>
<p>如果你想使用PIL的Image类,就直接import Image即可,详细的使用方法请阅读其文档。</p>
]]></content>
<category scheme="http://bubbyroom.com/tags/pil/" term="pil"/>
<category scheme="http://bubbyroom.com/tags/python-1/" term="python"/>
<category scheme="http://bubbyroom.com/tags/Python-Imaging-Library/" term="Python Imaging Library"/>
<category scheme="http://bubbyroom.com/categories/faq/" term="faq"/>
</entry>
<entry>
<title type="html"><![CDATA[centos yum python2.6]]></title>
<link href="http://bubbyroom.com/2011/03/08/centos-yum-python2-6/"/>
<id>http://bubbyroom.com/2011/03/08/centos-yum-python2-6/</id>
<published>2011-03-08T06:37:07.000Z</published>
<updated>2013-08-11T03:52:35.000Z</updated>
<content type="html"><![CDATA[<p>wget <a href="http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm">http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm</a></p>
<p>rpm -ivh chl-release-5-3.noarch.rpm</p>
<p>yum clean all</p>
<p>yum -y install python26</p>
]]></content>
<category scheme="http://bubbyroom.com/tags/centos/" term="centos"/>
<category scheme="http://bubbyroom.com/tags/python26/" term="python2.6"/>
<category scheme="http://bubbyroom.com/tags/yum/" term="yum"/>
<category scheme="http://bubbyroom.com/categories/faq/" term="faq"/>
<category scheme="http://bubbyroom.com/categories/faq/howtoforge/" term="howtoforge"/>
</entry>
<entry>
<title type="html"><![CDATA[kernel: Contact your BIOS vendor to see if the E752x error]]></title>
<link href="http://bubbyroom.com/2011/03/03/kernel-contact-your-bios-vendor-to-see-if-the-e752x-error/"/>
<id>http://bubbyroom.com/2011/03/03/kernel-contact-your-bios-vendor-to-see-if-the-e752x-error/</id>
<published>2011-03-03T09:34:20.000Z</published>
<updated>2013-08-11T03:52:35.000Z</updated>
<content type="html"><![CDATA[<p>今天遇到这种错误。感觉很奇怪。看似像内存的问题,实际上不是。</p>
<p>搜索一下。发现HP官网有说明。但机器是DELL 2850 再搜索发现同样也有说明。</p>
<p>是模块与系统的问题导致。</p>
<p>E752x error</p>
<p>服务器dmesg信息中包含如下信息:</p>
<p>Contact your BIOS vendor to see if the E752x error registers can be safely un-hidden</p>
<p>e752x_edac: probe of 0000:00:00.0 failed with error -12</p>
<p>出现此报错信息的服务器是Dell 2850,其实同样有此报错的还有HP的服务器,下面是HP官方的解释。</p>
<p><a href="http://www.icare.hp.com.cn/TechCenter_StaticArticle/44490/44490.html">http://www.icare.hp.com.cn/TechCenter_StaticArticle/44490/44490.html</a></p>
<p>启动配有 Intel E7520、E7525 或 E7320 芯片组并且运行 Red Hat Enterprise Linux 5.1 的 HP ProLiant 服务器时,可能会出现下列 Error Detection and Correction (EDAC) 模块消息:</p>
<p>kernel: Contact your BIOS vendor to see if the E752x error registers can be safely un-hidden</p>
<p>kernel: e752x_edac: probe of 0000:00:00.0 failed with error -12</p>
<p>出现这个问题是因为服务器 System ROM 配置这些寄存器兼容 HP Management Agents for Linux,以求提供错误检测与硬件事件报告功能。</p>
<p>下面“受影响平台”部分所列出的任何 HP ProLiant 服务器,配有 Intel 7520、E7525 或 E7320 服务器芯片组并运行 Red Hat Enterprise Linux 5.1。</p>
<p>为了避免出现这个消息,请在 /etc/modprobe.conf 中添加下列内容:</p>
<p>alias e752x_edac off</p>
<p>这个新条目将能避免 Linux EDAC 模块在启动过程中自动加载。</p>
<p>目前FreeBSD系统下还没有发现此现象,在Dell服务器上如果要运行Dell日志清除工具的话可能会造成服务器的短暂不响应,不过很快就会恢复正常.</p>
<p>如果大家觉得这个选项没有太大用处的话可以按照上面的方法禁用。</p>
<p>参考: <a href="http://mycoding.spaces.live.com/?_c11_BlogPart_pagedir=Next&_c11_BlogPart_handle=cns!337B0545DDC11E83!251&_c11_BlogPart_BlogPart=blogview&_c=BlogPart"><a href="http://mycoding.spaces.live.com/?_c11_BlogPart_pagedir=Next&_c11_BlogPart_handle=cns!337B0545DDC11E83!251&_c11_BlogPart_BlogPart=blogview&_c=BlogPart">http://mycoding.spaces.live.com/?_c11_BlogPart_pagedir=Next&_c11_BlogPart_handle=cns!337B0545DDC11E83!251&_c11_BlogPart_BlogPart=blogview&_c=BlogPart</a></a></p>
]]></content>
<category scheme="http://bubbyroom.com/tags/E752x/" term="E752x"/>
<category scheme="http://bubbyroom.com/tags/kernel/" term="kernel"/>
<category scheme="http://bubbyroom.com/categories/faq/" term="faq"/>
</entry>