Arquivo da categoria ‘*nix’
Linux Counter em Português
O Linux Counter começou por brincadeira. O objetivo era contar quantos usuários estavam usando linux. Claro, seria muita pretensão ter todos os usuários linux se cadastrando no Linux Counter, mas já é um início. Com os dados dos usuários cadastrados e um pouco de estatística podemos ter uma boa visão do Linux no mundo. Além de poder cadastrar todas as suas máquinas, você pode também ver estatísticas de uso do Linux por kernel, local geográfico, CPU, etc.
E, o que é mais legal, agora estão em Português e em várias outras línguas também. Cadastre suas máquinas Linux em http://i18n.counter.li.org/ e veja como como você se encaixa na média mundial.
Montar uma conexão remota SSH como diretório em Ubuntu/Debian
Ah, festas de fim de ano. Hora de ir visitar os amigos, ficar tempo demais e não conseguir trabalhar. Mas acessar seus arquivos é fácil.
Instale o pacote sshfs:
$ sudo apt-get install sshfs
Adicione-se ao grupo fuse:
$ sudo adduser seuusuario fuse
Crie um diretório onde você irá montar os arquivos remotos:
$ mkdir arquivosremotos
Monte o diretório:
$ sshfs dominio.da.sua.maquina:/diretorio/a/montar/ arquivosremotos
Configurações do xorg.conf para diferentes dispositivos de vídeo e mouse
Para sistemas com configurações menos convencionais (como minhas máquinas aqui), o X tem dificuldade de identificar os dispositivos corretamente. Este artigo é voltado para aqueles que tem uma breve idéia de como configurar o X mas tem encontrado problemas para configurar video e mouse.
Para descobrir o nome e o Busid de uma placa de video, use:
$ lspci | grep VGA
O arquivo xorg.conf pode ser encontrado em /etc/X11/xorg.conf
Section "Device" # nVidia Corporation GeForce 6100 nForce 430 (rev a2) Identifier "VC0" Driver "nv" Busid "PCI:0:13:0" EndSection Section "Monitor" # AOC 917 Vw Identifier "M0" EndSection Section "Screen" Identifier "S0" Device "VC0" Monitor "M0" Defaultdepth 16 SubSection "Display" Depth 16 Modes "1440x900" EndSubSection EndSection Section "Device" # nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2) Identifier "VC1" Driver "nv" Busid "PCI:1:06:0" EndSection Section "Monitor" # ViewSonic VE175 Identifier "M1" Horizsync 64 Vertrefresh 60 EndSection Section "Screen" Identifier "S1" Device "VC1" Monitor "M1" Defaultdepth 16 SubSection "Display" Depth 16 Modes "1280x1024" EndSubSection EndSection Section "Device" # nVidia Corporation NV43 [GeForce 6600 GT] (rev a2) Identifier "VC2" Driver "nv" Busid "PCI:2:0:0" EndSection Section "Monitor" # AOC 917 Vw Identifier "M2" EndSection Section "Screen" Identifier "S2" Device "VC2" Monitor "M2" Defaultdepth 16 SubSection "Display" Depth 16 Modes "1440x900" EndSubSection EndSection Section "Device" # Silicon Integrated Systems [SiS] 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter Identifier "VC0" Driver "sis" Busid "PCI:1:00:0" EndSection Section "Monitor" # DELL 17" CRT Identifier "M0" VertRefresh 75 HorizSync 80 EndSection Section "Screen" Identifier "S0" Device "VC0" Monitor "M0" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1280x1024" EndSubSection EndSection Section "Device" # nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev a1) Identifier "VC1" Driver "nv" Busid "PCI:0:09:0" EndSection Section "Monitor" # LG Studioworks 700S Identifier "M1" VertRefresh 60 HorizSync 64 EndSection Section "Screen" Identifier "S2" Device "VC2" Monitor "M2" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1280x1024" EndSubSection EndSection Section "Device" # nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2) Identifier "VC2" Driver "nv" Busid "PCI:0:11:0" EndSection Section "Monitor" # MAC Vision 19" Identifier "M2" VertRefresh 75 HorizSync 80 EndSection Section "Screen" Identifier "S2" Device "VC2" Monitor "M2" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1280x1024" EndSubSection EndSection Section "InputDevice" # Logitech Mouse Series 9 Serial CC-93-9F (ligado em COM1) Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/ttyS0" Option "Protocol" "Logitech" EndSection Section "InputDevice" # Mouse PS/2 convencional Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "true" EndSectionSem comentários »
Seu Pidgin não connecta com YahooIM?
O pessoal do Ubuntu (e derivados) não costuma atualizar o Pidgin e outros programas a não ser que sejam encontrados problemas de segurança ou de bugs importantes.
Com isso, quem usa Ubuntu ainda está de fora da última versão do Pidgin (2.5.8). Como os desenvolvedores do Pidgin são muito camaradas, eles estáo hospedando o PPA do Pidgin pra usuários do Ubuntu. Para usar, copie e cole estes dois comandos no terminal:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com \ 67265eb522bdd6b1c69e66ed7fb8bee0a1f196a8
echo deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu \ `lsb_release --short --codename` main | \
sudo tee /etc/apt/sources.list.d/pidgin-ppa.list
A conexão do Pidgin 2.4.x a 2.5.6 com YahooIM era instável. A versão 2.5.8 corrige o problema.
Quer saber como funcionam esses comandos e exatamente o que fazem? Deixe um comentário.
Sem comentários »XDebug e KCacheGrind para análise de desempenho
XDebug é um pacote de debug e análise para PHP, provendo informações úteis como uso de memória, rastreamento de funções e pilhas, e desempenho.
KCacheGrind é um aplicativo para análise de dados de desempenho como os gerados pelo XDebug. Tem vários recursos gráficos para visulizar a execução do programa sendo analisado e os recursos utilizados por cada unidade deste programa.
O XDebug não deve ser instalado em máquinas de produção pois causa uma carga extra em função de suas análises. A instalação dos pacotes em distribuições baseadas em Debian (Debian/Ubuntu/XUbuntu) se dá pelo comando:
apt-get php5-xdebug kcachegrind graphviz
A análise de desempenho (profiler) deve ser adicionada ao seu php.ini (em /etc/php5/apache2/php.ini). O valor 1 liga a análise, 0 desliga a análise.
xdebug.profiler_enable = 1
Após a alteração, reinicie o Apache.
/etc/init.d/apache2 restart
A cada execução, o XDebug criará um arquivo em /tmp com os dados da análise de desempenho. O nome do arquivo será parecido com
cachegrind.out.*
onde * é o número do processo apache que deu origem a esta análise. É um arquivo de texto puro.
Aqui entra o KCacheGrind. Abra o arquivo cachegrind.out.* e veja onde seu script está gastando mais tempo. Otimize primeiro o que está gastando mais tempo. A unidade de tempo do KCacheGrind é simplesmente uma unidade de tempo e não o tempo de execução em milisegundos.
Como otimizar? Isso fica pra outro post.
Maiores informações:
http://kcachegrind.sourceforge.net/html/Home.html
http://www.xdebug.org/
ou deixe um comentário.
Virtual Hosts no Apache 2.2 sem erro 403
As vezes é mais fácil procurar na internet a resposta para um problema que temos do que procurar no manual, por mais simples que o problema possa ser.
Vamos lá, este é simples…
Para que você possa desenvolver e testar vários sites diferentes na mesma máquina você pode configurar Virtual Hosts no Apache 2.2.
Siga os passos abaixo, considerando que você utiliza Windows.
- Configure seu arquivo HOSTS do Windows para responder por outros hosts além do localhost. Para isso edite o arquivo HOSTS que no Windows Vista está em:
C:\Windows\System32\drivers\etc - Acrescente linhas referentes ao seus subdomínios por exemplo:
#configuração original
127.0.0.1 localhost
::1 localhost#linhas adicionadas
127.0.0.1 teste.localhost
127.0.0.1 cliente1.localhost
- No arquivo de configuração do Apache (httpd.conf) remova o comentário da linha:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf - No arquivo httpd-vhosts.conf, adicione um grupo de linhas de configuração para cada novo subdomínio como o exemplo:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "D:/Projetos/teste"
ServerName teste.localhost
ErrorLog "logs/teste-error.log"
CustomLog "logs/teste-access.log" common
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
- Reinicie o Apache.
Configurando um teclado ABNT2 no OpenSolaris 2008.11
echo “setxkbmap -rules /usr/X11/lib/X11/xkb/rules/xorg” >> /etc/profile
echo “setxkbmap -model abnt2″ br >> /etc/profile
1 comentário »Como mudar o UUID de um disco virtual
Utilizado por máquinas virtuais como VirtualBox, um disco virtual (vdi) possui um identificador único. Este identificador é utilizado pela máquina virtual.
Porém uma das facilidades de usar máquinas virtuais é o da possibilidade de duplicar a máquina por completo, seja para backup ou para fins de desenvolvimento. E é principalmente no quesito de desenvolvimento que a alteração de UUID pode se fazer necessária.
Para mudar o UUID de discos virtuais do VirtualBox use o seguinte comando no console do seu Linux:
$ VBoxManage internalcommands setvdiuuid [nome do arquivo vdi]
onde [nome do arquivo vdi] é o seu disco virtual.
Servidor LAMP no Ubuntu Linux
Aqui vamos apenas registrar um link que explica de forma fácil como configurar um servidor Linux com Apache, MySQL e PHP.
https://help.ubuntu.com/community/ApacheMySQLPHP
O texto inclui também instruções para o Ubuntu 8.04 (Hardy Heron).
Mais uma vez, parabéns à comunidade Ubuntu.
Sem comentários »RAR no Ubuntu 8.04
Para abrir arquivos RAR no Ubuntu Hardy Heron utilizando o compactador de arquivos padrão da distribuição basta instalar o pacote rar.
Abra uma janela de terminal (no menu Aplicações/Acessórios) e digite o comando:
$ sudo apt-get install rar
Se solicitado, digite sua senha de instalação.
Assim, na próxima vez que abrir um arquivo com a extensão RAR, o compactador de arquivos funcionará corretamente.
Sem comentários »Mudar o layout do teclado on-the-fly em XFCE (e provavelmente em outros também)
Problema:
Em um teclado com dead-keys, programar em linguagens onde o uso de apóstrofe, aspas simples e aspas duplas. Python, por exemplo, e seus “”".
Solução:
setxkbmap é um programa que altera o seu layout de teclado. Está já pré instalado no XUbuntu 7 e certamente em outras distros.
Adicione dois (ou quantas línguas precisar) ícones onde for mais eficiente para o seu trabalho. O comando é:
setxkbmap [mapa do teclado] [-variant [variante]]
Exemplos:
Para US International (acentos e etc)
setxkbmap us -variant intl
Para US sem dead-keys
setxkbmap us
Ubuntu 8.04 num notebook tablet HP tx1070br
O Ubuntu (www.ubuntu.com) é um distribuição Linux muito amigável.
As versões anteriores a 8.04 não rodaram ao tentar instalar direto do live CD num notebook tablet da série tx1000 da HP com processador AMD Turion 64 x2 (arquitetura AMD64). Felizmente a versão 8.04 lançada ontem (24/04/2008) funcionou muito bem.
Para que a placa wireless funcionasse corretamente apenas tive que liberar o uso de drives proprietários. O mesmo aconteceu para a placa de video NVIDIA.
Bluetooth funcionou perfeitamente num celular Sony Ericsson.
Depois instalei Skype utilizando as instruções contidas neste link já que até o momento não existe uma versão do Skype para arquitetura AMD64.
O próximo passo será pesquisar a possibilidade de habilitar o uso da caneta e da tela touch screen.
3 comentários »Mudar o usuário do Apache
Se você quer que o seu httpd rode com um usuário ou grupo diferente, você deve iniciar o httpd como root e depois trocar.
User/Group: o nome ou número do usuário ou grupo que você quer que o Apache use. Fique atento à segurança.
<IfModule !mpm_netware_module>
User ###SEU_USERNAME_AQUI###
Group ###SEU_GRUPO_AQUI###
</IfModule>
Como quebrar uma tabela do tipo MyISAM a ponto de recuperá-la via SQL
Saber isso é útil para podermos testar nossos aplicativos em situações de risco.
Em um típico servidor Debian, você encontrará os bancos de dados em /var/lib/mysql. Cada banco tem seu próprio diretório, composto de 3 arquivos por tabela. Uma tabela MyISAM vai estar então armazenada em:
- [tabela].frm - dados de criação da tabela (campos, etc);
- [tabela].MYI - índice (um ‘cache’ onde parte dos dados é duplicada pra que o acesso seja mais rápido);
- [tabela].MYD - onde os dados são efetivamente guardados.
Não parece ser muito comum arquivos .frm ou MYI serem corrompidos. Pelo menos até o momento não tive a felicidade de encontrar problemas com eles. O que acontece com freqüência em alguns servidores mais populares é corromper o MYD.
O arquivo MYD é um bando de dados. Como googlar pela estrutura do MYD não retornou nada de cara, vamos apelar pra engenharia reversa. Os dados parecem estar gravados da seguinte maneira:
- 6 bytes pra demarcar o começo de uma linha;
- 0-2 bytes pra demarcar o campo (depende do tipo de campo);
- Dados (o que estamos efetivamente guardando).
Ficamos com um arquivo assim:
Começo de linha - Campo - Dados - Campo - Dados - Começo de Linha - Campo - Dados ….
Inserir um dado com os mesmos bytes dos marcadores não vai corromper a tabela. MySQL não é tão burro assim. Corromper o dado em si, mesmo que seja feito diretamente no arquivo, também não vai corromper a tabela - só vai prejudicar o dado.
Para matar a tabela, mate os marcadores. Substitua-os por qualquer outra coisa usando um editor hexa como beav (apt-get install beav). Quanto mais marcadores você matar, mais problemas vai dar para o REPAIR TABLE.
O REPAIR TABLE parece usar o arquivo de índice para ajudar a recuperar dados. Se a sua estrutura usa indexação, em geral menos dados são perdidos.
1 comentário »sdf.lonestar.org
Há 20 anos no ar. Acesso Unix livre, basta ter telnet ou ssh.
A história deles traz boas lembranças, especialmente de BBS, e pode ser vista aqui.
Registre-se, é grátis, está cheio de boas lembranças. http://sdf.lonestar.org
Sem comentários »Adaptador DWL-G122 no Ubuntu 7.10
Tornar o Linux compatível com hardware é um dos maiores desafios da comunidade desenvolvedora.
Isso acontece porque a maioria dos fabricantes ainda não fornece drivers Linux junto com o dispositivo da mesma forma que ocorre com o Windows.
A lista de compatibilidade de hardware do Linux cresce a cada dia mas ainda assim antes de adquirir um novo dispositivo para funcionar com o sistema você deve pesquisar na internet para saber se ele é compatível.
No caso do Ubuntu uma boa fonte de pesquisa é o próprio site na seção de dispositivos suportados. Veja aqui a página com a lista de dispositivos wireless que podem ou não funcionar no Ubuntu.
Um detalhe importante é que as vezes o mesmo modelo de dispositivo pode ou não funcionar dependendo do chipset que é o nome dado aos componentes internos do dispositivo (chip, firmware, etc…).
No caso do DWL-G122, um adaptador wireless USB da D-Link, a versão do dispositivo que utilizamos é a C1 (este código aparece no próprio adaptador como H/W Ver.: C1). Este modelo com este chipset funciona sem a necessidade de instalação de drivers manualmente na versão 7.10 do Ubuntu.
Para as versões anteriores é necessária a configuração manual que pode ser seguida aqui.
Sem comentários »Eu gostei deste vídeo/imagem/som que estou vendo na página e quero gravar no meu computador!
Se você está usando Firefox em *nix (Debian, Ubuntu ou parecido) o cache está aqui:
~/.mozilla/firefox/[qualquer-coisa-esquisita].default/Cache
Os nomes dos arquivos podem ser esquisitos como 0919A3EFd01 mas ainda assim é bem fácil identificar os arquivos .flv do youtube (geralmente têm mais de 3 MB) ou arquivos de JavaScript.
Basta copiar este arquivo para outro lugar, renomear de acordo e usar à vontade.
A pergunta é… onde está o cache do Firefox em Windows? Dá pra fazer o mesmo?
Sem comentários »Impressora OKI B4350 no Ubuntu
Na versão 7.04 do Ubuntu encontramos driver apenas para a OKI B4300 entretanto o driver genérico (generic) PCL-5c funciona corretamente com a B4350.
Sem comentários »Firefox instável em Ubuntu Feisty?
Se o seu Firefox está instável no Ubuntu Feisty, gerando erros no X, verifique as configuracoes do X.
Um conflito entre a biblioteca do Flash e o X requer que você configure o X pra rodar a pelo menos 24bits de cores.
Sem comentários »
