Como habilitar alta resolução no console (framebuffer)

Introdução:
Por razões históricas (herança dos antigos terminais burros), o console do Linux possui a resolução padrão de  80 colunas X 24 linhas. No entanto é possível aumentar a resolução do terminal para resoluções maiores, como 1024x768 (ou maoires ainda). Isso facilita na hora de utilizar algumas ferramentas de rede, como iftop, iptraf ou o próprio iptables, além de permitir o algumas tarefas que normalmente só seriam executadas em modo gráfico, como visualizar imagens com o cacaview (pacote Debian: caca-utils), navegar na intenet com o links2 (utilizar a opção "-g") ou ainda ver filmes com o mplayer, tudo isso em modo texto!



Itens necessários:
  • Uma placa de vídeo compatível (atualmente todas são, mesmo as on-board).
  • Um monitor que suporte a resolução desejada.
  • Suporte habilitado no kernel (normalmente já vem habilitado na maioria das distribuições)
Configurando:

1) Reinicie seu computador. Na tela de seleção de kernel para boot, selecione o kernel desejado e pressione a tecla "E"


2) Agora você está em modo de edição. Selecione a linha que inicia com a palavra "kernel" e pressione a tecla "E" novamente.

3) Você está editando a linha de comando do kernel. Acrescente ao final da linha a opção vga=xxx, onde xxx é o valor desejado obtido na tabela (e já convertido para decimal). Após acabar de inserir o texto, pressione Enter.


4) Retornamos à tela anterior, já com a alteração efetivada. Se precisar alterar alguma coisa, retorne ao passo 2. Para efetuar boot com essa configuração, pressione "B".


Caso a imagem "suma" e apareça uma mensagem semelhante a essa abaixo (a mensagem específica vai depender do modelo e fabricante do seu monitor), você selecionou um modo de vídeo não suportado pelo seu monitor. Reinicie o computador e tente novamente com uma resolução menor.



Após encontrar uma freqüência que efetivamente funcione no seu hardware, fixe a configuração no seu gerenciador de boot. No caso do grub, a configuração fica no arquivo /boot/grub/menu.lst

Referências
http://www.mjmwired.net/kernel/Documentation/fb/vesafb.txt (linha 55. Observe que esta tabela está em hexadecimal, e é necessário converter seus valores para decimal)
http://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers

Como saber quais cartões de memória sua câmera Sony aceita

Introdução
Quem  possui uma câmera digital Sony (como é o meu caso) fica sempre na dúvida na hora de comprar um cartão de memória: será que minha câmera aceita esse modelo/ de cartão? Os manuais normalmente contém essa informação (embora a cada dia que passa mais me convenço de que ninguém mais além de mim lê manual ...), mas ela costuma estar incorreta, pois contém os dados disponíveis na época da impressão do manual (ou seja, após a impressão do manual foi lançado um modelo de cartão com mais capacidade, e sua câmera suporta, mas o manual traz uma informação contrária a essa).

Tabela
Para saber quais modelos e capacidades de memory stick (cartão de memória) são compatíveis com sua câmera Cyber Shot (série DSC-XXX) acesse o seguinte link: http://esupport.sony.com/perl/support-info.pl?&info_id=12

Para descobrir o modelo de sua câmera, procure uma etiqueta na parte inferior da mesma. O modelo é algo parecido com DSC-XXXX. Minha câmera por exemplo é uma DSC-S500. Veja essa foto, de um modelo DSC-H2 (http://upload.wikimedia.org/wikipedia/commons/e/e8/Sony_DSC-H2_Bottom.jpg):





Com o modelo da câmera em mãos, procure (CTRL + F) o mesmo na tabela. Note que para alguns modelos de cartões será necessário o uso de um adaptador.

Entendendo a saída do comando ifconfig

Vamos analisar a saída do comando ifconfig abaixo:


# ifconfig
eth0      Link encap 10Mbps Ethernet  HWaddr 00:00:C0:90:B3:42
          inet addr 172.16.1.2 Bcast 172.16.1.255 Mask 255.255.255.0
          UP BROADCAST RUNNING  MTU 1500  Metric 0
          RX packets 3136 errors 217 dropped 7 overrun 26
          TX packets 1752 errors 25 dropped 0 overrun 0

ppp0      Link encap:Point-to-Point Protocol
          inet addr:187.15.72.157  P-t-P:200.200.200.200  Mask:255.255.255.255
          UP POINTOPOINT RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:1504239 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1155539 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:1905349557 (1.7 GiB)  TX bytes:81721536 (77.9 MiB)

imq0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          UP RUNNING NOARP  MTU:1500  Metric:1
          RX packets:2647959 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2647730 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:30
          RX bytes:1987468198 (1.8 GiB)  TX bytes:1987198741 (1.8 GiB)
Descrição dos campos:
Link encap: Tipo de conexão do link (ethernet, ponto-a-ponto, etc)
HWAddr: Endereço de hardware (MAC Address) da interface. Nem todas as interfaces possuem. Nesse caso, pode aparecer como 00-00-00- ... ou simplesmente não aparecer.
UP BROADCAST RUNNING  MTU 1500  Metric 0: Indica as características da interface de rede:
  • UP/RUNNING: indica que a inteface está ativa.
  • BROADCAST/MULTICAST: indica que a interface suporta esta modalidade de tráfego (broadcast / unicast)
  • MTU: Quantidade máxima de bytes que a interface pode transmitir/receber a cada operação.
  • Metric: Não é utilizado.
  • NOARP: Indica que a interface não suporta operações com endereços de hardware (MAC)
inet addr: endereço IPv4 da interface (não é orbigatório).
inet6 addr: endereço IPv6 da interface (não é orbigatório).
P-t-P: Indica o endereço da "outra ponta" da conexão (apenas para conexões ponto-a-ponto).
Bcast: Endereço de Broadcast da interface (apenas se houver um endereço IPv4 configurado).
Mask: Máscara de rede  da interface (apenas se houver um endereço IPv4 configurado).
RX e TX: Contabiliza os pacotes recebidos (RX) e enviados (TX), bem como os descartados por motivos diversos na transmissão e recepção.
errors: pacotes que não puderam ser transmitidos/recebidos devido a erros (nos próprios pacotes).
dropped: normalmente indica erros de configuração/comunicação. Ex: um equpamento está operando em half-duplex, enquanto o outro está em full-duplex.
overruns: a interface possui duas filas (ou buffers), uma de transmisão e outra de recepção, com um determinado tamanho. Quando essa fila "enche", os pacotes excedentes são descartados como overruns. Em suma: a interface de rede está tentando receber/transmitir mais pacotes/segundo do que o sistema como um todo (interfaces de rede, processador, etc) suporta.
frame: quadros (frames) mal formados.
carrier: erro no link físico. Má fiação, cabos de rede e energia juntos, etc.
collisions: Colisões de rede. Comuns em ambientes com HUBS. Não deveriam ocorrer em ambientes com switches. Se for o caso, cheque a configuração dos equipamentos no tocante ao modo DUPLEX (HALF/FULL) utilizado.
txqueuelen: tamanho da fila (buffer) de transmissão. Normalmente não é necessário alterar o valor padrão.
RX bytes / TX bytes: quantidade de bytes recebidos / transmitidos. (medido em Mebibytes/Gibibytes - http://en.wikipedia.org/wiki/Mebibyte)

Derrubando Conexões já estabelecidas no Squid

O Problema:
Imagine a seguinte situação: você detecta (via sqstat, por exemplo) uma conexão a um site que deveria ser proibido, mas ainda não consta nas suas listas de bloqueio. Assim, você faz insere o site na lista e efetua o reload do squid (normalmente com "/etc/init.d/squid reload" OU "squid -k reconfigure"). As novas conexões são bloqueadas, mas as já existentes permanecem. Dar um restart implicaria em um downtime (ainda que apenas de 1 minuto) na rede toda.

A Solução: Bloquear via negação de rota

1) Descobrir o endereço IP do host de destino:

ping mediafarm02.cdn.embratel.net.br
PING mediafarm02.cdn.embratel.net.br (200.214.220.66) 56(84) bytes of data.
64 bytes from 200.214.220.66: icmp_seq=1 ttl=246 time=2.10 ms

2) Rejeitar a rota para o host desejado.
route add -host 200.214.220.66 reject

3) Checando com o comando route. Perceba que não há indicação de roteador nem interface para o destino selecionado, e que há um sinal de exclamação mostrando que a rota foi rejeitada.


Alguns segundos após a criação da rota, a conexão dá timeout e é finalizada. Posteriormente, essa rota pode ser removida, pois novas conexões serão tratadas diretamente pelo squid.