灌溉梦想,记录脚步

制作 Fedora Core 3 LiveCD

  先装好 Fedora Core 3
  安装套件容量要控制在 1.4G–1.7G 之间,最好不要超过 2G
  装 X 和 KDE
  制作过程:
  1.在根目录先建立好 livecd 目录
  mkdir /livecd
  2.复制 /bin /usr /sbin /var /etc /lib 目录到 /livecd 目录之下
  cp -aRpf /bin /usr /sbin /var /etc /lib /livecd
  3.删除一些说明档
  rm -rf /livecd/usr/share/doc/*
  4.删除 Kernel 的一些模组
  rm -rf /livecd/lib/modules/*
  5.下载 mklive-1.0-2.i386.rpm,并安装
  rpm -Uvh mklive-1.0-2.i386.rpm
  6.把目录切换到 /livecd
  cd /livecd
  7.删除 livecd 目录之下的 etc/fstab,要注意不要删错了
  rm -rf etc/fstab
  8.删除 livecd 目录之下的 etc/mtab
  rm -rf etc/mtab
  9.删除 livecd 目录之下的 etc/modpr*.conf
  rm -rf etc/modpr*.conf
  10.复制 /opt/livecd/script/mksqfs-2.0 到 /usr/bin 目录之下
  cp /opt/livecd/script/mksqfs-2.0 /usr/bin
  1.先建立好 /livecd 目录
  mkdir /livecd
  2.将 /etc /bin /sbin /usr /var /lib 目录复制到 /livecd 之下
  cp -aRpf /etc /bin /sbin /usr /var /lib /livecd
  3.为了增加空间,所以删除一些文件说明档
  rm -rf /livecd/usr/share/doc/*
  4.把核心删除
  rm -rf /livecd/lib/modules/*
  5.删除 /livecd/etc/fstab
  rm -rf /livecd/etc/fstab
  6.删除 /livecd/etc/mtab
  rm -rf /livecd/etc/mtab
  7.复制 /opt/livecd/scripts/mksquashfs 到 /usr/bin 目录之下 mksquashfs 就是 LiveCD 的压缩程式
  cp /opt/livecd/scripts/mksquashfs /usr/bin
  8.复制 /opt/livecd/scripts/mkxf86config 到 /livecd/usr/sbin 目录之下
  cp /opt/livecd/scripts/mkxf86config /livecd/usr/sbin
  9.复制 /opt/livecd/scripts/hotplug-knoppix 到 /livecd/sbin 目录之下
  cp /opt/livecd/scripts/hotplug-knoppix /livecd/sbin
  10.复制 /opt/livecd/scripts/hwsetup 到 /livecd/sbin 目录之下
  cp /opt/livecd/scripts/hwsetup /livecd/sbin
  11.新建立 fstab 这个档案
  touch /livecd/etc/fstab
  12.新建立 mtab 这个档案
  touch /livecd/etc/mtab
  13.切换目录到 /livecd/lib/modules
  cd /livecd/lib/modules
  13.1 新建立一个 2.6.9pake 这个目录
  mkdir 2.6.9pake
  14.把核心 2.6.9.tgz 解压缩到 2.6.9pake 这个目录
  tar xvzf /opt/livecd/2.6.9.tgz
  15.建立 fedora3 这个目录
  mkdir /fedora3
  16.把目录切换到 /livecd 这个目录
  cd /livecd
  17. -be 大格式档案的压缩,可以改 linuxerrc
  mksquashfs * /fedora/fedora3 -be
  18.
  cp -aRpf /opt/livecd/scripts /
  19.
  cp -aRpf /opt/livecd/isolinux /
  20.主要在建立 grub 的选单
  /opt/livecd/pake
  21.
  reboot
  压成 ISO
  1.
  mkdir /iso
  2.
  mv isolinux /iso
  3.
  mv scripts /iso
  4.
  mv fedora3 /iso
  5.
  cd /iso
  5.
  /iso/scripts/mkISOboot fc3 /fc3.iso
  如果要新增套件或美化桌面都要在制作过程之前先做好!
  装好之後套件可以更新,包括核心的部分,因为制作 Fedora LiveCD 时,会用其它的核心来取代目前的核心!
  取消 root 的密码
  passwd -d root
  制作典故
  由於live-cd 技术的盛行愈来愈多人用这样的技巧将自己的os打包成一片光碟或是小至200多mb的光碟片上,更有人做到15mb的大小, 让linux直结跑在usb碟上,不过这样小的linux大多都是用debian所做出来的,较少有人用其他linux来制作,小弟想用 fedora core2这个肥大的系统来打破这个传说.
  目前小弟也满成功的做出100mb以内的fedora linux system 经过後制成live-cd 的压缩技巧 目前大小约为 36mb

linux 下安装nginx

  为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包。
  # yum install pcre pcre-devel -y
  接下来安装 Nginx,Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /opt/nginx 目录下的详细步骤:
  # wget http://sysoev.ru/nginx/nginx-0.8.6.tar.gz
  # tar zxvf nginx-0.6.31.tar.gz # cd nginx-0.8.6
  # ./configure
  # make
  # make install

  安装成功后 /usr/local/nginx 目录下有四个子目录分别是:conf、html、logs、sbin 。其中 Nginx 的配置文件存放于 conf/nginx.conf,Nginx 只有一个程序文件位于 sbin 目录下的 nginx 文件。确保系统的 80 端口没被其他程序占用,运行 sbin/nginx 命令来启动 Nginx,打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
  常用的 Nginx 参数和控制
  程序运行参数
  Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:
  -c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
  -t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
  -v:显示 nginx 版本号。
  -V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。
  例如我们要测试某个配置文件是否书写正确,我们可以使用以下命令
  sbin/nginx – t – c conf/nginx2.conf
  通过信号对 Nginx 进行控制
  Nginx 支持下表中的信号:
  信号名 作用描述
  TERM, INT 快速关闭程序,中止当前正在处理的请求
  QUIT 处理完当前请求后,关闭程序
  HUP 重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求
  USR1 重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件
  USR2 平滑升级可执行程序
  WINCH 从容关闭工作进程
  有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX <pid> 来控制 Nginx,其中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 重新加载配置。
  配置 Nginx
  Nginx 监控
  首先我们定义了一个 location ~ ^/NginxStatus/,这样通过 http://localhost/NginxStatus/ 就可以监控到 Nginx 的运行信息,显示的内容如下:
  Active connections: 70 server accepts handled requests 14553819 14553819 19239266 Reading: 0 Writing: 3 Waiting: 67
  NginxStatus 显示的内容意思如下:
  active connections – 当前 Nginx 正处理的活动连接数。
  server accepts handled requests — 总共处理了 14553819 个连接 , 成功创建 14553819 次握手 ( 证明中间没有失败的 ), 总共处理了 19239266 个请求 ( 平均每次握手处理了 1.3 个数据请求 )。
  reading — nginx 读取到客户端的 Header 信息数。
  writing — nginx 返回给客户端的 Header 信息数。
  waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。
  静态文件处理
  通过正则表达式,我们可让 Nginx 识别出各种静态文件,例如 images 路径下的所有请求可以写为:
  location ~ ^/images/ { root /opt/webapp/images; }
  而下面的配置则定义了几种文件类型的请求处理方式。
  location ~ \\.(htm|html|gif|jpg|jpeg|png|bmp|ico|css|js|txt)$ { root /opt/webapp; expires 24h; }
  对于例如图片、静态 HTML 文件、js 脚本文件和 css 样式文件等,我们希望 Nginx 直接处理并返回给浏览器,这样可以大大的加快网页浏览时的速度。因此对于这类文件我们需要通过 root 指令来指定文件的存放路径,同时因为这类文件并不常修改,通过 expires 指令来控制其在浏览器的缓存,以减少不必要的请求。 expires 指令可以控制 HTTP 应答中的” Expires “和” Cache-Control “的头标(起到控制页面缓存的作用)。您可以使用例如以下的格式来书写 Expires:
  expires 1 January, 1970, 00:00:01 GMT; expires 60s; expires 30m; expires 24h; expires 1d; expires max; expires off;
  动态页面请求处理
  Nginx 本身并不支持现在流行的 JSP、ASP、PHP、PERL 等动态页面,但是它可以通过反向代理将请求发送到后端的服务器,例如 Tomcat、Apache、IIS 等来完成动态页面的请求处理。前面的配置示例中,我们首先定义了由 Nginx 直接处理的一些静态文件请求后,其他所有的请求通过 proxy_pass 指令传送给后端的服务器(在上述例子中是 Tomcat)。最简单的 proxy_pass 用法如下:
  location / { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; }
  这里我们没有使用到集群,而是将请求直接送到运行在 8080 端口的 Tomcat 服务上来完成类似 JSP 和 Servlet 的请求处理。
  当页面的访问量非常大的时候,往往需要多个应用服务器来共同承担动态页面的执行操作,这时我们就需要使用集群的架构。 Nginx 通过 upstream 指令来定义一个服务器的集群,最前面那个完整的例子中我们定义了一个名为 tomcats 的集群,这个集群中包括了三台服务器共 6 个 Tomcat 服务。而 proxy_pass 指令的写法变成了:
  location / { proxy_pass http://tomcats; proxy_set_header X-Real-IP $remote_addr; }
  在 Nginx 的集群配置中,Nginx 使用最简单的平均分配规则给集群中的每个节点分配请求。一旦某个节点失效时,或者重新起效时,Nginx 都会非常及时的处理状态的变化,以保证不会影响到用户的访问。
  总结
  尽管整个程序包只有五百多 K,但麻雀虽小、五脏俱全。 Nginx 官方提供的各种功能模块应有尽有,结合这些模块可以完整各种各样的配置要求,例如:压缩、防盗链、集群、FastCGI、流媒体服务器、Memcached 支持、URL 重写等等,更关键的是 Nginx 拥有 Apache 和其他 HTTP 服务器无法比拟的高性能。您甚至可以在不改变原有网站的架构上,通过在前端引入 Nginx 来提升网站的访问速度。

CNNIC称已升级DNS系统 更改信息15分钟可生效

  7月23日,记者从CNNIC获悉,该中心7月22日完成原有DNS系统升级,今后CNNIC运维的中英文域名解析生效时间将由之前的4个小时缩短至15分钟左右.
  据了解,CNNIC此次升级的包括中央主节点在内的全球9个域名顶级节点的域名解析(DNS)系统,涉及由CNNIC运维的中英文域名(英文域名包括 CN英文顶级域、6个类别域名和34个行政区域域名,中文域名包括.CN、.中国、.公司、.网络四个顶级域),升级之后,解析生效时间将由之前的4个小 时,缩短至15分钟左右.
  另据部分域名注册商透露,CNNIC还将于7月25日10:00至7月26日4:00再次进行系统维护,届时将停止提供CN域名注册、中文域名注册、通用网址注册服务和注册商对帐系统,其它业务不受影响.

更改oracle连接数

  SQL> show parameter processes
  NAME TYPE VALUE
  ———————————— ———– ——————————
  aq_tm_processes integer 0
  db_writer_processes integer 1
  job_queue_processes integer 0
  log_archive_max_processes integer 2
  processes integer 150
  SQL> alter system set processes=100 ;
  alter system set processes=100
  *
  ERROR 位于第 1 行:
  ORA-02095: 无法修改指定的初始化参数
  SQL> alter system set processes=100 scope=spfile;
  系统已更改。
  SQL> show parameter processes
  NAME TYPE VALUE
  ———————————— ———– ——————————
  aq_tm_processes integer 0
  db_writer_processes integer 1
  job_queue_processes integer 0
  log_archive_max_processes integer 2
  processes integer 150
  SQL> shutdown immediate
  ORA-01031: 权限不足
  SQL> connect sys as sysdba
  请输入口令:
  已连接。
  SQL> shutdown immediate
  数据库已经关闭。
  已经卸载数据库。
  ORACLE 例程已经关闭。
  SQL> startup
  ORACLE 例程已经启动。
  Total System Global Area 131144544 bytes
  Fixed Size 453472 bytes
  Variable Size 104857600 bytes
  Database Buffers 25165824 bytes
  Redo Buffers 667648 bytes
  数据库装载完毕。
  数据库已经打开。
  SQL> show parameter processes
  NAME TYPE VALUE
  ———————————— ———– ——————————
  aq_tm_processes integer 0
  db_writer_processes integer 1
  job_queue_processes integer 0
  log_archive_max_processes integer 2
  processes integer 100
  SQL>

编程能力的四种境界

  利用心理学解释程序员的专业程度,视角新颖,翻译首发。
  人类心理学研究中的一个基础支撑课题就是分析人的思维意识和潜意识。 Sigmund Freud是最早的一位能够清楚的认定和描述我们的心理活动"领域"的人。 在他著名的一生中的早期,他就指出我们的意识里分"潜意识","前意识","意识"。
  如果想弄清楚理解它们跟我们的思想、感觉、认知、判断和动机(这些在我们每日生活、职场中里的关键因素)有什么关联,我们可以把自己想象成一个冰山。 冰山的尖端,唯一能从水面看到的一部分,可以当作是我们的的意识。 它是有逻辑、有组织的,可控的,但这部分很小。而庞大的水下部分则是我们的潜意识。 它们是无组织、无逻辑、无关联的,但它们取能决定我们的各自行为特征。
  现代心理学上一直试图通过观察人们在这个"思维冰山"上能打多深的孔来评价他们掌握某一个专业技能的程度,并描述成四个阶段。
 

  阶段一:无意识,无能力
  小陈是一个年轻的网站开发者。 他是一个法律专业的学生,可他认为他的钱途不在律师行业,所以他灵光闪现,做了转行的决定。 他曾经帮他的朋友修过计算机,而且很成功,自认为这方面应该都很容易。 小陈很快找到了一些能够让他学习、工作的地方(当然,都是靠近他家的)。 六个月后,他向朋友说自己是个网站专家了,简历上也列举了不少汇编语言、应用程序,以及开发平台。
  但实际上,小陈是一个冷酷的"拷贝/粘贴"者。 他以为能够成功地显示一个windows提示框,就表示对Javascript已经掌握了。 PHP? 也很简单:他成功的安装了Wordpress、Linux,他从LiveCD上启动了Ubuntu系统,能够搭建一个Apache负载均衡集群服务器。 他的意识告诉他,他已经无所不知了。
  可是问题就在于,小陈没有意识到他可以学到更多的东西,所以他就简单地停止了学习的步伐。 他经常访问的在线论坛和邮件列表里有很多人都非常客气地告诉他,他的问题在于他肤浅的知识,但没有人捅破这层窗户纸。 而更悲哀的是,他在论坛里的能力值比你我加起来都高。呵呵,这很搞笑。
  小陈是无意识的无能力。
 

  阶段二:有意识的无能力
  赵明是个数学老师。 他在一个大学里工作,他希望他的大学里能够拥至少是五倍于现有数量的图书馆藏书。 他知道在科技领域方面,他的大学相对于其他研究机构落后很多,所以他决定自己动手去做这个工作。 他想建立一个在线平台,能在社团里共享他们的课程。
  赵明是天生的逻辑型的思维, 他知道为了实现这个目标,他需要去做研究,搜集信息。 他的搜索从维基百科开始,但最终在大量的浏览阅读后他明白其实世界上已经有不少团队对他的这种问题提供了开源方案。
  他 从那些工程中选择了一个最能满足他的需求的一个。 他开始着手阅读在它的网站上找到的文档和手册,最后他把源程序下载下来。 但他的兴奋状态推着时间推移逐步退去,因为他看到了很多’数据库连接错误’。 他试了又试,不少于三次地检查他的每一步骤,还是不成功。 赵明并不恼怒,因为他知道自己在这个领域并不是专家。
  他开始转向它邮件列表平台,在里面,他用他所知道的(其实很少)最精确的语言描述了他的问题。 他提醒每个人,他并不清楚他所做的这个东西,所以,他希望能得到更多的文档去阅读,或人们给他提供这方面的提示。 他不需要等待很久就能得到解决方案,因为他采取了正确的方法。
  赵明是有意识的无能力

  阶段三:有意识的有能力
  自从锋仔拿起他的第一本HTML书至今已经有两年了。 很显然这是一条不归路,对于锋仔来说,每天思考的问题都是如何去提高自己喜爱的这个专业。 从他拿起第一本书几个月后,他得到了第一个作为自由工作者开发一个网站的机会,他投入了极大的热情,不管这个工作的薪酬有多低,这个工作有多简单 (甚至是对于他的水平)。他深信一点:最好的学习的方式就是坚持不懈,屡战屡败,屡败屡战。
  他经常去研究如何以最好的方式执行一个功能,因为他知道最好的代码不是第一次就能获得的。 他必须去优化代码,他一遍又一遍地审查。 他一次又一次地修正。
  之 后,他又给他自己写了一个大概有30到40行的程序。 几天之后,他忍不住感到失望,因为他在上网时发现了一段更省事的、而且更简洁的程序,代码行只有他的一半。 他渴望知道何时才能轻松的写出如此高质量的代码。 然而,经过一段思考之后,他开始分析自己的代码。 他知道必须去重写这些代码,否则睡觉都不会安稳。 他不愿意去拷贝粘贴它们。
  锋仔正走在成为一个优秀的专家的路上,但他不会给自己加上这个称号,他愿意去等,他是有意识的有能力。
 

 

  阶段四:无意识的有能力
  这是汇编水平的终极阶段。 它不仅仅是知识积累的结果,更是一系列的逻辑规则在数年里慢慢的刻印到脑海中的结果。
  我们面对这样的一个人时,不得不由衷的佩服他对如此复杂的问题,竞能如此轻松地应对。 这种汇编者看起来就像是能够嗅出问题的解决方案,而不是思考出的。
  优化的编写,可维护的、安全性的程序,应用各种设计模式,使用正确的开发工具组合,这些会自动的在他的工作中体现出来。 这种人能够轻松的使用多种语言在多种操作系统平台上工作。
  最后值得一提的是,一些学者提出第五种阶段:成熟的有能力,定义为有能力去教育和传承他所学的、甚至是还未意识到的知识。 我们可以从一些才智超凡的人哪里看到这些特征,他们可以教学和讲解,这些很显然是多年实践经验积累出的技能。

《大趋势》一书中的惊人预言

  1.从农民到工人,再到职员,这就是美国的简史。
  2.在工业社会里,战略资源是资本。在信息社会里,战略资源是信息。
  3.经济转型的过渡时期正是创业精神最旺盛的时期。
  4.我们现在大量生产信息,正如过去我们大量生产汽车一样。
  5.新的权力来源不是少数人手中的金钱,而是多数人手中的信息。
  6.知识不适用于守恒定律。知识可以被创造出来,可以被毁掉,而最重要的是它有合作增强的作用,也就是说整体的值大于部分的和。
  7.信息不仅可以再生,而且可以自生。
  8.在农业社会,人们习惯向过去看,依赖过去的经验。在工业社会,人们更注重现在。在信息社会,我们必须关注将来。
  9.我们被信息淹没,但是却渴求知识。
  10.将来,读者不会接受编辑让他们看的东西,而是告诉编辑,他们想看什么。
  11.高技术越多,我们就越希望创造高情感的环境,用技术的软性一面来平衡硬性的一面。这意味者软色调、浅颜色会流行。民间艺术恰巧与电脑社会相平衡,难怪手工制品那么受欢迎。
  12.要想真正取得成功,你必须懂三种语言:流利的英语,一门外国语和电脑语言。
  13.有许多公司像恐龙那样等待气候发生变化。气候不会再变回从前那样了,我们脚下的大地在移动。我们现在要做的事情只有重新思考自己的角色,其他一切都无助于事。
  14.终身教育的概念取代短期教育。
  15.领袖是追随者创造出来的。
  16.新型的领导者是一名推动者,而不是一名发号施令者。
  17.等级制度无法解决社会的种种问题,这迫使人们互相进行交谈,而这就是网络组织的发端。
  18.网络组织是社会行动的有力工具,有心改变世界的人开始在本地做起,志同道合的人自然而然地聚集在一起。
  19.网络组织可以提供一种等级制度永远无法提供的东西–横向联系。
  20.一个网络组织中最重要的就是,每一个人都是中心。
  21.在未来的企业中,每个单位越来越小,创业型单位和参与型单位越来越多。
  22.社会的基本单位正由家庭变为个人。

  那女子涉江采下芙蓉
  也不过是昨日的事
  而江上千载的白云
  也不过 只留下
  几首佚名的诗
  那么 我今天的经历
  又有些什么不同
  曾让我那样流泪的爱情
  在回首时 也不过
  恍如一梦
  那女子涉江而来,执莲而去
  
感触:
  这夏日属于你了。
  这满纸的荷香属于你了。
  此刻,一只蜻蜓以参悟的姿态点水,她腹部的力量正荡起满湖的涟漪。
  第一枚小草的萌发,给春天带来了什么?满野的葱茏之后谁还记得什么?
  一堆通红的篝火,给夜晚带来了什么?翌日清晨,寂寞已极的灰烬说明了什么?
  一阵悠远的笛声从童年的那一头响过来,仿佛掩盖着什么,有似乎在揭示着什么。
  那涉江的女子做怎样的妆点,以怎样葱白的细指,摘下怎样的一朵芙蓉,在众荷之中,又是那样的荷叶留下她的印痕。
  她从那里来!
  她的家乡是谁,她的父母是谁,她的婚姻是谁。
  这一切都是忧伤如隔世的左日之事了,我们保留住的仅是今日的爱情,泪水和孤独。

  石头不能覆盖的东西,被一股风揭穿了
  水不能覆盖的东西,被一条鱼揭穿了