segunda-feira, 23 de março de 2015

Mudança de hospedagem para os textos e artigos

Os textos e artigos deste blog foram migrados/copiados para outro local.

Não será mais utilizado para postagens novas.

Ficará no ar sem novos textos. Somente os que já estão aqui, até Dez/2014.

O site novo é:

www.mariomedeiros.eti.br

E os textos estão no seguinte endereço:

www.mariomedeiros.eti.br/artigos

Sem mais.

sábado, 27 de dezembro de 2014

Instalação automatizada: Webmim e Ambiente de Desenvolvimento Básico

Em 28 de Ferevereiro deste ano (faz tempo hein!!), eu escrevi um post sobre automatização de instalação do Webmin, (http://lowcypher.blogspot.com.br/2014/02/script-para-instalacao-automatizada-do.html).

Com base no mesmo script, fiz uns ajustes e adicionei mais algumas linhas.

Agora é possível instalar um ambiente mínimo para desenvolvimento, com Apache, PHP e MySQL. Adicionando no final da instalação um arquivo phpinfo para verificação da instalação do php.

Este script não faz a configuração do home_dir do apache, nem mesmo a configuração de Virtual Hosts também. Deixa o ambiente mínimo de desenvolvimento, como eu disse no início.

Foi feito no Linux Mint 17.1 codinome Rebecca. Com alguns ajustes pode ser utilizado em qualquer distro com base em Debian, Ubuntu ou qualquer outra distro Linux.

Abaixo segue  o script com as linhas comentadas.

#!/bin/bash

##########################################
#Autor: LowCypher Augur                                                                  
#script feito em 2014-12-17 - atualizado em 2014-12-18                
#teste feitos em: Linux Mint 17.1 - variante do ubuntu                   
#                                                                                                       
#não foram feitos testes em outras versões do Mint nem mesmo  
#em outras variantes do Debian ou Ubuntu                                    
#                                                                                                      
#ajuste conforme necessário                                                          
#                                                              
##########################################


#adicionando repositorio do webmin
echo deb http://download.webmin.com/download/repository sarge contrib >> /etc/apt/sources.list &&
echo deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib >> /etc/apt/sources.list &&

#copiando o arquivo da chave do apt-key para o diretorio root - aplicando a chave no apt
cd /root &&
wget http://www.webmin.com/jcameron-key.asc &&
apt-key add jcameron-key.asc

#atualizando o apt - instalando o webmin
apt-get update && apt-get install webmin -y

#instalando os pacotes do ssh - mysql - apache2 - php5 - pacotes básicos para o ambiente de desenvolvimento
apt-get install openssh-server mysql-server mysql-client apache2 php-pear php5-cli php5-common php5-mcrypt php5-imagick php5-json php5-xmlrpc php5-gd php5-mysql libapache2-mod-php5 phpmyadmin -y

#criando o arquivo phpinfo.php para verificacao da instalacao do php
#altere o diretorio do document root do apache se esse abaixo não for o apropriado
#obs: instalacoes novas do ubuntu apontam para o diretorio abaixo
echo "" >> /var/www/html/phpinfo.php

segunda-feira, 8 de dezembro de 2014

Infanticídio Falácia

No dia 07-12-2014 foi mostrada num programa de audiência nacional uma reportagem com a chamada sobre Infanticídio, direito á vida e etc.

De acordo com o dicionário priberam.pt:

in·fan·ti·cí·di·o
(latim infanticidium, -ii)
substantivo masculino

Morte dada voluntariamente a uma criança, a um recém-nascido.

"infanticídio", in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/dlpo/infantic%C3%ADdio

Agora a questão é:
onde esta prática é considerada por acordo comum ou tratado social, crime?

Resposta: 
em culturas que por convenção, acordos e tratados sociais transformaram em lei que esta prática é crime. Simples.

Em culturas que não consideram esta prática como crime, qual deve ser o tratamento para com esta referida cultura? 
Deve-se haver uma intevenção forçada para que se acabe esta prática? Para que vire crime? 

Outra questão que se desdobra em outra ou outras, é quem ou qual grupo, definiu como e quaando interferir em culturas diversas?

O que define uma cultura como sendo passível de intervenção? 
Ou até mesmo se ela é simples demais, primitiva ou atrasada para que seja forçada a seguir as premissas de uma outra cultura que foi definida, por sabe-se lá qual grupo, como a cultura modelo, avançada, civilizada e unificadora de todas as outras?

Com base em dados reais é possível criar informação duvidosa e dúbia. O que é regra geral no mundo.

Foi identificado que a cidade mais violente do Brasil é a cidade de Caracaraí em Roraima, com 19 mil habitantes.
Ao adicionar os números referentes às práticas culturais dos indígenas, o chamado infanticídio, os números se elevaram.

A reportagem está em: 
http://g1.globo.com/fantastico/noticia/2014/12/tradicao-indigena-faz-pais-tirarem-vida-de-crianca-com-deficiencia-fisica.html

A pergunta é: deve-se adicionar esses dados como sendo comum de duas culturas diferentes em que tratam o infanticídio de forma bem distinta, como dados gerais?

Outras perguntas: 
deve-se tratar de forma proporcional as mortes violentas por números de habitantes total? 
Não é levado em conta a forma como cada cultura entende e trata o conceito de violẽncia? Violência para um povo é o mesmo para outro?

Estão tratando de forma unilateral esta questão. Na verdade estão tratando de forma unilateral qualquer questão onde um grupo menor ou uma minoria está envolvida.

Um pedaço da história:

O pseudo-civilizado chega numa terra onde existem povos indígenas.
Percebe a fragilidade desses povos e a partir daí parte para o mano-militari para conquistar.
Outro grupo pseudo-civilizado, acredita que deve "salvar" as almas perdidas, mostra o cristianismo.

Resultado: 
massacres e exterminio de povos e etnias inteiras; 
contaminação cultural, levando crenças divergentes às dos nativos e ensinando que estão totalmente errados, contaminação cultural também em todos os comportamentos que os nativos tinham.
contaminação biológica, uma vez que as doenças desses pseudo-civilizados são desconhecidas pelos nativos;
Estes são apenas algumas das coisas que lembramos por alto.

Depois de todas as atrocidades e crimes cometidos contra os nativos, vêm a necessidade hipócrita de redenção sobre os atos dos antepassados, mas na verdade não passa de auto-promoção e politicagem da forma mais porca, vil e que despreza a diversidade de culturas e diversidade da Vida.


Nenhum governo ou grupo dominante tem qualquer interesse em manter e apoiar o pouquíssimo que resta da cultura e tradição dos nativos sobreviventes. 
Uma vez que são povos em extinção, pra quê tentar conservar? 
Elimine aos poucos até que um dia simplesmente essas pessoas, culturas, povos, sejam somente um rabisco à lápis num canto de um caderno velho de alguma biblioteca ou museu que também será destruído, para dar lugar a um estacionamento, shopping center ou como dizem alguns, ao "progresso".

Ao longo de toda história, observou-se (mas não foi dada nenhuma atenção) que a interferência de uma cultura mais complexa e avançada em outra mais simples e básica, por melhor que sejam as intenções, causam danos irreparáveis. O que dizer então sobre a interferência com intenções destrutivas e gananciosas?

O que são essas pessoas e grupos que podem definir o destino e direção da evolução de outros povos? 
Qual a quantidade de pessoas que define que não se deve interferir na cultura e evolução deles? 700? 700 milhões? 7 bilhões?
A história mostrou que todos os povos foram destruídos com interferência, transferências e realocações. O que difere estes povos dos outros povos?

Direito à vida sim, mas e o direito à cultura de um povo que deseja manter seu modo de viver, manter a sua própria vida? Isso não pode ser considerado como Vida?

Em nenhum momento da história foi dado o direito de se ouvir a minoria. Sempre a maioria é dona da verdade absoluta.

Falam, gritam e defendem o direito à vida e o tal de direitos humanos. Até ai, nada de mais. Mas esses mesmos grupos e pessoas com "autoridade" tentaram ou tentam resolver o problema de sua própria cultura no que tange esta questão de infanticídio?

Se extrapolarmos o conceito de infanticídio podemos então ver que crianças abandonadas pelos pais estão em processo de infanticidio? Que crianças que são "adotadas" pelo tráfico de drogas e outros ramos do crime organizado, estão também em processo de infanticídio?

É fácil fazer leis, colocar agentes em campo, para repreender um povo que não vai poder se defender com o mesmo poderio "militar" do governo. 

Onde estão estas pessoas tentando parar a força o infanticídio causado pelo tráfico de drogas, crime organizado, abandono dos pais, que é muito maior em números estatísticos? 
Onde estão essas pessoas agindo com tanta vontade e determinação para que sua própria cultura possa ser melhor do que elas pré-supõem que seja?

Esconder seus próprios problemas e flagelos para acusar e colocar em evidência os dos outros, que foram causados pelos seus próprios pais e até mesmo eles, é muito mais conveniente e lucrativo.

A cada dia a hipocrisia e a mediocridade são promovidas em todas as suas formas e com todos os esforços possíveis.
Esta é a espécia que infesta o orbe. Humanos.

segunda-feira, 4 de agosto de 2014

Listando Arquivos com o Caminho Completo - Linux

E eis que num belo dia, você quer fazer uma lista de arquivos de um diretório, por exemplo o diretório de Músicas.

Você quer que seja mostrado e listado em arquivo ou mesmo em tela o caminho completo do mesmo.

Buscas e mais buscas, pesquisas, lendo os manuais do ls e mesmo assim, nenhum resultado adequado ao que eu queria.

Então em um determinado momento, eu encontro a linha de comando que resolveu minha demanda.

Vamos ao problema em si:

Listar os mp3 de um diretório para montar um playlist com a discografia da banda, mas que tivesse o referencial do caminho absoluto dos arquivos.

Dentro do diretório de Músicas (/home/usuario/Músicas/banda/), usei o seguinte comando:

find "`pwd`" -name *mp3

O resultado foi algo assim:

/home/usuario/Música/Fear Factory/Mechanize/02 Industrial Discipline.mp3
/home/usuario/Música/Fear Factory/Mechanize/07 Controlled Demolition.mp3
/home/usuario/Música/Fear Factory/Mechanize/05 Christploitation.mp3
/home/usuario/Música/Fear Factory/Mechanize/10 Final Exit.mp3
/home/usuario/Música/Fear Factory/Mechanize/01 Mechanize.mp3
/home/usuario/Música/Fear Factory/Mechanize/08 Designing The Enemy.mp3
/home/usuario/Música/Fear Factory/Mechanize/04 Powershifter.mp3
/home/usuario/Música/Fear Factory/Mechanize/09 Metallic Division.mp3
/home/usuario/Música/Fear Factory/Mechanize/06 Oxidizer.mp3
/home/usuario/Música/Fear Factory/Mechanize/03 Fear Campaign.mp3

Saiu todos os discos na lista, mas deixei somente um neste post como exemplo e para que não fique tão extenso.

A saída padrão do comando é a tela. Eu redirecionei para um arquivo usando o mesmo comando apontando para o arquivo destino:

find "`pwd`" -name *mp3 > listageral.pls

Gerou o arquivo com as músicas e tudo direitinho. Mas ficou fora de ordem como é mostrado no exempĺo acima.
A preguiça é grande demais para ficar organizando na mão. Então depois que o arquivo estava pronto, lá foi outro comando legal pra organizar em ordem alfabética o arquivo:

sort listageral.pls > listageral1.pls

Assim o arquivo destino fica em ordem alfabética, como abaixo:

/home/usuario/Música/Fear Factory/Mechanize/01 Mechanize.mp3
/home/usuario/Música/Fear Factory/Mechanize/02 Industrial Discipline.mp3
/home/usuario/Música/Fear Factory/Mechanize/03 Fear Campaign.mp3
/home/usuario/Música/Fear Factory/Mechanize/04 Powershifter.mp3
/home/usuario/Música/Fear Factory/Mechanize/05 Christploitation.mp3
/home/usuario/Música/Fear Factory/Mechanize/06 Oxidizer.mp3
/home/usuario/Música/Fear Factory/Mechanize/07 Controlled Demolition.mp3
/home/usuario/Música/Fear Factory/Mechanize/08 Designing The Enemy.mp3
/home/usuario/Música/Fear Factory/Mechanize/09 Metallic Division.mp3
/home/usuario/Música/Fear Factory/Mechanize/10 Final Exit.mp3









Com o tempo tentarei montar um shell script com os parâmetros apropriados para poder gerar listas de arquivos e diretórios de forma mais simples.

Para complementar, estes outros comandos podem ajudar também, mas ainda não os usei muito bem:

Use este para diretórios:

ls -d -1 $PWD/**

Este para arquivos:

ls -d -1 $PWD/*.*

Este para qualquer coisa:

ls -d -1 $PWD/**/*

Obs: estes últimos colocados como estão trabalham com arquivos/diretórios onde os nomes não são compostos por espaço. Por isso no comando que utilizei o pwd está com aspas simples e também aspas duplas, para pode entender o caracter espaço.

No momento, atendeu minha necessidade. Espero que isso possa ajudar alguém com uma necessidade semelhante.

Fontes de referência:

http://www.zsh.org/mla/users/2002/msg00033.html

http://stackoverflow.com/questions/246215/how-can-i-list-files-with-their-absolute-path-in-linux


sexta-feira, 28 de fevereiro de 2014

Script para instalação automatizada do Webmin

Quem utiliza sistemas Linux sabe o quão poderoso é o terminal. Mas também sabe que quando se tem uma ferramenta que facilita o uso e gerenciamento do sistema, acaba por utilizá-lo.
Neste caso o facilitador é o Webmin (http://www.webmin.com). Não entrarei em detalhes desta ferramenta em si, e sim no modelo de instalação em sistemas Debian-Like.
Por várias vezes fiz as instalações do webmin seguindo as instruções do site oficial (http://www.webmin.com/deb.html), seguindo o passo a passo para o respositório Debian e tudo o mais.
O que farei aqui é simplesmente mostrar o script que faz isso somente com um comando e voilá, ele instala o Webmin e pronto.
Então vamos ao script:

#!/bin/bash

echo deb http://download.webmin.com/download/repository sarge contrib >> /etc/apt/sources.list &&
echo deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib >> /etc/apt/sources.list &&

cd /root &&
wget http://www.webmin.com/jcameron-key.asc &&
apt-key add jcameron-key.asc

apt-get update && apt-get install webmin -y


Copie e cole num arquivo texto. Use o gedit ou o editor de sua preferência. Salve com um nome qualquer.
Como usuário root, altere as permissões do arquivo para execução.

No meu caso eu salvei como webmin.sh e depois eu digitei o comando chmod +x webmin.sh

Depois disso é só executá-lo usando a sintaxe padrão que é ./webmin.sh

O script vai adicionar o repositório do webmin, vai mudar para o diretório /root para baixar o arquivo de chave de autenticação do site, vai adicionar a chave no apt, atualizar a base de repositórios e finalizar com a instalação do webmin.

Tudo isso sem perguntar nada ao usuário.

Finalizado, vá ao navegador e digite o endereço: https://127.0.0.1:10000.

Será mostrada a tela de acesso a um site com ssl. Aceite as condições e pronto, será mostrada a tela de login do sistema Webmin.
Entre com o usuário root e respectiva senha para utilizá-lo.
Simples.




quarta-feira, 13 de novembro de 2013

Conexão USB - Android 4.x - mtpfs - Linux


Android 4.x - mtpfs - Linux

E num belo dia você tem em mãos um dipositivo Samsung com android, versão 4.x ou outra versão que utiliza o MTP e ... MTP? que treko é esse?

Tudo bem, la vaí: esse treko é o protocolo de transferência de mídia.
Os dispositivos como smartphones e tablets que utilizam android, também utilizam este protocolo.
Com o tempo ele passou a ser mais utilizado e portanto ficou mais complicado conectá-lo numa máquina linux via cabo USB.

Tanto em Windows como em MacOS, temos o Kies da Samsung para seus respectivos dispositivos e o windows acaba por reconhecer o dispositivo como uma câmera ou um pendrive.
No caso de sistemas Linux isso não ocorre.
Para o Linux teremos que utilizar um pacote que trata o MPT como um sistema de arquivo, o mtpfs. O pacote é o go-mtpfs.

Após várias pesquisas, tentativas e erros, até que o resultado não foi ruim.

Então vamos aos procedimentos básicos que funcionou comigo. Detalhe: não é necessário ter o aparelho "rooteado".
Foi testado num Linux Mint Nadia – 14. Talvez haja algumas pequenas diferenças entre as variações das distros baseadas em Debian ou Ubuntu, mas creio que sejam poucas.

Como estamos conectando um dispositivo que utiliza o sistema de montagem de discos do linux, é natural que o recurso utilizado seja com base em sistema de arquivos, partições e etc.
Vamos abrir o terminal e digitar os comandos abaixo, um por vez.

sudo add-apt-repository ppa:webupd8team/unstable
sudo apt-get update
sudo apt-get install go-mtpfs

Explicando:
o primeiro comando adiciona o repositorio ppa webupd8;
o segundo comando atualiza os repositórios;
o terceiro instala o pacote go-mtpfs


Caso esteja utilizando o ubuntu com unity, então devem complementar com o seguinte comando;

sudo apt-get install go-mtpfs-unity mtpfs

Este último faz com que tenha o ícone do android no dash do unity. No meu caso eu fiz tudo pelo terminal mesmo, uma vez que utilizei o LInux Mint e não o Ubuntu, sendo que para mim foi mais fácil.
Após todo esse trabalho exaustivo e várias linhas de comandos, vamos então conectar o dispositivo. Após a conexão ele mostrará que está no modo de USB de conexão.
Verifique se o MTP está ativo. O modo MTP é ativado por padrão.




De volta ao sistema, vamos novamente para o terminal. Como usuário comum, digite:

go-mtpfs /media/MyAdroid

Este comando irá montar o dispotivo conectado no diretório /media/MyAndroid que ele cria por padrão. Mantenha desta forma.

Abra o seu gerenciador de arquivo e localize o dispositivo montato em MyAdroid, provavelmente como Phone. Se ele tiver um cartão de memória será mostrado também, com o nome de Card.
Pronto, já é possível navegar entre os diretórios. Note que mesmo sendo partições ou "discos" diferentes, ele monta no mesmo ponto de montagem, o MyAndroid.
É uma característica do go-mtpfs que é diferente do sistema antigo de Mass Storage.
Mudanças e mais mudanças. Não me aprofundei no assunto. Talvez mais a frente.

Após navegar entre os diretórios e gerenciar seus arquivos, é hora de desmontar dispositivo.
Então no terminal (vai ter que utilizar sim, sem medo), utilizar os comandos como root.

umount /media/MyAndroid

Pode parecer complicado, mas na verdade é simples. Uma das coisas boas do software livre e opensource é que quando uma solução é encontrada, ela acaba por ficar mais simplificada e fácil com o decorrer do tempo.
Logo aparecerá um modo bem mais simples para isto, se é que já não existe enquanto está
lendo este post.

Fontes de referência:
http://www.mysolutions.it/mounting-your-mtp-androids-sd-card-on-ubuntu/
http://community.linuxmint.com/tutorial/view/1185
http://diadialinux.wordpress.com/2013/02/08/montar-android-4-0-no-ubuntu-usando-mtpfs-mtp/
http://www.webupd8.org/2012/12/how-to-mount-android-40-ubuntu-go-mtpfs.html

sexta-feira, 1 de março de 2013

Instalando Cisco Packet Tracer 5.3.3 em linux Debian/Ubuntu


Para quem estuda roteadores Cisco, uma das ferramentas essenciais para os estudos e labs é a aplicação da própria Cisco, o Packet Tracer.

Na versão 5.3.2, tudo ia de vento em popa, até que um belo dia, um lab que você conseguiu fazer e salvou na versão 5.3.3 não abre na versão 5.3.2. Até aí nada de mais, só é necessário você atualizar a versão e pronto.

Mas como nem tudo na vida é exatamente como queremos, eis que surge um pequeno contratempo para que essa atualização aconteça. Se você estiver na mesma situação que eu, que utiliza linux, então você terá sim, um contratempo. E não é o linux o que causa o contratempo e sim a forma como o aplicativo foi remodelado em sua instalação, como veremos mais adiante. Se você utiliza RuWindows, então nem precisa ler este documento. Siga o padrão NNF (next, next, finish) e pronto.

Algo que poderia ser simples como nas versões anteriores, tornou-se incômodo na 5.3.3.
Bom, já reclamei demais. Então vamos aos procedimentos.
Baixe o pacote do Packet Tracer 5.3.3 para linux, em formato .bin e salve em qualquer diretório de sua máquina.

Obs: se você tiver instalado a versão 5.3.2 do Packet Tracer, é recomendada, mas não obrigatório, a remoção dessa versão. Se a versão instalado estiver n o diretório /opt/pt que é o padrão, a mesma continuará no mesmo local, uma vez que a versão 5.3.3 é instalada em outro diretório, como veremos mais a adiante. Esta recomendação é para evitar confusão quando da execução do aplicativo 5.3.2 e 5.3.3. Não haverá conflito entre eles, mas poderá haver confusão pelo lado do usuário. Comando para remoção do pacote 5.3.2, como root: dpkg -r PacketTracer

Em seguida, como usuário root (logue-se com “sudo su” no ubuntu ou “su -” no Debian, dê-lhe permissão de execução:

chmod +x Packet Tracer v5.3.3 Application only Linux-Ubuntu.bin

Agora que você já deixou o arquivo como um executável, vamos executá-lo: ./Packet Tracer v5.3.3 Application only Linux-Ubuntu.bin e voilá não vai funcionar. Por que?

Simples, o nome do arquivo está com espaços e o instalador não consegue localizar algum outro arquivo ou instrução, ou seja, você terá que renomear o arquivo para algo que não possua espaços no nome.
Então, tente algo como: mv Packet Tracer v5.3.3 Application only Linux-Ubuntu.bin packettracer.bin

Para facilitar e evitar erros na digitação, utilize a tecla tab após digitar a letra P do nome do arquivo, assim ele autocompleta o nome do arquivo.

Obs: lembrando que sistemas sérios fazem distinção entre caracteres maiúsculos e minúsculos, portanto atenção.

Pronto, agora sim, você pode executar o arquivo, como sugerido o nome: ./packettracer.bin

Após o comando será mostrado a EULA do aplicativo. Para rolar a página até o fim, utilize a tecla Enter para conseguir chegar até o final, tomando cuidado para quando chegar na marcação de 99% e não ultrapassar, senão ele volta para o prompt e terá que começar novamente. No final, quando visualizar o questionamento se aceita a licença, tecle Y e enter. Inicia-se então a instalação da aplicação.

Pronto, ao término da instalação terá o Packet Tracer 5.3.3 pronto para uso.

E então quando você digitar, no seu terminal do seu usuário o comando packettracer, nada acontecerá e ainda lhe retornará uma mensagem de erro. Muito bom isso não é?

O motivo para isso é que mudaram os diretórios de instalação. Então vamos corrigir os apontamentos para o executável da aplicação.

/usr/local/PacketTracer5/ diretório de instalação, onde está o executável “packettracer”

Para facilitar a vida vamos criar um link simbólico para este executável.

ln -s /usr/local/PacketTracer5/packettracer /usr/sbin/packet

Explicando o comando:
ln -s cria um link do aplicativo que está em /usr/local/PacketTracer5/packettracer para o diretório /usr/sbin/ com o nome do link como packet. No diretório /usr/sbin facilita o uso do aplicativo, uma vez que pode ser chamado em qualquer outro diretório.

Feito isso, ao digitar o comando que você digitou no link simbólico, no caso o packet, o Pack Tracer 5.3.3 abrirá, conforme a tela abaixo.