六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

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

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

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

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

  1. CentOS定制

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

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

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

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

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

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

  環(huán)境說明:

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

  VMware

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

  安裝anaconda repodata createrepo mkisofs ,關(guān)聯(lián)太多采用yum安裝//定制過程需要產(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ì)在某些文件開始部分如“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 #將光盤內(nèi)容加載到/mnt/cdrom中

  cd /mnt/cdrom/ #復(fù)制光盤內(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 通過腳本復(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)過一系列的復(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)硬盤分區(qū)

  自動(dòng)硬盤分區(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包安裝

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

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

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

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

  系統(tǒng)之外的rpm包,如mysql要放在%packages字段下,這個(gè)字段下可以填寫包名字(這個(gè)報(bào)名字指的是comps.xml文件中規(guī)定的包),也可以填寫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 在光盤中執(zhí)行腳本

  在光盤中執(zhí)行腳本,是通過將腳本放在%post字段中來執(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代表光盤安裝后所要做的工作。

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

  1) 兩個(gè)階段

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

  2) 光盤路徑

  在階段一,光盤路徑是/tmp/cdrom, 階段二光盤路徑有待確定,好像就沒有光盤了。

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

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

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

  1.13 光盤啟動(dòng)畫面修改

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

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

  giftopnm< splash.gif | ppmtolss16 > splash.lss

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

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

  n 圖片格式:

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

  1.14 從硬盤啟動(dòng)

  在isolinux/isolinux.cfg中增加:

  label h

  localboot 0x80

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

  1.15 更改光盤安裝過程中的名字

  # 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