|
|
在SLK10.2即将放出之际写下这片文章为不准备重新安装系统的朋友提供一个选择方案。
目的:
紧跟SLK站点更新,定期同步SLK的current目录,为系统安装维护提供稳定的软件包资源。
实现方法:
1、使用lftp镜像功能同步slackware-current目录。
建议把镜像目录放在非根分区所在磁盘分区挂载的目录下,而且最好该分区是ext2/3(自行编译的
grub引导slk的安装程序访问reiserfs分区在我的机器上没问题),以保持对grub等系统引导程序
的最佳兼容。比如根分区在hda1,另有hda5等等……可以把hda5分区(大于2G就足够了)挂载
到一个root用户才能访问的目录下,这里假设为/mnt/hd。
(1)、建立工作目录
[php]
# mkdir /mnt/hd/slackware/slackware-current
# touch /mnt/hd/slackware/lftp-mirror
# cd /mnt/hd/slackware
# chmod +x lftp-mirror
[/php]
(2)、编辑lftp-mirror脚本,写入以下内容:
[php]
#!/bin/sh
cd /mnt/hd/slackware/slackware-current
/usr/bin/lftp slackware.mirrors.tds.net:/pub/slackware/slackware-current/ -e ' \
get -c BOOTING.TXT && \
get -c CHECKSUMS.md5 && \
get -c CHECKSUMS.md5.asc && \
get -c COPYING && \
get -c COPYRIGHT.TXT && \
get -c CRYPTO_NOTICE.TXT && \
get -c CURRENT.WARNING && \
get -c ChangeLog.txt && \
get -c FAQ.TXT && \
get -c FILELIST.TXT && \
get -c GPG-KEY && \
get -c PACKAGES.TXT && \
get -c README.NPTL && \
get -c SPEAKUP_DOCS.TXT && \
get -c SPEAK_INSTALL.TXT && \
get -c Slackware-HOWTO && \
get -c UPGRADE.TXT && \
mirror -c --parallel=2 --delete --verbose extra && \
mirror -c --parallel=2 --delete --verbose isolinux && \
mirror -c --parallel=2 --delete --verbose kernels && \
mirror -c --parallel=2 --delete --verbose rootdisks && \
mirror -c --parallel=2 --delete --verbose slackware && \
mirror -c --parallel=2 --delete --verbose testing && \
quit'
[/php]
(3)、手工执行lftp-mirror就可以进行与slackware镜像站点之间的current目录同步。
经实验以上脚本可以解决过时的旧文件的删除问题,不会遗留垃圾文件。
2、cron定期执行lftp镜像脚本。
假定每周一三五的晚11点执行同步。
[php]
# cd /mnt/hd/slackware
# touch current-mirror.cron
# echo '00 23 * * 1,3,5 /mnt/hd/slackware/lftp-mirror'>current-mirror.cron
# crontab current-mirror.cron
[/php]
3、swaret配置文件中更新源指向本地文件目录。
在/etc/swaret.conf中加入以下源:
ROOT=file:/mnt/hd/slackware/slackware-current
并注销掉目前使用的源。
如果网络条件允许最好保留到sourceforge进行依赖关系检验的选项:
DEP_ROOT=http://swaret.sourceforge.net
这样以后执行swaret就可以方便的使用本机的安装源了,同样可以作为局域网内的其它机器的slk网络安装源。 |
|