segunda-feira, maio 15, 2006

USB Sem mistérios...

Pessoal, não só de perguntas vive um fórum, mas também das dicas que ele proporciona. Tenho tido tempo ultimamente e, portanto, resolvi fazer umas atualizações tanto no meu Blog, quanto no FórumGDH do qual participo desde 2001 (to ficando velho...) e o Portal Viva O LinUx.
A dica que vou dar é sobre um assunto um tanto quanto rebuscado: USB no LinUx.
--------------------------------------------------------------------------------------
O USB, como muitos já sabem, foi criado com o objetivo de facilitar a conexão de periféricos existentes para o computador: teclados, mouse, impressoras, etc. Todo os conectores de os dispositivos possuem dois tipos de conectores, sendo assim, não permitindo o encaixe inadequado deles, o que os torna simples de usar. Outra caracterísca marcante é o compartilhamento de banda entre os dispositivos.
-------------------------------------------------------------------------------------
Vamos ao que interessa!
Configurar uma controladora USB é bastante simples no LinUx. Primeiramente você tem de ter em mente basicamente os seguinte comandos: lspci e modprobe*.
*juntamente com esse comando importante de administração do sistema, você deve ter o conhecimento do rc.modules*(Slackware e BSD Like), ou /etc/modules.conf*(Distros SysVINIT)

Onde está e quem é a sua controladora?

daniel@stelth:~# lspci -vv |grep -i usb

A saída desse comando "vareia" de máquina pra máquina...

Nota::. Basicamente há dois tipos de controladora USB: Universal e Open. As controladoras Universal são identificadas como sendo USB-UHCI e as Open são identificadas como sendo USB-OHCI. Existem as USB-EHCI que usam o padrão 2.0, isto é, USB2.0. Maiores informações, Google

Indentificado o tipo de controladora, passemos para etapa seguinte.

Agora que eu sei quem é, como configurar?

Primeiro habilitar o módulo que trabalho com input de dados.
Para teclados e mouses...
daniel@stelth:~# modprobe hid
daniel@stelth:~# modprobe keybdev
daniel@stelth:~# modprobe mousedev

Dica::. caso não funcione o mouse no modo texto:
daniel@stelth:~# gpm -k ; gpm -t ps2 -m /dev/usbmouse0

Para WebCam...
Carregar o ov511.o...
daniel@stelth:~# modprobe ov511

Para impressoras...
daniel@stelth:~# modprobe printer

Importante::.. "Apontar" a impressora para o device /dev/usb/lp0

Espero ter contribuído de maneira significante.
Abraços!

sexta-feira, maio 05, 2006

Configurando Mysql no Slackware

Bem pessoal o grande propósito desse material é como configurar o mysql a distro utilizada foi o Slackware, mas estas configurações se aplicam em qualquer uma das demais distribuições. Não vou entrar em muitos detalhes de como instalar pois o propósito é ensinar como configurá-lo.

Se acaso você nao selecionou o mysql na hora da instalaçao você pode baixalo em:

MySQL: http://www.mysql.com/downloads/

Provavelmente se você selecionou o pacote do mysql na hora da instalação e ativou ele pra iniciar no boot você ira se deparar com a seguinte mensagem:

Starting mysqld daemon with databases from /var/lib/mysql
Welcome to Linux 2.4.22 (tty1)
postfix login: 040625 09:04:55 mysqld ended

Welcome to Linux 2.4.22 (tty1)

slackware login:


Logo que a gente de vê da até um negócio né mas vamos aprender agora como resolver esse pequeno problema !!!

Isso acontece por que o mysql ta procurando pelas GrantTables que na verdade ainda nao existem, nosso primeiro trabalho será cria-las vamos la então:

1 - Logue-se com o user mysql e siga os comandos a baixo:

su mysql

$ mysql_install_db
Preparing db table
Preparing host table
Preparing user table
Praparing func table
Praparing tables_priv table
Praparing columns_priv table
Installing all prepared tables
040625 12:23:26 /usr/libexec/mysqld: Shutdown Complete . . .

$ exit
# mysqld_safe --user=mysql&
# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL

MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH
STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): [ENTER]

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation.

Set root password? [Y/n] [Y] Y
New password: ( Digite aqui aquela que sera a sua senha )
Re-enter new password: ( Redigite a senha )
Password updated successfully!

Remove anonymous users? [Y/n] [Y]
Disallow root login remotely? [Y/n] [Y]

Remove test database and access to it? [Y/n] [Y]

Reload privilege tables now? [Y/n] [Y]
... Success!

Cleaning up...

O nosso próximo passo será alterar os arquivos de log do mysql aconselho indicar o dir padrão de todos os outros logs, no caso o /var/log/mysql/mysql.log

Mas pra que isso aconteça precisamos criar um arquivo dentro de /etc digite vi ou joe my.cnf e dentro dele insira o seguinte conteúdo:

[mysql.server]
datadir=/var/lib/mysql
socket=/var/run/mysql/mysql.sock

[mysqladmin]
socket=/var/run/mysql/mysql.sock

[mysqld]
datadir=/var/lib/mysql
socket=/var/run/mysql/mysql.sock
language=/usr/share/mysql/english/
log=/var/log/mysql/mysqld.log

[mysql]
socket=/var/run/mysql/mysql.sock

Agora vamos criar o arquivo de log e mudar a permissão:
# mkdir /var/log/mysql
# chown mysql:mysql /var/log/mysql
# chown mysql:mysql /var/lib/mysql

Feito isso vamos parar, dar um start e verificar os logs no mysql, para isso digite os seguintes comandos:

# killall mysqld
# /etc/rc.d/rc.mysqld start
# tail /var/log/mysql/mysqld.log

Prontinho pessoal seu mysql esta configurdo e pronto pra usar, pra acessar o mysql digite:

mysql -p senha_do_root

Lembrando que essa senha do root foi aquela que você alterou em um dos passos anteriores :

# mysql_secure_installation (lembram)

Valeu pessoal espero ter ajudado !!!!

Até a próxima !!!

terça-feira, maio 02, 2006

DICA - Criando vários arquivos...

Pessoal, essa dica vai para aqueles que necessitam, seja lá o porque, criarem vários arquivos de uma só vez. Eu postei a mesma dica no Viva o Linux e no Fórum GDH. Contudo, alguns amigos da comunidade livre postaram outras maneiras de se executar essa dica. Então aqui vai:
Eu escrevi...
Pessoal, aqui vai uma dica que demorei para descobrir como executar. É o seguinte: Volta e meia, preciso criar vários arquivos de uma só vez. Última vez, estava criando uma rotina para fazer o download do FC5 automático e em dado momento do script resolvi criar vários arquivos de uma só vez. Aí surgiu a questão... Como fazer isso?! "Dar" vários 'touch'?! Não... tentar criar de uma só vez usando o 'vi' ou qualquer outro editor?! Também não! Simples! Vou mostrar duas maneiras de efetuar o processo. A primeira, mais "fácil", porém trabalhosa, consiste em criar um .txt qualquer com o nome de todos os arquivos que você deseja criar:
1) crie o arquivo no 'vi' com seguinte conteúdo:
arquivo-1.txt
arquivo-2.txt
arquivo-3.txt
arquivo-4.txt
arquivo-5.txt
arquivo-6.txt
arquivo-7.txt
arquivo-8.txt
2) define a seguinte variável: VAR=`cat arquivo`
3) "dê" um 'touch' na variável $VAR: touch $VAR
Obs.: há outras possibilidades! Vai depender da sua criatividade! Por ex.: touch `cat arquivo`. Estimule a criatividade! Experimente fazer rotinas com laços usando 'for' ou o 'while'

Peczenyj escreveu...

Tem muitas formas de fazer isso
cat arquivo xargs touch
touch arquivo-{1,2,3,4,5,6,7,8}.txt
for((i=1;i<=8;i++)) ; do touch arquivo-${i}.txt ; done
Basta inventar uma...

Profeta_Livre escreveu...

#!/bin/bash
#
# bem simples vc da a quantidade de arquivo que quer
# criar, e ele atribui o nome do arquivo (
# este nome vc tambe fornece) com uma numeracao
# como vc mesmo propos
#
# as definicoe scomecam com 0,1,2 etc...
#
echo -e "Digite o nome da seguencia de arquivos: \n"
read arquivo
echo -e "Quantos arquivos devem ser criados? \n"
read quantidade
echo -e "Criando os arquivos...\n";
variavel="0"
while [ $variavel -lt $quantidade ]; do
arq=$arquivo$variavel
touch $arq.txt
echo -e "$arq.txt criado \n"
let variavel=variavel+1
done

Peczenyj escreveu...

$ set - `cat txt` && while [ "${1}" ] ; do touch ${1} ; shift ; done

Meu amigo JQueiroz escreveu...

for n in 1 2 3 4 5 6 7 8 9 10; do touch arquivo-$n.txt ; done