Duas versões distintas de um mesmo aplicativo.

Iniciado por Tchesko, 13 de Julho de 2009, 15:33

tópico anterior - próximo tópico

Tchesko

Boa tarde,
Gostaria de saber como faço pra rodar duas versões do zip no meu computador.
A situação é a seguinte:
Tenho um sistema em Windows que gera arquivos .zip utilizando uma DLL ( ICSharpCode.SharpZipLib.dll ), e através da rede um segundo sistema UNIX recupera esses arquivos e os descompacta para utilizá-los.
Porém EVENTUALMENTE começou a ocorrer um erro no UNIX, na hora de descompactar os arquivos, e é lançada a seguinte mensagem:
"need PK compat. v4.5 (can do v2.1)" e obviamente os arquivos não são descompactados.
Para tentar descobrir a causa raiz estou eu preciso rodar a versão 5.51 do unzip ( a mesma que consta no sistema UNIX), mas a que consta no Hardy já é a 5.52.
Como consigo rodar isso escolhendo qual das versões utilizar? Ainda tenho o problema de não contar com acesso a internet no computador, apenas intranet.Baixei o unzip 5.51 mas não sei como proceder a partir daqui.
Alguém tem alguma luz?
Obrigado.
[ Athlon XP 2400+, MB Asus A7V8X-X, 1024+1024 ddr, Combo LG- 4520B, HD Samsung 80Gb + Maxtor 40Gb, Compiz+Emerald ]@ Ubuntu 8.04 .

slkslk

#1
Isso é uma estopada! Aconteceu-me isso e depois de perder horas tentar tudo, baixei o winrar (para linux) em modo de linha de comando e ultrapassei o problema. Penso que é de facto uma incompatibilidade, que tem a ver com as versões recentes, no meu caso do winzip. Mas foi muito muito chato para ultrapassar esse problema. Eu recomendava fazer ao contrário e usar por exemplo o izarc no windows. É freeware e nunca me deu problemas à data.

Tem sempre a hipótese, se o zip for só para a transferência para linux, de usar o formato gzip (ou tgz quando usado juntamente com o formato tar) nativo do unix e que não lhe vai dar quaisquer problemas seguramente. Penso que o izarc permite fazer esse formato.
"Carpe diem, quam minimum credula postero."
(Aproveite o dia, acredite o mínimo possível no amanhã), Horácio, Odes I,11,8

Tchesko

Bom, de fato essa questão de rodar ambos eu desisti temporariamente.
Mas agor ao problema é outro pior!
Baixei o Unzip 5.51, entrei na pasta dele, dei chmod +x no unzip, até aí OK, resolvi ir no console e entrei com: unzip --version e o que apareceu?
UNZIP v 5.52 !!!!!
Como isso? E esse fato se repetiu com o gpg.
Baixei o gpg 1.2.6, compilei na própria máquina, quando pedi a versão dele via console apareceu que está instalado o 1.4.6!!
Como faço pra instalar a versão que DE FATO baixei?
[ Athlon XP 2400+, MB Asus A7V8X-X, 1024+1024 ddr, Combo LG- 4520B, HD Samsung 80Gb + Maxtor 40Gb, Compiz+Emerald ]@ Ubuntu 8.04 .

Xterminator

#3
Olá caro amigo, isto não quer dizer que o pacote não está instalado
por padrão o sistema, procura pelo comando 1º em /bin depois em /usr/bin ou seja
se você compilou, provavelmente seu executável estaria me /usr/local/bin
se ele não estiver em seu $PATH é como se ele não existisse.

whereis unzip

este comando vai retornar todos os diretórios onde existe o binário do unzip, se /usr/local/bin aparecer
você pode executar o comando com o caminho direto.

/usr/local/bin/unzip

ou
no caso como você disse que entrou no diretório, tornou o arquivo executável, mesmo assim, ele vai usar a mesma sequência para localizar o comando, e uma que você não deve esquecer, ./ ou seja diretório atual não está no $PATH também, você deveria executar o comando deste modo.

./unzip

Já falei sobre isto aqui.
http://ubuntuforum-br.org/index.php/topic,11476.msg61182.html#msg61182
e aqui
http://ubuntuforum-br.org/index.php/topic,28774.msg166787.html#msg166787

Citação de: Xterminator online 10 de Outubro de 2006, 09:50
Citação de: n3t0 online 10 de Outubro de 2006, 03:20
O locate procura dentro de um banco de dados dos arquivos desde o / e o whereis procura arquivos que tem um manual.

whereis é muito mais que isto, ele localiza binários <--melhor uso que eu faço dele já que compilo muitos programas e as vezes preciso executar o binário de um local diferente do $PATH
além de localizar código fonte e manuais.
por exemplo.

whereis programa vai retornar todos diretórios onde o programa se encontra.
[root@Zumbi edson]# whereis pkgconfig
pkgconfig: /usr/lib/pkgconfig /usr/local/lib/pkgconfig


você também pode utilizar o which para localizar executáveis.

o locate é um bom comando para localizar arquivos perdidos no HD se usado em conjunto com o o direcionamento para | less, mas o banco de dados sempre deve ser atualizado com o updatedb senão a base não é tão confiável
por exemplo se você removeu arquivos a 2 dias, e não rodou o updatedb eles serão referênciados em uma busca, mesmo não existindo mais no HD.

Citação de: Xterminator online 30 de Novembro de 2007, 12:38
Só pra constar ;-)
1 - ./ Significa o diretório atual, "onde você está localizado" que por padrão não é incluído no seu $PATH "caminho de busca de comandos e bibliotecas".

2 - Caso não exista o configure como em alguns pacotes baixados do SVN é necessário antes rodar o script autogen.sh que serve também como configure, "após executado o autogen.sh" o arquivo configure será criado.



Tchesko

Gostaria de agradecer o auxílio, consegui rodar tudo que preciso conforme as indicações do amigo Xterminator.
Abraços!
[ Athlon XP 2400+, MB Asus A7V8X-X, 1024+1024 ddr, Combo LG- 4520B, HD Samsung 80Gb + Maxtor 40Gb, Compiz+Emerald ]@ Ubuntu 8.04 .