sexta-feira, 25 de dezembro de 2009

Extraindo arquivos específicos do unzip

Isso é coisa básica, que pode ser lida no manual, Mas como eu posso perder mais tempo para procurar no manual do que no meu blog, aqui vai uma dica simples e ridícula sobre o comando unzip.

Checando os arquivos que estão compactados dentro do arquivo.zip:
unzip -l arquivo.zip
Extraindo apenas alguns arquivos:
unzip arquivo.zip arquivo1 arquivo2 .. arquivoN
Extraindo apenas alguns arquivos, mas utilizando caracteres coringa:
unzip arquivo.zip "*expressão*" , onde expressão é a parte do arquivo a ser procurada.

quarta-feira, 21 de outubro de 2009

Declarando variáveis no maxima

Em funções, vimos que a declaração delas se dá com F(variável independente):=[expressão];
Por exemplo:
F(y):=y^3+5*x;
No caso de variáveis, a declaração delas é assim:
variável:valor;
Por exemplo:
a:2*%pi;

terça-feira, 20 de outubro de 2009

Plotando Gráficos com o Wxmaxima

No último post, eu esqueci de avisar que para chamar o wxmaxima, era necessário digitar:
$wxmaxima

Bom, feito isso, e depois de ter escrito as funções com as quais quer trabalhar (você poderá chamá-las através da linha em que foram escritas), você quererá plotar alguns gráficos.
o comando para isso é: wxplot2d!
Sintaxe para uma função só:
wxplot2d([expressão], [variável,valor inicial, valor final], [xlabel, "rótulo para o eixo-x"], [ylabel, "rótulo para o eixo-y"]);
A expressão pode ser o número para alguma função que você digitou antes, ou criou, ou explicitamente, uma função que você colocou lá na hora.
Exemplos:
1) %i1 sin(x);%o1 sin(x);
%i2 wxplot2d([%o1],[x,0,2*%pi],[xlabel, "ângulo (radianos)"], [ylabel, "sen(ângulo")]); --> plota a função sin(x) no intervalo de 0 a 2pi, rotulando o eixo x de ângulo... e o y de sen(ângulo).
2) wxplot2d([sin(x)],[x,0,2*%pi],[xlabel, "x (rad)"],[ylabel, "sen(x)"]);
Caso queiramos graficar mais de uma função com um único comando, a sintaxe muda só um pouco:
wxplot2d([expressão1, expressão2], [variável, valor inicial, valor final], [xlabel, "rótulo"],[ylabel, "rótulo"]); Lembrando que os rótulos são sempre opcionais.
Aproveitarei para mostrar como definir funções:
Exemplo:
F(x):=sin(x)-x^2;
G(x):=cos(x)+x^3 + e^(-2*x);
wxplot2d([F,G],[x,-100,100],[xlabel," velocidade (m/s)"]);

Maxima e Yacas - Softwares de Apoio Computacional à Álgebra

Depois de passar mais de uma semana desesperado com a prova de Física Nuclear que o professor pediu para fazer em casa, eu entendi o que era para fazer e notei que seria fortemente recomendável utilizar programas como o maxima e o yacas.
Estes programas fazem maravilhas, embora possam ser até limitados dependendo do cálculo.
Eles podem resolver uma integral, uma derivada, achar os zeros de uma equação/função tanto numericamente quanto analíticamente (este último, se possível), e são suficientemente inteligentes para lidar com linguagem simbólica.
Para instalá-los, se seu /etc/apt/sourcs.list estiver configurado, e se sua distribuição for Debian, ou uma Debian-like fazemos:
#apt-get install yacas -->Instala o yacas
#apt-get install maxima wxmaxima xmaxima -->Instala o maxima, e duas interfaces gráficas para ele: wxmaxima e xmaxima
O wxmaxima é uma interface cheio de menus e botões meio auto-explicativos para ficar parecido com concorrentes no Windows, tipo o Maple® e o Mathematica®, embora não seja bonito.
O xmaxima é uma interface feita em tcl/tk mais bonita, embora mais espartana. Ela abre junto com o ambiente onde são digitados os comandos uma espécie de tutorial disponívels na documentação do máxima, estimulando o aprendizado para poder mexer no programa.

Uma interface permite que você mexa "no estilo Windows", ou seja, já faça as coisas sem se aprimorar muito, sem nem saber o que está fazendo, até, de forma intuitiva. A outra faz você apanhar um pouco mas lhe força a aprender mais, o que pode facilitar no futuro, pois você começará a pensar em programar na linguagem e a resolver as coisas de maneira mais complicada, desenvolvendo certa habilidade.
Como eu estava desesperado para fazer a prova do Robilotta, eu fiquei com o wxmaxima, mesmo.

Mesmo assim, há alguns comandos que não aparecem, senão sutilmente nos menus, e dos quais você pode precisar.
Primeiro alguma sobre o ambiente:
%in --> É o prompt, aguardando que você dê algum comando. No wxmaxima, você não precisa se preocupar muito com isso. Há uma caixa de texto onde você coloca os comandos.
O 'i' quer dizer entrada, e o n, é o número da linha em que você está.
Quando você digita um comando, aparece: %on , que quer dizer saída, acompanhada do resultado do comando.
Para escrever expressões matemáticas, simplesmente, escreva-as!
Por exemplo: sin(x)
O resultado será informado como sin(x).
Você pode usar a linha %on nos cálculos da linha n+1 , por exemplo. Até pode definir novas funções e variáveis.

Para achar os zeros de uma função analítica, pode-se fazer:
solve([expressão], [variável]); (colchetes não obrigatórios, utilizei apenas para mostrar a sintaxe.

Ex:
solve(x^2-a,x); As raízes da equação serão retornadas, e a é qualquer valor. Entendeu porque é legal? Não é só para cálculo numérico.

E quando só dá para resolver numericamente?
find_root([expressão],[variável],["chute inicial], ["chute final"]);

Ex:
find_root(exp(-5*r)-5*cos(15*r),r,0.001,1000);


segunda-feira, 31 de agosto de 2009

Fazendo a Função exit() funcionar.

Quando eu coloco a função exit(n), onde, n é o número que será retornado ao sistema após a execução do programa, e tento compilar, tendo o seguinte erro de compilação:

warning: incompatible implicit declaration of built-in function 'exit'

Para resolver este problema, basta declarar a bibliteca stdlib.h no início do programa.


Compilando programas depois de usar a math.h

Quando eu compilei programas usando a math.h ,tive a seguinte mensagem de erro:
gcc -g -c arquivo.c
gcc -g -o arquivo arquivo.o

undefined reference to `sqrt'

Para resolver este problema, consultando o google, e sem pesquisar porque funciona, por enquanto, fiz:

gcc -lm -g -c arquivo.c
gcc -lm -g -o arquivo arquivo.o

segunda-feira, 17 de agosto de 2009

Compilando para debugar

Algumas pessoas nascem para ser selvagens. Mas todos os programas nascem para ser debugados!
Assim, pela necessidade, desde maio, venho compilando os meus programas com suporte para debug. O comando para isso é:

gcc -g -c programa.c
gcc -g -o programa programa.o


Eu utilizo o debugador DDD (Data Display Debuger), facilmente obtido com um

apt-get install ddd


O comando para utilizá-lo, é:

ddd programa
Se desejar que o programa rode com argumentos, o debugador precisa ser informado disso. Isto é muito útil para não ter de ficar colocando os argumentos alterando as variáveis que recebem os argumentos de linha de comando manualmente no debugador:
ddd --args programa argumento1 argumento2 ... argumentoN

quinta-feira, 13 de agosto de 2009

Unzip - Descompactando apenas um(ns) arquivo(s) dentre os que estão compactados.

Bem, é bem fácil usar o unzip, embora ler os man possa ser algo chato...

unzip arquivo.zip arquvo zipado


Um grande abraço do fundo do meu coração vermelho de outubro de 1917,
Atenágoras Souza Silva.

Depois de um longo intervalo

Depois de um longo intervalo sem postar (foram apenas 4 meses), eu volto, e espero que seja com uma saraivada de posts, porque pretendo reportar as coisas que eu fiz nas férias e no final do semestre, no que diz respeito a programação de computadores, softwares novos para isto, e comandos úteis que foram uma mão na roda para mim, por me polparem trabalho.
Mas ainda estou tendo de lidar com um último erro antes das férias acabaraem: FALHA DE SEGMENTAÇÃO.

Um grande abraço do fundo do meu coração vermelho de outubro de 1917,
Atenágoras Souza Silva.

domingo, 12 de abril de 2009

Procurar ajuda no VIM

O ambiente de ajuda do VIM é bem completo, mas não sei dizer se é ótimo. Uma coisa legal que eu descobri é o seguinte:
Imagine que você gostaria de saber sobre algum atributo ou se existe algum comando para fazer a tarefa que você quer. Importante: Pense no nome em inglês da tarefa que você quer realizar.
Aí, você sai do modo de edição com ESC, e tecla o caracter entre aspas":" e digita:
:help <expressão-procurada>

Mas em vez de ENTER, após seguir esta dica, que dará um erro, digite Ctrld-D, e o VIM lhe retornará os tópicos de ajuda em que a sua palavra aparece, bastando digitar, depois de sair novamente do modo de edição:
:help <tópico-de-ajuda-sugerido pelo VIM>

Exemplo:
:help replace Ctrl-D -->retorna vários tópicos relacionados com a palavra procurada, e no exemplo, usarei o tópico find-replace.
:help find-replace --> Tecle Enter depois de digitado este comando para ir para o tópico de ajuda find-replace.

Procurar e substibuir no VIM

Esta eu descobri porque queria mudar os repositórios debian para ver se eu achava o crafty na próxima versão do Debian, mas o pacote ficou realmente orfão, e queria editar o /etc/apt/sources.list no VIM e queria todas as funcionalidades básicas um editor simples.
Procurar e substitui no VIM não é tão simples.
Primeiro, deve-se sair do modo de edição, em que você pode inserir texto no arquivo com ESC. Depois, aperta-se o caractere que está entre aspas ":", para poder inserir o comando substitute, ou s, sua abreviação

Sintaxe:
: [região] s/palavra-procurada/palavra-substituta --> região são as linhas entre as quais a pesquisa e substituição serão feitas, separadas por vírgula.
ou
:%s/palavra-procura/palavra-substituta -->% procura a expressão e executa a substituição UMA vez em todas as linhas.
Se desejarmos substituir todas as ocorrências que forem encontradas nas linhas da região, incluimos uma terceira barra e a letra g (global).

Exemplos:
:10,15 s/palavra1/palavra2 --> Procura entre as linhas 10 e 15 a primeira ocorrência de palavra1 e substitui por palavra2
:%s/palavra1/palavra2/g --> procura em todas as linhas, todas as ocorrências de palavra1 na linha e as substitui por palavra2 em todas as linhas do texto.

sexta-feira, 10 de abril de 2009

Tentativa de solução para meu X rodar na resolução 320x240

Uma coisa que só consegui fazer uma vez.
Quando eu usava as ferramentas de configuração xf86config, ou editava o antigo arquivo de configuração dodo antigo Xfree86, eu colocava esta resolução para funcionar e nada. Isto no velho Marx (K6). Aí tive de trocar a placa de vídeo quando pifou. Ainda estou para atualizar a minha BIOS no Marx par poder colocar a placa nVidia TNT2 PCI que comprei para ele (era uma poderosa para barramento PCI, de antigamente), que não funcionou. Aí, um amigo meu me passou uma placa diferente, e ao voltar a ver o micro funcionando, ganho, de brinde, a resolução 320x240 suportada.
Um mês depois, comprei um novo micro (na verdade, minha mãe comprou, pois ainda "trabalho" na VASP), e não consegui fazer tal resolução funcionar nele.
Eu passei este tempo todo pensando que era só dar um jeito de configurar a placa de vídeo para esta resolução no Linux, e para algumas placas se conseguia e para outras não.
Então um link que eu achei na internet dá a pista de que pode ser o monitor...
Agora só falta saber exatamente quais os parâmetros para o monitor suportar esta resolução.
O link é https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-mga/+bug/183913
Espero que funcione.
Também darei uma olhada no arquivo de configuração do X no computador antigo.
Espero que realmente funcione.

domingo, 8 de março de 2009

Instalando e Configurando o Debian Lenny

Ontem instalei o Debian Lenny no meu computador.
Segui uns roteiros para configurá-lo e adaptá-lo ao uso no Desktop.
A maioria dos passos, eu tirei do blog do próprio Morimoto. Deste post do blog dele, eu configurei o apt para baixar pacotes restritos, não-livres e multimídia, além de configurar o flash, o java, instalar fontes Windows etc.
No outro artigo, também publicado no Guia do Hardware, de Júlio César Bessa Monqueiro, basicamente configurei as fontes para não ficarem pequenas no Iceweasel.
É isso.

sábado, 7 de março de 2009

Otimizando o Desempenho do HD com hdparm.

Encontrei um link que fala sobre otimização do desempenho do HD.
Depois, eu faço um post contando o resultado dos experimentos em minhas máquinas.
http://www.cleberjsantos.com.br/linux/acelerando-o-hd

terça-feira, 3 de março de 2009

update-alternatives

No GNU/Linux, pode haver diversos aplicativos para executar exatamente uma tarefa. E você pode escolher um "alias", que se ligará à aplicação padrão para aquela tarefa. Pelo menos é este o comportamento das distribuições Debian-like.
Os links encontram-se todos no diretório /etc/alternatives, e existe um comando que pode ser utilizado para manipulá-los da maneira mais simples possível: o update-rc.
É um comando om muitas opções, dá para colocar um novo link, colocar opções para um link, remover um link (entendendo link como uma categoria de programas, como por exemplo, x-session-manager).
No meu exemplo de utilização, queria colocar como padrão um determinado emulador de terminal X:

#update-alternatives --config x-terminal-emulator --> Onde --config é a opção para configurar (escolher) a opção de programa que eu vou querer para o link (ou grupo de programas), e x-terminal emulator é o link.

domingo, 15 de fevereiro de 2009

Fim de Férias

Hoje, dia 15/02/2009, domingo foi o meu último dia de férias.
Fiquei umas 3 semanas, pelo menos, sem publicar nada, mas fiz bastante coisa nesses dias.
Eu usei o dosemu para rodar o freedos e o dtmnt. Instalei FreeDOS em uma partição disponível, e instalei xmame.
Escrevi o que fiz para que eu faça posts mais detalhados e explicativos de tudo o que eu fiz depois.
Agora, eu estou instalando um driver melhor que o vesa para a minha placa de vídeo no X, mas não estou conseguiindo, como não conseguia usando vesa, utiizar uma resolução de 320x240, que é padrão para muitos jogos.
Trata-se do OpenChrome.
Como ele ele está instalado, não precisei fazer muito.
Eu posso verificar o /var/log/Xorg.0.log, e procurar pelo padrão (EE) para erros. Não encontrei nada a respeito.
Mas procurando por 320x240, encontrei uma informação que o computador retorna e posso utilizá-la como um padrão de pesquisa para procurar na Internet defeitos parecidos e soluções. Não vou fazer agora, mas o padrão é:
(II) CHROME(0): Not using default mode 320x240 (bad mode clock/interlace/doublescan)

quinta-feira, 5 de fevereiro de 2009

Configurando o Scanner da multifuncional WorkCentre 3119, da Xerox

Primeiro, eu editei o arquivo /etc/init.d/mountdevsubfs.sh, e descomentei as seguintes linhas após
# Magic to make /proc/bus/usb work :
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount --rbind /dev/bus/usb /proc/bus/usb
Depois, coloquei as seguintes linhas no arquivo /etc/udev/rules.d/60-symlinks.rules:
# Cria symlink para impressora USB para /dev/usb/lp*
BUS=="usb", KERNEL=="lp[0-9]*", SYMLINK+="usb/%k"
Depois, reiniciei o udev:
# invoke-rc.d udev restart
Depois, coloquei todos os usuários do sistema no grupo lp com:
adduser lp
Agora vamos ver se funcionou.
Nao funcionou.

domingo, 1 de fevereiro de 2009

Na casa do Alexandre - parte 4: Configuração de rede wireless (mal sucedida)

Segue aqui o que fizemos depois de ter a placa funcionando no Computador do Alexandre.
Como o adaptador wireless USB utilizado é baseado no chipset Ralink, a configuração da rede no Debian, depois que o dispositivo está funcionando, teria de ser feita manualmente devido à maneira como a placa trabalha com os protocolos de segurança da rede wireless, embora no Mandriva tenha funcinado normalmente no modo gráfico.
Bom, aos comandos:
Primeiro, devemos falar o modo de gerenciamento da rede wireless, e ativar a placa para a rede:
iwconfig wlan0 mode managed -->fala para o dispositivo que o modo da rede é o gerenciado.
ifconfig wlan0 up --> Ativa o adaptador wireless.
Agora, escaneamos as redes que estão por perto:
iwlist wlan0 scan --> Este comando lista as redes disponíveis, e até a "saúde" delas.
Conseguimos escaneara rede OALINUX do meu amigo.
Depois, configuramos a rede, propriamente dita.
iwconfig wlan0 ap REDE --> Na referência, este deveria ser o nome da rede, mas acabamos tendo que colocar uma informação em Hexadecimal
iwpriv wlan0 set AuthMode=WPAPSK --> Sobre o modo de segurança utilizado
iwpriv wlan0 set WPAPSK=SENHA --> Para dar senha de rede.
iwpriv wlan0 set EncrypType=AES --> Tipo de encripitamento relacionado ao pacote de encripitação WPA2. Acho que era WPA1, configuramos errado e por isso não funcionou. O comando diz respeito à configuração de uma rede privada, enquanto que o iwconfig é responsável por levantar a rede e a interface.
iwconfig wlan0 --> Para levantar a rede e se conectar a ela.
No caso, é usado dhcp para se conectar conseguir um IP pela rede wireless, embora isto possa ser feito manualmente, dependendo do caso. Agora, fica muito igual às outras redes.
dhclient wlan0

Como não deu certo, não nos preocupamos em configurar a rede nos arquivos de configuração para que ela fosse acessível somente no boot.

sexta-feira, 30 de janeiro de 2009

Esboço sobre configuração de acesso X remoto

Eu uso o KDM, as configurações do firewall do wireless router já estão de tal maneira que não permitem conexões de rede externa, como a internet.
Este é um esboço, pretendo estender este post, ou fazer outros posteriormente.
Bem, eu basicamente alterei o /etc/kde3/Xaccess para permitir que qualquer host se logue, e que qualquer host consiga achar um servidor X na rede enviando pacotes por BROADCAST. Depois, alterei o /etc/kde3/kdmrc para permitir que o Xaccess seja utilizado para login remoto.
Para acessar o X remotamente, digito da máquina cliente o comando:
X -query ,ou
X -- :2 -query --->para o caso de já haver uma outra sessão X local no cliente.
Referências: http://www.guiadohardware.net/tutoriais/configurando-servidor-xdmcp/pagina3.html

quinta-feira, 29 de janeiro de 2009

Man pages em português no ubuntu

Para ler as man pages dos comandos do GNU/Linux no ubuntu em português, deve-se instalar os pacotes para isto com o comando:
#apt-get install manpages-pt manpages-pt-dev

Abrindo outra sessão X

Esta é uma das coisas que eu reaprendo mais vezes e esqueço mais vezes.
Desta vez, eu aprendi sozinho, na marra! Raras serão as vezes em que farei isto, mas vamos lá.
startx -- :N --> onde N é o número da outra sessão que você deseja abrir.

Em geral, o X abre na sessão 0, então N pode ser 1, 2.

quarta-feira, 28 de janeiro de 2009

Na casa do Alexandre - parte 3: Instalação de adaptador de rede wireless no Debian GNU/Linux e configuração de rede wireless

Depois de perder um tempo tentando configurar a rede com fio para o cliente Debian acessar a Internet sem conseguir resultados, partimos para o trabalho de compilar e instalar o adaptador wireless e tentar configurar a rede.
O adaptador wireless dele possui chipset Ralink rt73. A diferença dele para os demais está no fato de ele, segundo o guia do Morimoto (cujo link está no final deste post), trabalhar com o suporte ao wpa de um modo diferente dos demais.
O trabalho de compilar e instalar a placa consiste em:
1 - Instalar os compiladores essenciais e os kernel headers (cabeçalhos do kernel);
2 - baixar os fontes do módulo do chipset do adaptador.
3 - Compilá-lo e instalá-lo.
Se estes passos funcionarem, podemos configurar a rede.

Passo 1: instalar os compiladores essenciais e os kernel headers

Se o arquivo /etc/apt/sources.list estiver configurado propriamente, e tivermos dado o compando apt-get update para o caso de precisarmos procurar por atualizações nos repositórios, podemos digitar:
#apt-get install build-essential --> compiladores essenciais
#apt-get install linux-headers-2.6.22-14 -->kernel headers da versão do kernel que aparece numerada. O seu kernel pode ser diferente. Honestamente, não me lembro qual a versão do kernel do meu amigo. Este é o exemplo do Guia do Morimoto.
Lembrando que estes comandos precisam ser dados como root, por isto a cerquilha antes dos comandos. Em distribuições Ubuntu-like, ou mesmo no Debian, podemos utilizar o sudo antes dos comandos acima citados. Na verdade, em qualquer distribuição Debian-like em que o comando sudo esteja implementado e você seja um usuário pertencente ao grupo admin.

Passo 2: Baixar os fontes do módulo do chipset do adaptador wireless

O driver procurado é para um dispositivo USB, o rt73. O link para o driver é http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz

Passo 3: Compilar o módulo e instalá-lo.

Deve-se descompactá-lo com tar -zxvf rt73-cvs-daily.tar.gz
depois, entrar no diretório que foi criado e digitar os famosos comandos para compilação e instalação da parada:
#make --> Na verdade, não é necessário ser o root para rodar este comando.
#make install --> Mas é necessário ser para rodar este aqui.
Depois, devemos colocar o módulo na lista de módulos carregáveis durante o boot incluindo-o no arquivo /etc/modules. Para isto, escrevemos o nome do módulo dentro do arquivo: rt73.
Mais elegantemente, fazemos:
#echo rt73 >> /etc/modules
E carregamos o módulo manualmente com:
#modprobe rt73
Para verificar se a placa foi detectada pelo sistema operacional, deve-se fazer as seguintes checagens (ou uma ou outra, ou as duas, tanto faz):
#cat /proc/net/dev -->mostra as interfaces lógicas de rede existentes. Tem de aparecer wlan0 para ver ser o adaptador wireless foi encontrado.
#cat /proc/net/wireless -->mostra a interface lógica de rede presente no sistema. Novamente, deve aparecer wlan0 (ou wlan1 no caso de existir dois adaptadores de rede, por exemplo).
O comando cat mostra o conteúdo de um arquivo.

É melhor deixar o post sobre a configuração de rede para o outro post. O adapador de rede foi encontrado, e com isto, mais 25% do processo foi concluído, totalizando 75%.
Fica para outro post a parte de configuração, que falou. Depois, nos comentários, espero postar soluções.
Referências:

Configurando redes wireless no Linux, parte 2 - Carlos E. Morimoto

http://www.guiadohardware.net/tutoriais/rede-wireless-linux_2/

Na casa do Alexandre - parte 2: Configuração do router

Na segunda, dia 19/01/2009, tentamos configurar o computador do Windows com router de internet, para que o computador com o Debian pudesse pegar pacotes kernel-headers via apt-get.
O computador com windows que serviria de router, era cliente de uma rede wireless, e estaria dentro de um esquema de rede como esta aqui:
A parte em cinza foi a parte da rede introduzida e modificada por nós.
No começo, conseguimos fazer o Cliente pingar o roteador, mas o roteador não roteava. No primeiro momento, achei que era porque não haviamos colocado os DNSs do provedor na configuração do computador Cliente.
Depois, os colocamos e mesmo assim não funcionou. Pesquisei em sites que não me lembro agora que era mesmo necessário colocar os DNSs do provedor de acesso, ou então, fazer do computador cliente um dos servidores de DNS, o que é um pouco mais complicado, então a configuração do roteador com Windows é que não funcionou.
Bem, a configuração de rede no cliente Debian GNU/Linux foi feita no arquivo /etc/network/interfaces, e foram utilizados os scripts ifup e ifdown para "levantar" a rede no tempo de boot, ou manualmente.
O arquivo /etc/network/interfaces ficou mais ou menos assim:
iface eth0 inet static
address 192.168.2.2 #ip do cliente
netmask 255.255.255.0
gateway 192.168.2.1 #ip do roteador
Os IPs do provedor foram colocados no arquivo /etc/resolv.conf


Para colocar um computador GNU/Linux como roteador em uma rede, basta mudar de 0 para 1 o conteúdo do arquivo: /proc/sys/net/ipv4/ip_forward
E pode-se fazer isto com o comando:
echo 1 > /proc/sys/net/ipv4/ip_forward
Bom, como não conseguimos configurar o Windows como gateway, resolvemos utilizar o DVD do Debian mesmo para pegar os kernel-headers necessários para compilar os módulos do dispositivo wireless, e copiamos via pen-drive os arquivos-fonte do driver.

No próximo post, falarei dos passos para compilar e instalar o adaptador wireless no Debian do meu amigo.

quinta-feira, 22 de janeiro de 2009

Na casa do Alexandre - parte 1: Instalação de adaptador de rede wireless no GNU/Linux e configuração de rede wireless

18/01/2009, domingo, fui à casa do meu amigo Alexandre para tentar configurar o dispositivo USB adaptador de rede Wireless no GNU/Linux.
Meu amigo possuiu uma máquina com chipset Ralink.
A primeira coisa que fiz, foi instalar o Mandriva. Funcionou perfeitamente. O Mandriva tem um suporte muito largo para hardware, e chega a ser mais fácil que o Ubuntu para instalá-lo e utilizá-lo. É a distribuição perfeita para desaprender a utilizar o computador, da mesma maneira que o Windows.
Mesmo com 128MB de memória, depois da instalação, a velocidade é até aceitável, se se utiliza o IceWM em vez do KDE. Problema resolvido. Objetivo concluído em 50%.
Depois, foi a vez de instalar o driver da placa no Debian 4.0 e configurar a rede.
Para isto, tentamos ativar a rede ethernet no Debian utilizando o Windows no outro computador para compartilhar a conexão, depois, sem sucesso, instalamos os kernel-headers do Debian a partir do CD-ROM, mesmo, e copiamos os fontes do driver no pen-drive e compilamos.
As etapas de tentar instalar a rede, compilar o driver e instalar a rede serão abordados em 2 outros posts.

segunda-feira, 19 de janeiro de 2009

Fazendo backup das contas de usuários de um sistema para o outro

Como é sabido de todos, os arquivos /etc/passwd e /etc/groups guardam as informações sobre usuários e grupos do sistema e /etc/shadown e /etc/gshadown guardam estas mesmas informações criptografadas. Bem, a senha, na veradade, está no /etc/shadown criptografada. Ela não aparece no /etc/passwd.
Dia 14/01/2008, além de instalar o Debian colocando o KDE como desktop padrão, eu fiz o backup das contas de usuário e usei-as no Debian sem precisar recriá-las.
Não se trata apenas de copiar, por exemplo, o /etc/passwd para o /etc/passwd, embora isto também funcione.
É que ao fazer isto, você copia também os outros usuários de sistema criados para manipular softwares ou hardwares específicos, como por exemplo, os usuários ftp e os relacionados ao SAMBA.

Eu copiei aqueles que tem UID (User ID) maior que 1000, que são os usuários humanos do sistema no /etc/passwd e no /etc/gpasswd. No /etc/shadown, só copiei aqueles que estavam relacionados com os IDs maiores que 1001 que apareciam nos arquivos anteriores. Para isto, utilizei o "método tabajara", que consistia em abrir, por exemplo, o /etc/passwd do meu sistema padrão, e o /etc/passwd do outro sistema, acessando a partição dele montada em algum diretório, no caso o /mnt/sda6/. Logo, na outra partição, o passwd estava em /mnt/sda6/etc/passwd. A idéia é dar um Ctrl-C Ctrl-V do /etc/passwd para o /mnt/sda6/etc/passwd da outra partição, no caso,, a partição do Debian, e repetir o processo para os demais arquivos. Repetindo, estou fazendo isto apenas para os usuários humanos do sistema e não-root.
Há métodos bem melhores e elegantes de fazer isto, como por exemplo, utilizar um editor de texto não interativo no shell, como sugere este site:
http://www.cyberciti.biz/faq/howto-move-migrate-user-accounts-old-to-new-server/
É isso!

quarta-feira, 14 de janeiro de 2009

Instalando Debian com desktop kde padrão

Ao Colocar o DVD de instalação do Debian, digitar no prompt do GRUB:
install tasks="kde-desktop, standart"


O que eu andei fazendo neste últimos dias

Neste intervalo de 12 dias, o máximo que fiz foi reinstalar o Debian e usar o apt-build para recompilar os programas instalados, tanto no Debian, quanto no Kubuntu.
Não consegui recompilar o sistema, nem o kde em nenhuma dos sistemas.
Eu também não removi nenhum pacote dos que eram recomendados remover para recompilar todo o sistema.
Neste momento, reiniciei uma instalação do Debian e estou testando uma instalação com kde padrão no desktop.
Isto funcionou.
Agora, vou fazer backup da lista de usuários preservando as permissões das pastas.

sexta-feira, 2 de janeiro de 2009

Configuração do xorg

Eu vou precisar disto depois, pois o Debian e o kubuntu, aparentemente, não tem mais o xorgconfig:

dpkg-reconfigure xserver-xorg

Vários sistemas GNU/Linux instalado, mesma partição /home

Nossa, como eu estou enferrujado.
Desde sábado, fiquei com vontade de instalar vários GNU/Linux para testar.
No notebook, no sábado, 27/12/2008, testei o tinyME Linux. Baseado no Mandriva, é uma distribuição muito leve, mas com o terríivel problema de não ter, nem locales nem configuração de teclado em português. Não sei se fuço para fazer isto manualmente, ou se procuro outra distribuição leve, ou se deixo o GNU/Linux Debian mais leve, instalo Gentoo, Slackware, Vector Linux, não sei. É que eu demorei 6 meses para configurar o teclado em 1998, e estou com medo de me matar par fazer isso, afinal, eu quero me concentrar em coisas bem mais interessantes, como aprender a lidar com uma rede, já que eu tenho equipamento para isto.
No PC, desde quarta-feira, estou tentando instalar o Debian Etch em conjunto com o Kubuntu. No primeiro momento, tentei fazer com que o KDE fosse o padrão, mas, eu desencanei, por enquanto. Depois tive um outro probleminha mais simples, absolutamente sutil que mais uma fez me deixa "no jeito" para ser comparado com um rélez usuário de Windows: Eu tenho um HD SATA de 80GB com a seguinte tabela de partições:
# tipo (lógica/primária) tamanho sistema de arquivos ponto de montagem
1 primária 15GB ext3
2 primária 50GB
5 lógica 131.6MB swap swap
Espaço Livre: 14.9GB

A partição #1 é a raíz (/) do Kubuntu Linux que estou utilizando. Primeiro, é inútil utilizar como primária uma partição para o /home (objetivo da partição #2). Mas eu queria criar uma partição / para o Debian Etch de 8.0GB utilizando parte do espaço livre. O resto, eu quero testar distribuições como o Gentoo, ou o Slackware... A ferramenta de particionamento do instalador Debian, quando no modo texto é o partman.
Ao criar uma partição primária de 8.0GB como raíz, os 6.9GB restantes ficam como inutilizáveis. Eu não sei porque acontece isto, pesquisarei depois. O que eu sei é que não podemos ter quatro partições primárias dentro do mesmo HD, mas utilizar partições lógicas pode prejudicar, ainda que de maneira ínfima, o desempenho.
No Kubuntu, a partição #2 é ext3, e pensei que apareceria esta informação normalmente, havendo necessidade de apenas colocar o ponto de montagem /home nela. Mas por ter esquecido de colocar o tipo de partição, que não reparei que estava em branco, não estava conseguindo colocar o ponto de montagem nela. Depois, editei o /etc/fstab para colocar mountar a partição #2 no /home. Funcionou, mas os usuários ficaram sem permissão para acessar as suas próprias pastas. Eu já tinha em mente a gambiarra que tinha de fazer para que os usuários tenham novamente permissão de acessar seus diretórios tanto no Kubuntu quanto no Debian (o problema era no Debian) sem ter de instalar de novo, mas estava intrigado com o fato de que não havia conseguido fazer isto na instalação, e passei a testar outras distribuições.
Tentei, então, o Mandriva, e ele deixou criar o ponto de montagem direitinho.
Então, por acidente, percebi que na instalação do Debian Etch, eu deveria definir a partição como sendo ext3, que o partman, misteriosamente, não percebia que já era uma partição ext3, e pude, então, colocar o ponto de montagem como sendo /home. E partição de 8GB raíz (#6) foi instalada como lógica para que os outros 6.9GB pudessem ser utilizados.

quinta-feira, 1 de janeiro de 2009

Feliz 50 anos da Revolução Cubana!



Neste 1º de janeiro, todos, às 0h0min comemoraram o que, mesmo?
Os 50 anos da Revolução Cubana, claro!
Esta é uma data muito importante para os que desejam um mundo socialista, seja para fazer críticas sobre o tipo de socialismo lá praticado devido à limitações econômicas ou razões de outra natureza, ou para os que apologizam uma defesa integral e incondicional de Cuba.
É um exemplo de que a História não acabou!

Este é um bom link para se informar sobre Cuba e a data de hoje, embora não concorde com a linha editorial, a BBC é bastante transparente. Quando houver mais tempo, organização, e motivo, colocarei mais links interessantes sobre Cuba vindos da BBC para que leiam algo diferente do que a grande mídia mostra, porém sem ser de apoio à Cuba. Longe disso. É perfeitamente possível fazer jornalismo parcial, mas transparente (imparcialidade absoluta não existe).
Quero, ainda, mostrar dois links, tanbém da BBC Brasil sobre Cuba, um mostrando problemas e um certo desejo de ver o fim do Socialismo, e outro, mostrando os louros da revolução com detalhes não mencionados normalmente.
Este é um blog sobre minhas experiências com GNU/Linux, mas uma das razões pelas quais eu gosto deste sistema é a solidariedade, a liberdade e a necessidade de se conhecer as coisas mais a fundo. Eu penso que estes princípios devem nortear a construção do socialismo, de modo que permiti-me este "tópico off toppic".

Um grande abraço do fundo do meu coração vermelho de outubro de 1917,
Atenágoras Souza Silva.