From ecf5b6bb7af8d427fd5a62519b91652351bc8e61 Mon Sep 17 00:00:00 2001 From: milisbir Date: Sat, 30 Jun 2018 05:51:57 +0200 Subject: [PATCH] mps-set --- bin/mps | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/bin/mps b/bin/mps index b403fe2c1..b3b5702ab 100755 --- a/bin/mps +++ b/bin/mps @@ -1847,6 +1847,46 @@ log_analiz(){ fi } +silme_etkilenme(){ + local _paket _kliste _eliste dizin + local _satir _edosya _ipaket _ustdizin + [ -z $1 ] && hata_olustu "_paket_adi_gerekli" || _paket=$1 + _kliste=`mktemp` + _eliste=`mktemp` + [ -d /tmp/${_paket}_kurtarma ] && rm -rf /tmp/${_paket}_kurtarma + mkdir -p /tmp/${_paket}_kurtarma + [ -f /tmp/${_paket}_kd.liste ] && rm -rf /tmp/${_paket}_kd.liste + [ -f /tmp/${_paket}_ep.liste ] && rm -rf /tmp/${_paket}_ep.liste + + for _temp in $(cat /var/lib/pkg/DB/${_paket}/kurulan);do + dizin=${_temp//[\']/} + if [ -d $dizin ] ;then + grep --exclude=/var/lib/pkg/DB/${_paket}/kurulan -ri "'${dizin}/" /var/lib/pkg/DB/*/kurulan \ + | while read -r _isatir ; do + #echo "$_isatir" + #echo "$dizin - $_paket -" + echo "${dizin}" >> ${_kliste} + _esatir=$(echo ${_isatir} | cut -d ':' -f1) + _edosya=$(echo ${_isatir} | cut -d ':' -f2) + _ipaket=$(basename $(dirname ${_esatir})) + _ustdizin=$(dirname ${_edosya//[\']/}) + mkdir -p /tmp/${_paket}_kurtarma/${_ustdizin} + [ ! -f ${_edosya//[\']/} ] && echo "${_edosya//[\']/} dosyası eksik!" + # eksik dosyalar onaylı yekur yapılacak. + # /var/lib/pkg/kurtarma altına kopayalama seçimli olacak. + #\ + # cp -rf ${_edosya//[\']/} /tmp/${_paket}_kurtarma/${_ustdizin} + echo "${_ipaket}" >> ${_eliste} + done + fi + done + sort -u ${_kliste} > /tmp/${_paket}_kd.liste + sort -u ${_eliste} > /tmp/${_paket}_ep.liste + rm -rf ${_eliste} ${_kliste} + $_yaz "etkilenen paketler" + cat /tmp/${_paket}_ep.liste +} + etkilenen_kurtar(){ local dizin paket paket=$1 @@ -3344,6 +3384,10 @@ ayarlar() { -kdit|tumdogrula) kurulum_dogrulama_icerik_tum exit 0 ;; + ### mps -set paketismi = ilgili paket silindiğinde etkilenen paketleri kurtarır. + -set) + silme_etkilenme $args + exit 0 ;; -kdk) etkilenen_kurtar $2 ;; ### mps -suko . = sunucuların erişim kontrolünü yapar.