• 2004-06-12

    纳闷 - [谈生活]

    今天是纳闷的一天。
    早上考试的时候忘记了填答题卡,最后填上去的只有一半。看来只有等明年再考英文了。[face18]
    由于上个星期到了河源和厦门,所以晚上连到公司想把上个星期没有写完的脚本写完。谁知道不知写错了什么地方,搞到整个系统的文件和设备文件都被我删掉!一个多星期的努力就此化为乌有了。[face15]

  • 一、拨号设置。

    1、运行adsl-setup输入你的拨号信息和dns等。

    2、将默认网关改为无。
    即将/etc/sysconfig/network中的gatewat项清空。

    3、保持adsl的连接,不然会隔几十秒就会自动停掉:
    vi /etc/sysconfig/network-scripts/ifcfg-ppp0
    把PPPOE-TIMEOUT=*和CONNECT-TIMEOUT=*的值都改成0。

    二、拨号
    拨号有两个命令可以实现
    1、adsl-start 如果设置了多个adsl账号,可以在后面加上其名字。
    如adsl-start ifcfg-ppp0

    2、ifup ppp0
    个人感觉第二种的拨号速度快点。

    三、防火墙设置
    主要是两个地方
    1、开放ip转发:
    echo 1 > /proc/sys/net/ipv4/ip_forward

    2、开放nat:
    iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE

    四、检查配置
    1、使用ifup ppp0拨号,然后ifconfig看看是否有ppp0。

    2、route或netstat -r看看默认路由是否有错,ping dns server看看能否出去外网。

    3、在client端设置默认网关为eth0或eth1的ip。ping dns server看看能否出去外网。

    如果上述一切正常即可!
    [face01]
  • 今天在帮某事业单位在redhat9中安装oracle9i,发现原来与在redhat7.3中安装有所不同,折腾了一整天终于装好。

    在redhat9中安装oracle9i有几个地方要注意:

    1、默认下使用oracle用户不能打开oracle的安装界面。即是说运行“runInstall”时会有“java。。。。”之类的错误出现。
    这个错误搞了我很久,一直想不明白。后来用oracle用户运行xhost命令,发现出现“connect :0.0 refuse”等错误信息才明白是xhost不能连接的关系。
    解决方法:
    使用root用户,运行“xhost +主机名”(注意:要有加号),再su - oracle后运行“runInstall”即可弹出安装界面。

    2、出现"Error in invoking target install of make file /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk"错误。

    这是由于glibc库不兼容。
    使用
    $ rpm -q glibc-2.3.2-5 glibc-common-2.3.2-5 glibc-devel-2.3.2-5检测是否安装的glibc。
    返回
    package glibc-2.3.2-5 is not installed
    package glibc-common-2.3.2-5 is not installed
    package glibc-devel-2.3.2-5 is not installed
    表明没有安装。
    一般redhat9安装的是2.3.2-11.9的版本,我们要先把他们卸载了:
    # rpm -e glibc-debug glibc-utils nptl-devel

    然后安装2.3.2-5的版本:
    # rpm -Uvh --oldpackage glibc-2.3.2-5.i686.rpm glibc-common-2.3.2-5.i386.rpm glibc-devel-2.3.2-5.i386.rpm

    2.3.2-5的版本可以在此下载:
    glibc-2.3.2-5版本

    这样就可以解决该错误,但记得装完oracle后把2.3.2-11.9的版本再装回来。[face21]

    其它的安装过程可以参照我的另一篇安装文档:
    oracle 9i 安装for linux[face10]
  • 家里有一台主机打算用来作网关,但又不想为其配显示器,使用ssh又有很大局限,于是便想到了用serial口控制该网关。
    使用串口管理比起ssh来说有几个好处:
    第一,不需ip,即网络断掉或服务停了也可以进行管理。
    第二,可以显示linux开机时的信息,让我们可以知道能力出了错。
    第三,一个串口只能登陆一个用户,可以在无干扰下进行工作。

    当然,我并不是说ssh不好,只不过对于一台就在身旁的机器来说,使用串口是方便一点的!

    好了,闲话少说:
    第一步:让串口可以登陆。
    在/etc/inittab中的
    "# Run gettys in standard runlevels"项加上
    "co:2345:respawn:/sbin/agetty ttyS0 9600 vt100"一行。
    目的是能开放一个ttyS0,让其能登陆本机。

    第二步:让root可以在串口登陆。
    在/etc/securetty的末尾加上"ttyS0"。
    这样就可以让root通过串口登陆。

    第三步:让串口显示开机信息。
    如果是用lilo的话,在/etc/lilo.conf中加入:
    serial=1,9600n8
    append="console=ttyS0,9600"
    两句。这样,在开机的时候,开机的信息就会定向到串口中来。
    如果是用grub,那我这里有一个示例:

  • 1、finding module denpendeneies

    就是检测模块依赖关系之意,一般在第一次运行系统中有用。但在开机的时候发现就是这个检测占用的时间最多,为了让开机速度更快,我们可以将其停用:

    在命令窗口输入以下命令:
    代码:
  • 我们在安装新内核的时候,通常都会编辑lilo.conf 和grub.conf 文件。里面有一段“initrd=/boot/initrd-***.img”(其中的***表示内核的版本号)的我们都很少会注意到,有时候还会发现这一行不要也可以正常开机。那这个initrd***.img究竟是用来干什么的呢?

    其实initrd***.img是一个镜像文件,类似ramdisk,把一段程序打包到img里,然后在开机的时候在内存里开辟一段区域,一般是2m,释放到那里运行,都是一些初始化的程序,比如sisc_mod、ext3、sd_mod等模块和insmod、nash等命令。不同内核,初始化的img可以相同,也可以不同,如果没有,可以在grub.conf里加上no initrd,它就跳过initrd的检测和执行了,以前好像就没有,后来才有的。

    它的作用是在没有mount /分区以前,系统要执行一些操作,比如挂载scsi驱动,它就把initrd释放到内存里,作一个虚拟的/,然后执行其根目录下的一个脚本"linuxrc",运行insmod和nash命令挂装模块。为什么有的时候我们在lilo或grub的配置文件中不加入该行都可以正常开机呢?这是因为我们一般的PC机都没有使用scsi硬盘等需要先加载其驱动的设备,所以就算没有initrd***.img也可以正常开机。但是如果我们要在服务器上为其编译新内核那就一定不要忘记也为其新建一个initrd文件呀!

    好,下面来看看如何查看initrd***.img里面的内容和如何为你的新内核创建一个新的initrd.img文件。

    查看initrd.img:
    initrd***.img虽然后缀是“img”,但其实它是一个gz格式的文件,我们可以先把它解压,然后载挂装到目录下:

    1、cp initrd.img initrd.gz
    2、guzip initrd.gz
    3、mount -o loop initrd /mnt/floppy

    进入/mnt/floppy目录,我们就可以看到initrd***.img文件的庐山真面目了。



    制作initrd文件

    当我们编译了一个新的内核,也不要忘了为我们的scsi设备做一个新的initrd镜像:

    语法:
    mkinitrd 文件名 内核的目录名

    示例:
    mkinitrd initrd-2.4.19.img 2.4.19

    initrd-2.4.19.img文件是自己任意取的,但最好对应自己的内核版本号。
    2.4.19是在/lib/modules中的目录名,对应内核的版本。

    当然,我们也可以在挂装了initrd***.img文件后直接添加模块到/lib目录中,然后修改linuxrc脚本让其开机进行挂装。但必须具备一定的shell脚本的能力才行。