Пакетный файл установки Трассировщика Cisco создает резервную копию моего корневого каталога?

Используя сценарий установки для пакетного трассировщика отсюда создает резервную копию данных в моем корневом каталоге по некоторым причинам, прежде чем установка запустится. Кто-либо знает почему? Вот сценарий - paste.ubuntu.com/10975482/
Обновление: вот некоторые новые выводы от терминала

Installing into /home/eric/pt cp: cannot stat ‘./Downloads/Windows10_InsiderPreview_x64_EN-US_10074(1).iso.part’: No such file or directory cp: cannot copy a directory, ‘./pt’, into itself, ‘/home/eric/pt/pt’
Я сказал этому устанавливать на '/home/username/pt, Это взяло мое домашнее содержание и скопировало их в то местоположение... почему?
Это даже не устанавливало. packettracer файл пуст Image from backup

Обновление: 'Установленное' использование Этого руководства

sudo sh PacketTracer533_i386_installer-deb.bin
sudo./PacketTracer533_i386_installer-deb.bin

Но я не могу запуститься как команда packettracer завершения без любых сообщений об ошибках, как делает packettracer --help и packettracer -h Обновление: установка libgtk2.0-0:i386 зафиксированный запуск GUI, но не терминальный.

1
задан 3 May 2015 в 00:12

3 ответа

if [ -e $IDIR ]; then
    read -p "It appears that Packet Tracer is already installed.  Do you wish to replace it? [Yn] " NEEDREPLACE
    if [ "$NEEDREPLACE" = "y" ] || [ "$NEEDREPLACE" = "Y" ] || [ -z $NEEDREPLACE ]; then
        sudo rm -rf $IDIR
    else
        echo "Program Terminated"; exit 0
    fi
fi

Это rm написания беспокоятся... при установке программного обеспечения в / системы не стало при установке его в/home/$USER/Вы,/home/$USER/не стало. Причина? Здесь нет НИКАКОЙ проверки работоспособности:

echo "You have accepted the terms to the EULA. Congratulations. Packet Tracer will now be installed."
    read -p "Enter location to install Cisco Packet Tracer or press enter for default [/opt/pt]: " IDIR

if [ -z $IDIR ]; then
    IDIR="/opt/pt"
fi

IDIR должен всегда добавлять/pt к входу, если пользователь не вставляет его themself. Они сделали это для значения по умолчанию, они не сделали этого для ввода данных пользователем. Очень очень плохо.

Теперь отсюда все вещи заканчиваются в путанице. Причина Вы видите, что Вы размещаете быть скопированным, состоит в том, потому что Вы не добавили/pt/часть во входе, и те идиоты не добавили его themself.

if mkdir $IDIR > /dev/null 2>&1; then
    if cp -r $SDIR/* $IDIR; then
        echo Copied all files successfully to $IDIR
    fi

Здесь они копируют SDIR в IDIR. SDIR определяется как

DIR=`dirname $_`

dirname: "получит имя пути к каталогу от пути, игнорирующего любые запаздывающие наклонные черты". Это означает текущий dir и затем 1. Таким образом, они принимают здесь, Вы вставили/home/$USER/pt/, и затем хотят сделать копию из этого. Снова они забыли проверять, нормально ли то, что происходит здесь: это записывает проблему, так как она идет 1 каталог назад и копии это. Плохо.


Все должны быть в порядке, если Вы выбираете значение по умолчанию (/opt/pt/). Следите за этим, FHS указывает, что стороннее программное обеспечение должно быть установлено в/opt/и если Вы будете придерживаться этого, то это пойдет, как предназначено. Но создатель этого должен получить предупреждение: это - плохо записанный сценарий.

2
ответ дан 3 December 2019 в 06:41

Я извлек содержание к папке, затем изменил мой pwd на ту папку. Я запустил скрипт установки путем ввода./устанавливать при подсказке, и это скопировало только содержание в pt папке. Это не скопировало мое содержание Настольного или Корневого каталога. Компьютер перезагрузки и тип packettracer из командной строки.Готово!

1
ответ дан 10 November 2019 в 08:22

Скрипт не должен быть запущен от Вашей домашней папки. Это должно быть выполнено от папки, содержащей только packettracer активы.

Посмотрите

SDIR=`dirname $_`
...
cp -r $SDIR $IDIR

И, я полностью не устанавливаю двоичный файл deb от mediafire. Не может помочь Вам с той частью.

2
ответ дан 3 December 2019 в 06:41

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

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