注册 登录
自由的生活_软路由 返回首页

心想事成的个人空间 https://bbs.routerclub.com/?681 [收藏] [复制] [分享] [RSS]

日志

怎样完全定制自己的debian 6.0 安装 iso

已有 2646 次阅读2013-1-5 23:06 | 安装, 定制

http://wiki.debian.org/DebianInstaller/Modify/CD
http://tonychiu.blog.51cto.com/656605/640829
http://www.debian.org/releases/stable/s390/apbs04.html.zh_CN

直接修改deibian的iso里的pool文件,很麻烦。有一个方便的办法,就是通过debootstrap来下载基本系统所需要的软件包,然后使用apt-move生成自己的pool。

/usr/sbin/debootstrap --arch i386 squeeze  /mnt/debinst http://mirrors.163.com/debian
这样只是安装最mini的基本包,还需要安装
aptitude install locales
aptitude install linux-image-2.6.32-5-686
aptitude install grub
aptitude install openssh-server
tasksel install standard
apt-get install apt-move
然后在/var/cache/apt/archives/ 就会有下载的全部软件包。如果你要添加特定的包进去,都只需要安装这些软件,然后软件包就会在archives目录中了。这些文件就是基本系统所需要的文件。另外还要把安装iso中,所有后缀名为udeb的文件复制过来,因为udeb是安装程序使用的软件包。
假设iso的文件已经在/isofile/中,然后使用以下的命令:
for package in `find /isofile/ -name *.udeb`; do
            cp $package /var/cache/apt/archives/
done

将/etc/apt-move.conf中的设置从COPYONLY=no变为COPYONLY=yes以便apt-move不会删除/var/cache/apt/archives/中的软件包。再用下面的命令生成pool

apt-move -d squeeze update

生成的pool会在/mirrors/debian
用这个仓库去替换原iso的库,然后一教程上的说明,生成自动安装脚本,生成索引,生成校验,生成iso,全程完毕

下面是原来教程。

1、mkdir  /file/3
拷贝现有安装盘文件到/file/3
2、平时apt-get的deb包在/var/cache/apt/archives里面
sudo apt-get install apt-move
将/etc/apt-move.conf中的设置从
COPYONLY=no
to 变为
COPYONLY=yes
以便apt-move不会删除/var/cache/apt/archives/中的软件包,
apt-move -d squeeze update
默认apt-move生成的pool在/mirrors/debian中,拷贝期中的/mirrors/debian/pool/main 到/file/3/pool中
cp -rf /media/cdrom0/.* /file/3/
cp -rf /mirrors/debian/pool/main/* /file/3/pool/main/
wget http://ftp.de.debian.org/debian/indices/override.squeeze.main.gz
wget http://ftp.de.debian.org/debian/indices/override.squeeze.extra.main.gz
gunzip override.squeeze.main.gz
gunzip override.squeeze.extra.main.gz

3、生成packages.gz文件
mkdir /file/scripts
cd /file/scripts
vi  apt.conf
APT::FTPArchive::Release::Codename "squeeze";
APT::FTPArchive::Release::Origin "Debian";
APT::FTPArchive::Release::Components "main";
APT::FTPArchive::Release::Label "Debian";
APT::FTPArchive::Release::Architectures "i386";
APT::FTPArchive::Release::Suite "stable";

vi config_binary
Dir {
ArchiveDir  "/file/3/";
OverrideDir "/file/scripts/";
CacheDir "/file";
};

TreeDefault {
Directory "pool/";
};

BinDirectory "pool/main" {
Packages "dists/squeeze/main/binary-i386/Packages";
BinOverride "override.squeeze.main";
ExtraOverride "override.squeeze.extra.main";
};

Default {
    Packages {
        Extensions ".deb";
    };
 };



vi config_installer
Dir {
ArchiveDir "/file/3/";
OverrideDir "/file/scripts/";
CacheDir "/file";
};

TreeDefault {
Directory "pool/";
};

BinDirectory "pool/main" {
Packages "dists/squeeze/main/debian-installer/binary-i386/Packages";
BinOverride "override.squeeze.main";
ExtraOverride "override.squeeze.extra.main";
};

Default {
    Packages {
        Extensions ".udeb";
    };
};

以上三个配置文件建立后

4、cd /file/3
apt-ftparchive -c /file/scripts/apt.conf generate /file/scripts/config_installer
apt-ftparchive -c /file/scripts/apt.conf generate /file/scripts/config_binary
rm dists/squeeze/Release
apt-ftparchive -c /file/scripts/apt.conf release dists/squeeze > ./dists/squeeze/Release

rm -f md5sum.txt
find -type f -not -name md5sum -not -name boot.cat -exec md5sum {} \; >> md5sum.txt

rm -rf  /ctmXXX.iso
genisoimage  -no-emul-boot -boot-info-table -boot-load-size 4 -r -J -b isolinux/isolinux.bin -c isolinux/boot.cat -o /ctmXXX.iso ./

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-10 22:57 , Processed in 0.040002 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

返回顶部