• 项目网址: http://sourceforge.net/projects/simplehtmldom/ 

    特色: 
    1.只支援PHP5以上
    2.可以分析不严谨(invalid)的HTML. 
    3.支援简单的CSS Selector. 
    4.简单的DOM操作
    5.会维持HTML中的原始格式.

    一些范例:

    <?php

    //示范如何读取HTML元素 

    include(’html_dom_parser.php’); 

    //产生DOM物件 

    $dom = file_get_dom('[url]http://www.google.com/[/url]'); 

    //找出所有网页连结 

    $result = $dom->find(’a); 

    foreach($result as $v) {echo $v->href . '<br>';} 

    //找出所有网页图片 

    $result = $dom->find(’img’); 

    foreach($result as $v) {echo $v->src . '<br>';} 

    //找出所有网页中所有id=gbar的div标签 

    $result = $dom->find(’div#gbar’); 

    foreach($result as $v) {echo $v->innertext . '<br>';} 

    //找出所有网页中所有calss=gb1的span标签 

    $result = $dom->find(’span.gb1′); 

    foreach($result as $v) {echo $v->outertext . '<br>';} 

    //找出所有网页中所有align=center的'td标签 

    $result = $dom->find(’td[align=center]‘); 

    foreach($result as $v) {echo $v->outertext . '<br>';} 

    ?> 

     
    <?php 

    //示范如何修改HTML元素 

    include(’html_dom_parser.php’); 

    //产生DOM物件 

    $dom = file_get_dom('[url]http://www.google.com/[/url]'); 

    //移除网页中所有图片 

    $ret = $dom->find(’img’); 

    foreach($ret as $v) {$v->outertext = ”;} 

    //修改网页中所有input标签 

    $ret = $dom->find(’input’); 

    foreach($ret as $v) {$v->outertext = '[INPUT]';} 

    //显示修改后的网页 

    echo $dom->save(); 

    ?>

  • 2008-06-30

    蜗牛赛跑 - [技术文档]


  • 1. Apache 的安装和配置

      安装 Apache:

      # emerge -av apache

      起动 Apache:

      # /etc/init.d/apache2 start

      让系统起动时自动起动 Apache:

      # rc-update add apache2 default

      配置 Apache:

      # vi /etc/apache2/conf/commonapache2.conf

      2. MYSQL 的安装和配置

      安装 MYSQL:

      # emerge -av mysql

      配置 MYSQL:

      # ebuild /var/db/pkg/dev-db/mysql-4.0.25-r2/mysql-4.0.25-r2.ebuild config

      (注:这将自动创建MYSQL数据库,并设置root用户的口令)

      起动 MYSQL:

      # /etc/init.d/mysql start

      让系统起动时自动起动 MYSQL:

      # rc-update add mysql default

      试用 MYSQL:

      $ mysql -u root --password

      mysql> SHOW DATABASES;

      3. PHP 的安装和配置

      安装 PHP:

      # emerge -av mod_php
    emerge dev-lang/php

      (注:这将自动同时安装 dev-php/php)

      让 PHP 自动加载 MYSQL 扩展:

      # vi /etc/php/apache2-php4/php.ini
      在该文件中加入以下设置:

      extension=mysql.so

      让 Apache 加载 PHP4 模块:

      # vi /etc/conf.d/apache2

      编辑该文件的 APACHE2_OPTS 的设置为:

      APACHE2_OPTS=\"-D SSL -D PHP4\"
      APACHE2_OPTS="-D DEFAULT_VHOST -D PHP5"

      经过这些步骤,一个基本的 LAMP 系统就安装和配置完成了,并可以正常使用了
  • 转自: http://hi.baidu.com/bluenuts

    对于新手,gentoo的安装往往令人却步。如果是第一次安装gentoo的话,应该选择从stage3或installcd安装,下面是我的硬盘安装安装过程。

    一、选择正确的安装介质
    (1)、三个stage
    从stage1开始安装,你能够完全自定义和控制编译过程的优化设置来初始你的系统。这使得高级用户可以知道自己在做什么。这也是一个让你更多了解Gentoo Linux核心的方法。
    从stage2开始安装,你可以跳过bootstrap,这样你可以应用到我们特别为stage2做的各种优化设置。
    从stage3 开始安装,你将可以快速地安装 Gentoo Llinux,这意味着你的系统将是我们为你所编译的(主要指比较完善的设置,较高的效率和稳定性)。Gentoo Linux的重要发布版本都有特别为stage3做的最佳优化,所以从stage3开始安装你将可以获得一个快速优化过的系统。
    我是新手,所以选择用stage3(stage3-i686-2006.0.tar.bz2)。
    (2)、Gentoo的小型LiveCD
    这是一个小而实用的启动CD,只用来启动系统、准备网络和让Gentoo的安装可以继续。它不包含任何stage(或者有时候只包含一个stage1文件)、源代码或者预编译软件包。比如,对于x86架构的LiveCD名为install-x86 -minimal-2006.0.iso。
    (3)、portage快照
    下载最新的portgae-20060403.tar.bz2。
    这三个文件可以从http://mirror.vmmatrix.net/或http://distro.ibiblio.org/pub/linux/distributions/获得。

    二、准备工作
    (1)、下载grub for dos到win的C盘。
    (2)、用虚拟光驱工具打开install-x86-minimal-2006.0.iso,复制所有文件到win的C盘根目录。
    (3)、复制stage3、portage文件到C盘。

    三、启动一个LiveCD
    由于我没有安装其他的linux系统,硬盘启动用gentoo的livecd分区出错(可能是只有一个硬盘的原因),因此选择lfs-livecd来分区和创建文件系统。
    启动lfs-livecd....
    1、分区
    默认的分区策略
    /dev/hda7   ext2    128M                    启动分区
    /dev/hda8   (swap) 512M                    交换分区
    /dev/hda9    reiserfs    Rest of the disk    根分区
    注:/dev/hda1为win的C盘,fat32格式;/dev/hda5、/dev/hda6为D、E盘。
    2、使用分区工具fdisk
    (1)、启用fdisk
    # fdisk /dev/hda
    Command (m for help):     代码:m     帮助
                                   p     列出当前磁碟分区情况
                                  n     新建分区
                                   d     删除分区
                                   t      选择分区类型
                                   w     写入储存
                                   q     退出
    (2)、创建分区
    我们首先来创建一个小的启动分区接着是swap、根分区。输入n来创建一个新的分区,然后输入l选择一个拓展分区。当提示第一个扇区时,点击enter。当提示最后的扇区时,输入+128M来创建一个大小为128Mbyte的分区。swap、根分区类推。创建交换分区时输入t来设定分区类型,8来选择你刚才创建的分区,然后输入82将分区类型设置为“Linux Swap”。
    (3)、保存分区表
    输入w保存分区表和退出fdisk
    3、 创建文件系统
    (1)、要对一个分区或者卷创建文件系统,对于每一个文件系统来说都有一些工具:
    文件系统            创建命令
    ext2                 mke2fs
    ext3                 mke2fs -j
    reiserfs              mkreiserfs
    xfs                  mkfs.xfs
    jfs                  mkfs.jfs
    (2)、给分区创建文件系统
    # mke2fs /dev/hda7
    # mkreiserfs    /dev/hda9
    (3)、激活交换分区
    # mkswap /dev/hda8      创建交换分区标识
    # swapon /dev/hda8      经创建并激活交换空间

    四、安装gentoo安装文件
    1、从硬盘启动gentoo的install livecd.....
    进入DOS,启动GRUB,在grub命令符下输入:
    grub > kernel (hd0,0)/isolinux/gentoo root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/image.squashfs cdroot=/dev/hda1
    grub > initrd (hd0,0)/isolinux/gentoo.igz
    grub > boot
    2、ADSL用户的网络配置
    假设你需要使用PPPoE连接到因特网上,LiveCD(任何版本)里包含了方便设置的rp-pppoe。使用它提供的adsl-setup脚本可以配置网络连接。程序将会提示你输入连接到adsl调制解调器的以太网设备、用户名、密码、DNS服务器的IP地址和是否需要设置基本的防火墙,使用 rp-pppoe。
    # adsl-setup
    # adsl-star
    如果出现什么问题的话,查看/etc/ppp/pap- secrets或者/etc/ppp/chap-secrets来检查确认已经正确的输入用户名和密码,并要确认你使用的是正确的以太网设备。如果以太网设备不存在,你将必须加载准备的网络模块。那种情况下你应该从手动配置网络继续,那里我们解释了怎样加载正确的网络模块。
    3、挂载分区
    现在你的分区已经初始化并都使用了一个文件系统,该到挂在这些分区的时候了。使用mount命令来做这个。当然不要忘了给每个你创建的分区创建必要的挂载文件夹。作为一个例子,我们来挂载根分区和启动分区:
    # mount /dev/hda9 /mnt/gentoo
    # mkdir /mnt/gentoo/boot
    # mount /dev/hda7 /mnt/gentoo/boot
    我们也需要挂载proc文件系统(一个和内核的虚拟接口)到/proc。我们首先创建挂载点/mnt/gentoo/proc,然后挂载上这个文件系统:
    # mkdir /mnt/gentoo/proc
    # mount -t proc none /mnt/gentoo/proc
    注释: 如果你要你的/tmp为一个单独的分区,确认在挂载后修改它的权限:chmod 1777 /mnt/gentoo/tmp。对于/var/tmp也应该如此。
    可用df -h 命令查看分区使用情况,发现win的C盘(/dev/hda1)已挂载到/mnt/cdrom。
    4、设置时间
    (1)、正确的设置日期/时间
    在继续之前,你需要检查和更新一下你的系统日期/时间。一个配置错误的时钟可能在将来导致很奇怪的结果。
    A、运行date确认一下当前时间:
    # date
    Wed Apr 5 16:21:18 CEST 2006
    如果日期/时间显示错误,使用date MMDDhhmmYYYY语句(M是月份,D是日期,m是分钟,Y是年份)更新它。比如说,设定时间为2004年4月25日16时21分:
    B、设定日期/时间
    # date 042516212004
    5、安装stage3包
    (1)、进入文件夹/mnt/gentoo
    # cd /mnt/gentoo
    (2)、解开stage包
    # tar -xvjpf /mnt/cdrom/stage3-i686-2006.0.tar.bz2
    stage安装完成。
    6、安装portage快照
    # tar -xvfj /mnt/cdrom/portage-20060403.tar.bz2 -C /mnt/gentoo/usr
    注:如果win的C盘没有自动挂载,需先把分区挂载到/mnt/cdrom目录。

    五、安装gentoo基本系统
    1、复制DNS信息
    在我们进入新的环境之前还有一件事清要做,那就是复制/etc/resolv.conf里的DNS信息。你需要做这一步以确保进入新的环境后网络仍然可以工作。/etc/resolve.conf里包含了你的网络所需的域名解析服务器(参数"-L"是必须的,确保不是复制一个符号链接过去)。
    # cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
    2、进入新的环境
    现在,所有的分区已经初始化过了,基本的环境也已经安装了,该到使用chrooting进入我们新安装的环境里了。这意味着我们从当前的安装环境(LiveCD的安装介质)转移到你的安装系统(也就是初始后的分区)。
    这个chrooting过程三步可以完成。首先,我们使用chroot将根目录从/(在安装介质上的)转移到/mnt/gentoo(你的分区上)。然后我们将使用env-update来创建一个新的环境,主要是创建环境变量。最后我们使用source将这些变量载入内存中。
    # chroot /mnt/gentoo /bin/bash
    # env-update
    * Caching service dependencies...
    # source /etc/profile
    恭喜!你现在已经进入你自己的Gentoo Linux环境里了。
    3、更新Portage快照
    从因特网上下载一个最近的Portage树
    (1)、安装Portage
    # emerge sync
    (2)、通过一个普通的HTTP协议下载和安装一个portage快照。
    # emerge-webrsync
    4、让emerge使用最快的gentoo镜像
    # emerge -av mirrorselect
    # mirrorselect -s3

    六、配置内核

    1、时区
    你首先需要选择你的时区,这样你的系统知道起所在位置。在/usr/share/zoneinfo里查看你的时区,然后使用ln做一个符号链接到/etc/localtime:
    # ls /usr/share/zoneinfo
    (假设你要使用Asia/shanghai)
    # ln -sf /usr/share/zoneinfo/Asia/shanghai /etc/localtime
    # nano -w /etc/conf.d/clock
    将clock设置为local
    2、安装源码
    (1)、选择一个内核
    各个发行版的核心部分就是linux内核。这是处于用户程序和系统硬件之间的一层。 Gentoo给其用户提供了几个可能的内核源码。你可以在Gentoo内核指南中得到一个全面的有关列表和描述。对于我们已有的x86架构的系统,在其他内核当中,vanilla-sources(linux内核开发者用作开发的默认内核源码)、gentoo-sources(带很多增强性能补丁的内核源码)、gentoo-dev-sources(带增强性能补丁和改进的2.6版本的内核源码)、xfs-sources(带最新XFS支持的内核源码)、 gs-sources(用作服务器的内核源码)、gaming-sources(优化改进游戏性能的内核源码)、development-sources (2.6版本的vanlla内核源码),……
    如果你使用的是对网络依赖很小的安装,你不可以选择所有的上述版本,因为我们只提供其中的一部分。如果是这种情况,你被限制而只能使用gentoo-sources、vanilla-sources、development-sources或 gentoo-dev-sources。
    (2)、用emerge安装一个内核源码
    # emerge gentoo-dev-sources
    当你到/usr/src里看一下,你应该可以看到一个叫做linux/的符号链接指向你的内核源码:
    # ls -l /usr/src/linux
    lrwxrwxrwx    1 root     root           12 Oct 13 11:04 /usr/src/linux -> linux-2.4.25-gentoo
    如果不是这样(比如,符号链接指向一个不同的内核源码),在继续之前改变这个符号链接:
    # rm /usr/src/linux
    # cd /usr/src
    # ln -s linux-2.4.25-gentoo linux
    (3)、使用genkernel来配置和编译你的内核源码
    既然你的内核源码树已经安装,可以用我们的genkernel脚本来为你自动编译一个内核。genkernel配置内核就同我们的LiveCD 内核的配置几乎一样。这意味着你使用genkernel来编译你的内核,你的系统将会在启动时检测出你所有的硬件,这就同LiveCD一样。因为 genkernel不需要任何内核手动配置,这对于一些不大适应编译自己内核的用户来说,是一个绝好的处理办法。
    A、安装genkernel:
    # emerge genkernel
    B、运行genkernel all来编译你的内核。这里我们要注意到,因为genkernel编译一个支持几乎所有硬件的内核,编译的完成将会占用很长的时间。
    注意:如果你的boot分区没有使用ext2或者ext3作为文件系统,你需要用genkernel --menuconfig all来手动配置你的内核,并在内核中加上你的文件系统的支持(不要编译为模块)。
    # genkernel all
    C、 一旦genkernel完成,一个模块很全的内核和一个initial root disk(initrd)将会被创建。我们将在文档后面的配置启动程序时使用这个内核和initrd。在写启动程序的配置文件时,就直接写下这个内核和 initrd的名字。initrd将会在机器启动后和“真实”系统启动前运行,执行硬件的自动检测(就同LiveCD一样)。
    # ls /boot/kernel* /boot/initrd*
    D、我们再来执行一个步骤--安装hotplug,使得我们的系统更像LiveCD。当initrd自动检测到系统启动需要的硬件时,hotplug会自动检测到其他所有的东西。安装和启用hotplug,输入以下命令:
    # emerge coldplug
    # rc-update add coldplug boot
    # rc-update add hotplug default
    (4)、 安装不同的内核模块
    配置模块。你应该在/etc/modules.autoload.d/kernel-2.6中列出你要自动加载的模块。如果你需要,也可以给这些模块添加额外的选项。
    A、查看所有已有的模块,可以运行下面的find命令。不要忘了将"<kernel version>"换成你刚编译的内核的版本:
    # find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
    B、比如,为自动加载3c59x.o模块,编辑kernel-2.4或者kernel-2.6文件,并输入模块的名字。
    编辑/etc/modules.autoload.d/kernel-2.6
    (2.6内核的例子)
    # nano -w /etc/modules.autoload.d/kernel-2.6
    代码: /etc/modules.autoload.d/ kernel-2.6
    3c59x
    C、现在运行modules-update来提交对/etc/modules.conf文件的修改:
    # modules-update

    七、配置系统
    1、文件系统信息fstab
    在Linux下,系统所要用的分区都必须列表于文件/etc/fstab中。这个文件包含了这些分区的挂载点(在系统目录树结构中的位置),挂载方法(特殊的选项)和挂载的时间(是否自动挂载,是否可以用户挂载等)。 etc.).
    (1)、创建/etc/fstab
    # nano -w /etc/fstab
    (2)、/etc/fstab的一个完整例子
    /dev/hda1   /boot     ext2    noauto,noatime    1 2
    /dev/hda2   none      swap    sw                0 0
    /dev/hda3   /         ext3    noatime           0 1
    none        /proc     proc    defaults          0 0
    none        /dev/shm tmpfs   defaults          0 0
    /dev/cdroms/cdrom0    /mnt/cdrom    auto      noauto,user    0 0
    none        /proc/bus/usb   usbfs         defaults      0 0
    重新看一下你的/etc/fstab,保存并退出,继续我们的安装。
    2、网络信息
    (1)、主机名、域名等
    用户的一个选择就是给他(她)的机器命名。这看起来很简单,但是很多的用户却有困难为它们的Linux机器找到一个很好的名字。为加快这个进度,你应该知道不管什么名字到以后都可以重新修改的。一般来说,你可以称你的机器为tux,域名为homenetwork。
    A、设定主机名:
    # echo tux > /etc/hostname
    B、设定域名:
    # echo homenetwork > /etc/dnsdomainname
    C、如果你有一个NIS域(如果你不知道这是什么,那你就没有),你也需要定义一个:
    # echo nis.homenetwork > /etc/nisdomainname
    D、现在添加domainname脚本到默认运行级别:
    # rc-update add domainname default
    (2)、配置你的网络
    现在你将准备为你的Gentoo系统永久的配置好网络。
    所有的网络信息可以在/etc/conf.d/net里收集到。
    A、首先打开文件/etc/conf.d/net:
    # nano -w /etc/conf.d/net
    B、你找到的第一个变量是iface_eth0,它使用如下语法:
    iface_eth0="<your ip address> broadcast <your broadcast address> netmask <your netmask>"
    如果你使用DHCP(自动获取IP),你应该设定iface_eth0为dhcp。如果你使用rp-pppoe(如用作ADSL拨号),设定其为up。如果你需要手动设置网络,而又对上述名词不熟悉,在没有完成这些之前请先阅读理解网络名词。
    这样我们给出三个例子;第一个例子使用DHCP,第二个使用静态IP(192.168.0.2)和网络掩码为255.255.255.0,broadcast为192.168.0.255和网关为192.168.0.1,第三个只是激活给rp-pppoe使用的接口:
    对于DHCP)
    iface_eth0="dhcp"
    (对于静态IP)
    iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0"
    gateway="eth0/192.168.0.1"
    我是adsl用户(对于rp-pppoe),所以是:
    iface_eth0="up"
    现在可以保存配置并退出,以继续下面的安装和配置。
    (3)、在启动时自动启用网络
    为在启动时激活网络接口,你必须添加这些到默认的运行级别。如果你有PCMCIA接口,你应该跳过这块儿,因为PCMCIA接口是由PCMCIA启动脚本启动。
    A、添加net.eth0到默认的运行级别
    # rc-update add net.eth0 default
    (4)、写下网络信息
    现在你需要告诉Linux有关你的网络。这个在/etc/hosts里定义并帮助将无法被你的域名解析服务器解析的主机名解析出IP地址。打比方说,如果你的内网由三台PC机组成:jenny(192.168.0.5)、benny(192.168.0.6)和tux(192.168.0.7,你的机器),你可以打开文件/etc/hosts并填入下列值:
    A、打开/etc/hosts
    # nano -w /etc/hosts
    B、填入网络信息
    127.0.0.1     localhost
    192.168.0.5   jenny.homenetwork jenny
    192.168.0.6   benny.homenetwork benny
    192.168.0.7   tux.homenetwork tux
    如果你的机器是单独的(或者域名解析服务器可以处理所有的域名解析),一行就足够了:
    单机或者全解析的机器的/etc/hosts
    127.0.0.1     localhost
    保存并退
    3、系统信息
    Gentoo使用/etc/rc.conf作为通用的系统范围的配置。打开/etc/rc.conf,然后好好看看这个文件里的注解:)
    # nano -w /etc/rc.conf
    我们完成配置/etc/rc.conf后,保存并退出编辑器,继续下面的过程。

    八、配置启动

    1、安装GRUB
    # emerge grub
    2、输入grub开始配置GRUB。你将会到一个grub>命令提示符下。现在,你需要输入正确的命令来安装GRUB启动记录到硬盘上。
    # grub
    (1)、把grub安装到硬盘的MBR
    grub> root (hd0,6)          (指出你的/boot分区的位置)
    grub> setup (hd0)           (安装GRUB到MBR)
    grub> quit                  (退出GRUB shell)
    注释: 如果你要安装GRUB到一个特定的分区,而不是MBR,你需要相对应的改变setup命令,使其指向正确的分区。比如说,如果你要安装GRUB到/dev/hda7,那么这个命令就变成setup (hd0,6),不过很少有用户需要这样做。
    (2)、虽然GRUB现在已经装上了,我们仍然需要给它写一份配置文件,这样GRUB会自动启动你最新建的内核。用nano(如果可以,也可用其他的编辑器)创建文件/boot/grub/grub.conf:
    # nano -w /boot/grub/grub.conf
    适用于genkernel用户的grub.conf
    default 0
    timeout 10
    splashimage=(hd0,6)/grub/splash.xpm.gz
    title=Gentoo Linux 2.6.16
    root (hd0,8)
    kernel /kernel-2.6.16-gentoo root=/dev/ram0 init=/linuxrc real_root=/dev/hda9
    initrd /initrd-2.6.16-gentoo
    # 用于双启动
    title=Windows 2003
    root (hd0,0)
    chainloader +1
    genkernel用户应该只到他们的内核使用同LiveCD一样的启动选项。比如说,如果你有SCSI设备,你应该添加doscsi内核选项。
    现在保存grub.conf文件并退出。到目前为止,GRUB已经全面的配置完毕。
    3、从windows启动
    (1)、把grub装到启动分区
    grub> root (hd0,6)
    grub> setup (hd0,6)
    grub> quit
    (2)、把boot分区的第一扇区写到文件bootsect.lnx
    # dd if=/dev/hda7 of=bootsect.lnx bs=512 count=1
    (3)、拷贝bootsect.lnx到windows启动分区根目录
    # mount -t vfat /dev/hda1 /mnt
    # cp bootsect.lnx /mnt/bootsect.lnx
    (4)、进入windows,编辑C盘根目录下的文件boot.ini添加一项
    C:\bootsect.lnx="Gentoo linux"

    九、安装必须的系统工具

    1、系统日志工具
    Gentoo提供了几个系统日志工具供你选择。这里有sysklogd(传统的系统日志伺服器)、syslog-ng(一个高级的系统日志工具)、metalog(一个可以高度配置的系统日志工具)。其他的也可能通过Portage得到,我们的软件包几乎每天都会有所增加,如果你不知道选哪个,就使用syslog-ng,因为这个很强大,并且自带非常好的默认设置。
    # emerge syslog-ng
    # rc-update add syslog-ng default
    2、 文件系统工具
    根据你使用的文件系统,你需要安装一个必须的文件系统工具(检测文件系统的完整性,创建额外的文件系统等)。
    文件系统     工具                  安装命令
    ReiserFS     reiserfsprogs         emerge reiserfsprogs
    3、网络工具
    如果你要使用rp-pppoe连接到因特网,你需要安装它。
    安装rp-pppoe
    # USE="-X" emerge rp-pppoe
    使用USE="-x"将会阻止因为依赖性(rp-pppoe有一个可视化工具;如果你需要这些,你可以稍后在XFree安装后重新编译rp-pppoe,而安装和编译XFree将会花掉很长的时间)而安装XFree。
    安装dhcpcd
    # emerge -av dhcpcd
    4、安装文件检索工具
    # emerge -av slocate

    十、完成Gentoo的安装
    1、用户管理
    (1)、设定超级用户的密码
    在你忘记之前,输入以下命令设定超级用户密码:
    # passwd
    如果你需要超级用户能够通过串行终端登录,添加tts/0到文件/etc/securetty:
    添加tts/0到/etc/securetty
    # echo "tts/0" >> /etc/securetty
    (2)、给日常使用添加一个普通用户
    在一个Unix/Linux系统上以超级用户身份工作是危险的和应该尽量避免的。因此,强烈推荐给日常使用添加一个用户。
    比如,创建一个属于wheel组(可以通过命令su切换到超级用户)、users组(所有用户的默认组)和audio组(可以使用音频设备)的名为john的用户:
    # useradd john -m -G users,wheel,audio -s /bin/bash
    # passwd john
    Password: (给john设定密码)
    Re-enter password: (重新输入密码以确认)
    如果一个用户需要以超级用户身份做某项工作,他们可以通过使用su -来暂时获得超级用户权限。另一个方法是使用sudo软件包,如果配置准确,也是很安全的一种方法。
    2、重启和享受你的新系统
    祝贺你!你的Gentoo系统已经可以使用。退出chroot的环境,并卸载所有已挂载的分区。然后输入一条你期盼已久的神奇的命令:reboot。
    # exit
    # cd /
    # umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
    # reboot
    祝贺你,你的系统已经完全装备好了。
  • 2008-04-21

    Varnish - [技术文档]

    Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang  使用3台Varnish代替了原来的12台Squid,性能比以前更好。

    Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。

    Varnish的理念是好的,但是Varnish还没有稳定到可以完全替代Squid的程度,现在就抛弃Squid选择Varnish是不明智的。