个人工具
登录
查看“UbuntuHelp:RsyncCdImage”的源代码 - Ubuntu中文
UbuntuHelp
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“UbuntuHelp:RsyncCdImage”的源代码
来自Ubuntu中文
←
UbuntuHelp:RsyncCdImage
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{From|https://help.ubuntu.com/community/RsyncCdImage}} {{Languages|UbuntuHelp:RsyncCdImage}} rsync is a wonderful piece of software that only downloads the parts of a file that have changed. https://launchpad.net/products/rsync is a good resource for more information. A nice thing about the way the Ubuntu CDs are constructed is that it's quite easy to keep an up to date local install CD using rsync. Since the daily CDs generally change quite little, it can be processed quite quickly. == Acquiring the ISO == The various files that you need are at http://cdimage.ubuntu.com It's best to use the torrent file if you can. If you have a local Ubuntu archive mirror or cache, you can also use Jigdo. Rsync is handy for finishing up Jigdo downloads that still have a few missing pieces. == Updating the ISO == A number of the Ubuntu servers also work as rsync servers with quite similar URIs to the websites. For example: <pre><nowiki> rsync -zhhP rsync://cdimage.ubuntu.com/cdimage/daily-live/current/jaunty-desktop-i386.iso . </nowiki></pre> will sync the server's daily Jaunty desktop image (for i386) to your local system with an older desktop image already stored on your hard drive. -z is compression, -hh is human readable file size (not in Dapper (2.6.6) though), and -P is a progress indicator. '''Note:''' If you are using other flavors of Ubuntu don't forget to add the flavor's name in the rsync-path after cdimage/, e.g. <pre><nowiki> rsync -zhhP rsync://cdimage.ubuntu.com/cdimage/kubuntu/daily-live/current/jaunty-desktop-i386.iso . </nowiki></pre> A slightly more advanced script will automate much of the syncing process. To run this script successfully, you will need to set the '''DIR''' variable according to your needs. You can set '''ISO''' inside the script or simply pass it in on the command-line (to make it easier to sync multiple ISO images). In some cases you may need to manually set '''ISOPATH''' if you're downloading an image not automatically detected. <pre><nowiki> #!/bin/bash #Script for updating individual ISO image at cdimage.ubuntu.com (daily/current versions). #Orginal script written by Henrik Omma, slightly adjusted by Bert Verhaeghe, then a bit by Victor Van Hee #Jeremy Yoder made it try to automatically pick an ISOPATH # Change this next line to the directory where your previously downloaded iso image sits. DIR="/home/username/Desktop/jaunty" # Choose only one of the iso files below and uncomment it ISO="jaunty-desktop-amd64.iso" # ISO="jaunty-desktop-i386.iso" # ISO="jaunty-alternate-amd64.iso" # ISO="jaunty-alternate-i386.iso" # Uncomment the line below if you want a different image not listed below # ISOPATH="cdimage.ubuntu.com/cdimage/LOCATION/current" # Default ISO to the first command-line parameter if [ "$1" != "" ]; then ISO=$1 fi if [ "$ISOPATH" = "" ]; then if [[ "$ISO" =~ "-desktop-" ]]; then ISOPATH="cdimage.ubuntu.com/cdimage/daily-live/current" elif [[ "$ISO" =~ "-alternate-" ]]; then ISOPATH="cdimage.ubuntu.com/cdimage/daily/current" elif [[ "$ISO" =~ "-dvd-" ]]; then ISOPATH="cdimage.ubuntu.com/cdimage/dvd/current" elif [[ "$ISO" =~ "-netbook-remix-" ]]; then ISOPATH="cdimage.ubuntu.com/cdimage/ubuntu-netbook-remix/daily-live/current" elif [[ "$ISO" =~ "-server-" ]]; then ISOPATH="cdimage.ubuntu.com/cdimage/ubuntu-server/daily/current" else echo "Unrecognized distribution, set ISOPATH manually" exit 1 fi fi if [ ! -d $DIR ]; then echo "Sorry, $DIR does not exist" exit fi cd $DIR md5sum $ISO | sed -e "s/ / */" > $ISO.md5.local # ^ create identical formatted md5sum file from local copy echo "" echo "########################################" echo "# diff'ing MD5SUMs : local <-> server #" echo "########################################" wget -q http://$ISOPATH/MD5SUMS grep $ISO MD5SUMS > $ISO.md5.server rm MD5SUMS diff -q $ISO.md5.local $ISO.md5.server if [ ! $? -eq "0" ]; then echo "" echo "!!! MD5SUMs differ !!!" echo "...Performing rsync..." echo "###################" echo "# rsync iso image #" echo "###################" rsync -avzhhP rsync://$ISOPATH/$ISO . else echo "" echo "MD5SUMs identical -- no need to Rsync" echo "" exit 0 fi echo "" echo "########################################" echo "# diff'ing MD5SUMs : local <-> server #" echo "########################################" md5sum $ISO | sed -e "s/ / */" > $ISO.md5.local diff -q $ISO.md5.local $ISO.md5.server if [ ! $? -eq "0" ]; then echo "" echo "!!! MD5SUMs differ !!!" echo "!!! Rsync failed! !!!" else echo "" echo "MD5SUMs identical" echo "SUCCESS!" fi echo "" </nowiki></pre> This script does three things. First, it creates files containing the MD5SUMs of both the current local and server images, and outputs if the MD5SUMs are identical or not. If they are not identical, it syncs your local ISO image to the most recent ISO image on the Ubuntu servers. It then rechecks the new local MD5SUM and compares it to the server image, and outputs if the MD5SUMs are identical or not. [[category:UbuntuHelp]]
该页面使用的模板:
模板:From
(
查看源代码
)
模板:Languages
(
查看源代码
)(受保护)
模板:Languages/Lang
(
查看源代码
)(受保护)
返回至
UbuntuHelp:RsyncCdImage
。