home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / etc / init.d / boot.cleanup < prev    next >
Text File  |  2006-11-29  |  3KB  |  114 lines

  1. #! /bin/sh
  2. #
  3. # Copyright (c) 2001-2005 SuSE Linux AG, Nuernberg, Germany.
  4. # All rights reserved.
  5. #
  6. # /etc/init.d/boot.cleanup
  7. #
  8. ### BEGIN INIT INFO
  9. # Provides:          boot.cleanup
  10. # Required-Start:    boot.rootfsck
  11. # Should-Start:      $local_fs boot.quota
  12. # Required-Stop:
  13. # Default-Start:     B
  14. # Default-Stop:
  15. # Description:       do cleanup
  16. ### END INIT INFO
  17.  
  18. . /etc/rc.status
  19. . /etc/sysconfig/cron
  20.  
  21. rc_reset
  22.  
  23. case "$1" in
  24.   start)
  25.     #
  26.     # clean up
  27.     #
  28.     rm -f /var/lib/rpm/__db*
  29.     rm -rf /tmp/screens /tmp/uscreens /var/run/screens /var/run/uscreens 2>/dev/null
  30.     rm -f /tmp/.X*lock /var/spool/uucp/LCK* /var/log/sa/sadc.LOCK /fsck_corrected_errors 2>/dev/null
  31.     if test -x /usr/bin/find -a -x /usr/bin/xargs ; then
  32.         find /tmp/ssh-* -type s -name "*agent*" -maxdepth 1 -print0 2>/dev/null | xargs -0 -r rm -f
  33.         find /var/run /var/lock -type f -print0 | xargs -0 -r rm -f 2>/dev/null
  34.     else
  35.         # fallback for find if we get /usr from nfs
  36.         rec_rem() {
  37.         for f in "$1"/*
  38.         do
  39.         test -L "$f" && continue
  40.         test -f "$f" && rm -f "$f"
  41.         test -d "$f" && rec_rem "$f"
  42.         done
  43.         }
  44.         #
  45.         test -d /var/run && rec_rem /var/run
  46.         test -d /var/lock && rec_rem /var/lock
  47.     fi
  48.     : > /var/run/utmp
  49.     chmod 664 /var/run/utmp
  50.     chown root:tty /var/run/utmp
  51.  
  52.     # Re-read inittab for jobs and redo utmp records if required
  53.     test "$PREVLEVEL" = "S" && telinit q
  54.  
  55.     # Restore a possibly dynamically modified /etc/resolv.conf
  56.     if ls /etc/resolv.conf.saved.by.* &>/dev/null ; then
  57.         echo "Cleaning up using /sbin/modify_resolvconf:"
  58.         /sbin/modify_resolvconf cleanup
  59.         echo -e "$rc_done_up"
  60.     fi
  61.     # delete temp files
  62.     # If $CLEAR_TMP_DIRS_AT_BOOTUP = yes, delete files in
  63.     # $TMP_DIRS_TO_CLEAR, if $CLEAR_TMP_DIRS_AT_BOOTUP starts with a "/"
  64.     # delete files in those dirs instead.
  65.     CLEAR_DIRS="$TMP_DIRS_TO_CLEAR"
  66.     if [ "${CLEAR_TMP_DIRS_AT_BOOTUP:0:1}" = "/" ]; then
  67.       CLEAR_DIRS="$CLEAR_TMP_DIRS_AT_BOOTUP"
  68.       CLEAR_TMP_DIRS_AT_BOOTUP=yes
  69.     fi
  70.     if test -x /usr/bin/find -a -x /usr/bin/xargs ; then
  71.         if test "$CLEAR_TMP_DIRS_AT_BOOTUP" = yes; then
  72.         echo -n "Cleaning temporary directories $CLEAR_DIRS"
  73.         for CURDIR in $CLEAR_DIRS ; do
  74.             find $CURDIR -maxdepth 1 -printf '%P\0' | ( cd $CURDIR ; xargs -0 rm -rf -- )
  75.         done
  76.         rc_status -v -r
  77.         fi
  78.     fi
  79.     for CURDIR in /tmp /tmp/.X11-unix /tmp/.ICE-unix \
  80.               /var/tmp /var/tmp/vi.recover /var/run/uscreens ; do
  81.         test -d $CURDIR || \
  82.         mkdir $CURDIR && \
  83.         chown root:root $CURDIR && \
  84.         chmod 1777 $CURDIR
  85.     done
  86.     for CURDIR in /var/run/screens ; do
  87.         test -d $CURDIR || \
  88.         mkdir $CURDIR && \
  89.         chown root:root $CURDIR && \
  90.         chmod 755 $CURDIR
  91.     done
  92.     
  93.     #
  94.     # there could be a new kernel version.  reinit /etc/psdevtab, to be sure.
  95.     #
  96.     rm -f /etc/psdevtab
  97.     test -x /bin/ps && /bin/ps > /dev/null 2> /dev/null
  98.     ;;
  99.     stop|restart)
  100.         # skip / nothing to do
  101.     ;;
  102.     status)
  103.     rc_failed 4
  104.     rc_status -v
  105.     ;;
  106.     *)
  107.     echo "Usage: $0 {start|stop|status|restart}"
  108.     exit 1
  109.     ;;
  110. esac
  111.  
  112. rc_exit
  113.     
  114.