anúncios

segunda-feira, 6 de outubro de 2014

Instalando ZSNES no Linux

Acredito que todos já tiveram um Super Nintendo (SNES) né, e pensa em recordar os jogos do SNES no computador com sistema operacional Linux.
Nesse caso é necessário instalar o ZSNES que é um emulador de Super Nintendo, assim pode fazer download das rooms [1] do jogo que tinha nas fitas do Super Nintendo.
Então nesse post, compartilho os procedimentos que realizei para instalar o ZSNES na distribuição Linux Debian.

No Slackware FULL, simplesmente executei $./configure && make; #make install e fez a instalação do ZSNES normalmente.
No Debian precisou fazer algumas configurações adicionais.
Download do ZSNES no site http://www.zsnes.com no link Linux, Download ZSNES Linux, será redirecionado o download do arquivo zsnes151src.tar.bz2.

Nota que optei por salvar o arquivo zsnes151src.tar.bz2 no diretório Downloads do meu /home, no seu caso escolha salvar onde achar melhor.
Antes de iniciar, é necessário instalar o compilador C e C++, se caso não tiver instalado no Debian.
#apt-get install gcc g++
Extrair o arquivo zsnes151src.tar.bz2 do download
reginaldo@Saitam:~/Downloads/$ tar -jxvf zsnes151src.tar.bz2
Acessar o diretório correspondente da extração
reginaldo@Saitam:~/Downloads$ cd zsnes_1_51/src
Executar o arquivo configure
reginaldo@Saitam:~/Downloads/zsnes_1_51/src$ ./configure
loading cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc -pipe -I. -Wall ) works... yes
checking whether the C compiler (gcc -pipe -I. -Wall ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for nasm... error:: command not found
checking for a BSD compatible install... /usr/bin/install -c
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking how to run the C preprocessor... gcc -E
checking for X... libraries , headers
checking for sdl-config... /usr/bin/sdl-config
checking for SDL - version >= 1.2.0... no
*** Could not run SDL test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means SDL was incorrectly installed
*** or that you have moved SDL since it was installed. In the latter case, you
*** may want to edit the sdl-config script: /usr/bin/sdl-config
configure: error: SDL >= 1.2.0 is required


Solução: Instalar os pacotes Nasm e SDL correspondente.
root@Saitam:~/Downloads/zsnes_1_51/src# apt-get install nasm libsdl1.2-dev
Execute novamente o arquivo configure.
reginaldo@Saitam:~/Downloads/zsnes_1_51/src$ ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for nasm... nasm
checking for sdl-config... /usr/bin/sdl-config
checking for SDL - version >= 1.2.0... yes
checking for zlib - version >= 1.2.3... yes
checking for libpng - version >= 1.2.0... yes
checking if you want the zsnes debugger... yes
checking for initscr in -lcurses... no
checking for initscr in -lncurses... no
checking for initscr in -lpdcurses... no
configure: error: A curses library is required to use the debugger


Solução: Instalar os pacotes ncurses e libncurses5-dev como segue:
root@Saitam:~/Downloads/zsnes_1_51/src# apt-get install ncurses libncurses5-dev Execute novamente o arquivo configure. reginaldo@Saitam:~/Downloads/zsnes_1_51/src$ ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for nasm... nasm
checking for sdl-config... /usr/bin/sdl-config
checking for SDL - version >= 1.2.0... yes
checking for zlib - version >= 1.2.3... yes
checking for libpng - version >= 1.2.0... yes
checking if you want the zsnes debugger... yes
checking for initscr in -lcurses... yes
checking for initscr in -lncurses... yes
checking for initscr in -lpdcurses... no
checking if you want libao support... no
checking how to run the C preprocessor... gcc -E
checking for X... libraries , headers
checking for glGetError in -lGL... yes
checking for OpenGL... yes
checking for JMA support... yes
checking for cpu info... found
checking if you want gdb friendly executable... no
checking which cpu architecture to optimize for... native
checking if you want crazy optimizations... no
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether sys/types.h defines makedev... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
ZSNES v1.51
SDL support Version 1.2.15
NASM support NASM version 2.10.01 compiled on Jun 14 2012
zlib support Version 1.2.7
PNG support Yes, version 1.2.49
OpenGL support Yes
JMA support Yes
ZSNES debugger Enabled
The binary will be installed in /usr/local/bin
Configure complete, now type 'make' and pray.
Nota que agora a execução do configure está OK, execute o make.
reginaldo@Saitam:~/Downloads/zsnes_1_51/src$ make
g++ -pipe -I. -I/usr/local/include -I/usr/include -D__UNIXSDL__ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -
D__OPENGL__ -march=native -O3 -fomit-frame-pointer -s -fno-rtti -o tools/strutil.o -c tools/strutil.cpp
In file included from tools/strutil.cpp:22:0:
tools/strutil.h: In static member function ‘static int ci_char_traits::compare(const char*, const char*, size_t)’:
tools/strutil.h:34:96: error: ‘strncasecmp’ was not declared in this scope
make: ** [tools/strutil.o] Erro 1


reginaldo@Saitam:~/Downloads/zsnes_1_51/src$ make
g++ -pipe -I. -I/usr/local/include -I/usr/include -D__UNIXSDL__ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -
D__OPENGL__ -march=native -O3 -fomit-frame-pointer -s -fno-rtti -o tools/depbuild tools/depbuild.cpp tools/fileutil.o tools/strutil.o
tools/depbuild.cpp: In function ‘void dependency_calculate(const char*, stat&)’:
tools/depbuild.cpp:167:37: error: ‘F_OK’ was not declared in this scope
tools/depbuild.cpp:167:41: error: ‘access’ was not declared in this scope
tools/depbuild.cpp: At global scope:
tools/depbuild.cpp:186:5: warning: first argument of ‘int main(size_t, const char* const*)’ should be ‘int’ [-Wmain]
make: ** [tools/depbuild] Erro 1


Opa, erro de compilação, aqui nesse ponto, deve incluir diretamente no código fonte do ZSNES.
No fonte /src/tools/strutil.h incluir a biblioteca como segue.
#include < string.h >
No mesmo diretório acima, no fonte depbuild.cpp incluir a biblioteca e o argumento da função main, como segue. #include < cstdlib >
int main (int argc, const char *const *const argv)
No fonte /src/parsegen.cpp incluir as bibliotecas , e mesma modificação feita no passo anterior da função main, como segue.
#include < cstdlib >
#include < cstring >
...
int main (int argc, const char *const *const argv)

Com as alterações necessárias realizadas corretamente como descritas aqui, pode executar o ./configure, make e make install como segue.

Execute novamente o arquivo configure.
reginaldo@Saitam:~/Downloads/zsnes_1_51/src$ ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for nasm... nasm
checking for sdl-config... /usr/bin/sdl-config
checking for SDL - version >= 1.2.0... yes
checking for zlib - version >= 1.2.3... yes
checking for libpng - version >= 1.2.0... yes
checking if you want the zsnes debugger... yes
checking for initscr in -lcurses... yes
checking for initscr in -lncurses... yes
checking for initscr in -lpdcurses... no
checking if you want libao support... no
checking how to run the C preprocessor... gcc -E
checking for X... libraries , headers
checking for glGetError in -lGL... yes
checking for OpenGL... yes
checking for JMA support... yes
checking for cpu info... found checking if you want gdb friendly executable... no
checking which cpu architecture to optimize for... native
checking if you want crazy optimizations... no
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether sys/types.h defines makedev... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h

ZSNES v1.51

SDL support Version 1.2.15
NASM support NASM version 2.10.01 compiled on Jun 14 2012
zlib support Version 1.2.7
PNG support Yes, version 1.2.49
OpenGL support Yes
JMA support Yes
ZSNES debugger Enabled
The binary will be installed in /usr/local/bin
Configure complete, now type 'make' and pray.


Execute make para compilar.
reginaldo@Saitam:~/Downloads/zsnes_1_51/src$ make
Aguarde terminar compilação.

Execute make install como root para instalar
root@Saitam:~/Downloads/zsnes_1_51/src# make install

Procederá instalação, o binário do zsnes ficará em /usr/local/bin, utilize esse caminho para criar um atalho no menu.
Veja o resultado do room Top Gear clássico!


[1] Rooms SNES. http://www.roxdownload.net/roms/snes
Feito!

sábado, 27 de setembro de 2014

Corrigindo o bug Shellschock do Bash

Como muitos já sabem que no dia 25/09/2014 teve um alarde grande do bug Shellschock encontrado no Bash nos sistemas Linux e Unix-like.
Então, verifique se o seu Bash da sua distribuição Linux e atente aos resultados obtidos.

env x='() { :;}; echo vulnerável' bash -c "echo teste"
Se o resultado aparecer conforme abaixo, significa que o Bash está vulnerável, segue na próxima etapa deste post.
vulnerável
teste

Caso o resultado aparecer mensagem de erro conforme abaixo, significa que foi corrigido.
warning: x: ignoring function definition attempt
bash error importing function definition for 'x'teste

Atualizando o Bash e aplicando patches
Script fixbash.sh que baixa o Bash recente, patches e faz instalação do Bash aplicando os patches da correção.
Execute o script fixbash.sh e após faça o teste realizado anteriormente para verificar o resultado. Feito!

terça-feira, 26 de agosto de 2014

Utilizando VirtualBox no terminal

Se caso você instalou o VirtualBox no Servidor sem ambiente gráfico e não sabe como gerenciar VirtualBox pelo terminal ou queira aprender, então está no lugar certo.

Segue os procedimentos
Abre o terminal e siga uma das etapas adaptando para o seu cenário.
Para criar cria uma VM
VBoxManage createvm -name "nome-da-vm" -register

Para modificar uma VM
Memória de 2GB - 2*1024=2048MB
VBoxManage modifyvm "nome-da-vm" -memory "2048MB" -acpi on -boot1 dvd -nic1 nat
OU
VBoxManage modifyvm "nome-da-vm" -memory "2048MB" -acpi on -boot1 dvd -nic1 bridged

Para criar o disco da VM
Supondo que pretende criar um disco para VM de 100GB, então deve converter para Mb.
Disco: 100GB = 100*1024=102400Mb
VBoxManage createhd -filename "nome-da-vm-disco.vdi" -size 102400 -register

Para modificar o disco da VM
VBoxManage modifyvm "nome-da-vm" -hda "nome-vm-disco.vdi"
Registrar a mídia para instalação da distro na VM
VBoxManage registervm dvd /home/seuusuario/Downloads/VMs/distro.iso

Registrar alteração da mídia para instalação da distro na VM
VBoxManage modifyvm "nome-da-vm" -dvd /home/usuario/Downloads/VMs/distro.iso

Para exportar VM formato OVA
Nesse caso, tenho uma VM Debian e exportei para applianceDebian.ova
VBoxManage export Debian --output applianceDebian.ova

Para importar VM formato OVA
Utilizei a VM exportada acima para fazer a importação com nome da máquina bkpDebian
VBoxManage import applianceDebian.ova --vsys 0 --vmname bkpDebian

Para listar as VMs criadas
VBoxManage list vms

Para iniciar uma VM
VBoxManage startvm "nome_da_vm"

Para desligar uma VM
VBoxManage controlvm "nome-da-vm" poweroff
Feito!

quinta-feira, 21 de agosto de 2014

3 anos de blog

O blog esta completando hoje, dia 21 de Agosto de 2014, 3 anos!!!

Gostaria de agradecer a todos pelo prestígio e a paciência de ler os posts que são publicados. Espero continuar compartilhando conhecimentos no blog para nossos leitores. Continuem prestigiando e divulgando o blog Mundo da Computação Integral, assim aumentamos nossa comunidade.

quarta-feira, 20 de agosto de 2014

Colocando uma VM em NAT acessível na rede local

Esse método é útil quando a VM em bridge não for atribuído nenhum IP por DHCP, ou algum outro tipo de problema, então testando com VM em NAT para deixar acessível na rede local, segue os procedimentos para o correto funcionamento.

Com a interface de rede do VirtualBox em modo NAT, em redirecionamento de portas. Segue os screnshosts abaixo:



Exemplo com outro IP Hospedeiro
Protocolo IP Hospedeiro Porta Hospedeiro IP Convidado Porta Convidado
TCP 192.168.1.100 80 10.0.2.15 80
TCP 192.168.1.100 443 10.0.2.15 443

Dessa forma, mesmo a VM estando em NAT ficará acessível na rede local para acessar servidor de aplicação web da VM.

terça-feira, 19 de agosto de 2014

Importanto VM com formato .ova no VirtualBox

No post anterior foi explicado como importar o disco rígido da máquina virtual (formato VDI) no VirtualBox, mas se caso você tenha recebido a tarefa de importar a VM no formato OVA? Então esse é o objetivo deste post.

Quando a VM foi exportada com formato .ova, ou seja, que inclui já a VM pronta incluindo especificações de memória RAM, placa de rede e outros. Diferente da VM com formato .vdi que é apenas o disco rígido, tendo que criar a VM, especificar memória e apenas incluir o disco existente, no caso .vdi.

Chega de papo, e vamos na prática como importar VM.ova, segue os passos seguintes:

1. No VirtualBox, menu Arquivo>Importar Appliance o resultado é conforme a imagem abaixo:

2. O próximo passo é escolher o local onde você salvou a VM.ova e aguardar fazer a importação;

OBS: Esse procedimento é mais simples, pois o formato .ova é um clone da VM completa, diferente do formato .vdi que é apenas o disco rígido.
Feito!

segunda-feira, 18 de agosto de 2014

Importando VM no VirtualBox

Caso você tenha o arquivo com extensão .vdi e não sabe o que fazer com esse tipo de arquivo, então nesse post você irá aprender para que serve e os procedimentos necessários para usar esse tipo de arquivo.

O formato VDI significa Virtual Disk Image que é o disco virtual lido pelo VirtualBox. Então antes de seguir os passos seguintes é necessário instalar o VirtualBox no seu computador. Segue VirtualBox baixe de acordo com o sistema operacional e arquitetura do seu computador.

Após ter feito o download e instalado o VirtualBox, pode seguir os passos seguintes:

OBS: O cenário abaixo pode ser diferente no seu caso, por exemplo outra distribuição Linux ou outro sistema operacional em questão, mas os passos continua o mesmo.

1. Com VirtualBox aberto, clique em Novo para criar uma VM e em seguida no botão próximo, será exibida a tela seguinte.

2. O segundo passo é inserir o nome da distro da VM, conforme a tela seguinte;

3. O terceiro passo é inserir quanto de memória RAM a VM estará disponível, coloque de acordo com a quantidade de memória RAM da máquina física que tem disponível para usar;

4. O quarto passo como será utilizado uma VM já criada, então selecione usar disco rígido existente e indique o caminho onde você salvou a VM no seu computador;

5. Pronto, VM importada e será exibida a tela seguinte se fizer corretamente os passos anteriores;

6. Selecione a VM criada com disco já existente e clique em iniciar para carregar a VM, conforme a tela seguinte;

7. Feito corretamente os passos anteriores será visualizado conforme tela similar abaixo. Isso depende qual distro Linux e SO da VM você utilizou;

OBS: As imagens dos passos utilizados neste post, foram criadas para auxiliar no Treinamento Linux que ministrei na empresa.
Feito!

quarta-feira, 13 de agosto de 2014

Ajuste de segurança no CentOS/RedHat

Por default o CentOS/RedHat/Fedora os comandos halt e reboot são permitidos com usuário comum, achei uma falha de segurança, pois foge do padrão de outras distros tradicionais como Debian e Slackware.

Como resolver então ?
Verifique se tem o link simbólico no /sbin/halt, /sbin/poweroff no /bin/halt, /bin/poweroff Basta remover o link rm -d /bin/halt ; rm -d /bin/poweroff
Altere a permissão para apenas o root ter acesso - #chmod 700 /sbin/halt ; chmod 4700 /sbin/poweroff
Pronto, agora os comandos halt e reboot apenas o root terá permissão da mesma forma das distros tradicionais como Slackware e Debian.
Feito!

segunda-feira, 11 de agosto de 2014

Postergando licença do terminal server

Segue abaixo uma maneira de prorrogar a licença do terminal server no Windows Server 2003/2008.

Problema

Ao tentar utilizar Conexão de Área de Trabalho Remota no servidor, é apresentada a mensagem informando que a Licença Terminal Server expirou.


Cenário

Windows 2003/2008 Server Standard Service Pack 1, rodando entre outros serviços o Terminal Server.

Solução

Para postergar a data de expiração:

1. INICIAR / PESQUISAR-Executar (Digite REGEDIT)
2. Aperte F3 (Digite MSLicensing na tela que aparecerá)
3. Delete a chave MSLicensing (a pasta com todas as pastas que estão dentro)
4. Feche o registro e reinicie o computador.
5. Clique com o botão da direita sobre Conexão de Área de Trabalho Remota
6. Clique em EXECUTAR COMO ADMINISTRADOR
7. Depois execute novamente o passo 1 e 2
8. Clique com o botão da direita sobre a chave MSLicensing
9. Clique em permissões e depois em editar
10. Adicione o usuário TODOS e deixe ele com permissão total
11. Clique em avançado e depois em Substituir as permissões de todos os objetos filhos
12. Clique em APLICAR
13. Acesse novamente a Conexão de Área de Trabalho Remota e volte a usar o serviço, como se nada tivesse acontecido.

Observações
Esta solução não irá resolver o problema de conexão com o Terminal, ela apenas irá postergar o prazo de expiração da licença, por isso de tempos em tempos será necessário executar este procedimento novamente.
Fonte: Microsoft.
Feito!

quinta-feira, 7 de agosto de 2014

Instalando fontes Microsoft no Linux

Essa dica para quem utilizada o LibreOffice deve ter notado que as fontes Arial, Courier New e Times New Roman estavam faltando, sendo que ao abrir um documento .doc no LibreOffice as fontes eram substituídas por outras existentes.
O pacote ttf-mscorefonts-installer oferece um instalador para fontes TrueType da Microsoft no Linux.
No Debian e derivados o procedimento é simples, basta instalar o pacote ttf-mscorefonts-installer via APT.
# apt-get update
# apt-get install ttf-mscorefonts-installer

No CentOS/RedHat e derivados segue os procedimentos abaixo:
# yum install curl cabextract xorg-x11-font-utils fontconfig
rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

No Slackware segue:
# lftp -c "open http://slackbuilds.org ; mirror slackbuilds/14.0/system/webcore-fonts" && cd webcore-fonts && chmod +x webcore-fonts.SlackBuild && . webcore-fonts.info && wget ${DOWNLOAD} && ./webcore-fonts.SlackBuild && installpkg /tmp/webcore-fonts-*.tgz && rm -rf /etc/fonts/conf.d/60-liberation.conf

Pronto, agora as fontes Microsoft estão instaladas no LibreOffice.
Feito!
Referências
https://packages.debian.org/wheezy/ttf-mscorefonts-installer
http://www.my-guides.net/en/images/stories/
http://www.vivaolinux.com.br/dica/Fontes-da-Microsoft-no-Slackware

terça-feira, 5 de agosto de 2014

Agendando tarefas no Linux

Supondo que você administra serviços de manutenção do sistema e executa manualmente scripts todos os dias e horários, e você pretende automatizar esse processo para executar determinado serviço e/ou script no dia e horário agendado, então, felizmente no Linux é possível por meio do crontab, que permite a realização de tarefas programadas em dias e horários determinados.

O crontab é muito utilizado por sysadmins e até programadores que usam Linux.
O objetivo deste post é explicar como fazer agendamento de tarefas por meio do cron/crontab.

O que é cron?

O cron é um serviço do Linux que é carregado no boot do sistema. Basicamente uma ferramenta que permite agendar tarefas de maneira automatizada.

Como usar o cron?
No terminal, digite: crontab -e.
Por default o crontab é aberto no editor vi, mas pode abrir no editor de sua preferência, da seguinte forma: env EDITOR= crontab -e, onde coloca o nome do editor que deseja abrir o crontab.
Para sair do editor crontab é o mesmo do editor que utilizou para abrir-lo.
O crontab tem o seguinte formato:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]
O preenchimento de cada campo é feito da seguinte maneira:
- Minutos: informe números de 0 a 59;
- Horas: informe números de 0 a 23;
- Dias do mês: informe números de 0 a 31;
- Mês: informe números de 1 a 12;
- Dias da semana: informe números de 0 a 7;
- Usuário: é o usuário que vai executar o comando (não é necessário especificá-lo se o arquivo do próprio usuário for usado);
- Comando: a tarefa que deve ser executada.

Comandos do crontab
Para acessar o crontab, basta digitar esse nome em um terminal seguido de um parâmetro. Eis a lista de parâmetros disponíveis:
crontab -e: para editar o arquivo atual do crontab e criar um, caso não exista;
crontab -l: para mostrar o conteúdo atual do crontab;
crontab -r: para remover o arquivo atual do crontab.

Vamos para prática e ver funcionando.
O famoso Hello World de todo programador que inicia uma linguagem de programação.
$crontab -e 1,10,20 * * * * echo "Hello World executou no crontab!"
O comando acima será executado nos minutos 1, 10 e 20 o conteúdo do echo.
P.S O resultado do comando acima será exibido em /var/mail/usuario.
cat /var/mail/usuario. Troque usuario pelo seu usuário do sistema.
Esse é clássico, quero limpar todo conteúdo do diretório /tmp todo mês do dia 30 às 5:30.
30 5 30 * * rm -rf /tmp/*
Também pode ser aplicado para limpar o diretório público da rede, onde os usuários armazenam arquivos temporários. Nesse caso seria limpar todos os dias de madrugada.
$crontab -e
30 5 * * * rm -rf \mnt\serveraquivos\temp*
P.S o mapeamento de rede nomeado servidor arquivos deve estar no /etc/fstab e devidamente montado.
Liberar o proxy geral 12:00 todos os dias
$crontab -e
0 12 * * * /etc/init.d/rc.squid.sh stop

Ativar o proxy às 14:00 todos os dias
$crontab -e
0 14 * * * /etc/init.d/rc.squid.sh start

Considerações finais

Espero que nesse post foi possível fazer entender como utilizar o crontab para agendar tarefas de serviços serem executadas de forma automatizadas no Linux.
O crontab não se limita apenas nos exemplos mostrados aqui, existem muitas outras tarefas que podem ser utilizadas no agendamento, deixo a cargo do leitor essa tarefa, tendo dúvidas, pode perguntar nos comentários.
Feito!

quarta-feira, 30 de julho de 2014

Agendando tarefas no Windows

Bom como é raro publicar dicas de Windows no blog, então hoje publico uma dica que precisei fazer um agendamento de um determinado programa que implementei e queria que seja executado automaticamente toda manhã no servidor Windows Server. Logo, me perguntei, será que no Windows tem um agendador de tarefas semelhante ao crontab do Linux ? Então, pesquisei e encontrei os procedimentos abaixo direto do site da Microsoft.
Segue...
Para abrir o Agendador de Tarefas segue:
Iniciar>Painel de Controle>Sistema e Segurança>Ferramentas Administrativas e clique duas vezes em Agendador de Tarefas.?
É necessário ter permissão do administrador. Se você for solicitado a informar uma senha de administrador ou sua confirmação, digite a senha ou forneça a confirmação.
Clique no menu Ação e em Criar Tarefa Básica.
Digite o nome e uma descrição opcional da tarefa e clique em Avançar.
Siga um destes procedimentos:
Para selecionar uma agenda baseada no calendário, clique em Diariamente, Semanalmente, Mensalmente ou Uma vez e clique em Avançar. Em seguida, especifique a agenda que deseja usar e clique em Avançar.
Para selecionar uma agenda baseada em eventos recorrentes comuns, clique em Ao iniciar o computador ou Ao fazer logon e clique em Avançar.
Para selecionar uma agenda baseada em eventos específicos, clique em Quando um evento específico for registrado, clique em Avançar, especifique o log de eventos e outras informações usando as listas suspensas e clique em Avançar.
Para agendar um programa para iniciar automaticamente, clique em Iniciar um programa e clique em Avançar.
Clique em Procurar para localizar o programa que deseja iniciar e clique em Avançar.
Clique em Concluir.

Observação:
O Agendador de Tarefas é um snap-in do Console de Gerenciamento Microsoft (MMC) e inclui ajuda adicional para usuários avançados. Para obter mais informações, abra o Agendador de Tarefas, clique no menu Ajuda e em Tópicos da Ajuda.
Fonte: Microsoft

segunda-feira, 28 de julho de 2014

Configurando impressora pelo Cups no Linux

Cups é uma ferramenta de servidor de impressão que facilita configuração e gerenciamento de diversas impressoras instaladas no hospedeiro e nos computadores clientes. Além disso é possível monitorar impressões, relatar erros de impressões, visualizar relatórios sobre um número de impressoras, data e horário do sistema.

1. Instalação do Cups
No Slackware, se fez instalação FULL, então o pacote cups está instalado, basta apenas startar o serviço cupsd e ir no passo 2.
#/etc/rc.d/rc.cups start
Ou caso não tiver instalado, segue: Usando o CD/DVD que fez a instalação do Slackware. #installpkg /mnt/cdrom/slackware/a/cups-*-.tgz
No Debian/Ubuntu e derivados, se deixou selecionado o item servidor de aplicação durante a instalação, então o pacote cups está instalado, basta apenas startar o serviço e ir no passo 2.
#/etc/init.d/cups start
OU caso não tiver instalado, simplesmente execute: #apt-get install cups cups-pdf ghostscript ghostscript-cups hplip hplip-gui hpijs hpijs-ppds system-config-printer, starte o serviço cups e ir para o passo 2.
No RedHat/CentOS e derivados, simplesmente execute: #yum install cups cups-pdf ghostscript ghostscript-cups hplip hplip-gui hpijs hpijs-ppds system-config-printer e starte o serviço cups.
#service cups start

2. Configuração da impressora no Cups
Por default o Cups utiliza a porta 631, então no navegador de sua preferência, acesse: http://localhost:631 e segue:
2.1 Clique em "Administration" depois em "Add Printer"
2.2 Coloque o nome que você quiser sem conter espaços,"/", "#" e clique em "Continue"
2.3 Selecione "Device", no meu caso eu selecionei "HP Photosmast", e clique em "Continue"
2.4 Selecione o modelo da sua impressora e clique em "Add Printer", ou baixe o PPD em selecione-o dê um clique em "Add Printer"
Pronto, impressora instalada!
Agora, abre o BROffice e imprima um documento de teste, note que irá aparecer o nome da impressora que foi configurada no Cups. Feito!

sábado, 15 de fevereiro de 2014

Removendo o Hao123 / Baidu do navegador

É dificil alguém após instalar um software gratuito no site www.baixaki.com.br e ao abrir seu navegador independente que seja: Mozilla Firefox, Google Chrome, IE, não se deparar com a seguinte imagem na página inicial do navegador.
Bom o que acontece é que o Hao123 é instalado de forma silenciosa junto com o software gratuito para Windows.

O Hao123 é uma espécie de malware conhecido como browser hijacker (sequestro de navegador, em uma tradução literal). Muitos usuários não sabem como remover o Hao123, mas há uma forma simples e eficaz de fazer isso. O vírus se caracteriza por alterar configurações de navegadores como o Chrome e o Firefox sem que o usuário saiba ou possa reverter as mudanças.

Neste caso, o software se propaga através de outros downloads grátis e uma vez instalado adiciona a barra de ferramentas Hao123 e muda a página inicial do navegador para hao123.com. Esta parte do comportamento do malware é considerada legítima e há muitos outros programas que fazem ações semelhantes. O problema é que o Hao123 modifica atalhos aleatórios do menu Iniciar e da Área de trabalho, além de mostrar links e publicidade nos resultados de pesquisa e coletar os termos de busca sem permissão.

Quando o programa que instalou o malware é removido, o Hao123 continua instalado, o que significa ele deve ser removido manualmente. Neste tutorial, vamos mostrar como remover o Hao123 do Google Chrome e Mozilla Firefox.

Vou explicar nesse post como remover o Hao123 definitivamente do seu computador com Windows instalado.
O primeiro passo é desinstalar o Hao123.
Acessando o Painel de Controle>Programas e localize o Hao123 marque para desinstalar conforme o screnshot abaixo.

P.S Repare que, às vezes, o malware se instala com nomes diferentes, então procure por qualquer programa desenvolvido pela "Baidu Online Network Technology".
Agora iremos restaurar configuração do Navegador Firefox e Google Chrome
No Firefox
1. Para remover o programa do Firefox, clique no botão laranja para ter acesso às opções, abra o menu Ajuda e selecione "Dados para suporte";
2. Na nova aba que se abrir, basta clicar no botão "Reiniciar Firefox" para remover as informações maliciosas. O navegador deve fechar e reiniciar neste momento.

No Google Chrome
1. Abra o menu do navegador, clique em "Ferramentas" e, em seguida, em "Extensões";
2. Localize a extensão do Hao123 e clique no ícone da lixeira. O malware pode se instalar com nomes diferentes também, então é recomendável procurar e remover qualquer extensão suspeita ou indesejada da lista;

3. Abra o menu do Chrome e clique em "Opções". Na seção "Pesquisa", clique em "Gerenciar mecanismos de pesquisa";

4. Localize, no menu superior, seu mecanismo de busca padrão (normalmente é o Google) e clique no botão "Tornar padrão";

5. Passe o mouse em cima do link do Hao123 e clique no "X" para removê-lo.

6. Ainda no menu de opções, localize a seção "Iniciar" e clique em "Abrir nova aba".

Limpar o atalho do site Hao123 do navegador
1. Localize o atalho na Área de Trabalho ou no menu Iniciar. Clique com o botão direito e selecione Propriedades;
2. Clique na barra Abas e localize a opção Alvo. Remova o link para o Hao123 que se encontra no final do texto, cuidando para não alterar o link para o programa que vem antes.

P.S Faça o mesmo procedimento em outros navegadores como Google Chrome e/ou IE.
Limpar o registro do Windows
1. Abre o regedit em iniciar e digitar regedit.
2. Use CTRL+F para abrir a janela de busca e digite "Hao123". Delete os registros encontrados.

Referência
http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2013/06/como-remover-o-hao123-do-google-chrome-e-mozilla-firefox.html
Dica
Sempre procure instalar software gratuito direto do site legítimo do autor do software, em alguns casos podem encontrar no http://sourceforge.net/ .
Feito!