Удаление приложения/программы/сервиса установлено через *.sh сценарий

Я установил программу с помощью install.sh из командной строки, но она не отвечает следовательно потребность удалить его. Как удалить такую программу? Большое спасибо заранее. Вот сценарий оболочки.

#! /bin/bash

FILE_NAME=Photon_3G
NEW_FILE_PATH_TATA=Photon_3G/ZTE/MF190
EXE_FILE=Photon_3G
DISPLAY_NAME="Photon 3G"
SYS_PATH=/opt
INSTALL_PATH=$SYS_PATH/$NEW_FILE_PATH_TATA
LANGUAGE=English
#DRIVER_NAME=linuxdriveronda1.0.1
QM_NAME=ondatim_lan.qm
HELP=help
#HELP=help.html     cancel by ChenYing 2009-2-13
#HELPFILES=index_files
RUN_EVINCE=$SYS_PATH/$NEW_FILE_PATH_TATA/Data/launchFirefox.sh
UPDATE_FILE=update
APLAY=$SYS_PATH/$NEW_FILE_PATH_TATA/Data/aplay.sh   #added by ChenYing 2009-11-26

#********************************************************
#Define variable-two-frase-production-by-yh-20090822---begin---------
TWO_ON=true   # true or false
PATH_NAME=`dirname $0`
TMP_DIR_NAME=/tmp
TWO_FRASE_TEMP_DIR=$TMP_DIR_NAME/two_phase_temp
TWO_FRASE_CONFIG_FILE_MODEM=/PCCFG/Description.xml
DES_DIR=$INSTALL_PATH
ZIP_FILE_NAME=$TWO_FRASE_TEMP_DIR/lu.zip
TEMP_DIR=$TWO_FRASE_TEMP_DIR/temp
LAST_RUN=$INSTALL_PATH/last_run.sh
CHOOSE_LANGUAGE_RUN=$TEMP_DIR/choose_language.sh
#Define variable-two-frase-production-by-yh-20090822---end------------
#********************************************************

if [ -f $INSTALL_PATH/$EXE_FILE ]; then
   echo "****** Fail to install !!! "
    echo the "$EXE_FILE" has been installed.
   read -p "press any key to exit.... " -n 1
    exit -1
fi

echo "..................start install................."
echo -n "*** Check for root..."
if [ $EUID -ne 0 ]; then
    echo -e "\b\b\b - failed"
    echo "*** Please retry as root user."
        read -p "press any key to exit.... " -n 1
    exit -1
fi
echo "ok..."
#Select the language for the installation form the choices below.
#      (1) English
#      (2) Italian
#      (3) Spanish
#      (4) Simplified Chinese
#      (5) Traditional Chinese "
#echo "Please input number (1,2,3,4 or 5):"
#read S_NUMBER
#
#if [ $S_NUMBER == "1" ];then
#   LANGUAGE=English
#elif [ $S_NUMBER == "2" ];then
#   LANGUAGE=Italian
#elif [ $S_NUMBER == "3" ];then
#   LANGUAGE=Spanish
#elif [ $S_NUMBER == "4" ];then
#   LANGUAGE=Simplified_Chinese
#elif [ $S_NUMBER == "5" ];then
#   LANGUAGE=Traditional_Chinese
#else
#   LANGUAGE=English
#fi

#********************************************************
#Download files-two-frase-production-by-yh-20090822---begin---------
rettfp=3
if [ $TWO_ON == 'true' ];then
    if [ -d $TWO_FRASE_TEMP_DIR ]; then
            rm -rf $TWO_FRASE_TEMP_DIR
    fi
    mkdir -p $TWO_FRASE_TEMP_DIR

        if [ -f $PATH_NAME/zr ];then
        chmod +x $PATH_NAME/zr
            $PATH_NAME/zr $TWO_FRASE_CONFIG_FILE_MODEM $TWO_FRASE_TEMP_DIR
            rettfp=$?
        fi

    if [ $rettfp == '5' -o $rettfp == '6' -o $rettfp == '7' ];then
            echo -e "Stage 5"
        #   echo -e "Can not complete the installation. Installation will abort."
        #   echo -e "Please try to install again."
        #       read temp_1
        #   exit -1
    elif [  $rettfp == '3'  -o  $rettfp == '4'  ];then
            echo -e "Stage 3"
    else
            echo -e "Get resouse file successfully."
    fi

fi

#Download files-two-frase-production-by-yh--20090822--end----------

#gaoxiang added 2009.4.16 for change NetworkManager.conf
####
#CONF_FILE="/etc/dbus-1/system.d/NetworkManager.conf"
#if [ -f $CONF_FILE ]; then
#        echo .............modify NetworkManager.conf...............
#        sed '/send_interface=\"org\.freedesktop\.NetworkManager\"/s/allow/deny/g' $CONF_FILE > NetworkManager.conf.temp
#        mv -f NetworkManager.conf.temp $CONF_FILE
#        /etc/init.d/NetworkManager restart
#fi
#end of gaoxiang


#delete first
if [ -f $INSTALL_PATH/$FILE_NAME ];then
    rm -rf $INSTALL_PATH
        rm -f /bin/$FILE_NAME
fi

if [ -f $INSTALL_PATH/$EXE_FILE ];then
    rm -rf $INSTALL_PATH
        rm -f /bin/$EXE_FILE
fi

TMP_FILE=/etc/defaultwvdial.conf
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

TMP_FILE=/etc/ppp/defaultoptions
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

TMP_FILE=/etc/ppp/defaultresolv.conf
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

TMP_FILE=/etc/defaultresolv.conf
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

TMP_FILE=/usr/share/applications/$FILE_NAME*.desktop
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

TMP_FILE=/usr/share/pixmaps/$FILE_NAME*.png
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

#delete autorun files
TMP_FILE=/sbin/join-air-launch.sh
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

TMP_FILE=/etc/udev/rules.d/998-join-air.rules
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

TMP_FILE=/etc/udev/rules.d/9-cdrom.rules
if [ -f $TMP_FILE ];then
    rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

cp -f $FILE_NAME.tar.gz $SYS_PATH/$FILE_NAME.tar.gz
cd $SYS_PATH
tar -zxvf $FILE_NAME.tar.gz

#********************************************************
#Replace files-two-frase-production-by-yh--20090822--begin---------
if [ $TWO_ON == 'true' -a $rettfp == '0' ];then
    # unzip files
    unzip > /dev/null
    ret=$?
    if [ $ret != '0' ]; then
        echo -e "Can not find unzip."
        echo -e "Installation will abort."
        exit -1
    fi

    unzip -o $ZIP_FILE_NAME -d $TEMP_DIR
    retunz=$?
    if [ $retunz != '0' ]; then
        echo -e "unzip $ZIP_FILE_NAME failed."
        echo -e "Installation will abort."
        exit -1
    else
        echo -e "unzip $ZIP_FILE_NAME successfully."
    fi


    RETURN_CHOOSE_LANG=1
    if [ $rettfp == '0' -a -f $CHOOSE_LANGUAGE_RUN ];then
        chmod +x $CHOOSE_LANGUAGE_RUN
        $CHOOSE_LANGUAGE_RUN
        RETURN_CHOOSE_LANG=$?
    fi

    #change permission
    #chmod 0755 -R $TEMP_DIR
    #chmod u+s  -R $TEMP_DIR

    # backup destination directory
    BACKUP_DES_DIR=$TWO_FRASE_TEMP_DIR/backup_for_desDir
    if [ -d $BACKUP_DES_DIR ];then
        rm -rf $BACKUP_DES_DIR
    fi
    mkdir -p $BACKUP_DES_DIR
    cp -rf $DES_DIR/* $BACKUP_DES_DIR/

    #start to replace
    cp -rf $TEMP_DIR/* $DES_DIR/
    retplace=$?
    if [ $retplace != '0' ];then
        cp -rf $BACKUP_DES_DIR/* $DES_DIR/
        echo -e "Replacing file failed."
        echo -e "Installation will abort."
        exit -1;
    else
        echo -e "Repalcing file successfully."
        rm -rf $BACKUP_DES_DIR
    fi

fi
#Replace files-two-frase-production-by-yh--20090822--end---------
#********************************************************

SYS_PPP_DIR="/etc/ppp"
if [ -e $SYS_PPP_DIR -a -d $SYS_PPP_DIR ];then
    chmod a+x $SYS_PPP_DIR
fi

PEERS_DIR="/etc/ppp/peers"
if [ -e $PEERS_DIR -a -d $PEERS_DIR ];then
    chmod a+x $PEERS_DIR
fi

chmod 0755 $INSTALL_PATH/pppd/ip-up.local
cp -f  $INSTALL_PATH/pppd/ip-up.local /etc/ppp/ip-up.local

chmod 0755 $INSTALL_PATH/pppd/ip-down.local
cp -f $INSTALL_PATH/pppd/ip-down.local /etc/ppp/ip-down.local

chmod 0755 $INSTALL_PATH/pppd/get_route_info
cp -f $INSTALL_PATH/pppd/get_route_info /etc/ppp/get_route_info

chmod 0755 $INSTALL_PATH/usr/share/applications/$EXE_FILE.desktop
cp -f $INSTALL_PATH/usr/share/applications/$EXE_FILE.desktop /usr/share/applications/$EXE_FILE.desktop

chmod 0755 $INSTALL_PATH/usr/share/pixmaps/$EXE_FILE.png
cp -f $INSTALL_PATH/usr/share/pixmaps/$EXE_FILE.png /usr/share/pixmaps/$EXE_FILE.png

chmod 0755 $INSTALL_PATH/bin/$EXE_FILE
cp -f $INSTALL_PATH/bin/$EXE_FILE /bin/$EXE_FILE

chmod 0755 /usr/bin/wvdial
chmod 0755 /usr/sbin/pppd
chmod 0755 $RUN_EVINCE
chmod 0755 $APLAY   #added by ChenYing 2009-11-26

chmod a+x $INSTALL_PATH/Data/run_evince.sh
#xt add update script 090617
chmod 0755 $SYS_PATH/$NEW_FILE_PATH_TATA/$UPDATE_FILE
cd $SYS_PATH/$NEW_FILE_PATH_TATA/usr/lib
cp * /usr/lib

if [ "$(cat /etc/lsb-release | grep Ubuntu)" != "" ];then
    if [ ! -L /usr/lib/libcurl.so.4 ];then
    ln -s /usr/lib/libcurl-gnutls.so.4 /usr/lib/libcurl.so.4
    fi
elif [ "$(cat /etc/debian_version)"=="4.0" ];then
    if [ ! -L /usr/lib/libcurl.so.4 ];then
    ln -s /usr/lib/libcurl.so.3.0.0 /usr/lib/libcurl.so.4
    fi
fi
#add end 090617
TMP_FILE=/etc/wvdial.conf
if [ -f $TMP_FILE ];then
    chmod 0755 $TMP_FILE
else
    cp -f $INSTALL_PATH/Data$TMP_FILE  $TMP_FILE
    chmod 0755 $TMP_FILE  
fi

TMP_FILE=/etc/ppp/options
if [ -f $TMP_FILE ];then
    chmod 0755 $TMP_FILE
else
    cp -f $INSTALL_PATH/Data$TMP_FILE  $TMP_FILE
    chmod 0755 $TMP_FILE 
fi


TMP_FILE=/etc/ppp/resolv.conf
if [ -f $TMP_FILE ];then
    chmod 0755 $TMP_FILE
else
    cp -f $INSTALL_PATH/Data$TMP_FILE  $TMP_FILE
    chmod 0755 $TMP_FILE 
fi

TMP_FILE=/etc/resolv.conf
if [ -f $TMP_FILE ];then
    chmod 0755 $TMP_FILE
else
    cp -f $INSTALL_PATH/Data$TMP_FILE  $TMP_FILE
    chmod 0755 $TMP_FILE
fi

#add by ChenYing 2009-3-5
TMP_FILE=/etc/resolv.conf.bak
if [ -f $TMP_FILE ];then
    chmod 0755 $TMP_FILE
fi

TMP_FILE=/etc/resolv.conf.prev
if [ -f $TMP_FILE ];then
    chmod 0755 $TMP_FILE
fi

TMP_FILE=/etc/ppp/peers/wvdial
if [ -f $TMP_FILE ];then
    chmod 0755 $TMP_FILE
else
    cp -f $INSTALL_PATH/Data$TMP_FILE  $TMP_FILE
    chmod 0755 $TMP_FILE
fi

#Language Select and help file
#TMP_FILE=$INSTALL_PATH/bin/$LANGUAGE/$QM_NAME
#if [ -f $TMP_FILE ];then
#    chmod 0755 $TMP_FILE
#    cp -f $TMP_FILE  $INSTALL_PATH/Data/$QM_NAME
#fi
#TMP_FILE=$INSTALL_PATH/bin/$LANGUAGE/$HELP
#cp -r $TMP_FILE $INSTALL_PATH/Data

chmod 0777 $SYS_PATH
chmod 0777 $SYS_PATH/$FILE_NAME
chown root.root $INSTALL_PATH/$EXE_FILE
chmod 0755 $INSTALL_PATH/$EXE_FILE
chmod u+s $INSTALL_PATH/$EXE_FILE
chmod 0755 $INSTALL_PATH/uninstall.sh

#install language
echo "install the fonts..."
cp -rf $INSTALL_PATH/Data/fonts/Arial /usr/share/fonts/truetype/
echo "refurbish the font cache..."
fc-cache
#

TMP_FILE=$INSTALL_PATH/bin/9-cdrom.rules
cp -f $TMP_FILE  /etc/udev/rules.d/9-cdrom.rules
#if locate udevadm >/dev/null 2>&1
if [ -f /sbin/udevadm ]
then
    /sbin/udevadm control reload_rules >/dev/null 2>&1
    /sbin/udevadm control --reload-rules >/dev/null 2>&1
    /sbin/udevadm trigger --subsystem-match=block
    echo "udevadm is exist!"
else
    /sbin/udevcontrol reload_rules
    /sbin/udevtrigger --subsystem-match=block
    echo "udevadm isn't exist!"
fi
rm -f  $INSTALL_PATH/bin/9-cdrom.rules

#remove temp file
rm -f $SYS_PATH/$FILE_NAME.tar.gz

#modified by ChenYing 2009-5-5, install driver begin xt add 081126
echo ******Begin to $INSTALL_PATH/driver
cd $INSTALL_PATH/driver
chmod 0755 driver_install.run
./driver_install.run
echo ****** End to $INSTALL_PATH/driver
#install driver end

#added SeLinux's moudle by ChenYing
cd $INSTALL_PATH/driver
chmod 0755 se
if [ -n "`uname -r |grep fc`" ];then   
    ./se "/usr/sbin/semodule -i disselfirefox.pp"
    ./se "/usr/sbin/semodule -i nm.pp"
    echo "it's ok!"
fi
#the end

#change user group
while read LINE
do
    USER2CH=${LINE%%:*}
    LINE=${LINE#*:}
    LINE=${LINE#*:}
    USER_ID=${LINE%%:*}

    if [ $USER_ID -ge 1000 ];then
        if [ $USER2CH != "nobody" ]; then
            #echo $USER2CH:$USER_ID
            /usr/sbin/usermod -a -G  netdev,dialout,dip $USER2CH
        fi
    fi
done < /etc/passwd


TMP_FILE=$INSTALL_PATH/launch-gui.sh
if [ -f $TMP_FILE ];then
    chown root.root $TMP_FILE
    chmod 0755  $TMP_FILE
    chmod u+s  $TMP_FILE
    cp -f $TMP_FILE  /bin
fi

#restore Data
   cd ~
   RESTOREPAH=$(pwd)
   cd -
   if [ -e $RESTOREPAH/sms.xml -o -e $RESTOREPAH/contact.xml -o -e $RESTOREPAH/historyRecord.xml ];then
      echo "restain path is $RESTOREPAH"
      echo "Do you want to restore saved user data?(y/n):"
      read SELECT
      if [ $SELECT == "Yes" -o $SELECT == "yes" -o $SELECT == "y" -o $SELECT == "Y" ];then
         TMP_FILE=$RESTOREPAH/sms.xml
         if [ -f $TMP_FILE ];then
            rm -rf $INSTALL_PATH/Data/sms.xml
            cp -f $TMP_FILE $INSTALL_PATH/Data/
            echo "....sms data has been restored"
         fi

         TMP_FILE=$RESTOREPAH/contact.xml
         if [ -e $TMP_FILE ];then
            rm -rf $INSTALL_PATH/Data/contact.xml
            cp -f $TMP_FILE $INSTALL_PATH/Data/
            echo "....contact data has been resotored"

         fi

         TMP_FILE=$RESTOREPAH/historyRecord.xml
         if [ -e $TMP_FILE ];then
            rm -rf $INSTALL_PATH/Data/historyRecord.xml
            cp -f $TMP_FILE $INSTALL_PATH/Data/
            echo "....historyRecord data has been resotored"

         fi
         echo "data has been  restored successfully"
      fi

    fi

#********************************************************
#Update -two-frase-production-by-yh--20090822--begin---------

if [ $TWO_ON == 'true' -a $rettfp == '0' -a -f $LAST_RUN ];then
            chmod +x $LAST_RUN
            $LAST_RUN $RETURN_CHOOSE_LANG
else
    echo "install completed!!!"

    echo  "....After setup, you will find the $DISPLAY_NAME in \"Applications->Internet->$DISPLAY_NAME\". Click the $DISPLAY_NAME and the application will run"

    read -p "press any key to continue.... " -n 1
    #run
    $EXE_FILE
fi

#Update-two-frase-production-by-yh--20090822--end---------
#********************************************************
0
задан 31 March 2014 в 13:31

2 ответа

Я должен действительно путать, если строка 4,7, 8 и 360 не означает, что существует просто сценарий удаления в

/opt/Photon_3G/ZTE/MF190/uninstall.sh

С тех пор в строке строки 360, это показывает, что должен быть сценарий деинсталлятора:

chmod 0755 $INSTALL_PATH/uninstall.sh

, в то время как в lineline 4/7:

NEW_FILE_PATH_TATA=Photon_3G/ZTE/MF190
SYS_PATH=/opt

и в строке 8:

INSTALL_PATH=$SYS_PATH/$NEW_FILE_PATH_TATA

В более общем плане:

Любое надлежащее приложение, установленное */sh, должно было описать в, он - файл README, где-нибудь в zip-файле, который Вы, вероятно, загрузите, как удалить. Кроме того, когда Вы устанавливаете, в окне терминала Вы будете много раз видеть команду, как удалить. Если бы Вы забыли, прагматическая процедура должна была бы установить еще раз, таким образом, можно читать, как удалить.

я постарался бы не вручную удалять приложение, если это возможно, потому что трудно знать то, что на самом деле сделал сценарий установщика.

1
ответ дан 8 October 2019 в 10:26

Таким образом, это походит на tha основная программа , это - все в одной папке.

Для удаления его я могу попробовать:

sudo rm -R /opt/Photon_3G

, Но быть осторожен вызывают установщик, который это также изменяет содержание из нескольких файлов, и добавьте других тут и там. Это - хитрый материал. Они действительно должны предоставить Вам деинсталлятор... так или иначе, можно исследовать изменения, которые они сделали только схватывание сценария. Вы найдете места назначения как:

/etc/ppp/ip-up.local
/etc/ppp/ip-down.local
/etc/ppp/get_route_info

/etc/wvdial.conf
/etc/ppp/resolv.conf
/etc/resolv.conf.prev

, Что необходимо проверить. Но конечно необходимо знать то, что является Вами наблюдение, и, что более важно, необходимо понять то, чего Вы касаетесь, прежде изменяют любой из них. Это не легкая задача. Извините.

0
ответ дан 8 October 2019 в 10:26

Другие вопросы по тегам:

Похожие вопросы: