From b6a6b0481677eafbe1a31f2a7c5b1709688d2966 Mon Sep 17 00:00:00 2001 From: milisbir Date: Wed, 7 Nov 2018 10:49:42 +0200 Subject: [PATCH] =?UTF-8?q?mps-indirme-mesajlar=C4=B1-g=C3=BCncellendi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mps | 52 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/bin/mps b/bin/mps index b7d46bbe5..1ea0e269d 100755 --- a/bin/mps +++ b/bin/mps @@ -1196,7 +1196,7 @@ paket_guncelle(){ surum_kontrol $1 $2 $3 if [ -d "$VT/$1" ];then # paket sürümü güncellenirse devir güncelleme pas geçilecek. - # paketin güncel olmas durumu 1 gelirse + # paketin güncel olması durumu 1 gelirse if [ ${_paketguncel} -eq 0 ];then devir_kontrol $1 $2 $3 fi @@ -3010,12 +3010,14 @@ listeleri_temizle(){ paket_indir(){ if [ -f "$paketdepo""paket.vt" ];then - local _ipaket pkt _indirildi + local _ipaket pkt _indirildi pkvt_hash yerel_hash [ $1 ] && _ipaket="$1" || hata_olustu "_paket_adi_gerekli" - local _sunucular _sira + local _sunucular _sira _indir_log + _indir_log="/tmp/${_ipaket}-indir.log" + rm -f ${_indir_log} _sunucular=$(echo ${sunucular} | tr " " "\n") _sira=0 - #_indirildi=0 + _indirildi=0 for pktsunucu in ${_sunucular}; do pkvt="" let _sira=_sira+1 @@ -3027,34 +3029,35 @@ paket_indir(){ if [ -f $paketdepo$pktvt ];then #pkt=`cat "$paketdepo$pktvt" | grep "^${_ipaket} " | cut -d' ' -f3` # çoklu boşluk ayrıştırma destekli - pkt=`cat "$paketdepo$pktvt" | grep "^${_ipaket} " | awk '{ print $3}'` + pkt=`cat "${paketdepo}${pktvt}" | grep "^${_ipaket} " | awk '{ print $3}'` + pkvt_hash=`cat "${paketdepo}${pktvt}" | grep "^${_ipaket} " | awk '{print $2}'` #ryaz 32 "${_ipaket} paketi $pktsunucu altında aranıyor" if [ $pkt ];then #ryaz 32 "${_ipaket} paketi $pktsunucu altında bulundu" - ekontdeg=`cat "$paketdepo$pktvt" | grep "^${_ipaket} " | cut -d' ' -f2` cpaket="${pkt/'#'/'%23'}" #paketin sunucuda varlık kontrolu wget -q --spider "$pktsunucu$cpaket" - if [ $? -eq 0 ]; then - $_yaz "${_ipaket} $_indiriliyor" + if [ $? -eq 0 ]; then + [ ! -f ${paketdepo}${pkt} ] && $_yaz "${_ipaket} $_indiriliyor" + # -nc ile yerelde ilgili paket varsa pas geçecek ama sonraki adımda sahsum kontrolü yapılacak. if [ "${_yaz}" == "echo" ];then - wget --progress=dot:force -nc --no-check-certificate -P "$paketdepo" "$pktsunucu$cpaket" 2>&1 | tee /tmp/${_ipaket}_indirme.log | sed -u -n 's/[0-9]*%/&/p' + wget --progress=dot:force -nc --no-check-certificate -P "$paketdepo" "${pktsunucu}${cpaket}" 2>&1 | tee /tmp/${_ipaket}_indirme.log | sed -u -n 's/[0-9]*%/&/p' else - wget --no-check-certificate -nc -q ${wget_progress} -P "$paketdepo" "$pktsunucu$cpaket" #2>&1 | tee /tmp/${_ipaket}_indirme.log + wget --no-check-certificate -nc -q ${wget_progress} -P "$paketdepo" "${pktsunucu}${cpaket}" #2>&1 | tee /tmp/${_ipaket}_indirme.log fi if [[ "$?" != 0 ]]; then $_yaz_uyari "indirme hatalı" hataloglama "indirme hatalı" else - mkontdeg=`sha1sum "$paketdepo$pkt" | cut -d' ' -f1` - if [ "$ekontdeg" != "$mkontdeg" ];then + yerel_hash=$(sha1sum "${paketdepo}${pkt}" | awk '{print $1}') + if [ "${pkvt_hash}" != "${yerel_hash}" ];then $_yaz_uyari "$_shasum_uyumsuzluk,paket tekrar indiriliyor." hataloglama "sha1sum uyusmaslik tespit edildi,paket tekrar indiriliyor." - rm -f "$paketdepo$pkt" + rm -f "${paketdepo}${pkt}" paket_indir "${_ipaket}" "$cikti" else - #_indirildi=1 + _indirildi=1 break fi fi @@ -3062,12 +3065,27 @@ paket_indir(){ $_yaz_uyari "${_ipaket} paketi bulunamadı $pktsunucu dan silinmiş olmalı!" fi else - $_yaz_uyari "$pktsunucu ${_ipaket} paketi bulunmuyor!" + # paket sunucusunda paket bulunamazsa + echo "$pktsunucu ${_ipaket} paketi bulunmuyor!" >> ${_indir_log} fi else - $_yaz_uyari "$paketdepo altında $pktvt dosyanız yok.Güncelleme yapınız!" + $_yaz_uyari "$paketdepo altında $pktvt dosyanız yok veya güncelleme yapınız!" fi - done + done + # sunucularda paket bulunmama durumu log gösterimi + if [ ${_indirildi} -eq 0 ];then + $_yaz_uyari $(cat ${_indir_log}) + # indirileyen fakat önbellekte bulunan paket kontrolü + if [ -f ${paketdepo}${pkt} ];then + yerel_hash=$(sha1sum "${paketdepo}${pkt}" | awk '{print $1}') + # önbellekte mevcut fakat shasum uyum kontrolü + if [ "${pkvt_hash}" = "${yerel_hash}" ];then + $_yaz_tm "paketdepo önbelleği kullanılacak." + else + $_yaz_uyari "paketdepoda shasum uyumsuz ${_ipaket} paketi bulunmakta!" + fi + fi + fi else $_yaz_uyari "$paketdepo altında paket.vt dosyanız yok.Güncelleme yapınız!" fi