+ -
当前位置:首页 → 问答吧 → 如何用rsync镜像slackware-current???

如何用rsync镜像slackware-current???

时间:2005-08-17

来源:互联网

我发现在教育网内slackware-current的镜像真是太少了
好不容易找了个hk的最新更新又是六月份的
但不用**总算快把currnet下载回来
我想再用一个工具把它更新一下(也就是如果有新文件就替换没有就不变)
rsync能成吧?
可是google了一下都是关于服务器端设置服务才能sync备份的文章
怎么办呢?
man了一下感觉太多了
有没有这样做过的兄弟给个实例我参考一下呀?
先谢谢了

作者: linuxcpp   发布时间: 2005-08-17

据我在slack官方提供的镜像下载站点中的查找,好像没有哪一个镜像站点提供给个人用户rsync的服务帐号的。
rsync主要是用来保持主站点和slk其它镜像站点之间同步的,开放给个人用户实在风险太大,不太可能。
楼主的意图是想伴随slackware-current进行更新,其实写一个好的lftp脚本应该也可以实现这样的功能,只是我
功力不够,待高人指点了。
关于rsync的用法可以看这篇文章比较详细了:
http://www.leftworld.net/wenzhang/show/1687.html

作者: 醉卧美人膝   发布时间: 2005-08-17

谢谢
有人说用lftp mirror
回去试试

作者: linuxcpp   发布时间: 2005-08-17

试着作了一个不完善的脚本(lftpM):
代码:
#/usr/bin/bash
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 extra && \
mirror -c --parallel=2 isolinux && \
mirror -c --parallel=2 kernels && \
mirror -c --parallel=2 rootdisks && \
mirror -c --parallel=2 slackware && \
mirror -c --parallel=2 testing && \
quit'
可如下操作
代码:
# mkdir -p slackware/slackware-current
# cd slackware
# vi lftpM /*内容如上*/
# chmod +x lftpM
# cd slackware-current
# ../lftpM
脚本中的网址可以换成其它的更快的镜像站点,http的镜像也可以用。
为了保持同步可以把脚本加入到后台计划任务中去。
脚本中没有同步slk准备放弃的安装包和资源包,如果需要可以添加。
“mirror -c --parallel=2 extra && \”这一段可以删掉,extra目录是slackware额外的安装包,
发行iso的时候应该不会加入,而且该目录下还有占很大空间的source目录。
可惜lftp不带类似于wget的黑白名单的功能,而wget又不带镜像功能。要想精确控制下载的文件,
可能需要再修改脚本的下载项目,或者使用sed之类的工具过滤后再重定向到lftp的下载项里,需要
高手指路了……

作者: 醉卧美人膝   发布时间: 2005-08-17

顶一下!我也想找一个这样的方法,让单位的机器镜像一下current的目录,好方便自己升级。楼上的方法回去试试,有没有更好的方法?请dx指教啊~~

作者: laxi1982   发布时间: 2005-08-17

我提供的那个脚本,经我测试过是完全可用的。虽然实现的不够优雅,定期运行这个脚本,可以保持与
slackware-current的同步更新。这样就可以把swaret的root指向本地目录了。

作者: 醉卧美人膝   发布时间: 2005-08-17

这个脚本很不错了
但是有一个问题
我用了快两天的时间下载了6月份的全部镜像
然后再按这个脚本去更新的话
不可能实现完全同步吧?
因为它没有rsync中的--delete功能
那吗我想是不是楼上兄弟好事再做到底
再加上一段检查文件的脚本呢?
也就是说以某种方式检查一下remote和locale的文件名和大小,把过时的文件d掉
再一个就是想问
我没仔细研究过slk的安装方式
每个文件夹下如a下有个installpkg这样的脚本来控制要安装的包吧?
我在想它是不是也可以像debian那样很多软件包在这个目录下有用的没用的过时的最新的
它能挑出来想要装的装上?
我记的好像不是这样,好像是把a下所有的东西全都装上
这样的话连老版本的也不就都装上了?
如果有个脚本把老的东西清除掉就好了吧
不是有个pkglist.txt吗?
这个可以利用一下吧

作者: linuxcpp   发布时间: 2005-08-18

引用:
我用了快两天的时间下载了6月份的全部镜像
然后再按这个脚本去更新的话
不可能实现完全同步吧?
因为它没有rsync中的--delete功能
那吗我想是不是楼上兄弟好事再做到底
再加上一段检查文件的脚本呢?
也就是说以某种方式检查一下remote和locale的文件名和大小,把过时的文件d掉
直接在你下载的目录下删除不需要的目录就好,不删也可以。
执行那个脚本本身就可以更新的,因为有镜像的命令啊,那几个get的命令主要是下载几个文本文件,
很小的东东,不值得镜像了,lftp也会对照文件信息绝定是否更新的。
如果你对已有的劳动成果不舍得,也可以把所有的目录都添加到脚本中,或者直接镜像上层目录。
引用:
每个文件夹下如a下有个installpkg这样的脚本来控制要安装的包吧?
我在想它是不是也可以像debian那样很多软件包在这个目录下有用的没用的过时的最新的
它能挑出来想要装的装上?
我记的好像不是这样,好像是把a下所有的东西全都装上
这样的话连老版本的也不就都装上了?
如果有个脚本把老的东西清除掉就好了吧
由于脚本下载的是current,所以所有的包都是最接近当前时间点的,不存在新旧软件包混在
一个目录下的情况。关于如何安装软件包请查一下精华贴。
如果是新安装系统可以用grub引导安装,把安装源指向你下载的目录。安装完系统后用
swaret指向下载的current,定期执行镜像脚本再自己本地使用swaret更新就好。

作者: 醉卧美人膝   发布时间: 2005-08-18

FCOPT = -s --progress --bps -l 1 -x '*kde*'

SERVER = ftp://ftp.nluug.nl/pub/os/Linux/dist...ckware-current

DIR = bootdisks rootdisks kernels isolinux slackware

all: $(DIR)

$(DIR):
ftpcopy $(FCOPT) $(SERVER)/$@ $@

作者: baldzhang   发布时间: 2005-08-18

我把
#!/bin/sh
/opt/csw/bin/rsync -vrlpt --delete ftp.slackware.at::slackware/slackware-10.1 /opt/csw/apache/htdocs/slackware
写进一个shell文件,然后用cron定期自动执行。
做成的这个
slack.vetcafe.net
镜像的。
rsync那句是抄来的。

作者: sleetdrop   发布时间: 2005-08-18

水母上的人说的
不过我这里上不了外网
想用**再rsync
export ftp_proxy="xxx.xxx.xxx.xxxort"后老是提示连接不上
真是郁闷了
查了老多帖子感觉我的export差不多对
用win下flashfxp用socks4**能下载
但是在控制台下怎么export都不成
lftp连不上
郁闷中.....

发信人: MrWrong (雨中的猪头), 信区: LinuxApp
标 题: Re: 帮忙看一下这个脚本如何完善
发信站: 水木社区 (Wed Aug 17 20:44:43 2005), 站内


【 在 sakulaqi (sakulaqi) 的大作中提到: 】
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^这样就能同步了?
这样只是看看 要同步的话 rsync -av --delete --ignore-error --force rsync://serve
r/dir /local/dir
这样就成了
: 我看到的帖子都是关于服务器备份的,得配置服务器还得要usrasswd/ssh类的东东
一般linux的mirror多少都会有匿名的rsync服务器 用用户名的那个一般是双机的备份或者
自己网站做备份用的
: 看了man rsync也一头露水
: 我的想法很简单
: 可以理解成lftp mirror slackware-current +delete旧的文件
rsync更好用一点吧 做mirror这个更专业一点
: 你的说法是distro那边有rsync服务而官方像ftp.slackware.com不能这样干是吗?
rsync rsync://ftp.slackware.com/slackware/
这也是提供的啊

作者: linuxcpp   发布时间: 2005-08-19

热门下载

更多