yps-guncelle.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. # YPS olusturulmadi ise islemi bitir.
  3. if [ ! -d "$YERELPS" ]; then
  4. mesaj bilgi "$YERELPS oluşturulmamış. Lütfen --yps-olustur ile oluşturunuz."
  5. exit 1
  6. fi
  7. UZAK_PAKET_SUNUCUSU="paketler.milislinux.org"
  8. # ana sunucu ile yerel sunucu paket kontrolu ve eski paketlerin temizlenmesi
  9. mesaj uyari "Tüm paketler sunucudakiler ile karşılaştırılacak ve paket veritabanı yeniden oluşturulacak. [e/h]"
  10. read -p " " cevap
  11. if [ $cevap == 'e' ]; then
  12. # tmp klasoru olustur, tum paketleri oraya tasi ve sunucudan guncel paket.vt indir
  13. mkdir -p $YERELPS/tmp
  14. mv -u $YERELPS/*mps.lz $YERELPS/tmp > /dev/null 2>&1
  15. wget -q -r "http://$UZAK_PAKET_SUNUCUSU/paket.vt" -O $YERELPS/tmp/paket.vt
  16. # sunucudan indirilen paketler ile tmp klasorundekileri karsilastir (ismine gore)
  17. for paket in `cat $YERELPS/tmp/paket.vt | awk '{print $3}'`; do
  18. # paket tmp de yoksa uzak sunucudan indir
  19. if [ ! -f "$YERELPS/tmp/$paket" ]; then
  20. p=`echo $paket | cut -d '#' -f1` # paket adi
  21. v=`echo $paket | cut -d '#' -f2` # versiyon ve uzanti
  22. wget "http://$UZAK_PAKET_SUNUCUSU/$p%23$v" -O "$YERELPS/$paket"
  23. mesaj bilgi "Olmayan paket indirildi: $paket"
  24. #paket tmp de varsa yerel sunucu klasorune tasi
  25. else
  26. mv $YERELPS/tmp/$paket $YERELPS/
  27. fi
  28. done
  29. # tmp klasorunu, eski paket.vt sil ve yeniden olustur..
  30. mesaj bilgi "Güncel paketler taşındı, paket veritabanı yeniden oluşturuluyor (~3dk)."
  31. rm -rf "$YERELPS/tmp"
  32. rm -f $YERELPS/paket.vt
  33. cd $YERELPS
  34. pkvt_olustur
  35. YPS_BOYUT=`du -h -P -d 1 $YERELPS | awk '{print $1}'`
  36. mesaj bilgi "Yerel Paket Sistemi yeni boyutu: $YPS_BOYUT"
  37. mesaj bilgi "Güncelleme tamamlandı.."
  38. fi