Packet Tracer 7 no Debian 10

Este artigo demonstra a instalação do Packet Tracer na versão 10 do Debian.

[ Hits: 2.174 ]

Por: Sérgio Abreu em 22/08/2019


Instalação



Olá, caros colegas!

Me deparei com algumas dificuldades para instalar o Packet Tracer no Debian 10. A instalação é simples, mas há uma dependência que não é tão simples assim de executar, pelo menos não foi.

Venho com o intuito de auxiliar a instalação da aplicação.

Instalação básica

O primeiro passo aqui, vai ser efetuar o download e isso só é feito dentro do site da CISCO, onde é necessário fazer o cadastro para ter acesso. Eu resolvi não fazer essa parte, porque é de praxe e não há uma relação direta com a instalação, com exceção do fato de que o download deve ser feito por lá.

Feito isso, vamos criar uma pasta para extrair o arquivo baixado:

mkdir packet

Feito isso, vamos dar o comando para extrair o arquivo para dentro daquela pasta:

tar zxvf packet_tracer_7.2.1_for_linux_64_bit.tar.gz -C packet
Linux: Packet Tracer 7 no Debian 10
Vamos acessar a pasta e dar o comando de instalação:

./install

Aparecerá a tela de EULA, que são os termos de uso do Packet Tracer.

Pressione Enter para entrar na EULA.
Linux: Packet Tracer 7 no Debian 10
Uma vez aberta a EULA, é só apertar a letra q do seu teclado que vai direto para o aceite, com a tecla Y.
Linux: Packet Tracer 7 no Debian 10
Linux: Packet Tracer 7 no Debian 10
Será informado o local de instalação padrão. Eu deixei assim e pressionei Enter para dar continuidade:
Linux: Packet Tracer 7 no Debian 10
Logo depois, será criado um link simbólico com o nome "packettracer" dentro de /usr/local/bin.

Pressione Y e dê um Enter para confirmar:
Linux: Packet Tracer 7 no Debian 10
O packet Tracer foi instalado, mas não vai rodar ainda.
Linux: Packet Tracer 7 no Debian 10

Instalação das dependências

Existem 2 dependências que darão dor de cabeça para instalar, mas aqui está a sua solução!

Baixe a primeira dependência, que é a "libpng12-0". Ela terá que ser baixada e instalada de uma forma não muito utilizada:

wget http://ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb

# dpkg -x libpng12-0_1.2.50-2+deb8u3_amd64.deb /tmp
# cp tmp/lib/x86_64-linux-gnu/libpng12.so.0 /opt/pt/bin/
Linux: Packet Tracer 7 no Debian 10
Repare que o comando DPKG foi instalado com o argumento "-x", onde ele fica executável.

Depois dessa primeira dependência, você já consegue abrir o Packet Tracer, mas ele não abrirá a tela de login e nem passará a rodar com Guest.

Então, instalamos a segunda dependência, dessa vez de forma normal.

wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb

# dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
Linux: Packet Tracer 7 no Debian 10
Por fim, vamos criar um atalho para que você possa executar o pack Tracer direto do seu menu iniciar.

Para isso, vamos criar o arquivo "PT.desktop" dentro do diretório onde ficam os atalhos.

# nano /usr/share/applications/PT.desktop

Cole os dados a baixo, para que fique igual à imagem:

[Desktop Entry]
Name=Cisco Packet Tracer
Comment=Simulatore di reti
GenericName=Simulatore
X-GNOME-FullName=Cisco Packet Tracer 7.2
Exec=/opt/pt/packettracer
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/opt/pt/art/app.png
Categories=Network;
StartupWMClass=PT
StartupNotify=true

Linux: Packet Tracer 7 no Debian 10
Salve o arquivo e rode feliz seu Packet Tracer!
Linux: Packet Tracer 7 no Debian 10
Espero ter ajudado a todos!
Abraço!

   

Páginas do artigo
   1. Instalação
Outros artigos deste autor

Indicador de Caps Lock

Instalação do GLPI no Debian 8

Leitura recomendada

Tutorial hadoop - Guia prático de um cluster com 3 computadores

Criando um template customizado para o CACTI

Observium - Monitoramento de Rede

VLAN Tagging nos sistemas GNU/Linux derivados do Red Hat

Simulando redes com o GNS

  
Comentários
[1] Comentário enviado por alison_rmx em 26/08/2019 - 09:37h

Show de bola amigo! parabens atire a primeira pedra quem nunca sofreu para instalar packet no linux haha


0100000101101100011010010111001101101111011011100010000001001101011000010111001001101001011011100110100001101111

Ideas For Life.

[2] Comentário enviado por ssdabreu em 07/09/2019 - 11:30h


[1] Comentário enviado por alison_rmx em 26/08/2019 - 09:37h

Show de bola amigo! parabens atire a primeira pedra quem nunca sofreu para instalar packet no linux haha


0100000101101100011010010111001101101111011011100010000001001101011000010111001001101001011011100110100001101111

Ideas For Life.


Muito obrigado meu nobre... Foi sofrido para entender o que havia de errado mas desse jeito ai deu certo!

[3] Comentário enviado por romulloalves em 09/09/2019 - 20:36h

Olá, ssdabreu. Primeiramente parabéns pelo artigo!

Estava seguindo os passos para realizar a instalação em questão, no passo da instalação da primeira dependência, me deparo com a mensagem abaixo:

root@debian:/home/romullo/packet# cp tmp/lib/x86_64-linux-gnu/libpng12.so.0 /opt/pt/bin/
cp: não foi possível obter estado de 'tmp/lib/x86_64-linux-gnu/libpng12.so.0': Arquivo ou diretório inexistente

Pelo que analisei no meu diretório /lib, o x86_64-linux-gnu trata-se de um arquivo, e não um diretório. Pelo que entendi, por isso não consigo encontrar o libpng12.so.0.

Alguma sugestão de como devo passar desse passo?

Desde já agradeço.

[4] Comentário enviado por brunopvh em 17/09/2019 - 22:48h

Olá Rômulo Alves tenho a solução deste problema, recentemente tive problemas com a instalação do packettracer fiz um Script para resolver este problema não só da ibpng12.so.0, mas de todas as outras dependencias do packettracer no debian buster e ubuntu bionic. Funciona tanto para antiga instalação da versão 7.2 com ".tar.gz" quanto na nova com ".run"

Copie o contéudo abaixo, salve em um arquivo como por exemplo: ciscopt-buster.sh
de permissão de execução no arquivo, e em seguida rode o comando ./ciscopt-buster.sh

No menu PC com debian 10 Resolveu tudo. Poste um comentário novamente caso algo der errado


#!/usr/bin/env bash
#
#
# Versão: 2.2
# Ultima modificação: 2019-09-17
#
# Repositório:
# https://github.com/Brunopvh/cisco-pt-buster
# https://github.com/Brunopvh/cisco-pt-buster.git
#
# Execução:
#
# wget https://raw.githubusercontent.com/Brunopvh/cisco-pt-buster/master/ciscopt-buster.sh -O - ciscopt-buster.sh
#
#
#

clear


# Cores
amarelo="\e[1;33m"
Amarelo="\e[1;33;5m"
vermelho="\e[1;31m"
Vermelho="\e[1;31;5m"
verde="\e[1;32m"
Verde="\e[1;32;5m"
fecha="\e[m"

esp="------------------------------------------"

# Detectar sistema.
codinome_sistema=$(grep '^VERSION_CODENAME' /etc/os-release | sed 's|.*=||g')
nome_sistema=$(grep '^ID=' /etc/os-release | sed 's|.*=||g')

[[ $codinome_sistema == buster ]] || { echo -e "${vermelho}Seu sistema não e Debian buster $fecha"; exit 1; }

if [[ $USER == root ]] || [[ $UID == 0 ]]; then
echo -e "${vermelho}Usuário não pode ser o [root] $fecha"
exit 1
fi


# Links
ftp_us="http://ftp.us.debian.org/debian/pool/main"
security="http://security.debian.org/debian-security"

link_libpng12_deb8_amd64="${ftp_us}/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb"
link_libpng12_deb8_i386="${ftp_us}/libp/libpng/libpng12-0_1.2.50-2+deb8u3_i386.deb"
link_libssl1_deb8_amd64="${security}/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb"
link_libssl1_deb8_i386="${security}/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_i386.deb"

# Diretórios
DIR_APPS_LINUX="${HOME}"/"${codinome_sistema}"
DIR_INTERNET="${DIR_APPS_LINUX}/Internet"
dir_tmp_pt="${DIR_INTERNET}/cisco-pt72-amd64"
dir_libs="${HOME}/.local/tmp/libs"

arq_libssl1_deb8_amd64="${DIR_INTERNET}"/libssl1.0_deb8_amd64.deb
arq_libssl1_deb8_i386="${DIR_INTERNET}"/libssl1.0_deb8_i386.deb
arq_libpng12_deb8_amd64="${DIR_INTERNET}"/libpng12-0_deb8_amd64.deb

mkdir -p "$DIR_APPS_LINUX" "$DIR_INTERNET" "$dir_tmp_pt" "$dir_libs"

# export local_trab=$(dirname $0)
export readonly local_trab=$(dirname $(readlink -f "$0")) # Path do programa no sistema.

[[ ! -w "$local_trab" ]] && {
echo -e "Você não tem permissão de escrita em: $local_trab"
exit
}

# Função para verificar ou instalar os programas necessários.
function _apps_exist()
{
# $1 = programa a verificar ou instalar.
local msg="Necessário instalar : "
local msg_falha="Falha ao tentar instalar : "

[[ -x $(which $1) ]] || {
echo -e "${amarelo}$msg $1 ${fecha}"
sudo apt install -y $1
[[ $? == 0 ]] || { echo -e "${vermelho}$msg_falha $1 ${fecha}"; exit 1; }
}
}

_apps_exist 'zenity' # Zenity

_apps_exist 'gdebi' # Gdebi

_apps_exist 'wget' # Wget

#-------------------------[ Função para exibir mensagens com zenity ]----------#
function msgs_zenity()
{

# (Sim Não) --question --title="Abrir" --text="Abrir ePSxe agora ?"
#
# (Senha) --password --title="[sudo: $USER]"
#
# (Arquivo) --file-selection --title="Selecione o arquivo .bin" --file-filter="*.bin"
#
#(Erro) --error --title="Falha na autênticação" --text="Senha incorrenta"
#
# (Lista) --list --text "Selecione uma configuração" --radiolist --column "Marcar" --column "Configurar" FALSE Bios TRUE Sair
#
# (Info) --info --title="Reiniciar" --text="Reinicie seu computador para aplicar alterações"
#
# Resolução [--width="550" height="200", --width="300" height="150" ]

case "$1" in
--question) zenity "$1" --title="$2" --text="$3" --width="$4" --height="$5";;
--info) zenity "$1" --title="$2" --text="$3" --width="$4" --height="$5";;
--error) zenity "$1" --title="$2" --text="$3" --width="$4" --height="$5";;
--file-selection) zenity "$1" --title="$2" --file-filter="$3" --file-filter="$4";;
--list) zenity "$1" --title="$2" --text="$3" --width="$4" --height="$5" --column "$6" $7;;
esac

}

#---------------------------[ Instalar cisco pt ]-----------#
function _inst_ciscopkt()
{

echo 'Iniciando instalação...'

while true; do

arq_instalacao=$(msgs_zenity "--file-selection" "Selecionar arquivo" "*.tar.gz" "*.run")
nome_arq=$(echo $arq_instalacao | sed 's|.*/||g')

[[ -z "$arq_instalacao" ]] && exit 1

prosseguir=$(msgs_zenity "--list" "Usar este arquivo ?" "Continuar" "650" "250" "$nome_arq" "Sim Não")

# Descompactar e instalar packettracer.
if [[ "$prosseguir" == "Sim" ]] && [[ $(echo "$nome_arq" | egrep ".tar.gz$" ) ]]; then
echo 'Instalando .tar.gz'

sudo rm -rf "${dir_tmp_pt}"/* 1> /dev/null 2>&1s
tar xvzf "$arq_instalacao" -C "$dir_tmp_pt"
chmod +x "$dir_tmp_pt/install"
cd "$dir_tmp_pt/" && ./install
(_corrigir_arquivos)
break
elif [[ "$prosseguir" == "Sim" ]] && [[ $(echo "$nome_arq" | egrep ".run$" ) ]]; then
echo 'Instalando .run'
chmod +x "$arq_instalacao"
"$arq_instalacao"
#(_corrigir_arquivos)
break

elif [[ "$prosseguir" == "Não" ]]; then
echo 'Não...'
exit 1
break
else
echo 'Repetindo...'
continue
fi
done
} # Fim _inst_ciscopkt

#---------------------[ Função para instalar libs debian buster ]----------#
function _inst_libs_buster() {

# libssl1.0.0 deb8 amd64
[[ $(aptitude show libssl1.0.0 | grep '^Estado' | cut -d ' ' -f 2) == 'instalado' ]] || {
echo 'Instalando libssl1.0.0 amd64'
wget "$link_libssl1_deb8_amd64" -O "$arq_libssl1_deb8_amd64"
sudo gdebi-gtk "$arq_libssl1_deb8_amd64"
}

# libpng12 deb8 amd64
[[ -f '/opt/pt/bin/libpng12.so.0.50.0' ]] || {
echo 'Configurando libpng12'
wget "$link_libpng12_deb8_amd64" -O "$arq_libpng12_deb8_amd64"
sudo rm -rf "$dir_libs"/* 1> /dev/null 2>&1
sudo dpkg-deb -x "$arq_libpng12_deb8_amd64" "$dir_libs"
sudo cp -vu "${dir_libs}"/lib/x86_64-linux-gnu/libpng12.so.0.50.0 /opt/pt/bin/libpng12.so.0.50.0
sudo ln -sf /opt/pt/bin/libpng12.so.0.50.0 /opt/pt/bin/libpng12.so.0
}

}


#---------------------[ Função para instalar libs em ubuntu bionic ]----------#
function _inst_libs_bionic()
{

wget "$link_libpng12_deb8_amd64" -O "$arq_libpng12_deb8_amd64"
sudo apt install libssl1.0.0 -y

sudo rm -rf "$dir_libs"/* 1> /dev/null 2>&1
sudo dpkg-deb -x "$arq_libpng12_deb8_amd64" "$dir_libs"
sudo cp -vu "${dir_libs}"/lib/x86_64-linux-gnu/libpng12.so.0.50.0 /opt/pt/bin/libpng12.so.0.50.0
sudo ln -sf /opt/pt/bin/libpng12.so.0.50.0 /opt/pt/bin/libpng12.so.0
}



#--------------------[ Função para corrigir arquivos ]----------------#
function _corrigir_arquivos()
{

# /opt/pt/tpl.linguist
[[ -f '/opt/pt/tpl.linguist' ]] && { sudo sed -i "s|PTDIR=.*|PTDIR=/opt/pt|g" /opt/pt/tpl.linguist; }

# /opt/pt/tpl.packettracer
[[ -f '/opt/pt/tpl.packettracer' ]] && { sudo sed -i "s|PTDIR=.*|PTDIR=/opt/pt|g" /opt/pt/tpl.packettracer; }

# Arquivo pt7.desktop
[[ -f '/opt/pt/bin/Cisco-PacketTracer.desktop' ]] && {
sudo cp -u '/opt/pt/bin/Cisco-PacketTracer.desktop' '/usr/share/applications/'
[[ -f '/usr/share/applications/pt7.desktop' ]] && sudo rm '/usr/share/applications/pt7.desktop'
}
} # Fim de corrigir arquivos


#-----------------------------------[ Dependências ]----------------------#
function _inst_dependencias()
{

echo 'Instalando: gdebi aptitude multiarch-support qtmultimedia5-dev libqt5script5 libqt5scripttools5'
echo ' '

# Suporte a 32 bits disponível ?.
[[ $(dpkg --print-foreign-architectures | grep i386) == "i386" ]] || { sudo dpkg --add-architecture i386; }
sudo apt update
sudo apt install --yes gdebi aptitude multiarch-support qtmultimedia5-dev libqt5script5 libqt5scripttools5

[[ -d "$dir_tmp_pt" ]] && sudo rm -rf "$dir_tmp_pt"
}

# Instalar dependências antes de instalar o programa.
(_inst_dependencias)

# Executar a função de instalação se packettracer não estiver nas condições abaixo.
if [[ ! -x $(which packettracer) ]] || [[ ! -x /opt/pt/bin/PacketTracer7 ]]; then

instalar_agora=$(msgs_zenity "--list" "Instalar" "Selecione" "650" "250" "Instalação" "Instalar Sair")

if [[ "$instalar_agora" == "Instalar" ]]; then
(_inst_ciscopkt) # Debian/Ubuntu.
else
exit 0
fi

fi

# Checar se local de instalação é '/opt/pt/bin'
[[ -x /opt/pt/bin/PacketTracer7 ]] || { echo 'Cisco-PacketTracer não instalado em: [/opt/pt] saindo...'; exit 1; }

(_corrigir_arquivos)

case "$codinome_sistema" in
buster) (_inst_libs_buster);; # Debian.
bionic) (_inst_libs_bionic);; # Ubuntu.
esac

msgs_zenity "--info" "Reiniciar" "Reinicie seu computador para aplicar alterações" "550" "150"

sudo -K

[5] Comentário enviado por romulloalves em 18/09/2019 - 00:13h


[4] Comentário enviado por brunopvh em 17/09/2019 - 22:48h

Olá Rômulo Alves tenho a solução deste problema, recentemente tive problemas com a instalação do packettracer fiz um Script para resolver este problema não só da ibpng12.so.0, mas de todas as outras dependencias do packettracer no debian buster e ubuntu bionic. Funciona tanto para antiga instalação da versão 7.2 com ".tar.gz" quanto na nova com ".run"

Copie o contéudo abaixo, salve em um arquivo como por exemplo: ciscopt-buster.sh
de permissão de execução no arquivo, e em seguida rode o comando ./ciscopt-buster.sh

No menu PC com debian 10 Resolveu tudo. Poste um comentário novamente caso algo der errado


#!/usr/bin/env bash
#
#
# Versão: 2.2
# Ultima modificação: 2019-09-17
#
# Repositório:
# https://github.com/Brunopvh/cisco-pt-buster
# https://github.com/Brunopvh/cisco-pt-buster.git
#
# Execução:
#
# wget https://raw.githubusercontent.com/Brunopvh/cisco-pt-buster/master/ciscopt-buster.sh -O - ciscopt-buster.sh
#
#
#

clear


# Cores
amarelo="\e[1;33m"
Amarelo="\e[1;33;5m"
vermelho="\e[1;31m"
Vermelho="\e[1;31;5m"
verde="\e[1;32m"
Verde="\e[1;32;5m"
fecha="\e[m"

esp="------------------------------------------"

# Detectar sistema.
codinome_sistema=$(grep '^VERSION_CODENAME' /etc/os-release | sed 's|.*=||g')
nome_sistema=$(grep '^ID=' /etc/os-release | sed 's|.*=||g')

[[ $codinome_sistema == buster ]] || { echo -e "${vermelho}Seu sistema não e Debian buster $fecha"; exit 1; }

if [[ $USER == root ]] || [[ $UID == 0 ]]; then
echo -e "${vermelho}Usuário não pode ser o [root] $fecha"
exit 1
fi


# Links
ftp_us="http://ftp.us.debian.org/debian/pool/main"
security="http://security.debian.org/debian-security"

link_libpng12_deb8_amd64="${ftp_us}/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb"
link_libpng12_deb8_i386="${ftp_us}/libp/libpng/libpng12-0_1.2.50-2+deb8u3_i386.deb"
link_libssl1_deb8_amd64="${security}/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb"
link_libssl1_deb8_i386="${security}/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_i386.deb"

# Diretórios
DIR_APPS_LINUX="${HOME}"/"${codinome_sistema}"
DIR_INTERNET="${DIR_APPS_LINUX}/Internet"
dir_tmp_pt="${DIR_INTERNET}/cisco-pt72-amd64"
dir_libs="${HOME}/.local/tmp/libs"

arq_libssl1_deb8_amd64="${DIR_INTERNET}"/libssl1.0_deb8_amd64.deb
arq_libssl1_deb8_i386="${DIR_INTERNET}"/libssl1.0_deb8_i386.deb
arq_libpng12_deb8_amd64="${DIR_INTERNET}"/libpng12-0_deb8_amd64.deb

mkdir -p "$DIR_APPS_LINUX" "$DIR_INTERNET" "$dir_tmp_pt" "$dir_libs"

# export local_trab=$(dirname $0)
export readonly local_trab=$(dirname $(readlink -f "$0")) # Path do programa no sistema.

[[ ! -w "$local_trab" ]] && {
echo -e "Você não tem permissão de escrita em: $local_trab"
exit
}

# Função para verificar ou instalar os programas necessários.
function _apps_exist()
{
# $1 = programa a verificar ou instalar.
local msg="Necessário instalar : "
local msg_falha="Falha ao tentar instalar : "

[[ -x $(which $1) ]] || {
echo -e "${amarelo}$msg $1 ${fecha}"
sudo apt install -y $1
[[ $? == 0 ]] || { echo -e "${vermelho}$msg_falha $1 ${fecha}"; exit 1; }
}
}

_apps_exist 'zenity' # Zenity

_apps_exist 'gdebi' # Gdebi

_apps_exist 'wget' # Wget

#-------------------------[ Função para exibir mensagens com zenity ]----------#
function msgs_zenity()
{

# (Sim Não) --question --title="Abrir" --text="Abrir ePSxe agora ?"
#
# (Senha) --password --title="[sudo: $USER]"
#
# (Arquivo) --file-selection --title="Selecione o arquivo .bin" --file-filter="*.bin"
#
#(Erro) --error --title="Falha na autênticação" --text="Senha incorrenta"
#
# (Lista) --list --text "Selecione uma configuração" --radiolist --column "Marcar" --column "Configurar" FALSE Bios TRUE Sair
#
# (Info) --info --title="Reiniciar" --text="Reinicie seu computador para aplicar alterações"
#
# Resolução [--width="550" height="200", --width="300" height="150" ]

case "$1" in
--question) zenity "$1" --title="$2" --text="$3" --width="$4" --height="$5";;
--info) zenity "$1" --title="$2" --text="$3" --width="$4" --height="$5";;
--error) zenity "$1" --title="$2" --text="$3" --width="$4" --height="$5";;
--file-selection) zenity "$1" --title="$2" --file-filter="$3" --file-filter="$4";;
--list) zenity "$1" --title="$2" --text="$3" --width="$4" --height="$5" --column "$6" $7;;
esac

}

#---------------------------[ Instalar cisco pt ]-----------#
function _inst_ciscopkt()
{

echo 'Iniciando instalação...'

while true; do

arq_instalacao=$(msgs_zenity "--file-selection" "Selecionar arquivo" "*.tar.gz" "*.run")
nome_arq=$(echo $arq_instalacao | sed 's|.*/||g')

[[ -z "$arq_instalacao" ]] && exit 1

prosseguir=$(msgs_zenity "--list" "Usar este arquivo ?" "Continuar" "650" "250" "$nome_arq" "Sim Não")

# Descompactar e instalar packettracer.
if [[ "$prosseguir" == "Sim" ]] && [[ $(echo "$nome_arq" | egrep ".tar.gz$" ) ]]; then
echo 'Instalando .tar.gz'

sudo rm -rf "${dir_tmp_pt}"/* 1> /dev/null 2>&1s
tar xvzf "$arq_instalacao" -C "$dir_tmp_pt"
chmod +x "$dir_tmp_pt/install"
cd "$dir_tmp_pt/" && ./install
(_corrigir_arquivos)
break
elif [[ "$prosseguir" == "Sim" ]] && [[ $(echo "$nome_arq" | egrep ".run$" ) ]]; then
echo 'Instalando .run'
chmod +x "$arq_instalacao"
"$arq_instalacao"
#(_corrigir_arquivos)
break

elif [[ "$prosseguir" == "Não" ]]; then
echo 'Não...'
exit 1
break
else
echo 'Repetindo...'
continue
fi
done
} # Fim _inst_ciscopkt

#---------------------[ Função para instalar libs debian buster ]----------#
function _inst_libs_buster() {

# libssl1.0.0 deb8 amd64
[[ $(aptitude show libssl1.0.0 | grep '^Estado' | cut -d ' ' -f 2) == 'instalado' ]] || {
echo 'Instalando libssl1.0.0 amd64'
wget "$link_libssl1_deb8_amd64" -O "$arq_libssl1_deb8_amd64"
sudo gdebi-gtk "$arq_libssl1_deb8_amd64"
}

# libpng12 deb8 amd64
[[ -f '/opt/pt/bin/libpng12.so.0.50.0' ]] || {
echo 'Configurando libpng12'
wget "$link_libpng12_deb8_amd64" -O "$arq_libpng12_deb8_amd64"
sudo rm -rf "$dir_libs"/* 1> /dev/null 2>&1
sudo dpkg-deb -x "$arq_libpng12_deb8_amd64" "$dir_libs"
sudo cp -vu "${dir_libs}"/lib/x86_64-linux-gnu/libpng12.so.0.50.0 /opt/pt/bin/libpng12.so.0.50.0
sudo ln -sf /opt/pt/bin/libpng12.so.0.50.0 /opt/pt/bin/libpng12.so.0
}

}


#---------------------[ Função para instalar libs em ubuntu bionic ]----------#
function _inst_libs_bionic()
{

wget "$link_libpng12_deb8_amd64" -O "$arq_libpng12_deb8_amd64"
sudo apt install libssl1.0.0 -y

sudo rm -rf "$dir_libs"/* 1> /dev/null 2>&1
sudo dpkg-deb -x "$arq_libpng12_deb8_amd64" "$dir_libs"
sudo cp -vu "${dir_libs}"/lib/x86_64-linux-gnu/libpng12.so.0.50.0 /opt/pt/bin/libpng12.so.0.50.0
sudo ln -sf /opt/pt/bin/libpng12.so.0.50.0 /opt/pt/bin/libpng12.so.0
}



#--------------------[ Função para corrigir arquivos ]----------------#
function _corrigir_arquivos()
{

# /opt/pt/tpl.linguist
[[ -f '/opt/pt/tpl.linguist' ]] && { sudo sed -i "s|PTDIR=.*|PTDIR=/opt/pt|g" /opt/pt/tpl.linguist; }

# /opt/pt/tpl.packettracer
[[ -f '/opt/pt/tpl.packettracer' ]] && { sudo sed -i "s|PTDIR=.*|PTDIR=/opt/pt|g" /opt/pt/tpl.packettracer; }

# Arquivo pt7.desktop
[[ -f '/opt/pt/bin/Cisco-PacketTracer.desktop' ]] && {
sudo cp -u '/opt/pt/bin/Cisco-PacketTracer.desktop' '/usr/share/applications/'
[[ -f '/usr/share/applications/pt7.desktop' ]] && sudo rm '/usr/share/applications/pt7.desktop'
}
} # Fim de corrigir arquivos


#-----------------------------------[ Dependências ]----------------------#
function _inst_dependencias()
{

echo 'Instalando: gdebi aptitude multiarch-support qtmultimedia5-dev libqt5script5 libqt5scripttools5'
echo ' '

# Suporte a 32 bits disponível ?.
[[ $(dpkg --print-foreign-architectures | grep i386) == "i386" ]] || { sudo dpkg --add-architecture i386; }
sudo apt update
sudo apt install --yes gdebi aptitude multiarch-support qtmultimedia5-dev libqt5script5 libqt5scripttools5

[[ -d "$dir_tmp_pt" ]] && sudo rm -rf "$dir_tmp_pt"
}

# Instalar dependências antes de instalar o programa.
(_inst_dependencias)

# Executar a função de instalação se packettracer não estiver nas condições abaixo.
if [[ ! -x $(which packettracer) ]] || [[ ! -x /opt/pt/bin/PacketTracer7 ]]; then

instalar_agora=$(msgs_zenity "--list" "Instalar" "Selecione" "650" "250" "Instalação" "Instalar Sair")

if [[ "$instalar_agora" == "Instalar" ]]; then
(_inst_ciscopkt) # Debian/Ubuntu.
else
exit 0
fi

fi

# Checar se local de instalação é '/opt/pt/bin'
[[ -x /opt/pt/bin/PacketTracer7 ]] || { echo 'Cisco-PacketTracer não instalado em: [/opt/pt] saindo...'; exit 1; }

(_corrigir_arquivos)

case "$codinome_sistema" in
buster) (_inst_libs_buster);; # Debian.
bionic) (_inst_libs_bionic);; # Ubuntu.
esac

msgs_zenity "--info" "Reiniciar" "Reinicie seu computador para aplicar alterações" "550" "150"

sudo -K



Olá Bruno! Primeiramente, obrigado pelo apoio na resolução do caso.

Segui sua orientação e rodei o script informado, porém ele me retorna a mensagem em vermelho: Usuário não pode ser o [root]

Faltou alguma coisa?

[6] Comentário enviado por tonpd em 21/09/2019 - 10:09h

Ufa, até que fim achei essa maldita dependência, obrigado.

[7] Comentário enviado por wellingtonsr em 21/09/2019 - 17:31h

brunopvh, Obrigado pelo script. Estava desde ontem tentando instalar o CPT, mas sem sucesso. Seu script funcionou perfeitamente. Valeu!!!!

[8] Comentário enviado por wellingtonsr em 21/09/2019 - 17:33h

ssdabreu, parabéns pelo artigo. O CPT realmente está complicado de instalar no Debian 10.


Contribuir com comentário