quinta-feira, 11 de julho de 2013

Instale Genymotion: um emulador Android (x86) rápido, fácil de usar e com suporte a OpenGL hardware acceleration


Genymotion é um emulador que vem com imagens pré-configuradas do Android (x86 com OpenGL hardware acceleration). Instale ele e experimente testar aplicações Android a partir do Ubuntu ou qualquer outro Linux de sua preferência.
genymotion
O projeto tem evoluído a partir do velho AndroidVM e comparando com ele, Genymotion vem com um novo design do “player”, instalador e muito mais. De acordo com seus desenvolvedores, “o produto é destinado a substituir o emulador Android, do Google, não só para desenvolvedores Android, mas também para as pessoas que fazem demonstrações de apps Android“.
Genymotion (atualmente em beta) e está  disponível para Linux, Windows e Mac OS X e requer VirtualBox. O código de imagens virtuais é de código aberto, no entanto, o software que é executado no host (o “player”) não é, mas é livre para usar. No futuro, Genymotion continuará tendo uma versão livre para usar e com muitos recursos avançados, mas também haverá versões pagas, “principalmente para grandes empresas que necessitam de colaboração em Genymotion”.
Características do Genymotion:
  • Permite baixar e executar imagens virtuais pré-configuradas:  Android 4.1.1 – API nível 16 (com x86 support): Nexus 7 Jelly Bean, Nexus S Jelly Bean, Nexus One Jelly Bean, 10.1”, WXGA Tablet Jelly Bean, 7.0” e WSVGA Tablet Jelly Bean, todos com ou sem Google Apps (Play Store, etc.);
  • Rede: Ethernet (emula a conexão Wi-Fi);
  • GPS (com coordenadas configuráveis) e widgets de emulação de bateria (com níveis de bateria configuráveis);
  • Display: a aceleração de hardware OpenGL, multiplas telas, exibição em tela cheia;
  • Genymotion shell, que permite que você interaja com sua máquina virtual usando uma linha de comando;
  • Suporte a ADB;
  • Eclipse e Android Estúdio plugins;
  • Suporta Linux, Windows e Mac.
Mais sensores são esperados em futuras versões: giroscópio, luz, temperatura, vetor de rotação e assim por diante. Vale observar que como se trata de um software beta, você pode encontrar bugs ou recursos incompletos.

Download e uso do Genymotion

Antes de prosseguir, por favor, note que o computador deve oferecer suporte a virtualização de hardware (VTx / AMD-v) para ser capaz de executar as imagens do Genymotion.
Passo 1. Para usar Genymotion, você precisará instalar o Oracle VirtualBox, preferencialmente, a última versão estável;
Passo 2. O próximo passo é baixar o Genymotion. Para ser capaz de fazer o download, você precisa se inscrever para uma conta (grátis) em https://cloud.genymotion.com. Depois de criar uma conta, Baixe o Genymotion no seu diretório home;
Passo 3. Agora vamos instalar o Genymotion. Para isso, vamos precisar marcar o arquivo bin baixado como executável e executá-lo. Abra um terminal (Usando o Dash ou pressionando as teclas CTRL+ALT+T) e digite os comando a seguir na mesma sequência (supondo que você tenha baixado Genymotion na sua pasta home):
Para sistemas de 32bit:
cd
chmod +x genymotion-1.0_x86.bin
./genymotion-1.0_x86.bin
Para sistemas de 64bit:
cd
chmod +x genymotion-1.0_x64.bin
./genymotion-1.0_x64.bin
Passo 4. O instalador, em seguida, perguntará se você deseja prosseguir. Digite “y” (sem as aspas), pressione ENTER e pronto, o programa já estará instalado em seu sistema;
Se você seguiu as instruções acima, o Genymotion deve ser instalado sob ~/genymotion . Para executá-lo, use o seguinte comando:
~/genymotion/genymotion
O programa será iniciado. Para adicionar um novo dispositivo virtual, clique em “Add”, faça login com seu nome de usuário e a senha da conta Genymotion (criada no passo 2) e você verá uma lista de dispositivos disponíveis:
genymotion_1
Selecione o dispositivo virtual que você deseja fazer o download da lista e clique em ”Add” (para ser capaz de instalar aplicativos via Google Play Store, certifique-se de que o nome da máquina menciona “Google Apps”):
genymotion_2
Uma vez que você clicar em “Next”, o download deverá começar. Clique em “Next”, quando o download for concluído, digite um nome para o novo dispositivo virtual e clique no botão ”Create” e “Finish”. Em seguida, o dispositivo deve aparecer na janela principal do Genymotion. Utilizando os botões direito (ou o botão direito do dispositivo), você pode alterar o tamanho da tela ou excluir o dispositivo:
genymotion_3
Para iniciar um dispositivo, selecione-o e clique no botão “Play”. Da mesma forma, você pode criar e executar mais dispositivos.
No menu Genymotion você pode definir o caminho ADB ou digitar um proxy a ser usado com Genymotion.Uma vez que você inicia uma máquina virtual, pode se conectar via ADB usando o padrão IP VM: 192.168.56.101 (isto pode ser configurado da máquina virtual, através da configuração do Genymotion, disponível na lista de apps Android VM).
Para completar, aqui estão mais alguns screenshots:
genymotion_vm_2 genymotion_vm_3 genymotion_vm_4 genymotion_vm_5 genymotion4

sexta-feira, 5 de julho de 2013

Introdução e instalação do serviço

Em algum momento, nós, administradores de redes, somos surpreendidos com um problema que nunca imaginávamos que poderia nos trazer dor de cabeça, principalmente quando estamos tratando de um parque considerável de máquinas clientes de sua rede, onde o tempo todo estão acessando e alterando arquivos da rede, trabalhando online, entre outras tarefas, em que o horário é realmente importante.

No meu caso, que trabalho em uma instituição de ensino que adotou o Moodle como plataforma para algumas avaliações, é primordial que toda as máquinas estejam com o horário correto, para que não haja diferença entre o horário do computador e o horário do servidor.

Outro fator importante, para que eu precise que todas as máquinas tenham o horário correto, é o log de acesso a arquivos do servidor, podemos também utilizar o nosso servidor NTP para sincronização de horário para DVRs, APs, routers, switches, servers entre muitos outros que suportem o recurso de NTP, ou seja, ter um servidor NTP na sua rede é uma "mão na roda", pois, imagine ter que acertar o horário de todos estes dispositivos manualmente...

O primeiro passo, é instalarmos o serviço no nosso servidor. Para isso, devemos executar o seguinte comando:

# apt-get update; apt-get install ntp

Devemos agora configurar o serviço, editando o arquivo "/etc/ntp.conf" deixando-o da seguinte maneira:


driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/

restrict default nomodify notrap noquery
restrict 127.0.0.1
restrict 192.168.1.1 mask 255.255.255.0 nomodify notrap

server a.st1.ntp.br
server b.st1.ntp.br
server c.st1.ntp.br
server d.st1.ntp.br
server a.ntp.br
server b.ntp.br
server c.ntp.br
server gps.ntp.br


Explicando:
  • driftfile :: especifica o arquivo que armazenará a frequência de atualização do relógio, para que, se houver queda de comunicação com os servidores, o horário se mantenha correto. Ou, se for necessário reiniciar o serviço NTP, ele toma o valor armazenado neste arquivo como inicial, mantendo o horário correto até a próxima sincronização.
  • statsdir :: diretório de logs do serviço.
  • restrict :: politicas de acesso ao serviço.
  • server :: servidores para sincronização de horário.

Obs.: é necessário no mínimo três servidores para sincronização para garantir um horário correto sempre. Neste arquivo de configuração utilizei os servidores da ntp.br, que faz parte do CEPTRO (Centro de Estudos e Pesquisas em Tecnologias de Redes e Operações).

Depois de configurar o serviço, devemos criar o arquivo que definimos no parâmetro "driftfile" com o comando:

# touch /var/lib/ntp/ntp.drift

Agora, vamos reiniciar o serviço:

# /etc/init.d/ntp restart

Agora, devemos aguardar a sincronização com os servidores principais serem feitos (normalmente, demora aproximadamente 5 minutos). Para acompanharmos isso, podemos utilizar o comando:

# ntpq -c rl | grep stratum | cut -d "," -f4
Ou:
# ntpq -c rl

Obs.: caso utilize o segundo comando, procure uma linha onde encontre algo como "stratum=2".

Caso o valor do parâmetro stratum seja 16, significa que o seu servidor NTP ainda não sincronizou com os servidores principais, caso ela seja 2 ou 3, significa que o seu servidor já está sincronizado.

Aqui, o seu servidor NTP já estará rodando.

Para verificar se o horário está realmente correto, utilize o comando date e verifique se o horário retornado pelo seu servidor seja igual ao banner que está no final do artigo.

Como instalar o Ajenti no Ubuntu Server 13.04

Ajenti é uma ferramenta simples de código aberto com um painel de administração baseado na web, ele serve  para gerenciar servidores Ubuntu e é semelhante ao Webmin.

ajenti

Ajenti inclui dezenas de plugins pré-fabricados que permitem configurar o seu sistema operacional e o software do servidor. A lista de software suportado inclui Apache, Cron, CTDB, NFSD, Iptables, Munin, MySQL, Netatalk, NGINX, PostgreSQL, Samba, lm-sensors, Squid 3, Supervisor. Ele tem uma interface rápida e ágil, baixo consumo de memória e ferramentas úteis, como gerenciador de arquivos, terminal e editor de código – tudo que é preciso para satisfazer as necessidades de um sysadmin.

Instalar o Ajenti no Ubuntu

Para instalar o Ajenti no Ubuntu (e derivados), faça o seguinte:
Passo 1. Abra um terminal (Usando o Dash ou pressionando as teclas CTRL+ALT+T);
Passo 2. Adicione o repositório do aplicativo com o seguinte comando:
sudo sh -c "echo  'deb http://repo.ajenti.org/debian main main' >> //etc/apt/sources.list"
Passo 2. Instale a chave do repositório;
wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add -
Passo 4. Atualize o Apt digitando o comando:
sudo apt-get update
Passo 5. Agora instale o programa com o comando:
sudo apt-get install ajenti
Depois de instalar você precisa ir para o web browser e acessar o endereço http://ip_do_servidor:8000 (substitua “ip_do_servidor” pelo endereço IP do computador onde foi instalado o Ajenti). Efetue login com o usuário e senha admin/admin e então comece a configurar e instalar plugins.
Abaixo screenshot do Ajenti:
3 4 5 13 21

Icecast2 - Criando servidor de mídia básico

Instalação e configuração básica do servidor de mídia Icecast2, trabalhando junto das ferramentas FFmpeg2 e oggfwd.


Servidor de Icecast2

"Icecast é um software livre e sistema de Streaming Media, projeto da organização sem fins lucrativos Xiph.Org Foundation. Também refere-se especificamente ao programa-servidor que faz parte do projeto.

Icecast foi criado entre dezembro de 1998 e janeiro de 1999 por Jack Moffitt e Barath Raghavan, para prover um servidor de transmissão de áudio de código-livre que qualquer um pode modificar, usar e mexer."
Fonte: Icecast – Wikipédia, a enciclopédia livre


Instalação em distribuições baseadas no Debian:

$ sudo apt-get update
$ sudo apt-get install icecast2
$ sudo apt-get install ffmpeg2theora
$ sudo apt-get install oggfwd


Configuração

Abra o arquivo de configuração do Icecast2:

$ sudo gedit /etc/icecast2/icecast.xml

Obs.: é importante ver a parte <limits> e <authentication>. No próprio arquivo, ou na documentação do Icecast2, é possível ver mais opções para um configuração mais complexa.

Ativar o Icecast2:

$ sudo gedit /etc/default/icecast2

Onde está na última linha a opção:
enable = false
Troque por:

enable = true


Opcional (altera a página principal do servidor):

$ sudo gedit /etc/icecast2/web/status.xsl

Reinicia o Icecast2:

$ sudo services icecast2 restart

Inicia o Icecast2:

$ sudo services icecast2 start

Abra o navegador e digite:

http://localhost:8000
Ou:
http://seu_IP:8000

Fluxo

Entre na pasta com os vídeos para o fluxo:

$ cd Pasta_de_Video

$ ffmpeg2theora video.mp4 -o /dev/stdout | oggfwd seu_ip 8000 admin /portadosfundos

Onde:
  • O FFmpeg2 faz a codificação do vídeo;
  • A opção "-o" é para optimizar a codificação;
  • Oggfwd é responsável pelo transporte do vídeo para o servidor bastando indicar o seu IP, a porta (padrão é 8000);
  • A senha do servidor e o ponto de montagem: "/qualquer_nome"

Conclusão

A instalação e configuração de um servidor é basicamente fácil. Sendo a partir disso, implementar e buscar formas de aprimorar o seu serviço.

O Icecast2 possui interface bem intuitiva e também o suporte a vários canais, sujeito a sua configuração.