31 julho 2007

Desempenho do Slackware

Mais uma vez troquei a distribuição que uso. Sai da Zenwalk para o Kubuntu... Mas agora pretendo permanecer com essa distribuição, até mesmo por que a facul esta começando denovo e não terei tempo para outras trocas.

O motivo pelo qual troquei de distribuição foi relacionado com a simplicidade de se manter um sistema baseado no Debian atualizado, e a facilidade de instalar novos pacotes. Mas isso não vem ao caso agora.

O motivo deste post é que umas das primeiras coisas que notei quando inicializei o Kubuntu foi a diferença de performance em relação ao Slakware e demais distribuições baseadas nele. A diferença é gritante se comparada com o Zenwalk, ultima distribuição que utilizei antes do Kubuntu, principalmente na inicialização do sistema. Só para constar, os serviços inicializados nas duas distribuições são os mesmos.

Bom, acho que essa diferença de performance não é novidade para ninguém que conheça linux. A questão que eu queria levantar é, por que não existe uma distribuição grande baseada no Slackware????? Não é só por causa do desempenho que eu digo isso, mas Slackware é uma distribuição bastante madura, estável e simples, a única coisa que eu acho de errado no Slackware é o sistema de pacotes padrão, o tgz.

Já dei minha opinião sobre os gerenciadores de pacotes, acho que são necessárias algumas melhorias, mas isso era mais específico sobre o rpm e o deb, já o tgz precisa melhorar para ficar mais parecido com os outros dois citados, e sobretudo precisa ser adicionadas características melhoradas em relação a eles.

Mas deixando os pacotes de lado, imagine uma distribuição com as facilidades do (K)Ubuntu e o desempenho, simplicidade e flexibilidade do Slackware?? Alias, o Zenwalk chega perto, mas ainda falta o lance do gerenciamento de pacotes melhorado, o gerenciador de pacotes incorporado nele não é capaz de resolver dependências. Alguns puristas usuários do Slackware podem me xingar, mas meu sonho é ter um Slakware com essas características, mas é claro que poupando as características mais fostes do Slackware. Quem sabe um dia eu crie uma distribuição assim, quando me sobrar tempo... mas enquanto isso vou continuar com o Kubuntu, que me atente no momento.

11 julho 2007

Sobre pacotes e gerenciadores de pacotes

Estou fazendo outro teste com outra distribuição Linux, a distribuição Zenwalk. Esta distribuição é baseada no Slackware mas bem personalizada. Entre as principais personalizações, posso destacar o XFCE como gerenciador de janelas padrão, montagem automática de dispositivos USB (pelo menos no Slackwware 11 isso não existia), programa para detecção de redes wirelles, vários pacotes atualizados e muito mais. Mas a principal característica é que sua imagem "iso" tem pouco mais que 400 MB de tamanho, ou seja, um sistema completo que cabe em 1 CD, e sobra espaço. Mas meu objetivo não é falar sobre o Zenwalk, mas sim sobre sistemas de pacotes para Linux.

Instalei o Zenwalk por 2 motivos principais: é baseado no Slackware e é um sistema completo em um só CD. Mas como sempre, preciso personalizar a distribuição para que eu possa utilizar com mais comodidade, e faço isso instalando alguns pacotes e desinstalando outros. Nesse processo eu venho encontrado algumas coisas que poderiam ser melhorados no Linux em relação a instalação e desinstalação de programas.

1 - Para deixar o sistema do jeito que gosto instalei o KDE, onde os principais pacotes são: kdebase, kdeutils, kdelibs e o qt. Como ainda uso conexão discada, preciso de um discador (Zenwalk não traz nenhum), e o qual eu gosto é o KPPP. Para instalá-lo é preciso instalar o pacote kdenetwork, mas esse pacote traz vários outros programas que eu não uso. Conclusão, instalei vários programas que não preciso só por causa do KPPP. Sim, eu poderia instalar outro discador, mas gosto do KPPP ;-). Não é uma reclamação que estou fazendo aqui, mas acho que seria muito interessante se pudéssemos escolher quais programas dentro de um determinado pacote nós queremos instalar. Citei o pacote kdenetwork pois esse é um caso recente, mas existem vários outros casos onde isso ocorre.

2 - A maioria das distribuições Linux trazem aplicativos para facilitar a instalação e desinstalação de pacotes, como por exemplo o apt-get e seus derivados e similares. A principal função desses programas, como todos sabem, é buscar em repositórios os pacotes dos programas que você queira instalar, e resolver os problemas de dependências instalando os pacotes necessários quando for preciso. Isso funciona muito bem quando tudo esta dentro dos repositórios, mas quando o pacote e suas dependências não estiverem nos repositórios? A situação que imaginei é a seguinte:

Você quer instalar um software que esta empacotado e pronto para instalar, mas nem ele nem suas dependências são encontrados nos repositórios. Para instalar esse software você teria que procurar na internet as dependências dele, o que iria consumir bastante tempo. Mas o desenvolvedor saber onde encontrar essas dependências.

Com isso, imaginei que as informações de onde estão as dependências são colocadas dentro de cada pacote, e os gerenciadores de pacotes pegam essas informações e buscam esses pacotes automaticamente, seja lá onde eles estiverem, desde que se tenha uma conexão com a internet, claro. Isso eliminaria a necessidade de se manter repositórios cadastrados em nossos computadores e acrescentar mais um a cada vez que temos que instalar um pacote que não está nos repositórios cadastrados. Sei que isso não é uma idéia original, se não me engano no FreeBSD é assim, mas seria ótimo se isso fosse portado para o Linux, utilizando os formatos atuais de pacotes.

3 - Quando instalamos um pacote utilizando um gerenciador de pacotes, caso exista uma dependência não satisfeita, o gerenciador resolve essa dependência e as instala automaticamente. Mas o processo contrário não é feito, ou seja, ao desinstalar um pacote as dependências dele não são desinstaladas automaticamente, somente os pacotes que dependem dele. O ideal seria que todas as dependências do pacote que será desinstalado fossem desinstaladas também, desde que estas não sejam utilizadas por mais nenhum outro pacote, isso evitaria que ficassem pacotes que não são utilizados pelo sistema. Devo salientar que essas são conclusões a que eu cheguei, segundo o que eu pude perceber no meu uso diário, posso muito bem estar enganado, sendo assim, ignorem isso.

Mas para fazer tudo isso seria necessário criar um formato novo de pacotes, ou alterar os existentes hoje, que acredito que seja a melhor opção. Eu iria adorar desenvolver essas melhorias, mas infelizmente não tenho tempo para isso, me restando tempo somente de expor minhas idéias ;-). Mas também acredito que se fosse desenvolvido por um desenvolvedor ou grupo de desenvolvedores isolados, ou seja, que não fizessem parte do desenvolvimento de alguma distribuição, esse trabalho não seria facilmente notado, mesmo que se demonstre um excelente trabalho. Então a idéia seria também manter uma distribuição própria, poderia ser algo parecido com o Zenwalk, bem básico porém funcional.

Um dia quem sabe eu chego lá...

Técnicos????

Recentemente ocorreu um fato, no mínimo, bem curioso. Minha namorada recomendou a um amigo dela que comprasse o computador com Linux em vez de comprar com Windows Starter (nem preciso dizer aqui o motivo, certo?).

Quando conversei com ele pela primeira vez ele elogiou a interface (KDE) do Linux, e disse que estava um pouco complicado para fazer algumas coisas rotineiras, como instalar uma impressora, mas que de maneira geral estava gostando do sistema. Até ai tudo certo, pois os sistemas são realmente diferentes, e no Linux chega a ser mais complicado para iniciantes. O problema começou quando ele contratou o Speedy da Telefônica.

Em primeiro lugar, como a maioria dos produtos e serviços relacionados à informática, vem com 1 CD para a instalação em Windows, que infelizmente não procurei saber se havia algo para Linux no CD, o que, de certa forma, tira um pouco da credibilidade deste post, apesar que não havia nenhuma inscrição na capa em relação a outros sistemas operacionais. Fui na casa do amigo de minha namorada para ver se eu conseguia acertar a conexão para ele. Verifiquei que o Linux estava recebendo o endereço IP corretamente do DHCP do modem, e que o sistema conseguia "enxergar" o modem fazendo um teste simples com o ping.

Depois disso fui ler o manual do modem, que dava a instrução de acessar o modem com o navegador web, colocar a senha do administrador na página de administração do modem, e depois acessar o menu LOGIN e colocar o usuário e a senha fornecido pelo provedor de acesso. Quando acessei o menu login, simplesmente não existia campo nenhum onde digitar tal informação. Tentei então entrar em contato com o suporte do Speedy, e quando passei qual era o problema a primeira coisa que a atendente me perguntou foi: "Qual a versão do Windows que o senhor esta usando?". Respondi que não estava usando Windows e sim Linux, então ela me passou um telefone do "Suporte avançado". Pedi então que ele (o amigo de minha namorada) entrasse em contato com o tal suporte e dissesse que não estava conseguindo fazer a configuração do nome de usuário e senha no modem.

Como não tenho contato com a pessoa, perguntei para minha namorada se ela estava sabendo como foi o desenrolar da história, a principio fiquei sabendo que o "técnico" do Speedy foi na casa dele e não conseguiu resolver o problema. Mais para o final da semana passada perguntei novamente para minha namorada sobre o caso, ela então ligou para o amigo dela e ele respondeu, um tanto frustrado, que o "técnico" recomendou que ele trocasse o computador por um que tivesse o Windows instalado alegando que assim o Speedy funcionaria. E foi o que ele fez.

Mas perai, trocar de computador só por causa que a internet não estava conectando, mesmo sendo visível que o problema era a configuração do modem, e ainda mandando comprar um com Windows instalado???? Não sei se todos concordam comigo, mas para mim isso não é coisa de um técnico dizer. E isso é um problema sério.

Quando fiquei sabendo da recomendação que o "técnico" fez, além de achar um absurdo, fiquei imaginando qual é a formação e a orientação desses ditos "técnicos". Para mim, que tenho a formação de técnico em processamento de dados, o conceito de técnico é de um profissional que esta sempre se atualizando e gosta de resolver problemas, principalmente se esses problemas lhe trazem mais informações úteis, mesmo que não seja exatamente da área dele. A maioria dos técnicos de verdade que eu conheço nunca iriam sugerir um absurdo desses.

Só consigo pensar em duas possibilidades para uma atitude dessa: 1 - esses profissionais não são bem técnicos, apenas fazem cursos para saberem fazer o trabalho básico deles e o executam; 2 - as empresas (já que não são somente os técnicos da Telefônica que fazem esse tipo de recomendação sem sentido) passam ordens para que seja sempre jogado a responsabilidade para os usuários e que os problemas sejam resolvido da maneira mais fácil. Dentre essas duas possibilidades, fico com a segunda, mas a primeira também é bem provável de acontecer. E o mais importante, qualquer das duas opções sempre prejudicará uma pessoa em comum: o usuário.

Nesse caso, o problema é que o Seedy é desenvolvido para o Windows (padrão de marcado) mas pode facilmente ser configurado em outros sistemas operacionais, desde que o modem utilizado esteja corretamente configurado. Como o "técnico" somente é treinado para fazer a instalação em Windows, quando ele se depara com um sistema operacional diferente ele fica sem saber o que fazer, e acaba indo para a solução mais fácil para ele, que nesse caso específico é pedir para o usuário trocar o sistema operacional. Como nem todo mundo tem o conhecimento necessário (e nenhum usuário é obrigado a ter, mas um técnico deveria ter) para dizer onde esta exatamente o problema, ele acaba aceitando o recomendação desse "técnico".

Isso acaba criando um circulo vicioso onde as empresas empurram seus produtos voltados para os sistemas padrões, e os usuários por não saberem que o produto/serviço que ele contratou deve funcionar perfeitamente em qualquer sistema (no caso da conexão com a internet), acaba aceitando a sugestão do "técnico". Cada vez que um usuário aceita a sugestão (que as vezes soa como uma ordem) a empresa que oferece o produto/serviço tem um motivo a mais para não treinar seus funcionários em novos sistemas. E vale lembrar que a realidade hoje no Brasil é que cada vez mais usuários comuns estão comprando computadores com Linux, e empresas que prestam serviços que envolvam informática deveriam ter percebido isso e treinado seus "técnicos" nesse sistema.

O que eu quero dizer com tudo isso é que as empresas prestadoras de serviços, como a Telefônica, não estão realmente interessadas na qualidade de seus serviços e no bom atendimento aos clientes. Isso as fazem chamar de "técnicos" pessoas que não estão totalmente qualificadas para a realidade atual, e por isso acabam passando informações erradas aos usuários/clientes.

A decisão de comprar um computador com Linux não é errada, como também não é errada a decisão de comprar um computador com Windows, desde que não seja o Windows Starter, mesmo pagando bem mais por isso. O errado é admitir que as empresas continuem nos empurrando serviços e produtos que não nos dão opções de escolha, como nesse caso onde chegaram a dizer que o Speedy só funcionaria com o Windows. Precisamos ficar atentos, principalmente nós que somos da área de TI, para que esse tipo de situação não aconteça, ou pelo menos diminua.

Nota 1: É bem provável que com o Windows o Speedy conecte sem maiores problemas, pois, como disse, ele vem com um CD com o software para Windows. Acredito que esse software tenha alguma atualização do firmware do modem que é feita ao instalá-lo. Sendo assim, a melhor forma de resolver esse problema seria instalar o software em um computador com Windows instalado e o modem ligado nesse computador, após isso conectar o modem novamente no computador com Linux.

Nota 2: Não soube se o problema foi realmente resolvido só trocando o computador e sistema operacional, creio que sim.

02 julho 2007

TI x Informática

Tenho visto muitos casos onde empresas não sabem lidar com TI, geralmente empresas pequenas e médias. Quando eu digo lidar com TI, quero dizer que não sabem de tudo o que a tecnologia pode lhes oferecer para melhorar, principalmente, a eficiência e a qualidade de produtos e serviços da empresa.

Essas empresas, ou mais especificamente seus administradores, conhecem somente a Informática e não conhecem nada de Tecnologia da Informação. Por quê estou diferenciando esses termos? Bom, para mim, informática é somente um punhado de hardware e software utilizados para realizar tarefas rotineiras, são ferramentas de trabalho somente. Já a Tecnologia da Informação podemos definir como sendo a ciência de otimizar o uso de hardware e software para aumentar a eficiência e a qualidade de produtos e serviços, e não estou falando somente de produtos e serviços tecnológicos, todas as áreas (inclusive manufaturas) podem se beneficiar com TI. Essa é a minha opinião, alguém discorda??

O fato que melhor demonstra como cheguei à conclusão de que muitas empresas não sabem lidar com TI é a preocupação em investir em TI. É comum ver em pequenas e médias empresas equipamentos de informática totalmente obsoletos, tanto hardware como software. Geralmente a mentalidade dos administradores dessa empresa é de que os equipamentos devem ser usados enquanto estiverem funcionando, mesmo que seja um Pentium 100 MHz com Windows 98 instalado (sim, isso ainda existe, conheço casos atuais). Como devem imaginar, um computador nessas condições é o que chamamos de uma verdadeira "carroça", podendo ser considerado uma ferramenta de castigo para quem o utiliza. E o que leva uma uma empresa a manter computadores nessas "qualidades" em pleno funcionamento? Eu ainda não consigo entender, mas acredito que seja uma completa ignorância dos administradores nessa área, que os levam a pensar que informática é somente uma ferramenta de trabalho. Computadores antigos em empresas só geram prejuízos, e computadores no nível do acima citado não existem mais, hoje no Brasil, nem nos lares mais humildes, sendo inaceitável a permanência em empresas. Só como nota, não é recomendado utilizar os computadores por mais de 3 anos em uma empresa.

Como disse, computadores antigos só geram prejuízos. Como? Bom, em primeiro lugar, computadores antigos não têm capacidade de processamento suficiente para executar de forma cômoda os aplicativos mais atuais, sendo desaconselhado não fazê-lo. Como nem sempre esse conselho é seguido, o usuário de um computador desses é obrigado a trabalhar com aplicativos cada vez mais pesados, e as vezes não só 1, mas vários (já vi coisas bizarras nesse sentido). O computador fica facilmente sobrecarregado, levando vários minutos para executar uma tarefa simples. Enquanto o usuário fica apenas esperando essa tarefa ser executada , ele vê mais trabalho chegando para ele e recebe cobranças por seu trabalho ser demorado. Só aqui temos 2 prejuízos: lentidão na realização das tarefas e stress para o usuário, o que pode leva-lo ao afastamento temporário de suas atividades por problemas de saúde.

Outro grave problema gerado por manter computadores muito velhos em empresas é que o pessoal de suporte (isso se houver alguém dedicado a suporte na empresa) irá dedicar muito de seu tempo tentando resolver os problemas gerados por esses computadores, que tendem a apresentar mais problemas exatamente por terem muito tempo de uso. Além disso, sempre serão necessárias peças de reposição para resolver alguns problemas, que nem sempre são encontradas. Juntando tudo isso temos um alto custo em manter computadores antigos funcionando, que é muito mais alto do que a aquisição de novos equipamentos.

O problema é que não existe uma maneira fácil (se é que existe alguma maneira) de contabilizar esses gastos. Isso dificulta muito o trabalho de demonstrar que é inviável a manutenção desses equipamentos, e que comprar equipamentos novos é muito mais barato. Mas até hoje não entendi o por que é tão difícil mostrar isso a alguns administradores, mesmo quando falamos que podemos economizar dinheiro eles não dão ouvidos. Sendo assim, nesses casos temos que insistir muito até conseguir fazê-los compreender.

Como podemos ver, apenas em relação a atualização de computadores, já temos um grande problema caso os administradores não tenham noção sobre TI.

Mas será que a culpa de se ter equipamentos tão velhos numa empresa é somente dos administradores? A resposta é um sonoro NÃO. Os responsáveis pela informática na empresa têm grande parte da culpa, já que não correram atrás dos administradores em busca de investimentos. Mesmo que convencer algumas pessoas a investir seja uma tarefa árdua, temos que ser persistentes, caso contrário seremos um dos culpados pelo parque de computadores terem ficado desatualizados.

Mas isso é muito básico. Atualização de equipamentos são atitudes primarias a se tomar quando se utiliza informática para se trabalhar. Precisamos buscar sempre novas formas de utilizar os recursos de informática para melhorar o trabalho, produtos e serviços de uma maneira geral, se possível, até mesmo criando novas tecnologias. Precisamos ter a mentalidade de que tudo pode ser melhorado, e a TI possibilita isso.

Conclusões

Depois de terminar o tutorial sobre Bacula, cheguei a uma conclusão: Não da para manter tutoriais em um blog, a menos que eles sejam pequenos, rápidos e fáceis.

O primeiro problema, um tutorial sobre um assunto complexo como o do Bacula toma muito tempo. Levei horas para escrever cada post do tutorial, tempo que poderia falar de assuntos mais interessantes, mais rápidos.

Outro problema é em relação ao conteúdo do blog. Creio que muitos acharam o assunto desinteressante, e como praticamente não escrevi nada além disso, para muitos o blog deve ter ficado chato.

O terceiro problema é estético. Com posts tão grandes fica complicado achar alguma coisa entre eles. O blog fica parecendo maior do que realmente é, porém o torna difícil de ler, e para quem não esta interessado no tutorial, vai desistir logo do blog.

Conclusão: não me arrependo de ter escrito este tutorial sobre Bacula, será últil para mim mesmo quando precisar instalar outro servidor de backup, mas não repetirei isso aqui. Quando eu for escrever algum outro tutorial colocarei em algum site onde tenha uma área específica para tutoriais. Mas não sei se escreverei outro tão cedo, consome muito tempo, e tempo tem sido escasso ultimamente.