Archive

Posts Tagged ‘Ubuntu’

Desproteger ficheiros PDF em Linux

September 15th, 2009 No comments

unprotected_pdf No Linux Ubuntu existe uma utilidade chamada qpdf, principalmente pensada para optimizar a estrutura dum documento PDF.

Pode ser instalada com:

# aptitude install qpdf

Para desproteger o documento, usamos:

# qpdf –decrypt –password=<password> input.pdf output.pdf

Se esquecemos a password (pode acontecer), sempre temos a opção de tentar descobrí-la novamente com pdfcrack:

# aptitude install pdfcrack

# pdfcrack -f input.pdf

Este processo poderá ser demorado.

Boa sorte!

Links:

Soluções de backup para Linux

September 7th, 2009 No comments

Encontrei estas duas utilidades de backup para o Linux Ubuntu: BackInTime e Déjà Dup.

mainwindow BackInTime é uma aplicação desenvolvida a pensar no TimeMachine do OSX da Apple.

Essencialmente é uma interface gráfica, que usa “cron” para agendar tarefas, e “rsync” para efectuar as cópias.

Podemos indicar um conjunto de directórios que queremos controlar e um directório onde as cópias serão armazenadas. Agendamos as horas para as cópias e estas passam a ser feitas na íntegra. É muito simples e elegante.

Um detalhe que não gostei é o facto de as cópias serem feitas integralmente: se hoje tenho 10 ficheiros nos meus directórios, os 10 ficheiros são copiados, e se amanhã continuo a ter os 10 ficheiros, voltam a ser copiados, com outra data e hora. Acho que armazenar os ficheiros de forma directa poderá estar a usar um espaço de disco desnecessário. Também poderia tentar fazer cópias incrementais em lugar de cópias completas.

Para compensar, incorpora uma limpeza “inteligente”, apagando automaticamente cópias antigas, o que minimizará o consumo de espaço. Tenho a certeza que esta ferramenta ainda melhorará muito, e talvez funcione melhor que o próprio TimeMachine da Apple (de acordo com algumas notícias, esta utilidade não é inteiramente fiável).

BackInTime pode ser encontrado em http://backintime.le-web.org/. Instruções para instalar em Ubuntu e outras distros econtram-se em http://backintime.le-web.org/download_page/.

Main window Não queria deixar de mencionar Déjà Dup, uma outra utilidade de backup que pretende ser simples mas mesmo assim fornecer facilidades como cópias de segurança off-site, encriptação, cópias incrementais, etc.

Ainda não tive oportunidade de testar, mas espero fazê-lo brevemente.

Disponível em https://launchpad.net/deja-dup e http://live.gnome.org/DejaDup.

Categories: Tecnologia Tags: , ,

Falha na activação de eth0

July 5th, 2009 No comments

Criei uma máquina virtual com o Virtualbox (já na sua versão 3.0 > http://www.virtualbox.org/). Precisava de 2 placas de rede e portanto adicionei 2 placas de rede virtuais, sendo que a primeira delas estava configurada como Bridged com a placa de rede do computador e a segunda placa estava reservada para uma rede privada interna entre máquinas virtuais.

A seguir instalei o Linux Ubuntu Server 9.04. Por azar, durante a instalação falhou a activar as placas de rede (o router demorava a atribuir endereços por DHCP) e optei por resolver as coisas manualmente mais tarde, após a instalação.

Após instalação acedi ao sistema e configurei (à mão) o ficheiro /etc/network/interfaces:

auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
    address 10.0.0.1
    …

Seguido dum

/etc/init.d/networking/restart

Estranhamente eth0 continuava sem ter um endereço IP e não tinha ligação à internet.

No processo de verificar diversos ficheiros de configuração, encontrei que o ficheiro /etc/resolv.conf (usada para indicar o servidor de nomes, entre outras coisas) não existia. Criei este ficheiro à mão para conter …

nameserver 192.168.1.1

Apesar disto e dum par de reboots a coisa continuava a não funcionar.

Após mais pesquisas e consultas ao ficheiro /etc/udev/rules.d/70-persistent-net.rules, apercebi-me que a primeir placa definida na máquina virtual, na realidade estava a ser identificada como eth1 (e não eth0). Portanto, eu estava a tentar dar um endereço estático à placa de rede Bridged e a tentar configurar a segunda placa (ligada à rede interna do VirtualBox) por DHCP.

A solução é extremamente simples: ou mudar as entradas em /etc/udev/rules.d/70-persistent-net.rules ou alterar as entradas em /etc/network/interfaces:

auto eth1
iface eth1 inet dhcp
auto eth0
iface eth0 inet static
    address 10.0.0.1
    …

Após esta mudança e a reiniciação do sistema de rede com /etc/networking/restart, já ficou tudo a funcionar!

Categories: Tecnologia Tags: , , , ,

Desventuras com BIND

July 2nd, 2009 No comments

Recentemente tive a necessidade de fazer uma instalação dum servidor de nomes (DNS) no Linux. Quando fiz os testes, fi-lo com o Linux Ubuntu 9.04 Server e aparentemente correu tudo bem. Quando fiz a instalação no sistema final encontrei-me com que este era a versão Desktop (e não Server) e algumas coisas acabaram por não funcionar como era devido.

Após uma instalação com o “apt-get bind9”, e as respectivas modificações aos ficheiros /etc/hostname, /etc/hosts, /etc/resolv.conf e outros ficheiros, o servidor parecia estar a funcionar bem e a conseguir resolver as consultas. Era possível executar o comando “/etc/init.d/bind9” com “stop” ou “restart”.

Após a criação de zonas e a modificação do ficheiro “/etc/bind/named.conf.local”, tal e como já tinha feito várias vezes nas versões Server, os comandos para parar e reiniciar deixaram de funcionar, com um erro como o seguinte:

root@svr:/etc/bind# /etc/init.d/bind9 stop
 * Stopping domain name service... bind9
rndc: connection to remote host closed
This may indicate that
* the remote server is using an older version of the command protocol,
* this host is not authorized to connect,
* the clocks are not syncronized, or
* the key is invalid.

[ OK ]

De notar que não tinha feito qualquer alteração ao ficheiro “rndc.key” nem a qualquer outra secção do ficheiro “named.conf” que justificasse este tipo de resposta.

Após muitas voltas e consultas no Google e nos fóruns do Ubuntu, claramente o problema estava com a aplicação “rndc” que não estava a conseguir comunicar com o demónio “named”.

Criei uma configuração com a aplicação “rndc-confgen” para me gerar um ficheiro de configuração “rndc.conf” (que não existia inicialmente) e a respectiva chave em “rndc.key”. A seguir incorporei a secção correspondente gerada pela utilidade em “named.conf.local”.

Isto não resolveu o problema, apesar de ter verificado linha a linha que estava tudo bem, que o endereço do servidor e porta estavam iguais e que as chaves utilizadas eram também iguais. Revi os erros mais óbvios indicados nos diferentes fóruns, mas nada.

Por fim, numa revelação (…) tirei a definição da chave dos ficheiros “rndc.conf” e do “named.conf.local” e passei a fazer uma inclusão, deixando a secção em cada um dos ficheiros mecionados como se segue:

#key "rndc-key" {
#	algorithm hmac-md5;
#	secret "9pUTFohn4ic6msA2FskdQQ==";
#};

include "/etc/bind/rndc.key";

Não dá para perceber porque, mas após esta alteração tudo voltou a funcionar. O conteúdo do ficheiro “rndc.key” era igual ao conteúdo inserido directamente nos ficheiros.

Fica aqui este artigo que serve para mim e espero sirva para outros que se encontrem com o mesmo problema.

Controlo de versões com GIT

April 30th, 2009 No comments

git-logo2

Recentemente comecei a trabalhar com GIT, um gestor de versões para software.

GIT (http://git-scm.com/) foi iniciado por Linus Torvalds quando por motivos “políticos” teve que abandonar o o gestor comercial Bitkeeper (http://www.bitkeeper.com/) e não quis usar os sistemas CVS nem Subversion (SVN).

GIT é um sistema que usa uma compressão muito eficiente para que o histórico dum projecto ocupe o menor espaço possível, tem interfaces com outros sistemas (como CVS e SVN) para aumentar a sua compatibilidade e pode usar diversos protocolos para comunicar.

Os seus pontos fortes são o facto de ser livre e o facto de ser um sistema descentralizado. Isto quer dizer que em lugar duma base de dados central com todo o código e com a qual é preciso comunicar para fazer a gestão das versões, GIT permite fazer a gestão de forma local. Diferentes instalações podem sincronizar-se em qualquer altura.

Em Ubuntu pode ser instalado com “aptitude install git-core”. Em Windows está disponível um port em http://code.google.com/p/msysgit/. Eu recomendo instalar directamente GIT Extensions para Windows (http://code.google.com/p/gitextensions/), porque faz a integração directamente com o Explorer e no Visual Studio 2005 e 2008.

Em http://cworth.org/hgbook-git/tour/ há um pequeno tutorial para introdução e com alguns pequenos exemplos.

A documentação “oficial” está disponível em http://git-scm.com/documentation ou http://www.kernel.org/pub/software/scm/git/docs.

Outros tutoriais: http://excess.org/article/2008/07/ogre-git-tutorial/, http://osteele.com/archives/2008/05/my-git-workflow.

Ajudas para migrar do Microsoft/Outlook para o Linux/KMail/Evolution

April 29th, 2009 No comments

MSOffice

No Linux, mais concretamente no Ubuntu (mas não só), existe uma ferramenta que permite ler e exportar os conteúdos dum ficheiro .PST (normalmente localizados no directório C:\Users\<nome>\AppData\Local\Microsoft\Outlook\) para diferentes formatos. Posteriormente podem ser importados no KMail ou no Evolution.

São exportados tanto os emails como o calendário e contactos (embora não cheguei a verificar todos os campos).

A ferramenta é “readpst”, que no Ubuntu pode ser instalada facilmente com “aptitude install readpst”.

Mais informação em http://www.five-ten-sg.com/libpst/index.html.