domingo, 25 de dezembro de 2011

Configurações do KDE

Ao usar o KDE 4.x com após uma instalação básica a gente não consegue acessar todas as informações de configuração através do menu K. Para "burlar" essa restrição de maneira rápida podemos utilizar o comando kcmshell4 seguido da opção que você deseja alterar e abrirá a janela da configuração escolhida. Para saber quais informações podem ser alteradas por esse comando basta usar a opção --list dessa forma:

$ kcmshell4 --list

E verá a lista abaixo:

kwincompositing - Configura os efeitos da área de trabalho
display - Configurações da tela
autostart - Uma ferramenta de configuração para gerenciamento de quais programas são carregados.
ebrowsing - Configura a navegação melhorada
kcm_phonon - Configuração de som e vídeo
khtml_appearance - Configura a apresentação das páginas da Internet
khtml_behavior - Configura o comportamento do navegador
devices - Informações sobre dispositivos conectados
desktoppath - Altera o local de armazenamento dos arquivos importantes
desktoptheme - Personaliza o tema da área de trabalho
kcm_keyboard - Configurações do teclado
kcmdf - Mostra a utilização do disco nos dispositivos montados
opengl - Informações sobre OpenGL
kcmaccess - Melhora a acessibilidade para pessoas com deficiência
audiocd - Configuração do IO Slave audiocd
kcmdolphinnavigation - Configurar navegação do gerenciador de arquivos
khotkeys - Configura as opções das ações de entrada
ioslaveinfo - Informações sobre os protocolos disponíveis
fontinst - Instala, gerencia e visualiza as fontes
kcmnotify - Configuração das notificações do sistema
keys - Configuração dos atalhos de teclado
khtml_java_js - Configura o comportamento do Java e do JavaScript
kcm_networkmanagement - Adiciona, edita e remove conexões de rede
style - Permite a manipulação do comportamento de widgets e a escolha do estilo usado pelo KDE
kwindecoration - Configura a aparência dos títulos das janelas
kcmsolidproc - Informações do Processador
joystick - Configurações do joystick
xserver - Informações do servidor X
componentchooser - Escolha os componentes padrão para vários serviços
kwinoptions - Configura o comportamento das janelas
ksplashthememgr - Gerencia os temas da tela de apresentação
kcm_partition - Informações sobre partições
randr - Redimensiona e rotaciona a sua tela
kcmsmserver - Configura o gerenciador de sessões e as opções de encerramento
netpref - Configura as preferências gerais da rede, tais como os valores de tempo de espera
smbstatus - Monitor de estado do Samba
fonts - Configurações de fontes
device_automounter_kcm - Configura o funcionamento automático dos dispositivos de armazenamento removíveis
bookmarks - Configura a página inicial dos favoritos
kcmlaunch - Escolha o estilo do aviso de execução de aplicativos
interrupts - Informações sobre as interrupções
kdm - Configura o gerenciador de autenticação (KDM)
proxy - Configura os servidores proxy usados
kcmperformance - Configurações que podem melhorar o desempenho do KDE
kcmkttsd - Módulo de controle do sintetizador de voz
dma - Informações de DMA
kamera - Configurar o Kamera
cursortheme - Personaliza a aparência do cursor do mouse
standard_actions - Configuração dos atalhos de teclado padrão
spellchecking - Configura o verificador ortográfico
kwalletconfig - Configuração da carteira do KDE
khtml_plugins - Configurar os plug-ins do navegador
kcm_cron - Configurar e agendar tarefas
emoticons - Gerenciador de temas emoticons
icons - Personaliza os ícones do KDE
kwinrules - Configura as opções específicas de uma janela
clock - Configurações de data e hora
kcm_ssl - Versões e certificados de SSL
powerdevilglobalconfig - Configura as opções globais do gerenciamento de energia
libkcddb - Configurar a recuperação do CDDB
khtml_general - Configura o comportamento geral do Konqueror
kcmview1394 - Dispositivos IEEE 1394 conectados
bell - Configuração da campainha do sistema
kcmtrash - Configurações do Lixo
nic - Informações sobre rede
kcmkded - Configuração dos serviços do KDE
kcm_attica - Gerencia os fornecedores da Área de Trabalho Social
khtml_filter - Configura os filtros AdBlocK do Konqueror
kcmdolphingeneral - Configurar opções gerais do gerenciador de arquivos
kcm_pci - Informações PCI
filetypes - Configura as associações dos arquivos
sound - Informações sobre o som
kcm_solid - Configuração da integração do hardware com o Solid
cookies - Configura a maneira como os cookies funcionam
ioports - Informações sobre as portas de E/S
kwinscreenedges - Configura os contornos de tela ativos
kcmsambaconf - Um módulo para configurar compartilhamentos com o Microsoft Windows
useragent - Configura a forma como o Konqueror se apresenta
solid-actions - Uma ferramenta de configuração para gerenciamento das ações disponíveis ao usuário, quando novos dispositivos são conectados ao computador
fileshare - Habilita ou desabilita o compartilhamento de arquivos
kgamma - Uma ferramenta de calibragem do monitor
cache - Configura as opções de cache da Internet
kcm_kdnssd - Configura a descoberta de serviços
kcmcgi - Configurar o KIO slave de CGIs
scsi - Informações sobre SCSI
kcmdolphinviewmodes - Configurar modos de visualização do gerenciador de arquivos
smb - Use para configurar em quais sistemas de arquivos windows (SMB) você pode navegar
mouse - Configurações do mouse
powerdevilprofilesconfig - Configura os perfis de gerenciamento de energia
kcm_nepomuk - Configuração do servidor Nepomuk/Strigi
kcmusb - Dispositivos USB conectados a este computador
xinerama - Configura o KDE para vários monitores
language - Preferências numéricas, de idioma e formatos de data e hora para a sua região
colors - Configurações de cor
kcm_knetworkconfmodule - Configurar as definições da rede
desktop - Configura a quantidade de áreas de trabalho virtuais.
kcmdolphinservices - Configurar serviços do gerenciador de arquivos
kcm_memory - Informações sobre memória
kwintabbox - Configura o comportamento da navegação pelas janelas
screensaver - Configurações do protetor de tela
workspaceoptions - Opções globais para o espaço de trabalho do Plasma

Claro que essa lista deverá ser diferente já que ela é baseada nos módulos que você tem instalado no seu sistema.

quinta-feira, 17 de novembro de 2011

Ativar wireless em linux

     Essa semana resolvi instalar a distro BackTrack 5 em um notebook HP Pavilion da empresa para utilizar as ferramentas disponíveis para análise de redes, massss, claro que nem tudo funcionaria perfeitamente. Após todas instalações descobri que a placa de wireless não funcionava corretamente, é uma Intel 3945ABG, não é uma das mais difícieis de instalar em Linux mas com o BackTrack ela não funcionou. Instalei todos os módulos necessários de várias formas diferentes, de tanto instalar e desinstalar módulo acabei por reinstalar tudo por que achei que um pudesse estar atrapalhando o outro, o que é bem possível.
     O máximo que eu conseguia era receber a mensagem
 "SIOCSIFFLAGS: Unknown error 132"
quando tentava subir ela com "ifconfig wlan0 up".

A luz de ativação da placa, que tem que ficar azul quando está funcionando, permanecia vermelha, até que consegui encontrar algo se referindo ao comando rfkill e esse foi o "fio da meada", passei a procurar o que ele fazia e cheguei a esse link: 


Que vou reproduzir aqui porque essas documentações de empresas costumam desaparecer ou mudar de lugar com o tempo.

RFKill
    Muitos sistemas de computadores contém transmissores de rádio, incluindo Wi-Fi, Bluetooth, e 3G. Estes dispositivos consomem energia, a qual é desperdiçada quando o dispositivo não está em uso. 
      O RFKill é um subsistema no kernel do Linux que fornece uma interface através do qual os transmissores de rádio em um sistema de computador podem ser pesquisados, ativados, desativados. Quando os transmissores são desativados, eles podem ser colocados em um estado onde o software pode reativá-los ( um soft block) ou onde o software não pode reativá-los (um hard block). 
      O RFKill core fornece uma interface de programação de aplicativo (API) para subsistema. Os drivers do kernel que foram designados para suportar o RFkill usam este registro do API com o kernel, e inclui métodos para ativar e desativar o dispositivo. Além disso, o RFKill core fornece notificações que os aplicativos de usuários podem interpretar de formas para aplicativos de usuários pesquisarem os estados de transmissores. 
      O RFKill interface está localizado em /dev/rfkill, o qual contém o estado atual de todos os trasmissores de rádio no sistema. Cada dispositivo possui seu estado de RFKill registrado em sysfs. Além disso, o RFKill emite o uevents para cada mudança de estado em um dispositivo do RFKill ativado. 
      O Rfkill é uma ferramenta de linha de comando com a qual você pode pesquisar e mudar os dispositivos ativados do RFKill no sistema. Para obter a ferramenta, instale o pacote rfkill. 
       Use o comando rfkill list para obter uma lista de dispositivos, cada uma possui um index numberassociado à ele, iniciando como 0. Você pode usar este número de índice para informar o rfkill para bloquear ou desbloquear um dispositivo, por exemplo: 
rfkill block 0
bloqueia o primeiro dispositivo habilitado do RFKill no sistema.

      Você também pode usar o rfkill para bloquear certas categorias de dispositivos ou todos os dispositivos habilitados do RFKill. Por exemplo: 
rfkill block wifi
bloqueia todos os dispositivos do Wi-Fi no sistema. Para bloquear todos os dispositivos habilitados do RFKill, execute:
rfkill block all
      Para desbloquear os dispositivos, execute o rfkill unblock ao invés do rfkill block. Para obter uma lista completa de categoria de dispositivos que o rfkill consegue bloquear, execute rfkill help.

RESUMO:
      O dispositivo estava bloqueado, e não iria funcionar nunca se não fosse destravado. Foi a primeira vez que encontrei um dispositivo que assume esse estado como padrão, e já instalei Linux em dezenas de notebooks. 

quarta-feira, 9 de novembro de 2011

Mudar o local do diretório "/home"

Uma grande dor de cabeça é quando nossa home está quase lotando e não sabemos o que fazer para fazer com que ela passe a ser montada no hd novo que acabamos de comprar.
Não é tão difícil, "o detalhe são os detalhes". rsrs
Passo-a-passo:
1º Adicione e prepare seu novo hd. Não vou detalhar aqui pois "cada caso é um caso" e você pode querer usar ele não só como home. Vou assumir, para questões didáticas, que a partição que você deseja colocar a home é /dev/sdb1.

2º Inicie seu computador normalmente;
3º Altere a linha do arquivo /etc/inittab
          id:2:initdefault:
     Para
          id:1:initdefault:
          * Essa é a configuração para o Debian, em outras distros isso pode ser diferente, leia as linhas dentro do próprio /etc/inittab
4º Reinicie o computador. Essa operação é necessária para que o sistema não grave nada na home depois que você fizer a cópia.
5º No boot vai ser solicitado que você coloque a senha de root ou digite Ctrl+D, digite a senha, claro. Agora você já estará no prompt como root.
     
6º Crie um ponto de montagem que será usado temporariamente;
     "mkdir /mnt/hd2"
7º Monte o novo hd nesse ponto;
      "mount -t auto /dev/sdb1 /mnt/hd2"
8º copie todos os arquivos da pasta /home para esse novo ponto de montagem.
      "cp -Rp /home/* /mnt/hd2"
       * aqui é que estão os detalhes, as opções -r e -p: 
          -p Preserva o original proprietário, grupo, permissões (incluindo os bits setuid e setgid), tempo da última modificação e o tempo do último acesso. No caso da de duplicação do proprietário ou grupo falhar, os bits setuid e setgid serão zerados. (Note que mais tarde a origem e a cópia deverão ter diferentes tempo de último acesso, desde que a operação de cópia é um acesso no arquivo origem.
          -R Copia diretórios de forma recursiva, e faz algo incerto quando outros objetos a não ser arquivos ordinários ou diretóriso são encontrados. (Assim, a cópia de um FIFO ou arquivo especial é um FIFO ou um arquivo especial.)
                                           Fonte: Man Page do comando cp.

9º Altere seu arquivo /etc/fstab.
     Se sua partição /home anterior estava dentro da partição raíz você terá que adicionar uma linha a mais nesse arquivo, se não você poderar apenas alterar a linha existente.
     Esse é um exemplo de linha a ser adicionada:
                         UUID=db9ecb8e-7c9b-405f-b7eb-360cd6980696 /home ext4 defaults 0 2
     O Debian se refere ao dispositivo utilizando o UUID dele, esse é um número que identifica unicamente cada dispositivo, dessa forma, mesmo que você inverta a posição dos hd's no seu hard, ele sempre montará conforme definido. Para achar o UUID de seus dispositivos utilize o comando blkid.

10º Use o comando "mount -a" para testar a montagem e verifique se não há nada de errado, se der algum erro refaça esse passo.


11º Com tudo pronto, reinicie o computador, agora com sua nova /home.

quarta-feira, 26 de outubro de 2011

Dica: Redirecionamento de portas no FreeBSD

   Quando temos um servidor com FreeBSD conectado a internet e fazendo o roteamento ou NAT para a rede interna, algumas vezes, se faz necessário acessar uma máquina na rede a partir de um local remoto, para isso podemos utilizar um programa chamado "redir" que está nos ports do FreeBSD.
   Primeiramente verifique se ele está disponível, se não, instale-o.
   Então use o comando da seguinte forma:

/usr/local/bin/redir --lport=8080 --cport=80 --caddr=192.168.1.10 &

Onde:
   "--lport=8080" indica a porta local, sendo 8080 só um exemplo;
   "--cport=80"  indica a porta na máquina destino, sendo 80 só um exemplo;
   "--caddr=192.168.1.10" indica o ip da máquina interna que receberá o redirecionamento, sendo 192.168.1.10 só um exemplo;
   "&" determina que o comando será executado em background.

Ps. Não se esqueça de adicionar esse comando no /etc/rc.conf para que isso seja refeito quando a máquina for reinicializado.

Download do Firefox

     Nunca me imaginei escrevendo um post sobre como fazer download de um programa, masssss.... minha vida é assim, sempre fazendo coisas que eu não imaginava que faria. rsrsrs
     Depois que instalei o Debian 64 bits em meu desk me deparei com alguns problemas relativos a plataforma, é que a maioria dos programas tem suas últimas versões em 32 bits e as em 64 demoram a aparecer. Hoje achei o firefox7 em 64 bits, o link para download é:


    A partir desse link dá pra entender onde deve estar os outros programas da mozilla.

IPv6 - Novo protocolo ou implementação???

Acabei de fazer um curso sobre IPv6 e achei importante compartilhar isso aqui no blog.
A internet se baseia no IP (Internet Protocol), esse protocolo define a forma como as informações vão de um ponto ao outro na internet.
Antes de falarmos sobre IPv6 especificamente temos que entender alguns conceitos sobre rede.

REDE = É um grupo de computadores conectados entre si através de um meio físico compartilhando informações
PACOTES = As informações trafegam pela internet em formato de pacotes.
     Podemos comparar esses pacotes a correspondências enviadas pelos Correios. Quando enviamos uma correspondência temos que colocar na embalagem (pacote) os dados referentes a destinatário, remetente, se já foi paga, se será paga no destino e vários outras informações que são escritas na parte externa da correspondência. Imaginemos a seguinte situação: Eu tenho que enviar um manequim de loja mas tenho que usar caixas pequenas para isso já que os correios (hipotéticamente) não permitem caixas grandes então terei que dividir o manequim em pedaços pequenos e enviá-lo parte por parte, mas por exigência do meu cliente eu tenho que enviar as partes seqüencialmente para ser montado na ordem de chegada, em cada pacote terei que colocar todos os dados de envio e ainda terei que usar o serviço de AR (Aviso de Recebimento) dos correios que confirma o recebimento de cada pacote no destino para que só então eu possa enviar o próximo. É exatamente isso que ocorre na transmissão de informações pela internet ou por uma rede qualquer.
PROTOCOLO = É uma ou mais regras que definem como a informação deve ser organizada.
     Em nosso exemplo de correio temos um protocolo que determina que os dados de remetente e destinatário devem estar separados, se possível em lados opostos e a sequência deve ser:
                    Remetente:                                                    Destinatário:
                    Endereço:                                                     Endereço:
                    CEP:                                                            CEP:

     Na internet o protocolo mais usado é o IP (Internet Protocol) que tem seu cabeçalho mostrado abaixo em suas duas versões:

     Cada pacote é enviado pela internet precedido por um cabeçalho nesse formato.
     IP (Internet Protocol) = Quando falamos em IP, na maioria dos casos pensamos em um número como 192.168.0.1 ou 200.267.139.25, mas IP é muuuito mais do que isso esse número, voltando ao nosso exemplo dos correios, seria apenas o CEP que guarda muita informação por trás dele e é aí que vem o problemas em mudar esse número.
     No início da internet, por volta de 1969, não se tinha a menor idéia de que ela poderia chegar perto do que é hoje, foi uma rede criada para fins militares nos EUA e a identificação IP era formada por um número de 4 octetos sendo cada um com 3 dígitos que permitiria ao Governo Americano interligar até 4.294.967.296 computadores, isso era um número pensado inalcançável, mas na década de 80 resolveu-se usar essa infraestrutura para interligar outras redes que a princípio foram Universitárias e depois Comerciais.
      Tá, mais detalhes sobre essa história é fácil achar na internet pesquisando sobre "início da internet" ou "arpanet", então vou me ater aqui aos IPv6.

     No início da década de 90 já se percebeu que a internet iria crescer muito e que os números de IP's não seriam suficiente para todos e já que teriam que mexer no protocolo deveriam implementar mais do que somente os números eu que seria um bom momento para reavaliar a estrutura desse protocolo. Então começaram os estudos para essa mudança e foi criado o IPv6.
     Enquanto se desenvolvia o IPv6 foram criadas soluções paliativas que só retardam o esgotamento de números, e cada uma possuía um "porém" que a inviabilizava a longo prazo.
     Então, em 1998, nasceu o IPv6 e sua certidão de nascimento é a norma RFC 2460.
     De lá para cá vem sendo sendo implementadas formas de substituir o IPv4 pelo IPv6 mas isso não é nada fácil já que se tudo fosse parado de uma única vez para isso seria o caos social total. Ou você acha que conseguiria viver um único dia sem o uso da internet?
     

quarta-feira, 5 de outubro de 2011

Retirar comentários de arquivos de configuração.

   Que jogue a primeira pedra quem nunca se irritou ao tentar ler os arquivos de configuração de programas como samba ou squid devido ao fato desses arquivos virem com todas as opções possíveis e a explicação da função de cada uma. Claro que isso é ótimo na questão didática, mas em alguns momentos queremos só uma configuração simples e criar o arquivo do zero pode não ser a melhor opção então o melhor é retirar todas as linhas comentadas e pra isso podemos utilizar o utilitário egrep com a seguinte sintaxe:

 egrep -v "^#|^$" [arquivo.conf_original] > [arquivo.conf_novo]


   Dessa forma o novo arquivo será gerado sem as linhas de comentários.

crontab não executa comandos agendados.

Tive, mais uma vez, um problema que eu apenas contornava mas não ia a fundo e dessa vez consegui me empenhar um pouquinho mais.

O problema:
   Como root eu adicionava comandos no crontab tanto pelo "crontab -e" como diretamente ao arquivo /etc/crontab e o comando não era executado. 

A análise:
   Comecei adicionando um comando bem simples ao cronta, um date com saída para um arquivo executando a cada 1 minuto. Isso também não funcionou.
   Passei a ler os logs (/var/log/cron) e observei que o erro estava relacionado ao sistema SELinux, esse serviço impõe restrições até mesmo ao root e era o que estava acontecendo.

A solução:
   Eu já havia até desabilitado o uso so SELinux alterando o valor da diretiva "SELINUX" para "disable" no arquivo /etc/selinux/config mas não havia me atentado para o fato de ter que executar o comando "selinuxdefcon" para que essa nova configuração fosse ativada.

Ps1. Essa não é a melhor solução já que esse serviço SELinux foi criado para adicionar segurança ao sistema, mas como ainda não o conheço bem (o estudarei em breve) o desabilitei.

Ps2. Essa opção eu alterei logo que terminei a instalação desse servidor, então quando abri o arquivo e vi que ela já estava "disable" estranhei pois, mesmo que ela não fosse habilitada instantâneamente, ela deveria ser validada durante o boot, então fui verificar quando foi o último reboot desse servidor e admirei o fato de ele estar "up" a 63 dias, ou seja, desde a instalação. E ele é bastante utilizado. rsrsrsrs "essa ps2 foi só pra me gabar mesmo!! rsrsrs"

domingo, 2 de outubro de 2011

Debian Source List Generatior

   Esse post não é um artigo, é apenas uma dica.
   Uso o Debian a uns 3 anos e vez ou outra recorro a esse site. (Debian Source List Generator)
   A net está cheia de arquivos sources.list de exemplo por aí, mas raramente um funciona 100%, o que faz esse site ser muito útil, já que a partir dele você monta o seu perfil e ele gera o arquivo sources.list que você precisa.
   Esse arquivo pode ser usado apenas como base para outros, então não se esqueça de fazer uma cópia do seu antes de atualizar com o conteúdo gerado no site.
   Cada arquivo gerado possui uma sequência de comandos adicionados ao rodapé que devem ser executados para que sejam adicionadas as chaves dos repositórios, então não se esqueça deles.

   Boa sorte.

segunda-feira, 12 de setembro de 2011

Erro em teclado de notebook com Ubuntu

Utilizo o Ubuntu no meu notebook (itautec W7645) e sem um motivo aparente a tecla "Fn" ficou "travada" e o teclado numérico ficou ativado de forma permanente e eu só conseguia utilizar as letras se pressionasse a tecla "fn", ou seja, comportamento totalmente invertido. Após várias pesquisas infrutíferas a respeito resolvi pedir socorro na lista Debian o colega Edson me deu o "Caminho das pedras" dizendo os termos que eu deveria pesquisar no google, depois de algumas páginas de pesquisas achei (não me lembro em que site) a solução que de tão simples fiquei abismado.
O problema se resume ao uso indevido da tecla "Num Lk" que fez com que a "Fn" ficasse "travada" então a solução foi:

"Segurar a tecla 'Fn' e pressionar 'Num Lk'"   --- Problema resolvido.

Nesse problema foi reforçado meu apreço ao ditado:

"Mais importante de que saber a reposta é saber a pergunta correta!"


quinta-feira, 1 de setembro de 2011

Site de comparação de CPU's

Ao procurar informações técnicas a respeito de uma determinada CPU encontrei um site muito interessante, pelo menos a primeira vista.
Ele possui vários benckmarks e informações sobre CPU's.

http://www.cpu-world.com/index.html


sexta-feira, 12 de agosto de 2011

erro "isto não é uma pasta CVS" no freeBSD

Ao configurar um servidor de terminais FreeBSD com gnome, nos testes como usuário comum, encontrei o erro que ao tentar acessar a "Pasta Pessoal" a partir do atalho "Locais" no painel superior aparecia o erro:

 "isto não é uma pasta CVS" mude o cervisia para o konqueror (ou algo próximo a isso)

Isso ocorreu duas vezes e na primeira quem achou a solução foi o colega Jason, mas claro, eu nem ele lembravamos como resolvia e eu me lembrava que era o conteúdo de um determinado arquivo.

Solução:
     Edite o arquivo  /usr/local/share/applications/mimeinfo.cache e altere a linha:

  inode/directory=kde-cervisia.desktop;kde-kfmclient_dir.desktop;nautilus-folder-handler.desktop;

para

  inode/directory=nautilus-folder-handler.desktop;



cc

quarta-feira, 3 de agosto de 2011

Erro "VERR_VMX_IN_VMX_ROOT_MODE" no VirtualBox

Após instalar o Centos6, parti para a instalação do VirtualBox pois não vivo sem ele. rsrs
Instalei-o a partir do .run já que tive alguns probleminhas com os pacotes.
Criei a máquina virtual e quando fui executá-la apareceu o referido erro, claro que isso é só uma parte da mensagem completa.
Para resolvê-lo foi simples, procurei em alguns manuais e descobri uma incompatibilidade com os módulos kvm, então procurei qual estava carregado e achei o kvm-intel, então o derrubei com "rmmod kvm-intel" e o virtualbox passou a funcionar perfeitamente.

Para que ele não seja mais carregado no boot use o comando:

modprobe -r kvm-intel

Ps. Se sua máquina for amd, provavelmente, você tenha o módulo kvm-amd.

quinta-feira, 21 de julho de 2011

Compilar kernel no CentOS 6

     A compilação do kenel no CentOS 6 não é tão automatizada como no Debian, mas já está bem mais facilitada de que era antigamente. A criação de um pacote .rpm com o kernel facilita bastante.

     Primeiramente vou reproduzir aqui os passos da compilação do kernel e criação/instalação do pacote e dependências:


* Sempre que eu usar o asterisco estarei me referindo a versão do kernel que muda conforme as atualizações então não  vou escrever nenhuma agora.

     1- Instale os pacotes compiladores e geradores de pacotes .rpm
               yum install gcc make bison ncurses-devel rpm-build

     2- Baixe a nova versão do kernel em www.kernel.org para a pasta /usr/src. A não ser que você seja "aventureiro" use sempre a última versão stable para máquinas imprescindíveis, mas se  você quiser ajudar no desenvolvimento do kernel, use a versão testing e informe os problemas.

              # wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.*.tar.bz2



     3- Descompacte-a, crie um link pra ela e acesse a pasta.


               # tar   -xjvf   linux-2.6.*.bz2
               # ln   -s   linux-2.6.*   linux
               # cd   linux


     4- Copie o arquivo de configurações padrão para que fique mais fácil de se guiar dentro do menu de configuração.


               # cp   /boot/config-*   .config


     5- Configure as opções do kernel conforme sua necessidade, não vou entrar em detalhes aqui para não prolongar muito o post já que minha idéia é so resolver um problema que não é citado em outros posts na internet.

               # make menuconfig


     6- Crie o pacote .rpm.


               # make rpm

               *Isso vai demorar bastante.
 

     7- Agora vou exigir um pouquinho de trabalho seu, localize o arquivo que foi criado. (se vira)


     8- Instale o pacote:


               # rpm -ivh kernel-2.6.*.rpm


     9- Liste o conteúdo da pasta /boot e voc verá que os arquivos do novo kernel se encotram lá, mas se você comparar com os arquivos que já estavam lá você vai ver que faltam alguns para o seu novo kernel.


     10- Atualize a lista dos módulos que serão carregados com o novo kernel:


               # depmod kernel-2.6.*

     Kernel pronto.. ou quase   -  Não reinicie ainda e NÃO crie o initrd como todos os tutoriais de compilação lhe orientam.

     Nem tudo são flores...
     Achei as informações sobre a compilação depois de muuuito garimpar na net e acabei tendo um belo "kernel panic", como já sou íntimo dessa mensagem não me desesperei e resolvi ler tudo o que o sistema estava me dizendo, a mensagem era:

KAMDISK: imcomplete write (15071 != 32768)
Write erro
Kernel panic – not syncing: VFS: unable to mount root fs on unknown-block(0,0)
Pid: 1, comm.: swapper Not tainted 2.6.39.3LevierTecnologia #3
Call Trace:
[] panic+x91/0x19c
[]? Printlk+0x41/0x46
[] mont_block_root+0x56/0x5a

     Observe a terceira linha que ela me diz que não conseguiu sincronização ou acesso ao VFS (Virtual File System), o kernel usa no boot um sistema virtual de arquivos que se encontra na imabem /boot/initrd*.img, então a mensagem sugere que o problema está aí.

SOLUÇÃO:

     Ao invés de criar o initrd você irá criar o initramfs e pra isso você irá usar o programa "dracut" da seguinte forma:

               # cd /boot 
               # dracut initramfs-2.6.*.img     2.6.*

Agora vamos a configuração do Grub.

     1- Edite o arquivo /boot/grub/grub.conf e adicione os dados referentes ao novo kernel, você pode copiar e colar os dados do kernel antigo e ajustar as informações:

               # vim /boot/grub/grub.conf

Em alguns casos, não consegui entender o porquê, o arquivo "/boot/vmlinux*" gerado possui algum erro então  você terá que copiar o arquivo /root/rpmbuild/BUILD/kernel-3.0.02xXeon_cleber/arch/x86/boot/bzImage para o /boot, trocar o nome do arquivo para o mesmo do "vmlinux*" substituindo o mesmo.
No meu caso o erro que me forçou a fazer isso foi o "Error 13: Invalid ou unsupported executable format" no momento do boot com o novo kernel.

* no lugar onde se encontra o initrd.*.img coloque o caminho do arquivo initramfs criado anteriormente.

--- Não vou detalhar muito agora mas posteriormente eu melhoro o post.

terça-feira, 24 de maio de 2011

IPv6 - Novo protocolo ou implementação???

Acabei de fazer um curso sobre IPv6 e achei importante compartilhar isso aqui no blog.
A internet se baseia no IP (Internet Protocol), esse protocolo define a forma como as informações vão de um ponto ao outro na internet.
Antes de falarmos sobre IPv6 especificamente temos que entender alguns conceitos sobre rede.

REDE = É um grupo de computadores conectados entre si através de um meio físico compartilhando informações
PACOTES = As informações trafegam pela internet em formato de pacotes.
     Podemos comparar esses pacotes a correspondências enviadas pelos Correios. Quando enviamos uma correspondência temos que colocar na embalagem (pacote) os dados referentes a destinatário, remetente, se já foi paga, se será paga no destino e vários outras informações que são escritas na parte externa da correspondência. Imaginemos a seguinte situação: Eu tenho que enviar um manequim de loja mas tenho que usar caixas pequenas para isso já que os correios (hipotéticamente) não permitem caixas grandes então terei que dividir o manequim em pedaços pequenos e enviá-lo parte por parte, mas por exigência do meu cliente eu tenho que enviar as partes seqüencialmente para ser montado na ordem de chegada, em cada pacote terei que colocar todos os dados de envio e ainda terei que usar o serviço de AR (Aviso de Recebimento) dos correios que confirma o recebimento de cada pacote no destino para que só então eu possa enviar o próximo. É exatamente isso que ocorre na transmissão de informações pela internet ou por uma rede qualquer.
PROTOCOLO = É uma ou mais regras que definem como a informação deve ser organizada.
     Em nosso exemplo de correio temos um protocolo que determina que os dados de remetente e destinatário devem estar separados, se possível em lados opostos e a sequência deve ser:
                    Remetente:                                                    Destinatário:
                    Endereço:                                                     Endereço:
                    CEP:                                                            CEP:

     Na internet o protocolo mais usado é o IP (Internet Protocol) que tem seu cabeçalho mostrado abaixo em suas duas versões:

     Cada pacote é enviado pela internet precedido por um cabeçalho nesse formato.
IP (Internet Protocol) = Quando falamos em IP, na maioria dos casos pensamos em um número como 192.168.0.1 ou 200.267.139.25, mas IP é muuuito mais do que isso esse número, voltando ao nosso exemplo dos correios, seria apenas o CEP que guarda muita informação por trás dele e é aí que vem o problemas em mudar esse número.
     No início da internet, por volta de 1969, não se tinha a menor idéia de que ela poderia chegar perto do que é hoje, foi uma rede criada para fins militares nos EUA e a identificação IP era formada por um número de 4 octetos sendo cada um com 3 dígitos que permitiria ao Governo Americano interligar até 4.294.967.296 computadores, isso era um número pensado inalcançável, mas na década de 80 resolveu-se usar essa infraestrutura para interligar outras redes que a princípio foram Universitárias e depois Comerciais.
      Tá, mais detalhes sobre essa história é fácil achar na internet pesquisando sobre "início da internet" ou "arpanet", então vou me ater aqui aos IPv6.

     No início da década de 90 já se percebeu que a internet iria crescer muito e que os números de IP's não seriam suficiente para todos e já que teriam que mexer no protocolo deveriam implementar mais do que somente os números eu que seria um bom momento para reavaliar a estrutura desse protocolo. Então começaram os estudos para essa mudança e foi criado o IPv6.
     Enquanto se desenvolvia o IPv6 foram criadas soluções paliativas que só retardam o esgotamento de números, e cada uma possuía um "porém" que a inviabilizava a longo prazo.
     Então, em 1998, nasceu o IPv6 e sua certidão de nascimento é a norma RFC 2460.
    De lá para cá vem sendo sendo implementadas formas de substituir o IPv4 pelo IPv6 mas isso não é nada fácil já que se tudo fosse parado de uma única vez para isso seria o caos social total. Ou você acha que conseguiria viver um único dia sem o uso da internet? A internet hoje está em nosso dia-a-dia das formas mais imperceptíveis, como aquela maquininha que você passa o cartão para pagar sua conta ou no caixa eletrônico do banco que você saca dinheiro...
     Os Sistemas Operacionais atuais já possuem suporte à esse protocolo mas implementá-lo ainda é um pouco mais complicado do que parece pois dependem de alterações estruturais que tem um custo elevado e a parte mais complicada é que essas redes tem que falar com outras e se essas outras redes não tem suporte ao IPv6 deverá existir um "tradutor" entre elas.
     Existem muitas vantagens em adotar o IPv6 e para isso serão necessários profissionais preparados e capacitados, esses profissionais serão muito mais importante de que os equipamentos e as empresas, pois será a partir deles que as empresas poderão escolher os melhores equipamentos.
     Algumas pessoas acham que para mudar basta trocar o endereço IPv4 pelo endereço IPv6 e a coisa não é nem próximo a isso.
     Esse assunto é conteúdo de vários cursos, então não daria pra eu ir muito profundamente aqui.
     Respondendo a pergunta do título... É uma implementação do IPv4 transformando-o em um novo protocolo.
     A quem interessar, é hora de se atualizar nesse assunto.
     

terça-feira, 17 de maio de 2011

Como salvar um vídeo do Youtube no novo flash plugin:


Não vou reinventar a roda só pra poder assinar como criado por mim.

Eu achei esse conteúdo após pesquisar e perguntar bastante e como foi o conteúdo mais completo que consegui encontrar e não vou plagiá-lo mudando algumas palavras pra dizer que fui eu que criei. Se eu fosse escrever algo assim ficaria muito próximo a isso. Vou só adicionar alguns comentários em vermelho. 
Esse conteúdo vem do link: 

http://linux.liquuid.net/content/como-salvar-um-v%C3%ADdeo-do-youtube-no-novo-flash-plugin


Como salvar um vídeo do Youtube no novo flash plugin ?

Houve um tempo (até poucas semanas atrás), em que para salvar um vídeo FLV qualquer da web, bastava ir no diretório /tmp, e copiar o arquivo FlashFEYHS2W34F para o desktop com outro nome, ou ainda assistir o vídeo usando o mplayer enquanto o mesmo era baixado.
Mas as coisas mudaram, a Adobe, visando proteger o direito autoral da indústria, mudou o comportamento do Flash, agora ao começar o stream de vídeo ele deleta o arquivo do HD, assim ele fica inacessível para o sistema e para os outros programas, mas não para o processo que originou o stream. Ou seja, enquanto esse processo estiver rodando o sistema de arquivos não libera o espaço ocupado pelo arquivo deletado, assim ele continua disponível para o processo pai indefinidamente.
Que tal usar essa característica dos sistemas de arquivos do linux a nosso favor ?
Primeiro passo, escolha um vídeo no youtube e dê play, em seguida abra um terminal e digite:
lsof | grep deleted | grep /tmp/Flash
* Nesse caso podemos perceber que os arquivos em flash ainda são criados na pasta /tmp e com o prefixo "Flash". O comando lsof mostra os arquivos abertos no sistema, com "grep deleted" selecionamos os que possuem o status de "deletados" e com "grep /tmp/Flash" selecionamos aqueles que foram criados no diretório "/tmp/Flash"
Essa etapa pode demorar alguns minutos, dependendo do tamanho do seu sistema e da quantidade de processos rodando, e no fim ele vai te gerar uma saida semelhante a essa:
          chromium- 4103 liquuid 22w REG 8,21 20022146 394236 /tmp/FlashXXfBMa8x (deleted)
Esse comando nos mostra qual o comando e o número do processo que tem um arquivo aberto deletado cujo o nome se inicia com '/tmp/Flash'. Se você pegar o nome do arquivo '/tmp/FlashXXfBMa8x' e der um 'ls', ele não vai estar lá, por outro lado todos os processo do linux tem seus files decriptors muito bem organizados e guardados no diretório '/proc'.
Dessa forma usando o número do processo (segunda coluna) 4103, basta dar o comando:
ls -l /proc/4103/fd/ | grep '/tmp/Flash'
A saída será parecida com essa :
l-wx------ 1 liquuid liquuid 64 2011-03-26 16:31 22 -> /tmp/FlashXXfBMa8x (deleted)
Ou seja, existe um link chamado '22' linkado com o conteúdo do arquivo deletado, então basta copiar '/proc/4103/fd/22' para outro diretório, para ter sua cópia do vídeo. Não é simples, mas é uma forma.


sábado, 7 de maio de 2011

Atualizar o kernel no Debian 64

Durante minha instalação do Debian64 descrita no post Debian 64 - A nova aventura..., eu achei que ainda não havia sofrido o suficiente para um técnico experiente, então resolvi ampliar meu sofrimento compilando a versão mais recente do kernel, eu já havia feito download do novo kernel pra tentar usar os 04 GB de Ram no Debian Lenny 32bits, o que foi um fiasco total, então... "já que está dentro, relaxa e....".

     Primeiramente, a versão usada nesse caso foi a 2.6.38-5, que nesse dia era a stable.
     No Debian nem se sofre tanto no momento de se compilar um novo kernel, fiquei até com saudades do Slack. O Debian faz quase tudo automático pra você, isso me lembra um outro sistema operacional que minhas convicções religiosas não me permitem citar aqui.
     Maaasss, vamos ao que interessa:

     Passos para instalação:

  1. Instalar os pacotes que facilitam necessários a compilação: 
    • aptitude install build-essential kernel-package libncurses5-dev libqt3-mt-dev.
    • Aceite a instalação de todas as dependências
  2. Baixar a versão do kenel em www.kernel.org;
  3. Descompacte o arquivo na pasta /usr/src e crie o link com o nome "linux" para esse novo diretório:
    • tar -xjvf linux-2.6.38.5.tar.bz2 /usr/src;
    • cd /usr/src
    • ln -s linux-2.6.38.5 linux
  4. Entre nesse novo diretório:
    • cd linux
  5. Copie o arquivo de configuração de sua versão atual do kernel, claro que isso será útil se o seu sistema estiver funcionando com todos os seus hardwares e fará com que você tenha que escolher menos opções, maaassss, se você for sadomasoquista pode iniciar do zero, mas prepare-se para ler bastante e compre algumas latinhas de coca-cola e café solúvel.
    • cp ../.config .
  6. Abra o menu de configuração do kernel:
    • make menuconfig
  7. Nesse momento é que você deve definir o que será alterado no kernel para que valha a pena uma recompilação, o item principal a ser alterado, em minha opinião, é em relação à arquitetura do seu processador, já que isso faz com que o kernel utilize funções específicas do seu processador e não as genéricas, aumentando assim o desempenho de seu processador. Abra
    • escolha  Processor type and features  --->
    • escolha  Processor family --->
    • escolha a opção que que se refere ao seu processado especificamente.
  8. Em algumas versões do kernel existe algo estranho, eu não vou dizer que é um bug porque se fosse já estaria resolvido, mas é algo que eu ainda não consegui entender e, na verdade, nem tentei, é o fato de existir uma linha dentro do arquivo /usr/src/linux-xxx/Documentation/lguest/Makefile que provoca um problema na compilação, então edite o arquivo e altere a linha "all: lguest" para "all: ".
  9. Até aqui são os mesmo passos para a maioria das distros, mas nesse ponto vem a mágica do Debian, ele nos permite gerar um pacote que será instalado a partir de seu gerenciador de pacotes padrão. (Tá bom, nesse ponto eu não senti saudades do Slack )
    • make-kpkg --initrd --bzimage modules_image kernel_image kernel_headers
  10. O passo anterior faz com que seja criado um pacote debian no diretórios /usr/src, então é só sair do diretório atual e instalar o pacote criado:
    • cd ..
    • dpkg -i linux-image-2.6.38.5_2.6.38.5-10.00.Custom_amd64.deb
  11. Pronto, o novo kernel já está compilado e instalado.
  12. Nesse momento você pode tentar reiniciar o computador e se tudo funcionar corretamente, meus parabéns você atualizou seu kernel e pode usufruir dos benefícios dele, que com certeza incluirão maior rendimento devido ao fato de ele estar configurado para sua arquitetura de processador.
  13. Massss, nem tudo são louros, e se você se deparar com um belíssimo "kernel Panic" é sinal que as coisas não correram muito bem, normalmente é devido aos sistemas de arquivo que você usava e que, sabe Deus porque, não foram compilado diretamente no kernel e então você deverá usar o sistema genérico initrd.img, para isso continue os passos desse tutorial, sendo que essa parte foi totalmente implementada por mim, os passos anteriores eu consegui juntando alguns artigos na internet e consultando manuais e fazendo pequenas alterações nos arquivos originais, mas os seguintes foram bem mais complicados já que não havia nada especificamente então foram  "pescados" em pequenos pedaços de artigos e manuais.
  14. Consulte seu diretório /lib/modules e veja que lá existe um diretório com a versão dos kernel que você acabou de instalar (/lib/modules/2.6.38.5).
  15. Crie sua imagem initrd:
    • mkinitramfs -o /boot/initrd.img-2.6.38.5    2.6.38.5
  16. Atualize seu arquivo /boot/menu.lst inserindo bem abaixo das linhas referente ao novo kernel as linhas a seguir, claro que colocando a configuração conforme o seu caso, principalmente em relação ao "/dev/sda3" que deve ser a sua partição raiz.
    • kernel /vmlinuz-2.6.38.5 root=/dev/sda3 ro quiet
    • initrd /initrd.img-2.6.38.5
  17. Esse passo só precisei efetuar quando fiz a compilação em um sistema 32 bits, tive que copiar o arquivo /usr/src/linux/arch/i386/boot/bzimage para a pasta /boot.
  • cp /usr/src/linux/arch/i386/boot/bzimage   /boot
Agora é só reiniciar e você já terá seu novo kernel funcionando perfeitamente.
Claro que podem ocorrer erros, então não desinstale seu kernel antigo enquanto você não tiver plena certeza de que tudo está correndo bem, eu não desinstalo nunca.


Se você tiver algum firmware non-free (bnx2 por exemplo), instale-o antes de gerar o pacote.

Boa sorte.

Pacote Util-linux-ng

     Ao tentar usar o comando blkid em meu debian descobri que ele, em alguns casos, não está incluído nos programas básicos das distros, então encontrei o pacote onde ele se inclui e a descrição completa das ferramentas que o acompanham, não vou repetir tudo aqui, como é um site oficial vou apenas deixar o link para que qualquer um possa se informar diretamente:

          http://www.linuxfromscratch.org/lfs/view/6.5/chapter06/util-linux-ng.html

     Em breve irei detalhar alguns comandos desse pacote, mas por momento, nos basta saber que eles existem e possuem um descrição nesse link.
     Pra mais informações, instale o pacote e leia os manpages.

Debian 64 - A nova aventura...

"Comprei mais 2 Giga de Ram para "tunnar" meu Desktop, que felicidade, agora já posso abrir minhas máquinas virtuais com mais tranquilidade sem ter que fechar o montão de janela que costumo manter abertas ao mesmo tempo pois os 2 GB que já existiam estavam se esgotando rapidinho!!!!"

Ehhhhhh, eu queria realmente que as coisas fossem fáceis assim na vida de um técnico em informática. kkkk

     A única verdade no texto acima é o fato de eu ter comprado mais 2 Gigabyte de memória ram, pois do restante... claro que algo daria errado.
     Tive o trabalho de procurar com meu fornecedor de importados a memória exatamente do mesmo modelo da que já estava instalada anteriormente, as vezes memórias de modelos e fabricantes diferentes acabam por não "conversar" bem entre si e não conseguem o melhor desempenho esperado.
     Então a instalei em meu desk, e veio a surpresa... O Debian Lenny 32bits só reconheceu automaticamente 3.2 GB, uma diferença bem grande, 40% de perda do novo módulo, iniciei então minhas pesquisas a respeito do assunto e descobri que isso é um limite do linux 32bits e me parece que de outros sistemas operacionais também, mas como no linux tudo se resolve eu descobri que existe um módulo chamado PAE que pode ser adicionado ao kernel e que resolve esse problemas fazendo com que o linux possa reconhecer até de 64 GB no total, mas cada processo só pode usar até 04GB, o que faz com que ele leia então os 04 GB de forma completa e outra alternativa seria mudar minha plataforma para 64bits.
     Claro que a segunda opção seria, de longe, a mais complicada e então... adivinha qual foi a escolhida!!!!!
      A segunda, claro! rsrsrsrs
     Primeiramente baixei uma imagem de cd-rom mínima, o que no meu caso não é a melhor idéia já que meu link é de 400kbps e instalar os pacotes pela internet é bem demorado, mas por segurança sempre faço isso pois assim vou controlando mais de perto tudo que é instalado. Deixei a imagem baixando durante a noite.
      Peguei um hd novo que eu usava como backup de dados de clientes para não ficar sem poder usar o computador em caso de algo dar errado.
     No momento da instalação resolvi testar o sistema de LVM e permiti uma das opções padrões com LVM e com particionamento pré-definido onde a partição raiz ( / ) tinha apenas 100MB, esse foi meu primeiro arrependimento, não entendo muito sobre esse tal de LVM mas havia entendido que eu poderia mudar o tamanho das partições posteriormente, mas isso não deu muito certo. Logo ao instalar o google-chrome eu precisava de espaço no /opt e não tinha, tentei mudar o tamanho da raíz e foi só dor de cabeça, perdi dados, tive que bootar com live-cd que não possuía suporte a LVM e, por fim, resolvi recomeçar e reinstalei tudo mas agora sem o LVM e com meu particionamento pessoal onde deixo 50GB para a raiz, já que instalo e desinstalo um monte de coisas. Só por curiosidade, vou deixar meu particionamento nesse caso aqui:   swap=4GB, raiz=50GB, boot=4GB, home=50GB, tmp=10GB e /dados="restante do disco", não vou entrar em detalhes sobre os sistemas de arquivos agora, isso é para outra oportunidade.
     No momento da instalação escolhi os perfis "básico" e "Desktop" assim foi instalado o gnome.
   Comecei então copiando Todo o conteúdo de minha pasta home antiga para a nova, inclusive os arquivos ocultos o que trouxe também as configurações de vários aplicativos e até os dados sobre as últimas páginas abertas e históricos dos navegadores, o que no meu caso é muito importante já que mantenho um média de 15 a 20 guias abertas em meus navegadores e utilizo pelo menos 2 navegadores ao mesmo tempo. Claro que tive que fazer essa alteração como usuário root, já que eu uso o mesmo nome de usuário que usava na outra versão do Debian , e tive que mudar o dono para meu usuário, cuidado que se esquecido dá um trabalhão depois.
     A primeira coisa que fiz foi verificar a quantidade de memória reconhecida pelo sistema e .... lá estavam meus R$ 100,00, digo, meus 02 GB a mais de memória recém adquiridos. Até me senti feliz!!! E de quebra, minha placa de rede onboard (nVidia Corporation MCP77) que não funcionava antes, agora já respondia, mesmo que eu não consiga respostas corretas referente ao comando mii-tool sobre ela, mas está funcionando perfeitamente.
     Então comecei a instalação dos programas que uso no dia-a-dia:
        Navegador google-chrome, tudo funcionou direitinho;
        Office, resolvi instalar o LibreOffice, e tudo correu direitinho;
        Thunderbird, descobri que não havia uma versão do thunderbird para 64 bits, ou pelo menos que não era tão comentada, mas tudo bem eu poderia usar o icedove do próprio Debian, então deixei isso de lado e continuei a aventura.
        Mplayer, tive um pouquinho de trabalho para descobrir que no codec w32codecs o número 32 se refere a plataforma 32bits e então descobri que deveria instalar o w64codecs. E depois disso fui rodar um vídeo para testar e...  começaram os problemas, o som não funcionava de jeito algum, nem no navegador, em nada, comecei a pesquisar a respeito, reinstalei o alsa e descobri que ele não tem mais o alsaconf que é uma "mão na roda" na hora de instalar a placa de som, troquei pelo pulseaudio e nada, continuava sem som, disparei e-mail para a lista de usuários Debian e um colega (Eden) respondeu pra eu tentar instalar o pacote firmware-linux-nonfree, e assim o fiz e o som passou a funcionar instantaneamente. Então não se esqueçam de instalar esse pacote para ter seu som funcionando no Debian64.
          Thunderbird, voltei a ele, não estava muito conformado em não ter uma versão 64bits de um software tão popular e passei a pesquisar em todas as linhas possíveis e que eu conseguisse pelo menos pescar uma palavrinha que pudesse ser uma pista. E em algum lugar (não me lembro mais onde) "pesquei" uma palavra: "miramar" e o link http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/3.3a3/linux-x86_64/en-US/ então acessei o link, observando que era um link dentro do domínio mozilla.org e que assim,  teoricamente, seria seguro baisei o programa e era o próprio thunderbird 64bits e, como eu já havia copiado minhas pastas de configuração da pasta home antiga para a atual foi só abrir ele e todas minhas contas e msgs antigas já estavam disponívies. Ainda está em inglês, mas me parece que tem pacotes para passar para português, então ainda tenho que ver isso.
     Até o momento já tenho os programas básicos funcionando, como tenho que assistir aulas do curso que estou fazendo como preparação para a prova LPI e ainda tenho que colocar em dias as aulas da faculdade online, vou deixar assim por enquanto.


quarta-feira, 27 de abril de 2011

Reconhecer seu dispositivo USB automaticamente em um ponto de montagem específico

Tenho 02 Hd's e só uma case, até aí tudo bem porque pretendo utilizar só um deles por vez mesmo.
Mas o problema é que uso esses hds no servidor que tenho em minha casa e compartilho o conteúdo dos hd's na rede interna pelo samba e queria que o próprio sistema reconhecesse o hd que está conectado em determinado momento, já que não seria muito prático eu criar uma pasta, "hdexterno" por exemplo, e montar ele manualmente cada vez que eu ligasse a case e, pior, se eu conectasse um pendrive ou qualquer outro dispositivo de armazenamento usb ele irá reconhecê-lo como /dev/sdbx e isso iria para meu ponto de montagem ligado a /dev/sdb. Então resolvi fazer o seguinte:

Criei em /mnt os diretórios ("pontos de montagem") filmes e backup e os compartilhei pelo samba:

COMO FAZER:

Primeiramente entenda que cada partição possui um número único chamado UUID, para ver esse número use o comando blkid como root. Você verá os UUID de cada partição.

1:  Use o comando blkid;

2:  edite o arquivo /etc/fstab e inclua as linhas:
          UUID=1234-5FD6 /mnt/filmes vfat auto,users,suid,exec,umask=0000,iocharset=utf8 0 0
          UUID=7891-0FD1 /mnt/backup ntfs-3g auto,users,suid,exec,umask=0000,iocharset=utf8 0 0
     Onde 1234-5FD6 e 7891-0FD1 são os UUID's dos dispositivos que vc quer montar. Não vou entrar em detalhes sobre os parâmetros do fstab, pq isso é para outro post, então pesquise um pouco sobre isso.

3: Crie o arquivo /etc/udev/rules.d/01-montameuhd.rules
          vim /etc/udev/rules.d/01-montameuhd.rules
     Com esse conteúdo:
               ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="[sh]d[a-z]", RUN+="/bin/mount -a"

Pronto, sempre que você plugar o dispositivo 1234-5FD6 ele será montado em /mnt/filmes e quando você plugar o dispositivo 7891-0Fd1 ele será montado em /mnt/backup

Para outros dispositivos e pontos de montagem basta fazer as alterações no /etc/fstab, você pode adicionar várias linhas nesse arquivo e o sistema só montará quando o dispositivo quando o mesmo estiver plugado

Observação: Essa linha do udev funciona muito bem quando se usa um só comando, mas se quiser usar mais de um ou um comando que tenha execução demorada, crie um script e coloque o caminho dele na diretiva RUN.
Dica: Isso pode ser usando em scripts de backup, onde ele será executado quando você plugar o hd de backup, montando o dispositivo, executando o backup e desmontando o dispositivo.



domingo, 17 de abril de 2011

dcfldd - Um bom substituto do dd

Esse post é mais uma dica de que um artigo.
Sempre que quero clonar discos ou partições eu usava o comando "dd" nativo do linux, mas ele é pouco didático, já que não mostra andamento da cópia e a gente tem que ficar monitorando em outro terminal para ter noção de como anda a cópia e se não travou.
Para solucionar isso, achei um programa interessante:

dcfldd = "Department of Defense Computer Forensics Lab" dd

Que pode ser instalado diretamente pelo "apt-get install dcfldd" no Debian ou baixado em http://dcfldd.sourceforge.net/ e instalado conforme sua própria distro.

Ele trabalha com os mesmos parâmetros do "dd".
Mais informações, no site do próprio desenvolvedor.

Super Manual do Samba

Gosto de escrever artigos que resolvam problemas técnicos e não de "reinventar a roda", e nesse caso, acabei de achar um ótimo material livre sobre samba, então o link abaixo leva a esse material e se você olhar direitinho vai ver que lá tem muito mais do que só samba.
Então, colegas "sambistas", divirtam-se!!!

http://pt.wikibooks.org/wiki/Guia_do_Linux/Avançado/SAMBA

Bons estudos.

sexta-feira, 15 de abril de 2011

Invasão de privacidade em empresas.

     Saudações.
    Como Administrador de Redes Freelancer, todos os dias aparecem clientes corporativos que querem monitorar o que seus funcionários falam no msn e eu faço a instalação dos programas que permitem isso.

     Não vou me apegar a legislação agora, mas sim à lógica e ética.
     Numa empresa existem vários equipamentos que são de propriedade da empresa e são disponibilizados aos funcionários ou colaboradores e a empresa fiscaliza totalmente o seu uso, por exemplo:
     Uma transportadora possui um caminhão de 1 milhão de reais e instala nesse caminhão um GPS e uma câmera que filma a cabine o tempo todo e envia as imagens em tempo real diretamente para uma central na empresa. Isso é invasão de privacidade????
     Não, claro que não é, pois o motorista está ciente de que ele está sendo filmado o tempo todo e o direito à privacidade dele acaba quando começa o direito da empresa em administrar seus próprios bens e o caminhão é uma "extensão" das dependências da empresa. 
     Dessa forma, porquê o uso dos computadores da empresa não seguiria as mesmas regras?
     Algumas pessoas dizem: "Ahh, mas eu tenho meus amigos em meu msn e não quero que meu chefe saiba o que eu converso com ele!!!!"  e eu repondo "Ahhhh, então use seu msn particular em casa, pq na empresa é lugar de trabalho e não de bater papo com os amigos!!!"
     Muitas empresas até permitem que o funcionário crie logins de msn com o e-mail da própria empresa para que usem profissionalmente e nos computadores da empresa.
     Imagine, por exemplo, uma empresa jornalística que acaba de receber um furo de reportagem, daqueles que abalam a opinião pública e um dos funcionários passe essa informação para um amigo que trabalha no concorrente ou para qualquer outro interessado!!!
      O princípio básico nesse assunto segue a seguinte ética: 
     "Os funcionários devem SEMPRE, ser comunicados por escrito e assinarem um termo, que pode ser coletivo, de que estão cientes do fato de estarem sendo monitorados o tempo todo, para que futuramente não venham processar a empresa alegando "invasão de privacidade". Eu  costumo recomendar aos empresários que fixem em locais visíveis avisos sobre o monitoramento. No começo isso gera um pouco de desconforto, mas logo os funcionários se acostumam e passam a achar isso normal.
     Eu exijo que os funcionários sejam cientificados do monitoramento antes de iniciar o serviço. Chamo isso de ética e já perdi serviços por isso, mas prefiro perder uns trocados a ser desonesto.

     Premissa: Cada um tem direito a privacidade em seu ambiente privado.

     Então, colegas administradores de rede ou empresas, respeitem a privacidade de seus funcionários mas exijam que eles respeitem os bens da emprea!!!!

Ps. Peço desculpas pela forma como esse texto está elaborado, não está muito didático, mas é que o assunto é muuuito extenso e não dá pra abordar tudo aqui.