linux系统定制(二)

66,安装文件类型查询工具(file)

  
  
  
  
  1. cd /sources 
  2. tar xvf file-4.21.tar.gz 
  3. cd file-4.21 
  4. /configure --prefix=/usr 
  5. make 
  6. make install 
  7. cd .. 
  8. rm -rf file-4.21 

67,安装查找工具(findutils)

  
  
  
  
  1. cd /sources 
  2. tar xvf findutils-4.2.31.tar.gz 
  3. cd findutils-4.2.31 
  4. /configure --prefix=/usr --libexecdir=/usr/lib/findutils \ 
  5. --localstatedir=/var/lib/locate 
  6. make 
  7. make install 
  8. mv -v /usr/bin/find /bin 
  9. sed -i -e 's/find:=${BINDIR}/find:=\/bin/' /usr/bin/updatedb 
  10. cd .. 
  11. rm -rf findutils-4.2.31 

67,安装查找工具(findutils)

  
  
  
  
  1. cd /sources 
  2. tar xvf findutils-4.2.31.tar.gz 
  3. cd findutils-4.2.31 
  4. /configure --prefix=/usr --libexecdir=/usr/lib/findutils \ 
  5. --localstatedir=/var/lib/locate 
  6. make 
  7. make install 
  8. mv -v /usr/bin/find /bin 
  9. sed -i -e 's/find:=${BINDIR}/find:=\/bin/' /usr/bin/updatedb 
  10. cd .. 
  11. rm -rf findutils-4.2.31 

68,安装程序生成工具(flex)

  
  
  
  
  1. cd /sources 
  2. tar xvf flex-2.5.33.tar.bz2 
  3. cd flex-2.5.33 
  4. /configure --prefix=/usr 
  5. make 
  6. make install 
  7. ln -sv libfl.a /usr/lib/libl.a 
  8.  
  9. cat > /usr/bin/lex <<EOF 
  10. #!/bin/bash 
  11. # Begin /usr/bin/lex 
  12. exec /usr/bin/flex -l "$@" 
  13. EOF 
  14. chmod -v 755 /usr/bin/lex 
  15.  
  16. cd .. 
  17. rm -rf flex-2.5.33 

69,安装引导工具(grub)

  
  
  
  
  1. cd /sources 
  2. tar xvf grub-0.97.tar.gz 
  3. cd grub-0.97 
  4. patch -Np1 -i /sources/grub-0.97-disk_geometry-1.patch 
  5. /configure --prefix=/usr 
  6. make 
  7. make install 
  8. mkdir /boot/grub 
  9. cp /usr/lib/grub/i386-pc/stage{1,2} /boot/grub 
  10. cd .. 
  11. rm -rf grub-0.97 

70,安装gawk

  
  
  
  
  1. cd /sources 
  2. tar xvf gawk-3.1.5.tar.bz2 
  3. cd gawk-3.1.5 
  4. patch -Np1 -i /sources/gawk-3.1.5-segfault_fix-1.patch 
  5. /configure --prefix=/usr --libexecdir=/usr/lib 
  6. echo "#define HAVE_LANGINFO_CODESET 1" >>config.h 
  7. echo "#define HAVE_LC_MESSAGES 1" >>config.h 
  8.  
  9. make 
  10. make install 
  11. cd .. 
  12. rm -rf gawk-3.1.5 

71,安装国际化语言支持工具(gettext)

  
  
  
  
  1. cd /sources 
  2. tar xvf gettext-0.16.1.tar.gz 
  3. cd gettext-0.16.1 
  4. /configure --prefix=/usr 
  5. make 
  6. make install 
  7. cd .. 
  8. rm -rf gettext-0.16.1 

72,安装文本过滤工具(grep) 

  
  
  
  
  1. cd /sources 
  2. tar xvf grep-2.5.1a.tar.bz2 
  3. cd grep-2.5.1a 
  4. patch -Np1 -i /sources/grep-2.5.1a-redhat_fixes-2.patch 
  5. chmod +x tests/fmbtest.sh 
  6. /configure --prefix=/usr --bindir=/bin 
  7. make 
  8. make install 
  9. cd .. 
  10. rm -rf grep-2.5.1a 

 

73,安装格式化文件工具(groff)

  
  
  
  
  1. cd /sources 
  2. tar xvf groff-1.18.1.4.tar.gz 
  3. cd groff-1.18.1.4 
  4. patch -Np1 -i /sources/groff-1.18.1.4-debian_fixes-1.patch 
  5. sed -i -e 's/2010/002D/' -e 's/2212/002D/' \ 
  6. -e 's/2018/0060/' -e 's/2019/0027/' font/devutf8/R.proto 
  7. PAGE=A4 ./configure --prefix=/usr --enable-multibyte 
  8. make 
  9. make install 
  10. ln -sv eqn /usr/bin/geqn 
  11. ln -sv tbl /usr/bin/gtbl 
  12. cd .. 
  13. rm -rf groff-1.18.1.4 

 

74,安装压缩工具(gzip)

  
  
  
  
  1. cd /sources 
  2. tar xvf gzip-1.3.12.tar.gz 
  3. cd gzip-1.3.12 
  4. /configure --prefix=/usr --bindir=/bin 
  5. make 
  6. make instlll 
  7. mv -v /bin/{gzexe,uncompress,zcmp,zdiff,zegrep} /usr/bin 
  8. mv -v /bin/{zfgrep,zforce,zgrep,zless,zmore,znew} /usr/bin 
  9. cd .. 
  10. rm -rf gzip-1.3.12 

75,安装常用网络工具集(inetutils)

  
  
  
  
  1. cd /sources 
  2. tar xvf inetutils-1.5.tar.gz 
  3. cd inetutils-1.5 
  4. patch -Np1 -i /sources/inetutils-1.5-no_server_man_pages-2.patch 
  5. /configure --prefix=/usr --libexecdir=/usr/sbin \ 
  6. --sysconfdir=/etc --localstatedir=/var \ 
  7. --disable-ifconfig --disable-logger --disable-syslogd \ 
  8. --disable-whois --disable-servers 
  9. make 
  10. make install 
  11. mv -v /usr/bin/ping /bin 
  12. cd .. 
  13. rm -rf inetutils-1.5 

76,安装网络管理工具(iproute2)

  
  
  
  
  1. cd /sources 
  2. tar xvf iproute2-2.6.20-070313.tar.gz 
  3. cd iproute-2.6.20-070313 
  4. sed -i -e '/tc-bfifo.8/d' -e '/tc-pfifo.8/s/pbfifo/bfifo/' Makefile 
  5. make SBINDIR=/sbin 
  6. make SBINDIR=/sbin install 
  7. mv -v /sbin/arpd /usr/sbin 
  8. cd .. 
  9. rm -rf iproute-2.6.20-070313 

77,安装键盘映射表工具(kbd)

  
  
  
  
  1. cd /sources 
  2. tar xvf kbd-1.12.tar.bz2 
  3. cd kbd-1.12 
  4. patch -Np1 -i /sources/kbd-1.12-backspace-1.patch 
  5. patch -Np1 -i /sources/kbd-1.12-gcc4_fixes-1.patch 
  6. /configure --datadir=/lib/kbd 
  7. make 
  8. make install 
  9. mv -v /usr/bin/{kbd_mode,openvt,setfont} /bin 
  10. cd .. 
  11. rm -rf kbd-1.12 

78,安装文本查看工具(less)

  
  
  
  
  1. cd /sources 
  2. tar xvf less-406.tar.gz 
  3. cd less-406 
  4. /configure --prefix=/usr --sysconfdir=/etc 
  5. make 
  6. make install 
  7. cd .. 
  8. rm -rf less-406 

79,安装编译过程控制工具(make)

  
  
  
  
  1. cd /sources 
  2. tar xvf make-3.81.tar.bz2 
  3. cd make-3.81 
  4. /configure --prefix=/usr 
  5. make 
  6. make install 
  7. cd .. 
  8. rm -rf make-3.81 

80,安装帮助手册查看工具(man-db)

  
  
  
  
  1. cd /sources 
  2. tar xvf man-db-2.4.4.tar.gz 
  3. cd man-db-2.4.4 
  4. mv man/de{_DE.88591,} 
  5. mv man/es{_ES.88591,} 
  6. mv man/it{_IT.88591,} 
  7. sed -i 's,\*_\*,??,' man/Makefile.in 
  8. sed -i -e '\%\t/usr/man%d' -e '\%\t/usr/local/man%d' src/man_db.conf.in 
  9. cat >> include/manconfig.h.in << "EOF" 
  10. #define WEB_BROWSER "exec /usr/bin/lynx" 
  11. #define COL "/usr/bin/col" 
  12. #define VGRIND "/usr/bin/vgrind" 
  13. #define GRAP "/usr/bin/grap" 
  14. EOF 
  15. patch -Np1 -i /sources/man-db-2.4.4-fixes-1.patch 
  16. /configure --prefix=/usr --enable-mb-groff --disable-setuid 
  17. make 
  18. make install 
  19.  
  20. cat >> convert-mans << "EOF" 
  21. #!/bin/sh -e 
  22. FROM="$1" 
  23. TO="$2" 
  24. shift ; shift 
  25. while [ $# -gt 0 ] 
  26. do 
  27.    FILE="$1" 
  28.    shift 
  29.    iconv -f "$FROM" -t "$TO" "$FILE" >.tmp.iconv 
  30.    mv .tmp.iconv "$FILE" 
  31. done 
  32. EOF 
  33.  
  34. install -m755 convert-mans  /usr/bin 
  35. cd .. 
  36. rm -rf man-db-2.4.4 

81,安装创建临时文件函数(mktemp)

  
  
  
  
  1. cd /sources 
  2. tar xvf mktemp-1.5.tar.gz 
  3. cd mktemp-1.5 
  4. patch -Np1 -i /sources/mktemp-1.5-add_tempfile-3.patch 
  5. /configure --prefix=/usr --with-libc 
  6. make 
  7. make install 
  8. make install-tempfile 
  9. cd .. 
  10. rm -rf mktemp-1.5 

82,安装内核模块管理工具(module-init-tools)

  
  
  
  
  1. cd /sources 
  2. tar xvf module-init-tools-3.2.2.tar.bz2 
  3. cd module-init-tools-3.2.2 
  4. patch -Np1 -i /sources/module-init-tools-3.2.2-modprobe-1.patch 
  5. /configure 
  6. make distclean 
  7. /configure --prefix=/ --enable-zlib 
  8. make 
  9. make INSTALL=install install 
  10. cd .. 
  11. rm -rf module-init-tools-3.2.2 

83,安装打补丁工具(patch)

  
  
  
  
  1. cd /sources 
  2. tar xvf patch-2.5.4.tar.gz 
  3. cd patch-2.5.4 
  4. /configure --prefix=/usr 
  5. make 
  6. make install 
  7. cd .. 
  8. rm -rf patch-2.5.4 

84,安装进程管理工具(psmisc)

  
  
  
  
  1. cd /sources 
  2. tar xvf psmisc-22.5.tar.gz 
  3. cd psmisc-22.5 
  4. /configure --prefix=/usr --exec-prefix="" 
  5. make 
  6. make install 
  7. mv -v /bin/pstree* /usr/bin 
  8. ln -sv killall /bin/pidof 
  9. cd .. 
  10. rm -rf psmisc-22.5 

85,安装密码管理工具(shadow)

  
  
  
  
  1. cd /sources 
  2. tar xvf shadow-4.0.18.1.tar.bz2 
  3. cd shadow-4.0.18.1 
  4. patch -Np1 -i /sources/shadow-4.0.18.1-useradd_fix-2.patch 
  5. /configure --libdir=/lib --sysconfdir=/etc --enable-shared --without-selinux 
  6. sed -i 's/groups$(EXEEXT) //' src/Makefile 
  7. find man -name Makefile -exec sed -i 's/groups\.1 / /' {} \; 
  8. sed -i -e 's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \ 
  9. -e 's@/var/spool/mail@/var/mail@' etc/login.defs 
  10. make 
  11. make install 
  12. mv -v /usr/bin/passwd /bin 
  13. mv -v /lib/libshadow.*a /usr/lib 
  14. rm -v /lib/libshadow.so 
  15. ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so 
  16.  
  17.  
  18. 配置添加用户默认设置,并给root用户配置密码 
  19. pwconv 
  20. grpconv 
  21. useradd -D -b /home 
  22. sed -i 's/yes/no/' /etc/default/useradd 
  23. passwd root 
  24.  
  25. cd .. 
  26. rm -rf shadow-4.0.18.1 

86,安装系统日志记录工具(sysklogd)

  
  
  
  
  1. cd /sources 
  2. tar xvf sysklogd-1.4.1.tar.gz 
  3. cd sysklogd-1.4.1 
  4. patch -Np1 -i /sources/sysklogd-1.4.1-fixes-2.patch 
  5. patch -Np1 -i /sources/sysklogd-1.4.1-8bit-1.patch 
  6. make 
  7. make install 
  8.  
  9.     配置syslog 
  10. cat > /etc/syslog.conf <<EOF 
  11. auth,authpriv.* -/var/log/auth.log 
  12. *.*;auth,authpriv.none -/var/log/sys.log 
  13. daemon.* -/var/log/daemon.log 
  14. kern.* -/var/log/kern.log 
  15. mail.* -/var/log/mail.log 
  16. user.* -/var/log/user.log 
  17. *.emerg * 
  18. EOF 
  19.  
  20. cd .. 
  21. rm -rf sysklogd-1.4.1 

87,安装开机过程控制工具(sysvinit)

  
  
  
  
  1. cd /sources 
  2. tar xvf sysvinit-2.86.tar.gz 
  3. cd sysvinit-2.86 
  4. sed -i 's@Sending processes@& configured via /etc/inittab@g' src/init.c 
  5. make -C src 
  6. make -C src install 
  7.  
  8.     编辑启动配置文件 
  9. cat > /etc/inittab <<EOF 
  10. id:3:initdefault: 
  11. si::sysinit:/etc/rc.d/init.d/rc sysinit 
  12. l0:0:wait:/etc/rc.d/init.d/rc 0 
  13. l1:S1:wait:/etc/rc.d/init.d/rc 1 
  14. l2:2:wait:/etc/rc.d/init.d/rc 2 
  15. l3:3:wait:/etc/rc.d/init.d/rc 3 
  16. l4:4:wait:/etc/rc.d/init.d/rc 4 
  17. l5:5:wait:/etc/rc.d/init.d/rc 5 
  18. l6:6:wait:/etc/rc.d/init.d/rc 6 
  19. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now 
  20. su:S016:once:/sbin/sulogin 
  21. 1:2345:respawn:/sbin/agetty tty1 9600 
  22. 2:2345:respawn:/sbin/agetty tty2 9600 
  23. 3:2345:respawn:/sbin/agetty tty3 9600 
  24. 4:2345:respawn:/sbin/agetty tty4 9600 
  25. 5:2345:respawn:/sbin/agetty tty5 9600 
  26. 6:2345:respawn:/sbin/agetty tty6 9600 
  27. EOF 
  28.  
  29. cd .. 
  30. rm -rf sysvinit-2.86 

88,安装打包工具(tar)

  
  
  
  
  1. cd /sources 
  2. tar xvf tar-1.18.tar.bz2 
  3. cd tar-1.18 
  4. /configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin 
  5. make 
  6. make install 
  7. cd .. 
  8. rm -rf tar-1.18 

89,安装信息阅读工具(texinfo)

  
  
  
  
  1. cd /sources 
  2. tar xvf texinfo-4.9.tar.bz2 
  3. cd texinfo-4.9 
  4. patch -Np1 -i /sources/texinfo-4.9-multibyte-1.patch 
  5. patch -Np1 -i /sources/texinfo-4.9-tempfile_fix-1.patch 
  6. /configure --prefix=/usr 
  7. make 
  8. make install 
  9. make TEXMF=/usr/share/texmf install-tex 
  10. cd .. 
  11. rm -rf texinfo-4.9 

90,安装设备自动管理工具(udev)

  
  
  
  
  1. cd /sources 
  2. tar xvf udev-113.tar.bz2 
  3. cd udev-113 
  4. tar -xvf /sources/udev-config-6.3.tar.bz2 
  5. install -dv /lib/{firmware,udev/devices/{pts,shm}} 
  6. mknod -m0666 /lib/udev/devices/null c 1 3 
  7. ln -sv /proc/self/fd /lib/udev/devices/fd 
  8. ln -sv /proc/self/fd/0 /lib/udev/devices/stdin 
  9. ln -sv /proc/self/fd/1 /lib/udev/devices/stdout 
  10. ln -sv /proc/self/fd/2 /lib/udev/devices/stderr 
  11. ln -sv /proc/kcore /lib/udev/devices/core 
  12. make EXTRAS="`echo extras/*/`" 
  13. make DESTDIR=/ EXTRAS="`echo extras/*/`" install 
  14. cp -v etc/udev/rules.d/[0-9]* /etc/udev/rules.d/ 
  15. cd udev-config-6.3 
  16. make install 
  17. make install-doc 
  18. make install-extra-doc 
  19. cd .. 
  20. install -m644 -v docs/writing_udev_rules/index.html \ 
  21. /usr/share/doc/udev-113/index.html 
  22. cd .. 
  23. rm -rf udev-113 

91,安装工具集(util-linux)

  
  
  
  
  1. cd /sources 
  2. tar xvf util-linux-2.12r.tar.bz2 
  3. cd util-linux-2.12r 
  4. sed -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' \ 
  5. -i $(grep -rl '/etc/adjtime' .) 
  6. mkdir -pv /var/lib/hwclock 
  7. patch -Np1 -i /sources/util-linux-2.12r-cramfs-1.patch 
  8. patch -Np1 -i /sources/util-linux-2.12r-lseek-1.patch 
  9. /configure 
  10. make HAVE_KILL=yes HAVE_SLN=yes 
  11. make HAVE_KILL=yes HAVE_SLN=yes install 
  12. cd .. 
  13. rm -rf util-linux-2.12r 

92,安装文本编辑工具(vim)

  
  
  
  
  1. cd /sources 
  2. tar xvf vim-7.1.tar.bz2 
  3. tar xvf vim-7.1-lang.tar.gz 
  4. cd vim71 
  5. patch -Np1 -i /sources/vim-7.1-fixes-1.patch 
  6. patch -Np1 -i /sources/vim-7.1-mandir-1.patch 
  7. echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h 
  8. /configure --prefix=/usr --enable-multibyte 
  9. make 
  10. make install 
  11. ln -sv vim /usr/bin/vi 
  12. for L in "" fr it pl ru; do 
  13. ln -sv vim.1 /usr/share/man/$L/man1/vi.1 
  14. done 
  15. ln -sv ../vim/vim71/doc /usr/share/doc/vim-7.1 
  16.  
  17.     配置vim 
  18. cat > /etc/vimrc <<EOF 
  19. set nocompatible 
  20. set backspace=2 
  21. syntax on 
  22. if (&term == "iterm") || (&term == "putty") 
  23. set background=dark 
  24. endif 
  25. EOF 
  26.  
  27. cd .. 
  28. rm -rf vim71 

93,重新进入chroot

  
  
  
  
  1. logout 
  2.  
  3. chroot /mnt/lfs /tools/bin/env -i \ 
  4. HOME=/root TERM=$TERM PS1='\u [\w]\$ ' \ 
  5. PATH=/bin:/usr/bin:/sbin:/usr/sbin \ 
  6. /tools/bin/bash --login 
  7.  
  8. /tools/bin/find /{,usr/}{bin,lib,sbin} -type f \ 
  9. -exec /tools/bin/strip --strip-debug '{}' ';' 
  10.  
  11. logout 
  12.  
  13. chroot "/mnt/lfs" /usr/bin/env -i \ 
  14. HOME=/root TERM="$TERM" PS1='\u [\w]\$ ' \ 
  15. PATH=/bin:/usr/bin:/sbin:/usr/sbin \ 
  16. /bin/bash --login 

94,安装系统启动脚本集合

  
  
  
  
  1. cd /sources 
  2. tar xvf lfs-bootscripts-6.3.tar.bz2 
  3. cd lfs-bootscripts-6.3 
  4. make install 
  5. cd .. 
  6. rm -rf lfs-bootscripts-6.3 

95,对系统做一系列的配置

  
  
  
  
  1. 时间设置 
  2. echo "UTC=1" >/etc/sysconfig/clock 
  3.  
  4. bash下的键盘功能 
  5. vim /etc/inputrc 
  6. set horizontal-scroll-mode Off 
  7. set meta-flag On 
  8. set input-meta On 
  9. set convert-meta Off 
  10. set output-meta On 
  11. set bell-style none 
  12. "\eOd": backward-word 
  13. "\eOc": forward-word 
  14. "\e[1~": beginning-of-line 
  15. "\e[4~": end-of-line 
  16. "\e[5~": beginning-of-history 
  17. "\e[6~": end-of-history 
  18. "\e[3~": delete-char 
  19. "\e[2~": quoted-insert 
  20. "\eOH": beginning-of-line 
  21. "\eOF": end-of-line 
  22. "\e[H": beginning-of-line 
  23. "\e[F": end-of-line 
  24.  
  25. bash shell启动文件 
  26. vim /etc/profile 
  27. export LANG=en 
  28. export INPUTRC=/etc/inputrcalias ls="ls --color"export PS1='\u [\w]\$ ' 
  29.  
  30. 主机名 
  31. echo "HOSTNAME=ZTE" > /etc/sysconfig/network 
  32.  
  33. hosts文件 
  34. echo "127.0.0.1 ZTE localhost" >/etc/hosts 
  35.  
  36. DNS 
  37. echo "nameserver 202.96.134.133" >/etc/resolv.conf 
  38.  
  39. IP地址 
  40. mkdir -pv /etc/sysconfig/network-devices/ifconfig.eth0 
  41. vim /etc/sysconfig/network-devices/ifconfig.eth0/ipv4 
  42. ONBOOT=yes 
  43. SERVICE=ipv4-static 
  44. IP=192.168.1.1 
  45. NETMASK=255.255.255.0 
  46. GATEWAY=192.168.1.2 
  47.  
  48.  
  49. fstab文件 
  50. vim /etc/fstab 
  51. /dev/hda2       /            ext3  defaults        1     1 
  52. /dev/hda1       /boot         ext3   defaults            1    1 
  53. proc              /proc        proc   defaults        0     0 
  54. sysfs             /sys         sysfs  defaults        0     0 
  55. devpts          /dev/pts     devpts gid=4,mode=620  0     0 
  56. tmpfs             /dev/shm     tmpfs  defaults        0     0 

96,安装内核(linux-2.6.22.5)

  
  
  
  
  1. cd /sources 
  2. tar xvf linux-2.6.22.5.tar.bz2 
  3. cd linux-2.6.22.5 
  4. make mrproper 
  5. make menuconfig 
  6. ..... 
  7. ..... 
  8. make 
  9. make modules_install 
  10. cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.22.5 
  11. cp -v System.map /boot/System.map-2.6.22.5 
  12. cp -v .config /boot/config-2.6.22.5 
  13. install -d /usr/share/doc/linux-2.6.22.5 
  14. cp -r Documentation/* /usr/share/doc/linux-2.6.22.5 

97,安装grub

  
  
  
  
  1. grub 
  2. root (hd0,0) 
  3. setup (hd0) 
  4. quit 

98,系统瘦身

  
  
  
  
  1. rm -rf /tools  
  2. rm -rf /lfs-sources 

99,启动自己的系统
1,如果使用liveCD制作的操作如下

  
  
  
  
  1. 取出光盘直接重启即可, 

2,如果使用现有的宿主系统制作的操作如下

  
  
  
  
  1. shutdown –h now  
  2.  
  3. 关机之后新创建一虚拟系统,其他的根据自己需要定义,
  4. 需要注意的是创建虚拟磁盘的时候要选择现有的虚拟磁盘,见下图, 

650) this.width=650;" onsubmit onchange onunload onselect onreset> 

创建完成后启动虚拟机即可.

 

linux系统定制(二)_第1张图片650) this.width=650;" onsubmit onchange onunload onselect onreset> linux系统定制(二)_第2张图片650) this.width=650;" onsubmit onchange onunload onselect onreset>

你可能感兴趣的:(linux系统定制(二))