二、自動備份軟體包和製作本地源 手動備份軟體包時卻常常會出現另外一個問題,即新舊軟體包的重複。比如:原來最初備份的是kdesktop_4%3a3.5.8-0ubuntu7.3_amd64.deb,現在更新以後有了其更新版本:kdesktop_4%3a3.5.9-0ubuntu7.3_amd64.deb,將他們放在同一個備份文件夾的話,浪費磁碟空間,而且在用dpkg-scanpackages生成本地源的時候還會產生大量、煩人的警告信息。當然我們可以手動其刪除老闆本的包,但如果一次更新了幾十幾百個包的話,這個刪除工作恐怕就讓人為難了。以下是一個腳本,更新完之後執行一下,就可以實現軟體包備份、陳舊包刪除、新軟體添加進本地源這一系列工作,省了不少事情,嘿嘿。 #! /bin/sh SOURCE=/var/cache/apt/archives DEST=/media/sda7/Backup/Ubuntu/Packages cd $SOURCE for name in $(ls *.deb); do cd $DEST rm $(dpkg --info $SOURCE/$name | grep Package: | sed 's/Package://')_* mv $SOURCE/$name $DEST/ cd $SOURCE done
cd $DEST cd .. dpkg-scanpackages Packages hardy | gzip > dists/hardy/main/binary-amd64/Packages.gz