Arquivo por categoria dia a dia

Trickle

Utilizando o trickle para limitar a velocidade de transmissão de arquivos

 

Hoje vou mostrar como limitar o download/upload de arquivos através da rede por linha de comando.  Logico  que existem várias formas de fazer e cada programa tem sua utilidade e seu uso.

Vamos dizer que você queira fazer o download de um arquivo .ISO do ubuntu  e queira limitar o download a 100kb por segungo.

Vou mostrar de duas formas:

Utilizando o wget

wget --limit-rate=100k http://www.mirrorservice.org/sites/releases.ubuntu.com//precise/ubuntu-12.04.2-desktop-amd64.iso

 Utilizando o trickle

trickle -s -d 100 http://www.mirrorservice.org/sites/releases.ubuntu.com//precise/ubuntu-12.04.2-desktop-amd64.iso

Os dois comandos fazem exatamente a mesma coisa, eles fazem o download do arquivo ubuntu e o colocam na pasta corrente onde o comando esta sendo executado.

Agora vou mostrar uma outra necessidade, preciso atualizar todos os pacotes da minha distribução e sabemos que tanto o apt-get como o aptitude utilizam toda a banda de download . Este seria o momento certo de utilizar o trickle , tendo em vista,  que o  wget não recebe outros programas como entrada padrão.

Atualizando os pacotes via aptitude utilizando somente 100kb da rede.

trickle -s -d 100 aptitude safe-upgrade -y

Com este comando todos os pacotes serão atualizados utilizando somente 100kb da rede até que todos os downloads sejam finalizados.

Este comando acredito que possa ser utilizado em  conjunto com qualquer outro que utilize a rede como entrada de dados.

Vamos testar então.

Fazendo um speedTest para testar se a limitação realmente esta funcionando.

Vou abrir meu browser  chrome na página do speedTest.net  para testar se a limitação realmente esta acontecendo.  O “2 > /dev/null” redireciona  os erros (stdout) de plugins para /dev/null , pois,   assim  não  ficarei vendo erros na tela 😛

A saída  será  algo em torno de 0,520MB mais ou menos.

trickle -s -d 60 /opt/google/chrome/chrome http://www.speedtest.net/  2> /dev/null

Por hoje é isso, quer maiores informações ???

man trickle

Abraços.

Dinei

Tags: , , ,

Inicialização automática VMWare Workstation

Estou trabalhando em um projeto em que necessito de recursos de uma máquina virtual. Essa máquina virtual se encontra em um host “emprestado” de amigo de trabalho porque o recurso estava parado, o grande problema é que nessa época de chuvas aqui em minha cidade (Petrópolis/RJ) falta luz com certa frequência então a máquina  Host( máquina pai)  desliga o que acarreta que o guest ( máquina interna ) também some do planeta …..  🙁

 

Por algumas vezes alguém vai até a máquina HOST e liga novamente mas como ninguém conhece a senha do HOST então a máquina GUEST não liga sozinha …. não assim não me resolve em nada.

Esse é o problema agora a solução.

 

Crie um script .bat  que nesse exemplo vou colocar na raiz do sistema em uma pasta chamada startup-script.

c:\startup-script\start-vmworkstation.bat

Com o conteúdo

 

echo "Iniciando  VMware"
echo "ping localhost para esperar os servicos do vmware iniciarem" 
#Esse tempo pode variar entao teste de acordo com o seu valor.
ping -n 60 127.0.0.1 

#Caminho de instalacao do VMware Workstation
cd "C:\Program Files (x86)\VMware\VMware Workstation"

echo "Iniciando vmware guest"
vmrun start "C:\Users\Administrator\Documents\Virtual Machines\linux\freebsd-db.vmx"

exit(0)

Bem temos agora um script para inicialização de nossa máquina virtual Agora temos que colocar na inicialização do Windows que no meu caso é um 2008 R2.

Vamos aos passos agora de maneira visual.

Inicializar -> executar -> Server Manager

iniciar Server manager

iniciar Server manager

Depois disso vamos criar uma nova tarefa .

Em configuration -> Task Scheduler -> Library

add_task_001

Clique com o botão direito no link Task Schedule Library

add_task_002

Clicando em create a  basic task para criar um novo agendamento.

Depois disso começamos a configurar nosso agendamento com um novo nome e um descrição.

Clique em next .

Próximo passo é escolher quando esse agendamento vai acontecer. Para meu propósito deverá ser na inicialização do sistema. Escolha “When the computer starts”.

add_task_004

 

Próximo passo  será escolher o que esse agendamento vai fazer, escolheremos inicializar um programa. Nosso .bat é um programa que cama outro programa….

add_task_005

 

Depois de escolhido que a ação vai ser abrir um programa vamos escolher onde esse programa se encontra.

add_task_006

Depois vamos finalizar na última tela mas tem um detalhe. Temos que marcar a opção “Open the Properties dialog for this task when I Click Finish” Isso que dizer que será aberto mais opções depois de finalizado nosso passo a passo.

Segue a tela.

add_task_007

E por último vamos marcar a opção que mesmo que ninguém faça o login  na máquina o nosso script vai ser inicializado automaticamente pelo windows 2008 r2 corretamente.

Segue a tela com a opção : “Run whether user is logged on or not”

add_task_008

 

Será necessário digitar o login/senha do administrador do sistema “Administrator” ou outro admin para finalizar essa tarefa.

 

Pronto em alguns poucos passos adicionamos um agendamento ao Windows dizendo que sempre que o windows inicializar com ou sem algum usuário fazendo o login nosso script vai inicializar nossa máquina virtual.

Por hoje é isso espero que ajude em alguma coisa.  Seguindo esse conceito pode ser feito também em outros windows modificando apenas a parte de agendamento da tarefa.

A parte de colocar o script no Task Scheduler foi meu camarada Vinicius Amaral ( @vcamaral ) que teve. Valeu Pinico.

Por agora é isso, grande abraço e até.

Dinei.

Tags: , , ,

Utilizando rsync + ssh

Bem hoje será uma nota rápida que tive que procurar ajuda no google ( obrigado amigão ) porque somente pelo manual não consegui resolver.

O problema: Uma das máquinas que precisava ser sincronizado o conteúdo via rsync + ssh não estava usando a porta padrão do ssh 22 e sim uma porta modificada que nesse exemplo será a 2200.

o que diz o manual

#man rsync 
....
 -s, --protect-args          no space-splitting; wildcard chars only
     --address=ADDRESS       bind address for outgoing socket to daemon
     --port=PORT             specify double-colon alternate port number
....

Só que para mim não funcionou. 🙁

a sintaxe é simples.

rsync -avz -e ssh  /var/www/html  usuario@host.destino.com.br:/var/www/

Porém dessa forma não funciona porque a porta do ssh não é a padrão então será necessário modifica-la ficando dessa forma.

rsync -avz -e ssh --rsh='ssh -p2200' /var/www/html  usuario@host.destino.com.br:/var/www/

Pronto resolvido agora o ssh utilizará a porta 2200 que é a porta correta.

Estou escrevendo esse post mais para poder ter um local de consulta posterior porque já precisei disso pelo menos umas três vezes.

Tenha uma ótima semana de trabalho amigos.
Fui….

Tags: , ,

Abrindo arquivos com vim

VIM
Vou postar algumas dicas sobre o VIM, um editor em linha comando.
Básicamente vou postar alguns comandos e como deixo certas funções habilitadas setando as mesmas no seu ~/.vimrc, estou considerando que o leitor saiba os comandos básicos de VIM como abrir arquivo, fechar arquivo, entrar em modo de inserção entrar em modo comandos etc.

Abrindo várias páginas ao mesmo tempo (colocando em buffer)

$vim arquivo1 arquivo2 arquivo3

Somente o primeiro arquivo fica exposto quando o vim estiver aberto, o restante dos arquivos fica em buffer. Para mudar para o próximo arquivo no nosso exemplo o arquivo2 em modo de comando (pressione )

:bn 

E para voltar ao arquivo anterior

:bp 

Mas eu não gosto muito desta maneira de trabalho, fico mais a vontade com abas :D, o vim também pode ter abas. Usando os mesmos arquivos como exemplo, utilizaremos a opção “-p”

$vim -p arquivo1 arquivo2 arquivo3

Pronto todos os arquivos estão aberto sendo somente o primeiro sendo exibido, mas se você perceber bem na parte superior vão existir abas com os nomes dos arquivos abertos e em buffer.
Para movimentarmos entre as tabs temos comandos também, o tabnext e o tabprev.

Em modo de comando digite.

:tabnext <enter>

E para voltar para tab anterior

:tabprev <enter>

Mas como prefiro usar uns atalhos de teclado vou postar uma maneira de fazer isso com uma tecla somente, vou utilizar o comando ‘map’ para mapear uma ação de teclado.
No arquivo ~/.vimrc entre com essas linhas de comando salve e feche.

map  <M-Left> :tabprev <CR>
map <M-Right> :tabnex <CR>

Agora com a combinação <alt>+<seta para direita> tenho o comando tabnext e para esquerda tenho o tabprev.
Os comandos:
map -> mapeando a ação do usuário.
M -> alt
Left/Right -> setas direita esquerda
-> Enter

Obs.: Tentei de varias formas fazer com que o atalho fosse alt+1 (número um é representado por Char-061 ficando <M-Char-061> ) e alt+2 (número dois é representado por Char-062 ficando <M-Char-062> ) mas não consegui então fiz com as setinhas mesmo. Ajudas serão bem vindas 😀

Essa dica é pequena e rápida depois faço um compilado de mais alguns comandos e post aqui.
Abraços
Valdinei

Tags: , ,

Ubuntu e seus updates.

Hoje fiz uma atualização de segurança do Ubuntu, não que eu sempre veja mas dessa vez eu nem passei o olho para saber o que se passava. Isso é um grande erro.
Essas atualização incluiam o pacote linux-restricted-modules-2.6.24-19-generic, feito todas as instalações pediu para reinciar o computador. Poxa mas isso é linux ou Windows? Me perguntei. Logo veio a resposta realmente estão reproduzindo o windows no Ubuntu. Resultado parcial, parou de funcionar minha rede sem fio e minha placa de som nem olhei o resto.
Vamos aos passos para sabermos o porque do não funcionamento.

Digite o comando
dmesg.

Com este comando eu visualizo as mensagens de carregamento do sistema, com muita paciência fui vendo linha a linha até encontrar algo que me parecece (é assim que se escreve?) estranho.
Achei a linha WL com uma mensagem de Fatal erro. Vamos ao passo dois que é copiar essa string (linha de palavras) e entrar no tio google para saber se alguém já teve esse problema.
Achei milhares de coisas relacionadas e algumas que não tinham nada haver.
Minha máquina é um notebook Inspiron 1525 da fabricante Dell, sendo assim sempre procurava entrar nas palavras relacionadas. Minhas palavras chaves eram Ubuntu, Inspiron, Dell, E o erro encontrado como saida do dmesg.
Achei um forum muito interessante em que alguém tinha o mesmo computador que o meu e o problema exatamente igual. Descobri que a Dell também tem um site com informações de ajuda e da comunidade.
Resumindo a historia pois já escrevi muito. Para que minha placa de som e Wireles voltasse a funcionar tenho que voltar a versão do linux-restrict. Fui no menu sistema->administração->Gerenciador de Pacotes Synaptic, e verifiquei as versões que existiam. Para meu espanto existia três versões do mesmo pacote só não sei para que.
Vamos resolver o problema, desinstalei todos os pacotes que não queria e deixei apenas o que realmente me interessava. Reinicie e no menu do Grub fui até a versão do linux-restrict 18 no modo recovery e pronto. Instalei a versão que estava funcional.
Para ter certeza que a versão errada não seja chamada novamente desinstalei a versão mais nova também. Agora com o sistema limpo e funcional fui no google de novo para saber a última informação.
E se este pacote defeituoso voltar a ser instalar no meu sistema? Existe uma flag que podemos adicionar ao comando aptitute para que esse pacote não seja atualizado sozinho. Não sei se funciona mas fiz o seguinte.

sudo aptitude hold linux-restricted-modules-2.6.24-18-generic
sudo aptitude hold linux-restricted-modules-common

Após essa longa jornada, só como detalhe perdi 3 horas fazendo todas essas tentativas, mandei o synaptic verificar por atualizações e ele respondeu que o sistema se encontrava com a versão mais recente. Então conclui que tudo estava direito e funcionando e o pacote com erro não entraria no meu sistema por discuido de não olhar o que vai ser instalado.

Ubuntu não vire windows, senão vou abandona-lo e vou voltar para FreeBSD.

Tags: , , , , , ,

Videos no Ubuntu

Ver vídeos no ubuntu já é uma tarefa simples, mas recebi um no formato .wmv (Windows Movie). O Ubuntu até consegue abrir o arquivo mas as imagens e sons não são apresentados.
Para resolver o problema fui ao bom e velho google, procurei achei algumas referencias mas os tutoriais sempre apontavem para links inexistentes, sendo assim vou fazer um mais atual 🙂

Primeiro passo vou instalar meu player de Vídeo favorito, se você já tiver seu player favorito (Mplayer, Xine, Totem) não precisa fazer esse passo.

sudo aptitude install vlc

Aceite as opções que ele sugere e pronto, player instalado.
Passo dois encontrar o codec do maldito windows wmv (w32codes). Com o navegador web (opera, firefox, konqueror, IE não ele não é um navegador web) vá até esse endereço:

http://ftp.sunet.se/pub/os/Linux/distributions/debian-multimedia/pool/main/w/w32codecs

Neste endereço serão exibidos alguns arquivos o que realmente interessa para nós é o w32codecs_XXXXXX.deb onde XXXX é a versão do arquivo que vc vai baixar.
Clique no pacote .deb e o browser vai pedir para salvar o arquivo, você escolha um diretorio onde consiga lembrar depois e clique em ok.
Após o download concluido, quando fiz era em torno de 14MB, você fará a instalação do arquivo baixado.

Quando fui instalar o w32codecs no meu sistema existia uma dependencia que estava faltando sendo assim tive que instalar:

sudo aptitude install libstdc++5

Faça o comando acima caso você já o tenha no sistema não será afetado em nada sua instalação.
Agora vamos ao pacote baixado, navegue no terminal até a pasta onde você salvou o arquivo, você tem que lembrar 🙂  E digite :

sudo dpkg -i w32codecs_20071007-0.1_i386.deb

Onde 20071007-0.1_i386 é minha versão de download você poderá ter uma versão diferente e provavelmente mais recente.

Feito isso acredito que já podemos testar.

vlc url_do_video/nome_do_video.wmv.

Bom Filme !!

Tags: , , , ,

Flash – Jogos OnLine

Para descontrair um pouco vou postar um site com joguinhos on line em flash, não é preciso instalar o jogo na máquina, mas é necessário ter o flash player instalado no navegador.

Eu aconselho que seu navegador seja o opera ou se preferir pode ser o firefox

Então vamos ao Joguinho que é fazer um trail pelos obstaculos mas diversos. É muito divertido.


Trail

Espero que gostem pois a vida tem que ter diversão também

Tags: , ,

Wifi em linha de comando

O ubuntu tem inúmeros programas para fazer a conexão wifi em notebooks. Mas eu queria saber como fazer na mão em linha de comando.

Após  procurar um pouco na Internet, ou seja no google consegui algumas informações que vou passar aqui no blog.
Em primeiro lugar vamos encontrar as redes disponiveis para conexão. Inclusive as dos vizinhos então usem com moderação esta dica.

Digite :

iwlist scan

Neste momento será retornado as redes disponiveis.
Exemplo de saida do programa iwlist:

lo        Interface doesn't support scanning.

eth0      Interface doesn't support scanning.

eth1      Scan completed :
Cell 01 - Address: 00:30:65:05:E6:04
ESSID:"minha_rede"
Protocol:IEEE 802.11b
Mode:Master
Channel:1
Frequency:2.412 GHz (Channel 1)
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
Quality=64/100  Signal level=-62 dBm
Extra: Last beacon: 4156ms ago

Explicando a interface lo é a da própria máquina, a interface eth0 é da rede cabeada e não poderá ser feito o scan de redes sem fio por ela. A que realmente importa é a eth1 pois é minha rede sem fios.
Foi encontrada a rede de nome minha_rede e existem uma senha habilitada para a mesma.
Agora que a rede foi detectada vamos ao passo dois que é associar ela a sua interface, neste momento você vai precisar da senha de administrador do computador.

Digite:

sudo iwconfig eth1 essid "minha_rede" key s:sua_senha_da_rede

Neste momento você esta fazendo a associação da rede “minha_rede” a sua interface de rede eth1 utilizando uma senha baseada em ASCII sua_senha_da_rede que contem 12 caracteres.

Algumas observações até esse ponto. No meu caso minha interface de rede ligada é a eth1, mas podem ser outros dependendo do fabricante. Poderiam ser também wlan0, ath0 dentre outras.
Segundo ponto é que minha rede utiliza senha para acesso, essa senha é baseada em ASCII mas não é um padrão podem haver outros.

Agora para finalizar caso sua máquina trabalhe com DHCP (ip dinâmico) você terá de conseguir seu ip novo com um comando.

Digite:

sudo dhclient eth1

Neste momento você receberá um ip e já pode se conectar a rede local e caso essa rede tenha acesso a internet pode navegar.

Para maiores informações e eu aconselho que seja feito a leitura do manual 🙂

Digite:

man iwconfig

Obrigado Joe Rabelo pelos testes na sua máquina.

Tags: , , , ,

tar e rm alguns segredos…

Hoje vamos falar um pouco sobre backup e sobre uma curiosidade do comando rm.
Eu precisa criar um pacote compactado com os arquivos fontes de um aplicativo da empresa onde trabalho. Mas neste pacote não poderiam ir os arquivos de trabalho do sistema como PDF, Imagens, XML e etc.
Para fazer a compactação geramente utilizo o tar pois ele é de simples entendimento e largamente utilizado por pessoas que utilizam UNIX.
A sintaxe básica é:

tar  arquivo_saida arquivo_entrada1 arquivo_entrada_n

Assim como utilizei a flag –exclude no rsync posso utilizar no tar também.
Então para resolver meu problema foi simples digitei.

tar -vczf arquivosFontes.tar.gz /home/valdinei/ --exclude /home/valdinei/userFiles

Onde as opções são definidas da seguinte forma:

-v mostrar as saidas na tela
-c criação de arquivo
-z tipo de compactação
-f arquivo

Resolvido o problema com este comando, mas fazendo os testes para descobrir como o comando funcionava foram sendo criados arquivo lixo em meu ambiente de teste. Este arquivos eram os –exclude, –exclude= e coisas do tipo pois fiz muitas tentativas 🙂

Para apagarmos apagarmos arquivos é so utilizar o comando rm <arquivo>, sendo este um arquivo com um nome normal.
Neste caso meu arquivo não tinha um nome normal.

Digite no seu console

touch --test.

Depois

 rm --test

para ver o que acontece…. nada vai dar um erro.

Tem um explicação logica para isso, quando chamamos um comando é utlizado uma nova shell para executa-la e como o sinal (–) é utlizado para a passagem de paramentros da um erro pois agora este sinal pertence ao nome do arquivo.

Sem se extender mais sobre o assunto vamos a solução:

rm -- --test

Pronto apagamos o arquivo. Porque?
Bem agora definimos que o comando vai ser executado pelo shell que estamos utilizando.

Espero ter ajudado pois isso me salvou hoje criando um arquivo limpo e deixando minha máquina sem arquivos com nomes bizarros.

Abraços
Dinei.

Tags: , , , , ,

Download Day Mozilla Fundation


Download Day



Como habito todos os dias pela manhã dou uma olhada nas novidades na internet e também faço assinatura de
listas das mais diversas tecnologias para ficar por dentro do que tem de melhor na atualidade.

Todos as minhas ferramentas de trabalho são livres, open source, free ou coisas do genero. Só que sempre sou beneficiado
por boa ferramentas e contribui muito pouco para que esses projetos possam ser levados a frente.

Bem agora vamos a motivo deste post 🙂

A fundação mozilla esta lançando um chamado para todos os usuários que gostam e apoiam o Firefox e seus projetos afins. Foi lançado o Download Day.
Imagine todas as pessoas no mundo baixando o mesmo software ao mesmo tempo … meio loucura mas é exatamente isso que a fundação Mozilla pretende, bater o record
mundial de software baixado em 24 horas.
Como você pode participar? Como ainda não existe o dia definido pois o Firefox 3 ainda é um beta, você fará sua inscrição e quando estiver a dada definida
você será avisado. Simples né?

Vamos divulgar essa ideia nos quatro cantos do mundo neste momento acabo de fazer a minha inscrição e só de Brasileiros inscritos já são 19,502
Com a previa inscrição eles terão ideia de quantos download aconteceram participe você também, se inscreva não vai custar nada mesmo.

Segue agora o link:
Download Day - English

Tags: , ,