segunda-feira, outubro 09, 2006

Como mandar o “Janelas” à fava! – Sexto Episódio!

Um caso prático. A migração de um velho portátil para Ubuntu.

Era uma vez um portátil. Velhote, com falta de memória (64 ram), processador coxo (celerom 700), e sistema operativo em fase terminal. Pois é, o velhote não aguentou mais com o Windows 98 e resolveu fazer greve. Bastava ligar o bicharoco, e logo de seguida aparecia uma bela mensagem, que dizia que tinha acabado de ocorrer um erro terrível e pavoroso.

O que fazer?

Das duas uma..... ou depois da limpeza voltar a carregar o Janelas, ou instalar o nosso bom e fiel amigo Ubuntu.

Usando como munição um livecd (e muita fé no mesmo hehehe), lá se colocou o disco na drive de CD no portátil... e fez-se a primeira tentativa.

Ao fim de uns bons 10 minutos, o livecd ainda não tinha arrancado.... será que o velho fujitsu está mesmo bom? Bem..... tentaram-se várias opções de arranque, mas o portatil teimava em não deixar o Ubuntu arrancar.

O problema era obvio... o LiveCD tem como requisitos mínimos 128 de Ram. E nós só tínhamos 64. E pior do que isso era saber que se o ambiente gráfico não arrancasse, não havia forma de instalar o Linux no disco com aquele CDROM.

Pois bem, qual a solução?

Depois de muito Gooooogle, a solução apareceu. Instalar em modo servidor (para isso é necessário fazer o download do "Alternate install CD", daqui

E depois de muitas voltas, um download de 700Mb e um cdrom gravado, lá começamos o processo de instalação no velho portátil.

A instalação correu sem incidentes. Mas no final das contas... o linux estava "cru".
A única coisa que estava disponível ao utilizador era uma linha de comando (ambiente de 'terminal'). E agora, como é que se instala o ambiente gráfico ?

Depois de mais uns minutos no Gooooogle, lá apareceu a resposta :

>sudo apt-get install gnome-desktop-environment

Mas aqui surge outra dificuldade... era necessário ligar o portátil à net, mas não tínhamos placa de rede no Portátil. Ainda bem que havia uma placa pcmcia xircom 10/100 por perto, que resolveu o problema. E agora, era só executar o tal comando.

E não é que funcionou? :)

É claro..... o sistema arrancava, mas levava tempos infinitos..... O Spreadsheet do OpenOffice (o equivalente do Excel) levava quase meia hora para fazer uma coisa tão simples como iniciar a aplicação, somar 1+1, gravar o ficheiro e sair.

E que tal acelerar o sistema? A resposta era RAM...... quanto mais melhor...... Infelizmente os tecno-ferenguis que fazem hardware para os computadores acham que é melhor cada portátil ter uma especificação diferente..... o que torna o upgrade de Ram a um portátil com 8 anos uma aventura.

Felizmente, apareceu uma pessoa que tinha várias placas de ram para portáteis em stock, e após experimentar várias, houve uma que funcionou. Era a única reconhecida. E só tinha 64Mb de Ram, mas em termos de melhoria do sistema..... ui! agora até voava :)))

Próximos passos?

1. instalar suporte multimédia (para ouvir MP3 e ver filmes em formato DIVX)
2. instalar o modem ADSL do Sapo, um SpeedTouch 330 USB, e configurar o sistema para arrancar a ligação automaticamente.

Recapitulando :

Passo 1 - suporte multimedia (tudo em uma única linha):

>sudo apt-get install gstreamer0.10-ffmpeg gstreamer0.10-gl gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse w32codecs

Passo 2 - instalação do Modem ADSL USB

Em bom Português, um internauta foi porreiro, e disponibilizou um pacote de instalação, que instala de forma completamente automática o modem, e configura o sistema para inicializar a ligação no arranque do Linux.

Aqui fica o link : http://gothicx.blogs.sapo.pt/8886.html

A instalação é muito simples :

- Fazer o download do "programa de instalação + drivers" de http://marco.tondela.org/stuff/speedtch330.tar.gz
- descompactar o ficheiro numa janela de terminal (tar zxvf speedtch330.tar.gz)
- entrar na directoria "speedtch330" e executar da seguinte forma : >sudo sh speed330.sh
- depois é só seguir as indicações!

E pronto.

Assim concluímos o nosso exemplo prático, e fizemos a boa acção do dia... salvar o velho fugitsu das garras do “Janelas” hehehehe

Até à próxima
Tecnobugiganga

segunda-feira, outubro 02, 2006

Como mandar o “Janelas” à fava! – Quinto Episódio!

Guia de sobrevivência avançado - a instalação de programas da forma difícil!

A instalação de programas quando estes não existem em formato "apt", normalmente é uma grande dor de cabeça. Disso não há a menor dívida.

No entanto, às vezes é necessário passar por isso! Esta “lição” tem dois objectivos :

Apresentar os conceitos básico sobre compilação, linkagem e makefiles.

Apresentar um exemplo de aplicação do mundo real (a instalação de um driver novo no ubuntu para uma placa de rede sem fios WiFi).

Então aqui ficam os conceitos básicos :

Ferramentas de compilação (build)

Em primeiro lugar, queremos instalar as bibliotecas essenciais para os processos de compilação:

>sudo apt-get install build-essential

>sudo apt-get install linux-headers-`uname -r`


Para testar se tudo correu bem, experimente no terminal alguns destes comandos :

>sudo make

>sudo gmake

>sudo gcc

Nota: É conveniente usar o "sudo", para atribuir permissões de administração aos processos de compilação.

Agora, já deveremos ter o compilador de linguagem C (gcc), o make (leitor de makefiles), e os cabeçalhos necessários para referenciar bibliotecas base do linux (linux-headers)


O que é o Compilador?

A Wikipédia (a enciclopédia livre) explica que um compilador é um programa que, a partir de um código escrito em uma linguagem, o código fonte (do inglês source code), cria um programa semanticamente equivalente porém escrito em outra linguagem, código objecto (do inglês object code).

Ou seja, o compilador é um programa que processa, valida e transforma um conjunto instruções escritas nos ficheiros fonte, em “objectos” ( que são outros ficheiros que contêm as mesmas instruções, mas num formato em código não inteligível).

Obviamente, os objectos só podem ser compilados se forem entendidos correctamente pelo compilador... ou seja, não podem haver erros sintácticos :)

Mas nesta fase, ainda não conseguimos gerar o ficheiro executável. Ainda temos de realizar a fase de "linkagem".

O que é o Linker?

A Wikipedia explica que o Linker, em informática, é um programa que liga objectos gerados por um compilador, formando assim o ficheiro executável final.

Portanto, o Linker pega nos ficheiros que acabamos de compilar, junta-lhe as bibliotecas necessárias (que estão programadas nos ficheiros fonte e na makefile) e gera o executável final.

E a makefile? E o Make? Para que servem?

Novamente a Wikipedia explica que o make é um programa de computador concebido para compilar automaticamente o código fonte de um programa. O make utiliza instruções contidas num ficheiro chamado "Makefile" e é capaz de resolver as dependências do programa que se pretende compilar.

Basicamente a ideia é ter uma receita com instruções, de modo a dar apenas um comando (ex: make install) e a partir daí a compilação e linkagem acontecer de forma completamente transparente para o utilizador, tal como ilustrado na figura.

Então e que tal um exemplo real de aplicação?

Imagine que o leitor tem uma placa WiFi que adquiriu num kit Adsl do Clix, e a placa não funciona bem com o Ubuntu. O Driver que vem de origem no Ubuntu não está muito bom.. e queremos corrigir o problema, instalado novos drivers "fresquinhos".

A placa USB tem o chip Zydas ZD1211 (abrindo a placa, estas letras devem estar bem visiveis no circuito integrado maior), e as instruções para instalação estão aqui :

http://doc.gwos.org/index.php/Zydas_ZD1211

Só para o leitor não se perder, aqui fica uma breve explicação do procedimento indicado:

Preparação (Preparation)


Remover o driver antigo:

>sudo modprobe -r zd1211

>sudo apt-get remove wpasupplicant


Instalar os pacotes e bibliotecas necessárias ao processo de compilação:

>sudo apt-get install linux-tree

>sudo apt-get update

>sudo apt-get install build-essential

>sudo apt-get install kernel-package

>sudo apt-get install gcc

>sudo apt-get install libncurses5

>sudo apt-get install libncurses5-dev

>sudo apt-get install libqt3-mt-dev

>sudo apt-get install wireless-tools


Descompactar o código fonte (em Linux os ficheiros compactados/agrupados podem estar no formato zip,tar,bz2,gz, etc) e criar um "symbolic link" (algo semelhante a uma shortcut ou atalho no Win):

>cd /usr/src

>sudo tar --bzip2 -xvf linux-2.6.12.tar.bz2

>sudo ln -s /usr/src/linux-2.6.12 /usr/src/linux


Criar outro "symbolic link" para os cabeçalhos Linux:

>sudo ln -s /usr/src/linux-headers-2.6.... /usr/src/linux-headers


Depois de fazer os downloads do openssl e das sources do Driver, é ainda necessário criar mais um "symbolic link" :

>sudo ln -s /usr/src/openssl/include /usr/src/wpasupplicant/openssl


Editar a makefile e garantir que a linha existe no ficheiro

"KERN_26=y KERNEL_SOURCE=/usr/src/linux" (sem aspas):

>sudo gedit Makefile


Finalmente [ufa :)] a compilação:

>sudo make

>sudo make install


Daqui resultam vários ficheiros, mas o único que interessa é o zd1211.ko, que deverá ser copiado para /lib/modules/...../net
(obviamente os ..... representam o nome de uma directoria cujo nome depende da versão do driver)


E por último, carregar o driver :

>sudo modprobe -v zd1211


Ok, ok, já sabemos que isto foi bastante complicado....... mas afinal, era este o objectivo desta "lição"...... como instalar algo da forma complicada :))

Até à próxima!

Tecnobugiganga

terça-feira, agosto 29, 2006

Como mandar o “Janelas” à fava! – Quarto Episódio!

Guia de sobrevivência básico - a instalação de programas da forma fácil

Agora que já temos o Ubuntu instalado, é altura de começar a pensar nos próximos passos. Sim, porque não basta instalar o Ubuntu num pc. Mais cedo ou mais tarde vamos querer ligar o nosso leitor de mp3 e ouvir algumas das músicas, ou ligar a máquina fotográfica digital e imprimir as nossas fotos preferidas. E que tal fazer uma cópia de segurança em CD das nossas fotos digitais?. Ou para os mais afoitos, "ripar" um DVD ?

O que queremos dizer é que, para tirar o máximo partido de um computador é necessário instalar programas novos. O problema é que a história da instalação de programas em Linux mostra que esta nem sempre é uma tarefa fácil, em especial porque os programas ou não são entregues completos (com todas as "dependências"), ou porque só funcionam em determinadas versões do kernel (o âmago de qualquer sistema unix/linux), ou ainda porque nos entregam as sources, e é necessário executar procedimentos de compilação (ou seja, a tradução das sources em ficheiros executáveis), o que para um utilizador final normalmente está para lá dos seus conhecimentos.

A instalação de programas no Ubuntu beneficia de um recurso maravilhoso, chamado "Advanced Packaging Tool", ou APT. Esta ferramenta excepcional, desenvolvida originalmente para Debian e seus derivados (onde se inclui o Ubuntu), simplifica o processo de instalação e remoção de software, através da utilização de um repositório central de programas, disponíveis via Internet.

Por exemplo, imagine que queremos instalar o programa "picasa" (gestão de imagens do google). Para a instalação deste programa, são apenas necessários dois passos:

Abrir uma janela terminal e digitar :

sudo -s apt-get install picasa

Será solicitada a password de administração do computador, definida no processo de instalação do Ubuntu, e então, duas coisas podem acontecer:

1. o programa começa a instalar

2. o programa não instala e dá um erro de "não encontrado". Isto porque na consulta aos repositórios disponíveis, não existia nenhum “picasa”. Para resolver esta questão, será necessário adicionar um novo endereço web aos reposítórios, e voltar a invocar o apt-get.

O procedimento é bem simples, e consiste no seguinte:

  1. abrir uma janela de terminal
  1. obter permissões para uma operação de administração, executando :

sudo -s

(escrever a sua password quando solicitado)

  1. editar o ficheiro que contém a lista de repositórios

gedit /etc/apt/sources.list

  1. adicionar ao ficheiro aberto em 3. a seguinte linha, no final :

deb http://dl.google.com/linux/deb/ stable non-free

  1. gravar o ficheiro aberto em 3.
  1. actualizar a listagem de repositórios, executando o seguinte comando :

sudo apt-get update

  1. instalar o picasa, executando o seguinte comando :
sudo apt-get install picasa

Resumindo, para instalar um programa através do repositório Debian, é apenas necessário chamar o comando "apt-get install", que trata de instalar o programa e respectivas dependências, ou bibliotecas adicionais necessárias.

Como já foi explicado, o repositório pode ser incrementado simplesmente pela adição de novas linha ao ficheiro de configuração. E onde podemos encontrar repositórios adicionais? A resposta é bastante evidente.... http://www.google.com :)

E quando o programa que desejamos instalar não existe em repositórios Debian?

  • ".rpm” – Se o programa estiver no conhecido formato RPM (Red Hat Package Manager), será necessário converter o ".rpm" para ".deb", utilizando um software chamado "alien". Este "alien" pode ser instalado através do repositório Debian (“sudo apt-get install alien”) Finalmente, na linha de comando (converter o ficheiro “/home/zemanel/Destkop/pacote.rpm” em “/home/zemanel/Destkop/pacote.deb”) :

sudo alien -i /home/zemanel/Destkop/pacote.rpm

  • ".deb" – dois clicks com o rato resolvem facilmente o problema, ou então :

sudo dpkg -i /home/zemanel/Destkop/pacote.deb”.

Então e se o programa não for fornecido através dos repositórios, ou através de pacotes? E que coisas estranhas são essas Makefiles, Compiladores, Linkers, Bibliotecas, dependencias e afins?

Bem, esse assunto ficará para o próximo episódio, aqui no tecnobugiganga!




segunda-feira, agosto 07, 2006

Linux Fun


Quem foi que disse que Linux é uma coisa chata, para informáticos geeks que não tem sentido de humor?

Era uma vez a mascote do Linux, conhecido como Tux. Este simpático pinguim foi escolhido para ser o símbolo do Kernel Linux numa mailing list pública, onde se discutia qual o símbolo a adoptar (aparecia de tudo, desde paródias ao "Janelas" até a animais míticos). Mas o criador do Linux, Linux Torvalds, resolveu por fim à discussão afirmando o seu gosto por pinguins. E a moda pegou. Mais tarde, Alen Cox foi responsável pela atribuição do nome Tux (Torvalds UniX). Aqui ficam os sites com a evolução do simpático Pinguim Tux :
E obviamente, várias são as brincadeiras que se foram fazendo com o Tux e o Linux. Por exemplo, a IBM, após gastar apenas um bilhãozito de dólares, resolveu gastar uns tostões com uns vídeos com o Tux:

E como a imaginação não tem limites ( nem os tecno-ferengis heheheh ), depois das t-shirts, copos, canecas, casacos, também surgem coisas de borla, bem ao espirito do software livre, como este jogo com o pinguim mais famoso da Internet :

http://tuxracer.sourceforge.net/

O Linux hoje em dia já é um sucesso... embora não tenha a taxa de penetração que o "Janelas" tem em PC's, o mesmo não acontece com servidores. Aliás, uma boa parte dos servidores que alojam páginas na Internet já são Linux (ex: Google). E tudo isto dá imenso trabalho. São necessárias muitas horas e extrema dedicação para colocar todo este software a funcionar. Mas os informáticos também gostam de diversão. Aliás, não gostamos todos?



terça-feira, agosto 01, 2006

Como mandar o “Janelas” à fava! – Terceiro Episódio!

Revisão rápida sobre os conceitos básicos de Linux.

Pois bem, agora que temos o Ubuntu instalado, o que é que fazemos com ele ? Bem, as possibilidades são infinitas. Tal como no Windows, temos um ambiente gráfico elegante e estável, e como bónus, já temos disponível ferramentas indispensáveis, como é o openOffice , que é a alternativa gratuita ao Office da Microsoft. Com ele, é possível abrir e editar documentos Word, Excel, PowerPoint, etc.

No processo de instalação, é solicitada a criação de um utilizador “comum”, que terá permissões para utilizar o software, mas, por exemplo, não poderá instalar programas novos. Este utilizador serve para trabalhar normalmente com as aplicações. No entanto, sempre que for necessário realizar alguma operação mais complexa, o sistema solicitará a password de administração. Isto é especialmente útil para utilizadores mais inexperientes, de modo a que estes não destruam o sistema involuntariamente.

Por omissão, o utilizador “root” (também chamado super-user), vem desactivado. E graças ao comando “sudo”, é perfeitamente possível executar qualquer operação sem que o “root” seja usado.Em termos de utilização do disco rígido, o Ubuntu, à semelhança das várias distribuições que por aí existem, tem a seguinte estrutura :

Como se pode observar, a cor amarela temos as directorias de sistema, que é algo semelhante em Windows a :

  • C:\WINDOWS\
  • C:\Program Files\

E a cor alaranjada termos as directorias onde os utilizadores deverão guardar os seus dados, que é algo semelhante a :

  • C:\Documents and Settings\xaviera\ (Desktop, “My Documents”, etc para o utilizador “xaviera”)
Da mesma forma que no Windows é criada automaticamente uma pasta para cada utilizador, e seus respectivos documentos, também nos sistemas Linux é criada uma pasta para cada utilizador, debaixo de “/home”. Aqui é seguro guardar dados, fazer alterações, uma vez que não irá comprometer nenhum “serviço” (ou programa) existente.

Muito bem. Agora que conhecemos a estrutura de directorias, vamos dar uma “voltinha” com o “terminal”. Já passaram vários anos desde que os sistemas Unix eram grandes máquinas, às quais se acedia por um terminal de texto (daqueles que tinham uma cor verde). No entanto, à semelhança daquilo que acontece com o Windows, ainda é possível utilizar um CLI (Interface da Linha de Comando) para interagir com o utilizador. E para tal, utiliza-se um software chamado “terminal”. Com ele, é possível interagir com a máquina local, ou até mesmo aceder remotamente a outra máquina, utilizando o comando de telnet.

Após executar o terminal (existe um link directo num dos menus), é necessário conhecer os comandos disponíveis. Obviamente existem muitos, e até existem vários interpretadores de comandos (conhecidos como “shell”). Mas para não complicar, vamos apenas falar do standard “Bash”, ou “sh”. Aqui fica um guia rápido de alguns comandos importantes:



Agora só resta fazer uma coisa.. experimentar!!! Vai ver que se vai divertir !

Ah, e já agora, para os mais cépticos que se perguntam “para que raios preciso disso?”, a resposta é simples... precisa para fazer coisas avançadas, que utilizadores comuns não fazem em Windows. Qualquer um pode instalar programas em Windows, e também qualquer um pode usar o repositório de aplicações para instalar em Linux. Mas poucos sabem compilar programas em Windows, também porque quase nunca se oferece o código fonte para Windows...

Já em Linux não é bem assim..... existem toneladas de aplicações que têm o código fonte disponível, e para poder aproveitar essa oportunidade, é necessário mexer minimamente no terminal. Mais a frente voltaremos a este tema, quando instalarmos o KQEMU, um componente do QEMU, que é um emulador de PC gratuito aonde instalaremos uma versão do Windows. Até lá, vá brincando!



quinta-feira, julho 27, 2006

Como mandar o “Janelas” à fava! – Segundo Episódio!

Preparação e Instalação (Ubuntu 6.06LTS).

Checklist de Preparação:

Verifique se tem o CD do Ubuntu (original, cópia de original ou “puxado” do site e gravado em CD), pois sem ele, nada feito!

Faça backup do disco do seu computador - copie tudo.. eu repito.. TUDO - do seu disco rígido para cd, dvd, disco portátil, tape, o que tiver à mão. Ah, claro, e verifique a integridade dos dados... não vamos querer fazer um backup para um dvd daqueles baratuchos para depois descobrir que temos aqueles “erros de redundância cíclica” hehehe

Arranje tempo para isto. Sim, porque não pense que chega um dia a casa depois do trabalho ou dos estudos e vai conseguir fazer tudo de uma vez... Planeie um dia tranquilo, e comece a trabalhar cedo.

Ligação à Internet. Não é indispensável, mas nós não dispensamos. Ah, e de preferência de banda larga (cabo, adsl, lan ) com o cabo de rede ligado à placa de rede do computador. Também dá por Wi-Fi, mas por cabo de rede é mais tranquilo. Modem? Nunca experimentamos, mas também deve dar :)

Vamos então começar a instalar :

Normalmente, um utilizador experiente habituado a estas coisas opta por instalar dois sistemas operativos no seu computador (ex: Linux e Windows). O segredo é dividir o disco em “fatias” a que se chamam partições, e à cabeça coloca-se um Boot Loader http://wiki.linuxquestions.org/wiki/Boot_loader , que não é mais do que um programa que permite escolher qual o sistema operativo que se vai carregar. Aqui não abordaremos este tema, simplesmente porque o objectivo é migrar TUDO para o Ubuntu. Mais tarde, instaremos o Windows “dentro” do Linux, para emergências heheh

Comecemos então. Ligue o cabo de rede à placa de rede (para termos Internet), coloque o CD do Ubuntu na drive e deixe o LiveCD do Linux carregar.

Experimente a ver se está tudo bem. Abra o FireFox, introduza um URL qualquer para confirmar a correcta ligação à Internet.

Depois, basta fazer Click no Icone de Instalação. O único menu que pode ser mais confuso é o da partições do disco. Simplesmente escolha a opção que permite a utilização do disco inteiro. Finalmente é só seguir as instruções ( É basicamente uma instalação à Windows... next->next->next :))

Quando a instalação estiver concluída, estamos prontos para começar o nosso desafio. :)

terça-feira, julho 25, 2006

Como mandar o “Janelas” à fava! – Primeiro Episódio!

Enfrente os seus medos!

Algumas pessoas reagem da seguinte forma quando se fala em Linux :

  • ahhh isso é muito difícil...
  • pois.. eu preciso mesmo daquele programa que só corre no Windows XP..
  • isso dá muito trabalho.. é preciso compilar e eu não percebo nada disso...
  • hhahaha... o meu Windows também é de borla (pirateado claro :( )...

Pois bem, em primeiro lugar, não apoiamos a pirataria.. e que isso fique bem claro! E já agora, porque é que haveríamos de querer um Windows pirateado no computador, se podemos ter um Ubuntu que funciona tão bem (ou melhor ainda) e é completamente LIVRE? E mais.. porque razão é que precisaríamos de andar feitos doidos à procura do crack para este ou aquele programa, se em Linux provavelmente existe um que já faz o mesmo e é de BORLA?


Para o comum dos utilizadores que só utiliza o computador para escrever no processador de texto, para consultar páginas na Internet, consultar o email, estar na conversa com num qualquer messenger, ouvir musica, gravar um cd de vez em quando com as fotografias da sua máquina fotográfica digital, faça o seguinte, mande vir o Ubuntu do site (http://www.ubuntu.com) e experimente! Só fica a ganhar.

E se tiver um computador velho lá por casa que não tenha forças para correr o "janelas", dê-lhe uma nova vida com o Linux!

Só a titulo de exemplo, aqui ficam alguns links com relações entre software Windows e Linux:

Só para complementar um pouquinho, imagine que precisa de algo mais "avançado", por exemplo a realização de um pequeno video. Alternativas para Linux ? Mas é claro!

Bem, se a sua pessoa ainda não estiver convicta que o Linux é melhor, repare que o software livre foi recomendado à Uniao Europeia como sendo o futuro! (http://www.fsfeurope.org/documents/fp6/recommendation.pt.html) E até em Portugal, surgiu uma resolução 66/2004 da AR, que “ Recomenda ao Governo a tomada de medidas com vista ao desenvolvimento. do software livre em Portugal” - http://softwarelivre.citiap.gov.pt/

E já agora, não acha que já pagou o suficiente às multinacionais de software ? :)