我的第一个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 |