VMware Server和VMware ESX Server比较上篇 - Virtual machine - 大白鲨.
大型网站架构演变和知识体系 - BlueDavy之技术Blog - BlogJava
Rhca感想
经过4个月的学习和备战,终于通过了5门的考试。拿到最后一门课成绩的瞬间,有种高考完才有的感觉。 期间经历了许许多多的事情,最让我恶心的就是凑不够人数不给考试的那个星期了,333因此被搁下,一直拖到最后才考试。其实当时我们想到了很多不好的情况,但是最后这么处理也算是一个最好的补救了吧,对于rhca的5门考试,虽然难度有不同,但是任何一门要与另外一门同时复习,一次准备两门考试,对于我这个全新接触这些内容的人来说都是完全不可能做到的事情。 学习的过程中也认识了很多的朋友,我们构成了一只强大的备考团队,轻松的气氛保证学习质量吧~我想正是这种没压力的气氛才适合团队交流,更容易产生成果。 另外,我心理上也有一个成长吧,因为培训的过程中也见识了一些比较恶心的人,如果和各种各样的人打交道,都是要面对的事情。 对我来说,rhca教给我的更多是的对于深入开源世界的一种方法,怎样利用开源软件文档学习使用,怎样整合开源软件的思路等。收获颇丰
Ksplice » Strace — the Sysadmin’s Microscope - System Administration and Software Blog
Made of Bugs » Write Yourself an Strace in 70 Lines of Code
The Art of Unix Programming
The Art of Unix ProgrammingUnix编程艺术,貌似不错的书,收藏一下
Ksplice » Six Things I Wish Mom Told Me About Ssh - System Administration and Software Blog
» Ubuntu 上通过命令行来备份及恢复安装过的软件 Wow! Ubuntu / Ubuntu 新闻、技巧、软件及游戏!
Openvpn通过isa Server代理验证
首先,openvpn要配置为使用tcp模式,需要服务器支持tcp方式链接,
remote x.x.x.x 443 tcp
接下来,配置openvpn使用isa proxy,在openvpn.conf里面加入下面一行
http-proxy y.y.y.y 8080 stdin ntlm
这里y.y.y.y是isa的地址,ntlm方式是isa需要的认证方式,stdin指的是从命令行输入isa的认证密码,也可以存到本地文件里面去,然后把文件名放到stdin的位置 最好是把本地默认路由替换成通道的路由,这样就不会受到本地网络的限制了,哇哈哈哈,可以自由上网咯
Initrd的man文档
NAME initrd - boot loader initialized RAM disk CONFIGURATION The /dev/initrd is a read-only block device assigned major number 1 and minor number 250. Typically /dev/initrd is owned by root.disk with mode 0400 (read access by root only). If the Linux system does not have /dev/initrd already created, it can be created with the following commands:
mknod -m 400 /dev/initrd b 1 250
chown root:disk /dev/initrd
Also, support for both “RAM disk” and “Initial RAM disk” (e.g. CONFIG_BLK_DEV_RAM=y and CONFIG_BLK_DEV_INITRD=y) must be compiled directly into the Linux kernel to use /dev/initrd. When using /dev/initrd, the RAM disk driver cannot be loaded as a module. DESCRIPTION The special file /dev/initrd is a read-only block device. This device is a RAM disk that is initialized (e.g., loaded) by the boot loader before the kernel is started. The kernel then can use /dev/initrd’s contents for a two-phase system boot-up. In the first boot-up phase, the kernel starts up and mounts an initial root file-system from the contents of /dev/initrd (e.g., RAM disk initialized by the boot loader). In the second phase, additional drivers or other modules are loaded from the initial root device’s contents. After loading the additional modules, a new root file system (i.e., the normal root file system) is mounted from a different device. Boot-up Operation When booting up with initrd, the system boots as follows: 1. The boot loader loads the kernel program and /dev/initrd’s contents into memory. 2. On kernel startup, the kernel uncompresses and copies the contents of the device /dev/initrd onto device /dev/ram0 and then frees the memory used by /dev/initrd. 3. The kernel then read-write mounts the device /dev/ram0 as the initial root file system. 4. If the indicated normal root file system is also the initial root file-system (e.g. /dev/ram0) then the kernel skips to the last step for the usual boot sequence. 5. If the executable file /linuxrc is present in the initial root file-system, /linuxrc is executed with UID 0. (The file /linuxrc must have executable permission. The file /linuxrc can be any valid executable, including a shell script.) 6. If /linuxrc is not executed or when /linuxrc terminates, the normal root file system is mounted. (If /linuxrc exits with any file-systems mounted on the initial root file-system, then the behavior of the kernel is UNSPECIFIED. See the NOTES section for the current kernel behavior.) 7. If the normal root file system has a directory /initrd, the device /dev/ram0 is moved from / to /initrd. Otherwise if the directory /initrd does not exist, the device /dev/ram0 is unmounted. (When moved from / to /initrd, /dev/ram0 is not unmounted and therefore processes can remain running from /dev/ram0. If directory /initrd does not exist on the normal root file system and any processes remain running from /dev/ram0 when /linuxrc exits, the behavior of the kernel is UNSPECIFIED. See the NOTES section for the current kernel behavior.) 8. The usual boot sequence (e.g., invocation of /sbin/init) is performed on the normal root file system. 前几天老许问我关于initrd的作用,说起来只知道是放驱动程序用的磁盘镜像,我的理解就是放了一些linux要用的基本目录,加上/lib/modules里面跟启动关系紧密的驱动程序,但是完全不懂里面到底是什么东西,所以今天想起来,在ubuntu上面做了一下实验,注意,这个initrd文件在不同的发行版上面使用不太一样的格式存储,所以要区别对待
mkdir /tmp/initrd
cd /tmp/initrd
gzip -d /boot/initrd.img-2.6.32-24-generic
file initrd.img #看到是cpio文件
cpio -i < initrd.img
到这里就解压出来了镜像里面的全部内容,ls一下可以看到目录结构包含了 bin conf etc init lib sbin scripts var, 其中init是个可执行文件,应该就是我们的1号进程。这里有点疑问,我比较了一下这个init和/sbin/init,发现并不是同一个文件,再结合上面initrd的man文档的第6步解释,猜想这个文件一般不会被执行,因为在这里会挂上我们的根文件系统以后执行/sbin/init了 然后我看了一下这个目录下面lib/modules下面果然有这个版本内核的驱动程序,总共有14M大小,而我/lib/modules下面同一个内核的驱动程序模块为89M,少了这么多,我大概看了一下内容,虽然不是很了解每个模块的作用,但是看名字,感觉是内核启动时可能会需要用到的驱动程序,比如磁盘,网络支持等功能。比如摄像头驱动啥的这里就都没有,所以小了不少,反正这些在启动阶段用不到的。