现在在学习脚本,没事折腾了这个,升级后,不能启动,会卡 ldconfig 那里,不知道什么原因.

估计内核还得重新折腾,暂时不深入...把脚本记录一下.

 

  1. #!/bin/bash 
  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 
  3. export PATH 
  4.  
  5. Var_find_dir=./ttylinuxfilesys 
  6. Var_find_args1="-perm 755 -size 383k" 
  7. Var_find_args2="-perm 4711 -size 59k" 
  8. Var_list_templist=`mktemp /tmp/tmp.XXXXXXX` 
  9. Var_list_tempdiff=`mktemp /tmp/tmp.XXXXXXX` 
  10. Var_other="" 
  11.  
  12. find busybox ! -type d -exec ls {} \; | sed "s:^busybox:\./ttylinuxfilesys:" | grep -v busybox >busybox.list 
  13.  
  14. #删除383k可执行文件 
  15. find $Var_find_dir $Var_find_args1 -exec rm {} \; 
  16. #得到4711权限文件列表 
  17. find $Var_find_dir $Var_find_args2 >$Var_list_templist 
  18. #删除4711权限文件 
  19. find $Var_find_dir $Var_find_args2 -exec rm -f {} \; 
  20.  
  21. cp busybox-i686 $Var_find_dir/bin/busybox  
  22. chmod 755 $Var_find_dir/bin/busybox  
  23. chown root.root $Var_find_dir/bin/busybox  
  24. cp busybox-i686 $Var_find_dir/bin/busybox-suid  
  25. chmod 4711 $Var_find_dir/bin/busybox-suid  
  26. chown root.root $Var_find_dir/bin/busybox-suid  
  27.  
  28. #余下的可执行文件 
  29. find $Var_find_dir/bin  ! -type d  >$Var_list_tempdiff 
  30. find $Var_find_dir/sbin  ! -type d  >>$Var_list_tempdiff 
  31. find $Var_find_dir/usr/bin  ! -type d  >>$Var_list_tempdiff 
  32. find $Var_find_dir/usr/sbin  ! -type d  >>$Var_list_tempdiff 
  33.  
  34. #比较 
  35. for i in `cat $Var_list_tempdiff` 
  36. do 
  37.     sed -i "/${i##*/}/d" busybox.list 
  38. done 
  39.  
  40. for i in `cat $Var_list_templist` 
  41. do 
  42.     sed -i "/${i##*/}/d" busybox.list 
  43. done 
  44.  
  45. sed -i '/busybox-suid/d' $Var_list_templist 
  46. #得到全部文件,创建链接 
  47. for i in `cat busybox.list` 
  48. do 
  49.     ln $Var_find_dir/bin/busybox $i 
  50. done 
  51.  
  52. for i in `cat $Var_list_templist` 
  53. do 
  54.     ln $Var_find_dir/bin/busybox-suid $i 
  55. done 
  56.  
  57. rm -f $Var_list_templist $Var_list_tempdiff