• 在一家企业的老总博客上面看到他推荐员工看《致加西亚的信》下面内容简介摘自新浪:

    100多年前的一个傍晚,出版家艾尔伯特·哈伯德与家人喝茶时受儿子的启发,创作了一篇名为《致加西亚的信》的文章,刊登在《菲士利人》的杂志上,杂志很快就告罄。到1915年作者逝世为止,《致加西亚的信》的印数高达40,000,000册。创造了一个作家的有生之年一本图书销售量的历史记录。其后的80余年,该书被翻译成所有的文字,许多政府、军队和企业都将此书赠送给士兵和职员,作为培养士兵、职员敬业守则的必读书。

    不管怎么样,自己也将要结束掉学生生涯开始正式工作,用前几天同学的话说也是社会人士了,我想看一看这书应该有好处的。

    cover

  • 看电影版的《侠骨仁心》的时候听到的这首歌曲,上网找歌,顺带着找到这个榜单,有时间的话慢慢找来听  

    Patti Austin - Say You Love Me


  • 特浪漫的广告-will u marry me?
  • 在网络中,不少服务器采用的是 Linux系统。为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核。编译Linux内核,需要根据规定的步骤进行,编译 内核过程中涉及到几个重要的文件。比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls –l。编译过RedHat Linux内核的人对其中的System.map 、vmlinuz、initrd-2.4.7-10.img印象可能比较深刻,因为编译内核过程中涉及到这些文件的建立等操作。那么这几个文件是怎么产生 的?又有什么作用呢?本文对此做些介绍。

    一、vmlinuz

    vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行 的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

    vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。二是内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起 误解,bz表示“big zImage”。 bzImage中的b是“big”意思。

    zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。

    内核文件中包含一个微型的gzip用于解压缩内核并引导它。两者的不同之处在于,老 的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage 或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。

    vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。

    二、initrd-x.x.x.img

    initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。initrd-2.4.7- 10.img主要是用于加载ext3等文件系统及scsi设备的驱动。比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱 动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/modules下。为了解决这个问题,可以引导一 个能够读实际内核的initrd内核并用initrd修正scsi引导问题。initrd-2.4.7-10.img是用gzip压缩的文件。

    linuxrc这个脚本initrd实现加载一些模块和安装文件系统等。 initrd映象文件是使用mkinitrd创建的。mkinitrd实用程序能够创建initrd映象文件。这个命令是RedHat专有的。其它 Linux发行版或许有相应的命令。这是个很方便的实用程序。具体情况请看帮助:man mkinitrd。

    三、 System.map

    System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。

    内核符号表是怎么创建的呢? System.map是由“nm vmlinux”产生并且不相关的符号被滤出。对于本文中的例子,编译内核时,System.map创建在/usr/src/linux-2.4/System.map。像下面这样:

    nm /boot/vmlinux-2.4.7-10 > System.map

    下面几行来自/usr/src/linux-2.4/Makefile:

    nm vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|
    \( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map

    然后复制到/boot:

    cp /usr/src/linux/System.map /boot/System.map-2.4.7-10

    在进行程序设计时,会命名一些变量名或函数名之类的符号。Linux内核是一个很复杂的代码块,有许许多多的全局符号。

    Linux内核不使用符号名,而是通过变量或函数的地址来识别变量或函数名。比如不是使用size_t BytesRead这样的符号,而是像c0343f20这样引用这个变量。

    对于使用计算机的人来说,更喜欢使用那些像size_t BytesRead这样的名字,而不喜欢像c0343f20这样的名字。内核主要是用c写的,所以编译器/连接器允许我们编码时使用符号名,当内核运行时使用地址。

    然而,在有的情况下,我们需要知道符号的地址,或者需要知道地址对应的符号。这由符号表来完成,符号表是所有符号连同它们的地址的列表。变量名checkCPUtype在内核地址c01000a5。

    Linux 符号表使用到2个文件:

    /proc/ksyms 
    System.map

    /proc/ksyms是一个“proc file”,在内核引导时创建。实际上,它并不真正的是一个文件,它只不过是内核数据的表示,却给人们是一个磁盘文件的假象,这从它的文件大小是0可以看 出来。然而,System.map是存在于你的文件系统上的实际文件。当你编译一个新内核时,各个符号名的地址要发生变化,你的老的System.map 具有的是错误的符号信息。每次内核编译时产生一个新的System.map,你应当用新的System.map来取代老的System.map。

    虽然内核本身并不真正使用System.map,但其它程序比如klogd, lsof和ps等软件需要一个正确的System.map。如果你使用错误的或没有System.map,klogd的输出将是不可靠的,这对于排除程序 故障会带来困难。没有System.map,你可能会面临一些令人烦恼的提示信息。

    另外少数驱动需要System.map来解析符号,没有为你当前运行的特定内核创建的System.map它们就不能正常工作。

    Linux的内核日志守护进程klogd为了执行名称-地址解析,klogd需要使 用System.map。System.map应当放在使用它的软件能够找到它的地方。执行:man klogd可知,如果没有将System.map作为一个变量的位置给klogd,那么它将按照下面的顺序,在三个地方查找System.map:

     

    /boot/System.map 
    /System.map
    /usr/src/linux/System.map

    System.map也有版本信息,klogd能够智能地查找正确的映象(map)文件。(T004)

  • 在短暂的思想波动之后,发现我还是很崇尚技术的,当然,我并不排斥我所喜爱的技术之外的技术:存在即是理由,不懂即是动力。

    今 天再拜访过刘老师之后,不得不感叹刘老师实在是太好了,为了我们几个论文的事情,特地跑到上海一趟,而且已经计划好与经理会面,却最终因经理回台湾而没能 成行,很遗憾。听过刘老师的指导,我觉得我的论文中的确很少技术含量高的内容,就是凑字。回来后继续在图书馆里面找资料,发掘还是有一些东西可疑研读的。

    想一想自己还没有编译过内核,其实是都没有照着文档作一遍,因此,晚上决定使用公司现在空闲 的那台PC来实际操作一遍。呵呵,首先先搞定了这台电脑上的 grub和root的密码,然后在从kernel.org下载内核源码的时候,看了一些文档,并且总结了一下比较好、可以用来参考的网站,先列举如下:

    (1) http://www.kernel.org/

    (2) http://fedora.linuxsir.org/main/?q=node/88  《内核管理概述》 

    (3) http://fedora.linuxsir.org/main/?q=node/66  《编译内核操作流程 ─为新手指南

    (4) http://www.linuxforum.net/forum/postlist.php?Cat=&Board=linuxK

          China Linux Forum的内核技术版块很好,“新手必读”中很多帖子需要看。

    (5) http://www.howtoforge.com/kernel_compilation_fedora

    (6) http://www.howtoforge.com/kernel_compilation_fedora

        同时howtoforge是个很不错的地方,与linux有关的话题都可以到这里来搜索 

    好站、好文待添加…… 

  • 下面两则linux(我使用的是Fedora 4版本) 的技巧还是很实用的,第一条主要针对多windows/linux系统环境下,恢复grub。这里只给出总的修改原则,具体问题还要具体分析一下

    【 一 】恢复grub

    (1)使用Fedora安装盘启动系统,输入:linux rescue后回车,进入到rescue模式;

    (2)在进入到rescue模式后,通常的做法是:chroot /mnt/sysimage,这时候你所安装的Fedora已经成功的mount到了/mnt/sysimage下(也有可能在 search installed Fedora的时候出现error,这时需要其它办法)。

    (3)正常情况下,输入:grub-install hd0 即可搞定,如果搞不定,在grub命令行下使用root/setup方法。

    【 二 】root密码修改

    参考 经验总结:Linux密码的破解和保护

    (1)在进入grub 启动界面时选择linux,并按键盘上的e键

    (2)可以看到如下三个选项:

      root (hd0,0)
               kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro root=LABEL=/1 rhgb quiet
               initrd /boot/initrd-2.6.15-1.2054_FC5.img

    修改其中的 kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro root=LABEL=/1 rhgb quiet

    变成:kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro root=LABEL=/1 single rhgb quiet

    (3)按回车退出修改界面。

    (4)按键盘上的"B"键,启动系统,进入命令行界面。

    (5) vi /etc/passwd 取消root用户的密码,

    即修改第一行:root:x:0:0:root:/root:/bin/bash

    去掉或者删除第一个“冒号”后面的"x",使之变成:root::0:0:root:/root:/bin/bash

    (6)保存修改,reboot即可。再次启动登陆时root密码即为空了。
    ---------------------------------------------------------------------------------------------

    正常情况下grub.conf和passwd文件的内容如下:

    [root@localhost grub]# cat grub.conf   //显示grub.conf内容
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:     You do not have a /boot partition.     This means that
    #             all kernel and initrd paths are relative to /, eg.
    #             root (hd0,0)
    #             kernel /boot/vmlinuz-version ro root=/dev/sda1
    #             initrd /boot/initrd-version.img

    #boot=/dev/sda
    default=0
    timeout=5
    splashimage=(hd0,0)/boot/grub/splash.xpm.gz
    hiddenmenu
    title Fedora Core (2.6.15-1.2054_FC5)
            root (hd0,0)
               kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro root=LABEL=/1 rhgb quiet
               initrd /boot/initrd-2.6.15-1.2054_FC5.img
    title windows
               rootnoverify (hd0,3)
               chainloader +1
    ---------------------------------------------------------------------


    [root@localhost grub]# cat /etc/passwd //显示密码文件内容
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin

    ........................................还有很多,在此省略。

    【 三 】附加一个修改屏幕分辨率的命令

    # system-config-display

  • 本文...
  • 热血警探 Hot Fuzz,没看过的赶紧去下,英式电影风格,很好看!!

  • (一)上周末给CyberArticle反映了一个图片无法显示的问题,而且我定位到了是什么原因引起的。早上得到了魏拾俊的回应。

    他很认真,给我一个带有调试信息的版本让我来运行,然后与他交流。后来他定位到了问题出在哪,修改后,传给我一个新的安装文件,这个问题算是解决掉了。呵呵,他还说我帮他解决了一个问题,要送给我一个注册号,我当然是欣然接受了! 以后使用网文快捕就可以没有限制了,全功能专业版啊!!

    另外,李云建要回上海了,会待一周已经联系好,周末给他接风,有机会的话我还是想多见见我的同学们,要不一年到头就过年那几天,还不一定谁都有时间!

    (二)晚上开《杀出个黎明》,这片子集两大鬼才电影人呢啊,昆汀编剧、主演,罗德里格兹导演。看到一半的时候终于理解了片名是什么意思,风格转换太突然了。当萨耳玛海耶克变身的时候,我还没反映过来呢。呵呵,找得中文字幕里面说海耶克是“一代妖后 罪恶之花史上最淫邪的魔姬”。

    完。

  • 06.24.07.Teeth.of.Love.2006.DVDRip.XviD-NewMov_爱情的牙齿_0.7G

    片子不错,挺特别的,想起了前一阵子颇受好评的《云水谣》、看完后还想看看《我们无处安放的

    青春》。





    ◎译  名 爱情的牙齿
    ◎片  名...