一个自动更新及制作离线升级包的Shell

0

本文作者:分秒必争  发布于:2008-10-13  分类:Shell  点击:


我的第一个Shell脚本:此脚本理论支持所有Debian系统,如Ubuntu,Elive,实际在Ubuntu下测试通过,此脚本最大的优点就是去除了多余的包,因为离线升级包会因系统的升级越来越多,特别是一些老的没用的包,通过手动删除基本不可能,因为太多了,还要挑出来哪个旧的哪个新的。有了这个脚本,所有旧的文件全部自动删除,以便携带,不过此脚本最大的缺点就是制作离线包是通过多次复制和删除而成的,硬盘操作比较多,而且须要有足够的硬盘空间。源码如下:

echo "Update the sources"
apt-get update
echo "Update the system & soft"
apt-get dist-upgrade -y
apt-get upgrade -y


if   [   -e   ~/edgy   ] 
then 
    echo   ~/"edgy already existed"  
else
    mkdir ~/edgy
fi
echo "Copy files"
#cp -a /var/cache/apt/archives/*   ~/edgy
cd ~/
echo "Make Packages.gz"
dpkg-scanpackages edgy /dev/null |gzip >edgy/Packages.gz

mkdir ~/temp_djhui_net
copy ~/edgy/Packages.gz ~/temp_djhui_net
cd ~/temp_djhui_net
gzip  -d  Packages.gz
cat Packages |grep ^Filename > temp
sed -e 's/Filename: /cp \~\//g' temp >temp1

sed -e 's/.deb/.deb \~\/new_djhui\//g' temp1 >temp2

mkdir ~/new_djhui

chmod +x temp2

./temp2

cp ~/edgy/Packages.gz ~/new_djhui

rm -rf ~/edgy
rm -rf ~/temp_djhui_net

mv ~/new_djhui ~/edgy



 

 

Share
本文标签: Shell  更新  离线  升级  
本文Url: http://www.djhui.net/post/388.html (出自: 分秒必争)
我要引用: 点击这里获取该日志的TrackBack引用地址

相关文章:

330. 5700升级成了4.21  (2008-1-3 10:45:34)

290. 把手机给刷了  (2007-10-7 18:43:5)

0 Comments

Write a comment ?