您的位置:首页 > 运维架构 > Linux

linux系统组成之小型RedHat little linux制作三

2013-03-31 23:00 477 查看
本文中接“linux系统组成之小型RedHat little linux制作二”1、在rc0、3、6.d内增加相关的连接
  mkdir rc3.d

  cd rc3.d

  ln -sv ../init.d/tserver S66tserver

  cd rc0.d

  ln -sv ../init.d/tserver K33tserver

  cd rc6.d

  ln -sv ../init.d/tserver K33tserver

  修改inittab

  id:3:initdefault:

  si::sysinit:/etc/rc.d/rc.sysinit

  l0:0:wait:/etc/rc.d/rc 0

  l3:3:wait:/etc/rc.d/rc 3

  l6:6:wait:/etc/rc.d/rc 6

  1:2345:respawn:/sbin/mingetty --loginprog=/bin/bash tty1

  2:2345:respawn:/sbin/mingetty --loginprog=/bin/bash tty2

  loginprog运行依赖/bin/sh.把bin下的bash连接为sh即可实现

  修改rc.d/rc.sysinit为

  #!/bin/bash

  #

  echo "welecome chris little linux"
2、增加主机名显示
None--代表没有主机名:

mkdir -p etc/sysconfig/network

vim nerwork增加

HOSTNAME=chris.linux

新增etc/fstab文件并配置

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/hda1               /boot                   ext3    defaults        0 0

/dev/hda2               /                       ext3    defaults        1 1

让其以读写的方式重新挂载根系统并增加主机名vim inittab

#!/bin/bash

#

echo "welecome chris little linux"

mount -n -o remount:rw /

echo "set the hsotname"

[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network

[ -z $HOSTNAME -o "$HSOTNAME" == '(none)' ] && HOSTNAME=localhost

/bin/hostname $HOSTNAME


测试如下:


开启虚拟终端:
由于mingetty需要用户登陆,下面利用agetty来进行登陆验证利用脚步addshell移植agetty命令
修改inittab文件

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l3:3:wait:/etc/rc.d/rc 3

l6:6:wait:/etc/rc.d/rc 6

1:2345:respawn:/sbin/agetty -n -l /bin/bash 38400 tty1

2:2345:respawn:/sbin/agetty -n -l /bin/bash 38400 tty2


Tty 1终端



Tty 2终端




5、定义系统启动过程中显示的服务启动信息的脚本function

#!/bin/bash

#

SCREEN=`stty -F /dev/console size 2>/dev/null`

COLUN=${SCREEN#* }

[ -z $COLUN ] && COLUN=80

SPA_COL=$[$COLUN-14]

RED='\033[31m'

GREEN='\033[32m'

YELLOW='\033[33m'

BLUE='\033[34m'

RONMAL='\033[0m'

success() {

string=$1

RT_SPA=$[$SPA_COL-${#string}]

echo -n "$string"

for I in `seq 1 $RT_SPA`; do

echo -n " "

done

echo -e "[   ${GREEN}OK${RONMAL}   ]"

}

failure() {

string=$1

RT_SPA=$[$SPA_COL-${#string}]

echo -n "$string"

for I in `seq 1 $RT_SPA`; do

echo -n " "

done

echo -e "[ ${RED}FAILED${RONMAL} ]"

}
然后在tserver等服务脚本内调用function脚本,即可实现显示服务启动的信息等。
#!/bin/bash

#

# chkconfig: 35 55 44

# description: chris service

#

. /etc/rc.d/init.d/functions

FILE=/var/lock/subsys/`basename $0`

prog=`basename $0`

start() {

echo "starting `basename $0`..."

touch $FILE

[ $? -eq 0 ] && success "Starting $prog" || failure "Starting $prog"

}

stop() {

echo "stopping `basename $0`..."

rm -rf $FILE

[ $? -eq 0 ] && success "Stopping $prog" || failure "Stopping $prog"

}

status() {

if [ -e $FILE ]; then

echo "Running.."

else

echo "stopping..."

fi

}

usage() {

echo "please insernt like start|stop|restart|status"

}

case $1 in

start)

start ;;

stop)

stop ;;

restart)

stop

start

;;

status)

status

;;

*)

usage

exit 1

;;

esac

6、为小系统增加网功能(网卡驱动)
虚拟机的网卡pcnet32的。先查找其驱动模块/pcnet32.ko,而且有依赖于mii.ko模块。移植驱动模块
mkdir -p /lib/modules
cd /lib/modules
modinfo pcnet32
cp /lib/modules/2.6.18-308.el5/kernel/drivers/net/pcnet32.ko modules/
modinfo mii
cp /lib/modules/2.6.18-308.el5/kernel/drivers/net/mii.ko modules/
配置rc.d/rc.sysinit文件
#!/bin/bash
#
echo "welecome chris little linux"
mount -n -o remount,rw /

echo "set the hsotname"
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
[ -z $HOSTNAME -o "$HSOTNAME" == '(none)' ] && HOSTNAME=localhost
/bin/hostname $HOSTNAME
echo "insmod pcnet32 mode"
/sbin/insmod /lib/modules/mii.ko
/sbin/inmod /lib/modules/pcnet32.ko
增加网卡配置文件etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=172.16.7.4
NETMASK=255.255.0.0
GATEWAY=172.16.7.1
ONBOOT=yes
添加必须的配置
配置etc/init.d/network

#!/bin/bash

#

# chkconfig: 35 09 90

# description:network servce

. /etc/rc.d/init.d/functions

CONF=/etc/sysconfig/network-scripts/ifcfg-eth0

. $CONF

start () {

NETMASK=16

ifconfig eth0 $IPADDR/$NETMASK up

[ -z $GATEWAY ] && route add default gw $GATEWAY

}

stop() {

ifconfig eth0 down

}

status () {

ifconfig eth0

}

usage() {

ehco "like start,stop,restart"

}

case $1 in

start)

start

success "config network eth0 "

;;

stop)

stop

success "stop network eth0"

;;

restart)

stop

Start

success "restart network eth0"

;;

status)

status

;;

*)

usage

;;

esac
在rc.d下创建连接
rc0.d rc3.d rc6.dcd rc0.d/ln -sv ../init.d/network K90networkcd rc6.d/ln -sv ../init.d/network K90networkcd rc3.d/ln -sv ../init.d/network S09network配置测序效果如下







下文接“linux系统组成之小型RedHat little linux制作四”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redhat linux 微型linux