:::: MENU ::::
Mostrando postagens com marcador opensuse. Mostrar todas as postagens
Mostrando postagens com marcador opensuse. Mostrar todas as postagens

segunda-feira, 22 de maio de 2017

Muita gente já caiu nessa situação (eu também, claro), e chegou a desistir porque não viu como no momento, mas guardou pra si e que um dia iria ver como se faz... Eis que chegou o grande dia!

Muito simples:

OCICLI [URL]

Por exemplo:
OCICLI https://software.opensuse.org/ymp/devel:tools/openSUSE_Leap_42.2/zeal.ymp


E só isso. Bjs.

sexta-feira, 14 de abril de 2017



Aí você quer instalar as extensões do GNOME e o seu browser não está fazendo a instalação automática, mesmo você sabendo que o plugin está instalado no navegador. Como proceder?

Vamos lá!

dependências:
  • python 2.7+ ou 3.x
  • cmake 2.8 ou maior
  • coreutils
  • jq


(vamos supor que você já tenha o git instalado, ok? Se não, instale, facilita :)

sudo zypper in cmake jq
git clone git://git.gnome.org/chrome-gnome-shell
cd chrome-gnome-shell
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_EXTENSION=OFF ../
sudo make install



Isso é o que deve acontecer

E você vai ver que a extensão foi desativada.




Mas não se importe, porque ela já está funcionando.
E é isso. Um abraço!


Referência:

quarta-feira, 9 de dezembro de 2015

Tive esse problema após instalar o Virtualbox, pacote oficial da Oracle. Estranhamente, ele sempre apresentava a mensagem "Callee RC: NS_ERROR_FACTORY_NOT_REGISTERED" após a tentativa de execução, porém, quando tentava como root, funcionava normalmente. A partir daqui, já sabemos que é alguma coisa relacionada a permissão.

Pois bem, googlar eu fui.

Vi que é um bug veeeelho, com registros de 2009:

Callee RC: NS_ERROR_FACTORY_NOT_REGISTERED 0x80040154 unrelated to /tmp permissions => Fixed in SVN

 https://www.virtualbox.org/ticket/3568

Modo 01: Um cidadão resolveu da seguinte maneira[1]:


chmod ug-s /tmp
rm -fr /tmp/.vbox-rene-ipc/


Modo 02: Já eu, fui um pouco mais "violento":


finarfin:/tmp # ls | grep vbox
.vbox-raul-ipc
.vbox-root-ipc
finarfin:/tmp # rm -rf .vbox-r*


Mandei pra puta-que-pariu os arquivos do diretório /tmp/.vbox-$USER-ipc, no caso, .vbox-raul-ipc.



[1]: http://www.jbnet.fr/systeme/virtualisation/virtualbox-ns_error_factory_not_registered-0x80040154.html

domingo, 10 de novembro de 2013

São tempos difíceis. Não dá mais pra confiar na infraestrutura dos serviços web pois eles fornecem seus dados a quem não deveria. Nada mais confortável do que você manter seus dados dentro de casa, não é verdade? Certa vez eu quis fazer isso, mas sempre dava zica! Dessa vez, com um repositório pro Node.js, ficou bem mais fácil a resolver as pendengas que surgiram da primeira vez. Thanks bro!


Mas, o que é o Etherpad?


É um serviço que até o nosso governo brasileiro usa: http://notas.dados.gov.br/notas/
Não ajudou muito né? :D
Bom, é um serviço de edição de notas online, em que várias pessoas podem editar um documento simultaneamente. O Google Docs tem essa funcionalidade também, porém não dá pra rodar o Google Docs dentro de sua infraestrutura. #PrivacidadeFail.

quarta-feira, 19 de junho de 2013

Queridos! Saudades de escrever para vocês! Por que ficamos tanto tempo afastados? Simples: Infraestrutura Microsoft :(
Isso pra mim é broxante, mas, vou retomar aquela rotina de estudos, implementações em casa, voltar ao fórum susebr.org... Eu to devendo outras coisas a mim mesmo, como por exemplo, uma certificação ITIL, uma Microsoft e claro, a nossa LPI. Vou me empenhar nisso, ao menos tentar.



Mas enfim, satisfações dadas, vamos voltar ao assunto do nosso post. Sem delongas, é o seguinte:
ffmpeg -i video.mp4 -i audio.mp3 -vcodec copy output.mp4

E o que temos nessa linha:
  • ffmpeg: O cara que faz toda a magia acontecer
  • -i: Inputs. Qualquer entrada deve ser referenciada com o parâmetro -i
  • -vcodec copy: Aqui eu digo que, para o vídeo, utilize o mesmo codec(copy), e não faça conversão. Isso poupa muitos minutos.
  • output é o arquivo de saída. Use o mesmo tipo de arquivo na extensão do output.

E é isso! Vamos nos falando por aí...

domingo, 9 de setembro de 2012


Não sei se já passaram por isso, mas, as vezes (ou quase sempre) quando uso o VLC e em algum momento do vídeo eu dou um pause, quando dou um play, geralmente o audio não volta ou depois de um grande atraso, torna a tocar.
É um probleminha irritante que várias vezes me fez mudar de player só por conta desse simples problema.
Eu havia acabado de fazer o download do filme Furia de Titans 2, e comecei a assistir. Estava eu conversando com o amigo Alan Teixeira, até que, me despedi e comentei que iria ver o filme. Mas, no momento dei uma pausa e, adivinha o que aconteceu!!!? Pois é! bug!

Aí, lembrei que uma certa vez, o mesmo Alan havia me contado que tinha descoberto a solução para esse problema! Buscando nos meus registros, achei lá no histórico do Gtalk (yep, eu os guardo! Já me salvaram várias vezes!). Para ser preciso, a solução me foi dada no dia 19/10/2011! Um ano depois e eu torno a utilizá-la.

Bom, a quem estamos tanto a falar é o vlc-aout-pulse:

haruka:~ # zypper info vlc-aout-pulse
Loading repository data...
Reading installed packages...


Information for package vlc-aout-pulse:

Repository: Packman Repository
Name: vlc-aout-pulse
Version: 2.0.2-5.9
Arch: x86_64
Vendor: http://packman.links2linux.de
Installed: Yes
Status: up-to-date
Installed Size: 30.9 KiB
Summary: VLC Audio Out for Pulse Audio
Description:
Extends VLC with Pulse Audio Support for Audio Out


Instale-o e resolva seus problemas!

haruka:~ # zypper in vlc-aout-pulse

segunda-feira, 3 de setembro de 2012

Probleminha chato mas que muita gente tem. Como resolver?
Fácil:
skype --dbpath=~/.Skype2





Você também pode criar um lançador:




Estou usando o XFCE nesse exemplo, mas basta criar um lançador com os mesmos parâmetros caso utilize outro gerenciador gráfico.

quarta-feira, 4 de julho de 2012

 

Hoje (04/07/2012) fui dar uma olhada no site do skype (não me pergunte por que cargas d'águas fui fazer isso) e vi que o pacote para Linux FINALMENTE saiu do 2.3 Beta - que dava um problema FDP com a câmera - embora eu ainda não tenha testado essa 4 pra ver como está isso.
Uso o openSUSE 11.4 em casa, tanto no desktop quanto no notebook e, ao saber do update, baixei e tentei instalar. O pacote tem 26MB, maior que os outros.
Para minha surpresa, quando tentei instalar....
haruka:/home/raul/Downloads # zypper in skype-4.0.0.7-suse.i586.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides libstdc++.so.6(GLIBCXX_3.4.15) needed by skype-4.0.0.7-suse121.i586
Solution 1: do not install skype-4.0.0.7-suse121.i586
Solution 2: break skype by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c):

Achei estranho, já que eu já tinha instalado o libstdc e a libstdc++.so.6 estava no sistema:
haruka:/home/raul/Downloads # ldconfig -p | grep libstd
libstdc++.so.6 (libc6) => /usr/lib/libstdc++.so.6
libstdc++.so.5 (libc6) => /usr/lib/libstdc++.so.5

Bom, ficar contestando com o SO não vai resolver meu problema. Fui buscar uma solução, que acabei encontrando na mensagem do fórum do openSUSE, no tópico Skype 4 - anyone got it to work?. Nele descobri que o problema estava na versão do libstdc++45, que é antiga para o Skype 4.
Solução? Baixar o pacote via software.opensuse.org e fazer a reposição! :D

1. Acessem http://software.opensuse.org
2. Na barra de busca, procurem por libstdc. Para o openSUSE 11.4, vcs podem baixar o pacote libstdc++47. (http://software.opensuse.org/package/libstdc++47)
3. Instalem:
zypper in libstdc++47
O sistema irá reclamar:
Problem: libstdc++47-4.7.1_20120704-36.1.i586 conflicts with libstdc++6 < 4.7.1_20120704-36.1 provided by libstdc++45-4.5.1_20101208-9.8.i586
Solution 1: deinstallation of libstdc++45-4.5.1_20101208-9.8.i586
Solution 2: do not install libstdc++47-4.7.1_20120704-36.1.i586
Choose from above solutions by number or cancel [1/2/c] (c): 1


Mas podem ir em frente, vai dar tudo certo! (ao menos deu no meu heheheh)

Após isso podem experimentar a instalação. Ele não reclamará mais do pacote e instalará tranquilamente :)

See ya!

quinta-feira, 14 de junho de 2012

Nesse post, faço uma singela análise de ferramentas de análise de logs do Squid, além de mostrar como instalar as mesmas em seu servidor.

squeezer

Um script feito em perl. funcionamento bastante simples. Tão simples que não funcionou comigo.
URL:http://sourceforge.net/projects/squidoptimizer/
versão testada: 0.5
Resultado: falhou na execução
haruka:/usr/local/squid # squeezer/squeezer.pl -c etc/squid.conf -l var/logs/access.log
Illegal division by zero at squeezer/squeezer.pl line 647

Erro no script... Cadê o mantenedor/criador? Isso é erro de cálculo. :(


free-sa

Um analisador estático para arquivos de logs similar ao SARG.
URL: http://sourceforge.net/projects/free-sa/
versão testada: 2.0.0b5p7
Resultado: OK, porém mal documentado para exibir os gráficos

Instalação

Pré-requisito: Apache rodando
Crie o diretório /srv/www/htdocs/free-sa e conceda as permissões para o apache:
mkdir /srv/www/htdocs/free-sa
chown -R wwwrun.www /srv/www/htdocs/free-sa

Descompacte o arqiuvo compactado e execute um make install dentro do diretório.
make install
Isso fará com que ele instale seus arquivos.
Nesse mesmo diretório, observe que existe um diretório etc/ e um themes/.
Em themes, são os temas (LOL!). Escolha um e copie todo o seu conteúdo para o diretório do free-sa:
cp -rfv themes/sarg/* /srv/www/htdocs/free-sa/

Edite as seguintes linhas no etc/free-sa.conf.sample:
GLOBAL OPTIONS
locale="pt_BR.UTF-8" # se quiser em português

LOG FILE OPTIONS
log_file="/seu/log/do/squid/access.log"

Descomente toda a sessão do HTTP related filter reports para ter mais relatórios.

copie alterando o nome do arquivo free-sa.conf.sample para o /usr/local/etc/free-sa/free-sa.conf:
cp etc/free-sa.conf.sample /usr/local/etc/free-sa/free-sa.conf

Agora, adicione a seguinte linha no crontab:
* * * * * /bin/rm -rf /srv/www/htdocs/free-sa/[0-9]* && /usr/local/bin/free-sa -o /srv/www/htdocs/free-sa/

O relatório estará disponível em http://servidor/free-sa


Squid-graph

Script em perl que gera gráficos com base no access.log
URL: http://sourceforge.net/projects/squid-graph/
versão testada: 3.2
Resultado: OK

Instalação

Pré-requisito: Apache rodando
Opcional - 1. Mova o squid-graph para o /usr/local. Seu diretório agora será o /usr/local/squid-graph.
Crie o diretório no /srv/www/htdocs/squid-graph para apresentação dos resultados.
Conceda as permissões de acesso ao usuário do apache
mkdir  /srv/www/htdocs/squid-graph
chown -R wwwrun.www /srv/www/htdocs/squid-graph

Adicione no cron a linha:
* * * * * /usr/local/squid-graph/squid-graph --output-dir=/srv/www/htdocs/squid-graph/ < /log/do/squid/access.log 2>&1

A sintaxe é simples: [executável do squid-graph] --output-dir=[diretorio de saída do relatório] < [log do squid] 2>&1

Eu defini que o diretório de saída do relatório será um que já está publicado. Assim poderemos ver pelo navegador.


4. Abra o navegador e consulte no endereço http://servidor/squid-graph

terça-feira, 5 de junho de 2012


O que é o Moodle?

O Moodle é um Sistema Open Source de Gerenciamento de Cursos - Course Management System (CMS), também conhecido como Learning Management System (LMS) ou um Ambiente Virtual de Aprendizagem (AVA). Tornou-se muito popular entre os educadores de todo o mundo como uma ferramenta para criar sites de web dinâmicos para seus alunos. Para funcionar, ele precisa ser instalado em um servidor web, em um de seus próprios computadores ou numa empresa de hospedagem.

O foco do projeto Moodle é sempre a disponibilizar aos educadores as melhores ferramentas para gerenciar e promover a aprendizagem, mas há muitas maneiras de se utilizar o Moodle:
  • O Moodle possui características que lhe permitem usabilidade em grande escala para centenas de milhares de estudantes, mas também pode ser usado para uma escola primária ou um entusiasta da educação.
  • Muitas instituições utilizam como plataforma para realização de cursos totalmente on-line, enquanto outros simplesmente usam como contato em seus cursos (conhecido como blended learning).
  • Muitos de nossos usuários gostam de usar os módulos de atividade (como fóruns, wikis e bancos de dados) para construir comunidades amplamente colaborativas de aprendizagem em torno de seu tema (na tradição construcionista social), enquanto outros preferem utilizar o Moodle como um meio de fornecer conteúdo aos alunos (tais como pacotes padrão SCORM) e avaliar a aprendizagem utilizando tarefas ou testes.



How to instalar o moodle


baixe o pacote do Moodle (versão 2.2.3)
wget http://ufpr.dl.sourceforge.net/project/moodle/Moodle/stable22/moodle-2.2.3.tgz
mkdir -p /opt/moodle/site/
tar xvf moodle-2.2.3.tgz -C /opt/moodle/site
chown -R wwwrun:www /opt/moodle



Instale o LAMP
zypper in -t pattern lamp_server

O Moodle funcionará melhor com esses complementos:
zypper in php5-mbstring php5-openssl php5-xmlrpc php5-soap php5-gd php5-intl php5-iconv php5-curl php5-tokenizer php5-ctype php5- php5-simplexml php5-spl php5-pcre php5-dom php5-xml php5-json

Configuração do Apache
Crie o arquivo /etc/apache2/conf.d/moodle.conf com o seguinte conteúdo:
Alias /moodle /opt/moodle/site/
<Directory /opt/moodle/site/ >
Options +Indexes +FollowSymLinks
IndexOptions +NameWidth=*
Order allow,deny
Allow from all
</Directory>


Inicie o servidor web e o mysql
service apache2 start
service mysql start

Após isso ele estará disponível no endereço http://ip.do.seu.servidor/moodle e é só configurar o ambiente. Aí vai do gosto de cada um.

Um abrazzo!

sexta-feira, 4 de maio de 2012

O evento

Meus queridos, que surpresa! O FLISOL 2012 lotou todas as salas e superou todas as nossas expectativas! Parabéns a todos que participaram e também a nossa equipe de organização, além é claro, da FTC. A faculdade nos ajudou aonde pode, mostrando-se uma grande aliada nos próximos eventos. Tivemos mais de 400 pessoas participando durante o dia, palestras na área de desenvolvimento e também de infraestrutura e muito conhecimento circulando pelos corredores!

Minha palestra

Devo confessar que me preparei bastante para essa palestra. Foram vários dias de testes, enfrentando problemas com o Virtualbox, com roteamento de pacotes, com extensões, versionamento de softwares, AutoYaST, XMLs... UFA! Deu trabalho viu!? Mas graças a Deus, ocorreu tudo dentro dos conformes!
Mas, consegui deixar tudo pronto a tempo ( mentira, só consegui fechar a apresentação lá pelas 3 da manhã do sábado do evento :D ). Falei sobre "Introdução a Instalações Remotas/Desassistidas usando o openSUSE", ou para os mais íntimos, Deployment com openSUSE. Foi bem legal, sala cheia e muita gente da área de infraestrutura.
Deu pra perceber que muita gente ficou "voando", mas, acredito que eventos devam dar essa sensação mesmo para os ouvintes. Eu mesmo gosto de palestras sobre assuntos que eu não conheço, afinal, to indo lá para aprender coisas novas. Temos de despertar a curiosidade para o novo e diferente.
Em breve colocarei alguns tutoriais demonstrando os cenários executados por lá. Vai ser bem interessante, garanto ;)
Ah, quem quiser baixar a apresentação, é só clicar aqui.

Enfim...

Então é isso aí pessoal. Novamente agradecemos pelo grande evento e ano que vem tem mais!

domingo, 18 de março de 2012



 
Repetindo o sucesso da iniciativa criada no fisl6.0, em 2005, e continuamente melhorada nas edições seguintes, nós da organização do FLISOL estamos seguindo essa mesma ideia e assim retribuiremos a divulgação espontânea do banner do FLISOL 2012 através da publicação da logomarca do seu site/blogger na seção Páginas Amigas. Para tanto, apenas solicitamos que notifiquem a Comissão Organizadora do FLISOL pelo e-mail flisolssa [at] gmail.com nos repassando os dados conforme o seguinte regulamento (leiam com merecida atenção)[1].

Ajude-nos a promover amplamente o FLISOL 2012 com nosso material de divulgação[2]! (vários tamanhos e formatos, mas respeite o que diz no item 8 das regras)[1].



A Comissão Organizadora do FLISOL e seus voluntários novamente agradecem aos colaboradores e divulgadores pois são vocês que fazem o evento ter essa grandeza. 
Categorias

  • BLOGS e SITES PESSOAIS
  • COMUNIDADES, TRIBOS e USUÁRIOS (GUs)
  • COOPERATIVAS, EMPRESAS e PROFISSIONAIS
  • DISTROS GNU/LINUX + SOs e PROJETOS LIVRES
  • ENTIDADES e ONGs
  • ESTUDANTES, ESCOLAS e UNIVERSIDADES
Obs: Estamos abertos a sugestões de categoria!

[1] - http://softwarelivre.org/flisol-ssa/regulamento
[2] - http://softwarelivre.org/flisol-ssa/divulgacao

Link da notícia : http://softwarelivre.org/flisol-ssa/paginas-amigas

domingo, 11 de março de 2012



Novamente iremos realizar o FLISOL em Salvador, ou seja, teremos muitas palestras interessantes para nosso público ávido por conhecimento.
Como de costume, teremos duas salas, uma voltada para as pessoas interessadas na área de desenvolvimento e uma especializada em infraestrutura. Tudo com Software Livre, claro!Novamente teremos diversos colaboradores a postos para instalar seu software livre preferido em sua máquina, ou seja, não perca essa oportunidade de ter um especialista no assunto disponível, e sem custo algum, para efetuar essa intervenção.

Entre os palestrantes temos as principais referências nos assuntos tratados:
  • O embaixador do projeto Fedora (Willian Mayan)
  • O criador da distribuição educacional Ekaaty (Cristiano Furtado)
  • O desenvolvedor do software de criação de redes sociais Noosfero (Caio Sba)
  • Membro da equipe responsável por criar o cluster que tem a função de alinhar sequências de DNA/Proteínas (Guilherme Rocha)
E tudo isso com Software Livre :)

Na área de desenvolvimento, também temos personalidades de referência com assuntos bastantes diversificados como:
  • PHP
  • Java
  • Ruby
  • Business Inteligence
  • Android
  • Web Semântica
  • NOSQL
  • MongoDB
  • Ruby
  • Demoiselle

Se deseja ajudar esse evento, que é TOTALMENTE colaborativo, acontecer, entre em contato conosco, pois lembre-se que na comunidade não existe vocês, é somente nós!

Em breve estaremos liberando a programação. Fiquem no aguardo!

sexta-feira, 9 de março de 2012

Dois pequenos detalhes impedem de realizar o login no proftpd com usuários locais:

1. Se o nome da máquina não estiver definido no arquivo /etc/hosts, apontando para o endereço de loopback (claro)
2. Se no arquivo de configuração /etc/proftpd/proftpd.conf,o módulo de autenticação unix estiver desabilitado. Eis como o arquivo geralmente vem:
### order of auth modules
        #AuthOrder               mod_auth_unix.c mod_auth_file.c
        AuthOrder              mod_auth_file.c

E como deve ficar:
### order of auth modules
        AuthOrder               mod_auth_unix.c mod_auth_file.c
        #AuthOrder              mod_auth_file.c

Feito isso, teste o serviço:
ftp endereco.do.servidor.ftp

Coloque o login e senha e seja feliz :)

Add-on:
Use um usuário específico para o ftp, para maior segurança:
useradd CACIC -c "Usuario CACIC"  -d   /srv/ftp/cacic -s /bin/false
 E logue com esse user.

Abraço!

quinta-feira, 8 de março de 2012

O Case

Outro dia o amigo ElCheVive68 me pediu para fazer um script, que o auxiliaria em uma de suas tarefas, já que o equipamento comprado para tal demanda estava se confundindo nos cálculos :)

Nesse post, abordaremos apenas o tratamento do arquivo e como realizar a limpeza + cálculo dos valores.


Os arquivos

Estes continham em média 360 linhas, com valores em V/m (volts/minuto) e mV/m (microvolts/minuto). Era esperado que mostrasse:
  • A média do campo elétrico
  • O campo magnético
  • A potência

Eles são mais ou menos assim:
1sec  Logging at: Feb 04, 2012 Thu 10:32:36 Temp=+29.1 C
7.20V/m
7.23V/m
7.46V/m
[...]
7.46V/m
AUZ V/m
AUZ V/m
2.30V/m
2.18V/m
1.48V/m
 972mV/m
 972mV/m
 755mV/m
[...]
Recorded samples: 00366  Thu 10:38:44 Temp=+29.4 C
Max:14.6V/m   Avg:2.61V/m 

Segue arquivos de exemplo:

Baixe os arquivos e vamos começar a brincadeira :)
Lembrem de deixar esses arquivos no mesmo diretório do script. Eu sei que poderia ter melhorado isso, mas tô com preguiça ( mimimimimimimi )

HANDS ON!


Primeiro, vamos arrumar um lugar pra fazer nossa brincadeira:

[ -d output ] || mkdir output

Depois, vamos criar uma função, para deixar tudo bem organizado:
tratamento(){
LIST=output/$FILE
VERIFIED=output/${FILE}_verificado.txt
cp $FILE $LIST.out
dos2unix $LIST.out 


[ -d output ] || mkdir output irá criar um diretório chamado output, caso ele não exista;
OUTPUT="resultado.csv" é a variável que criará o arquivo com o resultado;
tratamento(){ é como iniciamos uma função em Shellscript;
LIST=output/$FILE é a variável que manterá o nome do arquivo que será tratado pelo script;
VERIFIED=output/${FILE}_verificado.txt gerará a saída dos arquivos já tratados.
 cp $FILE $LIST.out cria uma cópia do arquivo a ser tratado. Sempre trabalharemos com a cópia;
 dos2unix $LIST.out irá converter os arquivos de texto do padrão windows para o Unix - essa parte é MUITO IMPORTANTE.




Se o objetivo é realizar cálculos com os valores, então, temos de analisar o arquivo-fonte e deixar somente o que é necessário, no caso, os números. A melhor ferramenta para realizar essa limpeza é, na minha opinião, o sed:

 sed -i 's/ //g;/AUZ/d;/^$/d;/Recordedsamples/d;/Logging/d;/Max/d;' $LIST.out
Aqui, estamos:
sed -i - altera diretamente o arquivo de entrada;
's/ //g; - remove todos os espaços em branco;
/AUZ/d; - remove as linhas que contém o valor AUZ;
/^$/d; - Nas expressões regulares, '^' significa início de linha e '$' final de linha. Então, se juntarmos os dois, teremos uma linha vazia! Caso haja alguma em nosso arquivo, ela será removida.
/Recordedsamples/d; - Observem que no final do arquivo, temos esse trecho. Como o sed já removeu os espaços em branco, temos de ficar atentos às strings posteriores.
/Logging/d; - É o cabeçalho do arquivo. Inútil.
/Max/d;' - Última linha do arquivo. Inútil.
$LIST.out - O arquivo de entrada.
Com isso, teremos o arquivo apenas com os valores das cargas.

Mas, temos um pequeno problema: Temos valores em mV/m e em V/m!
Esse ponto é fácil de resolver, basta acharmos o valor total em mV/m e dividir por 1000. Com isso teremos o seu valor em V/m.
Apenas como forma de prevenção a outros problemas, devemos prevenir o caso de termos arquivos com apenas mV/m ou V/m. Faremos isso de maneira simples:
Usa-se o grep buscando, por exemplo, por mV/m. Se ele encontrar, o valor de retorno será 0, pois o comando foi executado com sucesso. Caso ele não encontre nenhum valor igual ao padrão especificado, ele retornará 1. Então, de posse dessas informações...


grep 'mV/m' $LIST.out > /dev/null ; [ $? = 0 ] && \
 MVM=$( bc <<< "scale = 3; $( grep 'mV/m' $LIST.out | tr -d 'mV/m' | paste -sd+ | bc ) / 1000 " ) \
 || MVM=0
 grep -E '*[0-9]V/m' $LIST.out > /dev/null ; [ $? = 0 ] && \
        VM=$( egrep '*[0-9]V/m' $LIST.out | tr -d 'V/m' | paste -sd+ | bc ) || VM=0


Então, aqui temos:
grep 'mV/m' $LIST.out > /dev/null ; [ $? = 0 ]: Um grep buscando por 'mV/m' no arquivo presente na variável com seu STDOUT direcionado para o /dev/null, uma maneira de ocultar a saída em tela. Caso o grep tenha sucesso em sua busca, ele retornará 0 na variável $?, e em seguida:
Fará uma nova busca pelo mesmo valor (mV/m), porém, redirecionará a saída para o tr;
O tr irá remover todos os padrões 'mV/m' encontrados no arquivo e jogará a saída para o paste;
O paste irá mudar a posição dos valores. Ao invés de um valor por linha, ele os colocará lado a lado e, utilizando como separador, um sinal de soma ( + ).
O bc, por sua vez, receberá o redirecionamento do paste, obtendo os valores, parecido com essa saída:
972+972+755+435+358+307+704+716+601+371+345+460+499+473+409+320+384+422+473+396
+396+371+371+371+371+358+512+499+486+332+358+371+371+358+371+371+396+384+345+33
2+345+358+384+358+332+345+358+358+332... 

Bom, aí o bc só soma e vai pra galera :)
Se ele não encontrar nenhum valor em mV/m, ele irá atribuir 0 a variável MVM, pois se esta estiver vazia, o bc não irá calcular e apresentará um erro.
Percebam também que existe um / 1000. Com isso, eu consigo igualar o valor dos mV/m aos V/m, facilitando o meu cálculo pela média do arquivo.

No trecho buscando V/m, eu faço algo parecido, exeto pelo fato que, deixo claro, utilizando expressões regulares, que quero apenas valores numéricos imediatamente seguidos por V/m ( *[0-9]V/m ). Do mesmo modo, caso não encontre nada em V/m, atribua 0 a variável VM.

De posse das variáveis MVM e VM com seus devidos valores, vamos ao final:

SUM=$( bc <<< "$MVM + $VM " )
LINHAS=$( wc -l $LIST.out | cut -f1 -d' ' )
MED=$( bc <<< "scale = 3; $SUM / $LINHAS" )
HAV=$( bc <<< "scale = 6; $MED / 377" )
SEQ=$( bc <<< "scale = 6; $MED ^ 2 /377" )

SUM é a soma dos valores de MVM (já convertidos em V/m) e VM;
LINHAS é a quantidade de valores válidos no arquivo;
MED é a média do campo elétrico;
HAV é o campo magnético e;
SEQ é a potência.

Depois disso, é só printar na tela, fechar a função e adicionar um laço para ler os arquivos que serão usados como STDIN :D

echo -e "Total = $SUM
Amostras = $LINHAS
Media = $MED
H = $HAV
Seq = $SEQ" > $VERIFIED

}

for FILE in $( ls *.TXT ); do
   tratamento
done

Prontinho! Seu script para fazer cálculos estranhos (hauhauhauhaa) está pronto! Todos os resultados estarão no diretório output (criado no diretório corrente do script).
Agora é só juntar tudo e... FINISH!


#!/bin/bash
# Rauhmaru, rauhmaru@opensuse.org
# ElCheVive68, elchevive68@opensuse.org
# Calcula valores
#
[ -d output ] || mkdir output
OUTPUT="resultado.csv"
tratamento(){
LIST=output/$FILE
VERIFIED=output/${FILE}_verificado.txt
 cp $FILE $LIST.out
 dos2unix $LIST.out
## LIMPEZA
 sed -i 's/ //g;/AUZ/d;/^$/d;/Recordedsamples/d;/Logging/d;/Max/d;' $LIST.out
## CALCULOS
 grep 'mV/m' $LIST.out > /dev/null ; [ $? = 0 ] && \
 MVM=$( bc <<< "scale = 3; $( grep 'mV/m' $LIST.out | tr -d 'mV/m' | paste -sd+ | bc ) / 1000 " ) \
 || MVM=0
 grep -E '*[0-9]V/m' $LIST.out > /dev/null ; [ $? = 0 ] && \
        VM=$( egrep '*[0-9]V/m' $LIST.out | tr -d 'V/m' | paste -sd+ | bc ) || VM=0
 SUM=$( bc <<< "$MVM + $VM " )
 LINHAS=$( wc -l $LIST.out | cut -f1 -d' ' )
 MED=$( bc <<< "scale = 3; $SUM / $LINHAS" )
 HAV=$( bc <<< "scale = 6; $MED / 377" )
 SEQ=$( bc <<< "scale = 6; $MED ^ 2 /377" )
## PRINTS
 echo -e "Total = $SUM
Amostras = $LINHAS
Media = $MED
H = $HAV
Seq = $SEQ" > $VERIFIED
 rm $LIST.out
}
for FILE in $( ls *.TXT ); do
tratamento
done
echo -e "Arquivo\tTotal\tAmostras\tMedia\tH\tSeq" > $OUTPUT
for i in $( ls output/*_verificado.txt ); do
LINHA=$( awk '{ print $NF}' $i | paste -sd'\t')
echo -e "$(basename $i | awk -F'.' '{ print $1}' )\t$LINHA" >> $OUTPUT
done

Pra dar mais uma incrementada, no final eu coloco os arquivos em um .csv, para que sejam visualizados no Calc ou Excel. Cada arquivo estará em uma linha, e os seus valores agrupados em coluna. :)

Um abraço!





quarta-feira, 7 de março de 2012

Essa é uma das principais queixas dos novos usuários do openSUSE: Atualização automática cada vez que o gerenciador de pacotes / zypper é invocado. Realmente, isso estressa.

Porém, esse é um problema que tem solução, e das fáceis. Basta apenas desabilitar o auto-update do repositório que o inconveniente será resolvido :)

Mostrarei de duas maneiras: Warrior's Mode e o Newbie Mode.


WARRIOR MODE

Linha de comando é o que há! Shellscript é seu melhor amigo! Interface gráfica é para os frascos e comprimidos!
for REPO in $( seq $( zypper ls | grep -c ^[0-9] ) ); do zypper mr -R $REPO; done

Não entendeu? Eu explico:
Faremos um laço ( for, do, done ). Esse laço irá contar quantos repositórios existem ( $( zypper ls | grep -c ^[0-9] ) e dará quantidade de voltas igual a quantidade de repositórios. A cada volta, um repositório é desabilitado ( zypper mr -R $REPO ).


Newbie orea-seca

Mole mole... Acesse:
Yast > Categoria Software > Repositórios de Software.
Depois é só desmarcar o campo Atualizar Automaticamente e clicar em OK.


Entenderam? Abraço!

domingo, 1 de janeiro de 2012

Queridos, em primeiro lugar, Feliz 2012! Que esse ano seja de muito sucesso para vocês!
Esse ano eu entrei brincando no openVPN, e a pedido do amigo Alan Teixeira, mostrarei como configurar uma VPN usando o openVPN no openSUSE.
De cara vou deixar algo bem claro: Não iremos compilar nada.





INSTALAÇÃO

zypper in openvpn

Por padrão, os arquivos são instalados no diretório /usr/share/openvpn/easy-rsa/2.0,mas, caso queira colocar-los no /etc/openvpn (que também foi criado), entre no diretório de instalação e faça o seguinte:
make install DESTDIR=/etc/openvpn

Isso fará com que o make install coloque os arquivos no diretório /etc/openvpn. Lembrando que o make install não compila, e sim aloca os arquivos nos seus devidos lugares.

CONFIGURAÇÃO

Antes de qualquer coisa, iremos mostrar o passo-a-passo como se você estivesse dentro do DESTDIR, no caso, /etc/openvpn, ok? ;)

Iremos executar 3 arquivos (vars, clean-all e build-ca), mas antes vamos setar alguns parâmetros. No arquivo vars, lá no final, ele tem as variáveis:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"

Mude de acordo com sua demanda. Por exemplo:
export KEY_COUNTRY="BR"
export KEY_PROVINCE="BA"
export KEY_CITY="Salvador"
export KEY_ORG="M. Bison Parafusos"
export KEY_EMAIL="bison@streetfighter.com.br"

Após isso, execute o vars, o clean-all e o build-ca. Esse último irá criar um certificado de Entidade Certificadora (CA ou Master Certified Autority):
. ./vars
./clean-all
./build-ca

O build-ca fará algumas perguntas, a maioria já estará respondida por causa das variáveis que você setou no arquivo vars. Apenas dê enter nessas perguntas.
A saída será algo mais ou menos assim:
ai:easy-rsa # ./build-ca
Generating a 1024 bit RSA private key
............++++++
...........++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [BR]:
State or Province Name (full name) [BA]:
Locality Name (eg, city) [Salvador]:
Organization Name (eg, company) [M. Bison Parafusos]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:OpenVPN-CA
Email Address [bison@streetfighter.com.br]:

Um parâmetro que você deve observar e não deve ter nenhum igual ao outro, é o common name. O COMMON NAME DEVE SER ÚNICO!

Depois, execute o build-server. Para a criação do certificado do servidor os passos são parecidos com o do CA:
./build-key-server server

Quando for requisitada uma senha, deixe em branco. Geralmente não utilizo. Também será feita duas perguntas e você terá de responder Y ou N. Aperte o Y e confirme.


E continuando, vamos criar os certificados para os clientes:
./build-key ryu
./build-key ken
./build-key balrog

O script build-key cria dois arquivos:
.crt: O certificado
.key: A chave pessoal

E pra finalizar, vamos criar o dh1024.pem
./build-dh

Esses arquivos irão juntar-se a outros que encontram-se no diretório keys. Vejamos um exemplo do que temos por lá:

FilenameNecessária porPropósitoSecreto?
ca.crtservidor + todos os clientesRoot CA certificateNÃO
ca.keyChave única de assinaturaRoot CA keySIM
dh{n}.pemApenas servidorParâmetros Diffie HellmanNÃO
server.crtApenas servidorCertificado do servidorNÃO
server.keyApenas servidorChave do servidorSIM
ryu.crtApenas RyuCertifricado de RyuNÃO
ryu.keyApenas RyuChave de RyuSIM

Bom, hora da configuração do arquivo do servidor e do cliente. Comecemos pelo servidor.
Cara, se tem uma coisa que aprendi, é que o /usr/share/doc/packages é seu melhor amigo. Dentro do /usr/share/doc/packages/openvpn existe o diretório sample-config-files. Copie o server.conf e cole no seu /etc/openvpn. Depois mude os parâmetros de acordo com sua topologia. O meu, por exemplo, ficou assim:

port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ippool.txt
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
log-append openvpn.log
verb 3
script-security 2

E no cliente, após você enviar para ele o certificado e a chave criado exclusivamente para ele, coloque dentro do seu /etc/openvpn os arquivos (ryu.crt e ryu.key) e copie o arquivo /usr/share/doc/packages/openvpn/sample-config-files/client.conf para o seu /etc/openvpn. Edite dessa maneira:

client
dev tun
proto udp
remote X.X.X.X
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert ryu.crt
key ryu.key
ns-cert-type server
comp-lzo
verb 3

Nos parâmetros remote, aponte o ip do servidor matriz do openVPN; Em cert coloque o certificado do cliente e em key adicione o local do arquivo .key do usuário. Cuidado com esse arquivo!!!

Agora inicie o serviço em ambas as pontas. Realize um teste de ping. Se responder em ambas as partes, é um ótimo sinal! Está ok!. Se não, confira nos logs e veja qual é o problema encontrado.
Outra dica para fazer essa verificação é vendo se tem alguma porta UDP aberta com o netstat -planu ou com o comando route - O comando route exibe a quais redes o seu computador está conectado.

Maiores informações:
/usr/share/doc/packages/openvpn
http://openvpn.net/index.php/open-source/documentation/howto.html
http://www.hardware.com.br/tutoriais/openvpn/


quinta-feira, 1 de dezembro de 2011

Lembro que logo que saiu o gnome-shell (base do gnome 3), esse foi o primeiro bug que abri. Para nós que trabalhamos com administração de servidores, VPN é essencial. Não ter-la é uma falta gravíssima - pode lhe custar o emprego!

Mas enfim, vamos ao HOW-TO e esse vai com prints :)





Não esqueçam de adicionar o certificado do usuário, a chave privada e o certificado do CA!

E o que ainda falta?
Importar configurações. Se você tiver um arquivo .ovpn, não sei se será possível importar. Eu mesmo não vi como. Esse problema já foi relatado ao Bugzilla. Vamos aguardar :)

quarta-feira, 16 de novembro de 2011

É com enorme satisfação que compartilho com vocês a nova versão do openSUSE, a 12.1!
 




HOW-TO UPGRADE
cp -rfv /etc/zypp/repos.d /etc/zypp/repos.d.old
sed -i 's/11.4/12.1/g' /etc/zypp/repos.d/*
zypper ref && zypper dup




Então, sem mais enrolações:
DOWNLOAD: http://software.opensuse.org/121
 INFORMAÇÕES SOBRE A NOVA VERSÃO: http://en.opensuse.org/Product_highlights




Segue email do Jos Poorvilet

Hey all,

Congratulations on a great job - openSUSE 12.1 has been synced to the mirrors
and is available for general consumption!

Read the announcement on news.opensuse.org:
http://news.opensuse.org/2011/11/16/opensuse-12-1-all-green/

Read our Product Highlights:
http://en.opensuse.org/Product_highlights

Download it:
http://software.opensuse.org/121

and Have a lot of fun!

segunda-feira, 31 de outubro de 2011



A partir do dia 31 de Setembro de 2011 está disponível o update timezone-2011m-5325 (noarch), que inclui a nova besteira que o governador Jaques Wagner e empresários fdp impuseram à Bahia, o merdíaco horário de verão. Entre outros updates, destacamos:

This update provides 2011m which provides the following important changes:
• All Ukrainian timezones are going back to winter time on Oct 30th, 2011
• Adding Tiraspol to the zone.tab
• America/Bahia switched to DST on Oct 16th, 2011
• West Bank ended DST 2011-09-30 already
• Fiji enters DST on October 23th 2011
• Palestine suspends DST during Ramadan in 2011; Gaza and Hebron split in 2011, leading to a new Asia/Hebron zone (thanks to Steffen Thorsen and Alexander Krivenshev).
• Belarus adopts permanent DST in 2011 (thanks to Yauhen Kharuzhy, Alexander Bokovoy, Alexander Krivenyshev, and Kirill A. Shutemov).
• "Russia" rules changed to reflect end of use in 2010.
• "FET" used as abbreviation for Belarus, Ukraine, and western Russia

Para mais informações sobre os erros corrigidos por esta atualização visite este website:
https://bugzilla.novell.com/show_bug.cgi?id=726162

Posts populares