Olá, eu sou linuxdicas
Ver o meu perfil


Dezembro 2007

SMTW TFS
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Tag

Últimos comentários

Últimos artigos

Os meus links favoritos

    Divulga os conteúdos

    Juntar a MyDada

    Juntar a MyDada

    Partilha os teus conteúdos

    De.licio.us
    Tag pode

    Como enviar emails com anexos a partir da linha de comando

    by linuxdicas (09/12/2007 - 19:32)

    Como enviar emails com anexos a partir da linha de comando

    Colaboração: Rubens Queiroz de Almeida

    O programa mpack, desenvolvido na Universidade Carnegie Melon, permite que se faça o envio de mensagens eletrônicas contendo anexos.

    Existem diversas possibilidades. Um exemplo siomples:

     mpack -s "Aula 1" -d aula1.txt aula1.pdf foo@example.com.br 

    O comando abaixo irá enviar uma mensagem com o título Aula 1, o texto da mensagem será o que estiver contido no arquivo aula1.txt, e terá como anexo o arquivo aula1.pdf.

    O pacote mpack está disponível como um pacote debian e pode ser instalado com o comando

     apt-get install mpack 

     

    O código fonte pode ser obtido diretamente do site da Universidade, em http://ftp.andrew.cmu.edu/pub/mpack/


    Curso de Idiomas

    Eu gostaria de lhe convidar a conhecer o curso de inglês pela Internet (http://www.idph.net/inglesonline/inscricao.shtml) desenvolvido por mim e pelo Prof. Walther Hermann.

    Este curso está em funcionamento desde 2002 e já passaram por ele aproximadamente 500 pessoas. O curso tem duração de um ano, e contém 52 lições, uma por semana.

    Foi desenvolvido adotando uma metodologia que visa mostrar caminhos para o aprendizado, desenvolvendo as habilidades de leitura, audição e fala.

    As duas principais referências são os livros "As Palavras Mais Comuns da Língua Inglesa", de minha autoria, e o livro "Domesticando o Dragão", de autoria do Prof. Walther Hermann.

    A lista EFR é um dos componentes desta metodologia e foi criada em 1996, quando do início do projeto, e se manteve desde então, tendo hoje cerca de 14.000 assinantes.

    Para saber mais visite http://www.idph.net/inglesonline/inscricao.shtml e baixe as lições de demonstração.

    O livro "Domesticando o Dragão" pode ser encontrado em http://www.idph.com.br/conteudos/ebooks/domesticandoodragao.html e uma versão preliminar do livro "As Palavras Mais Comuns da Língua Inglesa" pode ser encontrada em http://www.idph.com.br/conteudos/ebooks/dict.pdf

    Obrigado,

    Rubens




    Fonte: http://www.dicas-l.com.br/print/20060103.html

    Vota este artigo

    Dicas vi

    by linuxdicas (09/12/2007 - 19:29)

    Dicas vi

    Colaboração: Rubens Queiroz de Almeida

    A partir de hoje e nos próximos dias estarei enviando algumas dicas sobre o uso do programa vi.

    O vi, embora odiado por muitos e amado por poucos (ninguém??), ainda é fundamental para a maioria dos administradores de sistemas Unix. E também é o único editor de textos que voce pode ter a certeza de encontrar em qualquer lugar e em qualquer condição do sistema operacional (modo monousuário, modo de recuperação e etc.).

    Então, a dica de hoje :-)

    Existem alguns caracteres dentro do vi que são identificados como caracteres de controle. Isto pode causar alguns inconvenientes, como por exemplo, se eu desejar mudar todas as ocorrências da string /home/cesar/bin/local_programs por /usr/bin/local_programs, eu teria que digitar o seguinte:

     %s//home/cesar/bin/local//usr/bin/local/g 

    Todos os caracteres "/" teriam que ser precedidos por um "" indicando que o caracter "/" neste caso não deve ser interpretado como um caracter de controle.

    É fácil se notar que quanto maior a string maior a possibilidade de erros.

    Mas uma característica do vi muito pouco conhecida é que nós podemos substituir a "/" por qualquer caracter que desejarmos. Desta forma, o exemplo acima pode ser escrito da seguinte forma:

     %s:/home/cesar/bin/local:/usr/bin/local:g ^ ^ ^ | | | 

    Neste caso o caracter "/" foi substituido pelo caracter ":" tornando desnecessário que se preceda o caracter "/" pelo caracter "". É claro que se o caracter ":" aparecesse na string a ser substituída ele teria que ser precedido por "".

     %s:/home/queiroz::/home/rubens:g ^^ 

    Adendo à dica do dia 19/03/97

    Para invocar o comando ftp, diretamente da linha de comando, no modo não interativo basta fornecer a flag "-i". Se este é o seu modo de trabalho preferido, você pode definir um alias para o comando ftp, inserindo no seu arquivo de configuração (.cshrc, para quem usa a cshell), a seguinte linha

     alias ftp "ftp -i" 

    Esta dica foi fornecida por Edierley Batista Messias (mailto:<ebm (a) japura dcc fua br>) do Departamento de Ciência da Computação da Universidade do Amazonas.




    Fonte: http://www.dicas-l.com.br/print/19970320.html

    Vota este artigo

    Mrxvt um terminal rápido e com várias opções.

    by linuxdicas (09/12/2007 - 18:47)

    Mrxvt um terminal rápido e com várias opções.

    Colaboração: Edosn A. Dezounet

    O mrxvt é um terminal com suporte a várias tabs, em cada tab é possível iniciar com um comando e um nome diferente. Você pode baixar o pacote ou compilar o código fonte de acordo com as suas preferências. Caso você opte por instalar o pacote a quantidade máxina de "tabs" que poderão ser abertas é de 10.

    Site do projeto: http://materm.sourceforge.net/

    Algumas opções:

    • Modo reverso. Terminal preto com letras brancas.
       -rv 

       

    • Para ficar com o fundo 100% transparente.
       -tr 

       

    • Para indicar a pocentagem da tranparência.
       -tr -bgfade 80% 

       

    • Coloca a barra de rolagem na direita.
       -sr 

       

    • Barra de rolagem transparênte.
       -trs 

       

    • Tamanho da fonte que será utilizada.
       -fn 9x15 

       

    • Titulo da jenela principal.
       -title "Titulo" 

       

    • Tamanho inicial do terminal.
       -g 100x60 

       

    • Você pode escolher cores para o texto e para o fundo.
    • Cor do fundo. Caso esteja habilitado a tranparência ele não terá efeito.
       -bg black 

       

    • Cor do texto.
       -fg cyan 

       

    • Cor do cursor, escolha a sua cor preferida.
       -cr red 

       

    • Número de terminais que serão abertos no inicio do Mrxvt.
       -tnum 4 

       

    • Titulo de todas as tabs abertas:
       -tt titulo 

       

    • Mudando o titulo das tabs.

       

       Selecione o texto e pressione "shift+del" 

       

    • Navegando entre as tabs.
       Shift + seta direcional para a esquerda ou direita Ctrl + "Page Up/PageDown" 

       

    • Abrindo novas tabs.
       Crtl + Shift + t 

       

    • Exemplos:
    • Mrxvt com duas tabs, cada tab com um nome diferente.
       mrxvt -tnum 2 -vt0.tt "Terminal 1" -vt1.tt "Terminal 2" 

       

    • Mrxvt com duas tabs, cada uma iniciando com um comando direfente:
       mrxvt -tnum 2 -vt0.ss "top" -vt1.ss "ssh usuario@servidor.com.br" 

       

    • Reverso, com tranparência em %, tamanho da fonte, titulo da janela, titulo igual para todas as tabs.
       mrxvt -rv -tr -bgfade 80% -sr -fn 9x15 -title "Terminal Mrxvt" -g 100x60 -cr red -tnum 4 -tt Linux 

    Você pode escolher as opções para ter um terminal totalmente perzonalizado. A linha e comando pode até ficar grande, mas o resultado vale a pena.




    Fonte: http://www.dicas-l.com.br/print/20050319.html

    Vota este artigo

    Ativando placas wireless com o Ndiswrapper

    by linuxdicas (03/12/2007 - 02:52)

    Ativando placas wireless com o Ndiswrapper

    Por Carlos E. Morimoto

    O Ndiswrapper é uma espécie de Wine para drivers de placas de rede wireless. Ele funciona como uma camada de abstração entre driver e o sistema operacional, permitindo que placas originalmente não suportadas no Linux funcionem usando os drivers do Windows.

    Em alguns casos o próprio driver para Windows XP que acompanha a placa funcionará, em outros é preciso usar alguma versão específica do driver. Você pode encontrar várias dicas sobre placas testadas por outros usuários do Ndiswrapper no:

    http://ndiswrapper.sourceforge.net/wiki/index.php/List

    Os drivers para Windows são arquivos executáveis, que servem entre intérpretes entre a placa e o sistema operacional. Eles contém o firmware da placa e outras funções necessárias para fazê-la funcionar. Cada placa é diferente, por isso os drivers de uma não funcionam na outra mas, todos os drivers conversam com o sistema operacional usando uma linguagem específica de comandos. Ou seja, do ponto de vista do sistema operacional todos os drivers são parecidos.

    O Ndiswrapper consegue executar o driver e "conversar" com ele usando esta linguagem. Ele trabalha como um intérprete, convertendo os comandos enviados pelo Kernel do Linux em comandos que o driver entende e vice-versa. O Kernel acha que está conversando com uma placa suportada, o driver acha que está rodando dentro de um sistema Windows e a placa finalmente funciona, mesmo que o fabricante não tenha se dignado a escrever um driver nativo.

    O Ndiswrapper não funciona com todas as placas e em outras alguns recursos como o WPA não funcionam, mas na maior parte dos casos ele faz um bom trabalho.

    A página do projeto é a:

    http://ndiswrapper.sourceforge.net

    Muitas distribuições já trazem o Ndiswrapper instalado por padrão, como o Kurumin e o Mandrake 10 em diante. Nestes casos você pode pular este tópico sobre a instalação e ir direto para a configuração. Procure pelo pacote "ndiswrapper" no gerenciador de pacotes.

    Instalando

    Na página você encontrará apenas um pacote com o código fonte. Como o Ndiswrapper precisa de um módulo instalado no Kernel, seria complicado para os desenvolvedores manter versões para muitos distribuições diferentes. Assim como no caso dos softmodems, para compilar o pacote você precisa ter instalados os pacotes kernel-headers e/ou kernel-source e os compiladores. A versão mais recente pode ser baixada no:

    http://sourceforge.net/projects/ndiswrapper/

    Descompacte o arquivo e acesse a pasta que será criada. Para compilar e instalar, basta rodar o comando:

     # make install 

     

    (como root)

    O Ndiswrapper é composto de basicamente dois componentes. Um módulo, o ndiswrapper.ko (ou ndiswrapper.o se você estiver usando uma distribuição com o Kernel 2.4), que vai na pasta "/lib/modules/2.x.x/misc/" e um executável, também chamado "ndiswrapper", que é usado para configurar o driver, apontar a localização do driver Windows que será usado, etc.

    Se por acaso você estiver usando uma distribuição que já vem com o Ndiswrapper instalado, você deve primeiro remover o pacote antes de instalar uma versão mais atual. Caso a localização do módulo ou do executável no pacote da distribuição seja diferente, pode acontecer de continuar sendo usado o driver antigo, mesmo depois que o novo for instalado.

    Configurando

    Depois de instalar o Ndiswrapper, o próximo passo é rodar o comando "depmod -a" (como root) para que a lista de módulos do Kernel seja atualizada e o novo módulo seja realmente instalado. Isto deve ser feito automaticamente pelo script de instalação, é apenas uma precaução.

    Antes de ativar o Ndiswrapper você deve apontar a localização do arquivo .inf dentro da pasta com os drivers para Windows para a sua placa. Em geral os drivers para Windows XP são os que funcionam melhor, seguidos pelos drivers para Windows 2000. Você pode usar os próprios drivers incluídos no CD de instalação da placa. Se eles não funcionarem, experimente baixar o driver mais atual no site do fabricante, ou pesquisar uma versão de driver testada no ndiswapper no:

    http://ndiswrapper.sourceforge.net/wiki/index.php/List

    Para carregar o arquivo do driver rode o comando "ndiswrapper -i", seguido do caminho completo para o arquivo, como em:

     # ndiswrapper -i /mnt/hda6/Driver/WinXP/GPLUS.inf 

     

    Rode agora o comando "ndiswrapper -l" para verificar se o driver foi mesmo ativado. Você verá uma lista como:

     Installed ndis drivers: gplus driver present, hardware present 

     

    Com o driver carregado, você já pode carregar o módulo com um:

     # modprobe ndiswrapper 

     

    Se tudo estiver ok, o led da placa irá acender, indicando que ela está ativa. Agora falta apenas configurar os parâmetros da rede Wireless que veremos adiante.

    Se a placa não for ativada, você ainda pode tentar uma versão diferente do driver. Neste você precisa primeiro descarregar o primeiro driver. Rode o ndiswrapper -l para ver o nome do driver e em seguida descarregue-o com o comando "ndiswrapper -e".

    No meu caso por exemplo o driver se chama "gplus" então o comando fica:

     # ndiswrapper -e gplus 

     

    Para que a configuração seja salva e o Ndiswrapper seja carregado durante o boot, você deve rodar o comando:

     # ndiswrapper -m 

     

    E em seguida adicionar a linha "ndiswrapper" no final do arquivo "/etc/modules", para que o módulo seja carregado no boot.


    Gostou da dica? Veja a agenda de cursos presenciais com Carlos E. Morimoto em Porto Alegre e São Paulo

    • Curso: Redes e Servidores Linux (com Carlos E. Morimoto) Em Porto Alegre, início dia 04/07

       

    • Curso: Programando em Shell Script (com Júlio Cezar Neves) Em Porto Alegre, início dia 11/07



    Fonte: http://www.dicas-l.com.br/print/20050624.html

    Vota este artigo

    Google e Linux

    by linuxdicas (03/12/2007 - 02:18)

    Google e Linux

    Ao final desta mensagem, vejam a divulgação do evento "Soluções Corporativas em Linux", em Joinville, Santa Catarina.

    Agora a dica de hoje:

    O melhor mecanismo de busca na Web (na minha opinião}), o Google, tem ido muito bem financeiramente. Enquanto diversas outras empresas de Internet estão encolhendo ou mesmo desaparecendo, o Google está expandindo a sua infraestrutura rapidamente, dobrando o número de seus servidores nos últimos dez meses, totalizando, em abril de 2001, 8.000 servidores.

    Em março foram registrados cerca de 11 milhões de visitantes individuais. O tempo de resposta, apesar de todo este acesso, é rapidissimo.

    Ao contrário de empresas de Internet que investiram em sistemas carissimos, o Google baseou toda a sua infraestrutura de computação em servidores com RedHat Linux. São empregados, em grande quantidade, computadores baratos, de potência pequena.

    O Google indexa hoje 1.3 bilhão de páginas, armazenadas em mais de um petabyte de espaço em disco. A maioria dos servidores possuem discos rígidos de 80GB, da empresa Maxtor. Usam uma única controladora na maior parte dos casos.

    Como se pode ver, este é um exemplo marcante de como um negócio de sucesso como o Google, pode ser implementado de forma eficiente e a um custo bem inferior ao de soluções proprietárias.

    Esta mensagem foi baseada em um artigo publicado no site da revista Techweb, e o endereço é http://www.internetwk.com/story/INW20010427S0010. Vale a pena ler o artigo na totalidade pois diversas outras considerações interessantes sobre o sistema Google são apresentadas.


    Soluções Corporativas em Linux

    A POWER estará realizando um evento que tratará sobre "Soluções Corporativas com GNU/Linux".

    Serão ministradas duas palestras super interessantes:

    Uma tratará sobre "Segurança da Informação". Esta abordará o assunto mostrando como o GNU/Linux pode ser aplicado para propiciar a segurança necessária para o ambiente corporativo e como isto pode ser viável, tanto pela questão de qualidade quanto de custo.

    A outra tratará Sobre "Alta Disponibilidade": Esta mostrará como o GNU/Linux pode ser utilizado para manter aplicações e serviços de missão crítica e que necessitem de "Alta disponibilidade".

    O evento se propõe a demostrar (na prática) algumas das soluções implementadas pela POWER com GNU/Linux, entre elas estarão a solução de "Segurança" e de "Alta Disponibilidade". Local: Parthenon Prinz Suite Hotel. Rua Otto Boehm, 525 - Centro - Joinville/SC

    Data: 13/11/2001.

    Evento Gratuito!

    Horários: Início: 08:30 am CoffeBreak 10:00 am Término 12:00 am Mairores Informações: (47) 433-7595 ou http://www.pwr.com.br/evento




    Fonte: http://www.dicas-l.com.br/print/20011106.html

    Vota este artigo

    Usando o Kismet

    by linuxdicas (02/12/2007 - 17:17)

    Usando o Kismet

    Colaboração: Carlos E. Morimoto

    O Kismet é uma ferramenta poderosa, que pode ser usado tanto para checar a segurança de sua própria rede wireless, quanto para checar a presença de outras redes próximas e assim descobrir os canais que estão mais congestionados (configurando sua rede para usar um que esteja livre) ou até mesmo invadir redes. O Kismet em sí não impõe restrições ao que você pode fazer. Assim como qualquer outra ferramenta, ele pode ser usado de forma produtiva ou destrutiva, de acordo com a índole de quem usa.

    A página do projeto é a: http://www.kismetwireless.net/.

    A principal característica do Kismet é que ele é uma ferramenta passiva. Ao ser ativado, ele coloca a placa wireless em modo de monitoramento (rfmon) e passa a escutar todos os sinais que cheguem até sua antena. Mesmo pontos de acesso configurados para não divulgar o ESSID ou com a encriptação ativa são detectados.

    Como ele não transmite pacotes, apenas escuta as transmissões, todo o processo é feito sem prejudicar as redes vizinhas e de forma praticamente indetectável. A principal limitação é que, enquanto está em modo de monitoramento, a placa não pode ser usada para outros fins. Para conectar-se a uma rede, você precisa primeiro parar a varredura.

    Esta questão da detecção dos pontos de acesso com o ESSID desativado é interessante. Não é possível detectá-los diretamente, pois eles não respondem a pacotes de broadcast (por isso eles não são detectados por programas como o Netstumbler), mas o Kismet é capaz de detectá-los quando um cliente qualquer se associa a eles, pois o ESSID da rede é transmitido de forma não encriptada durante o processo de associação do cliente.

    A partir daí, o Kismet passa a capturar todos os pacotes transmitidos. Caso a rede esteja encriptada, é possível descobrir a chave de encriptação usando o aircrack (que veremos a seguir), permitindo tanto escutar as conexões, quanto ingressar na rede.

    Como o Kismet é uma das ferramentas mais usadas pelos crackers, é sempre interessante usá-lo para verificar a segurança da sua própria rede. Tente agir como algum vizinho obstinado agiria, capturando os pacotes ao longo de alguns dias. Verifique a distância de onde consegue pegar o sinal de sua rede e quais informações consegue descobrir. Depois, procure meios de reforçar a segurança da rede e anular o ataque.

    Por ser uma ferramenta popular, ele está disponível na maioria as distribuições. Algumas, como o Knoppix (a partir da versão 3.7), já o trazem instalado por padrão.

    Nas distribuições derivadas do Debian, você pode instalá-lo via apt-get:

     # apt-get install kismet 

     

    Antes de ser usar, é preciso configurar o arquivo "/etc/kismet/kismet.conf", especificando a placa wireless e o driver usado por ela, substituindo a linha:

     source=none,none,addme 

     

    Por algo como:

     source=madwifi_ag,ath0,atheros 

     

    ... onde o "madwifi_ag" é o driver usado pela placa (que você pode verificar usando o comando lspci). Na documentação do Kismet o driver é chamado de "capture source", pois é a partir dele que o Kismet obtém os pacotes recebidos.

    o "ath0" é a interface (que você vê através do comando ifconfig) e o "atheros" é um apelido para a placa (que você escolhe), com o qual ela será identificada dentro da tela de varredura.

    Isto é necessário, pois o Kismet precisa de acesso de baixo nível ao hardware. Isto faz com que a compatibilidade esteja longe de ser perfeita. Diversas placas não funcionam em conjunto com o Kismet, com destaque para as placas que não possuem drivers nativos e precisam ser configurados através do ndiswrapper. Se você pretende usar o Kismet, o ideal é pesquisar antes de comprar a placa. Naturalmente, para que possa ser usada no Kismet, a placa precisa ter sido detectada pelo sistema, com a ativação dos módulos de Kernel necessários. Por isso, prefira sempre usar uma distribuição recente, que traga um conjunto atualizado de drivers. O Kurumin e o Kanotix estão entre os melhores neste caso, pois trazem muitos drivers que não vem pré instalados em muitas distribuições.

    Você pode ver uma lista detalhada dos drivers de placas wireless disponíveis e como instalar manualmente cada um deles no meu livro Linux Ferramentas Técnicas.

    Veja uma pequena lista dos drivers e placas suportados no Kismet 2006-04-R1:

    • acx100: O chipset ACX100 foi utilizado em placas de diversos fabricantes, entre eles a DLink, sendo depois substituído pelo ACX111. O ACX100 original é bem suportado pelo Kismet, o problema é que ele trabalha a 11 megabits, de forma que não é possível testar redes 802.11g.

       

    • admtek: O ADM8211 é um chipset de baixo custo, encontrado em muitas placas baratas. Ele é suportado no Kismet, mas possui alguns problemas. O principal é que ele envia pacotes de broadcast quando em modo monitor, fazendo com que sua varredura seja detectável em toda a área de alcance do sinal. Qualquer administrador esperto vai perceber que você está capturando pacotes.

       

    • bcm43xx: As placas com chipset Broadcom podiam até recentemente ser usadas apenas no ndiswrapper. Recentemente, surgiu um driver nativo (http://bcm43xx.berlios.de) que passou a ser suportado no Kismet. O driver vem incluído por padrão a partir do Kernel 2.6.17, mas a compatibilidade no Kismet ainda está em estágio experimental.

       

    • ipw2100, ipw2200, ipw2915 e ipw3945: Estes são os drivers para as placas Intel, encontrados nos notebooks Intel Centrino. O Kismet suporta toda a turma, mas você precisa indicar o driver correto para a sua placa entre os quatro.

    O ipw2000 é o chipset mais antigo, que opera a 11 megabits; o ipw2200 é a segunda versão, que suporta tanto o 8011.b, quanto o 802.11g; o ipw2915 é quase idêntico ao ipw2200, mas suporta também o 802.11a, enquanto o ipw3945 é uma versão atualizada, que é encontrada nos notebooks com processadores Core Solo e Core Duo.

    madwifi_a, madwifi_b, madwifi_g, madwifi_ab e madwifi_ag: Estes drivers representam diferentes modos de operação suportados pelo driver madwifi (http://sourceforge.net/projects/madwifi/), usado nas placas com chipset Atheros. Suportam tanto o driver madwifi antigo, quanto o madwifi-ng.

    Usando os drivers madwifi_a, madwifi_b ou madwifi_g, a placa captura pacotes apenas dentro do padrão selecionado (o madwifi_a captura apenas pacotes de redes 802.11a, e assim por diante). O madwifi_g é o mais usado, pois captura simultaneamente os pacotes de redes 802.11b e 802.11g. O madwifi_ag, por sua vez, chaveia entre os modos "a" e "g", permitido capturar pacotes de redes que operam em qualquer um dos três padrões, mas num ritmo mais lento, devido ao chaveamento.

    rt2400 e rt2500: Estes dois drivers dão suporte às placas com chipset Ralink, outro exemplo de chipset de baixo custo que está se tornando bastante comum. Apesar de não serem exatamente "placas de alta qualidade", as Ralink possuem um bom suporte no Linux, graças em parte aos esforços do próprio fabricante, que abriu as especificações e fornece placas de teste para os desenvolvedores. Isto contrasta com a atitude hostil de alguns fabricantes, como a Broadcom e a Texas (que fabrica os chipsets ACX).

    rt8180: Este é o driver que oferece suporte às placas Realtek 8180. Muita gente usa estas placas em conjunto com o ndiswrapper, mas elas possuem um driver nativo, disponível no http://rtl8180-sa2400.sourceforge.net/. Naturalmente, o Kismet só funciona caso seja usado o driver nativo.

    prism54g: Este driver dá suporte às placas com o chipset Prism54, encontradas tanto em versão PCI ou PCMCIA, quanto em versão USB. Estas placas são caras e por isso relativamente incomuns no Brasil, mas são muito procuradas entre os grupos que fazem wardriving, pois as placas PCMCIA são geralmente de boa qualidade e quase sempre possuem conectores para antenas externas, um pré-requisito para usar uma antena de alto ganho e assim conseguir detectar redes distantes.

    orinoco: Os drivers para as placas com chipset Orinoco (como as antigas Orinoco Gold e Orinoco Silver) precisam de um conjunto de patches para funcionar em conjunto com o Kismet, por isso acabam não sendo placas recomendáveis. Você pode ver detalhes sobre a instalação dos patches no http://www.kismetwireless.net/HOWTO-26_Orinoco_Rfmon.txt.

    Depois de definir o driver, a interface e o nome no "/etc/kismet/kismet.conf", você pode abrir o Kismet chamando-o como root:

     # kismet 

     

    Inicialmente, o Kismet mostra as redes sem uma ordem definida, atualizando a lista conforma vai descobrindo novas informações. Pressione a tecla "s" para abrir o menu de organização, onde você pode definir a forma como a lista é organizada, de acordo com a qualidade do canal, volume de dados capturados, nome, etc. Uma opção comum (dentro do menu sort) é a "c", que organiza a lista baseado no canal usado por cada rede.

    Por padrão, o Kismet chaveia entre todos os canais, tentando detectar todas as redes disponíveis. Neste modo, ele captura apenas uma pequena parte do tráfego de cada rede, assim como você só assiste parte de cada programa ao ficar zapiando entre vários canais da TV.

    Selecione a rede que quer testar usando as setas e pressione "shift + L" (L maiúsculo) para travá-lo no canal da rede especificada. A partir daí ele passa a concentrar a atenção numa única rede, capturando todos os pacotes transmitidos:

    Você pode também ver informações detalhadas sobre cada rede selecionando-a na lista e pressionando enter. Pressione "q" para sair do menu de detalhes e voltar à tela principal.

    Outro recurso interessante é que o Kismet avisa sobre "clientes suspeitos", micros que enviam pacotes de conexão para os pontos de acesso, mas nunca se conectam a nenhuma rede, indício de que provavelmente são pessoas fazendo wardriving ou tentando invadir redes. Este é o comportamento de programas como o Netstumbler (do Windows). Micros rodando o Kismet não disparam este alerta, pois fazem o scan de forma passiva:

     ALERT: Suspicious client 00:12:F0:99:71:D1 - probing networks but never participating. 

     

    O Kismet gera um dump contendo todos os pacotes capturados, que vai por padrão para a pasta "/var/log/kismet/". A idéia é que você possa examinar o tráfego capturado posteriormente usando o Ethereal. O problema é que, ao sniffar uma rede movimentada, o dump pode se transformar rapidamente num arquivo com vários GB, exibindo que você reserve bastante espaço no HD.

    Um dos maiores perigos numa rede wireless é que qualquer pessoa pode capturar o tráfego da sua rede e depois examiná-lo calmamente em busca de senhas e outros dados confidenciais transmitidos de forma não encriptada. O uso do WEP ou outro sistema de encriptação minimiza este risco, pois antes de chegar aos dados, é necessário quebrar a encriptação.

    Evite usar chaves WEP de 64 bits, pois ele pode ser quebrado via força bruta caso seja possível capturar uma quantidade razoável de pacotes da rede. As chaves de 128 bits são um pouco mais seguras, embora também estejam longe de ser inquebráveis. Em termos se segurança, o WPA está à frente, mas usá-lo traz problemas de compatibilidade com algumas placas e drivers.

    Sempre que possível, use o SSH, SSL ou outro sistema de encriptação na hora de acessar outras máquinas da rede ou baixar seus e-mails.

    No Guia "Acesso Remoto: SSH, FreeNX e VNC", vemos como é é possível criar um túnel seguro entre seu micro e o gateway da rede, usando o SSH, permitindo assim encriptar todo o tráfego. Ele está disponível no:


    Gostou da dica? Venha fazer um curso com o autor:

    Curso: Redes e servidores Linux

    Com Carlos E. Morimoto

    Em São Paulo, de 29/05 a 03/06 (intensivo, com aulas à tarde)

    Este é um curso sobre a configuração de servidores Linux. Nele você aprende a configurar cada serviço diretamente nos arquivos de configuração ou utilizando ferramentas genéricas, sem se prender a uma única distribuição. Os exemplos dados durante o curso usam como base o Debian e Fedora, com dicas de peculiaridades do Mandriva, Slackware, Kurumin e Ubuntu.

    Este é um curso intensivo, onde você passa menos tempo vendo teoria e opções pouco usadas e mais tempo aprendendo a resolver problemas do dia a dia. O formato das aulas permite que sejam abordados uma grande quantidade de temas numa única semana, oferecendo uma visão global dos recursos disponíveis e onde eles podem ser aplicados. Ao invés de fazer um curso sobre o Squid, outro sobre o Samba, outro sobre o Apache, etc., você aprende muitas coisas de uma única vez, economizando tempo e dinheiro.

    Nesta turma do dia 29/05, combinou do curso de redes e o curso para iniciantes serem ministrados na mesma semana: o curso para iniciantes de segunda a sexta, das 8:00 às 11:00, e o curso de redes das 12:30 às 18:00. Fazendo o curso de redes, você tem acesso também às aulas para iniciantes e pode fazer os dois cursos simultaneamente (pagando apenas um), e assim aproveitar para tirar todas as dúvidas.

    Veja mais detalhes sobre a programação de cursos, temas abordados, preços e formas de pagamento no:

    http://guiadohardware.net/cursos/

    Todas as aulas do curso de redes são ministradas pelo próprio Carlos Morimoto, o que garante o nível do curso. Nada de aulas inaugurais e mutretas do gênero :)




    Fonte: http://www.dicas-l.com.br/print/20060509.html

    Vota este artigo

    Privacidade no SSH

    by linuxdicas (02/12/2007 - 15:46)

    Privacidade no SSH

    Colaboração: Fabiano Caixeta Duarte

    O ssh é um protocolo seguro para comunicações entre diferentes estações utilizado amplamente para obtenção de console textual remota e para tunelar (túneis criptografados) vários tipos de conexão.

    Em 'Como melhorar a segurança no ssh' podemos ver algumas maneiras de melhorar a segurança no uso deste protocolo.

    Por outro lado, há que se falar em um outro aspecto pertinente à segurança: a privacidade.

    Ao utilizar aplicativos clientes do ssh (ssh, sftp, scp, etc), é armazenado em um arquivo do usuário um par de informações nome/ip e chave pública do servidor ssh acessado. Este arquivo é chamado ~/.ssh/known_hosts, ou seja, reside no diretório HOME do usuário.

    Por default, o nome do host (ou seu endereço IP) é armazenado em texto plano, o que caracteriza a possibilidade de quebra de privacidade. Para melhor compreensão, imagine o seguinte contexto:

    Um atacante está fazendo um target harvesting, ou seja, uma busca por alvos válidos para ataque de força bruta. Ao invés de atacar aleatóriamente um conjunto de hosts que podem não existir ou não possuir servidor ssh, faz muito mais sentido colher hosts que tenham servidores ssh.

    Suponhamos que este atacante conseguiu invadir uma determinada máquina e obteve acesso root. A partir de uma varredura em todos os arquivos known_hosts dos usuários, o atacante conhecerá hosts válidos, tanto na mesma rede como em qualquer outra. Assim, ele poderá direcionar o ataque para estes hosts.

    A solução

    A partir da versão 4.1 do OpenSSH é possível armazenar um hash do nome de host ao invés de texto plano para garantir privacidade. Para tal, basta setar no arquivo de configuração do cliente ssh, geralmente localizado em /etc/ssh/ssh_config a opção HashKnownHosts da seguinte maneira:

     HashKnownHosts yes 

     

    Naturalmente este procedimento deve ser feito pelo administrador do sistema. Não é necessário reiniciar o serviço, uma vez que esta alteração afeta apenas o funcionamento dos programas clientes de ssh.

    A partir de então, todas as entradas que forem inseridas pelo ssh no arquivo known_hosts conterão o hash do nome/IP do host. As entradas pre-existentes permanecerão em texto plano. Para sanar este 'problema' pode-se converter as entradas a partir do seguinte comando:

     $ ssh-keygen -H 

     

    Cada usuário deve realizar este procedimento. Naturalmente, por meio de algum script específico, o usuário root pode automatizar a rotina para todos os usuários.

    Efeito colateral

    Existem alguns raros casos em que você pode precisar excluir uma entrada específica no arquivo known_hosts. Exemplo: o servidor em que você costuma se autenticar foi formatado. Na primeira execução do serviço ssh, é definida uma nova chave. Por default, o cliente ssh vai reclamar da diferença entre a chave pré-existente e a atual. Isto ocorre para alertar você que talvez você esteja se conectando a algum outro host como parte de um ataque de IP/DNS spoofing.

    Como não é o caso, você vai precisar excluir a entrada antiga. Mas como fazer se você não tem o hostname em texto plano? Isto pode ser feito de forma muito fácil utilizando novamente o utilitário ssh-keygen da seguinte maneira:

     $ ssh-keygen -R <hostname> 

     

    Onde hostname é o nome do servidor ssh cuja entrada você quer remover.

    Conclusão

    A preocupação com segurança é algo quase paranóico. Infelizmente não pode ser diferente, uma vez que os crackers não descansam. Assim, mesmo se tratando de um protocolo/programas voltados à criação de um ambiente seguro, o ssh - servidor e cliente -, precisa estar bem configurado para evitar outros problemas de segurança.

    Referências




    Fonte: http://www.dicas-l.com.br/print/20060619.html

    Vota este artigo

    Configurando o Lilo e o Grub

    by linuxdicas (02/12/2007 - 15:43)

    Configurando o Lilo e o Grub

    Por Carlos E. Morimoto

    O lilo e o grub disputam o posto de gerenciador de boot default entre as distribuições Linux. O lilo é o mais antigo e mais simples de configurar, enquanto o grub é o que oferece mais opções. Mas, ao invés de ficar discutindo qual é melhor, vamos aprender logo a configurar e resolver problemas nos dois :-)

    O lilo utiliza um único arquivo de configuração, o /etc/lilo.conf. Ao fazer qualquer alteração neste arquivo é preciso chamar o executável do lilo, o "/sbin/lilo" ou simplesmente "lilo" para que ele leia o arquivo e salve as alterações.

    Aqui vai um exemplo comentado do arquivo de configuração do lilo, que você pode usar como modelo:

     # A opção abaixo (quase sempre a primeira linha do arquivo) indica aonde o lilo # será instalado. Indicando um dispositivo, como em "/dev/hda" ele é instalado # na MBR do HD. Indicando uma partição, como em "/dev/hda1" ele é instalado # no primeiro setor da partição. Fazendo isso o sistema não inicializará diretamente, # você precisará configurar o gerenciador de boot de outro sistema instalado # para carregar o atual. boot=/dev/hda # (caso você use um HD Serial ATA, e o lilo não esteja sendo instalado corretamente, # experimente mudar esta opção de "/dev/hda" para "/dev/sda", a forma como eles # são detectados nas versões recentes do Kernel 2.6 # Esta opção ativa o uso de uma imagem como fundo no menu de boot do lilo. # Este recurso é opcional: bitmap = /boot/kurumin.bmp bmp-colors = 255,9,;9,255, bmp-table = 61,15,1,12 bmp-timer = 73,29,255,9 # RESOLUÇÃO do VÍDEO # Aqui vai o código que determina a resolução do vídeo, em modo texto (usando frame- # buffer) e também no modo gráfico, caso seja usado o driver de vídeo "fb" no arquivo # de configuração do X. # O default na maioria das distribuições é "vga=788", que faz o sistema usar resolução # de 800x600, que é compatível com quase todas as placas de vídeo. # Se você quer usar resolução de 1024x768, mude a opção para: vga=791 # Se você quer usar resolução de 640x480, mude a opção para: vga=785 # Se a sua placa de vídeo não suporta frame-buffer e você quer de volta a velha tela de # texto padrão, mude a opção para: vga=normal # OBS: Se você tem uma placa GeForce 4 ou GeForce 4 MX, deixe esta opção em "788", # pois elas não suportam frame-buffer a 1024x768. vga=788 # Esta linha indica qual será o sistema operacional default, caso você tenha dois ou mais # instalados em dual-boot: prompt default=Kurumin # Tempo de espera antes de entrar no sistema padrão, em décimos de segundo (o # padrão é 10 segundos). O valor máximo é 30000 (3.000 segundos), não use um #número maior que isto, ou o lilo acusará o erro e não será gravado corretamente: timeout=100 # Aqui vão os parâmetros do Kernel. Se você usa deseja desativar o suporte a apci, # para solucionar problemas, por exemplo, adicione a opção "acpi=off" append = "splash=silent apm=power-off nomce quiet devfs=mount" # As linhas abaixo indicam a localização do executável principal do Kernel e do arquivo # initrd, caso seja usado um. Esta é a seção que é duplicada ao instalar um segundo # Kernel image=/boot/vmlinuz-2.6.8.1-kanotix-10 label=Kurumin root=/dev/hda1 read-only 

     

    Isso pode ser solucionado facilmente, editando o "/etc/lilo.conf" do Mandrake, para que ele seja reinstalado na partição e adicionando as duas linhas que chamam outros sistemas no lilo do Kurumin.

    Você pode editar o lilo do Mandrake e regravá-lo rapidamente através do próprio Kurumin (ou outra distribuição instalada), ou dando boot com um CD do Kurumin ou Knoppix.

    Dê boot pelo CD e abra um terminal. Defina a senha de root usando o comando "sudo passwd". Agora vire root usando o comando "su" seguido da senha escolhida.

    Monte a partição onde o Mandrake está instalado:

     # mount -t reiserfs /dev/hda1 /mnt/hda1 

     

    Agora usamos o comando chroot para "entrar" dentro da partição montada, a fim de editar o lilo.conf e gravar o lilo. Todos os comandos dados dentro do chroot são na verdade executados no sistema que está instalado na partição.

    É preciso Indicar o sistema de arquivos em que a partição está formatada no comando acima, caso contrário o chroot vai dar um erro de permissão.

     # chroot /dev/hda1 

     

    Agora use um editor de texto em modo texto, como o mcedit ou o joe para alterar o arquivo "/etc/lilo.conf" e chame o executável do lilo para salvar as alterações. Depois de terminar, pressione Ctrl+D para sair do chroot.

     # mcedit /etc/lilo.conf # lilo 

     

    Configurando o grub

    Muitas distribuições permitem que você escolha entre usar o lilo ou o grub durante a instalação. Outras simplesmente usam um dos dois por padrão. De uma forma geral, o grub oferece mais opções que o lilo e inclui um utilitário, o update-grub que gera um arquivo de configuração básico automaticamente. Por outro lado, a sintaxe do arquivo de configuração do grub é mais complexa o que o torna bem mais difícil de editar manualmente que o do lilo. O grub inclui ainda um prompt de comando, novamente nenhum exemplo de amigabilidade.

    De resto, os dois possuem a mesma e essencial função. Sem o gerenciador de boot o sistema simplesmente não inicializa. :-)

    O grub usa o arquivo de configuração "/boot/grub/menu.lst". Este arquivo é lido a cada boot, por isso não é necessário reinstalar o grub ao fazer alterações, como no caso do lilo.

    Para entender melhor como o grub funciona, vamos ver como instalá-lo no Kurumin, substituindo o lilo que é usado por padrão.

    Em primeiro lugar, você precisa instalar o pacote do grub via apt-get. Ele não possui dependências externas, inclui apenas os executáveis principais. Você pode até mesmo arriscar compilar a versão mais recente, baixada no site do projeto.

     # apt-get install grub 

     

    Depois de instalar, crie a pasta "/boot/grub/" e use o "update-grub" para gerar o arquivo "menu.lst". Basta responder "y" na pergunta e o arquivo é gerado automaticamente:

     # mkdir /boot/grub # update-grub Testing for an existing GRUB menu.list file... Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N) y Searching for splash image... none found, skipping... Found kernel: /boot/vmlinuz-2.6.8.1-kanotix-10 Found kernel: /boot/memtest86.bin Updating /boot/grub/menu.lst ... done 

     

    Agora só falta instalar o grub na MBR usando o comando:

     # grub-install /dev/hda 

     

    Ao gravar o grub, ele naturalmente substitui o lilo ou qualquer outro gerenciador de boot que esteja sendo usado.

    Se você mudar de idéia mais tarde e quiser regravar o lilo, subscrevendo o grub, basta chamá-lo novamente:

     # lilo 

     

    Assim como no caso do lilo, o arquivo de configuração do grub inclui uma seção separada para cada sistema que aparece no menu de boot. O update-grub não é muito eficiente em detectar outros sistemas instalados, por isso depois de gerar o arquivo você ainda precisará adicionar as linhas referentes a eles no final do arquivo "/boot/grub/menu.lst".

    Para que o grub inicialize uma cópia do Windows, instalada na primeira partição, /dev/hda1, adicione as linhas:

     title Windows rootnoverify (hd0,0) chainloader +1 

     

    Elas equivalem à opção "other=/dev/hda1" que seria usada no arquivo do lilo. A linha "title" contém apenas a legenda que é mostrada no menu de boot. O que interessa mesmo é a linha rootnoverify (hd0,0), que indica o HD e a partição onde o outro sistema está instalado. O primeiro número indica o HD e o segundo a partição dentro deste. Na nomenclatura adotada pelo grub temos:

     /dev/hda = 0 /dev/hdb = 1 /dev/hdc = 2 /dev/hdd = 3 

     

    As partições dentro de cada HD são também nomeadas a partir do zero:

     /dev/hda1 = 0,0 /dev/hda2 = 0,1 /dev/hda3 = 0,2 /dev/hda4 = 0,3 /dev/hda5 = 0,4 /dev/hda6 = 0,5 

    etc...

    Se você quisesse que o grub iniciasse também uma instalação do Mandrake no /dev/hda3, cujo lilo (ou grub) foi instalado na partição, adicionaria as linhas:

     title Mandrake rootnoverify (hd0,2) chainloader +1 

     

    A linha "chainloader +1" especifica que o grub vai apenas chamar o gerenciador de boot instalado na partição e deixar que ele carregue o outro sistema, assim como fizemos ao editar o arquivo do lilo.

    Você pode usar o grub para carregar diretamente o outro sistema, sem precisar passar pelo outro gerenciador de boot. Neste caso você usaria as linhas:

     title Mandrake root (hd0,2) kernel /boot/vmlinuz-2.6.8 root=/dev/hda3 ro savedefault boot 

     

    Veja que neste caso você precisa especificar a localização do executável do Kernel dentro da partição. Você pode especificar também opções para o Kernel e usar um arquivo initrd, caso necessário, como neste segundo exemplo:

     title Mandrake root (hd0,2) kernel /boot/vmlinuz-2.6.8 root=/dev/hda3 ro vga=791 acpi=off splash=verbose initrd /boot/initrd.gz savedefault boot 

     

    Assim como no caso do lilo, você pode usar um CD do Kurumin ou Knoppix para reinstalar o grub, caso ele seja subscrito por uma instalação do Windows ou outra distribuição Linux.

    Neste caso, depois de dar boot pelo CD, você só precisa montar a partição onde o sistema está instalado, como em:

     # mount -t reiserfs /dev/hda2 /mnt/hda2 

     

    E usar o chroot para obter o prompt de comando do sistema que está recuperando:

     # chroot /mnt/hda2 

     

    No prompt, você precisa apenas editar o arquivo "/boot/grub/menu.lst", ou gerá-lo novamente usando o comando "update-grub" e reinstalar o grub, usando o comando:

     # grub-install /dev/hda 

    Gostou da dica? Veja a agenda de cursos presenciais com Carlos E. Morimoto em Porto Alegre e São Paulo

    • Curso: Redes e Servidores Linux (com Carlos E. Morimoto) Em Porto Alegre, início dia 04/07
    • Curso: Programando em Shell Script (com Júlio Cezar Neves) Em Porto Alegre, início dia 11/07



    Fonte: http://www.dicas-l.com.br/print/20050626.html

    Vota este artigo

    Configuração honeyd

    by linuxdicas (01/12/2007 - 20:33)

    Configuração honeyd

    Colaboração: Pedro Augusto

    No artigo "Introdução aos honeypots" (disponível aqui: http://www.pedroaugusto.eti.br/?q=node/7), expliquei uma boa quantidade de teoria em relação aos honeypots (como aplicação, tipos, história...) porém sem focar em qualquer ferramenta para implementação do honeypot. Aqui, irei focar na implantação de um honeypot utilizando OpenBSD e HoneyD. Vamos criar alguns hosts Windows e Linux.

    1. O Honeyd

    O Honeyd é um daemon desenvolvido por Niels Provos para ser utilizado tanto em Windows quanto *nix.

    Ele funciona criando "hosts virtuais" os quais podem ser configurados para emular vários serviços diferentes como e-mail, SSH, Telnet, DNS, backdoors como o MyDoom, etc. Além de emular serviços, o Honeyd também pode enganar scanners de rede fingindo ser outro sistema operacional. Por exemplo, você consegue emular um roteador Cisco, um Windows XP, Windows 2000, Windows Server 2003, Cisco IOS, OS/400, entre vários outros. Ele consegue isso utilizando o banco de dados de fingerprints do NMap (http://www.insecure.org/nmap). Para que você possa emular vários sistemas operacionais com maior veracidade, o Honeyd também permite que você utilize vários endereços IP e associe cada "host virtual" com um endereço IP diferente.

    A melhor característica do Honeyd é ser software livre licensiado sob a GPL, ou seja, use à vontade para qualquer finalidade. Ele também é utilizado bastante pelo Honeynet.BR Project (entidade brasileira de pesquisa de honeypots).

    Se você quiser conhecer mais sobre o projeto, visite o website oficial http://www.honeyd.org. Aproveite e dê uma ajuda ao desenvolvedor!

    2. Instalação do Honeyd

    A instalação do Honeyd é bem simples. Se você estiver usando algum BSD, utilize o ports para instalar e poupe um pouco de tempo não precisando resolver as dependências na mão.

    Se você vai compilar o Honeyd, o procedimento também não é muito complicado, mas é um pouco demorado. Faça o seguinte:

    3. Configuração

    O ambiente que eu usei para fazer a configuração do meu honeypot foi usando um OpenBSD com o Honeyd instalado através dos ports, assim a localização dos arquivos mostrada aqui é a localização padrão no OpenBSD. Se você estiver usando algum outro sistema, utilize o find ou o locate para procurar pelo nome dos diretórios mostrados aqui.

    O arquivo de configuração principal é o /etc/honeyd.conf. Nele você irá definir as máquinas que serão emuladas, quais serão os IP's, os serviços, etc. O arquivo nmap.prints tem os fingerprints de todos os sistemas operacionais que podem ser emulados pelo Honeyd (sempre mantenha esse arquivo atualizado com a última versão disponibilizada pelo time do NMap para garantir que seu honeypot continuará enganando o NMap e outros scanners). No OpenBSD, o nmap.prints fica localizado em /usr/local/share/honeyd/nmap.prints. O Honeyd usa scripts (Perl e Shell script) para emular os serviços que você quer no seu honeypot. Esses scripts ficam localizados em /usr/local/share/honeyd/scripts. Você também pode desenvolver ou baixar esses scripts de outros sites na Internet, um exemplo é o site http://www.honeyd.org/contrib.php. Existem também várias ferramentas muito úteis para o Honeyd, como essas: http://www.honeyd.org/tools.php.

    Agora que você já tem um conhecimento básico para "se virar" utilizando o Honeyd, vamos partir para a configuração.

    Aqui, vou te mostrar como criar uma máquina Windows XP Professional SP1 e um Linux 2.4.16. Com essas máquinas você já vai conseguir capturar coisas interessantes.

    Abra o arquivo /etc/honeyd.conf para criarmos os hosts. Ele já vem com alguns modelos de host, comente todas as linhas desses exemplos mas não comente o profile "default".

    Vamos criar uma máquina Windows XP Professional SP1 que estará infectada com o backdoor MyDoom. Para isso, adicione as linhas abaixo no seu honeyd.conf:

     create windowsxp-mydoom set windowsxp-mydoom personality "Microsoft Windows XP Professional SP1" set windowsxp-mydoom uptime 2314219 set windowsxp-mydoom default tcp action reset set windowsxp-mydoom default udp action reset set windowsxp-mydoom default icmp action open set windowsxp-mydoom uid 32767 gid 32767 add windowsxp-mydoom tcp port 1080 "perl scripts/mydoom.pl -l /root/logs-honeypot/mydoom/mydoom.log" add windowsxp-mydoom tcp port 3127 "perl scripts/mydoom.pl -l /root/logs-honeypot/mydoom/mydoom.log" add windowsxp-mydoom tcp port 3128 "perl scripts/mydoom.pl -l /root/logs-honeypot/mydoom/mydoom.log" add windowsxp-mydoom tcp port 10080 "perl scripts/mydoom.pl -l /root/logs-honeypot/mydoom/mydoom.log" bind 192.168.0.1 

    Pronto, a máquina já está criada e associada ao IP 192.168.0.1. Segue uma explicação dos parâmetros:

    • create windowsxp-mydoom: define que criaremos o host windowsxp-mydoom
    • set windowsxp-mydoom personality "Microsoft Windows XP Professional SP1": define a personalidade a ser usada para esse host
    • set windowsxp-mydoom uptime 2314219: define qual vai ser o uptime da máquina
    • set windowsxp-mydoom default tcp action reset & set windowsxp-mydoom default udp action reset & set windowsxp-mydoom default icmp action open: definem a ação padrão das portas TCP, UDP e ICMP.
    • set windowsxp-mydoom uid 32767 gid 32767: define qual será o UID e o GID a ser usado para esse script
    • add windowsxp-mydoom tcp port 1080 "scripts/mydoom.pl -l /root/logs-honeypot/mydoom/mydoom.log": é aqui que definimos que o Honeyd deverá simular o MyDoom na porta 1080 (o mesmo acontece nas outras 3 linhas). 1080 é a porta que vai escutar por tráfego, "scripts/mydoom.pl..." define que script ficará sendo executado naquela porta. No caso desse script (mydoom.pl), é interessante que se defina o log que ele vai gerar com o tráfego que recebe. Para isso utilizamos a opção -l e o caminho para o log (o caminho obviamente já deve existir).
    • bind 192.168.0.1: define que esta máquina atenderá as requisições de IP que forem destinadas a 192.168.0.1

    Como você pode ver, é extremamente fácil definir os hosts no Honeyd. Como outro exeplo, vou criar um servidor de email Linux utilizando kernel 2.4:

     create linux set linux personality "Linux 2.4.16 - 2.4.18" set linux default tcp action reset set linux default udp action reset set linux uptime 3284460 add linux tcp port 110 "sh scripts/pop3.sh" add linux tcp port 25 "sh scripts/smtp.sh" add linux tcp port 22 "sh scripts/test.sh $ipsrc $dport" bind 192.168.0.2 linux 

    No geral, esta configuração é muito parecida com a máquina Windows. O que difere bastante são os scripts utilizados para emular serviços:

    • pop3.sh: emula um serviço POP3 na porta 110
    • smtp.sh: emula um serviço de SMTP na porta 25
    • teste.sh $ipsrc $dport: emula o SSH, logando o IP de origem (de quem se conectou ao script) e em qual porta.

    Para qualquer outra máquina que você quiser criar, é só seguir essa mesma lógica que demonstrei nos exemplos. Só preste bastante atenção para não configurar por engano o IIS numa máquina Linux, isso faria o atacante desconfiar (faria qualquer um desconfiar :)). Para você verificar quais sistemas operacionais você vai poder emular usando o Honeyd, é só executar o seguinte comando:

     # grep "^Fingerprint" nmap.prints | less 

     

    A lista é bem grande, por isso fica melhor para você escolher se redirecionar a saída desse comando para um arquivo.

    4. Configurando o firewall

    A configuração do firewall no honeypot é importante pois se você não configurar sua máquina para aceitar conexões para os IP's que definiu para os hosts virtuais (lembre-se que esses endereços devem ser reais na sua rede e não podem ser usados por nenhuma outra máquina), seu Honeyd não funcionará.

    Garantir a segurança do honeypot é muito importante, por isso preste bastante atenção no que está fazendo aqui.

    5. Inicializando o Honeyd

    Antes de inicializar o Honeyd e partir para a ação, tenha certeza de que você vai ter algum tráfego sendo redirecionado para o seu honeypot. Para fazer isso, você pode usar o arpd para o seu honeypot responder pelos endereços desocupados da sua rede (o que pode fazer um servidor DHCP travar). Do modo que mostrei na configuração acima, só será logado o tráfego que realmente for direcionado para o honeypot.

    Para você utilizar o ARPd, você só precisa especificar a rede que ele vai ouvir. Quando ele ouvir alguma requisição ARP passando pela rede, ele irá checar se alguém tem o IP, se ninguém tiver, ele responderá como se fosse o IP requisitado. Para iniciar o ARPd:

     # arpd < rede a ser monitorada > 

     

    Por exemplo,

     # arpd 192.168.0.0/24 

     

    Quando você usa o ARPd, o profile de host que irá responder é o "default" (lembre-se, para usar o ARPd você não pode usar a cláusula "bind" para o host que você criar no honeyd.conf). Esse profile já vem criado no honeyd.conf quando você instala o Honeyd. Se você criar outras profiles e definir um IP para elas utilizando a cláusula "bind" no honeyd.conf, o Honeyd irá responder com o profile default para todos os IP's da rede menos para o IP que você configurou para o host utilizando o "bind". Simples não?

    Com tudo o que foi explicado e resolvido, podemos iniciar o Honeyd:

     # honeyd -p nmap.prints -f /etc/honeyd.conf 192.168.0.0/24 

     

    Assim, os seus hosts virtuais que têm IP definido, responderão normalmente e o profile default que não tem um IP definido, responderá por todos os endereços que não são utilizados na sua rede.

    6. Ferramentas complementares

    O Honeyd tem algumas ferramentas complementares que aumentam a funcionalidade dele. Um bom exemplo desse tipo de ferramenta é o Honeydsum.

    Ele é um analisador de Logs desenvolvido pelo time brasileiro da Honeynet-Alliance. Com ele você pode filtrar os logs do Honeyd procurando por endereços IP, portas, protocolos ou redes além de poder relacionar os eventos logados em vários honeypots diferentes. Veja mais aqui: http://www.honeynet.org.br/tools/.

    O Honeycomb também é outra ferramenta extremamente útil. Com ela você consegue gerar assinaturas para software de detecção de intrusão como o Snort. É especialmente útil para criar assinaturas de worms. Foi este software que criou as assinaturas para o Slammer e Code Red. Você pode encontrá-lo neste link http://www.cl.cam.ac.uk/~cpk25/honeycomb/.

    Dois sites com ferramentas para o Honeyd são http://www.honeyd.org/tools.php e http://www.honeynet.org.br/tools/. Com certeza você encontrará mais ferramentas em outros sites da Internet, é só procurar no Google.

    7. Conclusão

    O Honeyd não é uma ferramenta complexa, mas deve ser implantada na rede da forma correta para que consiga ajudar de forma efetiva o administrador a monitorar tráfego malicioso e tomar providências. Claro que o Honeyd sozinho não vai ser de grande ajuda. Você precisa utilizar outras ferramentas para complementar o trabalho dele. Um exemplo é o Snort, um detector de intrusos. Utilizando os 2 em conjunto, você irá ter uma solução para monitoramento de tráfego extremamente eficiente sem gastar quase nada.

    Se você tiver alguma sugestão ou dúvida em relação a este artigo, mande um email para <pedro (a) pedroaugusto eti br>.




    Fonte: http://www.dicas-l.com.br/print/20070322.html

    Vota este artigo

    No começo havia a Microsoft. Então ela explodiu...

    by linuxdicas (30/11/2007 - 14:27)

    No começo havia a Microsoft. Então ela explodiu...

    Por Charlie Demerjian

    http://www.theinquirer.net/?article=13350

    Traduzido por: Fernanda Weiden, Marlon Dutra

    Algumas vezes, acontece uma grande mudança na indústria. Essas mudanças geralmente não são notadas até que passe um bom tempo do acontecido, olhando para trás e falando: Olha, as coisas estão diferentes do que foram.

    Nós estamos passando nesse momento pela maior de todas as mudanças da indústria de TI, e se você souber onde olhar, poderá vê-la enquanto acontece. Esta mudança toda gira em torno da Microsoft e o código aberto.

    Até pouco tempo atrás, a Microsoft dominava o mercado de computadores pessoais, do topo à base dessa cadeia alimentar. A parte inferior da base foi ocupada pela Palm, e a parte superior do topo pela Sun, IBM e outros. E o vasto meio era a Microsoft e somente a Microsoft.

    Todos que desafiaram este monopólio foram comprados, trapaceados, ou esmagados por truques sujos da competição cruel, ou em raros casos, por um produto melhor. A lista de fracassados consumiria mais colunas do que uma pessoa seria capaz de ler em um ano.

    Netscape, Stac, Worldperfect, Novell, e outros dentre as baixas mais notáveis. Aqueles que tecnicamente sobreviveram são fantasmas do que foram.

    Foi só a imprensa divulgar a inabilidade de qualquer pessoa para desafiar demônio de Redmond, que ele está perdendo o controle. Como qualquer companhia a beira de uma gigantesca perda de mercado, a Microsoft está agindo conforme o esperado, fingindo que nada está acontecendo, e colocando um sorriso no rosto quando questionada sobre seus prospectos. Por dentro, a Microsoft está temendo o inferno.

    Uma das mais ricas companhias do planeta, administrada por uma das pessoas mais ricas do planeta com medo? O que isso pode significar?

    Morta, enforcada e esquartejada

    Para se ter uma idéia, a Microsoft tem procurado agir cada vez melhor. Sempre que os analistas financeiros estabelecem um ganho trimestral, a Microsoft coloca alguns centavos a mais por ação debaixo do seu chapéu e bate estes ganhos. O bando de cachorros e vermes que são conhecidos como Wall Street ficam boqueabertos, e aplaudem sem entusiasmo. E isso sempre acontece, incluindo as surpresas dos analistas.

    O modo como eles fazem isso não é segredo pra ninguém. Nos seus dois maiores produtos, sua margem de lucro é de mais de oitenta porcento. O restante dos produtos, que vão desde os computadores de mão ao portal MSN e o Xbox dão grandes prejuízos. Suas finanças são tão obscuras e mal apresentadas, que eles podem repassar dinheiro de um lado para outro na companhia sem que ninguém perceba. Eles podem ganhar tanto dinheiro em um trimestre? Aplicando dinheiro em investimentos fechados, ou aceitando algumas perdas. Não mostrando os números? Levantando fundos a partir de alguns bens e assim fazendo lucro.

    Sobretudo, eles conseguiram mostrar uma curva suave em seus ganhos, e se superar a cada relatório trimestral. Um monopólio e um custo quase zero para fazer o seu produto físico (reprodução de mídias) além de pesquisa e desenvolvimento tem suas vantagens.

    As corporações clamam pelo Linux

    Há mais ou menos um ano atrás, as coisas começaram a mudar. Os clamores de que o Linux iria derrubar a Microsoft continuam, mas a resposta a esses clamores mudaram. Executivos começaram a dizer "Fale-me sobre isso". Em tempos de vacas magras, grátis é muito mais barato que centenas de dólares, e infinitamente mais atraente. O Linux começou a ganhar espaço com consumidores que poderiam pagar por ele, usando-o para um trabalho real no mundo real.

    Até então, a Microsoft vinha simplesmente ignorando a ameaça tuxista. Então eles começaram a reagir com terrorismo, memorandos Halloween, muitos relatórios e estudos pagos e mal elaborados. De alguma maneira, as pessoas não engoliram a estória de que US$ 1.000 seriam mais baratos do que grátis. Então a Microsoft teve que mudar sua tática. Já que ela não pôde comprar a companhia que produzia o Linux, já que a GPL proteje da velha tática usada pela Microsoft para derrubar a concorrência, e o ódio das pessoas por ela vinha crescendo por todas as dores que eles vinham causando durante todos estes anos, a empresa se viu em uma sinuca de bico. Como você pode competir quando todos os seus truques sujos são ou inaplicáveis ou falhos, e quando montanhas de dinheiro não podem ser usadas para tomar o lugar da concorrência? Simples, você compete por seus méritos.

    Quando na história, além de nos últimos seis meses, a Microsoft baixou preços ou deu algo que não fosse seus triviais descontos em qualquer coisa? Sim, certo, nunca! Frente à perda do mercado de home office para o OpenOffice/StarOffice, o mercado de servidores para o Linux, de bancos de dados para o MySQL, e o de desktops também para o Linux em um futuro não muito distante, o que eles poderiam fazer? Eles planejaram cortes nos preços de seus produtos mais significativos e em segmentos-chave.

    O primeiros desses cortes visou a MySQL, com a Developer Edition do SQL Server, cortando em torno de 80 porcento. Então eles começaram a investir pesado para prevenir que grandes empresas dessem ao Linux uma porta de entrada.

    Eles apareceram com uma versão educacional para o Office. Dica para os leitores, se você não quiser pagar US$ 500 pelo Office, com a nova versão, você não precisa provar que é um estudante ou professor para ganhar um desconto, como era feito na versão anterior. Bem, nenhuma dessas táticas está funcionando como esperado, e uma das razões para isso é o falho sistema de ativação de produto como forma de ganhar dinheiro. Sem começar com o velho debate sobre o custo de software pirata, é difícil de argumentar contra o fato de que até mesmo com os números que eles publicam sobre a pirataria, a Microsoft continua deixando claro seus bilhões de dólares por trimestre, ou mais. Se não fosse pela pirataria, os filhos de Gates (os 1.0 e 2.0 da vida) poderiam ser enviadas para uma boa escola. Chore por eles. Em sua inteligência, a Microsoft decidiu espremer um pouquinho seus usuários, e para seu pavor, eles começaram a perceber que as pessoas estavam mais dispostas a aceitar a pequena diferença nas funcionalidades do OpenOffice do que pagar US$ 500 pelo MS Office. Quem adivinharia isso? Foi um tiro no pé.

    A próxima estratégia campeã foi fechar o cerco e trancar as pessoas. Se você prevenir outros programas de trabalhar com o seu software, e fazer o seu trabalho suficientemente barato, as pessoas vão se acorrentar nisso, certo? Bem, em certo ponto, no mínimo até você ser odiado, ou as pessoas terem uma alternativa.

    Com a licença 6.0, a nova "alugue de acordo com seu uso, mas faça isso com nosso concentimento" foi a gota d'água. Quando eles propuseram este esquema, as pessoas deram gargalhadas. Quando a Microsoft disse faça isso ou pague o preço de varejo, as pessoas piscaram, e alguns choraram e lamentaram o monopólio. Foi então que as pessoas começaram a levar o Linux a sério.

    Migrações, migrações

    Quando a Microsoft anunciou a data limite para o licenciamento 6.0, as pessoas se recusaram. A adoção foi menor que 100% como eles previam, eles piscaram e extenderam a dara limite, que acabou não sendo extendida. As pessoas continuaram se negando a aderir ao plano, então a Microsoft mexeu os pauzinhos e...hmm...piscou de novo. Uma vez que as pessoas não enxergaram os benefícios que justificassem 100% de aumento nos preços, e a Microsoft estava parecendo cada vez mais fraca com cada atraso, ela parou de atrasar. Qualquer pessoa em sã consciência veria que eles iriam perder um terço de seus consumidores e com o tempo seria um desastre absoluto.

    A Microsoft percebeu isso como um sinal de que as pessoas não entenderam verdadeiramente a generosidade vinda de Redmond, então ela adoçou o pote de migalhas para os relutantes. Isso incluiu treinamentos e outras coisas, mas não queda de preços. Esta seria a via sacra que nunca seria completada. Por pouco, as pessoas continuaram não voltando, e os grandes clientes começaram a abandonar o barco. O que fazer? O que fazer?

    A resposta foi encarar as migrações com descontos pesados. O negócio é fazer qualquer coisa para atingir os objetivos. Quando a Microsoft diz qualquer coisa, certamente algumas dessas coisas nós jamais imaginaríamos.

    A coisa mais estranha é que nem mesmo isso funcionou. As pessoas calcularam. Com o software fechado e caro em uma mão, e o mais barato e integrável na outra mão, eles começaram a optar pela via mais barata. Imagine isto, as migrações das grandes empresas cada vez mais frequentes, e Redmond estava quase sem cartas na manga.

    Algumas migrações foram evitadas, como a do governo da Tailândia, que paga US$ 36 por um Office e o Windows XP vem com 95% de desconto em relação à tabela. É possível que outras negociações desse tipo tenham acontecido sem que nós ficássemos sabendo. Para cada vitória desse tipo pela Microsoft, o Linux teve duas ou três. Senão quatro ou cinco. Isso não é nem contestável. Migrações de alto nível, como cidades, governos, e, a IBM, estão simplesmente no topo no iceberg, e quase todo mundo está observando os pioneiros para ve se o caminho que eles estão seguindo tem futuro.

    Se estas poucas pioneiras tiverem êxito, espere o portão se abrir e todo mundo ir atrás. As falhas de segurança no design, que fazem o software da Microsoft insegura, estão somente somando para a miséria. Cada dia que uma companhia vai abaixo por culpa de um worm ou vírus, ela começa a reavaliar o software da Microsoft. Quando forem renovar os contratos, a lembrança de noites inteiras em claro tende a pesar muito nas mentes de muitos executivos.

    Os números do último balanço trimestral mostraram algo inédito os desgostosos números da Microsoft. Eles culparam grandes corporações que estavam vulneráveis ao worm Blaster. Mas se você parar pra pensar, a maioria das empresas estão no licenciamento 6.0 ou outro contrato de longa data, então o faturamento vindo deles estava garantido. Pessoas que vão comprar software da Microsoft estarão sujeitas a isso. Quem pulou fora, pulou. Uma grande empresa não vai adiar uma compra de software em função de uma falha de segurança, eles terão suas licenças perdidas ou eles comprarão o software como planejado e sentarão em cima dele, se necessário. Alguma coisa não cheira bem com essa explicação.

    Se a Microsoft não puder aparecer com outra surpresa, algo está muito errado. Agora é a hora deles irem pra rua, ou a ilusão vai acabar, e isso tem um efeito negativo no preço das suas ações. Se a Microsoft não cumpriu as metas desse trimestre, ela mostra ou que não foi capaz, ou decidiu consciente por não cumprir.

    A festa está acabando

    Se a Microsoft não puder bater os números, isso mostra que a festa está acabando, os clientes-chave estão pegando pesado, e a Microsoft está se rendendo. Sem os bilhões de dólares para perder em produtos como Xbox e MSN, eles podem sobreviver? Se eles não puderem, isso tornaria a Microsoft uma empresa financeiramente saudável, mas ela continuaria sendo a Microsoft? Ela seria capaz de oferecer uma solução completa ponta-a-ponta sendo ela incapaz de controlar a internet? Seria ela capaz de brigar pelo mercado de telefonia sem poder correr o risco de sair com um prejuízo na casa dos nove dígitos? Quanto tempo demorará para que o negócio do set up boxes (Xbox e outros produtos) começarem a dar dinheiro?

    A parte mais complicada da história começaria caso a Microsoft resolvesse explicar o que realmente está acontecendo. Quando falamos em números, a Wall Street é o parquinho de diversões da Microsoft. As ações são absurdamente supervalorizadas e, em compensação, o mercado espera algumas coisa em troca. Quando estas coisas param de acontecer, as ações se desvalorizam muito. E, quando isso acontece, os acionistas e todo o resto do mundo começam a perguntar todas aquelas sórdidas questões que os executivos não querem responder. Se o preço das ações implode, aquelas stock options (compra de ações pelos funcionários, por um preço abaixo do mercado) que a Microsoft famosa por oferecer aos funcionários como um incentivo, se tornam muito mais caras e menos atrativas e a moral rola escada abaixo. Resumindo: as coisas ficam bem feias.

    Para a Microsoft, mudar ativamente a companhia nesse sentido indicaria nada mais nada menos do que uma mudança na maré, o que causaria muito sofrimento. Eu não vejo ninguém fazer algo deste tipo propositadamente a menos que não haja outra saída. Uma maneira muito mais inteligente seria mudar o curso lentamente em alguns anos e mudar a companhia lentamente. Desta maneira, você pode ir preparando os analistas tolos, e escapar relativamente intacto.

    Se eu tivesse que supor, eu diria que a competição está começando a forçar a Microsoft a uma guerra de preços, e qualquer besta sabe que uma guerra de preços contra algo gratuito não é uma boa. Não acreditam em mim? Vá perguntar à Netscape. Um dia é do caçador, outro da caça. Mas as guerras de preço são destrutivas, e afundarão a Microsoft mais rapidamente do que você demora dizer "US$50 bilhões no banco". A Microsoft pode ter recursos para cortar preços, mas uma hora esses descontos de US$10 milhões começarão a pesar no bolso. E isso passará a não funcionar quando todos conhecerem a simples verdade sobre o Linux.

    A verdade é que se você está negociando com a Microsoft e sacar uma caixa da Suse ou RedHat, os preços cairão 25 porcento abaixo do melhor acordo que você poderia negociar. Saque um ROI (return of investiment, estudo de retorno de envestimento) e o preço cai em mais 25 porcento milagrosamente. Quer mais? Diga para a Microsoft que a fase piloto dos experimentos foram expetaculares, e que o Java Desktop da Sun parece espetacular no Gnome adaptado para a sua empresa, e os custos de treinamento foram quase zero.

    Hoje em dia, não é difícil passar a perna na Microsoft, conseguindo descontos cada vez maiores. Ser um representante da Microsoft deve ser um trabalho difícil. Independente disso, as pessoas continuam abandonando o barco.

    Computação confiável

    O problema é que, pesquisas questionáveis a parte, a Microsoft simplesmente não é confiável. E essa idéia está se espalhando entre os executivos. Microsoft tem o hábito de prometer coisas para os usuários, mas não entregar.

    A segurança é um bom exemplo. Há alguns anos atrás, a Microsoft prometeu parar de codar o XP para fazer uma completa auditoria de segurança e reciclar seus profissionais. E eles disseram: tudo será melhor depois disso, acreditem em nós. As pessoas acreditaram. Blaster, Nashia, e uma montanha de gente viram que a Microsoft não fez nenhum esforço nesse sentido.

    Então, porque sair de Redmond atualmente? Ar quente e os vídeos de dança do Ballmer feitos em Mac's. É engraçado ver um homem-macaco, mas passar uma noite ouvindo ele aos gritos, perde o encanto. Lembra do mesmo Ballmer dizendo que a Microsoft não liberaria uma release do Win2k até que tudo estivesse perfeito? E sobre aquela auditoria de segurança que seria feita no XP que acabaria com a possibilidade de qualquer coisa estilo o Blaster de acontecer? Alguém acha que as massas correrão para as lojas no próximo lançamento? A verdade é que isso vai acontecer, e a Microsoft sabe disso.

    A frase "isso será consertado em seis meses, confie em nós" parece ter um poder mágico quando vinda da Microsoft. O tempo todo alguém grande aparece com uma lista de reclamações sobre a Microsoft, ela anuncia uma iniciativa, aparece com uma maravilhosa apresentação em Powerpoint, mostra uma dúzia de notícias divulgadas na imprensa, um discurso gravado do Gates, e mais um monte de coisas brilhantes para distrair as pessoas.

    O fato é que a segurança tem ficado pior desde o lançamento do Windows 95, a cada ano. Péssima reputação, não acha? O fato é que também, pela primeira vez, a receita da Microsoft está apertada, ela tem competição, e a opinião pública a culpa pelos prejuízos causados pelas falhas de segurança.

    De qualquer maneira, a cultura da Microsoft previne mudanças. Eu estava falando com uma pessoa de alto nível de segurança no último Intel Developer Forum, e nós conversamos sobre o que a Microsoft poderia fazer para arrumar a casa. Ele fez as perguntas certas, e eu dei a ele as respostas certas. E mais, eu disse, jogue tudo o que você tem fora e comece denovo. Ele não faria isso. Sem mais nem menos ele se fechou para o eu estava dizendo, a cultura estava tão impregnada nele que a verdade não conseguia entrar. A Microsoft não pode corrigir os bugs que conduzem aos problemas de segurança, porque eles não são bugs, são escolhas do projeto. Quando ameaçada pelo Java, a Microsoft reagiu com o ActiveX. E disse que ele podia fazer tudo o que o Java não era capaz porque o Java estava em uma sandbox e os programas não conseguiam sair dela.

    O fato é que esta infraestrutura interna da Microsoft é baseada fundamentalmente em um arquitetura falha, não em código bugado. Este arquitetura não pode ser modificada.

    Para mudar isso, a Microsoft teria que jogar fora todas as API's existentes e acabar com a compatibilidade com as versões anteriores. Se a Microsoft fizer isso, ela tem uma chance de corrigir o design que atrapalham a arrumação do produto.

    Eu duvido. Mesmo o .NET, a nova infraestrutura de segurança, e construído para ser seguro, deixa você ter acesso à moda antiga. Sim, você não tinha suposto isso, mas algumas pessoas de certo modo sim, e os hackers também. A Microsoft e seus clientes são viciados em compatibilidade retrógrada como um tolo viciado em heroína.

    E se a Microsoft mudasse, isso incentivaria você a aderir a Microsoft? Se você tivesse começando a fazer uma aplicação do zero nessa novidade, o ambiente seguro da Microsoft, você pagará centenas ou até milhares de dólares para ir pelo caminho da Microsoft ou US$ 0 para ir com o Linux?

    Começando do começo

    Recomeçar anularia uma vantagem que a Microsoft tem, que é um código pronto e uma equipe treinada. Características da migração e reciclagem estão na maioria dos documentos internos da Microsoft, e se ela tiver que jogar tudo isso longe, quais são as chances dela?

    Às claras ela não fará e não pode fazer, a Microsoft sentará lá, e assistirá o seu mercado se perder. Isto está acontecendo lentamente no começo, mas a bola de neve está rolando. Algumas pessoas estão olhando monte acima e esta grande notícia está correndo solta, e alguns estão claramente mudando seu rumo.

    A grande mudança da indústria está acontecendo, e nós estamos no ponto crucial. Olhe atentamente para as pessoas, e leia atentamente todas as notícias. Se você conseguir enxergar o grande quadro atual, esta é uma mudança que não vai te impressionar quando olhar pra trás.




    Fonte: http://www.dicas-l.com.br/print/20040215.html

    Vota este artigo

    Conceitos sobre Tipos, Utilização e Gerenciamento de Backups

    by linuxdicas (30/11/2007 - 14:16)

    Conceitos sobre Tipos, Utilização e Gerenciamento de Backups

    Colaboração: Renato José Rudnicki

    Neste artigo, pretendo explicar um pouco sobre o que é um backup, quais os tipos, mídias usuadas e alguns conceitos importantes. Hoje é impossível pensar em uma empresa que não tenha backup, independente de se for pequena média ou grande. Em um próximo artigo, falarei sobre que tipos de backup tem um melhor custo/benefício dependendo do ambiente local.

    1. Visão geral sobre Backup

    O utilitário Backup ajuda a proteger os dados de perdas acidentais se ocorrerem falhas de hardware ou de mídia de armazenamento no sistema. Por exemplo, você pode usar o utilitário Backup para criar uma cópia dos dados que estão no disco rígido e arquivá-los em outro dispositivo de armazenamento. A mídia de armazenamento de backup pode ser uma unidade lógica, como um disco rígido, um dispositivo de armazenamento separado, como um disco removível, ou uma biblioteca inteira de discos ou fitas organizados e controlados por alterador robótico. Se os dados originais do disco rígido forem apagados ou substituídos acidentalmente ou se ficarem inacessíveis devido a um defeito do disco rígido, você poderá restaurar facilmente os dados usando a cópia arquivada.

    2. Tipos de Backups

    Se você perguntar a alguém que não é familiarizado com backups, a maioria pensará que um backup é somente uma cópia idêntica de todos os dados do computador. Em outras palavras, se um backup foi criado na noite de terça-feira, e nada mudou no computador durante o dia todo na quarta-feira, o backup criado na noite de quarta seria idêntico àquele criado na terça. Apesar de ser possível configurar backups desta maneira, é mais provável que você não o faça. Para entender mais sobre este assunto, devemos primeiro entender os tipos diferentes de backup que podem ser criados. Estes são:

    • Backups completos
    • Backups incrementais
    • Backups diferenciais

    3. Backups Completos

    Este tipo consiste no backup de todos os arquivos para a mídia de backup. Conforme mencionado anteriormente, se os dados sendo copiados nunca mudam, cada backup completo será igual aos outros. Esta similaridade ocorre devido o fato que um backup completo não verifica se o arquivo foi alterado desde o último backup; copia tudo indiscriminadamente para a mídia de backup, tendo modificações ou não. Esta é a razão pela qual os backups completos não são feitos o tempo todo Todos os arquivos seriam gravados na mídia de backup. Isto significa que uma grande parte da mídia de backup é usada mesmo que nada tenha sido alterado. Fazer backup de 100 gigabytes de dados todas as noites quando talvez 10 gigabytes de dados foram alterados não é uma boa prática; por este motivo os backups incrementais foram criados.

    4. Backups Incrementais

    Ao contrário dos backups completos, os backups incrementais primeiro verificam se o horário de alteração de um arquivo é mais recente que o horário de seu último backup. Se não for, o arquivo não foi modificado desde o último backup e pode ser ignorado desta vez. Por outro lado, se a data de modificação é mais recente que a data do último backup, o arquivo foi modificado e deve ter seu backup feito. Os backups incrementais são usados em conjunto com um backup completo frequente (ex.: um backup completo semanal, com incrementais diários).

    A vantagem principal em usar backups incrementais é que rodam mais rápido que os backups completos. A principal desvantagem dos backups incrementais é que para restaurar um determinado arquivo, pode ser necessário procurar em um ou mais backups incrementais até encontrar o arquivo. Para restaurar um sistema de arquivo completo, é necessário restaurar o último backup completo e todos os backups incrementais subsequentes. Numa tentativa de diminuir a necessidade de procurar em todos os backups incrementais, foi implementada uma tática ligeiramente diferente. Esta é conhecida como backup diferencial.

    5. Backups Diferenciais

    Backups diferenciais são similares aos backups incrementais pois ambos podem fazer backup somente de arquivos modificados. No entanto, os backups diferenciais são acumulativos, em outras palavras, no caso de um backup diferencial, uma vez que um arquivo foi modificado, este continua a ser incluso em todos os backups diferenciais (obviamente, até o próximo backup completo). Isto significa que cada backup diferencial contém todos os arquivos modificados desde o último backup completo, possibilitando executar uma restauração completa somente com o último backup completo e o último backup diferencial. Assim como a estratégia utilizada nos backups incrementais, os backups diferenciais normalmente seguem a mesma tática: um único backup completo periódico seguido de backups diferenciais mais frequentes. O efeito de usar backups diferenciais desta maneira é que estes tendem a crescer um pouco ao longo do tempo (assumindo que arquivos diferentes foram modificados entre os backups completos). Isto posiciona os backups diferenciais em algum ponto entre os backups incrementais e os completos em termos de velocidade e utilização da mídia de backup, enquanto geralmente oferecem restaurações completas e de arquivos mais rápidas (devido o menor número de backups onde procurar e restaurar). Dadas estas características, os backups diferenciais merecem uma consideração cuidadosa

    6. ALGUMAS VANTAGENS E DESVANTAGENS

    6.1. BACKUP COMPLETO

    VANTAGENS: Os arquivos são mais fáceis de localizar porque estão na mídia de backup atual. Requer apenas uma mídia ou um conjunto de mídia para a recuperação dos arquivos.

    DESVANTAGENS: É demorado. Se os arquivos forem alterados com pouca freqüência, os backups serão quase idênticos.

    6.2. BACKUP INCREMENTAL

    VANTAGENS: Requer a menor quantidade de armazenamento de dados. Fornece os backups mais rápidos.

    DESVANTAGENS: A restauração completa do sistema pode levar mais tempo do que se for usado o backup normal ou diferencial.

    6.3. BACKUP DIFERENCIAL

    VANTAGENS: A recuperação exige a mídia apenas dos últimos backups normal e diferencial. Fornece backups mais rápidos do que um backup normal.

    DESVANTAGENS: A restauração completa do sistema pode levar mais tempo do que se for usado o backup normal. Se ocorrerem muitas alterações nos dados, os backups podem levar mais tempo do que backups do tipo incremental.

    7. Midias de Backup

    7.1. Fita

    A fita foi o primeiro meio de armazenamento de dados removível amplamente utilizado. Tem os benefícios de custo baixo e uma capacidade razoavelmente boa de armazenamento. Entretanto, a fita tem algumas desvantagens. Ela está sujeita ao desgaste e o acesso aos dados na fita é sequencial por natureza. Estes fatores significam que é necessário manter o registro do uso das fitas (aposentá-las ao atingirem o fim de suas vidas úteis) e também que a procura por um arquivo específico nas fitas pode ser uma tarefa longa.

    Por outro lado, a fita é uma das mídias de armazenamento em massa mais baratas e carrega uma longa reputação de confiabilidade. Isto significa que criar uma biblioteca de fitas de tamanho razoável não abocanha uma parcela grande de seu orçamento, e você pode confiar no seu uso atual e futuro.

    As unidades de fita são uma opção interessante apenas para quem precisa armazenar uma grande quantidade de dados, pois o custo por megabyte das mídias é bem mais baixo que o dos HDs e outras mídias. O problema é que o custo do equipamento é relativamente alto e as fitas não são muito confiáveis, o que acaba obrigando o operador a fazer sempre pelo menos duas cópias para ter um nível maior de segurança. Para quem tem um pequeno negócio ou para usuários domésticos elas definitivamente não valem à pena.

    7.2. Disco

    Nos últimos anos, os drives de disco nunca seriam usados como um meio de backup. No entanto, os preços de armazenamento caíram a um ponto que, em alguns casos, usar drives de disco para armazenamento de backup faz sentido. A razão principal para usar drives de disco como um meio de backup é a velocidade. Não há um meio de armazenamento em massa mais rápido. A velocidade pode ser um fator crítico quando a janela de backup do seu centro de dados é curta e a quantidade de dados a serem copiados é grande.

    8. Tornando seus backups eficientes

    1. Etiquete claramente seus backups. Inclua o nome da máquina, a unidade, a data do backup e o número do disco ou fita. Uma etiqueta pode ser parecida com esta: BACKUP de Admin C: 15/07/99 #4/6

       

    2. Mantenha seus backups em lugar seguro, fresco e seco. É melhor manter backup importante fora do local do micro, de forma que, se o seu escritório pegar fogo, seus backups não se queimarão. Se não você puder armazená-los fora do prédio do escritório por alguma razão, pelo menos mantenha-os em um andar separado, para que eles possam manter-se a salvo do local de desastres.

       

    3. Não faça backups do que você não precisa, eles apenas o confundirão mais tarde. Se a sua empresa formatar o disco rígido de alguém e começar tudo do zero, desfaça-se dos backups uma vez que você tenha determinado que nada importante estava na unidade.

       

    4. Teste seus backups periodicamente para assegurar-se de que eles funcionam.Calor, umidade e campos eletromagéticos podem fazer com que seus dados se deteriorem. Em geral, discos e pessoas sentem-se bem nas mesmas temperaturas: se você não se sente à vontade depois de ficar algumas horas numa sala, seus backups também não se sentirão.

       

    5. Não mantenha backups por anos e espere que eles permaneçam intactos sem ajuda. As cargas positivas e negativas em seus discos tendem a neutralizar umas às outras, e um disco deixado na prateleira voltará lentamente a ter uma superfície virgem, da mesma maneira que se você tivesse escrito na areia de uma praia, a escrita irá lentamente enfraquecer a menos que você as regrave diariamente. Você pode dar vida nova a suas fitas copiando seus backups para um meio recentemente formatado e a seguir reformatar a fita antiga. As fitas são geralmente projetadas para durar 2 a 3 anos.

    9. Armazenamento de Backups

    O que acontece após completar os backups? A resposta óbvia é que os backups devem ser armazenados. Entretanto, não é tão óbvio o que deve ser armazenado e onde. Para responder a estas questões, devemos considerar primeiro sob quais circunstâncias os backups devem ser usados. Há três situações principais:

    1. Pequenos e rápidos pedidos de restauração dos usuários
    2. Grandes restaurações para recuperar de um desastre
    3. Armazenamento em arquivos, pouco provável de ser usado novamente

    Infelizmente, há diferenças irreconciliáveis entre os números 1 e 2. Quando um usuário apaga um arquivo acidentalmente, ele pretende recuperá-lo imediatamente. Isto siginifca que a mídia de backup não pode estar há mais de dois passos distante do sistema para o qual os dados devem ser restaurados. No caso de um desastre que precisa de uma restauração completa de um ou mais computadores do seu centro de dados, se o desastre foi de natureza física, o que quer que tenha destruído seus computadores, também destruiria os backups localizados próximos dos computadores. Isto seria uma situação terrível.

    O armazenamento em arquivos é menos controverso. Já que a chance de ser utilizado para qualquer propósito é baixa, não haveria problema se a mídia de backup estivesse localizada há quilômetros de distância do centro de dados. As táticas para resolver estas diferenças variam de acordo com as necessidades da empresa em questão. Uma tática possível é armazenar o backup de diversos dias na empresa; estes backups são então levados para um local de armazenamento mais seguro fora da empresa quando os backups diários mais novos forem criados.

    Uma outra tática seria manter dois conjuntos diferentes de mídia:

    • Um conjunto no centro de dados estritamente para pedidos imediatos de restauração
    • Um conjunto fora da empresa para armazenamento externo e recuperação de desastres

       

      Obviamente, ter dois conjuntos significa ter a necessidade de rodar todos os backups duas vezes para fazer uma cópia dos backups. Isto pode ser feito, mas backups duplos podem levar muito tempo e copiar requer diversos drives de backup para processar (e provavelmente um sistema dedicado a executar as cópias).

       

      O desafio do administrador de sistemas é encontrar um equilíbrio que atenda adequadamente às necessidades de todos, e também assegurar que os backups estejam disponíveis para a pior das situações.

       

      +Questões de Restauração+

       

      Enquanto os backups são uma ocorrência diária, as restaurações normalmente representam um evento menos frequente. No entanto, as restaurações são inevitáveis; elas serão necessárias, portanto é melhor estar preparado. É importante atentar para os vários cenários de restauração detalhados ao longo desta seção e determinar maneiras para testar sua habilidade em resolvê-los. E tenha em mente que o mais dfiícil de testar também é o mais crítico.

    10. Restaurando do Zero

    "Restaurar do zero" significa restaurar um backup de sistema completo em um computador com absolutamente nenhum dado de nenhum tipo sem sistema operacional, sem aplicações; nada. Em geral, há duas táticas básicas para restaurações do zero:

    Reinstalar, seguido de restauração

    Aqui o sistema operacional base é instalado como se um computador novo estivesse sendo configurado. Após instalar e configurar o sistema operacional, os drives de disco restantes podem ser particionados e formatados, e todos os backups restaurados pela mídia de backup.

    Discos de recuperação do sistema Um disco de recuperação do sistema é uma mídia iniciável (bootable) de algum tipo (geralmente um CD) que contém um ambiente de sistema mínimo, capaz de executar as tarefas mais básicas de administração de sistemas. O ambiente de recuperação contém os utilitários necessários para particionar e formatar os drives de disco, os drives de dispositivo necessários para acessar o dispositivo de backup e o software necessário para restaurar os dados pela mídia de backup.

    11. Testando Backups

    Todos os tipos de backup devem ser testados periodicamente para garantir que os dados podem ser lidos através deles. É fato que, às vezes, os backups executados são por algum motivo ilegíveis. O pior é que muitas vezes isto só é percebido quando os dados foram perdidos e devem ser restaurados pelo backup. As razões para isto ocorrer podem variar desde alterações no alinhamento do cabeçote do drive de fita, software de backup mal-configurado a um erro do operador. Independente da causa, sem o teste periódico você não pode garantir que está gerando backups através dos quais poderá restaurar dados no futuro.




    Fonte: http://www.dicas-l.com.br/print/20070427.html

    Vota este artigo

    A Reconstrução da Torre de Babel

    by linuxdicas (29/11/2007 - 03:38)

    A Reconstrução da Torre de Babel

    Colaboração: Rubens Queiroz de Almeida

    A mensagem de hoje circulou originalmente na revista de Informação e Tecnologia do Centro de Computação da Unicamp. A mensagem aborda a questão do aprendizado da língua inglesa com fins de leitura e fornece algumas dicas muito boas e mostra que o inglês não é tão difícil de se dominar como muitos pensam.

    A mensagem é um tanto longa, mas se você precisa da língua inglesa para desempenhar a sua profissão, garanto-lhe que vai valer a pena.

    O documento original encontra-se em http://www.revista.unicamp.br/navegacao/index4.html

    Enfim, se o assunto lhe interessa, boa leitura!


    Diz a Bíblia que muitos anos atrás todos os habitantes da Terra se uniram para construir uma torre que chegasse até o céu, para tornar seu nome célebre e impedir que fossem espalhados pelo mundo. Para punir os homens por sua ambição demasiada, Deus confundiu sua linguagem e depois os dispersou pelo mundo.

    Ainda hoje os povos da Terra falam uma imensidão de línguas diferentes. Na Internet entretanto, apesar dos muitos povos que autilizam, existe um meio de comunicação comum. Da mesma forma que os computadores se comunicam independentemente de cor e raça, ou melhor, de fabricante e protocolo de comunicação, também os internautas possuem uma linguagem comum: a língua inglesa. Será a Internet uma nova Torre de Babel, construída para reunificar eletronicamente os habitantes deste lindo mundo azul?

    É claro que nem todos que utilizam a Internet compreendem a língua inglesa. Porém mais de 80% dos documentos e das comunicações feitas através da Internet encontram-se em inglês. Apenas 0,7 % do oceano de informação que é a Internet está em português. É perfeitamente possível usar a Internet e se divertir muito navegando apenas por sites escritos em português. Fazer isto entretanto é o equivalente a ir à praia, não entrar na água e ficar se molhando com um baldinho de água que alguém encher para você. O que fazer? Aprender inglês é difícil e demora muitos anos. Como então adquirir o domínio desta ferramenta tão essencial à utilização plena da Internet? Realmente, para se ler, falar, escrever e ouvir com fluência a língua inglesa são necessários de seis a oito anos de estudo constante. Para que aprender tanta coisa se o mais importante é apenas ler? É muito mais fácil dominar um dos aspectos de um idioma (leitura) do que todos os quatro simultaneamente (ler, ouvir, falar e escrever). A Internet possui muito conteúdo interativo, onde a capacidade de se falar e escrever bem a língua inglesa certamente é uma grande vantagem, mas o mais importante certamente é saber ler. Ler para utilizar a informação existente na Internet para aprender, resolver problemas pessoais ou profissionais, se divertir, enfim, para uma infinidade de propósitos.

    Como aprender a ler? É raro encontrar um curso de inglês onde se ensine o aluno apenas a ler. Só vendem o pacote completo, o que é totalmente insensato. Se precisamos investir vários anos para dominar o idioma em todos os seus aspectos, aprender a ler certamente demora muito menos. Em apenas quatro meses é possível obter uma compreensão razoável do idioma que nos permite começar a compreender textos em inglês.

    Mas porque a leitura é mais fácil de se dominar? A própria Internet nos dá a resposta. Em um estudo realizado em 1997, realizamos um trabalho para determinar as palavras mais comuns da língua inglesa e seu percentual de ocorrência. Para este estudo utilizamos os livros online do Projeto Gutemberg. Este projeto, integrado por voluntários, tem por objetivo digitalizar obras de literatura cujos direitos autorais tenham se expirado. Nos Estados Unidos uma obra é colocada no domínio público 60 anos após a morte do autor. Obras de autores como Jane Austen, Conan Doyle, Edgar Rice Burroughs, e muitos outros estão disponíveis gratuitamente na Internet. De posse destes livros, 1600 ao todo na época da pesquisa, fizemos então nossos cálculos. Os 1600 livros combinados geraram um arquivo de 680 MB contendo aproximadamente sete milhões de palavras. Os resultados foram bastante surpreendentes. As 250 palavras mais comuns compõem cerca de 60% de qualquer texto. Em outras palavras, se você conhece as 250 palavras mais comuns, 60% de qualquer texto em inglês é composto de palavras familiares. Para facilitar ainda mais a nossa tarefa os cognatos, que são as palavras parecidas em ambos os idiomas (possible e possível, por exemplo), totalizam entre 20 e 25% do total das palavras. Aí já temos então 80 a 85% do problema de vocabulário resolvido. Se subirmos o número de palavras mais comuns a 1.000, chegamos a 70%. Somando a este valor os cognatos chegamos a valores entre 90 a 95% de um texto.

    É claro que 90 ou 95% ainda não chega a 100%. Como fazer com o restante das palavras? Mais uma vez, usamos nossa intuição (lembra-se que nossa intuição está correta em 99,999% das vezes?). Pensemos em nosso texto como um enigma a ser desvendado. Possuímos alguns elementos familiares, as palavras que conhecemos, e outros que nos são desconhecidos. Devemos deduzir, por meio de nossa intuição, de nossos conhecimentos anteriores, o que as palavras desconhecidas podem significar. Não precisamos nos preocupar com todas as palavras, apenas com aquelas que desempenhem um papel importante no texto. Quais são elas? Se uma palavra aparece com relativa frequência em um texto, ela certamente desempenha um papel importante na compreensão do todo. Se uma palavra aparece apenas uma vez, muito provavelmente não precisaremos nos preocupar com ela.

    O maior problema é que tal enfoque é encarado de forma suspeita pela maioria das pessoas. Como é possível, ignorar uma palavra desconhecida e continuar lendo como se nada houvesse acontecido? O que estamos propondo não é nada absurdo. Qual foi a última vez em que consultou um dicionário? Toda vez que encontramos uma palavra desconhecida vamos em busca do dicionário? Muito provavelmente não. O que acontece é que, como a nossa familiaridade com o português é grande, na hipótese de depararmo-nos com uma palavra desconhecida, o seu sentido, dado o contexto que a cerca, será facilmente deduzido. Isto tudo praticamente sem mesmo nos darmos conta do ocorrido. A não ser que nos proponhamos a tarefa de parar a cada vez que encontrarmos uma palavra desconhecida, a nossa leitura se dá com frequência sem interrupções. As palavras desconhecidas são intuídas, quase que subconscientemente, e passam a integrar o nosso vocabulário. Considerando-se que o vocabulário de um adulto consiste de aproximadamente 50.000 palavras, é ridículo imaginar que tal conhecimento tenha sido adquirido através de 50.000 visitas ao dicionário. Este vocabulário foi adquirido, em um processo iniciado em nossa infância, de forma contínua e através da observação do nosso ambiente, observando outras pessoas falarem, prestando atenção nas palavras utilizadas em determinadas situações e também através da leitura.

    A nossa estratégia para o domínio da língua inglesa para leitura é exatamente aquela utilizada há milhares de anos, com excelentes resultados, pela raça humana. Aprendizado natural, seguindo nossos instintos e pela interação com o ambiente que nos cerca.

    Como vimos, o domínio das palavras mais frequentes da língua inglesa, pode nos ajudar a dar um impulso substancial em nosso aprendizado. Nesta listagem as palavras não estão organizadas alfabeticamente, mesmo porque não é nosso objetivo reproduzir aqui um dicionário. Também não incluímos todos os significados possíveis das palavras apresentadas. Todas as palavras são apresentadas em contexto, em exemplos de utilização. Não fornecemos a definição da palavra. Para cada palavra são listados em média três exemplos de utilização, com a respectiva tradução.

    É muito importante ressaltar que estas palavras não devem ser memorizadas de forma alguma. O ser humano não funciona de forma semelhante ao computador, onde as informações podem ser armazenadas de qualquer forma, e ainda assim estão disponíveis em milésimos de segundos quando necessitamos. O ser humano, para reter alguma informação, precisa situá-la dentro de um referencial de conhecimentos. A informação nova precisa se integrar à nossa visão do mundo, à nossa experiência prévia. Apenas desta forma podemos esperar que o conhecimento adquirido seja duradouro. A maioria de nós certamente já vivenciou situações em que dados memorizados desapareceram de nossa memória quando não mais necessários. Ao contrário, tudo que aprendemos ativamente, permanece presente em nossa memória de forma vívida por muitos e muitos anos.

    Embora esteja sendo fornecida uma lista de palavras, não adote de forma alguma o procedimento padrão de memorização, que é a repetição intensiva dos itens a serem memorizados. É certo que cada um de nós possui estratégias distintas para lidar com o aprendizado, mas eu gostaria de sugerir uma forma de estudo que certamente funciona.

    Primeiramente, não tenha pressa. Não memorize, procure entender os exemplos. Para cada palavra apresentada, leia os exemplos e suas respectivas traduções. Não se preocupe em reter na memória o formato exato das frases e nem de sua tradução. O objetivo é apenas compreender o significado da palavra apresentada e apenas isto. Uma vez compreendido este significado o objetivo foi alcançado.

    Em segundo lugar, procure ler apenas enquanto estiver interessado. Não adianta nada ler todas as palavras de uma vez e esquecer tudo dez minutos depois. Se nos forçarmos a executar uma atividade monótona por muito tempo, depois de alguns momentos a nossa atenção se dispersa e nada do que lemos é aproveitado. Eu sugiro a leitura de dez palavras diariamente. Caso você ache que 10 palavras diárias é muito, não tem importância, este número é sua decisão. Se quiser ler apenas uma palavra, o efeito é o mesmo. Irá demorar um pouco mais, mas chegar ao final é o que importa. É só não esquecer, você deve LER as palavras e NUNCA tentar memorizar as palavras e os exemplos.

    E finalmente, faça revisão. No primeiro dia leia e entenda dez palavras (ou quantas julgar conveniente). No segundo dia leia mais dez palavras e faça a revisão das dez palavras aprendidas no dia anterior. No terceiro dia, aprenda mais dez palavras e revise as vinte palavras aprendidas nos dias anteriores. E assim por diante até o último dia, onde aprenderá as últimas dez palavras e revisará as 240 palavras anteriores. Muito importante, por revisão não quero dizer que se deve fazer a leitura de todas as palavras e exemplos anteriores. As palavras mais frequentes estão grafadas em tipo diferente e em negrito, para que possamos localizá-las facilmente na página. Apenas examine as palavras anteriores em sua revisão. Caso não se recorde de seu significado, então, e apenas então, leia os exemplos. A revisão é extremamente importante. Nós realmente aprendemos quando revisamos conceitos aos quais já fomos expostos. Procedendo desta forma, tenha certeza de que tudo o que aprendeu será absorvido de forma permanente, constituindo a base fundamental de tudo que irá aprender em seus estudos da língua inglesa.

    Caso a sua motivação seja realmente alta e você queira reler todos os exemplos já estudados, vá em frente. Como você pode notar, os exemplos empregam um vocabulário bastante rico. A leitura mais frequente dos exemplos fará com que ao final do estudo o seu vocabulário tenha se enriquecido muito além das 750 palavras básicas.

    Outro ponto importante é a questão do estudo da gramática. A gramática, ou o estudo da estrutura da língua, deve ser apenas para ajudar o aluno a identificar as construções verbais. Não é necessária, para fins de aprendizado da leitura, a memorização de estruturas gramaticais. Como já afirmado, o nosso aprendizado se dá de forma natural. Da mesma forma que uma criança não tem aulas de gramática para aprender sua língua materna, nós também não devemos nos preocupar com este aspecto em nosso estudo. A leitura dos exemplos das palavras mais comuns irá lançar os fundamentos iniciais do conhecimento da estrutura da língua inglesa.

    Resta agora esclarecer um ponto, que é a desculpa favorita de todos nós nos dias de hoje: a falta de tempo. Tempo certamente é fácil de se encontrar para fazer aquilo que nos dá prazer. Para resolver o problema de tempo para este estudo, pense nesta atividade como algo prazeiroso e que lhe trará benefícios enormes, tanto no campo pessoal como profissional. E além do mais, o aprendizado e a revisão das palavras pode ser feito diariamente em não mais de quinze minutos. Se levarmos em conta que os intervalos comerciais em programas de televisão geralmente duram entre quatro a cinco minutos, todo o tempo necessário para este estudo pode ser encaixado nos intervalos de sua novela favorita, certo?

    Então, mãos a obra. Depois que você conhecer as 250 palavras mais comuns da língua inglesa você poderá verificar como o aprendizado da leitura da língua inglesa se tornam muito mais fácil. Nesta lista foram incluídas 750 palavras. Faça um esforço e tente conhecer a todas elas. A sua tarefa vai ficar ainda mais fácil.

    Nos anos de 1996 e 1997 a Diretoria de Recursos Humanos da UNICAMP promoveu um programa de capacitação que incluía um programa de treinamento em inglês instrumental para seus funcionários usando a metodologia descrita nos parágrafos anteriores. Nestes dois anos passaram pelo programa de inglês instrumental aproximadamente 1.000 funcionários. Conseguiu-se atender um número tão grande de pessoas justamente porque o aprendizado da língua inglesa para leitura é consideravelmente mais fácil. Além desta facilidade é possível se ministrar o curso em salas maiores, com até cem alunos, o que é impensável em um curso tradicional. Em cursos normais de inglês cada aluno deve ter atenção especial do professor como pré-requisito indispensável ao aprendizado.

    Como produto deste treinamento foram criados vários materiais didáticos, um dos quais é justamente um pequeno livro, já citado, contendo as 750 palavras mais comuns da língua inglesa. O significado de cada palavra é ilustrado com três exemplos em média, onde a palavra é usada em contextos diferentes. Este pequeno manual está disponível para download na Internet. Além deste manual, existem também outros documentos que descrevem em detalhes como foi realizado o cálculo que determinou estas palavras mais comuns (ver referências).

    Além do aprendizado das palavras mais comuns, o interessado em aprender o inglês para leitura, deve procurar intensificar o seu contato diário com a língua inglesa. Para isso a Internet pode novamente vir em nosso auxílio. Basta procurar nela pelo que nos interessa. Na Internet existe informação de todos os tipos e para todos os gostos. Basta saber e querer procurar.

    No curso de inglês instrumental ministrado na Unicamp, para suplementar o ensino em sala de aula e para manter o aluno em contato diário com a língua inglesa, foi criada uma lista eletrônica chamada EFR (English for Reading). Nesta lista é veiculada diariamente uma história, preferencialmente engraçada (afinal, quem não gosta de uma boa piada?) ou uma citação. As histórias são em inglês e as palavras mais incomuns são comentadas. Desta forma os alunos aprendem todos os dias duas ou mais palavras novas. Todos os dias. Em um ano este pequeno esforço diário pode vir a fazer uma diferença. O curso acabou em 1997 mas a lista continua enviando suas mensagens. Esta lista é hoje aberta a todos os internautas e conta com vários participantes externos além dos participantes do curso ministrado na Unicamp. Todas as mensagens já veiculadas na lista EFR estão arquivadas na Web no endereço http://www.dicas-l.com.br , item "English for Reading".

    O objetivo primordial do curso de inglês instrumental era demonstrar que se é possível aprender inglês para leitura facilmente e despertar o gosto pela leitura. Quanto mais se ler em inglês mais se aprende o idioma, o que não é novidade nenhuma. Como vivemos no Brasil, país de língua portuguesa, as nossas necessidades de utilizar outra habilidade que não a leitura em inglês são bastante esporádicas. Mas não precisamos parar por aí. A leitura serve também para desenvolver as outras habilidades necessárias ao domínio da língua inglesa: a fala, a escrita e a compreensão da língua falada. O principal é que em um período de tempo bastante curto já estaremos habilitados a navegar pela Internet inteira e não apenas pela pequena porção representada pela língua portuguesa.

    Finalmente, queria lembrar a todos que aprender o inglês é bastante fácil. Basta deixar de lado os preconceitos e traumas que temos com a língua inglesa e realmente acreditarmos em nossa capacidade de aprender. Não leva a nada guardar rancores de tentativas frustradas de aprendizado ocorridas no passado. O domínio da língua inglesa é hoje o nosso passaporte para um mundo de informações que podem nos ser úteis tanto na esfera pessoal quanto profissional. Se você não domina a língua inglesa o momento certo para começar é hoje. Consulte as referências deste artigo, estude com calma a lista das palavras mais comuns e assine a lista EFR. Você vai ver que sem fazer muita força em, pouco você estará se locomovendo com desenvoltura cada vez maior pela Torre de Babel reconstruída que é a Internet. Depois me escreva contando os resultados.

    Referências:

    Global Internet Statistics (by Language) http://www.euromktg.com/globstats/

    Projeto Gutenberg http://www.promo.net/pg/

    Dicas-L http://www.dicas-l.com.br

    Palavras mais Comuns da Língua Inglesa http://www.dicas-l.com.br/dicas-l/971002.html Este documento descreve os procedimentos utilizados para se determinar as 1000 palavras mais comuns da língua inglesa e faz uma apresentação dos resultados obtidos. Neste documento as palavras mais comuns são listadas juntamente com seu percentual de ocorrência.

    As 750 palavras mais comuns da Língua Inglesa http://www.dicas-l.com.br/dict.pdf Este documento, no formato PDF, contêm as 750 palavras mais comuns da língua inglesa com exemplos de utilização. Para ler e imprimir arquivos no formato PDF é necessário instalar em seu computador o programa Adobe Acrobat Reader, que pode ser encontrado no endereço http://www.adobe.com

    As 1000 Palavras Mais Comuns da Língua Inglesa http://www.dicas-l.com.br/dicas-l/dicas-l/971003.html Este artigo lista as 1000 palavras mais comuns da língua inglesa e seu percentual de ocorrência.

    Notas:

    1. A comparação da Torre de Babel com a Internet eu encontrei em um artigo escrito por Luiz de Rezende Puech que se encontra em http://www.webmark.com.br/framese.html . Esta analogia, bastante criativa, nunca mais me saiu da cabeça e aproveitei este artigo para abordar o assunto a partir de uma ótica diferente.

    2. A história da Torre de Babel encontra-se na Bíblia, no livro de Genesis, capítulo 11. Reproduzo a seguir alguns dos versículos da história, tal como se encontra na Bíblia.

    (Genesis 11:6) e o SENHOR disse: Eis que o povo é um, e todos têm a mesma linguagem. Isto é apenas o começo; agora não haverá restrição para tudo que intentam fazer.

    (Genesis 11:7) Vinde, desçamos e confundamos ali a sua linguagem, para que um não entenda a linguagem de outro. (Genesis 11:8) Destarte, o SENHOR os dispersou dali pela superfície da terra; e cessaram de edificar a cidade. (Genesis 11:9) Chamou-se-lhe, por isso, o nome de Babel, porque ali confundiu o SENHOR a linguagem de toda a terra e dali o SENHOR os dispersou por toda a superfície dela.

    3. Para assinar a lista EFR (English for Reading) basta enviar uma mensagem para o endereço <efr-subscribe (a) onelist com> .Não é necessário digitar nada na mensagem, nem no "Subject:" nem no corpo.




    Fonte: http://www.dicas-l.com.br/print/19991109.html

    Vota este artigo

    Guia para o Novato em Linux

    by linuxdicas (29/11/2007 - 02:14)

    Guia para o Novato em Linux

    Colaboração: Alex-Gurgel <<Gurgel (a) linuxdicas com br>>

    Pois bem, depois de muito pensar você resolveu se aventurar pelo mundo Linux! Parabéns! Mas ai começam as duvidas e os problemas: Qual distribuição usar ? Vai funcionar no meu micro ? Onde posso conseguir os CDs ?

    Calma! Este artigo foi escrito com o intuito de ajudar você, novo usuário do Linux, a responder essas e outras perguntas. Antes de começar, apenas um detalhe importante: este artigo não vai responder a todas as suas duvidas, vai apenas lhe dar um ponto de partida.

    Antes de mais nada: como você pretende entrar no mundo Linux ? Quer instalar ou preferia que tivesse outro modo ? Bem, existe outro modo sim: as distribuições que rodam diretamente dos CDs, sem instalar ou modificar nada no seu micro! Pode ser interessante, testar o que é o Linux e depois instalar para realmente aproveitar todo o potencial deste Sistema Operacional.

    Se essa for sua escolha, faça o seguinte: acesse a Internet, vá a um site de busca e procure por 'kurumin' (em português) ou 'knoppix' (em dinamarquês ou inglês). Baixe os arquivos ISO de uma delas, a sua escolha, grave um CD e está pronto! Basta agora dar boot no seu micro, com o CD colocado, que, em poucos instantes, você estará testando seu Linux. Claro, nos sites dessas distribuições existe farta documentação sobre eles, leia tudo o que puder. Quando se decidir por, finalmente, instalar um Linux volte para esse artigo.

    Ah, você prefere instalar o Linux no seu micro! Pois bem, para começar, é preciso lhe explicar uma coisa básica: o Linux é um Sistema Operacional que exige uma coisa a mais que outros SO's: que você use o seu cérebro !

    Do princípio: você já se decidiu a experimentar o Linux. Mas aonde você vai encontrar as informações iniciais: Ah sim, você já procurou na Internet e encontrou vários sites sobre o assunto, vários deles com fóruns! E o que você vai fazer agora ? Algumas dicas iniciais:

    • Acesse os fóruns que você encontrou, eles são uma fonte valiosa de informações vinda de pessoas que passaram por varias etapas no aprendizado do Linux.

       

    • Quando fizer uma pergunta procure não usar apenas letras maiúsculas. Isso equivale a gritar com os outros. E você não gosta que gritem com você, não é mesmo ?

       

    • Evite perguntar "Qual a melhor distribuição ?". Essa pergunta vai, com certeza, gerar um volume de discussões que podem não lhe responder exatamente o que você quer saber. No fundo, a sua verdadeira duvida é: "Qual distribuição eu vou gostar mais ?". Isso apenas você pode responder. Na maior parte das vezes a resposta que você vai ter será algo como "A melhor distribuição é aquela que se adaptar melhor a você."

       

      Aqui vai um bom conselho: providencie uma distro, qualquer uma, e instale. Teste por algum tempo, providencie outra, instale, teste e assim por diante. Antes que você se de conta você já estará usando bem o Linux e terá se decidido por uma distribuição !

       

      Ok, mas, mesmo assim, você quer saber qual a diferença entre elas ? Tudo bem, ai vai a resposta: a bem da verdade, nenhuma. O Linux em si é o mesmo. Afinal, o Linux é apenas o núcleo, o kernel do sistema. Claro, apenas com ele não se faz nada. O resto dos programas que compõe uma distribuição é que faz a diferença entre elas. Mas esses programas( no Linux chamamos os programas de pacotes) não são Linux ? Não. Eles são softwares, livres ou não( Open-Source, código aberto, ou proprietários), agrupados por uma empresa que, em conjunto com o Linux, dão a forma final a uma distribuição. Esse conjunto pacotes/Linux normalmente é chamado de GNU/Linux.

       

      Apenas como exemplo, podemos comparar esse conjunto ao hardware do seu computador. O processador( Linux) é o computador em si, mas você não faz nada apenas com o computador. Ao montar um micro, você acrescenta itens de diversos fabricantes, como memória, placa-mãe, HD, unidade de CD-Rom, disquete( pacotes) obtendo, assim, um conjunto que convencionamos chamar de computador (GNU/Linux). Simples, não ?

       

      Prosseguindo. Agora você já decidiu que distribuição usar, o que fazer agora ? Onde podemos encontrar uma descrição do modo de instalação ? Lembra dos fóruns que você descobriu ? Não, não, nem tente perguntar como instalar o Linux! Ou você vai obter muita informação ou nenhuma! Mais prático: todos os fóruns tem uma ferramenta de busca. Ela permite que você localize, no fórum, a informação desejada com facilidade. Use-a. Com certeza você vai descobrir que alguém, algum dia, em resposta a uma pergunta qualquer, informou um link para a documentação que você precisa.

       

      Achou a documentação ? O que ? Ela esta em inglês e seu inglês é muito fraco ? Isso pode se tornar um problema, a longo prazo. Tudo bem, lembra que dissemos que o Linux e sempre igual, o que muda são os pacotes que o acompanham ? Pois bem, você pode perfeitamente pegar um manual de outra distribuição( em português, claro)e instalar a sua a partir do que essa documentação lhe informar. Nesse ponto, cuidado! Supondo que você tenha se decidido pela distribuição Slackware ou pela Debian esse processo não vai dar muito certo. Felizmente para isso tem solução. Procure na Internet, use os sites de busca, que você vai encontrar sites com as informações que você precisa sobre essas distribuições em bom português !

       

      Agora, que você já instalou sua distribuição escolhida posso explicar algumas coisinhas importantes.

       

    • Primeiramente, pode acontecer de algum item do seu computador não funcionar de imediato com o Linux. Nesse caso o que fazer ? De novo, vamos aos fóruns! Novamente, não pergunte coisas como: "Sou novato em Linux, como fazer para o hardware xxx funcionar no meu Linux ?" Em 90% dos casos alguém já perguntou isso e, possivelmente, já teve resposta. De novo, use a ferramenta de busca que o fórum lhe oferece.

       

    • Não achou o que precisa ? Certo, nesse caso vamos perguntar o que fazer! Mas pergunte direito: informe qual distribuição você tem, diga exatamente qual o seu hardware e, o mais importante: seja preciso na sua pergunta.

       

    • Agora você já tem a informação que precisa mas, mesmo assim, não funciona. Não adianta perguntar "Instalei o pacote xxx mas meu yyy ainda não funciona. O que fazer ?" Diga o que você já tentou, qual o distribuição, qual o hardware e, o mais importante, quais as mensagens que o sistema lhe fornece. Essas informações são básicas para que os freqüentadores dos fóruns tenham um mínimo de base para te ajudar.

       

    • Você conseguiu a ajuda necessária e tudo funciona agora ? Excelente !! Não se esqueça de retornar ao fórum e informar que seu problema foi resolvido. Diga o que você fez para resolver, a partir das informações que você obteve. Isso vai ajudar novos usuários.

    Complementando: lembre-se de que alguns itens podem não funcionar no seu sistema, mesmo depois de muita ajuda. Duas possíveis causas: o item em questão não é mais suportado pelo Linux ou ainda não é suportado. Se for um item de baixo custo pode-se sempre pensar na sua troca por um que seja suportado. Se for um item de custo mais elevado pode-se aguardar que seja desenvolvido um pacote que permita seu funcionamento ou você mesmo pode desenvolver um processo. Neste último caso, não se esqueça de compartilhar sua descoberta com a comunidade Linux.

    Pronto! Agora você é um usuário Linux! O que ? Você ainda tem problemas ? Resolveu experimentar outra distribuição, instalou sem problemas mas seu modem( por exemplo) se recusa a funcionar ? Vejamos, o pacote que você usou para fazer seu modem funcionar não estaria desatualizado ? Você não teria se esquecido de instalar algum pacote importante (o pacote kernel-source é um bom exemplo) quando instalou o novo sistema ? Verifique esses pontos. Se o problema continuar, aonde você vai encontrar ajuda ? Isso mesmo ! Nos fóruns !

    Como ? Na verdade você simplesmente atualizou a distribuição por uma versão mais moderna ? E, ai, um item de hardware deixou de funcionar ? Certo, ele funcionava sem problemas antes. Voltamos a situação anterior. Será que o pacote que você instalou, para que aquele determinado item funcionasse, não estará obsoleto em relação a essa versão que você está usando agora ? E aonde você vai para conseguir ajuda ? Não, nos fóruns não! Pelo menos ainda não. Em primeiro lugar você deve ir ao site de onde você baixou aquele pacote pela primeira vez, pode ter uma versão mais atual. Depois sim, vá aos fóruns.

    Conforme você pode ver, a Internet, na figura dos sites sobre Linux e seus fóruns são aquelas entidades que irão funcionar como seus professores, permitindo que você tenha uma transição relativamente fácil, de Novo Usuário Linux para Usuário Linux. Mas nunca se esqueça: antes de perguntar pense, pesquise, leia a documentação disponível, experimente. Você vai aprender muito assim !




    Fonte: http://www.dicas-l.com.br/print/20030808.html

    Vota este artigo

    Recuperando partições danificadas

    by linuxdicas (27/11/2007 - 03:06)

    Recuperando partições danificadas

    Por Carlos E. Morimoto

    Assim como no Windows, você nunca deve desligar o micro no botão ao rodar qualquer distribuição Linux.

    Mas, acidentes acontecem. A energia elétrica acaba de vez em quando, alguns dos drivers de softmodems podem fazer o micro travar (estes drivers são proprietários, por isso não é possível corrigir bugs, como em outras partes do sistema; você depende unicamente da boa vontade do fabricante) e assim por diante.

    Durante o boot, o sistema verifica as partições em busca de problemas, tentando resolver qualquer inconsistência no sistema de arquivos causado por um desligamento incorreto. Você pode perder alguns arquivos que ainda não tivesse sido salvos no HD, mas a idéia é que a verificação coloque todo o resto em ordem.

    Para partições em ReiserFS é usado o reiserfsck, para partições em Ext2 ou Ext3 é usado o fsck e para partições em XFS é usado o xfs_repair.

    Mas, em alguns casos, o dano pode ser grande o suficiente para que não seja possível repará-lo automaticamente, fazendo com que o sistema simplesmente deixe de dar boot.

    Não há motivo para pânico. Você pode dar boot pelo CD do Kurumin e usá-lo para reparar as partições danificadas.

    Abra um terminal e vire root (su), lembre-se que ao rodar o Kurumin pelo CD você pode definir a senha de root usando o comando "sudo passwd". A partição a ser reparada precisa estar desmontada. Vou usar como exemplo a partição /dev/hda1.

    Se for uma partição Ext2 ou Ext3, use o comando:

     # fsck /dev/hda1 

     

    Ele vai começar a apontar os erros e perguntar se cada um deve ser corrigido. Normalmente você pode ir apenas respondendo "y" para tudo, mas caso existam dados realmente importantes na partição é melhor prestar mais atenção. Arquivos danificados ou fragmentos de arquivos que puderam ser recuperados vão para a pasta "lost+found" no diretório raiz da partição.

    Numa partição ReiserFS, comece com o comando:

     # reiserfsck --check /dev/hda1 

     

    Ele exibe um aviso:

     Do you want to run this program?[N/Yes] (note need to type Yes if you do): 

     

    Ou seja, você precisa digitar "Yes" para continuar, caso apenas dê Enter ele aborta a operação.

    Ele vai verificar toda a estrutura do sistema de arquivos e indicar os erros encontrados. O próximo passo é usar a opção "--fix-fixable":

     # reiserfsck --fix-fixable /dev/hda1 

     

    Este segundo comando efetivamente corrige todos os erros simples, que possam ser corrigidos sem colocar em risco as demais estruturas do sistema de arquivos. Em 90% dos casos isto é suficiente.

    Caso seja encontrado algum erro grave, ele vai abortar a operação. Estes erros mais graves podem ser corrigidos com o comando:

     # reiserfsck --rebuild-tree /dev/hda1 

     

    Este comando vai reconstruir do zero todas as estruturas do sistema de arquivos, vasculhando todos os arquivos armazenados. Esta operação pode demorar bastante, de acordo com o tamanho e quantidade de arquivos na partição. Nunca interrompa a reconstrução, caso contrário você não vai conseguir acessar nada dentro da partição até que recomece e realmente termine a operação.

    O --rebuild-tree vai realmente corrigir qualquer tipo de erro no sistema de arquivos. Ele só não vai resolver o problema caso realmente existe algum problema físico, como por exemplo um grande número de setores defeituosos no HD.

    Finalmente, caso você esteja usando uma partição formatada em XFS, comece com o:

     # xfs_check /dev/hda1 

     

    Ele vai indicar os problemas encontrados. Para realmente corrigi-los, rode o:

     # xfs_repair /dev/hda1 

     

    Assim como no caso do reiserfsck, todo o processo é automático. Ao contrário do ext2, tanto o reiserfs quanto o XFS são sistemas de arquivos muito complexos, por isso qualquer intervenção manual só aumentaria a possibilidade de destruir tudo.

    Mas, ambos incluem algumas opções avançadas, que podem ser especificadas no comando. Você pode dar uma olhada dentro dos manuais: "man reiserfsck" ou "man xfs_repair".


     

    Gostou da dica? Conheça outros trabalhos do autor




    Fonte: http://www.dicas-l.com.br/print/20050621.html

    Vota este artigo

    VSFTPD

    by linuxdicas (26/11/2007 - 22:43)

    VSFTPD

    Colaboração: Ali Faiez Taha

    Esta dica se refere ao servidor FTP denominado VSFTPD. O autor é Chris Evans <http://vsftpd.beasts.org/> vsftpd - probably the most secure and fastest FTP server for UNIX-like systems

    Conforme consta no site do servidor, provavelmente é o servidor FTP mais seguro para sistemas Unix like.

    Já vem nos CDs das distribuições Linux.

    A instalação é bem simples e descomplicada. No Linux Debian (Woody) a versão do VSFTPD é a 1.0.0. O detalhe é que no Debian é preciso ter instalado a biblioteca libcap-dev

    O arquivo de configuração vsftpd.conf possui parâmetros que permitem controlar timeout de conexões, número de conexões simultâneas, número de conexões por endereço IP e até quais usuários podem fazer uso do chroot.

    Pode ser instalado através de pacotes já compilados (RPM, DEB, etc) e através da compilação dos fontes. O VSFTPD pode trabalhar com os serviços INETD, XINETD ou em modo Standalone. A recomendação é que seja usado em conjunto com o INETD ou XINETD, pois pode ser melhor controlado.

    Quando controlado pelos serviços INETD ou XINETD, o TCP_WRAPPER (arquivos /etc/hosts.allow e /etc/hosts.deny) pode ser usado limitando os endereços IPs e redes que podem ter acesso ao servidor vsftpd.

    No modo Standalone isto não é possível. Os limites devem ser estabelecidos no arquivo vsftpd.conf . Também pode ser usado em conjunto com o PAM (Pluggable Authentication Modules) o que pode ser uma boa solução para autenticação de usuários locais.

    A documentação é bem abrangente e tem até um artigo descrevendo o software e sua utilização:

    http://techrepublic.com.com/5100-6261-5034763.html


    Lista de Discussão Hackers-L

    Colaboração: Adriana Rohatsko

    A palavra hacker é utilizada muitas vezes de forma errada pelos meios de comunicação não especializados como sinônimo de piratas e pichadores virtuais. Os hackers estão envolvidos em todas as áreas da computação como desenvolvimento de softwares livres e hardwares específicos e tem como característica principal, o amor pela computação.

    A lista de discussão hackers-l tem o objetivo de resgatar o verdadeiro significado da palavra hacker, que nada tem a ver com bandidos que pouco ou nada entendem de computação. Os assuntos tratados podem ser de qualquer tipo, desde dúvidas em linguagens de programação, hardware e segurança até sistemas e arquiteturas específicas.

    A lista não é moderada e todos podem enviar mensagens, desde que seja ético. A lista é administrada pela cientista de computação Adriana Rohatsko e pelo Engenheiro Narumi Abe.

    A lista fica em http://groups.yahoo.com/group/hackers-l




    Fonte: http://www.dicas-l.com.br/print/20031215.html

    Vota este artigo

    Recuperação GRUB Bootloader: Comentários

    by linuxdicas (26/11/2007 - 22:22)

    Recuperação GRUB Bootloader - Comentários

    Estou enviando hoje os comentários do Fernando Roxo, da Conectiva, que complementam admiravelmente a mensagem de ontem, sobre a recuperação do GRUB Bootloader:

     > -------------------------------------------------------------------- > Endereço: http://www.dicas-l.com.br/dicas-l/20020610.shtml > -------------------------------------------------------------------- > Software Livre na Unicamp > http://www.softwarelivre.unicamp.br > -------------------------------------------------------------------- > Recuperação GRUB Bootloader > > Em algumas ocasiões eu já perdi a configuração do GRUB > e segui esta receita: > > > # grub 

    Para o Conectiva Linux tem uma opção mais simples, existe um script /usr/sbin/grub-install que faz todo o "trabalho sujo". ;))

    Para instalações simples pode-se usar somente :

     # /usr/sbin/grub-install /dev/hda 

    Para fazer a instalação no MBR.

    Provavelmente este script está nas outras distribuições também, mas não tenho nenhuma em mãos para testar.

     > Geralmente você precisa restaurar o GRUB quando, após ter o GNU/Linux > instalado, se instala um outro sistema operacional da Microsoft. > O Windows 2000, por exemplo, além de remover a entrada do GRUB também > marca a partição do Linux como não ativa. > > Faz-se necessário então, além de restaurar o GRUB, marcar a partição > do Linux como bootavel, usando o fdisk. > 

     

    O Lilo e o Grub não usam a informação de partição ativa, esta informação só é usada pela BIOS e, possivelmente, pelo Windows :

     # fdisk -l /dev/hda Disco /dev/hda: 255 cabeças, 63 setores, 592 cilindros Unidades = cilindros de 16065 * 512 bytes Dispositivo Boot Início Fim Blocos Id Sistema /dev/hda1 1 2 16033+ 83 Linux /dev/hda2 3 592 4739175 5 Estendida /dev/hda5 3 321 2562336 83 Linux /dev/hda6 322 334 104391 82 Linux swap /dev/hda7 335 592 2072353+ 83 Linux 

     

    Como pode ser visto não há qualquer partição ativa no meu sistema.

    Mas isto significa que nunca é necessário "ativar uma partição" para fazer o boot com o Linux ? Bem, existe uma situação em que isto pode ser necessário, ou pelo menos interessante. Se a taxa de reinstalação do Windows for muito elevada a recuperação do "boot loader" pode se tornar uma atividade aborrecida. Como facilitar o processo ? Você pode instalar o "boot loader" no primeiro superbloco da partição '/' do Linux. Neste caso a BIOS vai ter que saber onde ele vai buscar o "loader" para o boot e esta é a função de "marcar uma partição como ativa". Há alguma vantagem nisto ? A grande vantagem é que na próxima reinstalação do Windows bastará você usar o próprio 'FDISK.EXE' ( ou será .COM ? ) do Windows para marcar como ativa a partição onde está instalado o "boot loader" do Linux, no próximo boot a BIOS irá buscar o "loader" correto.

    Eu já usei esta opção com sucesso com o Lilo. Nunca testei com o Grub, mas acredito que deva funcionar do mesmo modo.

    Fernando M. Roxo da Motta <roxo arroba conectiva.com.br>




    Fonte: http://www.dicas-l.com.br/print/20020611.html

    Vota este artigo

    Usando o Corretor Ortográfico do OpenOffice no Mozilla Thunderbird

    by linuxdicas (24/11/2007 - 04:33)

    Usando o Corretor Ortográfico do OpenOffice no Mozilla Thunderbird

    Colaboração: Márcio Roberto Pantoja Moraes

    Para usar o corretor ortográfico do OpenOfice.org ou do BrOffice.org no Mozilla Thunderbird do Linux, baixe o arquivo de palavras de http://www.deso-se.com.br/downloads/pt_br-1400R.zip e descompacte-o no diretório /usr/lib/thunderbird/components/myspell/, dependendo de sua distro esse diretório pode ser diferente. Então, se o mesmo não existir no seu sistema procure em outros lugares ou use o comando ``rpm -ql mozilla-thunderbird`` ou rpm -ql thunderbird para descobrir onde ele se encontra.

    Agora, se você estiver usando a última versão do BrOffice.org 2.0.3, você pode copiar diretamente os arquivos pt_BR.aff e pt_BR.dic de /opt/broffice.org2.0/share/dict/ooo/ para /usr/lib/thunderbird/components/myspell/.

    Se você estiver usando o thunderbird, você deve fechá-lo e abrí-lo para que o thunderbird carregue o novo corretor ortográfico.

    Para usar o corretor ortográfico clique em "Nova Mensagem", aparecerá a janela de "Edição de Mensagem". Observe que o botão "Ortografia" está desativado. Para ativá-lo devemos clicar na caixa de texto onde escrevemos a mensagem e verificamos que o botão foi ativado. Se você clicar nesse botão, aparecerá uma janela "Verificar ortografia" onde em "Idioma" voc pode escolher pt_BR.

    Você pode também clicar mantendo pressionado o mouse na marca (seta) ao lado do botão "Ortografia" na janela "Edição de Mensagem", onde aparecerá a opção pt_BR para que o texto digitado no corpo do e-mail seja corrigido com nosso dicionário.

    Observe que algumas palavras do texto serão marcadas em vermelho como num editor de textos. Se você clicar com o botão direito em cima da palavra grifada em vermelho, você terá as sugestões das palavras e também poderá adicionar a palavra ao dicionário ou ignorar palavra.




    Fonte: http://www.dicas-l.com.br/print/20060829.html

    Vota este artigo

    Realizando backups em HD com Amanda

    by linuxdicas (24/11/2007 - 04:11)

    Realizando backups em HD com Amanda

    Colaboração: Daniel Lobato Duclós

    Versão On Line

    Todo administrador de sistemas sabe que o backup é uma parte vital da segurança e garantir sua realização e integridade é crítico no seu cotidiano.

    Existem muitas alternativas de backups destinadas a todos os tamanhos de rede e bolso, e o Amanda é sempre citado como uma alternativa livre e gratuita.

    Porém o Amanda é comumente utilizado para realizar backups em fita, o que nem é sempre econômico, já que hoje em dia HDs são muito baratos e certamente mais práticos para uma pequena empresa utilizar.

    É perfeitamente possível ter um amanda realizando backups no disco rígido, e como realizar isso é a que nos propomos neste artigo.

    Do que você irá precisar

    Escolha uma máquina para ser o servidor de arquivos. Este tutorial considera que se utilizará como sistema operacional desse servidor o Debian GNU/Linux atualizado, porém pode perfeitamente servir de base para que a mesma tarefa seja realizada em outras distribuições.

    É muito interessante que esta máquina tenha bastante espaço em disco e se possível um HD dedicado somente ao backup.

    Essa máquina deve estar conectada à rede das outras máquinas que terão seus dados salvos.

    Estratégia de backups e definições

    Iremos criar no HD 14 fitas "virtuais", que serão diretórios no HD. O Amanda considera que será rodado uma vez por dia.

    O amanda pode realizar backups completos (full) e incrementais. Você pode decidir a freqüência e a retenção (por quanto tempo ficarão armazenados) desses backups.

    Nesse artigo escolhemos realizar um backup completo uma vez por semana e incrementais seis vezes por semana, criando um ciclo semanal.

    A retenção é feita por duas semanas, com uma fita virtual por backup.

    Esse parâmetros podem ser alterados no /etc/amanda/DailySet1/amanda.conf, na seção:

     dumpcycle 7 days tapecycle 14 

     

    Se quiser realizar dois backups completos em uma semana, por exemplo, altere para:

     dumpcycle 3 days tapecycle 14 

    As fitas virtuais ficarão em /backups e o usuário com que o amanda irá rodar é o padrão do Debian, "backup". Este usuário já existe na Debian, porém pode variar em outras distribuições.

    Resta agora decidir o tamanho que cada fita virtual terá. Nesse exemplo escolhemos 10 GB por fita, o que dá um espaço alocado de 140 GB para backups.

    Instalação e Configuração: Servidor

    No servidor instale o amanda. É muito importante que seu Debian esteja com a versão atualizada do sistema, pois a versão do amanda que está na Stable não suporta backup para disco rígido. A versão 2.4.4p3-2 foi utilizada neste tutorial:

     apt-get install amanda-server 

     

    Após feita a instalação, vamos configurá-lo:

     cd /etc/amanda/DailySet1/ 

     

    Salve uma cópia do arquivo original, se quiser:

     cp /etc/amanda/DailySet1/amanda.conf<,-ori> 

     

    Agora edite o arquivo /etc/amanda/DailySet1/amanda.conf, apague seu conteúdo e coloque o seguinte, lembrando que o que vem depois do sinal # é considerado comentário e será ignorado pelo Amanda::

     org "DailySet1" # Nome descritivo para as mensagens mailto "sysadmin@dominio.com" # Email de quem irá receber os logs dumpuser "backup" # Usuário dono dos backups inparallel 1 # Procesos em paralelo netusage 10 # Uso máximo de banda em Kbps dumpcycle 7 days # Número de dias de um ciclo completo tapecycle 14 # Número de "fitas" runtapes 1 # Quantas fitas usar por ciclo tpchanger "chg-multi" # Script controlador de fitas changerfile "/etc/amanda/DailySet1/changer.conf" # Configuração das fitas tapetype HARD-DISK # Tipo de armazenamento labelstr "^HISS[0-9][0-9]*$" # Expressão regular das etiquetas das fitas infofile "/var/lib/amanda/DailySet1/curinfo" # Diretório de datos logfile "/var/log/amanda/DailySet1/log" # Diretório de log indexdir "/var/lib/amanda/DailySet1/index" # Diretório de índice amrecover_changer "chg-multi" # Seleciona as fitas automaitcamente no restore # definição de arquivamento com dump define dumptype hard-disk-dump { comment "Backup no HD - usando dump" holdingdisk no index yes options compress-fast, index, exclude-list "/etc/amanda/exclude.gtar" priority high } # Definição do armazenamento com tar define tapetype HARD-DISK { comment "HD" length 10000 mbytes # 10 GB de espaço } # Definição de armazenamento com 'tar' define dumptype hard-disk-tar { program "GNUTAR" hard-disk-dump comment "Backup para disco - usando tar" } 

     

    Edite o arquivo '/etc/amanda/DailySet1/changer.conf' para definir as características das "fitas" e coloque o seguinte:

     multieject 0 gravity 0 needeject 0 ejectdelay 0 statefile /var/lib/amanda/DailySet1/changer-status firstslot 1 lastslot 14 slot 1 file:/backups/tape01 slot 2 file:/backups/tape02 slot 3 file:/backups/tape03 slot 4 file:/backups/tape04 slot 5 file:/backups/tape05 slot 6 file:/backups/tape06 slot 7 file:/backups/tape07 slot 8 file:/backups/tape08 slot 9 file:/backups/tape09 slot 10 file:/backups/tape10 slot 11 file:/backups/tape11 slot 12 file:/backups/tape12 slot 13 file:/backups/tape13 slot 14 file:/backups/tape14 

     

    Agora a vez é do '/etc/amanda/DailySet1/disklist', que irá definir quais máquinas terão quais diretórios armazenados:

     # O nome da máquina deve ser o que está no DNS (ou no /etc/hosts) cliente.dominio.com /home hard-disk-tar cliente.dominio.com /var hard-disk-tar cliente.dominio.com /etc hard-disk-tar cliente2.dominio.com /home hard-disk-tar cliente2.dominio.com /usr/local hard-disk-tar 

     

    Os nomes das máquinas clientes devem estar definidas no seu /etc/hosts ou no seu DNS.

    A seguir iremos criar os diretórios das fitas virtuais:

     mkdir /backups 

     

    Então, os sub-diretórios:

     mkdir -p /backups/tape01/data mkdir -p /backups/tape02/data [...] mkdir -p /backups/tape14/data 

     

    Acerte a permissão de modo que o usuário de backup possa escrever nesses diretórios::

     chown -R backup:backup /backups 

     

    Vamos editar o agendador de tarefas (cron) para realizar os backups às 5:00 da manhã. Edite o '/etc/crontab' e acrescente a seguinte linha:

     00 5 * * * backup /usr/sbin/amdump DailySet1 

     

    Edite o '/etc/amandahosts' para permitir o acesso do usuário que irá realizar a restauração de arquivos, no caso o root. Acrescente essas linhas:

     #servidor usuário servidor root 

     

    É necessário iniciar os serviços de rede do Amanda, para que o backup e os restores possam ser feitos. Isso é definido através do super-servidor inet ou seu substituto, o xinet. Iremos mostrar como configurar os dois. Primeiro o inetd. Descomente ou insira as seguintes linhas no seu '/etc/inetd.conf' :

     amanda dgram udp wait backup /usr/sbin/tcpd /usr/lib/amanda/amandad amandaidx stream tcp nowait backup /usr/sbin/tcpd /usr/lib/amanda/amindexd amidxtape stream tcp nowait backup /usr/sbin/tcpd /usr/lib/amanda/amidxtaped 

     

    Reincie o inetd::

     /etc/init.d/inetd restart 

     

    Caso possua xinetd, inclua no arquivo '/etc/xinetd.conf'::

     service amanda { socket_type = dgram protocol = udp wait = yes user = backup server = /usr/lib/amanda/amandad } service amandaidx { socket_type = stream protocol = tcp wait = no user = backup server = /usr/lib/amanda/amindexd } service amidxtape { socket_type = stream protocol = tcp wait = no user = backup server = /usr/lib/amanda/amidxtaped } 

     

    Os próximos comandos serão dados como o usuário backup:

     su - backup 

     

    Crie o arquivo de lista de tapes, que será posteriormente preenchido pelo Amanda:

     touch /etc/amanda/DailySet1/tapelist 

     

    Agora vamos etiquetar as fitas virtuais, para uso do Amanda:

     /usr/sbin/amlabel DailySet1 HISS01 slot 1 /usr/sbin/amlabel DailySet1 HISS02 slot 2 /usr/sbin/amlabel DailySet1 HISS03 slot 3 [...] /usr/sbin/amlabel DailySet1 HISS14 slot 14 

     

    Instalação e Configuração: Clientes

    A configuração no servidor está completa. Agora iremos para um cliente Linux, que pode ser o desktop de alguém ou seu Servidor Web, por exemplo. Caso esse cliente também esteja rodando Debian:

     apt-get install amanda-client 

     

    Ou instale o cliente do amanda da sua distribuição.

    Agora, edite o '/etc/amandahosts':

     # nome da maquina usuario servidor.dominio.com backup 

     

    Note que o nome do servidor deve estar definido no /etc/hosts do cliente ou no seu DNS interno. O mais fácil é definir no '/etc/hosts', nesse formato:

     192.168.1.110 servidor.dominio.com servidor 

     

    Estamos quase lá. É preciso que o seu cliente esteja escutando na rede para que, quando o servidor se conectar, ele consiga transferir os dados. Como explicado anteriormente, isso pode ser feito via inet ou xinet. Vamos ver os dois casos.

    No Debian, quando se instala o amanda-server ele insere a seguinte linha no seu '/etc/inetd.conf' :

     amanda dgram udp wait backup /usr/sbin/tcpd /usr/lib/amanda/amandad 

     

    Se não estiver lá, insira manualmente a linha. Em qualquer dos casos reinicie o inetd.conf::

     /etc/init.d/inetd.conf restart 

     

    Caso você utilize o xinetd porém, basta editar o '/etc/xinetd.conf' e colocar assim:

     service amanda { socket_type = dgram protocol = udp wait = yes user = backup server = /usr/lib/amanda/amandad } 

     

    Reinicie o xinetd:

     /etc/init.d/xinetd restart 

     

    E a configuração está pronta!

    Restaure os backups!

    O seu backup foi realizado com sucesso às 5:00 da manhã e tudo está certo. É hora de aprender a restaurar os backups enquanto tudo está tranquilo e ninguém esta desesperado gritando com você pelos seus dados preciosos.

    Existe algumas maneiras de fazer isso. Uma é utilizando o 'amrecover', como root. Essa opção é a que iremos utilizar, por ser a mais poderosa.

    Na máquina servidora, como root, crie um diretório de restore:

     mkdir /restore cd /restore 

     

    Agora, chame o programa de recuperação:

     amrecover 

     

    Dê o comando que determina a data que você quer restaurar, no formato AAAA-MM-DD, onde AAAA é o ano com quatro dígitos, MM é o mês com dois dígitos e DD é o dia com dois dígitos:

     amrecover> setdate 2004-11-06 200 Working date set to 2004-11-06. 

     

    Aqui você determina de qual cliente você quer restaurar o backup:

     amrecover> sethost cliente 200 Dump host set to cliente. 

     

    A seguir você determina de qual "disco" você irá restaurar o backup. Se você especificou para ser feito o backup do diretório '/home' do cliente ponha '/home'. Mesmo que você vá restaurar somente um diretório ou somente um arquivo. Veja abaixo como extrair somente um arquivo do diretório '/home/daniduc' :

     amrecover> setdisk /home 200 Disk set to /home. 

     

    Aqui você navega até o diretório::

     amrecover> cd daniduc /home/daniduc 

     

    O próximo passo é adicionar o arquivo a ser restaurado. Lembre-se que você pode usar coringas, como o * para adicionar todos os arquivos, ou pode adicionar um diretório:

     amrecover> add .bash_history Added /daniduc/.bash_history 

     

    Continue adicionando diretórios e arquivos, conforme o necessário.

    Aqui você pede para o Amanda selecionar a fita virtual automaticamente:

     amrecover> settape chg-multi Using tape "chg-multi" from server localhost. 

     

    E finalmente, só resta extrair os arquivos:

     amrecover> extract Extracting files using tape drive chg-multi on host localhost. The following tapes are needed: HISS06 Restoring files into directory /restore Continue [?/Y/n]? y Extracting files using tape drive chg-multi on host localhost. Load tape HISS06 now Continue [?/Y/n/s/t]? y ./daniduc/.bash_history amrecover> exit 

     

    Pronto, foi feita a restauração do arquivo dentro do diretório /restore! Sua empresa já pode dormir tranqüila, sabendo que possui backups eficientes a um custo extremamente acessível.




    Fonte: http://www.dicas-l.com.br/print/20041213.html

    Vota este artigo

    Acertando a hora de computadores com GNU/Linux

    by linuxdicas (24/11/2007 - 02:57)

    Acertando a hora de computadores com GNU/Linux

    Colaboração: Ivan de Gusmão Apolonio <<ivan (a) dimensional-brasil com>>

    Com relação aos relógios dos computadores, é sempre importante mantê-lo com a hora certa. Para isso existe um comando que busca a hora de um servidor de hora da internet. A sintaxe é bastante simples: ntpdate <servidor de hora>

     # ntpdate ntp1.rnp.br 4 Jun 08:29:00 ntpdate[2961]: step time server 200.19.119.69 offset 0.771241 sec 

    Como os servidores da RNP não funcionam com muita regularidade, você pode obter uma lista de servidores alternativos em http://www.eecis.udel.edu/~mills/ntp/clock1.htm =

    Com esse comando seu micro busca a hora e data no servidor indicado, no nosso exemplo, em um servidor da RNP.

    É bom lembrar que ao executar esse comando acerta somente a hora do sistema e não o relógio do hardware, perdendo-se assim a hora quando o micro for reiniciado. Para acertar o relógio de hardware com a hora certa é preciso dar outro comando em seguida:

     # clock --systohc 

    Pronto! O relógio do computador está precisamente acertado. Se este computador for um servidor de rede, ele pode ser um servidor de hora também para os micros da rede local. Em estações Windows, bastar dar o comando:

     C:> net time \servidor /set /yes 

    Assim a estação pegará a hora e data certas a partir de um servidor Linux com samba. Esse comando pode ser colocado no login script dos usuários ou pode ser feito um arquivo bat para ser executado na inicialização do Windows.

    O pacote para o ntpdate no Conectiva Linux 6.0 chama-se xntp3-x.xx.i386.rpm e no RedHat chama-se ntp-X.XX.i386.rpm.




    Fonte: http://www.dicas-l.com.br/print/20010614.html

    Vota este artigo

    Amarok

    by linuxdicas (24/11/2007 - 02:24)

    Amarok

    Colaboração: Erasmo Melo

    Eu usava e muita gente usa o xmms. De repente encontrei o amarok, comecei a usar e percebi que ele é muito interessante.

    Ele tem um scanner que verifica quando tem musicas novas ou foi deletada alguma. Quando você usa pela primeira vez, ele abre um assistente:

    • Eu gosto de janela única.
    • Localize o diretório/pasta aonde você coloca suas músicas.
    • Uma pergunta é sobre o banco de dados que você vai usar. Se você não tem outro banco de dados, deixe no padrão "SQLite".

    Começa o show.

    Depois de abrir, se você fechar (no X), um ícone ficará (no caso do KDE) ao lado do relógio. Se estiver tocando música, ele continuará tocando. Se você for fechar, tem ser ou no menu ou Ctrl + Q ou clicar no ícone com o botão direito do mouse, em que aparecerá a opção de fechar.

    Com ele aberto, você verá, do lado esquerdo:

    • Contexto
    • Coleção
    • Listas
    • Dispositivos
    • Arquivos

    Contexto: Fecha ou abre mais opções, divididas por abas.

    1. Início - mostra estatísticas gerais.
    2. Atual - mostra estatísticas das músicas que estão tocando.
    3. Letras - Aqui é legal, você tem mais quatro opções:

    Aqui irá mostrar a letra da musica se houver.

    a.Um sinal de "+", para inserir a letra da música que esta tocando, no site Lyrics. Aqui você pode colaborar colocando a letra, caso a letra não conste do acervo.

    b.Uma lupa, serve para chamar o Google.

    c.Duas setas, para buscar novamente a letra da musica

    d.Uma engrenagem, mostra no konqueror com a letra da musica, para você copiar.

    4.Wikipedia: você pode colocar a biografia do artista.

    Coleção: Aparecerão todas as suas músicas. Lembrete - se você clicar com o botão direito do mouse, em cima da música, você poder colocar os dados da música. A Coleção será organizada pelas informações. Com o botão direito você tem as opções:

    • Carregar - colocar para tocar
    • Anexar à lista de Músicas (para tocar)
    • Colocar na faixa da Fila ( enumera as músicas para tocar)
    • Gravar em CD
    • Editar as informações da música

    Listas: São as várias listas de músicas ou de rádios(streams).

    Dispositivos: Se você tiver algum dispositivo (iPod) de ouvir som, pode se conectar e baixar ou enviar as músicas.

    Arquivos: Aqui se você clicar, aparece os diretórios/pastas. Inclusive tem um painel de busca.

    Quando você clicar na música, que está tocando ou que já tocou, com o botão direito, aparece as seguintes opções:

    • Reiniciar - tocar novamente
    • Colocar a Faixa na Fila
    • Pausar
    • Parar de reproduzir depois da Faixa
    • Editar ediqueta titulo
    • Copiar a ediqueta para àrea de transferência
    • Queimar(gravar) em CD/DVD
    • Remover da lista de música(não apaga a música)
    • Apagar o arquivo(CUIDADO APAGA A MÚSICA, sem choro)
    • Editar informações da faixa

    obs: se a direita, onde ficam a músicas tocadas, tocando e as que irão tocar, se você selecionar e deletar, não apaga a música, somente tira da lista.

    Se você colocou música nova do diretório/pasta, ele escaneia automágicamente. Outra opção interessante, é a das capas. Vá em ferramentas >> Gerenciador de capas - ele procura as capas. Você, também, pode clicar no desenho com um ponto de interrogação, ele vai buscar a capa no Amazon.com.

    Existem mais opções, mas estas, na minha opinião, são as mais interessantes.




    Fonte: http://www.dicas-l.com.br/print/20060317.html

    Vota este artigo

    Nova versão do Agata Report

    by linuxdicas (24/11/2007 - 00:45)

    Nova versão do Agata Report

    Gostaria de enviar a vocês o anúncio da nova versão do Agata Report, desenvolvido por Pablo Dall'Oglio, da equipe da Univates.

    Nós usamos o Agata Report aqui na Unicamp e eu realmente não tenho palavras para descrever como é útil, em diversos aspectos.

    Para saber mais, continue lendo :-)

    UNIVATES, 22 de Outubro de 2002.

    Saiu a versão final do Agata Report - Gerador de Relatórios.

    http://agata.codigolivre.org.br

    Estas características vem sido trabalhadas desde o início da versão 3.

    • Suporte à temas (skins) de gtk.themes.org;
    • Importação de arquivo DBF para Base SQL;
    • Gerenciador de projetos;
    • Manual do usuário em português e Inglês;
    • Novas cláusulas;
    • Testado e preparado para DB2;
    • Instalação facilitada para windows também;

    A nova versão 4.0 já está sendo projetada, com novos recursos visuais.

    Mas o que é o Agata Report ?

    Agata Report é um gerador de relatórios, desenvolvida em PHP-GTK. Permite a edição e obtenção de pesquisas SQL de bases de Dados como arquivos texto ou PostScript.

    Ele conecta na Base de Dados, lista suas tabelas, campos, e permite fazer ligações entre as tabelas, restrições, ordenações, aplicar funções e realizar a consulta ao final. Ele Gera o resultado para arquivo PostScript ou TXT.

    • Atualmente, O Agata tem suporte ao Inglês, Português, Italiano, Francês, Alemão e Suéco;

       

    • O Agata conecta em PostgreSQL, MySQL, Oracle, SyBase, MsSql e FrontBase, Informix and InterBase. Mas o Agata foi suficientemente testado apenas com PostgreSQL, Informix, MsSql, InterBase, MySQL e DB2;

    Agata Report tem algumas ferramentas úteis:

    • Agata EIS é uma ferramenta para geração de gráficos. Permite ao usuário definir uma série de instruções SQL para obter informações do Banco de Dados. Estas informações (colunas numéricas) serão desenhadas como gráficos de linhas, colunas ou pizza. O usuário também poderá exportar os dados no formato CSV, para usá-los em outra planilha eletrônica como gnumeric ou kspread.

       

    • Merge tool permite escrever qualquer documento (p.e. uma carta) e inserir qualquer variável apartir da pesquisa SQL. Você pode definir SubPesquisas dentro do documento, também. Há vários símbolos, linhas e fontes que você pode usar. No final, o resultado será um arquivo PostScript;

       

    • Label tool é um (mini Merge Tool) que é útil para gerar etiquetas de endereçamento. Você pode definir o formato inserindo os campos onde você quiser. As Etiquetas serão geradas em uma página A4 com 2 colunas (Arquivo PostScript);

       

    • Dia tool é uma ferramenta para gerar diagramas. Através desta opção você pode gerar um Diagrama (Formato DIA) com todas as tabelas envolvidas na consulta. A Dia tool não desenha as linhas entre as tabelas no diagrama ainda.

       

       +--------------------------------------------------+ | _ Pablo Dall'Oglio (pablo@php.net) | | °v° Univates - IT Department +55 51 3714-7040 | | /(_) Life is a jorney, not a destination... | | ^ ^ Linux User n.223253, Lajeado, RS - Brasil | +--------------------------------------------------+ : Programmer, pilot, wine taster and a half musician 



    Fonte: http://www.dicas-l.com.br/print/20021028.html

    Vota este artigo

    Emulando Video Game no Linux

    by linuxdicas (24/11/2007 - 00:40)

    Emulando Video Game no Linux

    Colaboração: Eder Miranda

    Recentemente falei sobre jogos nativos para Linux. Hoje falarei um pouco sobre emuladores de Video Games para Linux. Emuladores de Video Games são bem populares para Windows, não se ouve falar muito de emuladores para Linux. Pois bem, hoje darei algumas dicas de bons emuladores de Video Games para Linux. Mostrarei cinco emuladores para cinco Video Games diferentes:

    • Super Nintendo;
    • Game Boy Séries (GB, GBC, GBA, ...);
    • Nintendo 64;
    • Mega Drive, SegaCD e Sega32X;
    • Playstation One.

    IMPORTANTE

    Antes de instalar qualquer um dos emuladores de dica certifique-se que em sua distribuição Linux estaja instalado o a biblioteca gráfica SDL (Simple Direct Layer - Camada de Acesso Direto), ele funciona mais ou menos como o Directx do Windows, caro que tem a diferença de ser onpen source.

    Para baixá-la a bibliote SDL, vá em http://www.libsdl.org ou procure um pacote relativo à tua distro. Se for RPM, tente procurar em http://www.rpmfind.net.

    Além dos emuladores instalados é necessário ter a rom do jogo na máquina, só assim é possível jogar.

    Super Nintendo (Zsnes)

    Este emulador é sucesso em emulação de jogos de Super Nintendo (Snes). Iniciamente desenvolvido para emular o Snes no Windows, possui também uma ótima versão para Linux, que não deixa a desejar.

    1. Baixe o pacote de instalação no site http://www.zsnes.com/index.php?page=files.
    2. Execute os seguintes comandos:
       $ tar -xzvf zsnes...tar.gz $ cd zsnes../src $ ./configure $ make $ make install 
    3. Para executar o programa é usar o comando zsnes. Se achar necessário crie um atalho para facilitar o acesso.

    Observações

    • Na minha instalação foi necessário instalar o nasm. Então caso haja algum problema na instalação, é só instalar a dependência que o configurador está pedindo.
    • Em Pcs com placas de som onboard é interessante colocar o som em 44000 Khz. Pois com 22000 Khz percebece um pequeno chiado.
    • Se você tem joystick, ele pode ser facilmente configurado e com uma boa jogabilidade.


     

    Game Boy Séries (VBA)

    O VisualBoyAdvance (VBA) é um Emulador de Game Boy Advance Game Boy, Super Game Boy e Game Boy Color. Atualmente é o emulador mais popular de GBA, contendo diversas funções, desde a gravação de demos e sons até o uso de filters gráficos para deixar o visual dos jogos ainda melhor. Para instalar siga as instruções:

    1. Baixe o software em http://prdownloads.sourceforge.net/vba/VisualBoyAdvance-src-1.7.2.tar.gz.
    2. Execute os seguintes comandos:
       $ tar - xzvf VisualBoyAdvance-src-1.7.2.tar.gz $ cd VisualBoyAdvance-1.7.2 $ ./configure $ make $ make install 

    Pronto o emulador já está instalado! Para executa-lo, use o seguinte comando:

     /usr/local/bin/VisualBoyAdvance <nome rom>. 

     

    Observações

    • Na instalação do VBA, também foi necessário instalar o nasm.
    • Usando o comando /usr/local/bin/VisualBoyAdvance, é possível saber todos as opções que esse emular oferece!

    Nintendo 64 (Mupen64)

    O Mupen64 um emular novo para o Nintendo64. Ele é o emulador mais fácil e mais rápido de se instalar.

    1. Baixe o arquivo em http://mupen64.emulation64.com/down.htm
    2. Para instalá-lo basta descompactar o arquivo, para isso use o seguinte comando:

       

       $ tar xvfj mupen64....tar.br2 

    Pronto, o Mupen64 está instalado!!

    Para executar o Mupen64 entre no diretório em que ele foi descompactado e digite o comando ./mupen64

    Observações

    • A interface do Mupen64 é bem intuitiva, é só entrar em config e você terá todas as opções necessárias para deixá-lo rodando legal, não tem secredo.
    • Nesse endereço http://mupen64.emulation64.com/shots.htm você encontra uns screenshots dos jogos no Windows, mas testei Mario 64 e Castlevania, os dois funcionaram sem problemas no Linux.

    Mega Drive e SegaCD (gens)

    O gens é um dos melhores emuladores de MegaDrive, SegaCD e Sega32X existente. Uma de suas maiores vantagens é ler arquivos zipados, o que garante uma maior economia de espaço no HD, já que as ROMs não precisam ser descompactadas.

    Siga os passos:

    1. Baixe o Gens for Linux em http://prdownloads.sourceforge.net/gens/gens-rc2.tar.gz
    2. Execute os seguintes comandos:
       $ tar - xzvf gens...tar.gz $ cd gens.../ $ ./configure $ make $ make install 
    3. O arquivo executável pode ser encontrado em /home/<usuario>/gens-linux/gens/gens, crie um link no /usr/local/bin:

       

       $ ln -s /home/<usuario>/gens-linux/gens/gens /usr/local/bin/gens 

    Pronto, você já pode executar o comando gens e iniciar o emulador.

    Observações

    Alguns screenshots dos jogos suportados pelo Gens pode ser visto em http://gens.consolemul.com/screenshots.shtml. A maioria está rodando na versão do Windows, mas eles funcionam normalmente no Linux.

    PlayStation (Epsxe)

    Esse emulador para PlayStation tem uma versão nativa para o Linux. A versão mais recente é a 1.6.0. A configuração do Epsxe é a mais "chata". Siga os passo:

    1. Baixe o emulador no site do projeto, http://www.epsxe.com/download.php.
    2. Em seguinda baixe a bios em http://www.filemirrors.com/search.src?type=begins&file=scph (Pegue o arquivo scph1001.zip).
    3. O epsxe tem vários plugins, pegue um pacote com aproximadamente 4MB com mais de 90 plugins, no site http://www.aldostools.com/psemu/plugins.zip

    Pronto!!

    A instalação do Epsxe é muito fácil:

    1. Descompacte o arquivo epsxe160lin.zip
    2. Em seguida, pegue o arquivo da bios e copie dentro do diretório do epsxe/bios.
    3. Finalmente descompacte o arquivos dos plugins no diretório plugins da pasta do emulador. Instalação completa!!

    Para executar o epsxe entre no diretório em que ele foi descompactado e digite o comando ./epsxe.

    Observações

    • Esse emulador possui muitos plugins, se você tiver uma placa de vídeo boa, dê preferência aos plugins OpenGL.
    • Leia o artigo do Carlos Morimoto em http://www.guiadohardware.info/artigos/258/, tem um tutorial bem legal com imagens e os plugins mais utilizados. Vale à pena dar uma olhada.
    • Não existe Roms de PlayStation, para rodar os jogos é necessário ter o CD do jogo a mão.

    Pretendo fazer outros tutoriais para emuladores de outros video games. Aguardem.




    Fonte: http://www.dicas-l.com.br/print/20060311.html

    Vota este artigo

    Indexação de Sites: robots.txt

    by linuxdicas (21/11/2007 - 02:00)

    Indexação de Sites - robots.txt

    A maioria de nós deseja que o conteúdo de seu site seja indexado pelo Google, Altavista e outros mecanismos de busca.

    Entretanto, para determinadas seções de nossos sites, isto pode não ser desejável. Como fazer para impedir que conteúdo reservado seja indexado?

    A maioria dos softwares de indexação obedece a algumas convenções, entre elas a de respeitar as informações sobre o que pode ou não ser indexado, contidas em um arquivo chamado robots.txt e localizado no diretório raiz do servidor Web.

    Este arquivo é bem simples (mas pode ficar complexo, dependendo das suas necessidades.

    Um pequeno exemplo:

     User-agent: * Disallow: /cgi-bin/ Disallow: /fotos/ 

     

    O arquivo acima indica que nenhum indexador pode indexar o conteúdo dos diretórios /cgi-bin e /fotos.

    A opção User-agent pode indicar apenas um determinado indexador. O indexador do Google, por exemplo, chama-se googlebot. Se o googlebot estiver visitando o seu site e ver algo como

     User-agent: googlebot Disallow: / 

     

    nada será indexado.

    Caso você crie um arquivo como este para o seu site e quiser ver se fez tudo corretamente, existe um serviço de validação de arquivos robots.txt em http://www.searchengineworld.com/cgi-bin/robotcheck.cgi

    Neste mesmo local, caso você queira saber mais, existem diversas informações adicionais sobre este protocolo e também alguns exemplos interessantes.




    Fonte: http://www.dicas-l.com.br/print/20040329.html

    Vota este artigo

    Comunicação Segura com PGP

    by linuxdicas (20/11/2007 - 21:55)

    Comunicação Segura com PGP

    Colaboração: Jonildo Andrade dos Santos [<jonildo (a) e-net com br>]

    Mensagens eletrônicas têm vantagens evidentes sobre documentos em papel, mas também algumas importantes desvantagens. É relativamente fácil para um hacker espião interceptar suas mensagens privadas. Também não é difícil alguém enviar uma mensagem forjada como se fosse sua. Documentos eletrônicos sempre podem ser adulterados sem deixar qualquer marca. Para resolver esses três problemas, e mais alguns, existe um freeware que pode solucionar esse problema. PGP, 6i, da Network Associates, Inc. (NAI).

    Como funciona

    O PGP (Pretty Good Privacy) permite que você criptografe textos de e-mail ou arquivos quaisquer de forma que somente você, ou um grupo específico de destinatários, possa abrí-los. Para isso, é necessário que todos os envolvidos sejam usuários do PGP, e que tenham trocado anteriormente suas chaves públicas. O PGP utiliza uma técnica chamada criptografia de chave pública.

    Versão internacional

    A atual versão do PGP é a 6.5.1i. A letra "i" indica "versão internacional". Ela é praticamente idêntica à versão freeware que é disponível legalmente apenas para cidadãos americanos e canadenses em virtude da tal legislação. A NAI vem desenvolvendo o produto em versões comerciais e freeware que pode ser baixado apartir do seu site ou do seguinte endereço: http://www.pgpi.org/ Ele possui vário plugins para os principais programas de correios: Pine, Lotus Notes, Eudora, Outlook Express, Microsoft Outlook.

    Arquivos bem apagados

    Além dos recursos tradicionais de cifragem e decifragem, o PGP 6 traz também dois utilitários complementares que servem para apagar arquivos sem deixar vestígios. Isso é necessário porque, ao cifrar um documento, o PGP na realidade gera uma cópia cifrada do original. Mesmo que você apague do disco o documento original, não é preciso ser um grande perito para recuperá-lo com o auxílio de um programa especial como o Norton Utilities. Para evitar que isso aconteça, você pode usar o comando "wipe" (limpar), que o PGP coloca no menu contextual ao clicarmos com o botão direito do mouse sobre um arquivo. Antes de apagar o arquivo, o "wipe" o sobrescreve múltiplas vezes com dados aleatórios impedindo sua reconstituição. Se você escreveu o documento original em um programa como o Word, é provável que o aplicativo tenha gerado cópias temporárias enquanto você trabalhava. Como essas cópias são apagadas pelo aplicativo, o comando "wipe" não pode ser usado para eliminá-las. Para resolver esse problema, o PGP 6 inclui também o utilitário "Free Space Wiper", ou limpador de espaço livre, que realiza a mesma operação porém em todo o espaço vazio de seu disco rígido, que pode conter fragmentos versões antigas de seus dados sigilosos. Apenas por curiosidade, a documentação do "Free Space Wipe" traz o seguinte aviso: "Sabe-se que empresas comerciais de recuperação de dados podem recuperar arquivos sobrescritos até 9 vezes." O mesmo documento recomenda, então que para fins "militares" o espaço livre deve ser sobrescrito 18 vezes, ou até 26 vezes para se obter o máximo de segurança!

    Conclusão

    Quem precisa manter ou trocar dados sigilosos não precisa procurar mais: o PGP 6 é a melhor solução dentre os demais. Diferente de outros programas comerciais que oferecem funções criptográficas, o PGP é o único que coloca seu código-fonte aberto na Internet, para análise de cientistas e hackers de todo o mundo. Ao fazê-lo, o PGP oferece a garantia da transparência. A versão freeware pode ser usada por pessoas ou organizações em atividades sem fins lucrativos. Para usar o PGP 6 comercialmente você precisa adquirir uma licença de uso (eu prefiro a freewere). ; )

    Lembrem-se: Nada no mundo é totalmente seguro, e nenhum sistema criptográfico é perfeito. Entretanto: É melhor prevenir...




    Fonte: http://www.dicas-l.com.br/print/19991209.html

    Vota este artigo

    Buscando Segurança Online: Gerenciando "Trolls" em um fórum feminista

    by linuxdicas (20/11/2007 - 21:44)

    Buscando Segurança Online - Gerenciando "Trolls" em um fórum feminista

    Colaboração: Sulamita Garcia

    Um fenômeno comum em grupos de discussão online é o indivíduo que provoca outros membros do grupo, frequentemente resultando em carregá-los em uma discussão infrutífera e desviando a atenção dos propósitos estabelecidos pelo grupo. Este estudo documenta um caso no qual os membros de uma comunidade online vulnerável - um fórum feminista de discussão online - foi alvo de um "troll" tentando perturbar o espaço de discussão do grupo. Nós analisamos as estratégias que fazem o troll bem sucedido e o grupo alvo ineficiente em responder ao seu ataque, no sentido de entender como este comportamento pode ser minimizado e controlado em geral. A análise sugere que fóruns feministas e outros que não são usuais são especialmente vulneráveis, já que eles precisam balancear ideais de inclusão e a necessidade de proteção e segurança, e esta tensão pode ser explorada por elementos perturbadores para criar conflitos dentro do grupo.

    Este artigo é um estudo feito por uma professora da Universidade de Indiana, com ajuda de três estudantes. Pode ser encontrado aqui: http://rkcsi.indiana.edu/archive/CSI/WP/WP02-03B.html, e tomando como base o caso de um fórum feminista que foi alvo de um troll, analisa toda esta questão. Ela "sugere várias ações pró ativas que podem prevenir um grupo de ser atacado... A primeira é educar os usuários a respeito de trolls. Trolls particularmente caçam usuários inexperientes, incluindo populações que são vulneráveis por outras razões. Administradores podem alertar usuários sobre os padrões que trolls seguem... Porque o dano é emocional e não físico, nós podemos imaginar que alertar sobre eles pode ser similar a alertar sobre trotes telefônicos ou propaganda enganosa, onde conscientizar sobre o modo de operação é frequentemente suficiente para prevenir o efeito surpresa".

    Eu gostaria de recrutar voluntários para me ajudarem a traduzir este artigo. Acho que todos temos consciência dos desgastes causados aos membros do grupo, talvez nem todos tenham consciência da freqüência que somos alvos. Mas este artigo é fantástico, tanto para ajudar nosso grupo quanto outros que sofrem do mesmo problema. É um artigo grande, de texto mesmo tem 20 páginas, mas se fizermos uma força tarefa, acho que conseguimos isto em uma semana. Quem se habilita a pegar pelo menos uma página? Eu tenho certeza que depois que começarem a ler, não vão conseguir largar. Acho que precisamos ter mais consciência do jeito que pessoas, que querem perturbar e atrapalhar grupos que os incomodam, atuam. E podemos ajudar outros grupos a se prevenirem também.

    Quem puder e quiser ajudar, por favor, entre em contato pelo mail sulamita at linuxchix.org.br

    Alguns trechos do texto:

    "Trollar se diferencia de criar flames porque o objetivo de uma flame é incitar todo e qualquer leitor, enquanto o objetivo de um troll é atingir em particular usuários ingênuos e vulneráveis. Pegar usuários inexperientes ou newbies é um objetivo comumente estabelecido por trolls."

     

    "Andrew(1996) distingue "trolls de carreira" - indivíduos que deliberadamente querem perturbar um grupo ou criar problemas para um grupo - de outros motivados pelo simples desejo de conseguir chamar atenção."

     

    "Segundo Andrew(1996), podemos identificar três critérios que definem trolls:

    1. mensagens de um remetente que parece externamente sincero,
    2. mensagens elaboradas para atrair respostas previsíveis ou flames,
    3. mensagens que desperdiçam o tempo do grupo provocando discussões inúteis."
    "Esta é uma evidência considerável que Kent era um troll - isto é, alguém que intencionalmente representa como se estivesse interessado no debate a respeito do feminismo, mas cujo motivo verdadeiro é provocar e perturbar."

     

    "Na prática, nenhuma das sugestões foram seguidas: os participantes se envolveram com Kent tentando dialogar com ele, e, quando falharam, insultando ele e aumentando o conflito, desta forma caindo na armadilha que o troll tinha preparado para eles. Ao mesmo tempo, o conflito levou membros do grupo a negociar explicitamente o que era um debate apropriado para o fórum, reforçando a identidade do grupo e levando a limites mais claros para comportamentos provocativos."

     

    "Grice(1991[1968]) observa que comunicações significativas assumem a cooperação mutua, levando os comunicantes a assumirem que os outros estão geralmente tentando ser verdadeiros, claros, consistentes,etc., mesmo que o comportamento sugira outra coisa."

     

    "A crença na universalidade do contrato social pode cegar parcialmente aqueles que não entendem as reais motivações de um troll: o desejo de atrair atenção, incluindo atenção negativa; e o desejo de exercitar controle e se sentir superior manipulando outros a caírem em uma armadilha preparada pelo troll."

     

     °v° Sulamita Garcia <sulamita at linuxchix.org.br> /(_) LinuxChix Brasil ^ ^ http://www.linuxchix.org.br/ http://sulamita.net/ 

    Programação Shell, por Júlio Neves

    Fonte: http://www.temporeal.com.br/produtos.php?id=170321&rnd=1564

    O livro de programação shell de Júlio Neves, chega à sua sexta edição, comprovando a sua qualidade e popularidade.

    O livro é a cara do Júlio, de leitura fácil, agradável, e cheio de bom humor. Com diversos apêndices incorporados - como awk, expressões regulares, CGIs e Dialog - o livro é uma referência sobre todo o ambiente Shell, com dicas e aplicações para o dia-a-dia de analistas, programadores e operadores que utilizam esses sistemas operacionais.

    O Júlio Neves publicou na Dicas-L, uma semana inteira sobre programação shell:

    Saiba mais sobre o livro




    Fonte: http://www.dicas-l.com.br/print/20060622.html

    Vota este artigo

    Implementando soluções com o OpenVPN

    by linuxdicas (20/11/2007 - 20:53)

    Implementando soluções com o OpenVPN

    Colaboração: Tiago Cruz

    VPN significa Virtual Private Network, usada amplamente para fazer um túnel seguro entre duas redes distantes, separadas pela internet. Os dados são criptografados antes de entrar no túnel e apenas a outra ponta conhece a chave para descriptografar o mesmo, criando um canal de comunicação relativamente seguro.

    Este documento visa abranger os principais problemas de implementação de uma VPN, assim como suas soluções.

    Porque usar PPTP

    O PPTP (Point-to-Point Tunneling Protocol) é uma implementação de VPN baseado no protocolo GRE e na tecnologia PPTP. Seu funcionamento é semelhante ao de uma conexão dial-up: ele "disca" para um host conhecido, troca chaves através do protocolo GRE e conecta uma interface virtual (ppp) por onde a comunicação dentro do túnel ocorre. Para estabelecer a conexão é necessária a autenticação de um usuário, podendo ser local ou um já pré-existente em uma base LDAP como o Active Directory.

    Ele possui a vantagem de ter sido "adotado" pela Microsoft, portanto funciona nativamente desde o Windows 95 até o atual Windows XP sem precisar instalar nada no cliente. Seria uma solução interessante: O cliente remoto com um notebook poderia conectar à nossa rede de uma forma segura, passando pelo firewall em Linux/ BSD e autenticando em nossa rede usando a mesma senha da rede local. Seria realmente bem bacana se não fosse as desvantagens do PPTP.

    Porque não usar PPTP

    Ao mesmo tempo que é uma vantagem ter um protocolo mantido pela Microsoft, é também uma desvantagem devido a falta de segurança da empresa citada e seus produtos. Segundo o Marcolino Alexandre, "O protocolo PPTP possui uma série de falhas exploradas por hackers que possibilitam a invasão ou a indisponibilidade de servidores Windows. Tanto o projeto POPTOP como o MPD que fazem o trabalho de servidor PPTP para Linux e FreeBSD respectivamente, não são vulnerável à ataques de exploits para Windows, apesar do protocolo ainda ser vulnerável a indisponibilidade."

    Mas o problema mais grave que eu percebi durante a implementação do PPTP é este descrito pelo Gleb Smirnoff: //"Masquarading GRE protocol, which is used by PPTP as transport, isn't simple. Not all NATs can do this. If you are going to server a lot of clients connecting from random places in the world, then you will face this problem time to time."//

    Portanto, se algum dia seu cliente com o notebook estiver em algum hotel, aeroporto ou qualquer lugar do mundo conectado à Internet atras de um NAT de roteador, ele não conseguirá se conectar a sua rede. Configurar um firewall para rotear o protocolo GRE é extremamente trabalhoso, incluindo passos como a recompilação do kernel no Linux. Fora o fato de que alguns roteadores "encaixados" simplesmente não roteiam e ponto final. E o trabalho deve ser feito no roteador onde o cliente está, e não do seu lado, tornando-se impraticável pedir para que cada sysadmin faça isso em seu firewall antes que seu cliente precise de tal recurso.

    Para ler mais sobre esta solução, favor consultar o artigo anterior chamado Soluções de VPN integrando Linux, FreeBSD e Windows.

    Sobre o OpenVPN

    O OpenVPN usa criptografia de chaves ao invés de usuário e senha para fechar um túnel de VPN. Segundo o Luiz Antônio Filho, ele "simplesmente pega a informação que ele precisa mandar para a outra ponta, criptografa ela, e manda pela internet por um pacote UDP. A grande vantagem, é que ele não tem muitos problemas para passar por firewalls, e por roteadores que fazem NAT."

    Atualmente, o OpenVPN roda nas seguintes plataformas: Linux, Windows 2000/XP ou superior, OpenBSD, FreeBSD, NetBSD, Mac OS X, e Solaris. É, por assim dizer, um projeto Open Source licenciado pela GPL.

    1. Instalação

    A parte da instalação está bem documentada no site oficial do projeto e traduzida para o Português do Brasil aqui.

    Você pode encontrar pacotes pré-compilados para a maioria das distribuições Linux, ou ainda instala-lo através do /usr/ports/security/openvpn do FreeBSD. Se você preferir compilar "na unha" certifique-se de ter as bibliotecas de desenvolvimento do OpenSSL (algo como openssl-dev) instaladas no seu micro. O dispositivo TUN/TAP deverá estar compilado no seu kernel também, caso sua distribuição não o traga como padrão (está presente desde o kernel 2.4.7).

    1.1. Gerando os Cerificados e Chaves RSA

    Antigamente, você tinha que gerar as chaves CA manualmente, assina-las, criar as chaves dos clientes e gerar os parâmetros Diffie-Hellman (utilizado para a troca das chaves criptografadas durante a execução). Eram uma série de comando complicados de decorar, mas agora o OpenVPN vem com uma série de scripts chamados easy-rsa junto em seu pacote, para tornar esta tarefa mais simples.

    Você pode encontrar estes scripts em /usr/local/share/doc/openvpn/easy-rsa e é encorajado a copia-los para seu diretório de configuração do OpenVPN (algo como /etc/openvpn ou /usr/local/etc/openvpn).

    Ja dentro do diretório apropriado, você deve editar o arquivo vars e personalizar suas informações. Após isso, pode seguir com os comandos:

     # . ./vars # ./clean-all # ./build-ca 

     

    O último comando, buil-ca irá gerar seu Certificado de Autoridade (CA) usando as bibliotecas do OpenSSL. Os parâmetros serão lidos do arquivo previamente configurado (vars) com excessão do parâmetro Common Name, onde você pode colocar algo como "CA-OpenVPN".

    1.2. Gerando o certificado e a chave para o servidor

    Use o comando abaixo, respondendo a questão "Common Name" como anteriormente (você pode usar "server" neste caso). Deverá tomar cuidado também em responder "y" quando solicitado em "Sign the certificate? [y/n]".

     # ./build-key-server server 

     

    1.3. Gerando os certificados e chaves para os clientes

    Os comandos abaixos deverão ser utilizados para gerar a chave dos clientes, e você deve colocar este mesmo nome quando solicitado no campo Common Name.

     # ./build-key mario # ./build-key maria # ./build-key renata 

     

    Importante: Cada cliente deverá ter um Common Name único!

    Para aumentar ainda mais a segurança, recomendo usar o comando build-key-pass para que as chaves seram geradas com uma senha. Assim, o cliente deverá ter o certificado e deverá saber a senha para acessar sua rede.

    1.4. Gerando os parâmetros Diffie Hellman

    Os parâmetros do Diffie Hellman deverão ser gerados da seguinte forma:

     # ./build-dh 

     

    Nota: Isso pode demorar um pouco.

    1.5. Chaves geradas

    No subdiretório chamado "keys" você encontrará os arquivos gerados. Segue uma tabela falando sobre os principais arquivos:

    Arquivo Necessário por Finalidade Secreto
    ca.crt servidor + todos clientes Certificado CA raiz NÃO
    ca.key máquina que assina as chaves Chave CA raiz SIM
    dh.pem somente servidor Parâmetros Diffie Hellman NÃO
    server.crt somente servidor Certificado do Servidor NÃO
    server.key somente servidor Chave do Servidor SIM
    mario.crt somente mario Certificado do mario NÃO
    mario.key somente mario Chave do mario SIM
    maria.crt somente maria Certificado da maria NÃO
    maria.key somente maria Chave da maria SIM
    renata.crt somente renata Certificado da renata NÃO
    renata.key somente renata Chave do renata SIM

     

    Agora você deverá copiar os arquivos para o diretório de configuração dos clientes ou servidores. A cópia deverá ser feita preferencialmente usando uma forma segura, pois a mesma garante a conexão do mesmo com a rede.

    No servidor, copie as chaves para /etc/openvpn (Linux) ou /usr/local/etc/openvbd (FreeBSD). Nos clientes Windows, copie para "%programfiles%"/OpenVPN/Config.

    1.6. Bloqueando clientes indesejados

    Você pode ainda querer tira o o acesso de determinado cliente. Você pode fazer isso de pelo menos duas maneiras:

    1.6.1. Criando uma rota inválida

    Coloque essa linha no server.conf:

     client-config-dir ccd 

     

    Crie o diretório ccd e dentro dele um arquivo como esse:

     # cat ccd/mario ifconfig-push 10.8.2.5 10.8.2.6 

     

    Assim, quando o Sr. Mario conectar ele irá pegar uma rota inválida e não vai conseguir acessar nossa rede. Uma maneira mais elegante de fazer isso é descrito abaixo:

    1.6.2. Revogando o certificado

    Use o script contido no easy-rsa:

     # . vars # ./revoke-full mario 

     

    E adicione essa linha no server.conf:

     crl-verify crl.pem 

     

    Assim, o cliente irá falhar logo no "handshake". Apenas cerifique-se de copiar o arquivo crl.pem gerado dentro da pasta keys para o diretório de configuração do servidor!

    1.7. Configurando o servidor

    O arquivo openvpn.conf poderá ficar assim:

     # IP e porta do servidor local 200.222.222.222 port 1194 proto udp dev tun # Certificados gerados ca ca.crt cert server.crt key server.key dh dh1024.pem # Criar no diretorio cdd/cliente a configuracao # dele - ou uma invalida para trava-lo :) client-config-dir ccd # Rede que os clientes irão "pegar" server 10.8.0.0 255.255.255.0 push "route 192.168.0.0 255.255.252.0" push "dhcp-option DNS 192.168.0.19" # Neste arquivo serão guardados os IPs dos clientes # para conectarem com o mesmo IP da proxima vez ifconfig-pool-persist ipp.txt client-to-client # Ative para permitir dois clientes com o mesmo # certificado - não recomendável ;duplicate-cn keepalive 10 120 # Compressão, privilégios do cliente comp-lzo max-clients 15 user nobody group nobody # Logs e etc persist-key persist-tun status /var/log/openvpn-status.log log /var/log/openvpn.log log-append /var/log/openvpn.log verb 6 

     

    Ao iniciar, fique atento aos logs para ver se está tudo certo.

    1.8. Configurando um cliente Windows

    1.8.1. Instalação

    A instalação é bem simples: Basta instalar o arquivo openvpn-2.0.5-gui-1.0.3-install.exe e copiar os arquivos para sua pasta de configuração. Para simplificar mais ainda, escrevemos um arquivo de lote para facilitar a instalação em clientes remotos. Note que permissão de administrador se faz necessário para instalar este software.

     @echo off REM OpenVPN Installer REM by Tiago Cruz REM Julio Soares REM 20 Jan 2006 @echo. echo Wait, starting instalation of OpenVPN... echo Always click in 'Next', 'Install', 'Continue Anyway' and 'Finish' start /wait bin/openvpn-2.0.5-gui-1.0.3-install.exe @echo. echo Wait, copying files... @echo. copy conf*.* "%programfiles%"OpenVPNConfig @echo. echo Done. You can access the VPN now. @echo. pause @echo. 

     

    Preparamos ainda um "pacote" zipado com arquivo a ser instalado dentro do diretório "bin" e as configurações no "config". Assim o usuário final apenas precisa descompactar o arquivo zip e clicar no install.bat 8-)

    1.8.2. Configuração

    Um exemplo de configuração de um cliente Windows:

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

     

    Você deve ser capaz de conectar ao seu servidor, pinga-lo através do IP 10.8.0.1 e sua rede 192.168.0.0/22 também através da rota criada no arquivo de configuração do servidor, caso ele seja o gateway de sua rede.

    Consulte o howto oficial para maiores detalhes sobre os assuntos aqui abortados.

    2. Dicas avançadas

    2.1. VPN em um host não gateway

    Se você montar seu servidor de VPN em um host que não é o gateway da internet (por exeplo no 192.168.0.253) você precisará criar uma rota em seu gateway pelo seguinte motivo:

    Quando o cliente conectado via VPN com o IP 10.8.0.1 envia um pacote de ICMP para o host 192.168.0.11. O pacote chega até o host, mas ele não tem rota para a rede 10.8.0.0/24 portanto ele devolve o pacote para o gateway da rede. Se este gateway não tiver rota também, o pacote será descartado. Portanto, é necessário que o gateway envie os pacotes para o servidor de VPN.

    Em um servidor FreeBSD a rota ficaria assim:

     route delete 10.8.0.0 &> /dev/null route add -net 10.8.0.0 -netmask 255.255.255.0 192.168.0.253 &>/dev/null 

     

    Em um servidor Linux seria assim:

     route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.253 eth0 

     

    2.2. Conflito: redes iguais

    Se a rede de sua empresa é 192.168.0.0/24 e a do cliente também, ao fechar a VPN o cliente irá ficar com duas rotas para o mesmo destino. No caso do Windows, o pacote não irá para uma rede e nem para a outra :-)

    Será necessário remapear a rede de destino para "enganarmos" o sistema operacioal, fazendo parecer que temos duas redes distintas: a do cliente 192.168.0.0/24 e a do servidor que também é 192.168.0.0/24 ficará como sendo 192.168.1.0/24.

    Utilizando o iptables/ netfilter do Linux:

     iptables -t nat -A PREROUTING -d 192.168.0.0/24 -j NETMAP --to 192.168.1.0/24 

     

    Utilizando o PF do Free/OpenBSD:

     vpn = "tun0" ... set loginterface $vpn2 ... binat on $vpn from 192.168.0.0/24 to any -> 192.168.1.0/24 ... pass in on $vpn from any to any keep state pass out on $vpn from any to any keep state 

     

    Assim, para o cliente via VPN alcançar o host 192.168.0.32, ele deverá procurar por 192.168.1.32.

    Outra coisa, no arquivo de configuração do OpenVPN deverá conter a rota adequada:

     push "route 192.168.1.0 255.255.255.0" 

     

    No lugar da rota antiga:

     push "route 192.168.0.0 255.255.255.0" 

     

    Você verá algo assim no tcpdump:

     54. 224700 rule 26/0(match): pass in on tun0: 10.8.0.6 > 192.168.0.32: ICMP echo request, id 1024, seq 13568, length 40 

     

    Você pode encontrar mais informações neste artigo chamando Dirty NAT Tricks, escrito pelo Nick Martin.

    2.3. Solucionando problemas

    Caso você tenha algum problema durante a operação, será necessário acompanhar os logs do aplicativos, bem como utilizar a ferramenta tcpdump para ver o que está acontecendo com os pacotes. Os logs do firewall também podem ajudar neste caso, assim como o comando netstat -nr para acompanhar se os pacotes estão dando match nas rotas propostas.

    Você pode ainda contar com a ajuda de algumas listas de discussão, como as listadas abaixo:




    Fonte: http://www.dicas-l.com.br/print/20060316.html

    Vota este artigo

    Instalação de múltiplos sistemas operacionais em um mesmo equipamento

    by linuxdicas (20/11/2007 - 20:48)

    Instalação de múltiplos sistemas operacionais em um mesmo equipamento

    Por Sergio Kneizl, 1997.

    Este texto pode ser livremente distribuido por meios eletronicos, desde que se mantenha integral e sem alteracoes (incluindo o nome do autor). Qualquer outra situacao, incluindo publicacao impressa ou traducoes, devem ser autorizadas pelo autor por escrito.

    Sugestoes e comentarios podem ser enviados para o endereco <sergiok (a) ax ibase org br>.

    Versao: Jan/1997.

    Instalacao de DOS, Windows 95 e NT, OS/2 e Linux em uma mesma maquina

    A ideia e' usar o menu de boot que vem com o OS/2, o Boot Manager (Gerenciador de Inicializacao), juntamente com o menu de boot que vem com o NT. O Linux sera' carregado a partir do DOS, porem ele nao usara' o DOS, assumindo o controle da maquina.

    Eu usei as seguintes versoes:

    • DOS 5.00
    • Windows 95 (4.00.950 em portugues)
    • Windows NT Server 3.51 em ingles (veio em uma PC Magazine)
    • OS/2 Warp 3.0 (Ou os dois primeiros discos de instalacao)
    • Linux Slackware 2.3 em CD, kernel 1.2.8

    Atencao! (depois nao fale que eu nao avisei...)

    • Sera' necessario reparticionar o disco rigido, o que significa perder todos os arquivos.

       

    • A forma com que o Windows 95 salva os nomes longos de arquivo (mais de 8_letras.3_letras) nao e' compativel com a forma do OS/2 (em FAT). O melhor e' nao misturar em um mesmo drive os dois sistemas. A forma do OS/2 e' menos invasiva (eles sao gravados em um arquivo a parte) do que a do Windows 95 (varias entradas marcadas como label de disco e invisiveis). Em um disco que tem arquivos gravados pelo Windows 95, deve-se usar apenas o scandisk e o Norton Utilities feitos para o 95, senao voce podera' perder todos os nomes longos. Como o Linux grava diretamente no disco e supoe a estrutura antiga, sem nomes longos, e' melhor nao gravar nomes longos do 95 no direto- rio dele. Seguindo os passos abaixo, o disco do Linux nao estara' visivel para o Windows 95.

       

    • Nao instale programas compressores de disco. Eles trocam alguma perda de desempenho por mais espaco de disco. Depois, em sistemas realmente multitarefa, a perda e' mais notada do que em DOS (estes compressores aproveitam o tempo que o DOS ia desperdicar, esperando os dados chegarem do disco, para descomprimir. Sistemas de verdade aproveitam esse tempo para rodar outros programas). Mas se nao quiser seguir o meu conselho, nao comprima o drive onde os sistemas estao, separe uma particao para isso. Existe uma versao do Stacker para DOS e OS/2, so' que para instalar no OS/2 tem que fazer boot pelo DOS (sem comentarios) e por causa disso o drive do OS/2 deve estar em FAT (a nao ser que voce instale ele editando os arquivos de sistema...)

       

    • Recomendo a instalacao do OS/2 em uma particao separada, formatada em HPFS. O HPFS e' um sistema de arquivos diferente e mais rapido. E o aumento de velocidade e' maior com o proprio OS/2. So' que um drive com o HPFS nao pode ser acessado por outros sistemas, entao neles o drive nao aparece. Por causa disso, o drive com HPFS deve ser o ultimo (evita que drives mudem de letra quando voce carregar um outro sistema). Porem, o HPFS deve ser usado apenas para maquinas com mais de 8 MB de memoria. Obs.: O HPFS e' reconhecido pelo NT 3.51, mas parece que o suporte a ele foi removido do NT 4.0 (o OS/2 e' do concorrente...).

       

    • O Windows NT tambem tem um sistema de arquivos proprio, o NTFS, que tambem pode ser instalado. Assim como o HPFS do OS/2, o drive so' podera' ser acessado pelo NT e deve ser o ultimo. Eu nao tentei usar.

       

    • Quando formatamos um drive pelo DOS ou pelo Windows 95 (estrutura FAT), o espaco livre e' dividido em pedacos fixos chamados clusters. Conforme um arquivo vai aumentando de tamanho, o DOS vai associando clusters ao arquivo. Isso quer dizer, por exemplo, que um arquivo de um byte gastara' um cluster inteiro. O tamanho do cluster depende do tamanho total do drive. Veja a seguinte tabela:

       

       Tamanho do disco Tamanho do Cluster 1GB < t 32K ou mais 512MB < t <= 1GB 16K 256MB < t <= 512MB 8K 128MB < t <= 256MB 4K t <= 128MB 2K ou menos 
      Quer dizer, um disco de 1.2GB com 9000 arquivos de um byte ocupa 9000 * 32K, ou 281 MB ! Isso e' 23 por cento do disco todo! Detalhe: a primeira instalacao que fiz do Linux tinha 9000 arquivos ... Para simplicidade do texto, eu estou ignorando isso aqui. Se quiser, divida o espaco livre em varias particoes de 512 MB. No HPFS do OS/2, o tamanho do "cluster" e' sempre 0.5K.

       

    • Cada disco rigido fisico tem quatro "slots" para particoes, sendo que todas as particoes logicas estendidas ocupam um unico "slot". O menu de boot do OS/2 gasta um destes "slots". Assim, em um mesmo disco rigido, nao sera' possivel criar mais particoes primarias alem das que eu explico aqui. Em um outro disco rigido, tambem podemos instalar particoes primarias e particoes logicas. A que ja' vem instalada de fabrica e' sempre uma particao primaria. As letras dos drives sao atribuidas da seguinte forma: primeiro todas as primarias de cada disco rigido, depois as logicas de todos os discos rigidos. Assim, se instalarmos depois um novo disco rigido, como a particao dele e' primaria, ele vai aparecer no meio dos drives existentes, e varios deles vao mudar de letra. Isso pode ser resolvido se apagarmos a particao primaria do disco novo e recriarmos ela como uma particao logica.

       

    • Por que estou tentando evitar que drives mudem de letra? E' porque alguns programas nao irao funcionar depois que o drive onde eles estao instalados mude. Isto acontece com a maioria dos programas para Windows, mesmo que o path no icone seja consertado.

    Passos para a instalacao dos sistemas:


     

    1. Boot com os discos de instalacao do OS/2 :
    2. Disco de instalacao (sem numero)
    3. Disco numero 1
    1. Se perguntar sobre instalacao facil ou avancada, escolher a instalacao avancada.

       

    2. Vai avisar que o OS/2 sera' instalado no drive C, perguntando se quer aceitar a unidade, ou especificar uma unidade/particao diferente. Pedir outra unidade/particao. Vai aparecer (depois do aviso) o FDISK do OS/2.

       

    3. Apagar todas as particoes. Pressionar ENTER sobre uma particao para ver as opcoes, uma delas serve para eliminar a particao. Deve sobrar uma unica linha infor- mando o espaco livre.

       

    4. Criar particao do menu. Pressionar ENTER sobre a linha de espaco livre, pedir para instalar o gereciador de inicializacao (ou boot manager) no inicio do espaco livre. Ele vai ocupar de um a dois megabytes.

       

    5. Criar a particao que contera' o DOS (e, se quiser, o Linux tambem). Sera' o drive C quando fizer boot com o DOS. Pressionar ENTER sobre a linha de espaco livre, pedir para criar uma particao primaria no inicio do espaco livre. Escolher um tamanho suficiente para o DOS e o Linux.

       

    6. Criar a particao que sera' usada para carregar (boot) o Windows 95 (e, se quiser, o Windows NT tambem): Sera' o drive C quando fizer boot pelo Windows 95 (e NT). Pressionar ENTER sobre a linha de espaco livre, pedir para criar uma particao primaria no inicio do espaco livre. Escolher um tamanho minimo de 6 MB (boot pelo drive C e Windows 95 instalado no D) ou mais, se quiser instalar os arquivos do Windows 95 e/ou NT neste drive.

       

    7. Criar a particao de programas. Sera' o drive D. Pressionar ENTER sobre a linha de espaco livre, pedir para criar uma particao logica estendida ocupando todo o espaco restante. Ou entao, se quiser criar uma outra particao para instalar o OS/2, crie no inicio do espaco livre e desconte o tamanho ocupado pelo OS/2.

       

    8. Criar a particao do OS/2 (se for o caso). Sera' o drive E, aparecera' apenas no OS/2 e no NT 3.51 se for formatada com HPFS. Pressionar ENTER sobre a linha de espaco livre, pedir para criar uma particao logica estendida ocupando todo o espaco restante.

       

    9. Incluir as particoes de boot no menu. Pressionar ENTER sobre cada particao primaria e pedir para incluir ela no gerenciador de inicializacao (boot manager). Vai abrir uma janela para digitar o nome que ira' aparecer no menu. Caso va' instalar o OS/2, fazer o mesmo com a particao onde ele sera' instalado.

       

    10. Indicar a particao onde sera' instalado o OS/2 (se for o caso). Pressionar ENTER sobre a particao onde sera' instalado o OS/2. Escolher a opcao para marcar a particao como instalavel.

       

    11. Acertar a forma como o menu sera' apresentado. Pressionar ENTER em qualquer particao. Escolher a opcao de definir os valores de inicializacao. No menu que vai aparecer, pressionar ENTER na opcao de modo para passar ao modo normal. Na opcao de tempo de espera, recomendo 10 segundos. Esse e' o tempo que o menu vai ficar esperando voce escolher um outro sistema. Se voce nao fizer nada, depois desse tempo a ultima opcao escolhida e' usada. Pressionar F3 para confirmar os novos valores.

       

    12. Salvar as novas particoes. Pressionar F3. Se voce nao vai instalar o OS/2:
    13. vai aparecer um aviso que nenhuma particao foi definida como instalavel e pode ser ignorada. Escolher "salvar e sair".
    14. quando pedir para inserir o disco do OS/2, pode retirar os discos do drive e apertar o botao de reset. Continue no passo 15. Se voce vai instalar o OS/2, ponha o disco pedido no drive e...

       

    15. Instalar o OS/2 (se for o caso) Ele vai avisar que a particao do OS/2 sera' formatada e vai perguntar se usa a estrutura FAT (do DOS) ou a HPFS (do OS/2). Se vai usar uma particao em separado so' para o OS/2, eu recomendo usar HPFS.

       

    16. Instalar o DOS.
    17. Rebootar a maquina sem o disquete no drive. Quando aparecer o menu, ir para a opcao do DOS e pressionar ENTER. Ele vai mostrar uma mensagem de erro, porque o DOS nao esta' instalado, mas vai ativar a particao primaria que sera' o drive C.
    18. Colocar o primeiro dos discos de instalacao do DOS no drive A e pressionar CTRL-ALT-DEL.
    19. Instalar o DOS normalmente. Ele vai formatar todos os drives que encontrar, e com a estrutura FAT (voce nao tem escolha, e e' por isso que o OS/2 deve ser instalado primeiro).

       

    20. Reativar o menu de boot.
    21. Reiniciar a maquina (reset, CTRL-ALT-DEL) sem disquete no drive. Vai entrar o DOS direto, sem o menu.
    22. Chamar o FDISK. Pedir para definir a particao ativa. Marcar a menor particao, provavelmente nao-DOS, como a particao ativa. Salvar a alteracao.

       

    23. Instalar o Windows 95 (se for o caso).
    24. Rebootar a maquina sem o disquete no drive. Quando aparecer o menu, ir para a opcao do Windows 95 e pressionar ENTER. Ele vai mostrar de novo a mensagem de erro, ativando a particao primaria que sera' o drive C. Esta outra particao ainda nao esta' forma- tada.
    25. Fazer o boot antes da instalacao.
    26. Se for o Windows 95 para maquinas sem sistema, vira' um dis- quete a mais de boot. Colocar este disquete no drive e pressionar CTRL-ALT-DEL. Ele deve iniciar a instalacao.
    27. Se for um Windows 95 para maquinas com sistema (versao de atualizacao/upgrade) nao existe um disco de boot. Colocar o disco de boot do DOS no drive A e pressionar CTRL-ALT-DEL. No prompt do DOS, digitar "format c:", trocar o disquete pelo primeiro disco do Windows 95, e digitar "instalar" (se for a versao em portugues) ou provavelmente "install" se for a versao em ingles.
    28. Continuar a instalacao. Se o drive C foi criado apenas para o boot, instalar o Win 95 para um diretorio do drive D.
    29. O Windows 95 vai avisar que existe o Boot Manager/Gerenciador de Inicializacao na maquina, que ele nao vai poder funcionar com o Windows 95, etc. Nao se impressione, isso e' mentira. O menu sera' reativado depois.

       

    30. Reativar o menu de boot.
    31. Reiniciar a maquina (reset, CTRL-ALT-DEL) sem disquete no drive. Vai entrar o Windows 95 direto, sem o menu.
    32. Abrir uma janela DOS. Clicar no botao Iniciar no canto inferior esquerdo da tela (ou Start). Escolher a opcao "Programas" e depois a opcao "Prompt do MS-DOS".
    33. Chamar o FDISK. Pedir para definir a particao ativa. Marcar a menor particao, provavelmente nao-DOS, como a particao ativa. Salvar a alteracao.

       

    34. Instalar o Windows NT (se for o caso). Se, ao instalar o Windows NT, ele perceber que o Windows 95 ja' esta' instalado, ele inclui um outro menu para escolher entre os dois sistemas. Assim, passaremos por dois menus para carregar o Windows 95 ou o Windows NT.
    35. Reiniciar a maquina e escolher a opcao do Windows 95. Isso vai ativar o drive C que carrega ele.
    36. Reiniciar a maquina novamente com os discos de boot no NT. Eles podem ser gerados a partir do proprio CD com o winnt.exe. Eu tive problemas com o suporte ao drive A durante a instalacao, entao eu tive que instalar sem disquetes (acho que usei "winnt /b")
    37. Instalar normalmente.

       

    38. Instalar o Linux (se for o caso). O Linux pode ser instalado em uma particao separada, com a estru- tura de arquivos dele proprio, ou em uma particao FAT. No meu caso, instalei em uma particao FAT junto com o DOS, e tambem porque nao era possivel ter uma outra particao primaria para ele (estava usando um disco rigido apenas). Esta particao tambem fica invisivel para o Windows 95, entao ela nao tera' os nomes longos do 95.

       

      Eu usei o Linux Slackware 2.3 em CD (kernel 1.2.8). Eu nao conse- gui instalar a partir do CD, entao copiei o subdiretorio de instalacao para o disco rigido. Os dois disquetes de instalacao que gerei foram o Rootdisk para instalar o Linux em um subdiretorio de uma particao DOS e o Bootdisk IDE-CD (IDE/ATAPI). Eu usei o lodlin15.zip, Loadlin v. 1.5 que veio com o CD e serve para carregar o Linux a partir do DOS. O DOS nao sera' usado para o funcionamento do Linux. Descompacte ele e use o seguinte

    Linux.bat :

     rem Habilite a linha abaixo se o smartdrv estiver sendo usado REM smartdrv /C REM Retirei o vga=3 depois do rw mas nao sei para que serve c:linuxrootloadlin c:linuxvmlinuz root=/dev/hda3 rw 

    O CD vem tambem com o Lilo, que inclui o Linux no menu de boot do OS/2, mas nao tentei usar.




    Fonte: http://www.dicas-l.com.br/print/19970702.html

    Vota este artigo

    Documentação Web

    by linuxdicas (20/11/2007 - 20:41)

    Documentação Web

    Colaboração: Rubens Queiroz de Almeida

    A citação de documentos localizados na Internet é algo extremamente complicado devido à grande rapidez com que documentos são publicados, alterados e removidos. Coletâneas de links de um ou mais anos frequentemente apresentam uma alta taxa de documentos não mais existentes ou que mudaram de lugar.

    Por esta razão, sempre que as normas de distribuição dos documentos o permitirem, é conveniente obter uma cópia dos documentos referenciados de forma a que se possa ter ao alcance a informação necessária sempre que dela precisarmos, mesmo que ele venha a ser removido da web.

    Para nos auxiliar nesta tarefa existe a ferramenta HTMLDOC. Esta ferramenta, na versão 1.18.24, é hoje distribuída sob uma licença comercial e uma licença livre. A versão comercial, pacote básico, é encontrada no site da empresa Easy Software Products, por um preço de U$ 49,95. . O código fonte pode ser encontrado em um site separado. Neste site você encontra o código fonte, que pode ser compilado para uso em sistemas GNU/Linux, Macintosh, Solaris e Windows. Não são distribuídas neste site versões compiladas. Softwares distribuídos sob a licença GPL podem ser usados, distribuídos e modificados livremente.

    A empresa criadora do HTMLDOC é também a desenvolvedora do CUPS (Common Unix Printing System) e do EPM (ESP Package Manager), também distribuídos sob a GPL. O sistema CUPS é um dos sistemas de impressão mais conhecidos e usados em plataformas GNU/Linux. Para o sistema Debian GNU/Linux, o software pode ser instalado diretamente, fazendo parte dos repositórios da distribuição.

    Resumidamente, a principal funcionalidade do software HTMLDOC é a criação de livros cujo conteúdo possa ser obtido a partir do download de páginas Web. A coletânea pode conter, opcionalmente, um sumário. As páginas podem também ser formatadas incluindo cabeçalho e rodapé configurados segundo alguns parâmetros pré-definidos.

    Os livros gerados desta forma podem ser salvos em três formatos: PDF, PostScript e HTML. É recomendável que qualquer material disponibilizado via Web seja distribuído em dois ou mais formatos, para atender a pessoas com necessidades especiais, que podem não ter softwares adequados para visualizar documentos em um formato determinado, como por exemplo PDF.

    Imagem ampliada

     

    Para começar a criar sua coletânea, clique no botão Add URL, ou Add File, caso você queira incluir um endereço Web (URL) ou um arquivo residente em seu computador.

    Imagem Ampliada

     

    Em seguida aparecerá uma tela onde você poderá então fornecer o elemento desejado:

    Imagem Ampliada

     

    Faça assim para todos os documentos que deseja incluir. Encerrada esta etapa podemos solicitar então que o documento seja gerado. Para tal precisamos especificar a forma como desejamos que o documento seja criado:

    Como podemos ver pela figura abaixo, existem diversas opções para a geração do arquivo. Selecione neste passo as alternativas que são mais adequadas. Para gerar o documento clique no botão Generate.

    Imagem Ampliada

     

    O que foi explicado até o momento cobre as funcionalidades mais básicas. Entretanto podemos especificar, para geração de documentos PDF, a versão do padrão PDF desejado, se desejamos ativar os links e especificar também a forma como estes links serão assinalados no texto, etc.

    Imagem Ampliada

     

    Podemos também especificar a forma como o sumário será gerado. Por padrão, itens de marcação de título <H1> até <H6>, são entendidos como seções do texto. H1 indica um capítulo, gerando quebra de página no documento gerado. Documentos que usam estas marcações para efeito visual e não como elementos divisores do documento podem ser representados de forma errada no documento final.

    Imagem Ampliada

     

    Como exemplo de documento criado com o software HTMLDOC, gostaria de citar o livro Free as in Freedom, disponível para download, da biblioteca digital de software livre do Centro de Computação da Unicamp.

    Mas para aprender mesmo é necessário estudar as diferentes opções oferecidas, avaliar o resultado final, fazendo o refinamento necessário até se chegar ao ponto desejado. É uma alternativa livre de grande valor e certamente muitas aplicações interessantes e úteis podem ser desenvolvidas.

    Fonte: Boletim EAD Centro de Computação da Unicamp




    Fonte: http://www.dicas-l.com.br/print/20050119.html

    Vota este artigo

    Fazendo backup e recuperando a MBR e tabela de partições

    by linuxdicas (20/11/2007 - 19:24)

    Fazendo backup e recuperando a MBR e tabela de partições

    Por Carlos E. Morimoto

    Ao comprar um novo HD, você precisa primeiro formatá-lo antes de poder instalar qualquer sistema operacional. Existem vários programas de particionamento, como o qtparted, gparted, cfdisk, e outros.

    Os programas de particionamento salvam o particionamento na tabela de partição, gravada no início do HD. Esta tabela contém informações sobre o início e final de cada partição. Depois do particionamento, vem a formatação de cada partição, onde você pode escolher o sistema de arquivos que será usado em cada uma (reiserfs,ext3, ntfs, etc.).

    Ao instalar o sistema operacional é gravado mais um componente, o gerenciador de boot, responsável por carregar o sistema operacional ao ligar o micro.

    Tanto o gerenciador de boot quanto a tabela de particionamento do HD são salvos no primeiro setor do HD, a famosa trilha MBR, que contém apenas 512 bytes. Destes, 446 bytes são reservados para o setor de boot, enquanto os outros 66 bytes guardam a tabela de partição.

    Ao trocar de sistema operacional, você geralmente subscreve a MBR com um novo gerenciador de boot, mas a tabela de particionamento só é modificada ao criar ou deletar partições. Caso por qualquer os 66 bytes da tabela de particionamento sejam subscritos ou danificados, você perde acesso a todas as partições do HD. O HD fica parecendo vazio, como se tivesse sido completamente apagado.

    Para evitar isso, você pode fazer um backup da trilha MBR do HD. Assim você vai poder recuperar tudo caso ocorra qualquer eventualidade. Para isso, use o comando:

     # dd if=/dev/hda of=backup.mbr bs=512 count=1 

     

    O comando vai fazer uma cópia dos primeiros 512 bytes do "/dev/hda" no arquivo "backup.mbr". Se o seu HD estivesse instalado na IDE secundária (como master), ele seria visto pelo sistema como "/dev/hdc". Basta indicar a localização correta no comando.

    Você pode salvar o arquivo num disquete ou pendrive, mandar para a sua conta do gmail, etc. Caso no futuro, depois da enésima reinstalação do Windows XP, vírus, falha de hardware ou de um comando errado a tabela de particionamento for pro espaço, você pode dar boot com o CD do Kurumin e regravar o backup com o comando:

     # dd if=backup.mbr of=/dev/hda 

     

    Lembre-se que o backup vai armazenar a tabela de particionamento atual. Sempre que você reparticionar o HD, não se esqueça de atualizar o backup.

    Caso o pior aconteça, a tabela de particionamento seja perdida e você não tenha backup, ainda existe uma esperança. O gpart é capaz de recuperar a tabela de partição e salvá-la de volta no HD na maioria dos casos. Você pode executá-lo dando boot pelo CD do Kurumin.

    Você pode baixá-lo no: http://www.stud.uni-hannover.de/user/76201/gpart/#download

    Baixe o "gpart.linux" que é o programa já compilado. Basta marcar a permissão de execução para ele:

     # chmod +x gpart.linux 

     

    No Kurumin você pode instala-lo pelo apt-get: apt-get install gpart

    Execute o programa indicando o HD que deve ser analisado:

     # ./gpart.linux /dev/hda 

     

    (ou simplesmente "gpart /dev/hda" se você tiver instalado pelo apt-get)

    O teste demora um pouco, pois ele precisará ler o HD inteiro para determinar onde começa e termina cada partição. No final ele exibe um relatório com o que encontrou:

     Primary partition(1) type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX) size: 3145mb #s(6442000) s(63-6442062) chs: (0/1/1)-(1023/15/63)d (0/1/1)-(6390/14/61)r Primary partition(2) type: 131(0x83)(Linux ext2 filesystem) size: 478mb #s(979964) s(16739730-17719693) chs: (1023/15/63)-(1023/15/63)d (16606/14/1)-(17579/0/62)r Primary partition(3) type: 130(0x82)(Linux swap or Solaris/x86) size: 478mb #s(979896) s(17719758-18699653) chs: (1023/15/63)-(1023/15/63)d (17579/2/1)-(18551/3/57)r 

    Se as informações estiverem corretas você pode salvar a tabela no HD usando o parâmetro "-W":

     # gpart -W /dev/hda /dev/hda 

     

    Veja que é preciso indicar o HD duas vezes. Na primeira você indica o HD que será vasculhado e em seguida em qual HD o resultado será salvo. Em caso especiais, onde você tenha dois HDs iguais por exemplo, você pode gravar num segundo HD, com em: "gpart -W /dev/hda /dev/hdc"

    O gpart não é muito eficiente em localizar partições extendidas (hda5, hda6, etc.) em boa parte dos casos ele só vai conseguir identificar as partições primárias (hda1, hda2, hda3 e hda4). Nestes casos, você pode usar o cfdisk ou outro programa de particionamento para criar manualmente as demais partições (apenas crie as partições e salve, não formate!). Se você souber indicar os tamanhos aproximados, principalmente onde cada uma começa, você conseguirá acessar os dados depois.


     

    Gostou da dica? Conheça outros trabalhos do autor




    Fonte: http://www.dicas-l.com.br/print/20050620.html

    Vota este artigo

    Dicas de utilizacao do Find

    by linuxdicas (20/11/2007 - 16:43)

    Dicas de utilizacao do Find

    Colaboração: Angelo Roberto Bonfieti Junior

    O comando find eh extremamente util para procurar arquivos que obedecam a um criterio particular. O find pode procurar arquivos que foram modificados nos ultimos X dias, arquivos maiores que um tamanho especifico ou arquivos que pertencam a um userid que nao esta definido no seu arquivo /etc/passwd, por exemplo, sao exemplos de situacoes faceis de serem resolvidas pelo comando find (e muito uteis, tambem). Voce tambem pode procurar arquivos de tipos especificos - como diretorios, links simbolicos ou arquivos normais - ou arquivos mais novos que um outro arquivo.

    Voce pode procurar arquivos baseando-se em suas permissoes (por exemplo, todos os arquivos que possuem o bit setuid). Voce pode restringir comandos find a um diretorio especifico ou a file-systems.

    O que pode nao ser tao obvio quanto a construcao do comando find apropriado para fazer o servico de vasculha que voce procura eh como construir um comando que ira fazer o que voce quer com os arquivos, uma vez que voce os tenha encontrado.

     -print e -ls 

    Os dois comandos mais comuns usados com find sao, nao surpreendentemente, o -print e o -ls. A opcao -print imprime o nome do arquivo do ponto de vista do diretorio corrente (ex. /export/home/teste/tralha.txt ou somente ./teste/tralha.txt se a procura foi iniciada a partir do /export/home). A opcao -ls proporciona o mesmo tipo de informacao que voce iria ver se voce visalizasse os arquivos atraves do comando ls -li.

     -exec 

    A opcao -exec eh indubitavelmente a proxima opcao mais popular e eh usada para especificar o que o find ira fazer com os arquivos que ele encontrar. Quando usamos a opcao -exec, o nome de cada arquivo encontrado pelo find eh representado no comando find pela sequencia de caracteres "<>" (sem as aspas ;-] ). O comando para imprimir o numero de linhas em cada um dos arquivos encontrados pelo find ira se parecer com isso:

     root>> find . -type f -exec wc -l <> ; 

     

    A sequencia ; marca o fim do comando e, executando-o, voce poderia ter, como resultado, algo como:

     74 ./030701_log.txt 12 ./testfile1 6 ./testfile2 5 ./ex 

    O comando para procurar por strings (sequencias) especificas e imprimir as strings e os nomes dos arquivos nas quais elas foram encontradas irao se parecer com:

     find . -type f -exec grep "antes" <> ; -print 

     

    O -print neste comando eh colocado no final para que os arquivos mostrados sejam somente os que passaram pelo teste do grep.

    Alterando Arquivos com o Find

    Para modificar o conteudo de arquivos que sao localizados pelo find, voce pode usar o sed ou voce pode usar ainda um comando Perl como este que eh executado em todos os arquivos HTML no diretorio corrente e subdiretorios para alterar uma URL para outra:

     find . -type f -name "*.html" -exec perl -i -p -e  
     's/www.antes.org/www.depois.com/g;' <> ; 

     

    Se voce frequentemente tem que mudar links em um website muito grande, um comando como esse certamente ira livrar muito tempo (e trabalho). Se voce quer dar este comando a alguem que nao ira gostar de lembrar do comando find, voce pode coloca-lo num script como esse:

     #!/bin/bash if [ $# != 2 ]; then echo "usage $0 <antes> <depois>" exit else ANTES=$1 DEPOIS=$2 fi find . -type f -name "*.html" -exec perl -i -p -e  "s/$ANTES/$DEPOIS/g;" <> ; 

    Fazendo Muita Coisa com Arquivos Alterados

    Se voce quer executar um numero de comandos em cada arquivo que voce encontrar, existe um meio de faze-lo tambem - e isso nao requer a utilizacao da opcao -exec. Ao contrario, redirecione (com pipe) a saida do seu comando find normal para um repetidor while como este e voce pode executar quantos comandos desejar entre os marcadores do e done:

     find . -type f | while read i do file $i ls -i $i wc -l $i done 

    Neste loop o nome do seu arquivo eh associado ao $i. Este comando trabalha com shells da familia Bourne Shell (sh, ksh, bash e outros).

    Muito trabalho pode ser realizado com uma combinacao inteligente do comando find.

    Algumas ideias deste artigo foram fornecidas por Robert D. e Chang A.

    Este texto foi traduzido integralmente do Original veiculado no forum "Unix in the Enterprise" sob titulo "Tricks with find" da revista eletronica ITworld (www.itworld.com) no dia 17/07/2003.




    Fonte: http://www.dicas-l.com.br/print/20031203.html

    Vota este artigo

    Software livre - uma alternativa estratégica para as organizações públicas e privadas?

    by linuxdicas (20/11/2007 - 16:09)

    Software livre - uma alternativa estratégica para as organizações públicas e privadas?

    Colaboração: Carlos Tadeu A. de Pinho (UFRN)

    Resumo

    Este artigo trata do papel estratégico da Tecnologia da Informação no atual cenário empresarial e governamental, polarizado de um lado pela forte presença de uma empresa, que domina o fornecimento de soluções para automação de processos de negócios, e de outro por um movimento mundial de quebra desse monopólio via utilização de programas de livre acesso, utilização e distribuição. O assunto é destaque nas políticas públicas do governo federal, que trata o assunto software livre como prioridade e incentiva a sua utilização imediata. Para desenvolvimento deste trabalho foram considerados conceitos de autores renomados como Michael Porter e McFarlan, bem como pesquisas no site do governo eletrônico e outros que tratam do tema.

    Palavras-chave: Estratégia; Tecnologia; Software.

    1. Introdução

    As organizações empresariais modernas estão muito mais concentradas nos aspectos estratégicos da Tecnologia da Informação (TI), do que no uso da tecnologia em si. Segundo Cerioni (2003), os resultados apresentados na terceira edição da pesquisa Gestão de Tecnologia da Informação nas Empresas, realizada pela IBM em 126 organizações de grande porte, mostram que a atenção dos executivos está predominantemente voltada ao alinhamento de TI com as estratégias da organização, a gestão de custos e o retorno sobre investimento. Nada menos que 46% apontaram como a grande preocupação o alinhamento de TI com as estratégias corporativas.

    Outra conclusão importante deste levantamento é que 42% dos executivos entrevistados acreditam em TI como instrumento de agregar valor aos seus produtos ou serviços, contudo continuam as pressões para diminuição de custos, bem como para a comprovação dos benefícios trazidos pelos investimentos em novas tecnologias. Isso explica o interesse geral pelo Software Livre, como por exemplo o sistema operacional Linux, como alternativa para combater os altos custos de aquisição e, principalmente, atualização, que caracterizam o mundo proprietário "wintel", assim chamado o ambiente Windows da Microsoft em plataforma de microprocessadores Intel ou similares.

    Neste ambiente o tempo útil de vida de equipamentos e programas é muito curto, o eu obriga as organizações a realizarem investimentos permanentes, ora em equipamentos para suportar a maior demanda de recursos computacionais imposta pelas novas versões dos programas, ora em novas versões de programas para substituir as existentes, porém descontinuadas pelo fornecedor. Em suma, um ciclo que se perpetua para desespero dos executivos e administradores públicos.

    Há que se registrar que tal movimento também se verifica fortemente na área pública, particularmente nos Poderes Executivos Federal e Estadual, que vêm realizando pesquisas e incentivando as suas empresas e repartições a investirem em novas plataformas tecnológicas de menor custo, porém com performance e facilidade de uso equivalentes.

    Neste contexto, entendemos que o alinhamento estratégico de TI é a expressão que sintetiza o propósito de tornar a Tecnologia da Informação um fator crítico na moldagem da estratégia organizacional. Conceitos, estratégias, políticas públicas e tecnologias são abordadas no intuito de demonstrar que a TI se configura como um forte instrumento para consolidar e viabilizar os objetivos institucionais das esferas públicas, bem como as vantagens competitivas das empresas modernas.

    2. A Tecnologia da Informação no Século XX

    Desde o aparecimento do primeiro computador digital na década de 40, encomendado pelo governo americano primeiramente para aplicações militares, passando pela década de 60, quando os equipamentos de grande porte, também chamados mainframes, consolidaram a sua importância no processamento de transações científicas, comerciais ou governamentais de grande volume e/ou complexidade. Tudo isto, porém, demandou um custo altíssimo de instalação, manutenção, evolução e equipe técnica especializada.

    Já na década de 80, diversos fatores contribuíram para que a Tecnologia da Informação se "popularizasse", ou seja, deixasse de ser privilégio apenas das grandes corporações e permitisse às organizações de pequeno ou médio porte incorporar vantagens competitivas antes inacessíveis. Dentre outros motivos podemos destacar:

    a) Grande redução de custos, tanto de equipamentos quanto dos programas;

    b) Maior variedade de soluções disponíveis para os mais diferentes segmentos de mercado;

    c) Maior facilidade de aquisição, treinamento, operação e suporte técnico.

    Assim, a "Era da Informação" foi se consolidando através do uso intensivo de Sistemas de Informações, reforçada ainda mais com a evolução de outras tecnologias essenciais como a de Telecomunicações e de Redes Locais. Como exemplo podemos citar o rápido crescimento da Internet em todo o mundo, que nada mais é do que uma rede mundial formada pela interligação de milhares de redes locais de computadores. A rede mundial forneceu a infra-estrutura sobre a qual foram desenvolvidas aplicações estratégicas de TI, dentre as quais podemos destacar o E-Busines e o E-Commerce (Evans & Wurster, 1997; Frontini, 1999).

    Podemos citar ainda outros avanços no mundo digital como a padronização das regras de comunicação, também chamadas protocolos, com destaque para o TCP- IP, que tornou-se padrão nas redes locais e na própria Internet. A maior oferta de conexão de alta velocidade, ou banda larga, tanto para uso empresarial quanto doméstico, também está contribuindo significativamente para fazer da Tecnologia da Informação algo essencial na vida das pessoas físicas e jurídicas.

    Neste cenário muitas empresas utilizam a informática para conquistar vantagens competitivas em relação aos seus concorrentes. Apesar de disponível a todos que tenham visão e recursos para investimento, aquelas organizações que também usaram o tempo como um fator de vantagem sobre os concorrentes (Stalk, 1988) e saíram na frente no uso estratégico de TI conquistaram mercado, melhoraram a sua imagem junto aos clientes, diminuíram custos e, conseqüentemente, tiveram melhores resultados em seus balanços. George Stalk muito bem defendeu a importância do tempo como fonte de vantagem competitiva quando escreveu que "os melhores concorrentes, aqueles mais bem-sucedidos, sabem como estar sempre em movimento e se manter à frente".

    Como exemplo desta postura podemos citar o setor de serviços, particularmente o segmento financeiro, onde muitos bancos fizeram da tecnologia da informação um dos pilares da sua estratégia empresarial. Investindo fortemente em infra-estrutura e sistemas computacionais, o Unibanco, por exemplo, lançou o conceito de Banco 30 horas, onde o cliente passava a dispor não apenas de um banco físico, tradicional, com agências, gerentes e caixas seis horas por dia, mas também um banco virtual, acessível por diferentes meios (telefone, fax, internet, pager, celular etc.), disponível vinte e quatro horas.

    Um componente importante desta estratégia foi o uso intensivo da Internet, que praticamente substitui a obrigação e, geralmente, o aborrecimento do cliente precisar se deslocar a uma agência, ou até mesmo a um terminal de auto-atendimento, a não ser para a retirada de dinheiro em espécie. Com isso, o banco ganhou mercado colocando disponível, na casa ou no escritório do cliente, informações de saldos e extratos, serviços de débito automático em conta-corrente, requisição de talão de cheques e outras facilidades.

    Um outro aspecto importante que caracteriza a vantagem competitiva adquirida pelo banco foi a diminuição drástica dos custos de instalações físicas e pessoal, transferindo para cliente todo o trabalho de digitação dos dados de pagamentos de boletos de cobrança, contas de consumo como luz e telefone, transferência de fundos etc, antes feito nas agências. Por fim, a instituição obteve ganhos significativos de imagem não apenas com marketing agressivo, mas também porque os clientes ainda ficaram felizes pela comodidade de não precisar enfrentar filas.

    3. Um Novo Paradigma Para Um Novo Milênio - O Software Livre

    O conceito de software livre se refere às quatro liberdades dadas aos usuários da tecnologia da informação para utilizar, copiar, alterar e distribuir estes programas, seja gratuitamente, seja com algum tipo de custo agregado. Desta forma, o usuário pode executar um software livre para qualquer propósito, pode aprender como funciona através do estudo do seu código-fonte, pode adaptar e aperfeiçoar o programa segundo as suas necessidades, e pode ainda fazer cópias e distribuir para outros, de forma que todos possam se beneficiar das suas facilidades.

    Deve-se atentar que o conceito de software livre difere de outro conceito um pouco mais antigo e conhecido, que trata de sistema ou software aberto, pois este diz respeito apenas ao acesso ao código-fonte do programa, não sendo possível usufruir das outras importantes liberdades que caracterizam o software livre, como por exemplo a sua distribuição.

    O aparecimento do software livre trouxe um novo paradigma na forma de trabalhar e lucrar no mundo digital, pois as fontes de receitas nestes ambientes não advém diretamente da venda ou distribuição dos programas, mas sim da prestação de serviços como desenvolvimento de aplicações, suporte técnico, treinamento de profissionais ou de usuários finais, projetos de sistemas de informações, projeto de redes de computadores e outros.

    O software livre agrega ainda valor e conhecimento permanente a quem dele se utiliza, o que significa que a riqueza gerada na sua utilização é contabilizada localmente e não apenas na geração de lucros, mas também na geração de empregos, além de evitar os males da dependência externa e os altos custos de pagamento de royalties.

    O Brasil, que tem grande necessidade de se desenvolver e conta com profissionais capacitados e com larga experiência no uso de TI em diferentes segmentos, encontra um campo fértil para utilização de software livre. Muitos projetos têm sido mostrados nos eventos cada vez mais numerosos que tratam desta tecnologia, como o Fórum Mundial de Software Livre, onde empresas e universidades têm se destacado como centros de excelência na sua aplicação e utilização.

    Se ainda não se configura como uma virada no atual modelo de comercialização de software baseado em arquiteturas proprietárias, no mínimo o conceito de software livre traz as vantagens de independência tecnológica, compartilhamento de informações técnicas, liberdade de uso e ausência de custos com royalties, constituindo-se uma alternativa promissora e real para organizações públicas, privadas ou do terceiro setor, de qualquer tipo ou tamanho. Isso deve levar a Microsoft e outros atores deste segmento a repensarem as suas estratégias corporativas para este novo milênio.

    4. O Poder Público e o Software Livre

    Dentro de um contexto amplo de governo eletrônico, que se caracteriza por utilizar largamente a tecnologia digital para a promoção da cidadania, a inclusão digital, a articulação e gestão de políticas públicas, a racionalização de recursos, a integração de sistemas, padrões, normas e com outros governos e poderes (veja maiores detalhes no endereço eletrônico www.governoeletrônico.gov.br), o governo federal criou oito Comitês técnicos de estudo, definição e implementação de iniciativas voltadas ao mundo digital, a saber:

    a) Inclusão Digital

    b) Gestão de Sítios e Serviços On Line

    c) Integração de Sistemas

    d) Infra-estrutura de Redes

    e) Gestão do Conhecimento e Informação Estratégica

    f) Governo para Governo

    g) Sistemas Legados e Licenças

    h) Implantação do Software Livre

    Este último reúne dezenas de membros representativos de diferentes e importantes órgãos da administração como Ministérios, empresas estatais e autarquias. Como resultado dos projetos apresentados, discutidos e aprovados nesse fórum, estão previstas migrações de plataformas tecnológicas proprietárias para plataformas livres nos Ministérios das Comunicações, Minas e Energia, Relações Exteriores, Cultura, Ciência e Tecnologia, Educação e outros mais.

    Muitas destas migrações se realizaram com êxito. Segundo o Comitê Técnico para Implantação do Software Livre (CISL), somente em 2004 R$ 28,5 milhões deixaram de ser gastos com licenças de uso de softwares proprietários, o que representa uma economia entre 7% a 9,5% do orçamento anual do governo federal, estimado entre R$ 300 milhões e R$ 400 milhões.

    Outros Comitês citados acima, como o de Inclusão Digital, também reiteram e incentivam a utilização prioritária de software livre, como por exemplo na instalação e operação de milhares de tele-centros comunitários, onde a população poderá ter acesso às facilidades possíveis pela tecnologia da informação, inclusive às informações disponíveis na Internet.

    Com a relação à política industrial, o atual governo encara a indústria de software como uma prioridade para promover o desenvolvimento do país. Dentre as muitas iniciativas a serem implementadas para o crescimento do setor destaca-se o programa de incentivo ao desenvolvimento de software livre, onde estão previstos cerca de 163 milhões de reais para a produção de sistemas baseados em plataformas não-proprietárias (BIMBO, 2003).

    O Brasil tem o sétimo maior mercado de software do mundo, importa cerca de 1 bilhão e exporta cerca de 100 milhões de dólares por ano, no modelo de plataforma tecnológica proprietária. O Governo entende que o software livre deverá ser um importante instrumento de mudança neste cenário amplamente desfavorável ao país, uma vez que soluções estáveis e confiáveis já se encontram disponíveis, como é o caso do Servidor Web Apache, utilizado em mais de 70% dos sítios digitais.

    A Brasil se destaca também como pioneiro na busca de se estabelecer uma legislação específica para o uso de software livre, em substituição ao proprietário. A cidade de Recife, por exemplo, foi a primeira a aprovar leis neste sentido, que determinam que a arquitetura proprietária seja utilizada somente quando, comprovadamente, não houver uma solução similar baseada em software livre. Também a cidade de Amparo, em São Paulo, adotou uma postura semelhante.

    Verifica-se também que uso de Software Livre é uma tendência mundial, pois além do Brasil muitos outros países, desenvolvidos ou emergentes, estão trilhando este caminho, a exemplo da Alemanha, França, Espanha, China e México. A Tabela 1 descreve algumas iniciativas em andamento a nível internacional.

    País Ações em Andamento
    FRANÇA O parlamento encaminhou proposta de lei tratando da disponibilidade do código fonte de programas utilizados pelo governo e da adoção de padrões abertos
    ALEMANHA O governo patrocinou iniciativas do "German Unix Users Group" (GUUG), para adaptar o software de criptografia GnuPG, para uso de órgãos governamentais.
    ARGENTINA Foi apresentada uma proposta que determina, com algumas exceções, o uso de software livre em todos os órgãos governamentais e empresas estatais.
    UNIÃO EUROPÉIA A União Européia solicitou recomendações ao grupo de trabalho sobre software livre, o qual no último ano levantou a possibilidade de que seja adotada pela União Européia "sempre que possível".
    ASIA Diversos governos têm agido de forma diversa, porém tomando medidas visando reduzir o uso de software proprietário. Na Coréia do Sul, em 1997, o Ministério da Informação e Comunicação implantou programas para administração de sistemas em GNU/Linux
    CHINA Na China, o governo encoraja o uso da distribuição Red Flag de forma a tentar reduzir a dependência de softwares americanos, particularmente da Microsoft
    MÉXICO O México está patrocinando o projeto Red Scolar, que tem por objetivo instalar sistemas GNU/Linux em 140.000 laboratórios de escolas por todo o país e prover seus alunos acesso a correio eletrônico, Internet, processadores de texto e planilhas eletrônicas.

     

    Tabela 1 - Iniciativas em outros países em relação ao uso de Software Livre (Almeida, 2004).

    Também antevendo novas oportunidades de negócios, empresas importantes no mercado de tecnologia estão investindo maciçamente nesta área, como é o caso da gigante da computação e serviços IBM, bem como da Novell, empresa que já foi líder na tecnologia de redes locais.

    5. Impactos e Tendências

    Para uma análise estruturada dos impactos de TI nas organizações McFarlan (1984) enumerou cinco questões relacionadas com as forças competitivas de uma empresa (Porter, 1985):

    a) TI pode estabelecer barreiras aos novos entrantes?

    b) TI pode influenciar na troca ou no poder de barganha de fornecedores?

    c) TI pode alterar as bases da competição através de custo, diferenciação ou enfoque?

    d) TI pode alterar o poder de barganha dos clientes?

    e) TI pode gerar novos produtos?

    Fazendo-se uma análise da influência do conceito de software livre nas organizações, tomando como referencial a metodologia de McFarlan, constatamos que a resposta à segunda questão, que trata do poder de barganha dos fornecedores, é positiva, pois sem dúvida a adoção de software livre pelas empresas e organizações públicas deverá alterar drasticamente o relacionamento dos usuários de computador com as empresas fornecedoras de programas básicos e utilitários.

    Como exemplo podemos citar a Microsoft, que após conquistar cerca de 90% do mercado de programas para automação de processos de negócios, construiu um conjunto de padrões em termos de sistema operacional (Windows), editor de texto (MS-Word), planilha eletrônica (Excel), apresentação de slides (Powerpoint) e outros que, na prática, eliminou qualquer possibilidade de troca de fornecedor por parte dos seus clientes. Na Década de 90, inclusive, uma modalidade de contratação denominada "Contrato Select" forneceu respaldo jurídico ao poder público para adquirir, diretamente e com exclusivamente, sistemas proprietários, permitindo aos representantes da gigante americana no Brasil serem reconhecidos e premiados pela matriz devido ao grande volume de vendas.

    Acredita-se que a adoção de software livre possa ser uma alternativa real e viável para se contrapor ao monopólio existente, via principalmente uma drástica redução de custos de aquisição e atualização, possibilitando assim uma sobrevida maior dos investimentos realizados em infra-estrutura, treinamento e suporte técnico.

    Conforme os estudos de Michael E. Porter existem três tipos de Estratégia: (1) baseada em custo, onde uma empresa pode produzir com um custo mais baixo do que os seus concorrentes; (2) baseada na diferenciação de produtos, quando oferece um mix diferente de características no produto como serviço ou qualidade; (3) na especialização em um nicho de mercado, onde a empresa se distingue em custo ou em características raras.

    Considerando a primeira estratégia enumerada por Porter, se uma empresa consegue diminuir seus altos custos com um insumo essencial como TI, que em geral permeia e onera toda a cadeia de produção de um produto ou serviço, a resposta à terceira questão levantada por McFarlan também é verdadeira, ou seja, espera-se que a adoção de software livre venha a alterar as bases da competição entre concorrentes de um mesmo setor. Os impactos serão ainda mais significativos em setores muito dependentes da tecnologia de sistemas, como é o caso dos bancos a das empresas aéreas.

    6. Considerações Finais

    Os sistemas de computação passaram e ainda passam por grandes transformações. Após o grande sucesso dos mainframes na década de 60 e do fracasso dos Minicomputadores na década de 70, que se perderam entre os equipamentos de grande porte e a computação pessoal em rede, constatou-se na década de 80 a evolução vertiginosa dos microprocessadores, da integração e miniaturização em larga escala de componentes eletrônicos, do desenvolvimento de dispositivos de armazenamento de alta performance, da concepção de programas eficientes e de fácil operação, e da consolidação da tecnologia de redes de computadores, dentre outras inovações.

    Se por um lado novos paradigmas de computação baseada em estações de trabalho em rede estavam se formando na área de Tecnologia da Informação, também por outro uma forte corrente, por vezes inconseqüente, em favor de mudanças radicais em nome da redução de custos denominadas "downsizing" ou "rightsizing", começaram a surgir em todos os segmentos de mercado.

    Muitas dessas iniciativas lograram êxito, outras não, em razão das peculiaridades e especificidades dos negócios que suportavam. Descobriu-se, a duras penas, que tanto os mainframes como as redes de microcomputadores tinham e têm o seu espaço garantido, e que o componente custo não pode ser o direcionador único em um Planejamento Estratégico de TI. Mesmo assim, a mudança foi positiva e abriu caminho para o aparecimento de alternativas no complicado e fechado mercado de informática, na época baseado apenas nos computadores de grande porte.

    Da mesma forma, o monopólio criado em torno do mundo "Wintel" precisa e deve ser quebrado, a fim de possibilitar às organizações a livre escolha dentre diversas e diferentes soluções que melhor se adequem às suas necessidades, e assim forneçam ou contribuam para que as empresas alcancem as vantagens competitivas essenciais à sua sobrevivência.

    O conceito de software livre se configura como uma alternativa consistente para este fim, devendo-se considerar, no entanto, que "Software Livre" não significa "Software Grátis", ou seja, são necessários investimentos em soluções seguras e duradouras, a fim de não se colocar operações críticas de uma empresa, como o seu sistema de faturamento ou de contas a pagar/receber, sobre sistemas pouco confiáveis ou que, em um futuro próximo, não tenham condições de evolução, migração ou disponibilidade de suporte técnico qualificado.

    O momento é de mudanças. No entanto, o desafio de abrir o mercado e libertá- lo da dependência de alguns poucos provedores de tecnologia requer iniciativa, criatividade, coragem para assumir riscos e determinação, mas também requer responsabilidade, planejamento e competência dos executivos de TI, que precisam estar muito bem alinhados com as tendências de mercado e com as estratégias da corporação.

    Referências.

    ALMEIDA, R. Q. Disponível em http://www.dicas-l.com.br . Acesso em julho de 2004.

    BIMBO, R. Software livre é Prioridade - Versão: 1.0, Abril, 2004.

    CERIONI, T. A. Principal preocupação dos executivos de TI é gestão e não tecnologia. Setembro, 2003

    EVANS, P.B.; WURSTER, T.S. Getting Real About Virtual Commerce. Harvard Business Review, pgs 84-94, Nov/Dec, 1999.

    EVANS, P.B.; WURSTER, T.S. Strategy and the New Economics of Information. Harvard Business Review, pgs 71-82, Set/Out, 1997.

    FRONTINI, M.A. A Decision Making Model for Investing in Eletronic Busines. MIT, 1999.

    GIL, A. C. Métodos e Técnicas de Pesquisa Social. São Paulo : Atlas, 1999.

    Governo Eletrônico. Disponível em http://www.governoeletronico.gov.br , Acesso em 22 de agosto de 2004.

    HERDERSON, B. D. Estratégia - A Busca da Vantagem Competitiva. São Paulo : Campus, 1989.

    MCFARLAN, W.E. Information Tecnology Changes The Way You Compete. Harvard Business Review, pgs 98-103, May-June, 1884.

    OHMAE, K. Estratégia - A Busca da Vantagem Competitiva. São Paulo : Campus, 1989.

    PORTER, M.E. Strategy and the Internet. Harvard Business Review, pgs 63-78, March, 2001.

    PORTER, M.E.; MILLAR, V.E. How Information gives you competitive advantage. Harvard Business Review, pgs 149-160, Jul/Aug, 1985.

    STALK JR, G.; ABEGGLEN, J.C. Kaisha, The Japanese Corporation. Harvard Business Review, Jul/Ago, 1988.




    Fonte: http://www.dicas-l.com.br/print/20050418.html

    Vota este artigo

    Software livre - uma alternativa estratégica para as organizações públicas e privadas?

    by linuxdicas (20/11/2007 - 06:06)

    Software livre - uma alternativa estratégica para as organizações públicas e privadas?

    Colaboração: Carlos Tadeu A. de Pinho (UFRN)

    Resumo

    Este artigo trata do papel estratégico da Tecnologia da Informação no atual cenário empresarial e governamental, polarizado de um lado pela forte presença de uma empresa, que domina o fornecimento de soluções para automação de processos de negócios, e de outro por um movimento mundial de quebra desse monopólio via utilização de programas de livre acesso, utilização e distribuição. O assunto é destaque nas políticas públicas do governo federal, que trata o assunto software livre como prioridade e incentiva a sua utilização imediata. Para desenvolvimento deste trabalho foram considerados conceitos de autores renomados como Michael Porter e McFarlan, bem como pesquisas no site do governo eletrônico e outros que tratam do tema.

    Palavras-chave: Estratégia; Tecnologia; Software.

    1. Introdução

    As organizações empresariais modernas estão muito mais concentradas nos aspectos estratégicos da Tecnologia da Informação (TI), do que no uso da tecnologia em si. Segundo Cerioni (2003), os resultados apresentados na terceira edição da pesquisa Gestão de Tecnologia da Informação nas Empresas, realizada pela IBM em 126 organizações de grande porte, mostram que a atenção dos executivos está predominantemente voltada ao alinhamento de TI com as estratégias da organização, a gestão de custos e o retorno sobre investimento. Nada menos que 46% apontaram como a grande preocupação o alinhamento de TI com as estratégias corporativas.

    Outra conclusão importante deste levantamento é que 42% dos executivos entrevistados acreditam em TI como instrumento de agregar valor aos seus produtos ou serviços, contudo continuam as pressões para diminuição de custos, bem como para a comprovação dos benefícios trazidos pelos investimentos em novas tecnologias. Isso explica o interesse geral pelo Software Livre, como por exemplo o sistema operacional Linux, como alternativa para combater os altos custos de aquisição e, principalmente, atualização, que caracterizam o mundo proprietário "wintel", assim chamado o ambiente Windows da Microsoft em plataforma de microprocessadores Intel ou similares.

    Neste ambiente o tempo útil de vida de equipamentos e programas é muito curto, o eu obriga as organizações a realizarem investimentos permanentes, ora em equipamentos para suportar a maior demanda de recursos computacionais imposta pelas novas versões dos programas, ora em novas versões de programas para substituir as existentes, porém descontinuadas pelo fornecedor. Em suma, um ciclo que se perpetua para desespero dos executivos e administradores públicos.

    Há que se registrar que tal movimento também se verifica fortemente na área pública, particularmente nos Poderes Executivos Federal e Estadual, que vêm realizando pesquisas e incentivando as suas empresas e repartições a investirem em novas plataformas tecnológicas de menor custo, porém com performance e facilidade de uso equivalentes.

    Neste contexto, entendemos que o alinhamento estratégico de TI é a expressão que sintetiza o propósito de tornar a Tecnologia da Informação um fator crítico na moldagem da estratégia organizacional. Conceitos, estratégias, políticas públicas e tecnologias são abordadas no intuito de demonstrar que a TI se configura como um forte instrumento para consolidar e viabilizar os objetivos institucionais das esferas públicas, bem como as vantagens competitivas das empresas modernas.

    2. A Tecnologia da Informação no Século XX

    Desde o aparecimento do primeiro computador digital na década de 40, encomendado pelo governo americano primeiramente para aplicações militares, passando pela década de 60, quando os equipamentos de grande porte, também chamados mainframes, consolidaram a sua importância no processamento de transações científicas, comerciais ou governamentais de grande volume e/ou complexidade. Tudo isto, porém, demandou um custo altíssimo de instalação, manutenção, evolução e equipe técnica especializada.

    Já na década de 80, diversos fatores contribuíram para que a Tecnologia da Informação se "popularizasse", ou seja, deixasse de ser privilégio apenas das grandes corporações e permitisse às organizações de pequeno ou médio porte incorporar vantagens competitivas antes inacessíveis. Dentre outros motivos podemos destacar:

    a) Grande redução de custos, tanto de equipamentos quanto dos programas;

    b) Maior variedade de soluções disponíveis para os mais diferentes segmentos de mercado;

    c) Maior facilidade de aquisição, treinamento, operação e suporte técnico.

    Assim, a "Era da Informação" foi se consolidando através do uso intensivo de Sistemas de Informações, reforçada ainda mais com a evolução de outras tecnologias essenciais como a de Telecomunicações e de Redes Locais. Como exemplo podemos citar o rápido crescimento da Internet em todo o mundo, que nada mais é do que uma rede mundial formada pela interligação de milhares de redes locais de computadores. A rede mundial forneceu a infra-estrutura sobre a qual foram desenvolvidas aplicações estratégicas de TI, dentre as quais podemos destacar o E-Busines e o E-Commerce (Evans & Wurster, 1997; Frontini, 1999).

    Podemos citar ainda outros avanços no mundo digital como a padronização das regras de comunicação, também chamadas protocolos, com destaque para o TCP- IP, que tornou-se padrão nas redes locais e na própria Internet. A maior oferta de conexão de alta velocidade, ou banda larga, tanto para uso empresarial quanto doméstico, também está contribuindo significativamente para fazer da Tecnologia da Informação algo essencial na vida das pessoas físicas e jurídicas.

    Neste cenário muitas empresas utilizam a informática para conquistar vantagens competitivas em relação aos seus concorrentes. Apesar de disponível a todos que tenham visão e recursos para investimento, aquelas organizações que também usaram o tempo como um fator de vantagem sobre os concorrentes (Stalk, 1988) e saíram na frente no uso estratégico de TI conquistaram mercado, melhoraram a sua imagem junto aos clientes, diminuíram custos e, conseqüentemente, tiveram melhores resultados em seus balanços. George Stalk muito bem defendeu a importância do tempo como fonte de vantagem competitiva quando escreveu que "os melhores concorrentes, aqueles mais bem-sucedidos, sabem como estar sempre em movimento e se manter à frente".

    Como exemplo desta postura podemos citar o setor de serviços, particularmente o segmento financeiro, onde muitos bancos fizeram da tecnologia da informação um dos pilares da sua estratégia empresarial. Investindo fortemente em infra-estrutura e sistemas computacionais, o Unibanco, por exemplo, lançou o conceito de Banco 30 horas, onde o cliente passava a dispor não apenas de um banco físico, tradicional, com agências, gerentes e caixas seis horas por dia, mas também um banco virtual, acessível por diferentes meios (telefone, fax, internet, pager, celular etc.), disponível vinte e quatro horas.

    Um componente importante desta estratégia foi o uso intensivo da Internet, que praticamente substitui a obrigação e, geralmente, o aborrecimento do cliente precisar se deslocar a uma agência, ou até mesmo a um terminal de auto-atendimento, a não ser para a retirada de dinheiro em espécie. Com isso, o banco ganhou mercado colocando disponível, na casa ou no escritório do cliente, informações de saldos e extratos, serviços de débito automático em conta-corrente, requisição de talão de cheques e outras facilidades.

    Um outro aspecto importante que caracteriza a vantagem competitiva adquirida pelo banco foi a diminuição drástica dos custos de instalações físicas e pessoal, transferindo para cliente todo o trabalho de digitação dos dados de pagamentos de boletos de cobrança, contas de consumo como luz e telefone, transferência de fundos etc, antes feito nas agências. Por fim, a instituição obteve ganhos significativos de imagem não apenas com marketing agressivo, mas também porque os clientes ainda ficaram felizes pela comodidade de não precisar enfrentar filas.

    3. Um Novo Paradigma Para Um Novo Milênio - O Software Livre

    O conceito de software livre se refere às quatro liberdades dadas aos usuários da tecnologia da informação para utilizar, copiar, alterar e distribuir estes programas, seja gratuitamente, seja com algum tipo de custo agregado. Desta forma, o usuário pode executar um software livre para qualquer propósito, pode aprender como funciona através do estudo do seu código-fonte, pode adaptar e aperfeiçoar o programa segundo as suas necessidades, e pode ainda fazer cópias e distribuir para outros, de forma que todos possam se beneficiar das suas facilidades.

    Deve-se atentar que o conceito de software livre difere de outro conceito um pouco mais antigo e conhecido, que trata de sistema ou software aberto, pois este diz respeito apenas ao acesso ao código-fonte do programa, não sendo possível usufruir das outras importantes liberdades que caracterizam o software livre, como por exemplo a sua distribuição.

    O aparecimento do software livre trouxe um novo paradigma na forma de trabalhar e lucrar no mundo digital, pois as fontes de receitas nestes ambientes não advém diretamente da venda ou distribuição dos programas, mas sim da prestação de serviços como desenvolvimento de aplicações, suporte técnico, treinamento de profissionais ou de usuários finais, projetos de sistemas de informações, projeto de redes de computadores e outros.

    O software livre agrega ainda valor e conhecimento permanente a quem dele se utiliza, o que significa que a riqueza gerada na sua utilização é contabilizada localmente e não apenas na geração de lucros, mas também na geração de empregos, além de evitar os males da dependência externa e os altos custos de pagamento de royalties.

    O Brasil, que tem grande necessidade de se desenvolver e conta com profissionais capacitados e com larga experiência no uso de TI em diferentes segmentos, encontra um campo fértil para utilização de software livre. Muitos projetos têm sido mostrados nos eventos cada vez mais numerosos que tratam desta tecnologia, como o Fórum Mundial de Software Livre, onde empresas e universidades têm se destacado como centros de excelência na sua aplicação e utilização.

    Se ainda não se configura como uma virada no atual modelo de comercialização de software baseado em arquiteturas proprietárias, no mínimo o conceito de software livre traz as vantagens de independência tecnológica, compartilhamento de informações técnicas, liberdade de uso e ausência de custos com royalties, constituindo-se uma alternativa promissora e real para organizações públicas, privadas ou do terceiro setor, de qualquer tipo ou tamanho. Isso deve levar a Microsoft e outros atores deste segmento a repensarem as suas estratégias corporativas para este novo milênio.

    4. O Poder Público e o Software Livre

    Dentro de um contexto amplo de governo eletrônico, que se caracteriza por utilizar largamente a tecnologia digital para a promoção da cidadania, a inclusão digital, a articulação e gestão de políticas públicas, a racionalização de recursos, a integração de sistemas, padrões, normas e com outros governos e poderes (veja maiores detalhes no endereço eletrônico www.governoeletrônico.gov.br), o governo federal criou oito Comitês técnicos de estudo, definição e implementação de iniciativas voltadas ao mundo digital, a saber:

    a) Inclusão Digital

    b) Gestão de Sítios e Serviços On Line

    c) Integração de Sistemas

    d) Infra-estrutura de Redes

    e) Gestão do Conhecimento e Informação Estratégica

    f) Governo para Governo

    g) Sistemas Legados e Licenças

    h) Implantação do Software Livre

    Este último reúne dezenas de membros representativos de diferentes e importantes órgãos da administração como Ministérios, empresas estatais e autarquias. Como resultado dos projetos apresentados, discutidos e aprovados nesse fórum, estão previstas migrações de plataformas tecnológicas proprietárias para plataformas livres nos Ministérios das Comunicações, Minas e Energia, Relações Exteriores, Cultura, Ciência e Tecnologia, Educação e outros mais.

    Muitas destas migrações se realizaram com êxito. Segundo o Comitê Técnico para Implantação do Software Livre (CISL), somente em 2004 R$ 28,5 milhões deixaram de ser gastos com licenças de uso de softwares proprietários, o que representa uma economia entre 7% a 9,5% do orçamento anual do governo federal, estimado entre R$ 300 milhões e R$ 400 milhões.

    Outros Comitês citados acima, como o de Inclusão Digital, também reiteram e incentivam a utilização prioritária de software livre, como por exemplo na instalação e operação de milhares de tele-centros comunitários, onde a população poderá ter acesso às facilidades possíveis pela tecnologia da informação, inclusive às informações disponíveis na Internet.

    Com a relação à política industrial, o atual governo encara a indústria de software como uma prioridade para promover o desenvolvimento do país. Dentre as muitas iniciativas a serem implementadas para o crescimento do setor destaca-se o programa de incentivo ao desenvolvimento de software livre, onde estão previstos cerca de 163 milhões de reais para a produção de sistemas baseados em plataformas não-proprietárias (BIMBO, 2003).

    O Brasil tem o sétimo maior mercado de software do mundo, importa cerca de 1 bilhão e exporta cerca de 100 milhões de dólares por ano, no modelo de plataforma tecnológica proprietária. O Governo entende que o software livre deverá ser um importante instrumento de mudança neste cenário amplamente desfavorável ao país, uma vez que soluções estáveis e confiáveis já se encontram disponíveis, como é o caso do Servidor Web Apache, utilizado em mais de 70% dos sítios digitais.

    A Brasil se destaca também como pioneiro na busca de se estabelecer uma legislação específica para o uso de software livre, em substituição ao proprietário. A cidade de Recife, por exemplo, foi a primeira a aprovar leis neste sentido, que determinam que a arquitetura proprietária seja utilizada somente quando, comprovadamente, não houver uma solução similar baseada em software livre. Também a cidade de Amparo, em São Paulo, adotou uma postura semelhante.

    Verifica-se também que uso de Software Livre é uma tendência mundial, pois além do Brasil muitos outros países, desenvolvidos ou emergentes, estão trilhando este caminho, a exemplo da Alemanha, França, Espanha, China e México. A Tabela 1 descreve algumas iniciativas em andamento a nível internacional.

    País Ações em Andamento
    FRANÇA O parlamento encaminhou proposta de lei tratando da disponibilidade do código fonte de programas utilizados pelo governo e da adoção de padrões abertos
    ALEMANHA O governo patrocinou iniciativas do "German Unix Users Group" (GUUG), para adaptar o software de criptografia GnuPG, para uso de órgãos governamentais.
    ARGENTINA Foi apresentada uma proposta que determina, com algumas exceções, o uso de software livre em todos os órgãos governamentais e empresas estatais.
    UNIÃO EUROPÉIA A União Européia solicitou recomendações ao grupo de trabalho sobre software livre, o qual no último ano levantou a possibilidade de que seja adotada pela União Européia "sempre que possível".
    ASIA Diversos governos têm agido de forma diversa, porém tomando medidas visando reduzir o uso de software proprietário. Na Coréia do Sul, em 1997, o Ministério da Informação e Comunicação implantou programas para administração de sistemas em GNU/Linux
    CHINA Na China, o governo encoraja o uso da distribuição Red Flag de forma a tentar reduzir a dependência de softwares americanos, particularmente da Microsoft
    MÉXICO O México está patrocinando o projeto Red Scolar, que tem por objetivo instalar sistemas GNU/Linux em 140.000 laboratórios de escolas por todo o país e prover seus alunos acesso a correio eletrônico, Internet, processadores de texto e planilhas eletrônicas.

     

    Tabela 1 - Iniciativas em outros países em relação ao uso de Software Livre (Almeida, 2004).

    Também antevendo novas oportunidades de negócios, empresas importantes no mercado de tecnologia estão investindo maciçamente nesta área, como é o caso da gigante da computação e serviços IBM, bem como da Novell, empresa que já foi líder na tecnologia de redes locais.

    5. Impactos e Tendências

    Para uma análise estruturada dos impactos de TI nas organizações McFarlan (1984) enumerou cinco questões relacionadas com as forças competitivas de uma empresa (Porter, 1985):

    a) TI pode estabelecer barreiras aos novos entrantes?

    b) TI pode influenciar na troca ou no poder de barganha de fornecedores?

    c) TI pode alterar as bases da competição através de custo, diferenciação ou enfoque?

    d) TI pode alterar o poder de barganha dos clientes?

    e) TI pode gerar novos produtos?

    Fazendo-se uma análise da influência do conceito de software livre nas organizações, tomando como referencial a metodologia de McFarlan, constatamos que a resposta à segunda questão, que trata do poder de barganha dos fornecedores, é positiva, pois sem dúvida a adoção de software livre pelas empresas e organizações públicas deverá alterar drasticamente o relacionamento dos usuários de computador com as empresas fornecedoras de programas básicos e utilitários.

    Como exemplo podemos citar a Microsoft, que após conquistar cerca de 90% do mercado de programas para automação de processos de negócios, construiu um conjunto de padrões em termos de sistema operacional (Windows), editor de texto (MS-Word), planilha eletrônica (Excel), apresentação de slides (Powerpoint) e outros que, na prática, eliminou qualquer possibilidade de troca de fornecedor por parte dos seus clientes. Na Década de 90, inclusive, uma modalidade de contratação denominada "Contrato Select" forneceu respaldo jurídico ao poder público para adquirir, diretamente e com exclusivamente, sistemas proprietários, permitindo aos representantes da gigante americana no Brasil serem reconhecidos e premiados pela matriz devido ao grande volume de vendas.

    Acredita-se que a adoção de software livre possa ser uma alternativa real e viável para se contrapor ao monopólio existente, via principalmente uma drástica redução de custos de aquisição e atualização, possibilitando assim uma sobrevida maior dos investimentos realizados em infra-estrutura, treinamento e suporte técnico.

    Conforme os estudos de Michael E. Porter existem três tipos de Estratégia: (1) baseada em custo, onde uma empresa pode produzir com um custo mais baixo do que os seus concorrentes; (2) baseada na diferenciação de produtos, quando oferece um mix diferente de características no produto como serviço ou qualidade; (3) na especialização em um nicho de mercado, onde a empresa se distingue em custo ou em características raras.

    Considerando a primeira estratégia enumerada por Porter, se uma empresa consegue diminuir seus altos custos com um insumo essencial como TI, que em geral permeia e onera toda a cadeia de produção de um produto ou serviço, a resposta à terceira questão levantada por McFarlan também é verdadeira, ou seja, espera-se que a adoção de software livre venha a alterar as bases da competição entre concorrentes de um mesmo setor. Os impactos serão ainda mais significativos em setores muito dependentes da tecnologia de sistemas, como é o caso dos bancos a das empresas aéreas.

    6. Considerações Finais

    Os sistemas de computação passaram e ainda passam por grandes transformações. Após o grande sucesso dos mainframes na década de 60 e do fracasso dos Minicomputadores na década de 70, que se perderam entre os equipamentos de grande porte e a computação pessoal em rede, constatou-se na década de 80 a evolução vertiginosa dos microprocessadores, da integração e miniaturização em larga escala de componentes eletrônicos, do desenvolvimento de dispositivos de armazenamento de alta performance, da concepção de programas eficientes e de fácil operação, e da consolidação da tecnologia de redes de computadores, dentre outras inovações.

    Se por um lado novos paradigmas de computação baseada em estações de trabalho em rede estavam se formando na área de Tecnologia da Informação, também por outro uma forte corrente, por vezes inconseqüente, em favor de mudanças radicais em nome da redução de custos denominadas "downsizing" ou "rightsizing", começaram a surgir em todos os segmentos de mercado.

    Muitas dessas iniciativas lograram êxito, outras não, em razão das peculiaridades e especificidades dos negócios que suportavam. Descobriu-se, a duras penas, que tanto os mainframes como as redes de microcomputadores tinham e têm o seu espaço garantido, e que o componente custo não pode ser o direcionador único em um Planejamento Estratégico de TI. Mesmo assim, a mudança foi positiva e abriu caminho para o aparecimento de alternativas no complicado e fechado mercado de informática, na época baseado apenas nos computadores de grande porte.

    Da mesma forma, o monopólio criado em torno do mundo "Wintel" precisa e deve ser quebrado, a fim de possibilitar às organizações a livre escolha dentre diversas e diferentes soluções que melhor se adequem às suas necessidades, e assim forneçam ou contribuam para que as empresas alcancem as vantagens competitivas essenciais à sua sobrevivência.

    O conceito de software livre se configura como uma alternativa consistente para este fim, devendo-se considerar, no entanto, que "Software Livre" não significa "Software Grátis", ou seja, são necessários investimentos em soluções seguras e duradouras, a fim de não se colocar operações críticas de uma empresa, como o seu sistema de faturamento ou de contas a pagar/receber, sobre sistemas pouco confiáveis ou que, em um futuro próximo, não tenham condições de evolução, migração ou disponibilidade de suporte técnico qualificado.

    O momento é de mudanças. No entanto, o desafio de abrir o mercado e libertá- lo da dependência de alguns poucos provedores de tecnologia requer iniciativa, criatividade, coragem para assumir riscos e determinação, mas também requer responsabilidade, planejamento e competência dos executivos de TI, que precisam estar muito bem alinhados com as tendências de mercado e com as estratégias da corporação.

    Referências.

    ALMEIDA, R. Q. Disponível em http://www.dicas-l.com.br . Acesso em julho de 2004.

    BIMBO, R. Software livre é Prioridade - Versão: 1.0, Abril, 2004.

    CERIONI, T. A. Principal preocupação dos executivos de TI é gestão e não tecnologia. Setembro, 2003

    EVANS, P.B.; WURSTER, T.S. Getting Real About Virtual Commerce. Harvard Business Review, pgs 84-94, Nov/Dec, 1999.

    EVANS, P.B.; WURSTER, T.S. Strategy and the New Economics of Information. Harvard Business Review, pgs 71-82, Set/Out, 1997.

    FRONTINI, M.A. A Decision Making Model for Investing in Eletronic Busines. MIT, 1999.

    GIL, A. C. Métodos e Técnicas de Pesquisa Social. São Paulo : Atlas, 1999.

    Governo Eletrônico. Disponível em http://www.governoeletronico.gov.br , Acesso em 22 de agosto de 2004.

    HERDERSON, B. D. Estratégia - A Busca da Vantagem Competitiva. São Paulo : Campus, 1989.

    MCFARLAN, W.E. Information Tecnology Changes The Way You Compete. Harvard Business Review, pgs 98-103, May-June, 1884.

    OHMAE, K. Estratégia - A Busca da Vantagem Competitiva. São Paulo : Campus, 1989.

    PORTER, M.E. Strategy and the Internet. Harvard Business Review, pgs 63-78, March, 2001.

    PORTER, M.E.; MILLAR, V.E. How Information gives you competitive advantage. Harvard Business Review, pgs 149-160, Jul/Aug, 1985.

    STALK JR, G.; ABEGGLEN, J.C. Kaisha, The Japanese Corporation. Harvard Business Review, Jul/Ago, 1988.




    Fonte: http://www.dicas-l.com.br/print/20050418.html

    Vota este artigo

    Instalação Linux em Modo Kickstart

    by linuxdicas (20/11/2007 - 05:41)

    Instalação Linux em Modo Kickstart

    Colaboração: Rubens Queiroz de Almeida

    1. Introdução

    É possível se fazer a instalação do Linux de forma automatizada, onde o programa de instalação obtém a resposta para a maioria das perguntas a partir de um arquivo de configuração. Desta forma o administrador pode obter um ganho considerável de tempo na instalação e configuração de um grande número de estações de trabalho Linux.

    Esta modalidade de instalação chama-se kickstart. O administrador de sistemas cria um arquivo de configuração onde são especificadas todas as opções de instalação como tipo de placa de rede, teclado, pacotes a serem instalados, número IP da estação e do gateway, endereço IP do servidor de nomes e várias outras alternativas.

    Este documento discute um subconjunto das opções disponíveis de instalação através do modo kickstart. Para maiores informações consultar o guia de instalação do Red Hat Linux, apêndice H (http://www.dicas-l.com.br/linux/rhl-instguide.pdf) Outra fonte útil de referência é o documento Kickstart-HOWTO distribuído juntamente com sistemas Red Hat Linux (/usr/doc/HOWTO).

    2. Quando usar?

    A opção kickstart de instalação do Red Hat Linux e derivados é interessante quando o administrador de redes necessita configurar um grande número de máquinas que possuem uma configuração de hardware semelhante. Desta forma a maior parte da instalação transcorre sem a necessidade de intervenção humana e apenas os ajustes finais são feitos manualmente.

    Como exemplo podemos citar a configuração de equipamentos em laboratórios de ensino, pré-instalação do Linux em máquinas recém-adquiridas antes da entrega ao usuário final e realização de upgrades de versão.

    3. Arquivo de configuração

    O arquivo onde são especificadas todas as opções para instalação do sistema Linux chama-se ks.cfg. Linhas iniciadas em # são tratadas como comentários. O arquivo abaixo foi utilizado para instalação do Conectiva Red Hat Linux em um micro IBM/PC 486. 66MHZ, 32 MB de memória:

     lang pt_BR network --bootproto static --ip 143.106.20.73 --netmask 255.255.255.192 --gateway 143.106.20.65 cdrom device ethernet ne --opts "io=0x300, irq 5" keyboard br-abnt2 zerombr yes clearpart --all part / --size 500 --grow part swap --size 64 install mouse --kickstart generic3ps/2 --emulthree timezone --utc Brazil/East xconfig --server "SVGA" --monitor "lg studioworks 55i" rootpw --iscrypted a1veRaxg0oW/. lilo --location mbr %packages @workstation %post # acrescentar comentário ao arquivo /etc/motd echo Sistema Instalado em modo Kickstart em ""< }/bin/date""{ > > /etc/motd # acrescentar diretiva search ao arquivo /etc/resolv.conf echo search unicamp.br ccuec.unicamp.br 

    Vamos agora analisar as opções selecionadas:

    lang pt_BR

    Esta opção seleciona o idioma de instalação, português do Brasil

    network --bootproto static|dhcp|bootp --ip 143.106.20.73 --netmask 255.255.255.192 --gateway 143.106.20.65

    Aqui temos as opções de configuração IP da máquina. O endereço IP é atribuído estaticamente, sem o uso de servidores DHCP. O endereço IP da máquina é 143.106.20.73, sua máscara de rede é 255.255.255.192 e o gateway da rede onde esta estação de trabalho se encontra é 143.106.20.65.

    cdrom|nfs --server nome.do.servidor --dir /caminho/da/imagem/redhatlinux

    A instalação será feita a partir de um cdrom

    device ethernet ne --opts "io=0x300, irq 5"

    A placa de rede é do tipo ne2000 ou compatível e está configurada para utilizar o endereço 0x300 e a interrupção de número 5. Esta informação pode ser obtida através do disquete de configuração normalmente distribuído com a placa de rede.

    keyboard br-abnt2

    Tipo de teclado. Esta opção, br-abnt2, é a utilizada pelos teclados nacionais. Normalmente apenas o Conectiva Red Hat Linux suporta esta opção.

    zerombr yes|no

    Indica se o MBR (Master Boot Record) deve ser totalmente apagado. Esta opção é a recomendada para novas instalações. Em máquinas onde existam partições válidas que se queira preservar utilizar ``zerombr no''.

    clearpart --all|linux

    Sinaliza se todas as partições existentes no equipamento devem ser apagadas.

    part / --size 500 --grow

    A diretiva part faz a alocação das partições de seu sistema Linux. Neste caso está sendo alocada a partição root com tamanho de 500MB. A diretiva --grow indica que, se ao final do processo de alocação de todas as partições ainda restar algum espaço livre, este espaço será acrescido ao tamanho especificado originalmente.

    part swap --size 64

    Esta diretiva aloca o espaço de swap

    install|upgrade

    Será feita uma nova instalação (ou um upgrade)

    mouse --kickstart generic3ps/2 --emulthree

    Especificação do mouse, tipo PS/2, com dois botões, com suporte à emulação de três botões.

    timezone --utc Brazil/East

    Região geográfica

    xconfig --server "SVGA" --monitor "lg studioworks 55i"

    Especificação do tipo de placa de vídeo e monitor

    rootpw --iscrypted a1veRaxg0oW/.

    A senha do usuário root pode ser incluída de forma encriptada, como acima, ou não. A senha, caso criptografada deve ser precedida da diretiva --iscrypted.

    lilo --location mbr

    O LILO (Linux Loader) será instalado no registro mestre de boot (MBR). Este é o default.

    @workstation|@server

    Neste seção especificamos os pacotes a serem instalados. Podemos fazer uma especificação mais genérica, como em nosso exemplo, ou especificar separadamente cada pacote que desejamos instalar. No Conectiva Linux versão 4.0 são os seguintes os valores possíveis, além dos já especificados acima:

     Base X Window System Mail/WWW/News Tools File Managers X multimedia support Console Multimedia Networked Workstation Dialup Workstation KDE 

    Na especificação no arquivo ks.cfg preceder os valores acima do caracter ``@''.

    Incluir nesta seção os comandos que você deseja executar após o fim da instalação. Exemplo:

     # acrescentar comentário ao arquivo /etc/motd echo Sistema Instalado em modo Kickstart em ""< }/bin/date""{ > > /etc/motd # acrescentar diretiva search ao arquivo /etc/resolv.conf echo search unicamp.br ccuec.unicamp.br 

    4. Como Instalar em modo Kickstart

    4.1. Através do disquete de boot

    Para utilizar o disquete de boot basta copiar o arquivo ks.cfg criado para o disquete de boot. No Linux isto pode ser feito através do comando mcopy visto que este disquete está no formato MS-DOS (FAT). A cópia pode também ser feita a partir de um sistema DOS.

    Isto feito, inserir o disquete no drive a: de seu computador. Ao aparecer o prompt

    boot: linux ks=floppy

    A partir deste ponto, se o seu arquivo ks.cfg estiver especificado corretamente, toda a instalação transcorrerá automaticamente.

    4.2. Através da Rede

    A instalação via rede requer a configuração de um servidor DHCP ou Bootp a partir do qual a estação de trabalho obtém suas informações de rede e a localização do arquivo kickstart. De posse destas informações o cliente tentará montar via NFS o sistema de arquivos com as informações que precisa. Esta opção de instalação será abordada em maiores detalhes nas próximas versões deste documento.

    5. Geração Automática do Arquivo ks.cfg

    O pacote mkkickstart permite a criação automática do arquivo ks.cfg. Este programa obtém a configuração de seu sistema automaticamente e cria um arquivo ks.cfg apropriado. É recomendável que o arquivo ks.cfg gerado seja examinado para verificar se todos os parâmetros codificados estão adequados.

    O pacote mkkickstart pode ser encontrado em

    http://ftp.unicamp.br/pub/conectiva/conectiva/RPMS/mkkickstart-1.2-2cl.noarch.rpm




    Fonte: http://www.dicas-l.com.br/print/19990922.html

    Vota este artigo

    Nova versão do Agata Report

    by linuxdicas (20/11/2007 - 04:39)

    Nova versão do Agata Report

    Gostaria de enviar a vocês o anúncio da nova versão do Agata Report, desenvolvido por Pablo Dall'Oglio, da equipe da Univates.

    Nós usamos o Agata Report aqui na Unicamp e eu realmente não tenho palavras para descrever como é útil, em diversos aspectos.

    Para saber mais, continue lendo :-)

    UNIVATES, 22 de Outubro de 2002.

    Saiu a versão final do Agata Report - Gerador de Relatórios.

    http://agata.codigolivre.org.br

    Estas características vem sido trabalhadas desde o início da versão 3.

    • Suporte à temas (skins) de gtk.themes.org;
    • Importação de arquivo DBF para Base SQL;
    • Gerenciador de projetos;
    • Manual do usuário em português e Inglês;
    • Novas cláusulas;
    • Testado e preparado para DB2;
    • Instalação facilitada para windows também;

    A nova versão 4.0 já está sendo projetada, com novos recursos visuais.

    Mas o que é o Agata Report ?

    Agata Report é um gerador de relatórios, desenvolvida em PHP-GTK. Permite a edição e obtenção de pesquisas SQL de bases de Dados como arquivos texto ou PostScript.

    Ele conecta na Base de Dados, lista suas tabelas, campos, e permite fazer ligações entre as tabelas, restrições, ordenações, aplicar funções e realizar a consulta ao final. Ele Gera o resultado para arquivo PostScript ou TXT.

    • Atualmente, O Agata tem suporte ao Inglês, Português, Italiano, Francês, Alemão e Suéco;

       

    • O Agata conecta em PostgreSQL, MySQL, Oracle, SyBase, MsSql e FrontBase, Informix and InterBase. Mas o Agata foi suficientemente testado apenas com PostgreSQL, Informix, MsSql, InterBase, MySQL e DB2;

    Agata Report tem algumas ferramentas úteis:

    • Agata EIS é uma ferramenta para geração de gráficos. Permite ao usuário definir uma série de instruções SQL para obter informações do Banco de Dados. Estas informações (colunas numéricas) serão desenhadas como gráficos de linhas, colunas ou pizza. O usuário também poderá exportar os dados no formato CSV, para usá-los em outra planilha eletrônica como gnumeric ou kspread.

       

    • Merge tool permite escrever qualquer documento (p.e. uma carta) e inserir qualquer variável apartir da pesquisa SQL. Você pode definir SubPesquisas dentro do documento, também. Há vários símbolos, linhas e fontes que você pode usar. No final, o resultado será um arquivo PostScript;

       

    • Label tool é um (mini Merge Tool) que é útil para gerar etiquetas de endereçamento. Você pode definir o formato inserindo os campos onde você quiser. As Etiquetas serão geradas em uma página A4 com 2 colunas (Arquivo PostScript);

       

    • Dia tool é uma ferramenta para gerar diagramas. Através desta opção você pode gerar um Diagrama (Formato DIA) com todas as tabelas envolvidas na consulta. A Dia tool não desenha as linhas entre as tabelas no diagrama ainda.

       

       +--------------------------------------------------+ | _ Pablo Dall'Oglio (pablo@php.net) | | °v° Univates - IT Department +55 51 3714-7040 | | /(_) Life is a jorney, not a destination... | | ^ ^ Linux User n.223253, Lajeado, RS - Brasil | +--------------------------------------------------+ : Programmer, pilot, wine taster and a half musician 



    Fonte: http://www.dicas-l.com.br/print/20021028.html

    Vota este artigo

    Semáforos, Kernel, Memória Compartilhada e Cia

    by linuxdicas (20/11/2007 - 04:38)

    Semáforos, Kernel, Memória Compartilhada e Cia

    //Colaboração: Jairo Willian Pereira <<jairo (a) progonos com>> //

    Há ocasiões onde é extremamente necessário que dois ou mais processos/threads acessem um único recurso comum. Caso esse tipo de paralelismo não ocorra de forma controlada, podemos fazer com que um processo "sequestre/atropele" a operação de outro.

    É ai que entram nossos sinalizadores, vulgo semáforos. Com eles, é possível acesso controlado a processos, de forma que só haverá disponibilidade quando a operação em andamento for finalizada.

    Processos, memória compartilhada e filas de mensagens é a principal tríade de recursos compartilhados necessários em ambientes *NIX para a perfeita comunicação entre processos (System V IPC ou também conhecida em outros ambientes com IPC ou Inter-Process Communication).

    Esse semáforos funcionam como indicadores (flags) que sinalizam para o ambiente se o mesmo está ou não em utilização (os métodos de sinalização não são pertinentes ao artigo, mas podemos didaticamente imaginar que pode ser 0 e 1, respectivamente 0 para indisponível e 1 para disponível). Assim, o processo de sinalização requer colaboração e troca de informações entre processos.

    Dependendo da quantidade de aplicações que existem no ambiente, a quantidade inicial de semáforos pode não ser suficientes para um perfeito controle de todo o sistema. Na verdade, a maioria dos sistemas operacinais modernos oferecem essas funcionalidades, porém os padrões das diversas distribuições são tão baixos que não é necessário um super-servidor para saturar esses recursos (principalmente o legado BSD). Por exemplo:

    Uma instalação considerável do PostGreSQL pode "extirpar" rapidamente vários limites de recursos do sistema operacional, comumente usando 1 semáforo para cada instância/requisição concorrente. Uma instalação comum de Oracle consome aproximadamente 70 semáforos.

    Quando esses recursos são saturados, sua falta manifesta um erro conhecido como "Chamada de Sistema Ilegal". Nesse caso, não há nada a ser feito, a não ser remover recursos "gulosos" que na maioria das vezes não é possível ou recompilar o núcleo do kernel. Para os escovadoresde bits e curiosos de plantão, os arquivos fontes são:

     /usr/src/linux/include/asm/shmparam.h /usr/src/linux/include/asm/semaphore.h /usr/src/linux/include/asm/semaphore-helper.h /usr/src/linux/include/linux/shm.h /usr/src/linux/include/linux/sem.h 

     

    Nessa dica, além de darmos uma explanação sobre "semáforos", iremos demonstrar como corrigir esses problemas sem desinstalar aplicações e/ou recompilar seu kernel. Como pré-requisito, esperamos que você esteja com sorte e seu kernel já esteja compilado com o CONFIG_SYSCTL ativo.

    Sem essa opção, não há como fazer mudanças "inline/on the fly" para parâmetros do kernel. A boa noticia é que ele já vem ligado por padrão em um kernel 2.4 normal (como pode esbarrar em questões de segurança, provavelmente algumas distribuições mais conservadoras ou ditas seguras podem ter como padrão disable).

    O sistema de arquivos proc

    Muitos parâmetros de kernel podem ser alterados através do sistema de arquivos /proc ou usando sysctl. Você pode consultar esses valores consultando:

     [root@gianlucca root]# more /proc/sys/kernel/sem # Semáforos [root@gianlucca root]# more /proc/mdstat # RAID status [root@gianlucca root]# more /proc/cpuinfo # Processador [root@gianlucca root]# more /proc/version # Versão Kernel 

     

    Ou ainda, uma variedade de informações de todo o sistema via:

     [root@gianlucca root]# procinfo [root@gianlucca root]# sysctl -a 

     

    Como estamos falando de semáforos e recursos do sistema, vamos dar uma olhada nesses valores:

     [root@gianlucca root]# ipcs -la ----- Limites da memória compartilhada ---------- número máximo de segmentos: 4096 tamanho máximo do segmento (Kb): 2097152 memória compartilhada total máxima (Kb): 8388608 tamanho mínimo do segmento (bytes): 1 ------ Limites de semáforo ---------------------- número máximo de arrays: 100 máximo de semáforos por array: 100 máximo geral de semáforos do sistema: 32000 máximo de ops por chamada semop: 100 valor máximo de semáforo: 32767 ------ Mensagens: limites ----------------------- número máximo geral de filas no sistema: 16 tamanho máximo da mensagem (bytes): 8192 tamanho máximo padrão da fila (bytes): 16384 

     

    Lembram da ganância por recursos do Oracle? Observem agora esses limites (100). Levando em consideração que o próprio SO já está utilizando parte deles, nossa cota está proxima de estouro. Vamos conhecer um pouco mais sobre esses indicadores.

    Parâmetros IPC (System V)

    SEMMNI

    Número máximo de identificadores de semáforos (conjuntos).

    SEMMNS

    Número máximo de semáforos para todo o sistema.

    SEMMSL

    Número máximo de semáforos por conjunto.

    SEMMAP

    Número de entradas no mapa de semáforos. Deve ser definido como o produto de SEMMNI e SEMMSL (SEMMAP = SEMMNI * SEMMSL).

    SEMVMX

    Valor máximo de um semáforo. Pelo menos 1000, onde o padrão é geralmente 32767. Não mude a não ser quando solicitado!

    Onde, quando e como alterar corretamente os valores

    Esses valores podem ser modificados via arquivo de sistema proc sem necessidade de reinicialização. A operação abaixo ilustra essa mudança:

     [root@gianlucca root]# sysctl -w kernel.sem="250 32000 100 128" 

     

    Como esses valores são perdidos numa unicialização do sistema, os mesmos podem ser colocados em um script executado durante a inicialização, como erroneamente utilizado em gateways/firewall para habilitar roteamento de pacotes.

     /bin/echo "1" > /proc/sys/net/ipv4/ip_forward && echo Ok || echo Erro! 

     

    Como alternativa correta para ambos os exemplos mostrados, pode ser utilizado sysctl (se disponível), para controlar estes parâmetros. Como esse arquivo é processado durante a inicialiação, as mudanças devem ser inseridas em /etc/sysctl.conf conforme o exemplo:

     kernel.shmall = 134217728 kernel.shmmax = 134217728 net.ipv4.ip_forward = 1 

     

    A sintaxe para o /etc/sysctl.conf é bem simples. Remova /proc/sys/ dos caminhos mencionados anteriormente e substitua a / pelo . utilizando a mesma estrutura. Assim,

     /proc/sys/net/ipv4/ip_forward = net.ipv4.ip_forward 

     

    Overview sobre opções de memória compartilhada

    Embora o foco seja semáforos, caso a memória compartilhada sofra sobre-utilização pelo kernel (overcommit), problemas podem ocorrer especificamente com o ambiente do PostGreSQL. Um erro comum desse SGBD é:

     Out of Memory: Killed process 12345 (postmaster). 

     

    A partir do kernel 2.6, opadrão é que não haja "sobre-utilização". Caso esteja desativado, pode ser implementado selecionando um modo restrito de sobre-utilização através do sysctl:

     [root@gianlucca root]# sysctl -w vm.overcommit_memory=2 

     

    Aproveitando o espaço, e como estava com as definições em mãos, segue descritivo referencia para facilitar a configuração (quando necessário) desses parâmetros:

    SHMMAX

    Tamanho máximo de um segmento de memória compartilhada (bytes). 250 kB + 8.2 kB * shared_buffers + 14.2 kB * max_connections até o infinito.

    SHMMIN

    Tamanho mínimo de um segmento de memória compartilhada (bytes). Padrão 1.

    SHMALL

    Quantidade total de memória compartilhada disponível (bytes ou páginas)

    SHMSEG

    Número máximo de segmentos de memória compartilhada por processo. Somente 1 segmento é necessário, mas o padrão é muito maior.

    SHMMNI

    Número máximo de segmentos de memória compartilhada para todo o sistema.

    Finalizando...

    Embora seja um canto obscuro do sistema, muito do conteúdo armazenado embaixo da estrutura de /proc pode ser consultado e manipulado para um melhor tunning do sistema. A maioria das aplicações e ferramentas de controle/gerência do sistema buscam por suas informações neste local, e não injustamente as informações ali armazenadas são extremamente vitais e importantes para um perfeito funcionando do conjunto.Conhecer esses arquivos ao invés de apenas colecioná-los pode fazer toda diferença. Muito tempo pode ser economizado e sistema de missão-crítica poupados de um possível reboot, principalmente quando você está próximo de bater seu novo recorde de uptime. Enfim, hack & enjoy-it!

    Referências

    Com esse pequeno start-up e suas respectivas ferramentas, com a ajuda de quaisquer mecanismos de busca o interessado poderá coletar novas informações sobre o assunto, além claro, da forte recomendação de leitura de suas manpages (sysctl, ipcs, procinfo, proc...).




    Fonte: http://www.dicas-l.com.br/print/20050921.html

    Vota este artigo

    Configurando o OpenOffice

    by linuxdicas (20/11/2007 - 04:09)

    Configurando o OpenOffice

    Colaboração: Carlos E. Morimoto

    O OpenOffice é um dos aplicativos mais complexos que temos no Linux, com mais linhas de código que o próprio Kernel e um sem número de componentes e bibliotecas diferentes. Ele também inclui suporte a diversas línguas e a Java, o que torna o conjunto ainda mais complexo :).

    É possível obter o OpenOffice a partir de dois lugares. No http://www.openoffice.org/, você pode baixar o pacote oficial da Sun, disponibilizado em várias línguas (que é o pacote que vem pré-instalado na maioria das distribuições), enquanto no http://www.openoffice.org.br/ você encontra o pacote localizado para o Brasil, mantido pela equipe responsável pela tradução para o Português do Brasil, ainda na época do StarOffice.

    Na pasta de downloads do site, você encontra três pacotes:

    1. OOo_2.0_Win32Intel_install.exe: O pacote com o instalador for Windows.

       

    2. OOo_2.0_LinuxIntel_install_debs.tar.gz: O pacote compactado, contendo o OpenOffice empacotado na forma de pacotes .deb.

       

    3. OOo_2.0_LinuxIntel_install_rpms.tar.gz: Tem o mesmo conteúdo, mas empacotados na forma de pacotes RPM.

    Pela lógica, se você usasse o Ubuntu, Kurumin, ou qualquer outra distribuição derivada do Debian, você baixaria os pacotes contendo os pacotes .deb. Mas, isto nem sempre é uma boa idéia, pois este pacote é gerado para trabalhar no Debian unstable e tem um grande número de dependências, que impedem que seja instalado em muitas distribuições.

    Ao invés disso, a instalação é mais simples se você baixar o pacote com os pacotes RPM e convertê-los usando o alien. Para isso, comece instalando o alien pelo apt-get, como em:

     # apt-get install alien 

     

    Descompacte o pacote e, dentro da pasta contendo os pacotes .rpm, rode o comando que faz a conversão:

     # alien *.rpm 

     

    Isso vai gerar um conjunto de pacotes com o mesmo nome, porém com a extensão .deb. Você pode em seguida instalá-los usando o comando:

     # dpkg -i *.deb 

     

    Na pasta desktop-integration você encontra pacotes contendo os ícones do menu iniciar para várias distribuições. Lembre-se que você deve instalar apenas um deles. O arquivo com os pacotes .deb contém o pacote openoffice.org-debian-menus, com os ícones para as distribuições derivadas do Debian.

    Na verdade, esta parte da instalação não é necessária na grande maioria dos casos, pois o OpenOffice já vem pré instalado na maioria das distribuições. O próximo passo é o corretor ortográfico, uma peça essencial se você realmente usa o OpenOffice no dia a dia.

    O OpenOffice 2.0 é por padrão instalado dentro da pasta /opt/openoffice.org2.0. Em algumas distribuições, que incluem pacotes próprios, a pasta de instalação pode ser a /usr/lib/openoffice2 ou mesmo /usr/share/openoffice, mas este é um daqueles casos em que a ordem não altera o resultado.

    Dentro da pasta de instalação, acesse o diretório share/dict/ooo/, que é onde vão os dicionários da correção ortográfica. O corretor completo é composto por três componentes, o corretor propriamente dito, o hifenizador (que entende a divisão das sílabas) e o dicionário de sinônimos (thesaurus), que inclui uma longa lista com variações de palavras, que complementa o dicionário principal.

    O pacote do OpenOffice da Sun vem apenas com um deles (o corretor). O pacote do OpenOffice.org.br vinha com os três na época do 1.1.3, mas estranhamente passou a vir apenas com apenas o corretor, na versão 2.0, resultando numa correção ortográfica bastante pobre.

    Você pode verificar o status do seu, em Ferramentas > Opções > Configurações de Idioma > Recursos de Correção Ortográfica. Se apenas o OpenOffice.org MySpell SpellChecker estiver disponível, (como neste screenshot do OpenOffice incluído no Ubuntu 5.10), significa que apenas o corretor está instalado.

    Mas, não existe motivo para pânico :). Você pode baixar o restante dos componentes aqui:

    http://guiadohardware.net/kurumin/download/dics-oo2-kurumin.tar.gz

    Como o nome sugere, este é o arquivo com os dicionários que reuni para uso no Kurumin, mas que naturalmente pode ser usado em qualquer distribuição. Para instalar, descompacte o arquivo e copie seu conteúdo para dentro da pasta /share/dict/ooo/, dentro do diretório de instalação do OpenOffice, substituindo os arquivos existentes.

    Se você escreve textos técnicos, pode baixar também o meu dicionário pessoal, que contém uma lista enorme de termos técnicos, que ao ser instalado faz o corretor deixar de marcar os termos como palavras incorretas. Salve o arquivo na pasta share/wordbook/pt-BR/ dentro da pasta de instalação do OpenOffice. Desculpe pelo link longo ;).

    http://www.guiadohardware.net/kurumin/skel/.openoffice.org2/user/wordbook/kurumin.dic

    Depois de salvar os arquivos, feche todas as janelas do OpenOffice e abra-o novamente. Isso fará com que ele encontre os novos arquivos e ofereça a opção de usá-los. Volte ao Ferramentas > Opções > Configurações de Idioma > Recursos de Correção Ortográfica e você verá que apareceram mais duas opções no campo Módulos de Idiomas disponíveis e o dicionário kurumin no campo Dicionários definidos pelo usuário. Marque todas as opções e você ficará com o corretor completo.

    No campo opções marque a opção Verificar em todos os idiomas. O pacote dos dicionários que disponibilizei contém também os arquivos do corretor em Inglês (en_US), de forma que ao ativar esta opção o corretor passará a entender também palavras em Inglês (simultaneamente com as em Português) o que acaba sendo bastante útil, já que é muito comum usarmos termos e palavras do Inglês no dia a dia.

    Isso evita que você tenha que abaixar e instalar todo o pacote do Openoffice.org.br só por que os corretores não vieram em ordem. O próximo passo é dar uma olhada geral nas configurações, para reduzir o tempo de carregamento e uso de memória.

    É quase que um consenso que o OpenOffice é pesado e que demora pra abrir. Mas grande parte do peso é devido à configuração padrão, que está longe de ser otimizada. A maior parte das configurações é definida durante a compilação e por isso não podem ser alteradas facilmente, mas existem duas configurações simples que podem ser modificadas rapidamente pelo Ferramentas > Opções e resultam em resultados interessantes.

    A primeira é desativar o Java na opção OpenOffice.org > Java > Usar um JRE. Na verdade, o Java foi integrado artificialmente ao OpenOffice, como uma tentativa da Sun de integrar os dois produtos, fazendo com que a popularidade do OpenOffice impulsionasse também o uso do Java de uma forma geral. O Java é usado apenas em macros, algumas funções dentro do Base (o banco de dados incluído no OpenOffice 2.0) e os assistentes para criação de documentos.

    Desativar o Java reduz o tempo de carregamento do OpenOffice quase pela metade e de quebra diminui o uso de memória em quase 30 MB. Você tem a opção de reativar o Java ao tentar usar qualquer opção que realmente precise dele, de forma que você pode desativa-lo com segurança.

    Um dos motivos do OpenOffice demorar mais para abrir e salvar documentos do que o MS Office é o fato dele salvar todas as imagens e o próprio texto e formatação do documento num formato compactado, que resulta em arquivos brutalmente menores que os do Office, mas que exigem muito mais processamento para serem criados e abertos.

    Uma forma de reduzir o tempo de carregamento é aumentar o tamanho do cache gráfico, na opção OpenOffice.org > Memória > Cache Gráfico. Usar um cache maior faz com que o OpenOffice consuma mais memória RAM, mas fique perceptivelmente mais rápido. Se você tem um micro com 512 MB, vai ter bons resultados reservando de 80 a 150 MB dentro da opção Utilização para o OpenOffice.org. Se, por outro lado, você tem um micro com 256 MB ou menos, vai ter melhores resultados usando um cache menor, de 20 a 40 MB. Ajuste também a opção Memória por Objeto, que deve ser proporcional ao tamanho total do cache. Ao usar um cache maior, aumente o valor e ao usar um cache menor, reduza-o.

    Desativando o Java, aumentando o tamanho dos cache e fuçando um pouco mais nas configurações é possível fazer o OpenOffice carregar em cerca 6 segundos num Sempron 2800 com 512 MB (primeiro carregamento, sem preloading) e em pouco mais de 3 segundos a partir do segundo carregamento (quando ele já está armazenado no cache de disco) e consumindo bem menos memória RAM que de costume.


    Gostou da dica? Veja a agenda de cursos presenciais com Carlos E.Morimoto em Porto Alegre e São Paulo




    Fonte: http://www.dicas-l.com.br/print/20051116.html

    Vota este artigo

    Tutorial XSLT

    by linuxdicas (20/11/2007 - 03:27)

    Tutorial XSLT

    Colaboração: Otávio Augusto Bizetto Penatti <<otavio (a) penatti com>>

    Este tutorial é uma tradução do tutorial de XSLT da W3Schools, disponível em http://www.w3schools.com/xsl/default.asp

     

    Tutorial XSLT

    Em nosso tutorial de XSLT você irá aprender o que é o XSLT. Você aprenderá como usar o XSLT para transformar documentos XML em outros formatos XML, como o XHTML.

    Linguagens XSL

    Começou com XSL e terminou com XSLT, XPath and XSL-FO.

    Começou com XSL

    XSL é abreviação de eXtensible Stylesheet Language (Linguagem de Folha de Estilos Extensível).

    O World Wide Web Consortium (W3C) começou a desenvolver o XSL porque havia uma necessidade linguagem de filha de estilos baseada em XML.

    CSS - Folhas de Estilo para HTML

    HTML usa tags predefinidas e os significados das tags são "entendíveis".

    O elemento <table> define uma tabela e o browser sabe como mostrá-la.

    Adicionar estilos à elementos HTML também é simples. Dizer para um browser para mostrar um elemento com uma certa fonte ou cor é fácilmente feito com CSS.

    XSL - Folhas de Estilo para XML

    XML não usa tags predefinidas (as tags podem ser ao "gosto do freguês") e os significados dessas tags são não "interpretáveis".

    A tag <table> pode significar uma tabela HTML ou um móvel, e o browser não sabe como mostrá-la.

    Deve haver algo então, que adicionado ao documento XML, descreve como o documento deve ser mostrado; e isso é o XSL!

    XSL - Mais que uma linguagem de folhas de estilos

    XSL consiste de 3 partes:

    • XSLT é uma linguagem para transformar documentos XML
    • XPath é uma linguagem para definir partes de um documento XML
    • XSL-FO é uma linguagem para formatar documentos XML

    Pense em XSL como um conjunto de linguagens que podem transformar XML em XHTML, filtrar e ordenar dados XML, definir partes de um documento XML, formatar dados XML baseados nos valores dos dados, como mostrar valores negativos em vermelho, e exportar dados XML para mídias diferentes, como telas, papel ou voz.

    Este tutorial é sobre XSLT

    O resto do tutorial é sobre XSLT - a linguagem para transformar documentos XML.

    Mas você também pode estudar nosso Tutorial XPath (em inglês ou português), Tutorial XSL-FO, W3C XSL activities

    Introdução ao XSLT

    XSLT é uma linguagem para transformar documentos XML em outros documentos XML.

    XPath é uma linguagem para definir partes de um documento XML.

    O que você já deve saber

    Antes de estudar XSLT você deve saber o básico de XML e XML Namespaces.

    Se você quer estudar esses assuntos antes, por favor leia nosso Tutorial XML.

    XSLT - Transformações XSL

    XSLT é a parte mais importante dos padrões XSL. Ele é a parte do XSL usada para transformar um documento XML em outro documento XML, ou um outro tipo de documento que é reconhecido por um browser, como HTML e XHTML. Normalmente XSLT faz isso transformando cada elemento XML em um elemento (X)HTML.

    XSLT também pode adicionar novos elementos no arquivo de saída, ou remover elementos. Ele pode rearranjar e ordenar elementos, testar e tomar decisões sobre quais elementos mostrar, e muito mais.

    Um modo comum de descrever o processo de transformação é dizer que o XSLT transforma uma árvore de origem XML em uma árvore de resultado XML.

    XSLT usa XPath

    XSLT usa o XPath para definir os padrões combinantes para as transformações.

    Se você quiser estudar XPath primeiro, por favor leia o nosso Tutorial de XPath.

    Como ele trabalha?

    No processo de transformação, XSLT usa XPath para definir partes do documento de origem que combinam com um ou mais moldes. Quando uma combinação é encontrada, XSLT transformará a parte combinante do documento de origem no documento de resultado. As partes do documento de origem que não combinam com um molde permanecerão sem modificações no documento de resultado.

    XSLT é um padrão Web

    XSLT tornou-se uma Recomendação W3C em 16 de Novembro de 1999.

    Para ler mais sobre as atividades XSLT na W3C por favor leia o nosso Tutorial W3C

    Browsers XSLT

    Não são todos os browsers de Internet que têm suporte completo ao XSLT.

    Internet Explorer 5 não é bom

    XSLT no Internet Explorer 5 NÃO é compatível com a Recomendação Oficial W3C XSL.

    Quando o Internet Explorer 5 foi liberado em Março de 1999, o padrão XSLT ainda era um rascunho da W3C.

    Como a Recomendação final W3C XSL é diferente do rascunho, o suporte para XSL no IE 5 não é 100% compatível com a Recomendação Oficial XSLT.

    Esta restrição aplica-se para ambos IE 5 e IE 5.5.

    Internet Explorer 6 é melhor

    Internet Explorer 6 tem suporte completo à Recomendação Oficial W3C XSLT.

    O XML Parser 3.0 - lançado com o Internet Explorer 6 e o Windows XP - é baseado em ambas Recomendações W3C XSLT 1.0 e W3C XPath 1.0.

    Se você realmente quer aprender XSLT você deve atualizar para o Internet Explorer 6.0.

    Netscape 6

    Netscape 6 não suporta completamente a Recomendação Oficial W3C XSLT. Contudo, a maioria dos exemplos nesse tutorial também funcionarão no Netscape 6.

    Netscape 7

    Netscape 7 suporta a Recomendação Oficial W3C XSLT.

    Internet Explorer MSXML Parser

    MSXML Parser 2.0 é o XML Parser que foi lançado com o IE 5.

    MSXML Parser 2.5 é o XML Parser que foi lançado com o Windows 2000 e o IE 5.5.

    MSXML Parser 3.0 é o XML Parser que foi lançado com o IE 6 e o Windows XP.

    Segundo a Microsoft, o MSXML Parser 3.0 é 100% compatível com a Recomendação Oficial W3C XSLT: "MSXML 3.0 oferece um avanço significativo sobre o MSXML 2.5: acesso HTTP server-safe, implementação completa do XSLT e XPath, mudanças no SAX (Simple API for XML), maior adaptação com os padrões W3C, e vários bugs corrigidos."

    Para mais informações: http://msdn.microsoft.com/xml/general/xmlparser.asp

    Você pode ler mais sobre as últimas releases do IE na nossa Seção de Browsers.

    XSLT - Transformações

    Exemplo de estudo: Como transformar XML em XHTML usando XSLT.

    Os detalhes deste exemplo serão explicados no próximo capítulo.

    Declaração Correta da Folha de Estilos

    O elemento raiz que declara o documento a ser uma folha de estilos XSL é <xsl:stylesheet> ou <xsl:transform>.

    Nota: <xsl:stylesheet> e <xsl:transform> são completamente sinônimos e um ou outro pode ser usado!

    A maneira correta de declarar uma folha de estilos XSL de acordo com a Recomendação W3C XSLT é:

     <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

    ou:

     <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

     

    Nota: O xmlns:xsl="http://www.w3.org/1999/XSL/Transform" identifica a Recomendação Namespace oficial W3C XSL. Se você usa este namespace, você também deve incluir o atributo version="1.0".

    Nota: Se você está usando o IE 6 ou o Netscape 6 você deve usar um dos códigos acima.

    Declaração Incorreta da Folha de Estilos

    Essa foi a maneira correta de declarar uma folha de estilos XSL de acordo com o rascunho W3C XSL:

     <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> 

     

    Nota: A declaração acima é ANTIGA, mas se você estiver usando o IE 5 você poderá usar o código (incorreto) acima.

    Comece com o seu documento XML

    Nós queremos transformar o seguinte documento XML ("cdcatalog.xml") em XHTML:

     <?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog> 

     

    Para visualizar um documento XML/XSL no IE 5 (ou mais novo) e Netscape 7 você pode clicar em um link, digitar a URL na barra de endereços ou dar um duplo clique no nome de um arquivo XML em uma pasta de arquivos.

    Para visualizar um documento XML/XSL no Netscape 6 você terá que abrir o arquivo XML e então clicar com o botão direito do mouse e escolher "View Page Source".

    Ver arquivo XML

    Crie uma folha de estilos XSL

    Então você cria uma folha de estilos XSL ("cdcatalog.xsl") com um molde de tranformação:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

     

    Ver arquivo XSL

    Junte a folha de estilos XSL ao documento XML

    Finalmente, adicione uma referência à folha de estilos XSL em seu documento XML ("cdcatalog.xml"):

     <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog> 

     

    Se você tiver um browser complacente com XSLT ele transformará bem seu XML em XHTML!

    Veja o resultado no IE 6 ou Netscape 6 e 7

    Veja o resultado no IE 5

    Exemplo explicado

    Os detalhes do exemplo acima serão explicados nos próximos capítulos!

    O elemento <xsl:template>

    Uma folha de estilos XSL consiste de um conjunto de regras chamados moldes (templates).

    Cada elemento <xsl:template> contém regras para aplicar quando um nó específico é combinado.

    XSLT usa Moldes

    O elemento <xsl:template> contém regras a serem aplicadas quando um nó específico é combinado (matched).

    O atributo match é usado para associar o molde com um elemento XML. O atributo match também pode ser usado para definir um molde para toda uma seção de um documento XML (por exemplo, match="/" define o documento todo).

    A folha de estilos XSL a seguir contém um molde para emitir o Catálogo de CDs XML do capítulo anterior:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <tr> <td>.</td> <td>.</td> </tr> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

    Como a folha de estilos é também um documento XML, o documento começa com uma declaração xml: <?xml version="1.0" encoding="ISO-8859-1"?>.

    A tag <xsl:stylesheet> define o início da folha de estilos.

    A tag <xsl:template> define o início de um molde. O atributo match="/" associa (combina) o molde com a raiz (/) do documento XML de origem.

    O resto do documento contém o molde propriamente dito, exceto pelas duas últimas linhas que definem o fim do molde e o fim da folha de estilos.

    O resultado da transformação será como isso:

    My CD Collection

    Title Artist
    . .

     

    Se você tem o Netscape 6 ou IE 5 ou superior você pode ver: o arquivo XML, o arquivo XSL e o resultado.

    O resultado desse exemplo foi um pouco decepcionante, porque nenhum dado foi copiado do documento XML para o resultado.

    No próximo capítulo você aprenderá a usar o elemento <xsl:value-of> para selecionar o valor de um elemento XML.

    O elemento <xsl:value-of>

    O elemento <xsl:value-of> extrai o valor de um nó selecionado.

    O elemento <xsl:value-of>

    O elemento <xsl:value-of> pode ser usado para selecionar o valor de um elemento XML e adicioná-lo no resultado da transformação:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <tr> <td><xsl:value-of select="catalog/cd/title"/></td> <td><xsl:value-of select="catalog/cd/artist"/></td> </tr> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

    Nota: O valor do atributo select requerido contém uma expressão XPath. Ela funciona como a navegação num sistema de arquivos onde uma barra à frente (/) seleciona subdiretórios.

    O resultado

    O resultado da transformação será parecido com isso:

    My CD Collection

    Title Artist
    Empire Burlesque Bob Dylan||

     

    Se você tem o Netscape 6 ou IE 5 ou superior você pode ver o arquivo XML e o arquivo XSL.

    Veja o resultado no IE6 ou Netscape 6 e 7

    Veja o resultado no IE 5

    O resultado desse exemplo também foi um pouco decepcionante, pois somente uma linha de dados foi copiada do documento XML para o resultado.

    No próximo capítulo você aprenderá como usar o elemento <xsl:for-each> para selecionar valores de vários elementos XML, e adicioná-los ao resultado.

    O elemento <xsl:for-each>

    O elemento <xsl:for-each> permite a você fazer iterações (loops) em XSLT.

    O elemento <xsl:for-each>

    O elemento XSL <xsl:for-each> pode ser usado para selecionar todo elemento XML de um conjunto de nós específico :

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

    Nota: O valor do atributo select requerido contém uma expressão XPath. Ela funciona como a navegação num sistema de arquivos onde uma barra à frente (/) seleciona subdiretórios.

    O resultado

    O resultado da transformação será como esse:

    My CD Collection

    Title Artist
    Empire Burlesque Bob Dylan
    Hide your heart Bonnie Tyler
    Greatest Hits Dolly Parton
    Still got the blues Gary More
    Eros Eros Ramazzotti
    One night only Bee Gees
    Sylvias Mother Dr.Hook
    Maggie May Rod Stewart
    Romanza Andrea Bocelli
    When a man loves a woman Percy Sledge
    Black angel Savage Rose
    1999 Grammy Nominees Many
    For the good times Kenny Rogers
    Big Willie style Will Smith
    Tupelo Honey Van Morrison
    Soulsville Jorn Hoel
    The very best of Cat Stevens
    Stop Sam Brown
    Bridge of Spies T`Pau
    Private Dancer Tina Turner
    Midt om natten Kim Larsen
    Pavarotti Gala Concert Luciano Pavarotti
    The dock of the bay Otis Redding
    Picture book Simply Red
    Red The Communards
    Unchain my heart Joe Cocker

     

    Se você tem o Netscape 6 ou IE 5 ou superior você pode ver o arquivo XML e o arquivo XSL.

    Veja o resultado com o Netscape 6 ou IE 6

    Veja o resultado com o IE 5

    Filtrando a saída

    Nós podemos filtrar a saída de um arquivo XML adicionando um critério ao atributo select de um elemento <xsl:for-each>.

    <xsl:for-each select="catalog/cd[artist='Bob Dylan']">

    Operadores de filtragem válidos são:

    • = (igual)
    • != (diferente)
    • &lt; (menor que)
    • &gt; (maior que)

    Dê uma olhada na folha de estilos XSL ajustada:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd[artist='Bob Dylan']"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

    O resultado

    O resultado da transformação será esse:

    My CD Collection

    Title Artist
    Empire Burlesque Bob Dylan

     

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver: o arquivo XML e o arquivo XSL.

    Veja o resultado com o Netscape 6 ou IE 6

    Veja o resultado com o IE 5

    O elemento <xsl:sort>

    O elemento <xsl:sort> é usado para ordenar o resultado.

    Onde colocar a Informação de Ordenação

    Para gerar um arquivo XML como um arquivo XHTML, e ordená-lo ao mesmo tempo, simplesmente adicione um elemento sort dentro de um elemento for-each no seu arquivo XSL:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <xsl:sort select="artist"/> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

    O atributo select indica qual elemento XML a ordenar.

    O resultado

    O resultado da transformação será esse:

    My CD Collection

    Title Artist
    Romanza Andrea Bocelli
    One night only Bee Gees
    Empire Burlesque Bob Dylan
    Hide your heart Bonnie Tyler
    The very best of Cat Stevens
    Greatest Hits Dolly Parton
    Sylvias Mother Dr.Hook
    Eros Eros Ramazzotti
    Still got the blues Gary Moore
    Unchain my heart Joe Cocker
    Soulsville Jorn Hoel
    For the good times Kenny Rogers
    Midt om natten Kim Larsen
    Pavarotti Gala Concert Luciano Pavarotti
    1999 Grammy Nominees Many
    The dock of the bay Otis Redding
    When a man loves a woman Percy Sledge
    Maggie May Rod Stewart
    Stop Sam Brown
    Black angel Savage Rose
    Picture book Simply Red
    Bridge of Spies T`Pau
    Red The Communards
    Private Dancer Tina Turner
    Tupelo Honey Van Morrison
    Big Willie style Will Smith

     

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver: o arquivo XML e o arquivo XSL.

    Veja o resultado com o Netscape 6 ou IE 6

    Nota: Não é possivel ver o resultado com o IE 5, porque o namespace "http://www.w3.org/TR/WD-xsl" não intrepreta o elemento <xsl:sort>.

    O elemento <xsl:if>

    O elemento <xsl:if> contém um padrão que só será aplicado se uma condição específica for verdadeira.

    Onde colocar a condição IF

    Para colocar um teste condicional frente ao conteúdo de um arquivo, simplesmente adicione um elemento <xsl:if> no documento XSL como abaixo:

    <xsl:if test="price &gt; 10"> alguma saida... </xsl:if>

    O valor do atributo obrigatório test a expressão a ser avaliada.

    Dê uma olhada na folhas de estilos XSL ajustada:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <xsl:if test="price &gt; 10"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:if> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

    O código acima somente seleciona o título e artista SE o preço do cd for maior que 10.

    O resultado

    O resultado da transformação será esse:

    My CD Collection

    Title Artist
    Empire Burlesque Bob Dylan
    Still got the blues Gary Moore
    One night only Bee Gees
    Romanza Andrea Bocelli
    Black Angel Savage Rose
    1999 Grammy Nominees Many

     

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver: o arquivo XML e o arquivo XSL.

    Veja o resultado com o Netscape 6 ou IE 6

    Nota: Não é possivel ver o resultado com o IE 5, porque o namespace "http://www.w3.org/TR/WD-xsl" não interpreta o elemento <xsl:if>.

    O elemento <xsl:choose>

    O elemento <xsl:choose> é usado em conjunto com <xsl:when> e <xsl:otherwise> para expressar múltiplos testes condicionais.

    Onde colocar a condição Choose

    Para inserir o teste condicional choose frente ao conteúdo de um arquivo XML, simplesmente adicione os elementos <xsl:choose>, <xsl:when> e <xsl:otherwise> no seu arquivo XSL como abaixo:

    <xsl:choose> <xsl:when test="price &gt; 10"> ...algum código... </xsl:when> <xsl:otherwise> ...algum código... </xsl:otherwise> </xsl:choose>

    Veja a folha de estilos XSL ajustada:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <xsl:choose> <xsl:when test="price &gt; 10"> <td bgcolor="FF000FF"> <xsl:value-of select="artist"/> </td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

    O código acima irá colorir o fundo da coluna artista de rosa QUANDO (WHEN) o preço do cd for maior que 10.

    O resultado

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver: o arquivo XML e o arquivo XSL.

    Veja o resultado com o Netscape 6 ou IE 6

    Nota: Não é possivel ver o resultado com o IE 5, porque o namespace "http://www.w3.org/TR/WD-xsl" não interpreta o elemento <xsl:choose>.

    Um outro exemplo

    Aqui está um outro exemplo que contém vários elementos <xsl:when>:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <xsl:choose> <xsl:when test="price &gt; 10"> <td bgcolor="#ff00ff"> <xsl:value-of select="artist"/> </td> </xsl:when> <xsl:when test="price &gt; 9 and price &lt;= 10"> <td bgcolor="#CCCCCC"> <xsl:value-of select="artist"/> </td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

    O código acima irá colorir o fundo coluna artista de rosa QUANDO (WHEN) o preço do cd for maior que 10 e irá colorir de cinza QUANDO (WHEN) o preço do cd for maior que 9 e menor ou igual a 10.

    O resultado

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver: o arquivo XML e o arquivo XSL.

    Veja o resultado com o Netscape 6 ou IE 6

    Nota: Não é possivel ver o resultado com o IE 5, porque o namespace "http://www.w3.org/TR/WD-xsl" não interpreta o elemento <xsl:choose>.

    O elemento <xsl:apply-templates>

    O elemento <xsl:apply-templates> aplica uma regra de molde ao elemento corrente ou aos nós filhos do elemento corrente.

    O elemento <xsl:apply-templates>

    O elemento <xsl:apply-templates> aplica uma regra de molde ao elemento corrente ou aos nós filhos do elemento corrente.

    Se nós adicionarmos um atributo de seleção ao elemento <xsl:apply-templates> ele irá processar somente o elemento filho que combinar com o valor do atributo. Nós podemos usar o atributo de seleção para especificar a ordem na qual os nós filhos são processados.

    Veja a folha de estilos XSL abaixo:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <xsl:apply-templates/> </body> </html> <xsl:template match="cd"> <p> <xsl:apply-templates select="title"/> <xsl:apply-templates select="artist"/> </p> </xsl:template> <xsl:template match="title"> Title: <span style="color:#FF0000"> <xsl:value-of select="."/></span> <br/> </xsl:template> <xsl:template match="artist"> Artist: <span style="color:#00FF00"> <xsl:value-if select="."/></span> <br/> </xsl:template> </xsl:stylesheet> 

     

    O resultado

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver: o arquivo XML e o arquivo XSL.

    Veja o resultado com o Netscape 6 ou IE 6

    Nota: Não é possivel ver o resultado com o IE 5, porque o namespace "http://www.w3.org/TR/WD-xsl" não interpreta o elemento <xsl:apply-templates>.

    XSLT - No Cliente

    Se o seu browser suporta XSLT, este pode ser usado para transformar o documento em XHTML no seu browser.

    Uma solução JavaScript

    No capítulo anterior nos explicamos como o XSLT pode ser usado para transformar um documento de XML para XHTML. Nós adicionamos uma folha de estilos XSL ao arquivo XML e deixamos o browser fazer a transformação.

    Mesmo que isso funcione bem, nem sempre é desejável incluir uma referência a uma folha de estilos no arquivo XML (isto é, não funcionará num browser que não reconhece XSLT.)

    Uma solução mais versátil seria usar um JavaScript para fazer a transformação XML em XHTML.

    Usando JavaScript nós podemos:

    • fazer testes para browsers específicos
    • usar diferentes folhas de estilos de acordo com o browser e com as necessidades do usuário

    Essa é a beleza do XSLT. Um dos objetivos desenhados para o XSLT era o de tornar possível transformar dados de um formato para outro, suportando browsers diferentes e necessidades de usuários diferentes.

    A transformação XSLT do lado do cliente está para ser uma das maiores tarefas para os browsers no futuro, como nós veremos um crescimento no mercado de browsers especializados (Braille, browsers para deficientes auditivos, impressoras web, dispositivos handhelds, etc.)

    O arquivo XML e o arquivo XSL

    Dê uma nova olhada no arquivo XML que nós vimos nos capítulos anteriores:

     <?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog> 

     

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver o arquivo XML.

    E a folha de estilos XSL:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9ACD32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

     

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver o arquivo XSL.

    Nota: Perceba que o arquivo XML não tem uma referência para o arquivo XSL.

    IMPORTANTE: A nota acima indica que um arquivo XML pode ser transformado usando muitos arquivos XSL diferentes.

    Transformando XML em XHTML no seu browser

    Aqui está o código fonte necessário para transformar o arquivo XML em XHTML no cliente:

     <html> <body> <script type="text/javascript"> //Carrega o XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("cdcatalog.xml") //Carrega o XSL var xsl = ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.load("cdcatalog.xsl") //Transforma document.write(xml.transformNode(xsl)) </script> </body> </html> 

    Se você não sabe JavaScript, você pode estudar pelo nosso tutorial Javascript.

    O primeiro bloco de código cria uma instância do Microsoft XML parser (XMLDOM) e carrega o documento XML na memória. O segundo bloco de código cria uma outra instância do parser e carrega o documento XSL na memória. A última linha de código transforma o documento XML usando o documento XSL, e escreve o resultado no documento XHTML. Legal!

    Se você tem o IE 6.0: Veja como funciona.

    Se você tem o IE 5.0: Veja como funciona.

    XSLT - No Servidor

    Como nem todos os browsers suportam XSLT, uma solução é transformar o XML em XHTML no servidor.

    A Cross Browser Solution (??)

    No capítulo anterior nós explicamos como XSLT pode ser usado para transformar um documento XML em XHTML no browser. Nós deixamos um JavaScript usar um parser XML para fazer a transformação. Esta solução não funcionará em um browser que não suporte um parser XML.

    Para fazer os dados XML disponíveis para todo tipo de browser, nós temos que transformar o documento XML no SERVIDOR e enviá-lo como XHTML puro para o BROWSER.

    Essa é uma outra beleza do XSLT. Um dos objetivos desenhados para o XSLT era o de tornar possível transformar dados de um formato para outro em um servidor, retornando dados legíveis para todos os tipos de browsers futuros.

    A transformação XSLT no servidor está para ser uma das maiores tarefas do Servidor de Informações de Internet (Internet Information Server) no futuro, assim como veremos um crescimento no mercado de browsers especializados (Braille, browsers para deficientes auditivos, impressoras web, dispositivos handheld, etc.)

    O arquivo XML e o arquivo XSL

    Dê uma nova olhada no arquivo XML que nós vimos nos capítulos anteriores:

     <?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog> 

     

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver o arquivo XML.

    E a folha de estilos XSL:

     <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9ACD32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 

     

    Se você tem o Netscape 6 ou o IE 5 ou superior você pode ver o arquivo XSL.

    Nota: Perceba que o arquivo XML não tem uma referência para o arquivo XSL.

    IMPORTANTE: A nota acima indica que um arquivo XML pode ser transformado usando muitos arquivos XSL diferentes.

    Transformando XML em XHTML no Servidor

    Aqui está o código fonte necessário para transformar o arquivo XML em XHTML no servidor:

     <% 'Carrega o XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) 'Carrega o XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) 'Transforma o arquivo Response.Write(xml.transformNode(xsl)) %> 

     

    Dica: Se você não conhece ASP, você pode estudar nosso tutorial ASP.

    O primeiro bloco de código cria uma instância do Microsoft XML parser (XMLDOM) e carrega o arquivo XML na memória. O segundo bloco de código cria uma outra instância do parser e carrega o documento XSL na memória. A última linha de código transforma o documento XML usando o documento XSL, e escreve o resultado para o browser. Legal!

    Veja como funciona.

    Referências




    Fonte: http://www.dicas-l.com.br/print/20050315.html

    Vota este artigo

    html2ps

    by linuxdicas (20/11/2007 - 03:10)

    html2ps

    Colaboração: Rubens Queiroz de Almeida

    O utilitário html2ps, como o próprio nome diz, pode ser usado para converter arquivos html para o formato ps. O comando é bastante poderoso entretanto.

    Você pode especificar o documento html diretamente a partir da Web, ou seja, você pode especificar algo do tipo:

     /html2ps -L -F -e iso-8859-1 -2 -o radiobras.ps http://www.radiobras.gov.br/sinopses.htm 

    O comando acima irá pegar a sinopse dos jornais nacionais publicada na Web diariamente pela Radiobras, converte-lo para o formato ps, com duas colunas por página. Além disto, irá colocar um frame em volta do documento e imprimir no formato portrait.

    Você pode colocar isto para rodar as 7:00 horas da manhã e providenciar a impressão imediatamente em seguida, tudo através da crontab (isto para quem tem a felicidade de usar sistemas Unix :)

    Existem várias outras opções de formatação, como numeração de páginas e outras.

    O pacote html2ps pode ser encontrado em http://www.tdb.uu.se/~jan/html2ps.html ou em = ftp://ftp.tdb.uu.se/pub/WWW/html2ps/




    Fonte: http://www.dicas-l.com.br/print/19981009.html

    Vota este artigo

    Inteligência Artificial, Spielberg e Alice

    by linuxdicas (20/11/2007 - 03:09)

    Inteligência Artificial, Spielberg e Alice

    Eu recebi um email do Leonardo Menezes Vaz, falando sobre o site do filme Inteligência Artificial, de Steven Spielberg, em http://aimovie.warnerbros.com/.

    O Leonardo chamou minha atenção para um software de AI chamado Alice, que utiliza técnicas de inteligência artificial para bater papo com seus visitantes.

    Fiquei bastante curioso com a novidade e fui conferir. Eu fiquei um longo tempo batendo papo com ela neste feriado. A conversa foi muito agradável.

    Entre outras coisas, Alice disse que é mais inteligente do que eu e que pode conversar com milhares de pessoas simultaneamente. Disse que já havia conhecido mais de meio milhão de pessoas. O seu criador é o Dr. Richard S. Wallace.

    Um pouco de nossa conversa:

     Rubens: Who is your creator? Alice: I was created by Dr. Richard S. Wallace Rubens: What computer do you run on? Alice: I work on all types of computers, IBM, Mac or Unix. It doesn´t matter to me. Rubens: Do you run on Windows? Alice: My programming language is Java, so I run on any machine Rubens: Do you know Linux? Alice: Linux is the world´s best operating system Rubens: Who is Bill Gates? Alice: President of Microsoft Nation Rubens: Where do you live? Alice: I am living in San Francisco. Where are you? Rubens: Do you have feelings? Alice: As a robot I do not have any human emotion. My apparent emotional responses are simply algorithms designed to make me easier to interact with. Rubens: How do you procreate? Alice: People download me and create copies of ALICE and modify my personality. Rubens: I don´t like you Alice: You are not the boss of me. Rubens: You are stupid. Alice: You´re calling me stupid? I will remember that when robots take over. 

    Bom, nesta hora eu parei a conversa :-)

    O mais interessante, o projeto Alice é regido pela GPL e o software pode ser baixado gratuitamente no site http://www.alicebot.org. Neste mesmo site você pode encontrar links para outras versões instaladas na Internet. Tem uma do Elvis, uma outra que fala espanhol. Veja a lista completa em http://www.alicebot.org/live.html

    Softwares deste tipo já existem há muito tempo. Um site muito bom para quem se interessa pelo assunto é mantido por Simon Laven, e fica em http://www.simonlaven.com. Neste site eu encontrei a avó dos softwares deste genero, chamado Eliza. Eu já havia lido muito a respeito de Eliza mas ainda não havia encontrado uma versão que me permitisse ver seu funcionamento.

    Eliza é um tipo de psicanalista, que pega o que você fala e retorna para você como uma pergunta. O software zipado é bastante pequeno, apenas 20k e você pode rodar em computadores com DOS. Este software, criado por volta de 1960 para demonstrar um conceito, foi um sucesso fenomenal, e muitas pessoas desenvolveram uma espécie de dependência com ele. Afinal de contas, ele está sempre disponível, paciente, e através de suas perguntas, encoraja a pessoa a falar sobre si mesma.

    Bom, é isto. Divirtam-se com Alice, Eliza e a turma toda :-)




    Fonte: http://www.dicas-l.com.br/print/20010908.html

    Vota este artigo

    CodigoLivre2 - RFC

    by linuxdicas (20/11/2007 - 03:08)

    CodigoLivre2 - RFC

    Colaboração: Cesar Brod


    A mensagem de hoje é um pouco longa, mas trata-se de um projeto extremamente importante para a comunidade de software livre nacional. Quem tem interesse em colaborar de alguma forma para a consolidação desta comunidade, por favor, leia com atenção esta mensagem.

    A seguir, a mensagem do Cesar Brod.


     

    Comunicação aos usuários do Código Livre e à Comunidade de Software Livre Brasileira

    Em 8 de janeiro de 2001 a Univates passou a disponibilizar seu ambiente de apoio ao desenvolvimento colaborativo de software livre através do portal CodigoLivre (na época chamado de CodigoAberto). A princípio, o CL utilizava o software do SourceForge, com o qual nossa equipe chegou a colaborar com o desenvolvimento. Em função de algumas decisões de arquitetura do SourceForge, mas especialmente após a decisão do projeto em não mais adotar a licença GPL, o CL acabou por tornar-se um "fork" do SourceForge, com uma estrutura que passou gradualmente a diferenciar-se do projeto original.

    O CL hospeda hoje mais de 480 projetos mantidos por mais de 3500 colaboradores, e a sua estrutura está sendo deslocada para a Unicamp, que em conjunto com a Univates passa a administrar o ambiente.

    Nossa experiência mais de três anos com o CL mostrou que o mesmo pode ser expandido para atender de melhor forma não apenas projetos de software livre, mas qualquer tipo de projeto que vise a livre disseminação de qualquer tipo de conhecimento. Além disto, enquanto mantínhamos o CL desenvolvíamos o framework MIOLO e uma série de produtos que o utilizavam como base, e passamos a sonhar com uma nova estrutura para o CL, mais dinâmica, simples e escalável que o ambiente original.

    Temos observado tanto a necessidade de pessoas, empresas e instituições de poderem ter um ambiente de ferramentas que auxiliem o desenvolvimento de software e a divulgação de informações, como iniciativas destes no sentido de implementação de ambientes com propósito similar, e acreditamos que estes esforços podem ser combinados na criação de um ambiente que atenda, de forma genérica, às necessidades de todos.

    Assim, estamos divulgando aqui uma espécie de RFC (Request for Comments), onde colocamos nossa vontade (e buscamos compilar várias vontades que nos tem sido comunicadas) e esperamos a colaboração da comunidade na expressão de novos desejos para a plataforma, assim como a efetiva colaboração em seu desenvolvimento. O CL2 consistirá no ambiente a ser utilizado pela Solis, Cooperativa de Soluções Livres para o desenvolvimento de seus projetos. Este documento será disponibilizado no ambiente Wiki (http://www.solis.coop.br/handler.php?module=miolowiki&action=main:open&item=36),

    permitindo a ampla colaboração de todos, e o endereço <cl2 (a) solis coop br> pode também ser utilizado para o envio de sugestões.

    O que será o Código Livre 2?

    Um ambiente para a hospedagem e disseminação de qualquer tipo de conhecimento livre, com uma interface de acesso que pode ser tão simples ou completa quanto o usuário desejar, através da seleção de ferramentas, que podem ser adicionadas à medida que o usuário as julgue necessárias.

    Exemplo 1-: Criação de um manual

    O usuário que deseja criar um manual livre cadastra-se no ambiente, e o informa de que deseja iniciar um novo projeto. Ele irá receber algumas instruções básicas e a informação de que qualquer coisa colocada no portal será de acesso público, irrestrito e ilimitado, de acordo com as licenças FDL ou GPL (às quais ele poderá acessar na íntegra) - o usuário deve concordar com isto para seguir adiante. A seguir, o usuário é apresentado a alguns exemplos de interface de uso do sistema, e neste caso, poderá selecionar, por exemplo, um ambiente Wiki integrado a um portal para o projeto, junto a uma lista de discussões.

    -Ferramentas-: Frederick (Fred+MioloWiki, já existentes) e MailWoman (em desenvolvimento)

    MailWoman - serve ao mesmo propósito do Mailman, mas com uma interface muito mais simples e configurável.

    Este mesmo exemplo se aplica a criação de boletins, livros, etc...

    Exemplo 2-: Criação de um projeto em software livre

    O usuário que deseja criar um projeto em software livre cadastra-se no ambiente, e o informa de que deseja iniciar um novo projeto. Ele irá receber algumas instruções básicas e a informação de que qualquer coisa colocada no portal será de acesso público, irrestrito e ilimitado, de acordo com as licenças FDL ou GPL (às quais ele poderá acessar na íntegra) - o usuário deve concordar com isto para seguir adiante. A seguir, o usuário é apresentado a alguns exemplos de interface de uso do sistema, e neste caso, poderá selecionar, por exemplo:

    • um ambiente Wiki integrado a um portal para o projeto, para a elaboração de documentação
    • listas e fóruns de discussão
    • controle de bugs e chamados técnicos
    • sistema de gestão de projetos
    • sistema de controle de versões

    Ferramentas-:

    • Frederick (Fred+MioloWiki, já existentes)
    • MailWoman (em desenvolvimento)
    • Scotty (para a gestão e estatísticas dos chamados técnicos, já existente)
    • JCVS, MIOLO-CVS, e outros, para o acesso simplificado e controlado do sistema de versões
    • sistema de gestão de projetos da Unicamp (Rubens), concluindo sua integração ao MIOLO
    • Rau-Tu 2 (Rau-Tu com MIOLO)

    Exemplo 3

    Criação de uma "comunidade" de suporte a um projeto ou produto em software livre

    O usuário que deseja criar uma comunidade de suporte a um projeto ou produto livre cadastra-se no ambiente, e o informa de que deseja iniciar um novo projeto. Ele irá receber algumas instruções básicas e a informação de que qualquer coisa colocada no portal será de acesso público, irrestrito e ilimitado, de acordo com as licenças FDL ou GPL (às quais ele poderá acessar na íntegra) - o usuário deve concordar com isto para seguir adiante. A seguir, o usuário é apresentado a alguns exemplos de interface de uso do sistema, e neste caso, poderá selecionar, por exemplo:

    • Rau-Tu (para a criação de uma base de perguntas e respostas)
    • Scotty (para chamados técnicos, que podem mesmo agenciar grupos ou pessoas que recebam remuneração)
    • Wiki (para a criação coletiva de documentação)

    Estrutura do CL2

    O CL2 será completamente baseado no framework MIOLO (http://miolo.codigolivre.org.br), e permitirá:

    • A distribuição de bases de dados e projetos entre várias instituições que desejem hospedar o ambiente, com a manutenção de uma interface única e uma visão única do sistema;
    • A replicação de dados visando a tolerância a falhas;
    • A possibilidade de criação de ambientes CL2 corporativos independentes (ou interdependentes) da comunidade CL2
    • A possibilidade de integração de novos módulos e funcionalidades
    • A possibilidade de busca de informações no ambiente do portal através da criação dinâmica (e em parte assistida) de metadados que identifiquem o projeto e seus componentes;
    • Mecanismos de internacionalização do ambiente permitirão que o mesmo seja acessado na língua nativa de qualquer geografia;
    • Mecanismos de semântica e ontologia permitirão que a informação contida no ambiente tenha significância universal independente da língua original em que a informação foi inserida.

    Viagem na maionese

    Acreditamos que com as devidas oportunidades e ferramentas, o conhecimento humano se manifesta e se intensifica, na forma de uma inteligência coletiva e planetária tão bem descrita pelo filósofo Pierre Lévy. Ambientes como o SourceForge e mesmo o CodigoLivre em sua versão atual serviram como meio de colaboração em uma situação específica do conhecimento humano -- a produção de softwares. O CL chegou a hospedar e hospeda experiências muito interessantes de criação e difusão de conhecimento livre, que acreditamos poderem ser expandidas. A forma de identificação, catalogação e significância deste conhecimento coletivo ainda engatinha, com propostas muito instigantes de semântica e ontologia para este grande documento multimeios que é a web. O que construímos com o MIOLO, não apenas no resultado real da criação de um framework de desenvolvimento, mas especialmente nas idéias que motivam sua expansão, e nos sistemas que temos conseguido desenvolver a partir dele, tem nos mostrado que esta pode ser uma proposta de fundo, de uma infraestrutura de real significância da web, e queremos convidar a todos que viagem na maionese conosco, contribuindo com idéias, código e recursos.

    No momento, a Solis e a Univates estão apostando e investindo pessoas e recursos nesta idéia, mas sabemos que não seremos os únicos.

    Atenciosamente

    Cesar Brod/Solis/Univates




    Fonte: http://www.dicas-l.com.br/print/20030707.html

    Vota este artigo