Mostrando postagens com marcador Linux. Mostrar todas as postagens
Mostrando postagens com marcador Linux. Mostrar todas as postagens

sábado, 20 de fevereiro de 2010

Cronômetro em Shell Linux

Este é um script em Shell que simula um cronômetro simples.

O código mostrado aqui é outra tentativa de aprendizado em Shell Linux. Na prática pode não ter utilidade nenhuma, dada sua simplicidade. Mas me ajudou a praticar novos conhecimentos.

Talvez sirva de ajuda pra alguém que também esteja estudando linguagem de terminal.

Código fonte no Pastebin: Clique AQUI

Abaixo o código original. Lembrando que ele pode ser melhor visualizado no Pastebin.

   1.      #!/bin/bash
   2.      #   Cronometro simples feito em Shell.
   3.      #   Script criado apenas para fins de estudo.
   4.      #   Para parar, use um [ctrl] + C.
   5.      #   Autor: Fabio Lima CE
   6.      #   Data: 2009-02-14
   7.       
   8.      #   Inicializacao das variaveis
   9.      SS=0;
  10.      MM=0;
  11.      HH=0;
  12.       
  13.      #   Inicio do 'loop infinito' que atualizara
  14.      # as variaveis a cada segundo.
  15.      #   A condicao 'sleep 1' se encarrega de gerar
  16.      # atrasos de um segundo a cada passagem.
  17.      while (sleep 1)
  18.      do
  19.              #   Testa a quantidade de segundos
  20.              #   Se SS > 59 entao MM++
  21.              if ( test $SS -gt 59)
  22.              then
  23.                      SS=0
  24.                      MM=$(echo "$MM + 1" | bc)
  25.              fi
  26.       
  27.              #   Testa a quantidade de minutos
  28.              #   Se MM > 59 entao HH++
  29.              if (test $MM -gt 59)
  30.              then
  31.                      MM=0
  32.                      HH=$(echo "$HH + 1" | bc)
  33.              fi
  34.       
  35.              #   Testa a quantidade de horas
  36.              #   Se HH > 23 entao Zera todas variaveis
  37.              if (test $HH -gt 23)
  38.              then
  39.                      MM=0
  40.                      HH=0
  41.                      HH=0
  42.              fi
  43.       
  44.              #   Mostra o tempo decorrido depois de atualizado
  45.              #   Opcoes do 'echo':
  46.              #   -n: desabilitar nova linha no final do comando (\n)
  47.              #   -e: habilitar o uso de caracteres de scape (\t, \n, \a \r etc)
  48.              echo -n -e "\rTempo decorrido: $HH h $MM min $SS seg "
  49.       
  50.              #   Acrescenta um segundo
  51.              #   O 'bc' eh uma realiza calculos com inteiros
  52.              SS=$(echo "$SS + 1" | bc)
  53.       
  54.      done

Bateria de Notebooks em Shell Linux

Estou disponibilizando um script para verificação de status de bateria em notebooks.

Esse pequeno programa é escrito para Shell, mais especificamente Bourne Again Shell (Bash). Tive a idéia de fazê-lo para por em prática o que eu tenho estudado sobre a linguagem. A melhor maneira de aprender uma nova linguagem é praticando, não tem outro jeito!

Pra quem gosta de trabalhar em linha de comando esse programinha pode ser muito útil. Pelo menos pra mim está sendo...

Ele pode ser visualizado e baixado no Pastebin AQUI.

O código é este abaixo. Porém ele fica mais legivel no Pastebin.

   1.      #!/bin/bash
   2.      # Bateria: programa de medicao de status da bateria.
   3.      # Autor: Fabio Lima CE
   4.      # Data: 25-12-2009
   5.       
   6.      # Lendo os arquivos de parametros de
   7.      # kernel para obter as informacoes
   8.      # e o status da bateria.
   9.      echo ""
  10.      cat /proc/acpi/battery/BAT1/info  \
  11.      | grep "last full capacity:"      \
  12.      | cut -c26-29                     \
  13.      > /tmp/bat-capacity              
  14.      BATCAP=$(cut -f1 -d" " /tmp/bat-capacity)
  15.      echo "    Ultimo carregamento:       $BATCAP mAh"
  16.       
  17.      cat /proc/acpi/battery/BAT1/state \
  18.      | grep "remaining capacity:"      \
  19.      | cut -c26-29                     \
  20.      > /tmp/bat-remaining
  21.      BATREM=$(cut -f1 -d" " /tmp/bat-remaining)
  22.      echo "    Capacidade atual:          $BATREM mAh"
  23.       
  24.      echo " ($BATREM * 100) / $BATCAP " | bc \
  25.      > /tmp/bat-percent
  26.      BATPER=$(cat /tmp/bat-percent)
  27.       
  28.      echo "    Percentual remanecente:    $BATPER%"
  29.       
  30.      # Simulando uma barra de progresso para
  31.      # mostrar o nivel da bateria.
  32.      # A barra de progresso tera a seguinte aparencia:
  33.      #     Nivel [||||||||||..........]
  34.       
  35.      # Variaveis do tipo string que armazenarao
  36.      # as barras e os pontos da barra de progresso.
  37.      BARRS=
  38.      DOTS=
  39.       
  40.      # Calculando a quantidade de barras
  41.      # e armazenando na variavel BARRS.
  42.      for i in $(seq -s  " " $BATPER)
  43.      do
  44.              if [ $(echo "$i % 4" | bc) -eq 0 ]
  45.              then
  46.                      BARRS=$(echo $BARRS\|)
  47.              fi
  48.      done
  49.       
  50.      # Calculando a quantidade de pontos
  51.      # e armazenando na variavel DOTS.
  52.      for j in $(seq -s " " $(echo "100 - $BATPER" | bc))
  53.      do
  54.              if [ $(echo "$j % 4" | bc) -eq 0 ]
  55.              then
  56.                      DOTS=$(echo $DOTS.)
  57.              fi
  58.      done
  59.       
  60.      # Juntando e mostrando as barras e os pontos.
  61.      # Mostrando a barra de progresso pronta.
  62.      echo ""
  63.      echo "    Nivel: [$BARRS$DOTS]"
  64.      echo ""

sábado, 8 de agosto de 2009

Tema Linux para Nokia

Eu sou um dos milhares de usuários do celular Nokia 2630, que é um aparelho com um bom custo benefício. Ele possui os recursos básicos atualmente, como câmera, rádio, BT, MP3 etc. Além disso ele é um dispositivo bem leve e fino (slim). Dá pra colocar no bolso da calça sem fazer muito volume. A durabilidade da bateria também é muito boa. É um celular indicado para quem necessita de um celular de qualidade e barato. É também um celular ideal para quem anda muito nas ruas inseguras de nossos centros urbanos. Sem falar que é um Nokia. Por todas essas características eu gosto muito dele, apesar não ser um smartphone (passa longe do meu Palm Trëo 700p).

Há dois dias eu estava sem fazer nada e resolvi mudar a aparência do aparelho. Procurei na Internet algum tema visual que pudesse melhorar a interface do Nokia. Achei vários, e alguns até legais. Mas nenhum me agradou. Daí eu decidi olhar dentro dos arquivos que baixei pra tentar entender como se faz temas visuais. Acabei constatando que os temas visuais de extensão .NTH não passavam de arquivos ZIP. Dentro desses arquivos zipados havia um arquivo descritor em XML. Dentro desse descritor havia referências a imagens e outros recursos dentro do arquivo ZIP.

Daí eu tive a idéia de criar um tema personalizado. Como sou adepto ao movimento software livre, e gosto do GNU/Linux, criei um tema dedicado a esse sistema operacional. O trabalho não foi fácil, mas pra mim valeu a pena.

Caso alguém se interesse pelo tema eu deixei aqui o link:

Baixar Tema Linux para Nokia 2630

Podem modificar e distribuir à vontade.

Obrigado por visitar o blog.

sábado, 7 de março de 2009

Como compilar o FFMPEG no Fedora

Nesta curta postagem eu coloquei um pequeno tutorial de compilação otimizada do FFMPEG. Nem sempre os binários baixados de repositórios RPM satisfazem nossas espectativas. Por exemplo, a versão do FFMPEG disponível nos repositórios do Fedora não dão suporte ao formato AMR, que é bastante utilizado em aparelhos celulares. Aqui eu deixei um passo a passo para compilar o FFMPEG com suporte amplo a vários formatos de arquivo. Descrição do Passo a passo:

  • 1. Baixaremos o código fonte do FFMPEG via Subversion (SVN);
  • 2. Instalaremos uma lista de repositórios alternativa. A lista padrão não contém os programas "nonfree" necessários;
  • 3. Instalaremos as dependências que vamos precisar (mp3, avi etc);
  • 4. Configuraremos: iremos preparar o ambiente para a compilação;
  • 5. Compilaremos: iremos construir os arquivos objeto que serão instalado em seguida;
  • 6. Instalaremos: iremos colocar os arquivos compilados nos devidos lugares.
  • 7. Testaremos se a instalação funcionou.

Baixando o código fonte via SVN:

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

Instalando uma lista de repositorios alternativa:

Obs1.: caso já tenha instalado os repositórios rpmfusion pule este passo.

rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm

rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Instalando as dependências (necessita de senha root):

yum install gsm-devel faac-devel faad2-devel lame-devel amrnb-devel amrwb-devel libdc1394-devel x264-devel libtheora-devel ffmpeg2theora xvidcore-devel

Condigurando:

./configure --target-os=linux --prefix=/usr --enable-nonfree --enable-gpl --enable-pthreads --enable-libamr-nb --enable-libamr-wb --enable-libdc1394 --enable-libx264 --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libxvid

Obs2.: caso você possua um processado AMD64 você pode otimizar o FFMPEG para essa arquitetura. Basta incluir a opção --arch=x86_64.

Compilando:

make

Instalando:

make install

Testando:

Visualizar as opções do ffmpeg: ffmpeg -f

Visualizar os formatos suportados: ffmpeg -formats

Converter um arquivo de teste: ffmpeg -i entrada -f avi saida.avi

Obs3.: substitua o "entrada" por qualquer vídeo que você queira converter para testar.

Boa sorte!!

Postagens relacionadas:

sábado, 31 de janeiro de 2009

Instalação de Placa Nvidia GeForce no Linux

Com esta postagem pretendo explicar como se instala placas de vídeo do tipo Nvidia Geforce. Como existe um programa instalador feito pela própria Nvidia não há necessidade de compilação de kernel e outras dores de cabeça.

Até ontem eu estava usando o chipset de vídeo onboard baseado no DeltaChrome (maldito chrome9 da VIA). Na maioria das distribuições seu desempenho mixuruca me deixou frustrado. Em todas aplicações que exigiam um pouquinho mais do chipset o sistema travava ou reiniciava. Só agora decidi comprar logo uma placa de vídeo de verdade.

Tive que fazer uma pesquisa que levava em consideração a melhor relação CUSTOxBENEFÍCIO para o meu caso. Escolhi a XFX Nvidia GeForce 8600 GT 512MB. Pesquisando nos foruns encontrei muitas dicas complicadas de como configurar o Xorg e até mesmo de compilar o kernel. Mas como não estava com paciência para fazer essas firulas, queria achar algo menos complicado. Foi aí que encontrei no site da própria Nvidia a solução. Santa Nvidia!

É louvavel a atitude da Nvidia para com os usuários do Linux. No mundo PC (x86 e derivados) em que quase tudo gira em torno da Microsoft, a maioria dos fabricantes de hardware prioriza drivers para Windows e esqueçe o resto. Parece até de propósito para tentar manter a hegemonia do império de Redmond. Quem já usou chipsets da VIA sabe bem disso. Maldita VIA!

Bem, mas vamos ao que interessa. Siga o procedimentos abaixo:

  • Informe as características de sua placa de vídeo e baixe a versão mais indicada para seu processador (x86, x86_86 etc.);

  • Modifique o nível de execução do Linux. Isso é necessário porque o executável que baixamos exige que o servidor X não esteja rodando. Vamos ter que modificar o nível de execução do Linux para que ele somente trabalhe no terminal (prompt, shell, linha de comando). Para fazer isso entramos com o comando "init 3" (modo multiusuário completo).

Nota 1: Em algumas distribuições, como o Slackware, isso não é necessário porque ele já entra direto no terminal.

Nota 2: No Debian (e Ubuntu?) o nível de execução é 1. Então digite "init 1" e Enter.

  • No Terminal do linux, dê permissão de execução ao arquivo baixado;

  • Execute o arquivo baixado;

  • Será aberto um programa em modo texto que lhe fará algumas perguntas. O roteiro das perguntas está resumido nos passos numerados abaixo:

  • 1. Será perguntado se você aceita a Licença de Uso do driver: diga "Yes";
  • 2. Na tela seguinte será perguntado se você quer baixar um módulo précompilado. Responda "Yes" e ele vai tentar baixar um módulo. Caso não encontre, ele vai perguntar se você quer que o programa compile um. Responda "Yes" para ele compilar. Aí ele vai mostrar uma barra de progresso com o título "Building Kernel Module", compilando módulo de kernel;

    Nota 3: Driver e Módulo são a mesma coisa. Driver é um termo mais usado no Windows, enquanto Módulo, no Linux.

  • 3. A próxima pergunta será se você quer instalar as bibliotecas OpenGL 32bit da Nvidia. Responda "Yes";
  • 4. Aparecerão mais duas barras de progresso indicando que o programa está procurando arquivos conflitantes;
  • 5. Depois daí o software terminará de instalar o Nvidia Accelerated Graphics Drive, módulo acelerador gráfico da Nvidia.
  • 6. Depois de instalado o módulo, será necessário configurar o servidor X. Vai ser perguntado se você quer que o programa configure automaticamente os arquivos de configuração do servidor X. Responda "Yes".
  • 7. O programa irá fazer um backup das configurações originais e vai criar novas configurações para incluir as informações da placa Nvidia.

Quando terminar a instalação e a configuração retorne ao nível de execução normal (nível 5). Lembra que acima modificamos o nível de execução do Linux para 3? Pois bem, digite agora "init 5" no terminal para voltar ao modo gráfico nomal.

Nota 4: Os usuários do Fedora 10 podem precisar de algumas configurações extras. Os desenvolvedores dessa nova versão do Fedora abandonaram o arquivo de configuração tradicional "xorg.conf". As configurações são agora automáticas, por intermédio do Hal (Camada de abstração de Hardware). Mas isso não impedirá de usar o Compiz, por exemplo.

Caso o usuário queira fazer outras configurações, ele pode usar outro programa. O NVIDIA X Server Settings foi instalado junto com o arquivo executável que baixamos. Abra o NVIDIA X Server Settings no menu de principal de sua distribuição e faça as configurações que desejar.

Obrigado por ler até aqui. Boa sorte!

Observação Importante: A instalação do driver NVIDIA no Linux funciona desde que tomadas certas precauções e seguindo o passo a passo. Não posso me responsabilizar por nenhum dano ou prejuíso que possa acontecer no equipamento em decorrência desse método apresentado. Caso você não tenha entendido nada do que está demonstrado aqui, é melhor não fazer nada, do contrário você pode se arrepender das consequências.

sábado, 5 de julho de 2008

Aplicativos Opensource Alternativos

Existe uma quantidade relativamente grande de aplicativos de código aberto que se ajustam às diversas necessidades dos usuários de computador. O bom de tudo isso é eles fazem tudo que seus correspondentes comerciais fazem, só que de graça. Existem versões livres não só para ambientes Linux, onde tudo sobre opensource acontece, mas também para plataformas Windows. Os grupos de desenvolvedores se preocupam em disponibilizar versões de seus programas para muitos sistemas operacionais, arquiteturas computacionais, idiomas e regionalizações. Uma das coisas interessantes do opensource é isso: disponibilidade gratúita para os diferentes ambientes.

Veja abaixo uma lista dos softwares alternativos. Pode-se ver claramente que os programas desktop mais usados no ambiente Windows têm equivalentes gratuitos e de código livre.

Aplicativo ComercialAlternativo Código Aberto
Microsoft OfficeOpen Office
BrOffice
KOffice
Internet ExplorerFirefox
Seamonkey
Opera
Media Player (audio)Amarok
Rhythmbox
XMMS
Media Player (vídeo)Totem
Kaffeine
MPlayer
Xine
Corel DrawGimp
Sound ForgeAudacity
NeroK3B
Gnome Baker
3D MaxBlender
OutlookThunderbird
Evolution
Microsoft MoneyGNU Cash

sábado, 12 de abril de 2008

Mouse Serial no Linux

Algumas pessoas têm dificuldades em configurar um mouse para usar no Linux. Esta pequena dica tentará, resumidamente, mostrar umas maneiras de se conseguir isso. Os métodos que descrevo aqui são baseados em comandos.

Antes de qualquer coisa algumas informações são interessantes:

  • Os mouses seriais geralmente são conectados na porta COM1;
  • No Linux, a porta COM1 é mapeada para o dispositivo /dev/ttyS0;
  • Os protocolos da Microsoft e o da MouseSystems são os mais comuns;
  • O X foi feito pensando em mouses de tres botões da Microsoft;

Existem várias maneiras de se configurar um mouse: utilizar um programa de configuração que veio com a distribuição; editar diretamente o arquivo de configuração do Xorg; Editar os arquivos de inicialização do GPM.

O mais simples deles é usar algum programinha de configuração com alguma interface gráfica. Um bom exemplo é o MOUSECONFIG do Slackware. Com ele o usuário apenas diz qual o tipo de mouse que tem intalado em seu computador e diz em que porta ele está conectado. O programa faz o resto. Tentei este método, mas ele não funcionou para mim.

A segunda maneira é configurar o arquivo xorg.conf ou XF86Config (dependendo da distribuição). Siga os passos:

Edite o arquivo de configuração do X. No Slackware (padrão BSD) o arquivo fica no endereço: /etc/X11/xorg.conf. Não se esqueça de fazer um backup do arquivo original. Localize e edite estas linhas:

Section "InputDevice"

Identifier "NOME_DO_MOUSE" # NOME QUE VC OU O SISTEMA DERAM AO MOUSE

driver "mouse" # DRIVE QUE ACESSA O MOUSE

Option "Protocol" "PROTOCOLO" # DETECTAR O PROTOCOLO AUTOMATICAMENTE

Option "Device" "DISPOSITIVO" # INDICA ONDE O MOUSE ESTA CONECTADO

Protocolo: tente os tres protocolos mais comuns que são: Auto, Microsoft e MouseSystems.

Auto: Faz o sistema reconhecer automaticamente o tipo de mouse usado. Isso pode funcionar, mas é necessário ficar mexendo no mouse enquando inicia o X, para que seja reconhecido.

Microsoft: Funciona com a maioria dos mouses feitos especialmente para o Window$.

MouseSystems: Funciona para os mouses que obedecem a este padrão industral, que funciona baseando-se na existência de 3 botões. A maioria dos mouses baratos de 3 botões funciona ou pode funcionar com esse protocolo.

Dispositivo: É o arquivo que representa um dispositivo real e físico conectado ao sistema. Os mouses mais comuns são conectados ou no conector PS/2 ou no conector COM1 (os mais antigos) ou, ainda, no conector COM2 (mais difícil de se ver). Como esta dica refere-se a mouses seriais, o dispositivo considerado aqui deverá estar instalado na porta COM1.

PS/2: Um padrão de conecão de dispositivos de entrada de dados usado principalmente como entradas de teclado e mouse.

COM1: Geralmente esta porta é montada no dispositivo virtual /dev/ttyS0.

COM2: Geralmente esta porta é montada no dispositivo virtual /dev/ttyS1.

Obs: Aqui usei o termo "geralmente" porque é possível que o usuário/técnico modifique a configuração das portas em placas de Form Factor AT, simplesmente trocando a posição dos cabos referentes a cada porta na placa-mãe.

Um exemplo de configuração do xorg.conf que funciona em boa parte dos cados é o seguinte:

Option "Protocol" "Microsoft"

Option "Device" "/dev/ttyS0"

Esta pequena modificação funcionou uma vez para mim.

O terceiro jeito de se fazer o mouse funcionar é utilizando o serviço chamado GPM. O GPM é um serviço do linux que faz o mouse funcionar em programas executados em terminal/console. O que devemos fazer é enganar o X para que ele leia o arquivo gerado pelo GPM, pensando que está lendo o mouse. Siga os passos adiante:

Edite aquelas linhas do PROTOCOLO e do DISPOSITIVO para que fiquem deste jeito:

Option "Protocol" "MouseSystems" # OBRIGATORIAMENTE MOUSESYSTEMS

Option "Device" "/dev/gpmdata" # DISPOSITIVO FICTÍCIO GERADO PELO GPM

MouseSystems: O GPM gera um arquivo fictício chamado gpmdata que recebe repete todas as informações lidas do mouse. No entanto, esse arquivo é convertido para protocolo da MouseSystems por ser uma espécie de padrão industria largamente aceito.

GpmData: o dispositivo fictício criado pelo GPM para repassar o que foi lido do mouse.

Depois de ter configurado o xorg.conf para usar o protocolo da MouseSystems e o disposirivo fictício /dev/gpmdata, agora vamos executar os comando que irão iniciar o serviço do GPM.

Primeiramente pare o serviço, caso o GPM já esteja rodando.

gpm -k

Depois execute novamente o GPM com os parâmetros dados abaixo:

gpm -R msc -m /dev/ttyS0 -t pnp

Esse comando vai fazer o seguinte:

gpm -> chamado ao serviço GPM

-R msc -> Copia (Repete) as informações recebidas do mouse no formato do protocolo MouseSystems. Esse parâmetro cria o arquivo /dev/gpmdata.

-m /dev/ttyS0 -> Indica onde o mouse está conectado. Neste caso na porta serial COM1.

-t pnp -> Indica o tipo de mouse que está conectado. Os mais fáceis de funcionar são os ms (Microsoft), msc (MouseSystems) e pnp (Plug-and-Play). Aqui usei o plug-and-play porque funcionou comigo.

Se isso der certo com você, inclua este comando acima num arquivo chamado rc.gpm, cujo caminho completo será /etc/rd.d/rc.gpm (em distribuições baseadas em BSD). Dê as permissões de execucão (comando chmod +x /etc/rc.d/rc.gpm. Esse arquivo será executado toda vez que o sistema for inicializado, para você não ter que digitar o comando toda vida.

Depois de executar um desses três procedimentos descritos acima é só chamar o X. Em algumas distribuições isso é feito com o comando startx. Para "matar" o X, aperte as teclas [CTRL]+[ALT]+[BACKSPACE]. Se não der certo com uma configuração, basta matar o X, fazer as edições necessárias e iniciar o X novamente até que o mouse seja reconhecido.

Esta postagem foi feita com a intenção de ajudar pessoas que instalam o linux e que não conseguem fazer o mouse funcionar. Ela não é uma solução definitiva, visto a grande diversidade de distribuições, tipos de mouse. Mas fica aí minha contribuição.

Obrigado por ler até aqui. Boa sorte.

sábado, 8 de março de 2008

Placa de TV Kworld no Linux

Postagem atualizada em 16/01/2010. Leia comentários.

Há alguns meses comprei uma placa de TV para assistir e gravar programas de televisão em meu computador. A placa que comprei é a "Kworld PlusTV analog lite PCI". O preço dela foi relativamente barato.

Depois de instalá-la fisicamente, fiz a instalação dos drivers no Windows XP, para testá-la. Fiquei um pouco decepcionado com algumas coisas: a taxa de quadros ficou muito baixa, o vídeo é processado com atrazo de alguns décimos de segundo. Quando testei com uma TV de verdade ao lado percebi claramente o atraso, tanto de vídeo como de áudio. Além do mais, o programinha Hipermidia é muito ruim, e pesado também. Apesar disso tive que me conformar, pois era isso que se esperava de uma placa barata.

Só que atualmente utilizo mais o Linux que o Windows. Como nenhumas das distribuições que uso conseguiu configurar, nem mesmo detectar a placa, tive que sair procurando pela Internet. Depois de tentar várias sugestões espalhadas e de ler outros tantos tutoriais, consegui encontrar uma solução simples. Isso deu muito trabalho. Por isso, estou disponibilizando aqui no meu blog a solução que encontrei.

Tudo que é necessário fazer é incluir estas linhas abaixo num arquivo chamado /etc/modprobe.d/televisao. Só isso (além de ter já ter um visualizador de TV instalado, como o XawTV). A maioria das distribuições atuais vêm com os drivers necessários para trabalhar com essa placa da KWorld. Depois de acrescentar essas linhas e reiniciar o sistema, a placa deverá ser reconhecida e funcionará corretamente.

  • alias char-major-81 videodev
  • alias char-major-81-0 saa7134
  • options saa7134 card=153 tuner=56

Em que:

  • SAA7134 é o driver que deverá ser carregado para que a placa funcione;
  • Card=153 diz qual é o modelo da placa;
  • Tuner=56 diz qual é o modelo do sintonizador.

Quando finalmente consegui assistir TV no linux fiquei contente, não apenas por ter resolvido o problema que me custou alguns neurônios, mas porque a qualidade de imagem ficou melhor que no Windows! Isso que estou dizendo não é coisa de quem gosta de criticar o Windows. Realmente ficou melhor. O atraso incômodo de alguns décimos de segundo não aconteceram mais! O som e o vídeo estão saindo no tempo certo. Isso parece bastante interessante: A empresa que montou a placa de TV constroi seus drives pensando no Windows (tem até certificação pro Vishhta), mesmo assim, ela funciona melhor no Linux...

Observação: Não esqueça de conectar um cabo de audio (RCA) saindo do da placa de TV para a entrada Line-in da placa de som do sistema. A placa de TV tem seu próprio processador de som, o qual deve ser conectado à entrada da placa-mãe/placa-de-som.

Observação 2: Esta dica também serve para a placa Kworld/Tevion V-Stream Xpert TV.

Caso isso não ajude encontrei um tutorial completo sobre placas de captura baseadas no chip SAA7134. Visitem o blog do Tadeu Ramos para ver o tutorial: http://tadeuramos.com.br/?p=104. Ou clique AQUI.

Caso esta dica seja útil, ou você tem alguma coisa a dizer, sinta-se a vontada para comentar.

quinta-feira, 28 de fevereiro de 2008

Software Livre em 73% das Grandes Empresas Brasileiras

Uma pesquisa feita pelo Instituto Sem Fronteiras mostra que a maioria das empresas de grande porte já utilzam software livre. A pesquisa foi feita com 1000 empresas de diferentes portes e de diferentes regiões do Brasil. Ela contou com apoio da IBM, Itautec, Intel e Red Hat.

Uma das coisas que mais chamam atenção nos resultados é que, ao contrário do que o senso comum sugeria, as empresas pequenas e de médio porte não são as que mais utilizam o SF. Nas empresas com menos de 100 funcionários a adoção fica apenas em 31%, o que não deixa de ser um percentual significante. Algumas razões para isso foram apontadas: as empresas grandes são mais "fiscalizadas" em relação à pirataria por terem condições de pagar pelos software proprietários. Elas ainda conseguem definir políticas de uso de software, e também implementar e gerir essas políticas de forma eficiente. Devido a esses motivos, as micro e pequenas empresas são mais inclinadas ao uso ilegal de produtos pagos.

Em relação ao mercado de servidores, cerca de 56% das empresas brasileiras adotam software livre. Outras 48%, em aplicações de missão crítica. Algumas aproveitam o recurso da virtualização para aumentar a capacidade dos servidores de responder às requisições de clientes. Essa adesão massiva pode ser explicada pelo seguinte: Os sistemas operacionais livres respondem melhor a demandas que envolvem grande volume de transações, processamento e armazenamento. Contextos em que são essenciais segurança, interoperatividade e disponibilidade.

quarta-feira, 9 de janeiro de 2008

Linux e IBM

A IBM é uma das grandes corporações que apoiam o desenvolvimento opensource por meio do projeto Linux. Neste blog eu coloquei um pequeno vídeo que comprova isso. A IBM investe em marketing, associando o desenvolvimento de soluções livres à marca da empresa. Esta propaganda foi muito bem elaborada, embora de produção simples. Ela trata do Linux usando uma metáfora: o desenvolvimento de um ser humano a partir de sua esperiência, ficando mais seguro e inteligente, tal como na teoria de Piaget.

Este vídeo já foi visto pelo menos 23 mil vezes no Youtube.

Propaganda do Linux - IBM

domingo, 30 de dezembro de 2007

Recuperação do Grub Após Instalação do Windows

Quando instalamos o Windows XP, o S.O. instala na MBR seu próprio gerenciador de boot. Para quem utiliza na mesma máquina alguma versão do Linux juntamente com o Windows isso não é bom. O gerenciador de boot que comumente é ou LILO ou GRUB é sobrescrito na MBR. Com ele se vai possibilidade de escolher entre diferentes sistemas operacionais.

Eu tive este tipo de problema quado instalei o Windows depois do Linux. Daí pesquisei e compilei um conjunto de passos para resolver este problema para meu caso particular. Utilizo alguns sistemas operacionais instalados em minha máquina: Windows XP, Vishta, Debian, OpenSuse e Fedora. E gosto do gerenciador de arranque GRUB. A compilação resultou de um passo-a-passo que demostrarei a seguir. Tenha em mente que este método serve para resolver um caso particular (Windows,Linux,Grub), no entanto pode servir para outros casos.

Requisitos:

Já ter um arquivo grub.conf o qual foi configurado antes da reinstalação do windows. Ter em mãos o CD/DVD de instalação do Linux que tenha o Grub. O mesmo vai ser utilizado como disco de boot.

Este método utiliza o próprio CD/DVD de instalação do Linux. Abaixo segue o passo-a-passo para se conseguir voltar a ter o gerenciador de boot do GRUB.

1. Ligar o computador com o DVD de instalação do Linux no drive de CD/DVD;

2. Quando aparecer a tela principal de instalação, escolher algo parecido com "rescue mode" e [ENTER]. Procure entrar em uma opção de console de recuperação, tipo terminal.

3. Se for pedido, escolher o idioma Portuguese(brazilian) e teclado br-abnt2. Escolher, também, não inicializar rede.

4. Chamar o programa do GRUB:

#> grub

5. Encontrar onde (em que partição) se encontra a instalação do grub a recuperar:

grub> find /boot/grub/stage1

6. Determinar para o GRUB onde o diretório root do linux se encontra:

grub> root (hd0,0)

7. Instalar as informações do arquivo grub.conf na MBR:

grub> setup (hd0)

8. Se não quiser instalar na MBR isso pode ser feito em uma partição:

grub> setup(hd0,X)

Este processo funcionou para recuperar a instalação do Fedora 7, a qual ficou inacessível depois que reinstalei o Window$ Vishta. Depois disso pude ter de volta o gerenciador de boot do GRUB para poder escolher qual S.O. carregar na hora do boot.

Obs.: Esta postagem foi adaptada de outra postagem publicada no meu outro blog em fevereiro de 2007. Aquela falave da recuperação do Grub em uma máquina com o Windows XP e o Fedora Core 5. Eu apenas simplifiquei ela, tirando passos que depois percebi ser desnecessários.

Torvalds Fala sobre Futuro do Linux

Em entrevista feita por James Buchanan, Linus Benedictus Torvalds fala sobre o que pensa acerca do sistema operacional criado e mantido por ele. Na conversa o entrevistado também responde a perguntas referentes a Kernel, Open Source, Distribuições, Fabricantes de Hardware e Hobbies.

Linus sempre gostou de trabalhar em baixo nível de programação. Construir um Cerne de sistema operacional seria o limite disso, pois assim o programador entra em contato direto com a CPU e vê como os programas realmente interagem com o sistema físico e seus componentes. Quando começou com o Linux, ele já trabalhava numa empresa de hardware havia pelo menos sete anos. Só que ele não sabia o quão difícil seria construir um cerne.

Para ele a Fundação Linux é uma conbinação dos Laboratórios de Desenvolvimento Open Source e do Grupo para Padronizações Livres. É, ainda, um local onde diferentes organizações discutem suas questões, ajudando o Linux de tabela. É também quem paga ao Linus pela manutenção do kernel.

Ele trabalha o tempo todo no cerne, mas não em uma parte específica deste. No entanto, acaba passando a maior parte do tempo juntando códigos, e não escrevendo o kernel propriamente. Os códigos que escreveu nos últimos 2 anos foram para criar uma ferramenta para auxiliá-lo na tarefa de desenvolvimento do cerne, o GIT (ele fala sobre essa ferramenta numa palestra da Google). Anda escreve códigos, mas o que faz mais é dizer "sim" ou "não" sobre as alterações implementadas por outros programadores.

O kernels custumam passar por um tempo de maturação, em que são aperfeiçoados pelos usuários. O de versão 2.6 está na ativa tem um bom tempo, mesmo assim Linus descarta a necessidade de criar versões atrás de versões, chegando assim numa provável 3.0. O processo de desenvolvimento a partir da versão 2.6 foi melhorado de maneira que a base do kernel se encontra bem estruturado, e não necessita de coisas do tipo "mudar tudo". Com isso, ao invés de existirem ciclos de 3 anos de maturação de uma versão, bastam apenas 3 meses para tal. Há uma maior participação dos vendors de kernel. E disso se beneficiam tanto os cernes em desenvolvimento quanto os vendors. Todo mundo sai mais satisfeito. Este modelo de evolução continua, apesar das tentações de se construir algo que pareça realmente "radical". Isso significa a base de código do 2.6 segirá sendo melhorada. O Linux não precisa de um departamento de marketing que crie nomes atraentes para suas versões de cerne, como Fedora ou Feisty. Isso deve ficar com as distribuições.

Não esperamos ter a necessidade de chegar em uma versão 3.0. Estamos introduzindo grandes características sem provocar impactos na base do código, e sem prejudicar as velhas e boas funcionalidades. Deste modo, o kernel evolui da melhor forma possível, sem o intermédio de um departamento de marketing querendo iludir o usuário final.

Linus acha interessante que outras ramificações de seu sistema operacional, tidas como experimentais, surjam por outros lugares. Ele até as encoraja, visto que essas iniciativas fortalecem o desenvolvimento de opções open source, fortalecem inclusive ao próprio Linux, na medida em que parte dos códigos "experimentais" são absorvidos por este. Isso inclusive mostra que o projeto Linux está indo na direção certa. E que vença o melhor.

O advento do GNU/Linux afetou o mundo dos S.Os bastante. Em maior medida o Linux foi o instrumental para a efetivação do Open Source. Depois de seu surgimento os projetos Open Source passaram a ser vistos de outra maneira. Linux trouxe uma abordagem pragmática daquilo que se chamava de "softrare livre". E transformou esse conceito, que era apenas uma ideologia, em algo tecnicamente superior. Linus não gosta de ideologias, cada um deve pensar por si. Apenas quer que o Open Source gere melhores processos de implementação de tecnologias complexas. Ele considera que o tratamento pragmático é o que faz o Linux e o Open Source mais agradável a cada vez mais pessoas, e ajuda a mantê-los na frente.

Programadores independentes podem contribuir de maneira considerável se trabalharem em aspectos específicos do kernel. Começar um do zero não é recomendado. Qualquer participação é importantíssima, já que é isso que dá ao Linux um caráter colaborativo. Fazer algo sozinho fará o programador desistir antes de chagar a algum lugar.

Existe uma tendência dos fabricantes de hardware apoiarem o projeto ao liberarem as especificações de seus produtos. Apesar haver uma certa resistência por parte de alguns casos particulares. Espera-se da comunidade evitar tais fabricantes.

Alguns efeitos "sociais" estão surgindo, entre eles a doação de computadores usados em países do terceiro mundo e a distribuição gratúita de pacotes de software completos. Isso surpreende as espectativas de Torvalds que tinha por objetivo principal proporcionar o desenvolvimento tecnológico. O que mais lhe orgulha.

Torvalds se orgulha em alguns aspectos, tais como: melhores algorítmos de gereniciamento de memória e melhor fluxo de controle de processos complexos como o kernel. Alguns podem discordar com esse ponto de vista, mas é o debate que faz as coisas interessantes.

A entrevista original e completa com Linus Torvalds pode ser acessada NESTE LINK. Leia se estiver interessado em coisas mais pessoais como: o que ele faz no tempo livre, como ele escolheu o pinguim como mascote e que distribuição que ele gosta de mais usar.

Fonte: APC Magazine

sexta-feira, 14 de dezembro de 2007

Lançamento do Linux

Linus Benedict Torvalds
Newsgroups: comp.os.minix
Date: 5 Oct 91
Subject: Free minix-like kernel sources for 386-AT

Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all- nighters to get a nifty program working? Then this post might be just for you :-)

As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it.

Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100) in the directory /pub/OS/Linux. The directory also contains some README-file and a couple of binaries to work under linux (bash, update and gcc, what more can you ask for :-). Full kernel source is provided, as no minix code has been used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile "as-is" and has been known to work. Heh. Sources to the binaries (bash and gcc) can be found at the same place in /pub/gnu.

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix. I'm working on it. You also need to be something of a hacker to set it up (?), so for those hoping for an alternative to minix-386, please ignore me. It is currently meant for hackers interested in operating systems and 386's with access to minix.

The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If you are still interested, please ftp the README/RELNOTES, and/or mail me for additional info.

I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows), and I've already got minix. This is a program for hackers by a hacker. I've enjouyed doing it, and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I'm looking forward to any comments you might have.

I'm also interested in hearing from anybody who has written any of the utilities/library functions for minix. If your efforts are freely distributable (under copyright or even public domain), I'd like to hear from you, so I can add them to the system. I'm using Earl Chews estdio right now (thanks for a nice and working system Earl), and similar works will be very wellcome. Your (C)'s will of course be left intact. Drop me a line if you are willing to let me use your code.

Linus Benedict Torvalds

Linus Benedict Torvalds
Grupo de discussão: comp.os.minix
Date: 5 Out 91
Assunto: Fontes de kernel clone Minix para 386-AT

Você sente saudades dos bons tempos do minix-1,1, quando os homens eram homens e escreviam seus próprios módulos de dispositivos? Você está sem um projeto legal e simplesmente morrendo de vontade de começar em um S.O. que você pode tentar modificar de acordo com suas necessidades? Você está achando frustante quando tudo funciona no minix? Não vira mais a noite para fazer um programa bomzinho funcionar? Então este post foi feito para você :-)

Como eu mensionei já faz um mês(?), eu estou trabalhando em uma versão livre de um clone do minix para computadores AT-386. Ele finalmente atingiu um estágio no qual pode até ser usado (embora não dependa do que você quer), e eu estou querendo publicar os códigos fonte para uma distribuição mais extensa. Está apenas na versão 0,02 (+1 (muito pequeno) já com patch), mas eu já consegui rodar nele bash/gcc/gnu-make/gnu-sed/compress etc.

Os códigos fonte deste meu projeto mascote podem ser encontrados em nic.funet.fi (128.214.6.100) dentro do diretório /pub/OS/Linux. O diretório também contém alguns arquivos LEIAME e alguns binarios para funcionar sob o linux (bash, update e gcc, você quer mais o quê? :-). O kernel completo está disponibilizado, de tal forma que nenhum código do minix foi usado. As fontes da bibioteca são parcialmente livres, então ela não pode ser distribuida por por enquanto. O sistema é capaz de compilar sem garantia e sabe-se que funciona. Heh. Os fontes dos binários (bash e gcc) podem ser encontrados no mesmo lugar em /pub/gnu.

ALERTA! ATENÇÃO! NOTA! Estes códigos fonte ainda precisam do minix-386 para ser compilados (e gcc-1.40, possivelmente 1.37.1, ainda não foi testado), e você precisa do minix para configurar se você quer rodar o código. Portanto isso ainda não é um sistema independente para vocês sem o minix. Eu estou trabalhando nisso. Você também precisa ser um tanto hacker para ajeitar isso. Então para os que esperam um minix-386 alternativo, por favor me ignorem. Isto é atualmente destinado para hackers interessados em sistemas operacionais e computadores x386 com acesso ao minix.

O sistema precisa de um disco rígido (IDE está bom) e um EGA/VGA compatíveis com o padrão AT. Se vocês ainda estão interessados, por favor baixem o LEIAME/RELNOTES, e/ou mandem um email pra mim para informações adicionais.

Eu posso (quer dizer, quase) escutar vocês se perguntando”por quê?”. Hurd será lançado daqui um ano (ou dois, ou próximo mês, Deus sabe), e eu já tenho o minix. Isso é um programa feito de hackers para hackers. Eu curti muito fazendo ele, e alguém mais deverá curtir ver ele e até ajustá-lo para suas próprias necessidades. Ainda é pequeno suficiente para compreender, use e modifique, e eu estou aguardando com interesse por quaisquer comentários você puder fazer.

Eu também estou interessado em escutar de alguém que escreveu alguma função utilitaria ou de biblioteca para o linux. Se seus esforços são distribuíveis livremente (sob direitos reservados ou sob domínio público), eu gostaria de escutar de vocês, assim poderei adicioná-los ao sistema. Estou usando Earl Chews Estudio no momento (obrigado pelo belo e funcional sistema Earl), e trabalhos similares serão muito bem-vindos. Seus direitos autorais serão logicamente deixados intactos. Mandem-me uma linha de texto se vocês querem me deixar usar seu código.

Linus Benedict Torvalds

quarta-feira, 7 de novembro de 2007

Instalando o JDK no Linux

Este artigo pretende ajudar quem tem dificuldades de instalar o Kit de Desenvolvimento Java no Linux. Vamos sem rodeios aos passos:

Baixe a mais nova versão do JDK no site da Sun. Escolha a versão que mais se adequa ao seu sistema. Basicamente tem duas: i586 e AMD64. Neste artigo escolhi a JDK 6 para PCs i586. Usaremos o pacote JDK 6 Update 3: jdk-6u3-linux-i586.bin

Link de download AQUI.

Extraia os arquivos dentro do pacote bin.

./jdk-6u3-linux-i586.bin

Como resultado da extração desse pacote, surgirá no mesmo diretório uma pasta de nome "jdk1.6.0_03".

Copie a pasta "jdk1.6.0_03" criada para dentro do caminho "/usr/lib". Na linha de comando fica assim:

cp -r jdk1.6.0_03 /usr/lib/jdk1.6.0_03

Depois disso a pasta do JDK estará no seu lugar correto. Só que ela continua invisível para o sistema. Para que possamos utilizar a instalação nova, precisamos criar ligações (links) dentro da pasta "/usr/bin" do sistema linux. Sem essas ligações o sistema não reconheceria os comandos java.

Criando ligações simbólicas:

ln -s /usr/lib/jdk1.6.0_03/bin/java /usr/bin/java

Este comando cria uma ligação para o executável java para dentro da pasta de executáveis do sistema "/usr/bin". Caso já exista uma ligação nesta pasta, delete-a com o comando rm /usr/bin/java e repita o comando acima.

Se a istalação tiver tido exito, o sistema irá reconhecer o java. Para testar digite o comando abaixo para ver qual é a versão atual java instalada. Se for 1.6.0-03 então Funcionou!

java -version

É preferível que sejam criados links para outros executáveis java como o seu compilador (javac). O comando apropriado é esse abaixo:

ln -s /usr/lib/jdk1.6.0_03/bin/javac /usr/bin/javac

Alguns passos mostrados nesta postagem são bem genéricos. Os programas em linux geralmente têm seus diretórios instalados dentro da pasta "/usr/lib". Depois dessa "instalação" basta fazer um link para o executável principal e colocar esse link dentro de "/usr/bin". Este post descreve especificamente a instalação do Java, mas alguns passos aqui também podem ser usados para outros programas como o Mozilla Firefox, por exemplo. Depois de todos esses passos se o usuário quiser fazer um serviço mais completo pode incluir o programa no seu menu iniciar, usando o gerenciador de menus que veio com sua distribuição.

sábado, 3 de novembro de 2007

Permissões de Acesso em Linux

Nesta postagem será mostrado como funciona o sistema de permissões em Linux. O esquema de segurança de acesso vem de seus ancestrais Unix, sendo uma forma de evitar que usuários ou grupos tenham acesso indevido a arquivos, diretórios ou aplicativos.

Os tipos de arquivo mais conhecidos são os do tipo diretório e arquivo propriamente dito. Existem outros tipos de arquivo como archive, bloco, soquet etc. Mas nós falaremos apenas dos dois anteriores.

Os diretórios são representados por um 'd', enquanto os arquivos comuns são representados por um traço '-'.

Existem em Linux três níveis de acesso: leitura, gravação e execução. Eles são representados respectivamente pelas letras 'r' (Read), 'w' (Write) e 'x' (eXecute). Essas três letras podem formar até oito combinações diferentes. Cada combinação define o "poder de acesso" que um usuário ou grupo tem sobre um arquivo ou diretório.

Esses níveis de acesso são dados a três tipos de entidade: usuário, grupo, outros. Quando um administrador de sistema vai explicitar as permissões de um arquivo ele deve fornecer o nível de acesso para todas três entidades. Cada entidade vai receber uma combinação de r, w e x.

O comando que é usado para verificação das restrições e permissões dos arquivos de um diretório é: ls -l.

Já o comando que se usa para determinar restrições e permissões de acesso é o chmod, que significa change mode. Esse comando necessita de pelo menos dois argumentos: uma string que descreve o nível de acesso desejado e o nome do arquivo do qual se quer mudar as permissões.

Vejamos um exemplo de listagem de permissões. Foi dado um comando ls -l e o resultado foi o que está abaixo:

Permissões Itens Dono Grupo Tamanho Data Nome
-rwxr--r-- 1 josé cozinha 654 Sep7 12:00 receita_de_bolo.txt
-rw-rw-rw- 1 josé cozinha 245 Sep8 11:45 receita_de_macarronada.txt
drw-rw---- 5 josé cozinha 4895 Sep15 14:25 receitas_reunidas

Na primeira linha temos o seguinte para o arquivo "receita_de_bolo.txt":

  • -rwxr--r--: string que descreve o nível de acesso desejado para cada entidade usuária.
  • '-': O arquivo é do tipo arquivo comum;
  • 'rwx': O usuário dono tem acesso total ao arquivo de receita_de_bolo.txt para ler, escrever e executar(se possível);
  • 'r--': O grupo do dono tem acesso para apenas ler a receita de bolo;
  • 'r--': Os outros usuários têm acesso para apenas ler também.

Iremos nos deter um pouco na string de acesso. É importante saber o que cada caractere diz. O esquema da string é explicado abaixo:

Primeiro caractere (caractere 0):

  • Se for diretório, usa-se 'd';
  • Se for arquivo comum, usa-se '-'.
  • No caso acima trata-se de um arquivo comum, por isso foi usado um traço;

Primeiro grupo de tês caracteres (caracteres de 1 a 3):

  • Define as permissões do usuário dono do arquivo.
  • No caso acima: rwx (leitura, gravação e execução)

Segundo grupo de três caracteres (caracteres de 4 a 6):

  • Define as permissões do grupo de usuários que o dono faz parte.
  • No caso: r-- (somente leitura). As outras posições são preenchidas com traços.

Terceiro grupo de três caracteres (caracteres de 7 a 9):

  • Define as permissões para os todos os outros usuários.
  • No caso: r-- (também somente leitura). Preenchimento com traços para os espaços vasios.

Outros exemplos:

-rw-rw-rw- receita_de_macarronada.txt
  • -: O arquivo é um arquivo comum.
  • rw-: O usuário dono poderá ler e escrever, mas não poderá executar (pra quê?).
  • rw-: O grupo do dono também podera ler e escrever.
  • rw-: Qualquer outro usuário também poderá ler e escrever.

drw-rw---- receitas_reunidas

  • d: O arquivo é um diretório;
  • rw-: O usuário dono poderá ler e escrever, mas não poderá executar (pra quê?).
  • rw-: O grupo do dono também podera ler e escrever.
  • ---: Os outros usuários não poderão nem ao menos ler.

É possível atribuir acesso de duas maneiras. A mais simples na minha opinião é a que usa o conceito de adicionar e subtrair. Se você quer dar poder de escrita para um grupo de usuários por ,exemplo, o comando é este: chmode g+w receitas_reunidas. Se pelo contrário, você quiser tirar o acesso de gravação, basta dar um chmode g-w receitas_reunidas, com sinal de menos no meio de g e w. É importante agora decorar mais umas letrinhas:

  • u: usuário;
  • g: grupo;
  • o: outros;
  • a: todos;

Exemplos de configuração de permissão:

  • chmod u+x => dá ao usuário acesso a execução;
  • chmod u-w => tira do usuário o acesso a escrita;
  • chmod u-rwx => tira todo o acesso do usuário;
  • chmod g+rwx => dá acesso total ao grupo;
  • chmod ug+rwx => dá acesso total ao usuario e seu grupo;
  • chmod go-wx => tira acesso de escrita e execução do grupo e de outros usuários;
  • chmod a+rwx => libera acesso total para todo mundo.

Outra maneira de configurar acesso é utilizando números para simbolizar o nível de acesso de cada entidade usuária. Os níveis vão de 0 (proibição total) a 7 (permissão total). A tabela abaixo descreve cada nível numérico de acesso.

0 [ --- ] proibição total
1 [ --x ] apenas execução
2 [ -w- ] apenas Escrita
3 [ -wx ] escrita e execução
4 [ r-- ] apenas leitura
5 [ r-x ] leitura e execução
6 [ rw- ] leitura e escrita
7 [ rwx ] permissão total

O mesmo chmod é utilizado, com a diferença que não se precisa expecificar a entidade usuária. Como parâmetro é passado uma string de três números de 0 a 7. O primeiro número se refere ao usuário; o segundo, ao grupo; o terceiro aos outros usuários. Exemplos:

  • chmod 777 receitas_reunidas => dá acesso tota a todos os usuários;
  • chmod 700 receitas_reunidas => proíbe totalmente o acesso de outros que não sejam o dono;
  • chmod 660 receitas_reunidas => dá acesso de leitura e escrita para o dono e seu grupo;

Concluímos que não é difícil realizar operações que envolvam restrições de acessos de usuários. Tudo que é exigido do administrador é saber para que serve o chmod e lembrar de algumas letrinhas usadas como argumento para o mesmo.

quinta-feira, 1 de novembro de 2007

Flash Player no Linux AMD64

Muitos usuários de linux e amd64 se queixam de não existir uma versão do flash player para a arquiterura Linux x86-64. A Adobe disponibiliza em seu site apenas três versões do flash para usuários Linux, e todas para x86. Não se sabe as rasões da Adobe não compilar uma versão para processadores 64 bits. Será por motivos mercadológicos para favorecer a Intel, que não teve tanto sucesso com seus processadores 64 bits quanto os da AMD?

Mas indo ao que interessa. É possível, sim, instalar o flash em um computador que roda Linux e usa processador AMD64. E não é difícil. Como sabemos, a linha de processadores 64 da AMD mantém instruções do tipo 32 bits e pode muito bem funcionar em modo 32, como se fosse um x86. Dessa forma o que vai influenciar mais talvez não seja nem o processador, mas sim o sistema operacional. Eu fiz aqui um simples teste que funcionou. E vou repassar o que fiz aqui em meu PC.

A distribuição que estou testando atualmente é o OpenSuSE. O navegador sempre uso é o Firefox. Não gosto do Konqueror. Em relação a hardware, resumidamente grosseiramente, meu PC tem um processador Athlon 64 e 1 GB de memória.

Para instalar o Flash fiz o seguinte:

Baixei o plugin do site da Adobe, AQUI;

Link do site da Adobe: http://www.adobe.com/br/

Descompactei o arquivo baixado usando estas dicas, AQUI;

Comando para descompactar:
tar -vzxf install_flash_player_9_linux.tar.gz

Editei o arquivo "flashplayer-installer";

Na verdade, o que impede o flash de ser instalado é só uma linha de comando shell dentro do arquivo "flashplayer-installer". Esse comando, que é uma estrutura de controle CASE aninhada num SWITCH, faz uma checagem do tipo de arquitetura de processador existente no PC. Se a plataforma não for do tipo x86, ele vai chiar e não vai deixar instalar o flash. Para burlar isso, basta mudar uma linha do arquivo como mostrado embaixo:

# check architecture
TEMPARCH=`uname -m`
case $TEMPARCH in
#i[3456]86) Linha Original. Basta comentar esta linha usando um '#'.
x86_64) # Linha Mudada. Basta adicionar esta linha.
ARCH=i386
;;
*)
exit_cpu $TEMPARCH
;;
esac

E digitei os comandos necessários para instalação;

Como o arquivo script de instalação foi alterado, o flash será instalado sem problemas no computador! Depois a sequencia de passos que usei para instalar foi essa:

  1. Executei o script de instalação em shell: ./flashplayer-installer
  2. Indiquei o caminho da pasta do Firefox:/usr/lib/firefox
  3. Confirmei que queria instalar: y
  4. Respondi que não queria fazer outra instalação: n

Resumindo, basta editar o arquivo de instalação. Ele é a única coisa que impede a instalação do Flash Player em computadores Linux AMD64. Depois que fiz essas coisas o flash funcionou direitinho no Firefox.

terça-feira, 30 de outubro de 2007

Codecs de Audio e Vídeo no Linux

A biblioteca do Xine dos maiores mecanismos multimidia do mundo open source. O Xine é um tocador de mídia cujos direitos são regidos pela GNU GPL. De posse dessa biblioteca instalada o utilizador poderá reproduzir CD, DVD e VCD. Além de arquivos de audio e vídeo armazenados no computador pessoal, como MP3, Wav, MPEG, OGG-Vorbis etc. Seu pacote de codecs e sua interface de programação é a base para o desenvolvimento de diversos players consagrados, dentre eles: Kaffeine, Totem, XMMS, Amarok dentre outros.

Este artigo será útil apenas para os que têm problemas em reproduzir certos formatos de audio ou vídeo.

Algumas distribuições simplesmente não tocam alguns dos formatos mais populares, como o MP3, especialmente aquelas que são incentivadas por empresas exploram o open source. A Red Hat e a SuSE são exemplos de empresas que limitam os recursos multimídia de suas distribuições para evitar problemas com direitos autorais e de patentes. Como sabemos, o formato MP3 é patenteado...

Para contornar essa limitação, é possível para os usuários Linux fazer uma instalação do pacote de codecs do Xine. Descreveremos neste artigo como instalar essa biblioteca. Não descreveremos como instalar o Xine em si porque segue basicamente o mesmo processo. Até porque em relação a tocadores o linux é geralmente bem servido, sendo dispensada a instalação de mais um aplicativo. Além do mais em muitas distribuições já tem o Xine instalado, embora limitado.

Primeiro, baixe o pacote:

XineLib, AQUI!

Segundo, descompacte o seu conteúdo:

Como descompactar arquivos em Linux, AQUI!

Terceiro, configure:

Digite no terminal, dentro da pasta do XineLib: ./configure

Quarto, compile:

Digite no terminal, dentro da pasta do XineLib: make

Por último, instale:

Digite no terminal, dentro da pasta do XineLib: make install

Para testar se a instalação foi feita corretamente, reinicie o sistema e abra um player para tocar algum arquivo que antes não estava funcionando. Se o player conseguir reproduzir, a instalação foi bem sucedida.

Obrigado por ler este artigo. Leia também este artigo AQUI da INFO-Online.

segunda-feira, 29 de outubro de 2007

Compactando e Descompatando em Linux

Quem mexe com linux frequentemente precisa fazer compactação ou descompactação de arquivos. É bastante comum em atividades de administração do sistema Linux o manuseio de arquivos compactados. Hoje em dia isso não é problema, pois basta um ou dois cliques para descompactar quase qualquer formato. No entanto, o conhecimento de maneiras Unix-like de resolver os problemas em Linux é obrigatório. São necessários conhecimentos básicos sobre comandos shell e sobre aplicativos em terminal.

A compactação ou a descompactação de arquivos em terminais Linux não é difícil. Basta saber que tipo de arquivo vai ser descompactado e digitar seu comando apropriado. Seguem abaixo alguns comandos comuns em ambientes de prompt de comando Linux:

Comandos para compactação de arquivos em terminal Linux
FormatoComando
ZIPzip -9 nome_arquivo.zip lista_arquivos
GZIPgzip nome_arquivo.gz lista_de_arquivos
TARtar -cvf nome_arquivo.tar lista_arquivos
TAR.GZtar -czvf nome_arquivo.tar.gz lista_arquivos
TAR.BZ2tar -cjvf nome_arquivo.tar.bz2 lista_arquivos

Comandos para descompactação de arquivos em terminal Linux
FormatoComando
ZIPunzip arquivo.zip
RARunrar x arquivo.rar
TARgzip arquivo.tar
TAR.GZtar -vzxf arquivo.tar.gz
TAR.BZ2tar -vxjpf arquivo.tar.bz2
7z7z x arquivo.7z
RPMrpm -i arquivo.rpm

Estas são duas tabelas bem suscintas, mas podem ser útil no dia-a-dia.

domingo, 15 de julho de 2007

Iniciando o Mysql no Slackware

No Slackware, assim como em muitas outras distribuicoes, o Mysql ja vem instalado. No entanto para que o Mysql possa ser utilizado por aplicacoes cliente eh necessario que o servidor do Mysql esteja rodando. Esse servidor eh um aplicativo de servicos chamado `mysqld`. Quando comecei a mexer no Slackware -- na verdade quando comecei a mexer o Linux, tive um pouco de difuculdade de usar o Mysql por conta de nao conseguir iniciar tal servidor. Entao eu questionava: como o Slack pode vir com o Mysql se nao da pra usar? Mas nao era tao dificil como pensava. Abaixo eu mostrarei os passos para poder iniciar o servidor. Eh bem simples.

Primeiramente para que o servidor possa funcionar eh necessario que o administrador do Linux permita que o mysqld utilize sua propria pasta. Com esse comando abaixo o Mysql vai ter a permissao de usar sua propria pasta `/var/lib/mysql`.

  • chown -R mysql.mysql /var/lib/mysql
A segunda coisa a fazer eh criar a base de dados principal do mysql. O outro comando abaixo serve para instalar a base de dados inicial do Mysql, juntamente com as tabelas de usuarios, permissoes etc.

  • mysql_install_db
A partir dai sera possivel iniciar o servico do mysqld manualmente. Podemos fazer uma chamada manual do deamon mysqld digitando a linha de comando abaixo:

  • cd /usr ; /usr/bin/mysqld_safe &

Pronto, com estes tres passos ja estara rodando o mysqld no modo seguro. Agora para garantir a seguranca mesmo, melhor eh definir senhas para os usuarios que trabalharao com o sistema de banco de dados. Isso deve ser feito por que por default o usuario root vem sem senha, fazendo com que o SGBD fique aberto pra qualquer um. Comandos que podem ser usados:

  • /usr/bin/mysqladmin -u root password 'NOVA_SENHA'
  • /usr/bin/mysqladmin -u root -h NOME_COMPUTADOR_HOST password 'NOVA_SENHA'

Se na hora da instalacao do Slackware voce pediu para o Mysql iniciar na hora do carregamento do sistema, entao na existira um script de inicializacao responsavel para dar `start` no mysqld. O caminho do script eh `/etc/rc.d/rc.mysqld`. Para garantir que o script vai funcionar, abaixo tem uma linha de comando tornar o script executavel.

  • chmod 755 /etc/rc.d/rc.mysqld

Todas as informacoes que estou fornecendo nesta postagem estao disponiveis no proprio arquivo de inicializacao citado no paragrafo anterior. Somente tentei colocar as coisas do meu jeito para explicar como eh o processo basico de inicializacao do daemon do Mysql, que eh o servidor de banco de dados Mysql em si. Espero que isto sirva de ajuda para alguem.

quinta-feira, 7 de junho de 2007

Lançamento do Fedora 7

No último dia de maio foi lançada a nova versão do da distribuição Linux apoiada pela empresa Red Hat. Essa já consagrada distribuição vem ao longo das versões trazendo novidades interessantes. Um de seus pontos fortes é a amigabilidade, desmitificando a visão que muitos têm do Linux como a de um sistema operacional de hackers. O pacote vem com ferramentas que realmente auxiliam nas tarefas administrativas. Isso faz da distro uma opção ideal para as necessidades corporativas. Também devido a sua aparência agradável, que vem sempre evoluindo para um visual mais bonito, o Fedora pode ser usado também para o mercado de desktops domésticos. Não é a toa que a Dell está apoiando o projeto. Já testei as versões 3 e 5 do Fedora. Hoje começoa baixar a sétima. Já estou ansioso para testar e personalizar este pacote. Quando começar os testes postarei aqui minhas observações sobre a distro.