我正在尝试从本地服务器使用 PXE(Cobbler)和 Kickstart 安装 Ubuntu 12.10。在某个时候,安装停止并告诉我无法从镜像上传文件。工作站上的安装日志看起来不错,以下是日志的结尾:
net-retriever: gpgv: Good signature from "Ubuntu CD Image Automatic Signing Key <[email protected]>"
anna [4222]: cat: can't open '/tmp/net-retriever-4226-deduplicate/*': No such file or directory
我在 apache 日志中没有看到任何错误(404)。
我有一个类似的 12.04 安装,运行良好,唯一的区别是使用 Ubuntu 的备用 CD。对于 12.10,我使用默认 ISO,手动将 netboot 文件夹添加到我的安装映像(netboot.tar.gz 解压到 install/netboot 文件夹)。
PXE 条目如下所示:
LABEL ubuntu-12.10-i386
kernel /images/ubuntu-12.10-i386/linux
MENU LABEL ubuntu-12.10-i386
append initrd=/images/ubuntu-12.10-i386/initrd.gz ksdevice=bootif lang= preseed/url=http://10.0.0.1/cblr/ks_mirror/ubuntu-12.10-i386/preseed/ubuntu.seed locale=en_US text kssendmac priority=critical ks=http://10.0.0.1/cblr/svc/op/ks/profile/ubuntu-12.10-i386
启动文件:
#Generated by Kickstart Configurator
#platform=x86
#System language
lang fr_CA
#Language modules to install
langsupport fr_CA
#System keyboard
keyboard ca_multix
#System mouse
mouse
#System timezone
timezone America/Montreal
#Root password
rootpw --disabled
#Initial user
user administrateur --fullname "user" --iscrypted --password ***
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use CDROM installation media
#cdrom
# Use network installation
url --url=http://10.0.0.1/cblr/ks_mirror/ubuntu-12.10-i386
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype ext4 --size 512 --asprimary
part swap --size 4096
part / --fstype ext4 --size 30720
part /home --fstype ext4 --size 1 --grow
#System authorization infomation
auth --useshadow --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx
%pre
exec < /dev/tty6 > /dev/tty6 2> /dev/tty6
chvt 6
MACHINE=""
while [ "$MACHINE" == "" ]; do
echo -n "Machine name: "
read MACHINE
done
echo "MACHINE=$MACHINE" > /tmp/answers.txt
DOMAINE=""
while [ "$DOMAIN" == "" ]; do
echo -n "Domain name: "
read DOMAIN
done
echo "DOMAIN=$DOMAIN" >> /tmp/answers.txt
chvt 1
exec < /dev/tty1 > /dev/tty1 2> /dev/tty1
...
答案1
使用 apt-mirror 下载缺失的存储库 主要/debian-安装程序(大约 50 MB),这是网络启动安装所必需的。它以前在备用 CD 上提供。
sudo apt-get install apt-mirror
注释掉 /etc/apt/mirror.list 中的所有 deb* 行并添加以下内容
deb http://archive.ubuntu.com/ubuntu quantal main/debian-installer
或
deb-amd64 http://archive.ubuntu.com/ubuntu quantal main/debian-installer
适用于 Ubuntu 的 amd64 版本。
并执行sudo -u apt-mirror apt-mirror
稍等片刻,然后将下载的文件从 /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu 复制到您的网络启动安装点。例如,
cp -a /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/
其中 /var/www 已经包含带有 dists 和 pool 子目录的 ubuntu 目录。