[原创]clean up world file 脚本

发在这里了

http://www.linuxsir.org/bbs/thread342035.html

每次清理world file都要去找那一堆命令,之前找到英文版的在这里

现在我将主要过程写在一个脚本里了,下次只要执行一下这个脚本就行了。
用wgetpaste贴在了这里

主要会执行如下步骤:

代码:
echo "***********************************************" echo "The system will do the follow steps automaticly:" echo "1.cp /var/lib/portage/world ~ && >/var/lib/portage/world" echo "2.regenworld" echo "3.emerge --depclean -p" echo "4.emerge --depclean" echo "5.emerge -uDN world -pv" echo "6.emerge -uDN world" echo "7.revdep-rebuild" echo "8.eclean-dist -d" echo "***********************************************"

脚本代码:

代码:
pjq@Gentoo-PJQ ~ $ cat clwd.sh ######################################################################### # Author: pengjianqing@sina.com # Created Time: Sun 28 Dec 2008 07:50:48 PM CST # File Name: clwd.sh # Description: # This file is used to clean your world file. #USAGE: # ./clwd.sh -y,Clean your world file automaticly. # ./clwd.sh -n,You need to answer the question by yourself. ######################################################################### #!/bin/bash cleanworld() { echo "***********************************************" read -p "Back up the world file and regenerate the world file?[y/n]:" ANSWER if [ "y" = $ANSWER ];then echo "cp /var/lib/portage/world ~ && >/var/lib/portage/world" cp /var/lib/portage/world ~ && >/var/lib/portage/world echo "regenworld" regenworld fi echo "***********************************************" read -p "Execute emerge --depclean -p?[y/n]:" ANSWER if [ "y" = $ANSWER ];then emerge --depclean -p fi echo "***********************************************" read -p "Execute emerge --depclean ?[y/n]:" ANSWER if [ "y" = $ANSWER ];then emerge --depclean fi echo "***********************************************" read -p "Execute emerge -uDN world -pv?[y/n]:" ANSWER if [ "y" = $ANSWER ];then emerge -uDN world -pv fi echo "***********************************************" read -p "Execute emerge -uDN world ?[y/n]:" ANSWER if [ "y" = $ANSWER ];then emerge -uDN world fi echo "***********************************************" read -p "Execute revdep-rebuild?[y/n]:" ANSWER if [ "y" = $ANSWER ];then revdep-rebuild fi echo "***********************************************" } autocleanworld() { echo "***********************************************" echo "The system will do the follow steps automaticly:" echo "1.cp /var/lib/portage/world ~ && >/var/lib/portage/world" echo "2.regenworld" echo "3.emerge --depclean -p" echo "4.emerge --depclean" echo "5.emerge -uDN world -pv" echo "6.emerge -uDN world" echo "7.revdep-rebuild" echo "***********************************************" read -p "Are you sure?[y/n]:" ANSWER if [ "y" = $ANSWER ];then echo "***********************************************" cp /var/lib/portage/world ~ && >/var/lib/portage/world echo "***********************************************" regenworld echo "***********************************************" emerge --depclean -p echo "***********************************************" emerge --depclean echo "***********************************************" emerge -uDN world -pv echo "***********************************************" emerge -uDN world echo "***********************************************" revdep-rebuild echo "***********************************************" fi } help() { echo "***********************************************" echo "-h:help" echo "-y:do the clean world automaticly." echo "-n:you need to answer the question one by one." echo "***********************************************" exit 0; } myexit() { echo "Unknown parameter,exit" exit 0; } STARTTIME=`date|cut -d " " -f4` echo "***********************************************" echo "This is used to clean your world file" echo "USAGE:" echo "-h:help" echo "-y:do the clean world automaticly." echo "-n:you need to answer the question one bye one." echo "***********************************************" case "$1" in -y ) autocleanworld;; -n ) cleanworld;; -h ) help;; * ) myexit;; esac read -p "Do you want to delete the independency files in /usr/portage/distfiles/?[y/n]:" ANSWER if [ "y" = $ANSWER ];then eclean-dist -d -p fi if [ "y" = $ANSWER ];then read -p "Are you sure to delete those files?[y/n]:" ANSWER if [ "y" = $ANSWER ];then eclean-dist -d fi fi FINISHEDTIME=`date|cut -d " " -f4` echo "***********************************************" echo "OK,All done!Enjoy your clean world:)" echo "***********************************************" echo Start at:$STARTTIME echo Finished at:$FINISHEDTIME echo "***********************************************"

Leave a Reply

Your email address will not be published. Required fields are marked *