Archive

Posts Tagged ‘Linux’

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: , ,

Redimensionar partições em Windows

July 9th, 2009 No comments

Artigo rápido sobre as opções para redimensionar partições no Windows Vista ou Windows 7.

Os dois permitem reduzir e criar novas partições a partir do Gestor de Disco (ir ao painel de controlo, “Computer Management”, Storage>Disk Management).

diskmgt

É possível usar a própria funcionalidade integrada no Windows para reduzir o tamanho da partição (deixando o espaço no fim do disco livre) e criar uma nova partição no espaço livre que possa existir.

No entanto, não permite mover a partição, o que impossibilita certas operações como reduzir uma segunda partição para aumentar o tamanho da primeira.

Funções mais sofisticadas são possíveis com aplicações como EASEUS Partition Manager (http://www.partition-tool.com/personal.htm), grátis para versões de 32 bits para uso pessoal (que ainda é a maioria dos casos).

easeus

Há uma outra possibilidade que consiste em arranjar um CD “Live” duma distribuição Linux, como pode ser o Ubuntu (http://www.ubuntu.com/GetUbuntu/download). Estas distribuições permitem arrancar o computador a partir do CD sem efectuar a instalação. Quando já está a trabalhar, é possível usar o gestor de partições integrado GParted.

capture_08072009_235025

capture_08072009_235225

capture_08072009_235245

Fica o conselho de fazer cópias de segurança antes de mexer nas partições: há risco de dar cabo das partições e perder tudo!

Nos meus testes, GParted demorou muito tempo para algumas funções simples. A minha recomendação é usar as funções integradas no Windows quando possível, e EASEUS para as restantes operações. GParted fica como último recurso.

Para os mais valentes: boa sorte!

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.

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.

Oracle Corporation compra a Sun Microsystems

April 20th, 2009 No comments

Estava-se a ver. Após o colapso das negociações da Sun com a IBM, a primeira ficava numa  posição fraca como fornecedor credível perante os respectivos clientes.

oracle_logo                        sun_logo

Com esta compra a Oracle fica com a linguagem Java, a popular base de dados MySQL (Oracle já detinha o “engine” InnoDB usado pelo MySQL) e, finalmente, um sistema operativo (Solaris) que poderá ajustar para a máxima performance das suas bases de dados e outros processos de negócios.

Essencialmente adquiriu as ferramentas necessárias para competir directamente com a IBM: hardware servidor, sistema operativo, bases de dados para diferentes níveis e uma linguagem de programação e plataforma para ligar tudo.

Certamente isto fará que a Oracle não fique tão dependente da RedHat  para oferecer soluções no mundo Linux/UNIX.

A luta continua: Microsoft vs Oracle vs IBM.

Quanto ao futuro de MySQL, acho que não vale a pena ter ilusões. O seu destino é a de ser uma base de dados para brincar, e como forma de captar alguns “hippies”, para logo os viciar em sistemas de bases de dados que rendem dinheiro à sério. Qual poderia ser a motivação para a Oracle promover MySQL?

Converter manpages a PDF

March 2nd, 2009 No comments

Preparando uma futura formação, tive a necessidade de converter documentação em man disponível numa máquina Linux a um formato mais “amigável”, como PDF.

Encontrei o seguinte script num fórum:

#!/bin/bash
# A very sloppy script to generate man pages as pdf files
man -t $1 > foo.ps && ps2pdf foo.ps && rm foo.ps && mv foo.pdf $1.pdf

(Créditos vão para o seu autor: tredegar. Só o adaptei ligeiramente)

Antes de encontrar esse script estive a experimentar com o formato DVI. Os ficheiros resultantes são ligeiramente maiores, mas mesmo assim funciona:

#!/bin/bash
MANFILE=`man -w $1`
if [ -f $MANFILE ]
then
    echo "Generating $1.pdf from $MANFILE …"
    man -l -Tdvi $MANFILE 2>/dev/null > $1.dvi && dvipdf $1.dvi && rm $1.dvi
else
    echo "Failed to find man page for $1, aborting"
    exit 2
fi

Espero que este artigo sirva como referência a outros que têm estas necessidades tão específicas. Fica aqui também para mim, para me lembrar da próxima vez que precisar.

Categories: Tecnologia Tags: , , , , ,

*** STOP: 0×0000C1F5

November 5th, 2008 2 comments

Se encontrarem este erro no arranque do Windows Vista, têm um problema interessante …

A descrição do erro está no site da Microsoft: http://support.microsoft.com/kb/946084

O problema é criado por um ficheiro $TxfLog corrompido. A consequência é que o Windows no disco não consegue arrancar. Supostamente o DVD de instalação do Vista deveria permitir corrigir o problema. No entanto também falha no arranque porque tenta aceder ao disco e falha por causa do ficheiro corrompido. Pior ainda, não só não é possível corrigir como não é possível reinstalar!

Uma solução é usar uma distribuição Live do Linux, como o Linux Ubuntu.

Abrir uma janela de Shell e executar:

mkdir /mnt/windows
ntfs-3g /dev/sda1 /mnt/windows - o force
cd /mnt/windows/\$Extend/\$RmMetadata
rm -rf \$TxfLog
cd /
umount /mnt/windows
init 6

Neste ponto os ficheiros que impediam o arranque já foram removidos, mas ainda não conseguimos arrancar do disco.

Arrancar novamente do DVD de instalação do Vista, e após selecção do idioma escolher “Repair My Computer”. Mesmo que não encontre a instalação do Vista no disco, escolher a opção “Startup repair”.

Boa sorte.