我需要设置本地 Ubuntu 镜像,这样整个网络就不需要访问远程服务器来更新和安装新软件包。以下是简短的教程找到这里,我设法启动并运行了一台服务器,该服务器正确地镜像了主要类别和受限类别中的软件包。但是,当我在客户端上调用 apt-get update 时,我收到了几个错误,例如:
Ign http://192.168.1.18 karmic/main Translation-fr
Ign http://192.168.1.18 karmic/restricted Translation-fr
回到服务器检查,我发现 apt-mirror 只获取了binary-amd64
镜像的目录,并没有获取i18n
所提供的目录Translation-fr
。
apt-mirror 的手册页没有提到任何有关 i18n 的内容,Google 也帮不上什么忙。我该如何正确地镜像 i18n?
我当前的mirror.list文件如下:
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# if you change the base path you must create the directories below with write privileges
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
# set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive karmic main restricted
deb http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive karmic-updates main restricted
clean http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive
答案1
在我们的工作场所,我们使用像这样的简单 rsync 脚本进行同步。知道实际发生了什么、我们获取了哪些文件等,这很好。
#!/bin/ksh
RSYNCSOURCE=rsync://se.rsync.archive.ubuntu.com/ubuntu
BASEDIR=/export/install/mirror/ubuntu
rsync --recursive --times --links --hard-links \
--exclude "Packages*" --exclude "Sources*" \
--exclude "Release*" --no-motd \
${RSYNCSOURCE} ${BASEDIR}
rsync --recursive --times --links --hard-links \
--delete --delete-after --no-motd \
${RSYNCSOURCE} ${BASEDIR}
它基于这些说明https://wiki.ubuntu.com/Mirrors/Scripts
(重要的是同步分为两个阶段。)