22 julho, 2006

Gravar a cache APT para CD/DVD-ROM

Hoje vou colocar aqui uma dica muito útil para os utilizadores do Ubuntu que têm amigos que não possuem banda larga em casa (ou não têm Internet) e eles necessitam das actualizações ou então de alguns programas que só existem nos repositórios. Então qual a melhor forma de resolver isso, trazer o pc a casa de amigos com banda larga e sacar o que é necessário? Talvez não se eles tiveres pc's de secretária, se for um portátil ainda é um caso a pensar mas mesmo assim, nah me parece então o que fazer?

Simples rápido e eficaz! Realizar o download dos pacotes dos repositórios e gravar em CD/DVD e ainda tem mais algumas vantagens tais como quando for necessário reinstalar o sistema não tens de sacar tudo de novo. Basta apenas introduzires o CD/DVD na drive e está feito. :D

Bem agora aqui vão os passos para realizar este processo (tudo feito pela linha de comandos):

$ mkdir -p ~/cache/binary
$ cp -fv /var/cache/apt/archives/*.deb ~/cache/binary/
$ cd ~/cache
$ dpkg-scanpackages binary/ /dev/null | gzip -9c > Packages.gz
$ mkisofs -r -A "apt-cache" -o ~/cache.iso ~/cache/

Agora é só gravar a imagem criada.

Para adicionar esta fonte ao computador de destino faça também na linha de comandos:

$ sudo apt-cdrom add
$ sudo apt-get update

Agora ao abrir o gestor de pacotes synaptics pode observar que já se encontram lá os pacotes adicionados. Se escolher o gestor de actualizações, pode observar que se houver alguma actualização disponível no CD/DVD ele vai avisar que existem actualizações disponíveis.

19 julho, 2006

Como instalar o Ubuntu num disco rígido externo


Tu podes, de facto, instalar, inicializar e executar o Ubuntu de uma drive FireWire, USB ou outro tipo de drive, mas isto necessita de alguns passos especiais.




Usando o meu portátil como sistema primário reparei que umas das desvantagens são: é muito mais difícil de mudar os discos rígidos para teste de sistemas. Eu queria instalar o Ubuntu de forma a que eu pudesse testar vários truques numa instalação Vanilla, mas eu não queria reparticionar e instalar no meu disco do portátil (já que ele tem uma instalação do Ubuntu, completamente organizada como gosto). A solução foi instalar o Ubuntu numa drive USB externa que tenho; desta forma, o meu sistema regular continua intacto e eu posso arrancar da instalação de testes quando desejo.


Infelizmente, este tipo de instalação não funciona automaticamente sem alguns truques devido a várias razões:


-Por pré-definição, o ficheiro initrd (initial ram disk) que o Ubuntu usa não possui todas as drivers que são necessárias para se arrancar de uma drive removível. A tua BIOS vai detectar a drive com facilidade (desde que suporte o arranque a partir de drives removíveis), mas até que o Kernel seja carregado, o Linux não é capaz de ver e montar a drive para continuar o processo de arranque.


-Mesmo que o initrd tenha as drivers apropriadas, o kernel demora alguns segundos a carregar estes módulos e a detectar a tua drive removível antes de ele tentar utilizá-la. Durante este tempo, o sistema provavelmente vai tentar arrancar e não vai ser capaz de encontrar a drive removível porque ainda não acabou de a configurar.


-O instalador do Ubuntu é muito prático já que ele tenta detectar outros SO's que tenhas instalados no sistema e vai fornecer estas entradas de menu ao GRUB para cada SO. Infelizmente, isto significa que ele vai tentar configurar qualquer SO que tenhas na drive de disco interna como sendo a primeira drive da BIOS, com a drive removível a ser a segunda (ou terceira ou quarta se tiveres outras drives no teu sistema). Quando a BIOS arrancar da drive removível, ele vai configurá-la como a primeira drive do sistema o que vai confundir o GRUB.







Preparando as partições




O primeiro passo é iniciar o processo de instalação do Ubuntu tal e qual como farias em qualquer sistema (atenção o CD que foi usado foi o alternate install, já que o LiveCD só permite a instalação do gestor de arranque Grub no MBR - Master Boot Record). Quando o Ubuntu atingir a parte da ferramenta de partição do disco, tem em atenção que por pré-definição ela vai tentar escolher qualquer drive IDE ou SCSI actualmente instalada no sistema. Se o teu sistema usa uma drive IDE, tu podes escolher a tua drive ao seleccionares a drive SCSI que o sistema detectou. A linha vai provavelmente referir-se a um disco chamado "SCSI (0,0,0)(sda)". Se já tiveres um disco SCSI no sistema, vai ser um pouco mais difícil para localizares a drive USB, mas as hipóteses é que ela deve ser a última drive SCSI no sistema.




P.S.: Tem a certeza absoluta que escolhes a drive correcta nesta fase, porque o Ubuntu vai formatar e particionar a drive que escolheres e destruir qualquer dados que ela possua. Senão tiveres a certeza qual é a drive apropriada, inicia o Ubuntu LiveCD e confirma qual dos nomes dos dispositivos (sda, sdb, etc.) ele atribui às drives no teu sistema.






Instalar o GRUB



Depois de teres escolhido a drive correcta a formatar, continua com o processo de instalação do Ubuntu até que ele atinja o estágio de configuração do gestor de arranque GRUB. Aqui, ele vai-te questionar se queres que o GRUB seja carregado do MBR da drive interna. Tu não vais querer usar isto porque ele vai substituir qualquer gestor de boot que estejas a utilizar no sistema. Em vez disso, diz não e especifica /dev/sda (ou qualquer dispositivo que o Linux definiu como a tua drive removível) no próximo ecrã que aparecer para instalares o GRUB directamente na drive removível.






Usa Chroot



De seguida, continua a instalação do Ubuntu até que ele te pergunte para Continuar ou reiniciar o sistema. Antes de reiniciares, tu tens de fazer alguns truques no sistema. O instalador do Ubuntu actualmente fornece uma consola básica que podes utilizar para executares alguns comandos mínimos e limitados no sistema. Carrega Alt-F2 para mudares para esta consola, e de seguida pressiona Enter para a activares.








Em Desenvolvimento, posteriores adições conforme ir evoluindo

16 julho, 2006

Software Livre não é Grátis

É muito comum as pessoas pensarem que o Software Livre é sinónimo de software gratuito. Esta afirmação está errada. Quando falamos de Software Livre, estamos a referir à liberdade. Liberdade para utilizar o software para qualquer objectivo, liberdade para redistribuir (cobrando um preço ou não), liberdade para fazer modificações que atendam às necessidades individuais e liberdade para redistribuir estas modificações. Isto é Software Livre.
Com certa frequência, as pessoas confundem Software Livre com "software gratuito". Quando se cobra uma taxa pelo software, não estamos vendendo um produto, estamos "trabalhando" com o conhecimento. Programadores de Software Livre (como eu) precisam de sobreviver, precisam de pagar as suas contas, comida, diversão, cinema, etc. Um programador de Software Livre é como um médico, engenheiro e um advogado: trabalham com o seu conhecimento.
O Software Livre não é apenas um movimento técnico para programadores. É um movimento social. A maioria dos programadores querem que o seu conhecimento seja útil para qualquer pessoa. É uma satisfação muito grande para um programador quando sabe que o médico, o engenheiro e o advogado acima citados estão utilizando um software que ele desenvovleu. É também uma enorme satisfação quando alguém envia um e-mail para o programador informando sobre um bug. Melhor ainda quando envia juntamente a correcção do problema, que chamamos de patch. Um programador gosta do seu trabalho, portanto fá-lo bem feito.
Para que um software seja livre, ele precisa de estar disponível nalguma licença livre. A Free Software Foundation tem a licença GPL (General Public License), que é a base para a maioria do Software Livre disponibilizado na Internet. A GPL garante que as liberdades citadas acima serão mantidas.

Educação com Software Livre
Este é um tema que acaba sendo polémico para algumas pessoas ligadas à educação. Nós incentivamos o uso de Software Livre na educação, alguns professores dizem que o Software Livre não é um "padrão de mercado". Vamos discutir um pouco esta afirmação.
É muito comum alguma empresa de software proprietário doar licenças para uma escola. A direcção acaba pensando que isto é algo muito bom, pois estarão economizando licenças para ensinar os alunos a utilizarem softwares que são "padrões de mercado". Mas a direcção esquece-se que a empresa que fez a doação tem interesses comerciais no meio. No primeiro momento, os alunos serão "treinados" a utilizar o seu software e no futuro este aluno, que provavelmente não vai conhecer a outra alternativa, vai ser obrigado a adquirir este software, seja através da compra e pagamento da licença ou pior: através da pirataria.
O modelo educacional das empresas proprietárias é "prender" o utilizador aquele software e obrigá-lo a sempre renovar as licenças, adquirindo novas versões que exigem novo hardware. Estas empresas não ensinam o utilizador a pensar, mas ensinam a utilizar uma determinada ferramenta.
No Software Livre, preferimos fazer o contrário. Não gostamos de ensinar o utilizador somente a utilizar uma determinada ferramenta. Preferimos ensiná-lo a pensar. Nós procuramos ensinar que uma folha de cálculos desempenha papéis bem específicos para resolução de um determinado problema. Não nos limitamos a uma única ferramenta, queremos que o utilizador entenda o real objectivo de uma folha de cálculo.
Se eventualmente ele sentar-se num outro computador que não tem aquela folha de cálculo com o qual ele aprendeu a trabalhar, mas possui um software que faz a mesma coisa, porém de uma forma um pouco diferente, o utilizador poderá utilizar os conceitos que foram ensinados sobre folhas de cálculos e em pouco tempo fazer o que ele precisa, mesmo que neste software diferente que ele conheceu á cinco minutos.
Porém, se escolhermos um utilizador que sempre usou software proprietário específico a vida toda e o colocarmos num computador com Software Livre, este utilizador vai entrar em desespero, porque ele não foi ensinado a pensar, mas foi ensinado simplesmente a resolver os seus problemas clicando no rato.
Por este motivo, entendemos que a educação deve ser feita com Software Livre, mostrando para o utilizador que ele pode aplicar o conhecimento adquirido em qualquer sítio.

Toque e organize a sua colecção de músicas com o JuK

CD's estão fora de moda, longa vida à música digital! É verdade que uma colecção de músicas precisa de manutenção e o pacote kdemultimedia do KDE tem uma ferramenta que faz exactamente isso, o JuK audio player. É fácil compreender porque é que ele administra tão bem a sua lista de músicas. O seu autor, Scott Sheeler, originalmente projectou-o para administrar faixas e metadados, e chamou-o de Qtagger. A função de reproduzir músicas foi adicionada depois. O JuK suporta os formatos MP3, Ogg Vorbis e o Free Lossless Audio Codec (FLAC).







Crie a sua lista




Quando você inicia o programa, é apresentada somente uma lista vazia (Playlist) do lado esquerdo. Essa lista chamada de Collection list contém todas as músicas (tracks) conhecidas pelo JuK. Você pode adicionar as suas próprias playlists mais tarde. Se você não precisar deste recurso, pode ocultar esta área simplesmente arrastando o divisor o máximo possível para a esquerda com o rato.


Os comandos de reprodução, fundamentais, estão localizados na barra de ferramentas e podem ser posicionados na lateral ou no rodapé da janela, se desejado. A barra de estado na parte de baixo da janela apresenta informações sobre a playlist ou sobre a pista actual. Clicar no botão com a seta reproduz a faixa actualmente seleccionada na playlist. Se você clicar no indicador que mostra o tempo decorrido, o JuK passa a exibir o tempo restante para o final da música. Clique novamente para voltar ao modo normal de visualização.


A interface lembra bastante o iTunes, da Apple. Clique com o botão direito do rato sobre uma coluna para especificar quais os items que devem (ou não) ser mostrados na playlist.






Gerenciamento



Para adicionar pistas, você pode seleccioná-las individualmente clicando em File / Open ou informar ao JuK para adicionar todo o conteúdo de uma pasta (File / Open Folder), sempre que você abrir o programa. Cada vez que você iniciar o JuK, o programa mostrará uma lista completa com as músicas existentes nesse directório e nos subdirectórios, e também as últimas adições à sua colecção.


Se você possui uma extensa colecção de músicas, o JuK pode demorar alguns segundos para carregar todas as informações, tais como os metadados para todas as faixas, na primeira vez em que você a aceder. Felizmente, isto não impede que você continue utilizando o programa enquanto isso ocorre. Graças a um "cache" inteligente, estas informações são armazenadas e reaproveitadas nas próximas vezes, o que levará menos tempo.


Se o JuK encontrar um ficheiro .m3u (possivelmente criado pelo XMMS), o seu conteúdo será apresentado como uma playlist. O menu "drop-down" traz as principais funções: New permite criar uma playlist nova ou especificar uma lista existente numa determinada pasta. Você pode manipular o conteúdo das listas usando a técnica de arrastar e soltar.


Se quiser activar a visualização compacta, clique com o botão direito do rato e seleccione View Modes / Compact. Ou seleccione Tree view para organizar as suas listas por álbum, artista ou mesmo género. Cada playlist, com excepção da Collection List, pode ser guardada no formato m3u. Clique com o botão direito do rato sobre ela e escolha Save as.






Divirta-se



O painel ao lado direito da janela do Juk esconde alguns truques: Por exemplo o campo Search permite que você refina a selecção de pistas de uma dada playlist. Você pode guardar os resultados da procura como uma playlist dinâmica. Qualquer pista que satisfaça os termos é automaticamente adicionada à lista.


Para seleccionar a próxima faixa a ser reproduzida, sem interromper a que está a ser reproduzida, basta clicar com o botão direito do rato sobre a pista e seleccionar Play next. Se você pressionar a tecla [Shift] e fizer uma selecção múltipla, é possível criar uma lista estática com as pistas seleccionadas.


Se você fechar a janela principal, o ícone do JuK aparece na área de notificação do KDE e uma janela pop-up abre-se para informar qual será a próxima música da lista. Para mostrar novamente a janela principal, basta clicar simplesmente com o botão direito do rato sobre o ícone do programa.

13 julho, 2006

A revolução GNU

Como é que uma impressora defeituosa poderia levar a um dos movimentos mais revolucionários da história, desafiando grandes companhias e até mesmo o American Way of Life?
No final dos anos 70, Richard Stallman era um investigador no MIT (Massachussets Institute of Technology), usando uma impressora que não funcionava como deve ser - aliás, como a maioria delas. Mas, ao invés de fazer como o resto das pessoas fazia, que dão um jeito para a coisa funcionar, Stallman contactou o fabricante e pediu o código-fonte da impressora. O seu objectivo era descobrir o problema no programa e resolver o defeito. Simples? Não. O fabricante recusou-se a desvendar o código, mesmo com a oportunidade nas mãos de que um renomado programador do MIT que se comprometeu a devolver o código corrigido e de graça. Diz a lenda que esse foi o primeiro choque entre Stallman e o código-fonte proprietário, ou melhor, com a burrice que está por detrás dessa filosofia.

Dilema Moral

Estávamos em 1984 e Stallman, segundo as suas próprias palavras, vivia um dilema moral. Entrar para a 'indústria' de software e até ganhar muito dinheiro ou colocar os seus princípios acima de tudo e lutar para a reconstrução de uma comunidade hacker como a que existiu desde os primórdios da computação até ao final dos anos 70.

Agradeçam aos deuses da informática, pois foi isso o que ele fez: pediu a demissão do MIT e começou a escrever um sistema operativo livre que chamou de GNU, baseado na filosofia 'Software Livre'.

Um dos objectivos era reconstruir a comunidade hacker, que nesse momento tinha perdido muita da força que possuía nos anos 60 e 70.

Em Janeiro de 1984, ele começou a desenvolver o compilador GCC. Pouco depois, ele estava criando o seu mais famoso programa (e que o tirou do buraco financeiro), o editor GNU Emacs. Stallman iniciou a forma de distribuição de softwares que hoje é conhecida no movimento Open Source com o Emacs.

Esse programa podia ser encontrado nos sites FTP do MIT, mas como o acesso à Internet, era raro no começo dos anos 80, ele também vendia o programa por US$ 150.00.

Foi com o sucesso do Emacs que Stallman percebeu a necessidade de proteger a liberdade do software. Ele já conhecia a experiência com a 'pirataria' das grandes empresas de software acompanhando o projecto X Windows System desenvolvido nos laboratórios do MIT. Lançado como free software, mas com uma licença permissiva, as indústrias logo adaptaram-no para os seus sistemas Unix eo X Windows tornava-se proprietário por 'contágio'. Para o pessoal do MIT isso não era problema.

Para eles, o sucesso era a adopção generalizada do software que eles tinham desenvolvido, não importando se os utilizadores tinham perdido a liberdade de explorar, modificar ou adaptar o programa.


O conceito de copyleft

Era o oposto do que pensava Stallman. Assim nascia a GPL (Generic Public License), também conhecida como "copyleft" numa brincadeira com o inglês "copyright". Utilizando as leis e o conceito dos direitos autorais, Stallman criou uma licença para preservar o direito dos utilizadores de modificar, redistribuir, estudar e revender os softwares que utilizam a GPL desde que mantivessem os mesmos direitos nas modificações que fizessem.
Isto impede que as empresas 'raptem', os programas gratuitos desenvolvidos por indivíduos ou universidades e ganhem muito dinheiro com programas proprietários. Muita gente disse e ainda diz que isto vai inviabilizar a desenvolvimento da informática, mas não é o que tem acontecido. Dois exemplos de programas que, mesmo protegidos pela GPL foram desenvolvidos por grandes companhias são o GNU C++ e o GNU Objective C.
O primeiro foi desenvolvido pelo consórcio MCC e o segundo pela NeXT, empresa do criador do MAC, Steve Jobs. No início, as duas empresas quiseram lançar os seus produtos como proprietários, mas por causa da GPL isso não foi possível, já que os dois programas baseavam-se no GNU GCC, compilador de C criado por Stallman. Para evitar a GPL seria necessário iniciar o desenvolvimento do software desde o princípio. Seria muito mais caro e não valeria a pena.
O desenvolvimento da GPL criou uma outra licença dirigida para os manuais e a documentação dos softwares. Bem mais simples e bem menos famosa, a FDL, usa os mesmos princípios para toda a documentação relativa aos softwares livres, uma área crítica para todos aqueles que se iniciam neste universo (por causa da falta de documentos e da ainda, baixa qualidade deles).

Nenhum consenso

Todos acompanharam, nos últimos meses, os ataques dos executivos da Microsoft, contra Linus Torvalds e o Linux. Apesar do que aparenta, a maioria desses ataques não é contra a difusão do Linux nem contra Linus. A pedra no sapato da Microsoft é a licença por detrás do Linux, a GPL. Mesmo assim, a empresa de Seattle foi obrigada a fazer uma modificações importantes na licença de alguns dos seus produtor como fruto do crescimento da comunidade Free Software.

Mas quem acha que só os defensores das licenças proprietárias discordam da GPL, engana-se. Muitos programadores discordam das ideias de Stallman e da GPL. Alguns discordam dos dois.

No livro Só Por Prazer; Torvalds critica o fanatismo de Stallman e a sua defesa incansável da GPL, apesar do Linux usar a GPL desde o seu nascimento, no começo dos anos 80.

Outros sistemas operativo e softwares nem chegam a usar a GPL, mas as suas próprias licenças. Entre eles, posso citar BSD's, Netscape, X Windows (como já citei anteriormente), entre os mais famosos. Uma das diferenças básicas com a GPL é que essas outras licenças permitem que o código-fonte seja usado para a criação de software proprietário. São licenças deste tipo que permitem que a Microsoft faça uso de parte do código do FreeBSD. Claro que o facto do código do Windows ser proprietário ajuda a esconder estas coisinhas e a manter o mistério. Enquanto isso, seguem os ataques contra a GPL e o software livre.

Será que você entende o verdadeiro alcance da Internet, do software livre e do código fonte aberto?

Eu precisei de ler um pouco e pensar muito para perceber a dimensão do momento que estamos a viver.
Sem a Internet, o software livre e o código aberto, eu não teria criado este blog.
A Internet, o software livre (free software), open source (código fonte aberto) indicam um caminho diferente não só para a tecnologia mas também para a organização de toda a sociedade e para a difusão de conhecimento.
Primeiro efeito: descentralização do poder. Você já não precisa de ler os grandes jornais, as grandes revistas ou assistir ao Telejornal. Blogs, newsgroups, IRC, sites, listas de discussão e companhia existem por aí para oferecer a informação conforme deseja. Você é o filtro.
Segundo efeito: estimulação do senso crítico. Para filtrar a avalanche de dados que circulam na Internet, você tem necessariamente que escolher as suas fontes. Existem milhares de sites elogiando o Linux, mas não basta ler para acreditar que isso é verdade. É preciso entender, aprofundar-se e sim chegar a uma conclusão pessoal, mas 100% fundamentada.
Terceiro efeito: fim do modelo tradicional para as relações de trabalho e para o seu ordenado. Dia após dia fica cada vez mais facilitado e possível, para qualquer pessoa, trabalhar no horário que deseja, onde quer e nos termos que preferir. Ainda não é uma realidade, mas caminhamos a passos largos para isso. Já a tradicional forma de pagamento pelo trabalho baseada em horas de trabalho, quantidade de produção e ganância de quem emprega, também está a cair em desuso.
Os linuxers/hackers, que criaram um sistema operativo completo e eficiente, disponibilizando-o gratuitamente e ainda libertando o seu código fonte, são uma prova viva disso. Segundo estes guerreiros do terceiro milénio, conhecimento não é um produto de consumo e não pode ser distribuído seguindo lógicas de mercado. A filosofia dos linuxers/hackers e a possibilidade de novas relações de trabalho contribuem ainda para a linha que faz a divisão entre trabalho e descanso. Não há razão para separar uma coisa da outra, se você faz o que deseja nas condições que não o afectam.
Eu sei, o texto ficou muito longo. E não bateu nem na ponta do iceberg. Mas da próxima vez que ler qualquer coisa sobre Internet, direitos autorais, software livre ou mesmo sobre um relatório de CPI, já terá forma de digerir melhor a salada.
Então eu pergunto novamente: você está entendendo o verdadeiro alcance da Internet, do software livre e do código-fonte aberto?