国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

    linux系統(tǒng)怎么制作

    時(shí)間: 春健736 分享

      Linux這個(gè)詞本身只表示Linux內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。那么你知道linux系統(tǒng)怎么制作嗎?小編帶來(lái)了linux系統(tǒng)制作的具體操作過(guò)程,下面大家跟著學(xué)習(xí)啦小編一起來(lái)學(xué)習(xí)一下吧。

      linux系統(tǒng)制作方法

      1. CentOS定制

      1.1 光盤(pán)結(jié)構(gòu)介紹

      *isolinux 目錄存放光盤(pán)啟動(dòng)時(shí)的安裝界面信息

      *images 目錄包括了必要的啟動(dòng)映像文件

      *CentOS 目錄存放安裝軟件包及信息

      *.discinfo 文件是安裝價(jià)質(zhì)的識(shí)別信息

      *lemp.tar.gz 文件存放系統(tǒng)初始化及其相關(guān)程序安裝腳本.

      環(huán)境說(shuō)明:

      CentOS-5.5-i386-bin-DVD.iso.

      VMware

      1.2 在VM安裝linux系統(tǒng)

      安裝anaconda repodata createrepo mkisofs ,關(guān)聯(lián)太多采用yum安裝//定制過(guò)程需要產(chǎn)生comps.xml文件以及生成iso

      yum -y install anaconda repodata createrepo mkisofs#安裝制作發(fā)行版所需的基本軟件包

      yum -y install anaconda-runtime createrepo yum-utils anacondaanaconda-help busybox-anaconda mkisofs

      1.3 生成packages.list

      生成packages.list 所安裝的RPM包文件清單(由于install.log文件在root目錄,所以該操作在root目錄進(jìn)行)

      cat install.log | grep Installing | sed 's/Installing //g' > /root/packages.list #生成后,需要仔細(xì)看該文件,一般會(huì)在某些文件開(kāi)始部分如“1:”這樣的字符,需要?jiǎng)h除這些字符,否在后面執(zhí)行copy動(dòng)作會(huì)報(bào)錯(cuò),注意引項(xiàng)為英文版Shell

      cat install.log | grep 安裝 | sed 's/安裝 //g' > /root/packages.list #同上,中文版Shell

      刪除1:的命令:

      sed 's/[0-9]\{1,\}://g' packages.list > packagesnew.list

      1.4 建立定制Centos的源目錄

      mkdir /disk #定制時(shí)要復(fù)制RPM包的目錄

      mkdir /mnt/cdrom #加載光驅(qū)目錄

      mount -o loop /dev/cdrom /mnt/cdrom #將光盤(pán)內(nèi)容加載到/mnt/cdrom中

      cd /mnt/cdrom/ #復(fù)制光盤(pán)內(nèi)容到disk文件下,或者

      tar -cf - . | ( cd /disk ; tar -xvpf - )

      不能使用普通的復(fù)制,因?yàn)槠胀ǖ膹?fù)制不能復(fù)制隱藏文件

      rm -rf /disk/CentOS/ #先刪除所有RPM包

      mkdir /disk/CentOS/ #創(chuàng)建RPM包存放目錄

      1.5 通過(guò)腳本復(fù)制系統(tǒng)安裝的包;

      #!/bin/bash

      DEBUG=0

      DVD_CD=/disk/CentOS

      ALL_RPMS_DIR=/mnt/cdrom/CentOS/

      DVD_RPMS_DIR=$DVD_CD

      packages_list=/root/packages.list

      number_of_packages=`cat $packages_list | wc -l`

      i=1

      while [ $i -le $number_of_packages ] ; do

      line=`head -n $i $packages_list | tail -n -1`

      name=`echo $line | awk '{print class="main">

    linux系統(tǒng)怎么制作

    時(shí)間: 春健736 分享

      version=`echo $line | awk '{print }' | cut -f 2 -d :`

      if [ $DEBUG -eq "1" ] ; then

      echo $i: $line

      echo $name

      echo $version

      fi

      if [ $DEBUG -eq "1" ] ; then

      ls $ALL_RPMS_DIR/$name-$version*

      if [ $? -ne 0 ] ; then

      echo "cp $ALL_RPMS_DIR/$name$version* "

      fi

      else

      echo "cp $ALL_RPMS_DIR/$name-$version* $DVD_RPMS_DIR/"

      cp $ALL_RPMS_DIR/$name$version* $DVD_RPMS_DIR/

      # in case the copy failed

      if [ $? -ne 0 ] ; then

      echo "cp $ALL_RPMS_DIR/$name$version* "

      cp $ALL_RPMS_DIR/$name* $DVD_RPMS_DIR/

      fi

      fi

      i=`expr $i + 1`

      done

      將以上內(nèi)容保存為copyrpms.sh

      chmod 775 copyrpms.sh

      ./copyrpms.sh

      經(jīng)過(guò)一系列的復(fù)制就完成了你要定制的RPM包(在/disk/CentOS/目錄下);

      1.6 檢查包的依賴性

      # mkdir /tmp/testdb

      # rpm --initdb --dbpath /tmp/testdb

      # rpm --test --dbpath /tmp/testdb -Uvh *.rpm

      1.7 定制安裝控制文件ks.cfg

      一般方便可以直接由root下面的anaconda-ks.cfg修改

      cp anaconda-ks.cfg /disk/ks.cfg

      樣例內(nèi)容如:

      # Kickstart file automatically generated by anaconda.

      install

      cdrom

      lang en_US.UTF-8

      keyboard us

      network --device eth0 --bootproto dhcp

      firewall --disabled

      authconfig --enableshadow --enablemd5

      selinux --disabled

      timezone --utc Asia/Shanghai

      bootloader --location=mbr --driveorder=sda

      # The following is the partition information you requested

      # Note that any partitions you deleted are not expressed

      # here so unless you clear all partitions first, this is

      # not guaranteed to work

      #clearpart --linux --drives=sda

      #part /boot --fstype ext3 --size=100 --ondisk=sda

      #part pv.6 --size=0 --grow --ondisk=sda

      #volgroup VolGroup00 --pesize=32768 pv.6

      #logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow

      #logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=4032

      %packages

      @mysql

      @core

      @base

      @network-server

      @web-server

      %post

      echo "HOSTNAME=icesoul.local" >> /etc/sysconfig/network

      echo "# Do not remove the following line, or various programs" > /etc/hosts

      echo "# that require network functionality will fail." >> /etc/hosts

      echo "127.0.0.1 localhost" >> /etc/hosts

      echo "127.0.0.1 icesoul.local" >> /etc/hosts

      eject

      reboot

      1.8 修改isolinux.cfg文件

      修改isolinux.cfg文件// 將/disk/isolinux/目錄下的isolinux.cfg文件第一行default linux修改成default linux ks=cdrom:/ks.cfg

      原文:

      default linux ks=cdrom:/ks.cfg

      prompt 1

      timeout 60

      display boot.msg

      F1 boot.msg

      F2 options.msg

      F3 general.msg

      F4 param.msg

      F5 rescue.msg

      label linux

      kernel vmlinuz

      append initrd=initrd.img

      label text

      kernel vmlinuz

      append initrd=initrd.img text

      label ks

      kernel vmlinuz

      append ks initrd=initrd.img

      label local

      localboot 1

      label memtest86

      kernel memtest

      append –

      簡(jiǎn)化后:(默認(rèn)字符模式啟動(dòng))

      default text ks=cdrom:/ks.cfg

      label text

      kernel vmlinuz

      append initrd=initrd.img text

      1.9 生成comps.xml

      cd /disk/

      createrepo -g repodata/comps.xml /disk/

      到此以上定制任務(wù)已經(jīng)完成。

      1.10 制作IOS文件

      cd /disk/

      mkisofs -o MyCentOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /disk/

      mkisofs -o /mnt/hgfs/mycentos/MyCentOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /disk/

      /disk/ 目錄下產(chǎn)生的MyCentOS.iso 生成的ISO文件。

      自動(dòng)硬盤(pán)分區(qū)

      自動(dòng)硬盤(pán)分區(qū),分區(qū)策略是:30G根目錄、1Gswap分區(qū)、其余為raid分區(qū)。

      clearpart --linux

      part / --fstype ext3 --size=30720

      part swap --size=1024

      part raid.3 --size=100 --grow

      1.11 Rpm包安裝

      光盤(pán)rpm包的安裝需要三個(gè)步驟:

      u 1)拷貝rpm包到Centos目錄下

      u 2)重新生成comps.xml文件

      u 3)配置ks.cfg文件的%packages字段

      系統(tǒng)之外的rpm包,如mysql要放在%packages字段下,這個(gè)字段下可以填寫(xiě)包名字(這個(gè)報(bào)名字指的是comps.xml文件中規(guī)定的包),也可以填寫(xiě)rpm包。如:

      %packages

      @core

      antlr

      ccid

      cdk

      cdk-devel

      cpp

      drbd

      e2fsprogs-devel

      fipscheck-devel

      fonts-ISO8859-2-75dpi

      gcc

      gcc-c++

      giflib

      gjdoc

      glib2-devel

      glibc-devel

      glibc-headers

      heartbeat

      heartbeat-pils

      heartbeat-stonith

      java

      java

      jpackage-utils

      kernel-headers

      keyutils-libs-devel

      kmod-drbd

      krb5-devel

      libgcj

      libgomp

      libselinux-devel

      libsepol-devel

      libstdc++-devel

      libXmu

      libXt

      libXtst

      lm_sensors

      lua

      lua-devel

      make

      mx

      mysql

      MySQL-python

      mysql-server

      nc

      ncurses-devel

      net-snmp

      net-snmp-libs

      ntp

      openssl-devel

      pcsc-lite

      pcsc-lite-libs

      perl-Compress-Zlib

      perl-DBD-MySQL

      perl-DBI

      perl-HTML-Parser

      perl-HTML-Tagset

      perl-libwww-perl

      perl-URI

      perl-XML-Parser

      pkgconfig

      PyXML

      rdesktop

      rsyslog

      telnet

      telnet-server

      vnc-server

      vsftpd

      xinetd

      xorg-x11-fonts-base

      xorg-x11-xauth

      zip

      zlib-devel

      1.12 在光盤(pán)中執(zhí)行腳本

      在光盤(pán)中執(zhí)行腳本,是通過(guò)將腳本放在%post字段中來(lái)執(zhí)行的。具體如下:

      %post --nochroot

      #!/bin/sh

      # Mount CDROM

      mkdir -p /mnt/cdrom

      mkdir /mnt/sysimage/tempdir

      mount -t iso9660 /tmp/cdrom /mnt/cdrom

      cp -r /mnt/cdrom/cmd.sh /mnt/sysimage/tempdir

      # Unmount CDROM

      umount /mnt/cdrom

      %post --log=/root/my.log

      sh cmd.sh

      u %post字段詳解

      參數(shù)%post代表光盤(pán)安裝后所要做的工作。

      這里有幾個(gè)關(guān)鍵點(diǎn)要注意。%post分兩個(gè)階段,這兩個(gè)階段的目錄結(jié)構(gòu)是不一樣的

      1) 兩個(gè)階段

      具體使用參數(shù)—nochroot來(lái)區(qū)分。我們規(guī)定,使用—nochroot階段為“階段一”,不使用的階段為“階段二”

      2) 光盤(pán)路徑

      在階段一,光盤(pán)路徑是/tmp/cdrom, 階段二光盤(pán)路徑有待確定,好像就沒(méi)有光盤(pán)了。

      3) 系統(tǒng)目錄路徑

      階段一,根目錄不是平常的linux路徑,根目錄的路徑是/mnt/sysimage/

      階段二,就是我們熟悉的linux路徑了,根目錄的路徑是/

      1.13 光盤(pán)啟動(dòng)畫(huà)面修改

      光盤(pán)啟動(dòng)文件在目錄isolinux下。其中splash.lss是啟動(dòng)圖片,lss這是一種圖片格式,是一種很怪異的圖片格式。它限制圖片使用16種顏色,可以通過(guò)gif圖片轉(zhuǎn)化而來(lái)。

      n Gif轉(zhuǎn)lss命令:

      giftopnm< splash.gif | ppmtolss16 > splash.lss

      n 制作高質(zhì)量的16色gif圖片:

      先用photoshop打開(kāi)任何一張圖片,然后在文件的下拉菜單里,保存的時(shí)候選擇“保存為WEB和設(shè)備使用格式“,再然后選擇gif再選擇16色保存就OK

      n 圖片格式:

      大小640*300, 72像素,16色

      1.14 從硬盤(pán)啟動(dòng)

      在isolinux/isolinux.cfg中增加:

      label h

      localboot 0x80

      意思是鍵入h,從硬盤(pán)啟動(dòng)

      1.15 更改光盤(pán)安裝過(guò)程中的名字

      # cd /disk/isolinux/

      # cp initrd.img /tmp/initrd.img.gz

      # cd /tmp

      # gunzip initrd.img.gz

      # mkdir initrd

      # mv initrd.img initrd

      # cd initrd

      # cpio -ivmd < initrd.img

      #rm –f initrd.img

      然后修改.buildstamp文件,將CentOS改為自定義名字即可.

      制作initrd.img文件:

      # find . | cpio -c -o >../initrd.img

      # gzip ../initrd.img

      # cp initrd.img /ltos/isolinux/

      然后將initrd.img復(fù)制到/disk/isolinux/

    666636