zoukankan      html  css  js  c++  java
  • CentOS6.x定制~修改"CentOS"字样

    1.修改系统登录前显示信息:

    修改方法:

    编辑/etc/issue文件:

    [root@CentOS ~]# vi /etc/issue

    CentOS release 6.4 (Final)

    Kernel on an m


    内容可以自定义修改如:

    [root@CentOS ~]# vi /etc/issue

    Myiaas OS release 3.0

    Please login as admin

    d


    显示效果:

    相关参数说明:

    b   插入当前行的波特率

    d   插入当前日期

    s   插入操作系统的名称

    l   插入当前tty的名称

    m   插入计算机的体系结构id,如x86_64

    n   插入计算机的节点名,即hostname

    o   插入计算机的域名

    r   插入内核的版本

    t   插入当前时间

    u   插入当前登陆的用户数

    U   插入1 user 或者 N users,N是当前登陆的用户数

    v   插入当前操作系统的版本

    参考配置脚本:

    #!/bin/bash

    echo -n "" > /etc/issue

    cat >> /etc/issue << EOF

    Myiaas OS release 3.0

    Please login as admin

    d


    EOF


    2.修改开机启动时候CentOS字样:

    修改方法:

    (1).编辑/etc/redhat-release

    [root@CentOS ~]# vi /etc/redhat-release 

    CentOS release 6.4 (Final)

    将内容修改Myiaas OS release 3.0:

    [root@CentOS ~]# cat /etc/redhat-release 

    Myiaas OS release 3.0

    参考配置脚本:

    #!/bin/bash

    echo -n "" > /etc/system-release

    cat >> /etc/system-release << EOF

    Myiaas OS release 3.0

    EOF


    (2).编辑/etc/rc.d/rc.sysinit

    大约在106行左右:

    elif [[ "$system_release" =~ "CentOS" ]]; then

     [ "$BOOTUP" = "color" ] && echo -en "\033[0;36m"

     echo -en "CentOS"

     [ "$BOOTUP" = "color" ] && echo -en "\033[0;39m"

     PRODUCT=$(sed "s/CentOS (.*) ?release.*/1/" /etc/system-release)

     echo " $PRODUCT"

    将"CentOS"字样全部替换为"Myiaas":

    elif [[ "$system_release" =~ "Myiaas" ]]; then

     [ "$BOOTUP" = "color" ] && echo -en "\033[0;36m"

     echo -en "Myiaas"

     [ "$BOOTUP" = "color" ] && echo -en "\033[0;39m"

     PRODUCT=$(sed "s/Myiaas (.*) ?release.*/1/" /etc/system-release)

     echo " $PRODUCT"

    保存退出;

    参考配置脚本:

    sed -i "s/CentOS/Myiaas/" /etc/rc.d/rc.sysinit

    显示效果:


    3.修改CentOS安装选项的背景图片:

    修改方法:

    替换镜像中的isolinux/splash.jpg图片文件即可。

    4.修改CentOS安装过程中的CentOS文字显示:

    修改方法:

    (1).安装xz用于解压initrd.img镜像:

    # yum -y install xz

    (2).创建initrddir文件夹,将镜像目录的isolinux/initrd.img文件拷贝到initrddir文件夹中:

    # mkdir initrddir

    # cp -av /data/OS/isolinux/initrd.img ~/initrddir/

    # cd ~/initrddir

    # ls

    initrd.img

    (3).解压initrd.img文件

    # xz -dc initrd.img | cpio -id

    (4).修改.buildstamp文件

    # vi .buildstamp

    201303020151.x86_64

    CentOS

    6.4

    FINAL=YES

    http://bug.centos.org/

    将内容改为:

    201303020151.x86_64

    Myiaas

    3.0

    FINAL=YES

    http://www.chensh.net/

    保存退出;

    (5).initrd.img打包压缩

    cd到initrddir文件夹执行如下操作:

    # find . | cpio -c -o | xz -6 --format=lzma > ../initrd.img

    (6).将镜像目录下的isolinux/initrd.img替换成新打包的initrd.img文件

    # cd ~/

    # cp -av initrd.img /data/OS/isolinux/

    5.修改CentOS安装过程中的背景图片:

    (1).安装squashfs-tools工具

    # yum -y install squashfs-tools

    (2).创建installold文件夹,将镜像目录的images/install.img文件拷贝到installold文件夹中:

    # mkdir installold

    # cp -av /data/OS/image/install.img ~/installold/

    # cd ~/installold

    # ls

    install.img

    (3).打开install.img文件:

    # mkdir /mnt/install

    # mount -o loop -t squashfs ~/installold/install.img /mnt/install

    # ls /mnt/install/

    etc  firmware  lib  lib64  modules  proc  usr  var

    # cp -av /mnt/install ~/installnew

    (4).替换图形安装过程中的背景图片

    # cd installnew/usr/share/anaconda/pixmaps/

    # ls

    about-to-install.png  gnome-lock.png         partscheme-freespace.png   splash.png

    anaconda_header.png   gnome-mouse.png        partscheme-replace.png     syslinux-splash.png

    checkMark.png         install.png            partscheme-shrink.png      upgrade.png

    config-language.png   network.png            progress_first-lowres.png  

    done.png              partscheme-all.png     progress_first.png

    filter-menu.png       partscheme-custom.png  root-password.png

    (5).install.img打包压缩

    # cd ~/

    # mksquashfs installnew install.img

    (6).将镜像目录下的image/install.img替换成新打包的install.img文件

    # cp -av install.img /data/OS/image/

    6.修改isolinux.cfg 内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    default vesamenu.c32
    #prompt 1
    timeout 600
       
    display boot.msg
       
    menu background splash.jpg
    menu title Welcome to Myiaas 3.0 !
    menu color border 0 #ffffffff #00000000
    menu color sel 7 #ffffffff #ff000000
    menu color title 0 #ffffffff #00000000
    menu color tabmsg 0 #ffffffff #00000000
    menu color unsel 0 #ffffffff #00000000
    menu color hotsel 0 #ff000000 #ffffffff
    menu color hotkey 7 #ffffffff #ff000000
    menu color scrollbar 0 #ffffffff #00000000
       
    label local
      menu label ^[A] Boot from local drive
      localboot 0xffff
    label Myiaas OS 3.0
      menu label ^[B] Install Myiaas OS 3.0 system
      kernel vmlinuz
      append test ks=cdrom:/isolinux/myiaas/ks/myiaas.cfg initrd=initrd.img

    7.系统登录后增加监控显示:

    (1).修改.bashrc文件,增加两行红色字体内容:

    # .bashrc


    # User specific aliases and functions


    alias rm='rm -i'

    alias cp='cp -i'

    alias mv='mv -i'

    [ -z "$PS1" ] && return

    . ~/.monitor

    # Source global definitions

    if [ -f /etc/bashrc ]; then

            . /etc/bashrc

    fi

    (2).在家目录下创建.monitor文件,内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    #!/bin/bash
    #By chensh at 140109
    #Email:myiaas@126.com
       
    echo "**************************************"
    echo "Welcome $USER To Login To This Server!"
       
    LoginUserNum=`who | wc -l`
    OpenProcesNum=$(expr $(ps aux | wc -l) - 1)
       
    ProductName=`sudo dmidecode -t 1 |grep "Product Name"`
    SerialNumber=`sudo dmidecode -t 1 |grep "Serial Number"`
       
    CPUType=`sudo dmidecode -t 4 |grep "Version" | cut -d ":" -f2 | awk 'NR==1{print}' | tr -d ' '`
    CPUSlot=`sudo dmidecode -t 4 |grep "Version" | grep -v "Not Specified" | cut -d ":" -f2 | wc -l`
    CPUprocessor=`cat /proc/cpuinfo |grep processor | wc -l`
    CPUload=`top -b -n 2 | grep "Cpu(s)" | awk 'NR==2{print}' | awk '{print $2}' | cut -d "u" -f1`
       
    MemSize=`sudo dmidecode -t 17 | grep -v "No Module Installed" | grep Size | cut -d " " -f2 | awk 'NR==1{print}'`
    MemNUM=`sudo dmidecode -t 17 | grep -v "No Module Installed" | grep Size | cut -d " " -f2 | wc -l`
    HWMem=`expr $MemSize * $MemNUM / 1024`G
       
    Disk=`lsblk | grep disk | awk '{print $4}'`
    UsedDisk=`df -h  | grep srv | awk '{print $5}'`
       
    TotalMem=`free -m | grep Mem: | awk '{print $2}'`
    UsedMem=`free -m | grep Mem: | awk '{print $3}'`
    Memload=`awk 'BEGIN{printf "%.2f% ",('$UsedMem'/'$TotalMem')*100}'`
       
    TotalVM=`sudo virsh list --all | grep one | wc -l`
    RunningVM=`sudo virsh list --all | grep one |grep running | wc -l`
    CloseVM=`sudo virsh list --all | grep one |grep -v running | wc -l`
       
       
    echo "******************************************************************"
    echo "$ProductName $SerialNumber"
    echo "************************************************************************************************************************"
    echo "1.Hardware Information:"
    printf '%36s%20s%20s%20s%20s ' CPU_Type CPU_Slot Processor Memory Storage
    printf '%36s%20s%20s%20s%20s ' "$CPUType" $CPUSlot $CPUprocessor $HWMem $Disk
       
    echo "******************************************************************"
    echo "2.Resource utilization:"
    printf '%20s%20s%20s ' CPU Memory VMStorage
    printf '%20s%20s%20s ' $CPUload $Memload $UsedDisk
       
    echo "******************************************************************"
    echo "3.System Information:"
    printf '%20s%20s%20s ' Login_User process_Number
    printf '%20s%20s%20s ' $LoginUserNum $OpenProcesNum
       
    echo "******************************************************************"
    echo "4.Virtual Machine Information:"
    printf '%20s%20s%20s ' Total Running Close
    printf '%20s%20s%20s ' $TotalVM $RunningVM $CloseVM
    8.Kickstat举例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    ##########################################################################
    #
    # kickstart install script by chensh
    # Email myiaas@126.com
    # www.chensh.net
    # Platform=x86, AMD64, or Intel EM64T
    #
    ##########################################################################
      
    # version=DEVEL
    # Install OS instead of upgrade
    install
    # Local installation Use CDROM installation media
    cdrom
    # System language
    lang en_US.UTF-8
    # System keyboard
    keyboard us
    # Use text mode install
    text
    # Network information
    network --onboot no --bootproto dhcp --hostname=Myiaas --noipv6
    #Root password
    rootpw  chensh
    # Firewall configuration
    firewall --disabled
    # System authorization information
    authconfig --enableshadow --passalgo=sha512
    # do not configure X Windows
    skipx
    # SELinux configuration
    selinux --disabled
    # System timezone
    timezone --utc Asia/Shanghai
    # System bootloader configuration
    bootloader --location=mbr
    # Partition clearing information
    #clearpart --all --initlabel
    # Disk partitioning information
    part /boot --fstype=ext4 --size=100
    part / --fstype=ext4 --size=10240
    part swap --size=2048
    part /srv --fstype=ext4 --grow --size=200
      
    repo --name="CentOS"  --baseurl=file:///mnt/source --cost=100
      
    reboot
      
    %pre
    /usr/sbin/parted -s `fdisk -l | grep -w "Disk /dev" | awk '{print $2}' | awk 'NR==1' | sed 's#:##g'` mklabel gpt
      
    # This packages is for Myiaas OS
    %packages --nobase
    @core
    kvm
    libvirt
    ruby
      
    %post --nochroot
    # mkdir -p /mnt/sysimage/tmp/ >> /tmp/ins.log 2>&1
    cp -av /mnt/source/isolinux/ezcloud/scripts/myiaas.sh /mnt/sysimage/tmp/  >> /tmp/ins.log 2>&1
      
    %post
    chmod 755 /tmp/myiaas.sh  >> /tmp/ins.log 2>&1
    sh /tmp/myiaas.sh  >> /tmp/ins.log 2>&1
      
    #-------------Closed virbr0 interface-----------------------
    virsh net-destroy default  >> /tmp/ins.log 2>&1
    virsh net-undefine default  >> /tmp/ins.log 2>&1
    %end

    关于anaconda具有很高学习价值的两篇文章:

    http://blog.csdn.net/woods2001/article/details/7297195

    http://blog.csdn.net/woods2001/article/details/7297197


  • 相关阅读:
    程序员常用英语词汇
    声明式编程与命令式编程
    vue 常用ui组件库
    Vue 组件之间传值
    vscode插件之背景插件(background)
    iconfont的使用
    CSS3 @font-face 规则
    CSS抗锯齿 font-smoothing 属性介绍
    new Image 读取宽高为0——onload
    js的for循环中出现异步函数,回调引用的循环值始终是最后的值
  • 原文地址:https://www.cnblogs.com/myiaas/p/4161333.html
Copyright © 2011-2022 走看看