LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: EricNeon

Debian From Scratch深入研究

[复制链接]
发表于 2004-7-14 11:43:00 | 显示全部楼层
其实如果使用过lfs和gentoo的,用dfs安装Debian一点都不难,会用chroot就可以了。哈哈,dfs的脚本应该是很关键的,可惜没有时间研究过。不过,dfs都是很好的live Cd了,如果对X或汉化没有什么特别要求,这个版本已经满足目前的要求了。
发表于 2004-7-15 06:26:24 | 显示全部楼层
顶, 精华
发表于 2004-7-15 10:08:34 | 显示全部楼层
一直都是这么安装的,虽然不是用DFS
发表于 2004-7-15 11:52:31 | 显示全部楼层
有用vmware试验过的吗?
我用vmware有问题
提示init:  panic:segmentation violation at 0x804a2ec(code)!
发表于 2004-7-15 12:45:05 | 显示全部楼层
我不知到dfs是什么洞洞

up
 楼主| 发表于 2004-7-15 15:19:19 | 显示全部楼层

继续

我们在前面的安装过程中已经注意到一个关键步骤:
#cdebootstrap sid /mnt file:///opt/packages
这个命令可以这样来解释:使用cdebootstrap命令,将光盘中的/opt/packages目录当作一个mirrors镜像,在/mnt目录下建立起一个sid环境。
下面是整个DFS的光盘目录结构
整个/目录下的子目录包括19个目录和一个文件:
root@1[cdrom0]# ls
bin   boot.catalog  etc   initrd  media  opt   root      sbin  sys  usr   boot  dev  home lib     mnt    proc  rr_moved  srv   tmp  var

这里是整个/bin目录的应用程序,95个指令将满足你的系统拯救工作:
root@1[cdrom0]# ls ./bin/
afio       dir            ip              mount       rm         true    arch   discover       kernelversion   mountpoint  rmdir      umount  bash  dmesg  kill  mt  run-parts  uname   busybox    dnsdomainname  ln  mt-gnu sash       uncompress   cat   echo    loadkeys    mt-st    sed     vdir   chgrp   ed         login   mv    setpci   zcat  chmod      egrep          ls              nc          setserial  zcmp  chown      false          lsmod           netcat      sh         zdiff  cp         fgconsole      lsmod.modutils  netstat     sleep      zegrep  cpio       fgrep          lspci           pidof       stty       zfgrep  csh        fuser          mbchk           ping        su         zforce
dash       grep           mkbimage        ping6       sync       zgrep  date       gunzip         mkdir           ps          tar        zless  dd         gzexe          mknod           pwd         tcsh       zmore  dd_rescue  gzip           mktemp          rbash       tempfile   znew df         hostname       more            readlink    touch

在/etc下有足够多的配置文件(总计62个目录和2个脚本以及77个独立的配置文件)
root@1[cdrom0]# ls ./etc
adduser.conf       discover.conf     localtime    perl adjtime  discover-modprobe.conf  logcheck    ppp afbackup    dpkg   login.defs    profilealiases     elinks  logrotate.conf    protocols alternatives    emacs      logrotate.d    python2.3 amandahosts   emacs21                 lvm   rc0.d  apm    email-addresses     lvmconf    rc1.d apt   exim4   lvmtab    rc2.d at.deny    exports     lvmtab.d     rc3.d bash.bashrc     fdmount.conf     lynx.cfg          rc4.d bash_completion    fonts      magic    rc5.d bash_completion.d  fstab                   mailname     rc6.d calendar   grep-dctrl.rc     mail.rc    rcS.d cdrecord    groff      manpath.config    resolv.conf chatscripts        group   mdadm     rmt complete.tcsh      group-mediaprm    rpc console     gtk    minicom    samba console-tools      hdparm.conf      modprobe.conf     screenrc cron.d      host.conf      modprobe.d   securettycron.daily    hostname     modprobe.devfs    security cron.hourly    hosts.allow      modules     services   cron.monthly       hosts.deny         modules.conf      shells crontab      hotplug      modules.conf.old  skel cron.weekly        hotplug.d       modutils    ssh csh.cshrc          inetd.conf      motd       stinit.def csh.login    init.d      mtab     subversion csh.logout         inittab       mtools.conf       sysctl.conf cups      inputrc      Muttrc      syslog.conf debconf.conf       iproute2   nanorc    terminfo debian_version     irc   network     tob default      issue     nsswitch.conf   ucf.conf defoma    issue.net    opt   updatedb.conf    deluser.conf       joe        pam.conf       uucp devfs    kernel-pkg.conf         pam.d      vim devscripts.conf    ldap      papersize    wgetrc dhclient.conf      ld.so.cache    passwd            X11 dhclient-script    ld.so.conf     passwd-dhcp3       lftp.conf     pcmcia


root@1[cdrom0]# ls ./boot
config-2.6.6     System.map-2.6.6 config-2.6.6-amd64   System.map-2.6.6-amd64 config-2.6.6-amd64-scsi-sata System.map-2.6.6-amd64-scsi-sata debianlilo.bmp vmlinuz-2.6.6 grub      vmlinuz-2.6.6-amd64 sarge.bmp    vmlinuz-2.6.6-amd64-scsi-sata sid.bmp

/lib库目录下共包含102个共享库文件和7个库文件目录:
root@1[cdrom0]# ls ./lib/
cpp       libdiscover.so.2    libpam_misc.so.0.76 discover  libdiscover.so.2.0.0     libpam.so.0 init      libdl-2.3.2.so     libpam.so.0.76  iptables     libdl.so.2               libparted-1.6.so.0   ld-2.3.2.so       libdm.so.0     libparted-1.6.so.0.0.9 ld-linux.so.2             libdm.so.0.0.4    libpcprofile.so   libacl.so.1               libe2p.so.2    libpopt.so.0 libacl.so.1.1.0     libe2p.so.2.3      libpopt.so.0.0.0   libanl-2.3.2.so     libext2fs.so.2      libproc.so.3.2.1  libanl.so.1        libext2fs.so.2.4         libpthread-0.10.so  libatm.so.1      libgcc_s.so.1      libpthread.so.0  libatm.so.1.0.0     libhandle.so.1    libreadline.so.4 libattr.so.1     libhandle.so.1.0.3     libreadline.so.4.3 libattr.so.1.1.0  libhistory.so.4     libreiserfs-0.3.so.0 libblkid.so.1      libhistory.so.4.3   libreiserfs-0.3.so.0.0.0    libblkid.so.1.0      libiw.so.27      libresolv-2.3.2.so  libBrokenLocale-2.3.2.so  libm-2.3.2.so            libresolv.so.2 libBrokenLocale.so.1      libmemusage.so           librt-2.3.2.so libc-2.3.2.so        libm.so.6        librt.so.1  libcap.so.1       libncurses.so.5          libSegFault.so libcap.so.1.10   libncurses.so.5.4        libslang.so.1-UTF8 libcfont.so.0       libnsl-2.3.2.so          libslang.so.1-UTF8.4.9    libcfont.so.0.0.0         libnsl.so.1      libss.so.2 libcom_err.so.2       libnss_compat-2.3.2.so   libss.so.2.0 libcom_err.so.2.1         libnss_compat.so.2       libthread_db-1.0.so libconsole.so.0       libnss_dns-2.3.2.so      libthread_db.so.1   libconsole.so.0.0.0       libnss_dns.so.2    libutil-2.3.2.so libcrypt-2.3.2.so   libnss_files-2.3.2.so    libutil.so.1 libcrypt.so.1   libnss_files.so.2        libuuid.so.1   libc.so.6         libnss_hesiod-2.3.2.so   libuuid.so.1.2 libctutils.so.0      libnss_hesiod.so.2       libwrap.so.0 libctutils.so.0.0.0       libnss_nis-2.3.2.so      libwrap.so.0.7.6  libdal-0.3.so.0     libnss_nisplus-2.3.2.so  lvm-200 libdal-0.3.so.0.0.0       libnss_nisplus.so.2      lvm-default libdb1-2.2.5.so           libnss_nis.so.2          modules libdb1.so.2     libpamc.so.0             security  libdb.so.2       libpamc.so.0.76          tls libdevmapper.so.1.00      libpam_misc.so.0


root@1[cdrom0]# ls ./usr/
bin      games    info     local    share    X11R6 doc      include  lib      sbin     src

root@1[cdrom0]# ls ./var
backups  cache  lib  local  lock  log  mail  opt  run  spool  state  tmp

在/sbin目录下则包含了250个最常用的系统工具:
root@1[cdrom0]# ls ./sbin
activate      iptables-restore    plipconfig arytst      iptables-save   poweroff badblocks       iptunnel      pvchange blkid     iwconfig    pvcreate blockdev    iwevent   pvdisplay bootlogd     iwgetid    pvmove cardctl     iwlist    pvremove cardmgr    iwpriv    pvresize cfdisk       iwspy     pvs cpfs.reiser4    jfs_debugfs     pvscan debugfs     jfs_fsck        raid0run debugfs.reiser4        jfs_fscklog     raidhotadd debugreiserfs          jfs_logdump    raidhotgenerateerror depmod      jfs_mkfs      raidhotremove depmod.modutils   jfs_tune       raidreconf detect_multipath       kallsyms      raidsetfaulty devfsd     kallsyms.modutils   raidstart devfsd_make_links      kbdrate    raidstop dhclient   kernelversion    rarp discover-modprobe      killall5     raw dosfsck      klogd     rdump dump    ksyms   reboot dump_cis       ksyms.modutils    reiserfsck dumpe2fs   ldconfig      reiserfstune e2fsck      lde    resize2fs e2image     lilo   resizefs.reiser4 e2label       lilo.real    resize_reiserfs ext2online       logsave   restore ext2prepare      losetup      rmmod ext2resize      lsmod    rmmod.Lmodutils fdisk     lsmod.Lmodutils   rmmod.modutils findfs        lsmod.modutils      rmt fsck       lspnp     route fsck.cramfs      lsraid       rrestore fsck.ext2     lvchange      rtacct fsck.ext3      lvcreate   rtmon fsck.jfs       lvdisplay    runlevel fsck.minix             lvextend    scsi_info fsck.msdos     lvm                 setpnp fsck.nfs     lvmchange    sfdisk fsck.reiser4           lvmdiskscan   shadowconfig fsck.reiserfs     lvmiopversion       shutdown fsck.vfat      lvmsadc     slattach fsck.xfs               lvmsar   start-stop-daemon ftl_check  lvreduce   stinit ftl_format  lvremove   sulogin genksyms      lvrename    swapoff getty     lvresize   swapon gpart  lvs sysctl grub   lvscan      syslogd grub-floppy  MAKEDEV     tc grub-install  mdadm        telinit grub-md5-crypt      mdrun    tob grub-reboot  measurefs.reiser4   tune2fs grub-terminfo          mii-tool   udosctl halt   mkdosfs       umssetup hdparm     mke2fs      umssync hotplug   mkfs   unix_chkpwd hwclock   mkfs.cramfs       update-grub ide_info  mkfs.ext2  update-modules ifconfig    mkfs.ext3   update-modules.modutils ifdown  mkfs.jfs   vgcfgbackup ifport    mkfs.minix   vgcfgrestore ifup   mkfs.msdos   vgchange ifuser  mkfs.reiser4   vgck init   mkfs.reiserfs  vgconvert  insmod  mkfs.vfat   vgcreate insmod_ksymoops_clean  mkfs.xfs  vgdisplay insmod.modutils   mkraid     vgexport installkernel  mkreiser4         vgextend ip  mkreiserfs  vgimport ip6tables  mkswap  vgmerge ip6tables-restore      modinfo  vgmknodes ip6tables-save     modinfo.modutils    vgreduce ipchains   modprobe  vgremove ipchains-restore   modprobe.Lmodutils  vgrename ipchains-save   modprobe.modutils   vgs ipfwadm       nameif    vgscan ipfwadm.real       pack_cis    vgsplit ipfwadm-wrapper     parted      xfsdq  ipmaddr    partprobe     xfsdump ippool       pcic_probe   xfs_repair   iptables     pivot_root          xfsrestore

还有我们后面将重点研究的这个/opt目录,注意下面有个packages目录:
root@1[cdrom0]# ls ./opt/
dfsruntime  packages
发表于 2004-7-18 13:21:55 | 显示全部楼层
嘿嘿,偶发现一个问题。如果把dfs的iso mount上去用du 看其整修目录大小是300多M左右,但如果把其全部目录把cp出来后,接近700M.无论我怎么用mkisofs重灌iso,都没有办法得到其原来大小。也找不到原作者制作iso的mkisofs脚本是点样的。:-)
发表于 2004-7-18 13:30:40 | 显示全部楼层
发表于 2004-7-19 14:28:25 | 显示全部楼层
周六测试的时候发现一个问题,chroot环境下没办法apt-get安装kernel,说是mkintrid错误,不知道大家有没有试过。
发表于 2004-7-19 16:39:41 | 显示全部楼层
很早的时候安装没有问题哦。试试dfsbuild:-)

#apt-cache show dfsbuild
Package: dfsbuild
Priority: optional
Section: utils
Installed-Size: 2756
Maintainer: John Goerzen <jgoerzen@complete.org>
Architecture: i386
Version: 0.6.8
Depends: libc6 (>= 2.3.2.ds1-4), ucf (>= 0.28), debconf, cdebootstrap, mkisofs,                                            
apt-move, cramfsprogs, grub
Filename: pool/main/d/dfsbuild/dfsbuild_0.6.8_i386.deb
Size: 1000698
MD5sum: 87bee78d1d782cc5e254d6b00f1fb37f
Description: Build Debian From Scratch CD/DVD images
Debian From Scratch (DFS) is a live bootable CD that is designed to
provide a fully-featured kernel and a fully-featured rescue environment.
The rescue environment contains filesystem tools, editors, C development
environment, etc.
.
dfsbuild is the program used to create the DFS CD image.  It is highly
configurable and can be used to create other custom bootable CD or DVD
images.  You can use dfsbuild to do something as simple as building a
DFS CD with a custom kernel.  Or, you can customize the CD to include a
completely different set of packages.
.
dfsbuild works by obtaining packages from your nearest Debian mirror.
It will generate an ISO image that contains a bootable Debian system
generated by installing those packages.  Also, it can place all the .debs
and files needed by cdebootstrap in the image.  Thus, the
generated image can be used to install the base Debian system on a PC as
well.
.
On i386 and amd64 platforms, dfsbuild supports the Grub bootloader.
.
On Alpha, dfsbuild supports the aboot bootloader.
.
On PowerPC, dfsbuild supports the yaboot bootloader.


但帮助的文档实在少了点。它的那个iso为不什么做得如此小,偶还不知道。用CDlinux提供的那个file-opt也不能优化。呵呵,看了mkisofs的帮助文档,怎么没有见有类似M$下cdimage.exe -o的功能?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表