洛阳铲的日志

2014年03月7日

Vbox中host和guest共享目录设置

Filed under: 生活小札 — HackGou @ 21:27

vbox使用一个自己的内核文件驱动vboxfs,(类似NFS),来在host和guest之间共享目录。

所以要在host和guest之间共享目录,必须先在guest上面编译、安装这个驱动,host上面的部分vbox的安装程序会自动安装。

vboxfs的源代码在VBoxGuestAdditions.iso这个iso文件中。

Vbox安装目录下有个iso镜像,VBoxLinuxAdditions就在这个镜像里面,上传到guest机之后,挂载

然后执行其中的VBoxLinuxAdditions.run脚本,会自动编译内核模块

 


 

这一步需要linux内核开发包,VBoxLinuxAdditions使用的检查路径为/lib/modules/$(uname -r)/build 来检查内核开发包是否安装

很多时候这一步会出错,比如下面这种情况就无法通过编译


 

fix成这样之后就可以顺利通过编译内核模块了。


 

然后安装这个vboxfs模块


 

现在在vbox host上面增加一个共享目录,记住选make permanet,否则关掉虚拟机之后这个共享会消失:


 

然后把这个共享目录挂到guest机器上面去。DONE


 

比如下面这个test_vboxfs就是在guest上面创建,而在host上面也可以同时访问得到


 

 

如果需要让系统自动加载vbox内核模块,自动挂在vboxfs系统。那么需要在fstab里面加上

nutch /u0/nutch vboxsf defaults 1 1

 

已经新加一个模块加载信息:

gavin_kou@vm.lyc.name:~ ]$ cat /etc/modprobe.d/vboxsf.conf

alias misc/vboxsf* vboxsf

install vboxsf

gavin_kou@vm.lyc.name:~ ]$

 

 



 

重启系统之后,会发现新的nutch文件系统已经挂在成功了。

2012年10月29日

How to fix MBR

Filed under: 生活小札 — HackGou @ 22:22

什么是MBR?可以参考维基百科的解释,很多时候需要恢复mbr,比如安装了多系统之后
又想恢复XP/Vista/Win7默认的启动界面,或者被病毒破坏,等等情况
用到的工具是mbrfix工具包,首先去这儿,下载免费的mbrfix。然后参考其说明文档,备份好现在的mbr
然后使用fixmbr子命令,修复mbr即可。如果是vista或者win7,加上相应的/vista或者/win7作为参数 ok,现在重启机器,便可以看见结果了。

2012年03月8日

Preg正则表达式高级语法

Filed under: 生活小札 — 洛阳铲 @ 17:36

不得不承认perl的正则表达式是史上最强悍的语言规则描述符,无论python、还是php、还是ruby都统统向preg靠拢,由此可见一 斑。
这儿说些高阶的正则表达式运用

1. 表达式内部选项
    1.1 表达式内部可以设置一些选项(i,m,s,x,U,X),设置方法为'(?’和’)’之间,并且对之后的这些选项之后的表达式产生影响,比如:
    (?U)或者他们的组合(?imU)。比如 /ab(?i)c/ 只匹配 “abc” 和 and “abC”。 
    12    而且可以使用’-‘来取消对应的选项,比如(?im-U)。
    1.3    如果这些选项设置是出现在子模式内部,则只对该子模式产生影响。比如:(a(?i)b)c 只匹配 “abc” 和 “aBc”。不会匹配abC和aBC
    1.4    子模式中,选项后面的表达式都会受影响,这很重要,因为同一个子模式中,
选项后面的分支表达式‘|’也会受影响。比如: (a(?i)b|c) 将匹配 “ab”,”aB”,”c” 和 “C”。
   
2. 表达式子模式
2.1.  正则表达式除了参见的以用’/reg/’标识外,还可以用非字母数字分隔符比如:#,+,~等等符号,比如: #[0-9]#或者~[a-z]~标识
2.2.  (a+)表示子模式捕获,
表示匹配a开头的,可以通过反向引用1来标识被匹配到的内容,比如匹配’aaa’时,1为’aaa’, 是贪婪匹配(未设置U)。
    而(a+?)则是非贪婪,对应的1为’a’;
2.3.   正则表达式的反向引用: 1,2等等常常原来反向引用,这个不仅仅可以用在应用匹配结果,也可以用在表达式中间本身,
    比如:~(((?i)rah)s+2)~ 匹配 ‘RAH RAH’和’rah rah’,但是不会匹配’RAH rah’
2.4.     (?P<name>a+),则会为1取一 个名字叫name,这是子模式命名捕获
2.5.     (?:a+),表示需要子模式,但是不捕获,

2.6      进一步,非捕获子模式表达式的内部选项如何设置?按照正常的做法是(?:(?i)xxxxxxxx),’?:‘ 表示非捕获,’?i‘表示内部的i选项,两个括号很繁琐,可以简写为: (?i:xxxxxx)
        比如:/(?i:saturday|sunday)/匹配不分大小写的saturday和sunday而且不会捕获。

一个综合使用这些技巧的例子是:
preg_match(‘~the (?P<full_name>(?:red|white) (?P<title>king|queen))~‘,”the white queen”, $matches);
最后 $matches的结果为:
array(5) {
  [0]=>
  string(15) “the white queen”
  [“full_name”]=>
  string(11) “white queen”
  [1]=>
  string(11) “white queen”
  [“title”]=>
  string(5) “queen”
  [2]=>
  string(5) “queen”
}

3.
子模式断言: 测试某个表达式以某字符串开头(preceding)或者结尾(following),重要的是它不占用任何的字符串,这里面就有四种结果了:
3.1. 是以字符串结x尾: (?=x)
3.2. 不以字符串结x尾:  (?!x)
3.3. 是以字符串x开头: (?<=x)
3. 4. 不以字符串x开头: (?<!x)
比如要把字符串:  f1:a|f2:b|f3[|]  , 用竖线’|’分割成数组,但是在方括号内的竖线’|’不要分割,
使用表达式: /(?<![)|(?!])/ 即可,两个否定断言:前向和后向的就可以搞定。
多个断言可以同时以任意顺序出现,比如:  /(?<=d{3})(?<!999)foo/会匹配除999以外的三位数开头的foo,但是不会匹配234abcfoo
多个断言可以嵌套: /(?<=(?<!foo)bar)baz/, 匹配以bar开头的baz,但是要求bar不以foo 开头,

2012年03月5日

如何关掉tooltips

Filed under: 生活小札 — 洛阳铲 @ 15:37

输入命令的时候,出来个tooltips干扰你的视线,比如下面那个黄色的”Total Commadner”提示框,是不是很不爽?

说实话,用了这么多年windows,真的不知道怎关掉这个东西,google一番,有说”explorer.exe 进程的第一个 tooltips_class32″类窗口的,
还有推荐什么工具的,其实答 案非常简单:

2012年02月22日

不锈钢和日常生活

Filed under: 生活小札 — 洛阳铲 @ 21:04


在网易上发现一个专题:《中 国为什么做不出一口好锅?》, 经常出现一些 专题,这也是比较喜欢网易的一个原因。

文中提到:
“传统意义上的不锈钢分为300系列和400系列,主要都是加镍和铬,300系列镍多铬少,
400系列铬多镍少。2004年以后,由于镍价格飙涨达到15万元/吨-20万元/吨,而锰平均价格只有2万元/吨-3万元/吨左右,
行业内开始用锰替代镍,降低不锈钢制品的市场价格,含锰的锅被称为200系列或者锰系列”
出现锰中毒,引发很多症状:

说苏泊尔用锰代替镍,其实是应该说,苏泊尔用2XX这种低标号的不锈钢刚才制作厨具,导致锰析出量超标,这才是元凶。
而且说市价300一下的锅都受影响,我们家锅肯定不到300元。到底是2xx系列?还是3xx系列?不得而知。

先普及一下,200系列、300系列、400系列这些名次,是美国/日本标准中出现的名字,
而中国国家标准中,这些钢材有自己的中国名字,比如300系列中的304不锈钢,美国ASTM标准中,全称是:S30400,在日本的JIS标准 中是:SUS304,
而它的中国国标中名字叫:06Cr19Ni10(GB/T20878―2007新牌号)或者OCrl8Ni9(GB/T20878―2007旧牌 号),

文中说的“300系列镍多铬少,400系列铬多镍少”其实是不对的,主要的差别是3xx系列奥氏体不锈钢,4xx系列为为马氏体不锈钢,成分上来 说,甚至有的4xx系列中不含镍。
钢材中包含的重金属的含量其实不是重点,需要真正关注的是:不锈钢制品中的铬、镍等重金属的迁移量(也称析出量),因为这些析出的并被人体吸收后 的重金属离子,才是威胁健康的元凶。

话说新闻中苏泊尔的2xx系列锅具,会导致锰析出量超标,导致中毒,那么3xx、4xx系列会不会出现铬和镍中毒的问题呢?
百科全书说:4XX的不锈钢属于马 氏体,强度高,但是但塑性和可焊性较差。所以市面上用此类不锈钢做餐具的应该倍儿少。

所以市场上不锈钢队食具,可能还是以2xx系列和3xx系列为多。

以前不知道买的不锈钢制品到底是2xx?还是3xx甚至4xx不锈钢,但是在将来我们肯定会知道答案,因为根据新闻的报道
从2011年12月份,开始不锈钢厨具上面必须标注,所使用的不锈钢种类和牌号。不过因为国标重新修订过,而且304这个称号是日本标准里面的名 字,并不是国标里面的。

以后在购买不锈钢食具时,只需要注意一点:在包装上的标号里面,有没有Mn(金属锰的代号)就行了,带Mn的肯定不是3xx系列的,因为3xx系 列只包含铬(Cr)和镍(Ni)。

但是就算我们购买了3xx系列不锈钢制品的食具,其中的铬和镍会不会威胁我们呢?

无论是3xx还是4xx里面,铬含量都是很高的。不过按照百科上面 的介绍:铬的常态是三价铬,且易于代谢,在体内不易积蓄,
不像锰和镍那样,不好代谢掉。

另外一方面,是关于镍的,经过一番google,找到一片铬镍中毒的案列: 镍 铬烤瓷牙致肾炎, 说是铬镍烤瓷牙,会导致游离态镍肾脏中堆积,导致肾炎,而且游离态的镍很难排除体外:

做完烤瓷牙后,牙龈边缘会出现一条黑线,甚至出现牙龈红肿出血。这一现象是很多患者质疑镍铬烤瓷牙可能导致身 体不良反应的开始。
但在2009年5月8号的,国 家食品药品监督管理局5月例行新闻发布会上,药监局说镍铬烤瓷牙安全。

« Newer PostsOlder Posts »

Powered by WordPress