mps-silme-etki

This commit is contained in:
milisbir 2018-06-30 06:49:15 +02:00
parent ecf5b6bb7a
commit a084af1087
1 changed files with 42 additions and 24 deletions

66
bin/mps
View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
versiyon="1.2.0 Milis Paket Sistemi" versiyon="1.2.1 Milis Paket Sistemi"
iletisim="milisarge@gmail.com" iletisim="milisarge@gmail.com"
betikad=${0##*/} betikad=${0##*/}
@ -280,10 +280,10 @@ icerik_ekle(){
} }
paket_sil(){ paket_sil(){
local paket kkont sil_onay oto_silme local paket kkont sil_onay oto_silme _silinecekler
paket="$1" [ -z $1 ] && hata_olustu "_paket_adi_gerekli" || paket=$1
tersbag_goster="hayir" tersbag_goster="hayir"
_silinecekler=/tmp/$paket.sil
cikti="--renkli" cikti="--renkli"
if [ "$2" ]; then if [ "$2" ]; then
if [ "$2" == "--normal" ];then if [ "$2" == "--normal" ];then
@ -308,21 +308,33 @@ paket_sil(){
kkont=`kurulu_kontrol "$1"` kkont=`kurulu_kontrol "$1"`
if [ "$kkont" = "kurulu" ];then if [ "$kkont" = "kurulu" ];then
if [ -f "$VT/$paket/kurulan" ];then if [ -f "$VT/$paket/kurulan" ];then
#dizin koruma #eski dizin koruma
etkilenen_kurtar $1 $cikti #etkilenen_kurtar $1 $cikti
cat $VT/$paket/kurulan | cut -d '>' -f2 > /tmp/$paket.sil cat $VT/$paket/kurulan | cut -d '>' -f2 > ${_silinecekler}
if [ "$tersbag_goster" = "evet" ];then if [ "$tersbag_goster" = "evet" ];then
$_yaz_uyari "ters bagimliliklar" $_yaz_uyari "ters bagimliliklar"
$_yaz_uyari "------------------" $_yaz_uyari "------------------"
ters_bagimli_bilgi "$paket" ters_bagimli_bilgi "$paket"
$_yaz_uyari "------------------" $_yaz_uyari "------------------"
fi fi
# eski silme etkilenme kurtarma
$_yaz_uyari "etkilenen dosyalar" #$_yaz_uyari "etkilenen dosyalar"
$_yaz_uyari "------------------" #$_yaz_uyari "------------------"
silme_etkilenen_kontrol /tmp/$paket.sil $paket #silme_etkilenen_kontrol /tmp/$paket.sil $paket
$_yaz_uyari "------------------" #$_yaz_uyari "------------------"
#fi # ------------
# yeni silme etkilenen kurtarma
silme_etkilenme_tespit $paket
# silme listesi güncelleme - dizin koruma
# bir paket silinirken dizin yapısındaki diğer paketlerin dosyaları korunacak.
if [ -f /tmp/${paket}_kd.liste ];then
for _kurtar in $(cat /tmp/${paket}_kd.liste);do
echo "$(grep -v "'${_kurtar}'" ${_silinecekler})" > ${_silinecekler}
done
$_yaz_bilgi "etkilenen konumlar korundu."
#else
#$_yaz_bilgi "kurtarılacak dosya yok."
fi
if [ "$oto_silme" = "evet" ];then if [ "$oto_silme" = "evet" ];then
sil_onay="e" sil_onay="e"
else else
@ -338,14 +350,14 @@ paket_sil(){
if [ "$sil_onay" = "e" ];then if [ "$sil_onay" = "e" ];then
_konum=$(talimat_bul $paket) _konum=$(talimat_bul $paket)
[ -f "$_konum/$paket.kos-sil" ] && bash "$_konum/$paket.kos-sil" [ -f "$_konum/$paket.kos-sil" ] && bash "$_konum/$paket.kos-sil"
xargs rm -r -f < /tmp/$paket.sil && xargs rm -r -f < ${_silinecekler} &&
rm -r -f "$VT/$paket" && rm -r -f "$VT/$paket" &&
[ -f "$_konum/$paket.sil-kos" ] && bash "$_konum/$paket.sil-kos" [ -f "$_konum/$paket.sil-kos" ] && bash "$_konum/$paket.sil-kos"
$_yaz_tm $paket" $_paket_silindi" $_yaz_tm $paket" $_paket_silindi"
loglama "$paket $_paket_silindi" loglama "$paket $_paket_silindi"
rm -f /tmp/$paket.sil rm -f ${_silinecekler}
else else
rm -f /tmp/$paket.sil rm -f ${_silinecekler}
fi fi
else else
@ -1847,14 +1859,14 @@ log_analiz(){
fi fi
} }
silme_etkilenme(){ silme_etkilenme_tespit(){
local _paket _kliste _eliste dizin local _paket _kliste _eliste dizin
local _satir _edosya _ipaket _ustdizin local _satir _edosya _ipaket _ustdizin
[ -z $1 ] && hata_olustu "_paket_adi_gerekli" || _paket=$1 [ -z $1 ] && hata_olustu "_paket_adi_gerekli" || _paket=$1
_kliste=`mktemp` _kliste=`mktemp`
_eliste=`mktemp` _eliste=`mktemp`
[ -d /tmp/${_paket}_kurtarma ] && rm -rf /tmp/${_paket}_kurtarma #[ -d /tmp/${_paket}_kurtarma ] && rm -rf /tmp/${_paket}_kurtarma
mkdir -p /tmp/${_paket}_kurtarma #mkdir -p /tmp/${_paket}_kurtarma
[ -f /tmp/${_paket}_kd.liste ] && rm -rf /tmp/${_paket}_kd.liste [ -f /tmp/${_paket}_kd.liste ] && rm -rf /tmp/${_paket}_kd.liste
[ -f /tmp/${_paket}_ep.liste ] && rm -rf /tmp/${_paket}_ep.liste [ -f /tmp/${_paket}_ep.liste ] && rm -rf /tmp/${_paket}_ep.liste
@ -1870,7 +1882,7 @@ silme_etkilenme(){
_edosya=$(echo ${_isatir} | cut -d ':' -f2) _edosya=$(echo ${_isatir} | cut -d ':' -f2)
_ipaket=$(basename $(dirname ${_esatir})) _ipaket=$(basename $(dirname ${_esatir}))
_ustdizin=$(dirname ${_edosya//[\']/}) _ustdizin=$(dirname ${_edosya//[\']/})
mkdir -p /tmp/${_paket}_kurtarma/${_ustdizin} #mkdir -p /tmp/${_paket}_kurtarma/${_ustdizin}
[ ! -f ${_edosya//[\']/} ] && echo "${_edosya//[\']/} dosyası eksik!" [ ! -f ${_edosya//[\']/} ] && echo "${_edosya//[\']/} dosyası eksik!"
# eksik dosyalar onaylı yekur yapılacak. # eksik dosyalar onaylı yekur yapılacak.
# /var/lib/pkg/kurtarma altına kopayalama seçimli olacak. # /var/lib/pkg/kurtarma altına kopayalama seçimli olacak.
@ -1880,11 +1892,17 @@ silme_etkilenme(){
done done
fi fi
done done
sort -u ${_kliste} > /tmp/${_paket}_kd.liste if [ -s ${_kliste} ];then
sort -u ${_eliste} > /tmp/${_paket}_ep.liste sort -u ${_kliste} > /tmp/${_paket}_kd.liste
$_yaz "etkilenen konumlar"
cat /tmp/${_paket}_kd.liste
fi
if [ -s ${_eliste} ];then
sort -u ${_eliste} > /tmp/${_paket}_ep.liste
$_yaz "etkilenen paketler"
cat /tmp/${_paket}_ep.liste
fi
rm -rf ${_eliste} ${_kliste} rm -rf ${_eliste} ${_kliste}
$_yaz "etkilenen paketler"
cat /tmp/${_paket}_ep.liste
} }
etkilenen_kurtar(){ etkilenen_kurtar(){