Pen Multi-boot

Viva

Hoje em dia é fácil adquirir uma pen usb 2.0 com capacidade para 8GB ou 16GB por um baixo preço (menos de 15€). Também não é novidade que uma pen usb é a melhor maneira de se testar uma distribuição Linux num pc sem ter que instalar, ou então usar uma ferramenta de recuperação estilo Hirens Boot CD ou Clonezilla. Estas ferramentas instalam o sistema pretendido a partir de uma imagem ISO que podemos descarregar da Internet, como por exemplo aqui.O chato disto tudo é que temos que formatar a nossa pen para trocar de ferramenta ou sistema pretendido, usando para isso o Unetbootin, Lili ou UniversalUsbInstaller, entre outros. Mas é precisamente este último que nos oferece uma ferramenta de seu nome YUMI.

 

Esta fantástica ferramenta permite ter várias distribuições e um menu no arranque da pen que permite a escolha do que pretendemos.

Então como fazer?

Para este projeto adquiri uma pen USB de 16GB. Inseri-a numa porta USB do PC e executei o nosso YUMI:

YUMI1Aqui temos que ter cuidado! Primeiro selecionamos a nossa pen. Se for nova ou não tiver conteúdo importante podemos ativar a opção format. Por fim selecionamos a distribuição pretendida (no formato ISO) ou, se não aparecer na lista, escolhemos uma opção no fim para distribuições não suportadas oficialmente (pode falhar depois no arranque!). Em seguida temos que localizar a ISO e o YUMI trata do resto! No fim pergunta se queremos adicionar mais sistemas e temos a nossa pen pronta! No próximo arranque do PC, ao arrancar pela nossa pen já podemos escolher a distribuição ou ferramenta pretendida!

Raspberry Openfire Social Server

Com o passar dos anos todos vamos acumulando várias contas de conversação on-line. Os mais “antigos” (como eu) terão começado no IRC, depois no MSN, Google talk e mais recentemente no Facebook chat.

Bom, isto dá uma dor de cabeça na hora de configurar um novo pc ou telemóvel, para além de ter que lembrar palavras-passe e usar vários programas. E porque não ter uma única conta em que as várias contas de chat já estão configuradas e na hora de se configurar um novo dispositivo basta uma simples configuração? Muitos dirão: “Isso já há!” Temos o EBuddy ou comercialmente o fantástico Trillian. É verdade mas isso obriga a manter as nossas contas nas mãos de terceiros, o que de certo modo põe a nossa privacidade em risco. E se tivéssemos um servidor em casa que fizesse o mesmo?

Quando olho para o meu Raspberry Pi surge-me logo o seguinte pensamento: “O que vou tentar fazer hoje contigo?” Pois bem, desta vez o meu RasPi ficou social 😀

Há uma pérola no Open-Source de seu nome OpenFire que nos vai ajudar nesta missão!

Este projecto é válido para qualquer máquina e sistema compatível com OpenFire mas parto do princípio que o vão fazer num Raspberri Pi Mod. B, com o mais recente Raspbian. O baixo consumo do RasPi, tamanho pequeno e razoável performance tornam-no o equipamento ideal para o efeito. Também presumo que vão ter um serviço de DNS dinâmico configurado e pelo menos a porta 5222 aberta no router para o vosso RasPi.

Começamos então por desinstalar o Java da Oracle caso esteja instalado (no Raspbian mais recente está!):

sudo apt-get purge oracle-java7-jdk

Em seguida instalamos o Java-JRE:

sudo apt-get install default-jre

Por fim fazemos download do pacote de instalação do OpenFire:

wget -O openfire_3.8.2.deb  http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.8.2_all.deb

E instalamos:

sudo dpkg -i openfire_3.8.2.deb

… Já está instalado! Vamos configurar?

Temos  que aceder por browser ao nosso RasPi. Abrimos o navegador e escrevemos:

http://raspberry_ip:9090

openfire

Se tudo correu bem vamos encontrar uma página onde escolhemos a linguagem de configuração Tem Português Brasil que foi a minha escolha. Nas páginas seguintes vamos configurar o servidor. Podem usar os valores que são apresentados por defeito em caso de dúvida.

Posso-vos dizer que no meu RasPi, após a ultima página (onde defini a palavra-passe do admin) tive que aguardar uns bons 20 minutos. Altura para um café 😛

Por fim deparamo-nos com a seguinte página:

OpenFire1

Como configurar?

OpenFire1

1 – Configurar o utilizador (tab Usuários/Grupos) e se for para mais que um utilizador convém criar um grupo também para que possam conversar directamente (quem quiser mais protecção pode até encriptar a conversa)

2 – Ir ao tab Plugins e ativar o Kraken IM Gateway

3 – Ir ao tab Servidor e no sub-tab  Gateways realizar duas tarefas:

a) Nos Transports activar os protocolos pretendidos:

OpenFire2

b) Nos Registrations adicionamos as nossas contas sociais:

OpenFire3

usuário (JID) – Utilizador criado no ponto 1
gateway – Protocolo pretendido
usuário – Utilizador da conta externa (Gmail, Facebook, etc)
senha – Palavra-passe da conta externa
apelido – Nome a apresentar para a conta externa (nickname)

E pronto! Podemos ligar-nos ao nosso servidor com um IM-client. O protocolo usado será o XMPP.

Relativamente a portas do router que este servidor usa serão:
TCP 7777 – IM file transfer
TCP 7443 – SSL HTTP Bind
TCP 7070 – HTTP Bind
TCP 5269 – S2S port
TCP 5223 – SSL XMPP Jabber
TCP 5222 – TLS XMPP Jabber
TCP 9090 – Gestão Backoffice
TCP 9091 – Gestão Backoffice SSL
TCP 3478-3479 – STUN port
TCP 1935 – Red5 RTMP port
TCP,UDP 3000-3039 – RTP port
TCP,UDP 5060-5099 – SIP ports

A mais importante (essencial mesmo!) será a 5222. A porta 7777 será necessária se quiserem trocar ficheiros com os outros contactos. Não aconselho mais nenhuma a não ser que precisem mesmo 🙂

Para desktop costumo usar o Pidgin (Em Linux, Windows ou OSX). Para o Android uso o Xabber mas podem usar qualquer um que suporte o protocolo XMPP.
Como configurar?
Fácil, Adicionam uma conta XMPP, no campo de utilizador escrevem o criado_no_ponto1@DNS_dinamico e respetiva palavra passe. Por exemplo, eu criei um utilizador joao e o DNS dinâmico é mensageiro.dyndns.org. No nome de utilizador coloco joao@mensageiro.dyndns.org. 
Após alguns segundos o programa vai perguntar se aceitam o certificado e os vossos contactos começarão a aparecer!

Novo disco num servidor Linux

Por vezes temos o nosso servidor Linux todo configurado e a funcionar direitinho que até esquecemos onde está mas um dia reparamos que estamos a ficar sem espaço… Compramos um disco novo, instalamos fisicamente e… e agora? 😀 Como o particionamos na consola???

tux_question

As instruções que se seguem só terão sucesso com direitos administrativos, como root ou com o respectivo sudo antes de cada comando. Alerto para o facto de em caso de erro poderem perder informação! Façam apenas com absoluta certeza dos passos que estão a tomar!

1 – Listamos todos os nossos discos com o seguinte comando:

fdisk -l

No meu caso obtive o seguinte resultado:

fdisk_l

Tenho portanto dois discos, o de 40GB (SDA) que já existia e o de 80GB (SDB)  que é o que vamos configurar. Neste caso ele já vinha particionado mas é indiferente pois quero formatá-lo e testar para que não tenha surpresas desagradáveis no futuro.

2 – Usamos o seguinte comando para o particionar:

cfdisk /dev/sdb

CFDISK

Primeiro verificamos que estamos no disco correto e só depois podemos usar as ferramentas que estão no fundo do ecrã (alterar a escolha com as setas <- e -> e selecionar com a tecla “Enter“) . Neste caso criei uma única partição, com o espaço total do disco.

Com o processo terminado podemos formatar a partição criada. Se o disco for o “SDB” cada partição criada será SDB1, SDB2, etc.

3 – Formatamos a nossa nova partição com o seguinte comando:

mkfs -c -t ext4 /dev/sdb1

Aguardamos que a formatação e verificação terminem e já temos o nosso disco pronto para ser “montado” no sistema. No meu caso eu quero montar o disco numa pasta chamada “mp3” onde vou guardar todas as minhas músicas para depois ouvir numa página Web 😀

4 – Criamos a pasta primeiro:

mkdir /mp3

Já temos a nossa pasta pronta montar lá o nosso SDB1!

Como eu quero que o disco seja montado automaticamente no arranque do servidor vou recorrer a um ficheiro de nome fstab.

5 – a) Antes de editar o fstab quero saber o ID do disco. Vai ser com isso que vou identificar o nosso disco novo na tabela fstab! Começo por executar o seguinte comando:

blkid

blkid

b) Copio os valores ente aspas do nosso SDB1

c) Edito a tabela com o comando:

nano /etc/fstab

FSTAB

Acrescentei o que está sombreado. Comecei por identificar o disco (comentado com #) e na linha debaixo inseri o UUID, seguido do ponto de montagem (/mp3), o tipo de ficheiro (ext4) e por fim as permissões de acesso e opções. Atentem que separei os valores com a tecla TAB e não com a de espaços. Não esquecer de guardar o ficheiro, reiniciar e, se tudo estiver correto, o nosso novo disco ficará ao serviço do nosso servidor! Resta copiar para lá a informação pretendida e dar as respectivas permissões de acesso.

Cumprimentos!

Ubuntu 12.04: Recuperar o arranque

Por vezes damos cabo do arranque do nosso sistema, ou com uma atualização que corre mal (ex. kernel) ou com uma falha de energia, ou até com as nossas próprias ações, voluntárias ou não…

Iniciamos a nossa máquina mas só aparece “grub>”…

grub

Como resolver? Muito fácil! Arrancamos com o CD/PEN de instalação do nosso sistema e escolhemos a última opção:

install1

Nos ecrãs seguintes definimos a linguagem, localização, nome de rede, etc. O mais importante é quando nos pergunta qual a localização da “/”.  Em princípio será “/dev/sda1” mas ajustem de acordo com a vossa instalação.

Em seguida apresenta a seguinte opção:

rescue

Escolhemos a primeira opção como na figura e vamos então reparar o nosso arranque.

Primeiro podemos verificar o estado do disco (não é obrigatório fazer este passo e a letra X deverá ser alterada para a letra da vossa instalação):

fsck /dev/sdaX

Vamos finalmente reinstalar, verificar e actualizar o grub. Executamos os seguintes comandos (A letra X deverá ser alterada para a letra da vossa instalação):

grub-install /dev/sdX

Deverá ser dada uma resposta sem erros.

grub-install –recheck /dev/sdX

Deverá ser dada uma resposta sem erros.

update-grub

Deverá ser dada uma resposta sem erros.

Por fim, escrevemos “exit” o que nos fará voltar ao menu de recuperação. Escolhemos a última opção (reiniciar o sistema) e em princípio tudo voltará ao normal.

O nosso sistema voltou 😀

Debian LMDE

Imagem

Debian é um grande pilar da comunidade linux mundial. Dispensa apresentações e prima pela estabilidade e simplicidade de utilização. Não é a mais fácil de configurar mas a enorme comunidade que a suporta tem solução para praticamente tudo.

A partir do Debian nasceram outras distribuições das quais se destacam o Ubuntu, o nosso Caixa Mágica, entre outras. Podem ver a lista completa aqui.

Depois veio o Mint. Originalmente surgiu como um fork do Ubuntu mas por causa do rumo que a Canonical está a tomar, os responsáveis do Mint decidiram diversificar a sua “fonte”.

Assim nasce o Debian LMDE.

Imagem

Traz consigo dois Desktops possíveis, o MATE (clássico, baseado em Gnome2) e o Cinnamon (moderno, baseado em Gnome3).

Qualquer uma das versões suporta 32bit e 64bit. Podem ser descarregadas no formato ISO aqui:

O Mate, rápido e robusto, peca pelo aspecto mais “anos 90” mas é o ideal para máquinas mais antigas ou com hardware modesto. O Cinnamon, por seu lado tem um aspecto actual mas também mais exigente a nível de hardware.

Podem gravar para um DVD ou para uma PEN e experimentar antes de instalar (é uma imagem LIVE).

Experimentem! 😀

Cannot set LC_ALL to default locale: No such file or directory

Quando instalo um servidor linux Debian ou Ubuntu em que a linguagem por defeito é “EN” (inglês) e depois instalo a nossa linguagem “PT” aparece-me na consola o seguinte erro quando instalo qualquer coisa ou executo algum programa:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = “”,
LC_TIME = “pt_PT.UTF-8”,
LC_MONETARY = “pt_PT.UTF-8”,
LC_ADDRESS = “pt_PT.UTF-8”,
LC_TELEPHONE = “pt_PT.UTF-8”,
LC_NAME = “pt_PT.UTF-8”,
LC_MEASUREMENT = “pt_PT.UTF-8”,
LC_IDENTIFICATION = “pt_PT.UTF-8”,
LC_NUMERIC = “pt_PT.UTF-8”,
LC_PAPER = “pt_PT.UTF-8”,
LANG = “pt_PT.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
locale: Cannot set LC_ALL to default locale: No such file or directory

Apesar de não provocar falhas é uma coisa chata! Como resolver? Muito fácil! Primeiro vemos quantas linhas temos “unset” ou “”. No meu caso são as 2 primeiras:

LANGUAGE = (unset),
LC_ALL = “”,

Basta executar as 3 linhas seguintes na consola:

sudo export LC_ALL=”pt_PT.UTF-8″ 

sudo export LANGUAGE=”pt_PT.UTF-8″ 

sudo locale-gen pt_PT

E pronto, problema resolvido!

DNS dinâmico num servidor Ubuntu/Debian?

Viva

Desde que o famoso dyndns deixou de ser gratuito no verdadeiro sentido da palavra que tenho sofrido algumas dores de cabeça pois mesmo fazendo login no site de 30 em 30 dias, há hosts que “misteriosamente” expiram pelo que tenho que andar a reconfigurar o serviço novamente, correndo o risco de entretanto ver o meu nome de host ser registado por outra pessoa…

Recentemente mudei de provedor deste tipo de serviço e tenho usado nas configurações novas o servidor de nomes seguinte:

http://www.dnsdynamic.org/

Não tem limite de hosts e oferece um atualizador via browser ou um script automático  mas… e como configurar na consola do nosso servidor  Ubuntu/Debian?

Embora pra consola! 😀

Começamos por instalar o programa:

sudo apt-get install ddclient

Caso já esteja instalado podemos reconfigurar com o seguinte comando:

 dpkg-reconfigure ddclient

No primeiro ecrã vai nos pedir para escolher o serviço. Escolhemos a última opção “Outro” ou “Other” caso seja em inglês.

No segundo ecrã vai nos perguntar qual o provedor do serviço. Devemos escrever “www.dnsdynamic.org”.

No terceiro ecrã escolhemos a opção “dyndns2”.

Nos dois ecrãs seguintes escrevemos o email de registo e a respetiva palavra-passe.

Por fim escolhemos a placa de rede que está ligada ao nosso router, por norma eth0. Caso seja wifi em princípio será wlan0.

No ecrã seguinte vai nos pedir para escrever o nome dinâmico que queremos que fique sempre atualizado para o IP externo da máquina (e que registámos no sítio).

Por último escolhemos “não” na pergunta se a ligação é sobre “ppp” e “sim” para correr o serviço automaticamente. Também pede para configurar o intervalo de tempo para verificar se o IP externo mudou. “5m” basta.

Se formos ao painel de gestão no DNSDynamic verificamos que o nosso IP está atualiz… hey! Aparece lá o IP interno do nosso server e isso está errado!!! Vamos corrigir? 😀 Na consola editamos o seguinte ficheiro:

sudo nano /etc/ddclient.conf

Procuramos a linha “use=if, if=eth0” e substituímos por “use=web, web=checkip.dyndns.org”

Salvamos as alterações e executamos o seguinte comando:

sudo service ddclient restart

Em seguida executamos um último comando:

sudo ddclient

Se tudo correu bem veremos a palavra SUCCESS e o IP externo atualizado.

E pronto, temos o nosso dynip configurado e quem sabe… “para sempre”? 😉

Cumprimentos