No trabalho na véspera do ano novo

Acordar cedo, se arrumar, pegar o trem e vir para o trabalho, na data de hoje, não somente é estúpido como absurdo. Não tem nenhum motivo que me faça entender isso. Voce colocar recursos trabalhando hoje para nada é ridiculo. Hoje só serviu para continuarmos a usar a Internet da empresa ao inves da que temos em casa que alias a Internet da minha casa é melhor que a da empresa.

Sem contar que mesmo assim continuo burlando a rede daqui pra ficar mais feliz. Odeio regras.

Foi por pouco! iPod, celular, carteira

Fui almoçar agora pouco, sim (18:00) e Punk e eu fomos ao McDonalds aqui do lado pegar alguma coisa. Quando estamos nos sentando a mesa, o Punk sem querer esbarrou com sua bandeja em 1 das cadeiras da mesa e eu ja estava sentado na mesa e simplesmente todo o suco que ele havia pedido foi despejado sobre minha bandeja. Para ajudar tudo, estava iPod, htc e carteira.

iPod: com a graça do bom Deus, comprei a pouco tempo uma capa iSkin de silicone com uma cobertura de acrilico. Por conta da capa, apenas algumas gotas cairam sobre o iPod. Maravilha!

HTC: graças a capa que o htc fornece, apenas a capa ficou toda melada com o suco, o celular não foi afetado.

Carteira: a carteira é de couro e por isso, bastou um pouco de agua no guardanapo para tirar o melado.

UFA!! Foi por muito pouco!

TIM Web, será que o de alguém funciona? (não vale se for de funcionário da TIM)

Desde Maio aproximadamente estou utilizando o serviço da tim pra acesso banda larga móvel. Tenho que confessar que tinha esperanças de que a TIM lançasse um serviço de boa qualidade pra competir no mercado com os outros 2 existentes, vivo e claro afinal estavam chegando por último e ter algo de bom para competir (qualidade e velocidade que os outros não tem) era algo bom.

Desde que assinei, só dor de cabeça. Nunca conseguia velocidades boas, depois descobriram que o problema era configuração do modem que veio errada e que só consegui que fosse analisado depois que abri chamado na Anatel.

Depois descobri que nas letras miúdas no contrato existe sim limitação de banda no plano “ilimitado”.

Agora, com o serviço 100% em produção em tudo quanto é canto, sinto que a qualidade cai de maneira absurda, de maneira que mal consigo me manter conectado, as velocidades atingidas quando não se está na limitação de banda, deixam muito a desejar. O plano de 7mb não passa de 2mb e o de 1mb se bater isso, agradeça.

Testei o serviço em diversos locais de São Paulo(Lapa, Pirituba, Santo André, Paulista, Vila Mariana) e nada que me faça ter uma perspectiva de melhora.

Para fazer streaming, deplorável. Skype, esqueça. Jogar Counter Strike, só consegui 2 vezes desde que comprei.

Conclui que tenho que continuar com minha assinatura em casa da NET 6mb que me atende melhor que isso só que infelizmente não pode ir comigo para onde quero e com meu vivo zap para o celular que só não uso como banda larga móvel pois meu celular só suporte Edge e ainda estou na fidelização e não posso trocar.

Agora, minha recomendação para qualquer pessoa que pensa em adquirir uma banda larga é. Evite TIM se houverem outras opções. A TIM mesmo perdendo mais clientes agora na portabilidade não aprende. Sei que eles perdem mais do que ganham.

Meu cookbook para firewall iptables

Proposito

Como eu utilizo aqui em casa uma maquina dedicada para firewall, decidi fazer algumas
coisas que nenhum firewall pronto poderia me proporcionar para poder obter um diferencial
para as soluções existentes por ai. Nao vou ficar colocando regras mágicas pois a internet
ja está saturada de tanta informação sobre o assunto.

O que eu fiz:

Slackware Linux bem basico onde decidi recompilar a maior parte das coisas que envolviam
uso de rede e recompilei o kernel para suportar tudo de VPNs.
Pra finalizar, estou rodando portsentry para melhorar a segurança.

No entanto ainda possuo algumas regras no firewall e preciso sempre mante-las, sem contar
nas maquinas que o portsentry detecta e bloqueia que desejo que continuem no block
independente se eu reinicie a maquina ou não.

no slackware (e em outras distros também se vc procurar o arquivo certo ou diretório) eu
simplesmente editei o rc.6 e coloquei logo no começo do arquivo o seguinte:

## iptables-save
/usr/sbin/iptables-save > /etc/rc.d/rc.firewall

Durante o boot, adicionei ao meu script rc.inet2 (que por acaso modifiquei inteiro assim
como a maior parte de todos os outros rcs) eu acrescentei a seguinte linha:

## iptables-restore
/usr/sbin/iptables-restore < /etc/rc.d/rc.firewall

Dessa maneira, mantenho tudo do jeito que está em caso de a maquina ser reiniciada por
qualquer motivo.

Bom, é isso tudo ai. 🙂

Sergio Victorino
suid0@unitednerds.org

Twitter

Me impressiono em saber como a teoria KISS (Keep it simple STUPID) funciona maravilhosamente bem. Tantos sites de relacionamentos, com milhares de recursos e no final umas das cosias que eu mais queria era um lugar que voce pudesse colocar 1 coisinha simples. Achei a resposta. Twitter! Cara eu consigo fazer o que eu quero. Passar a mensagem aos meus amigos o que estou fazendo. É muito melhor do que ficar postando no msn toda vez naquele cantinho onde vc pode por um texto.

LPD – Line Printer Daemon

1. Por que fiz isso aqui

Antes de ir aos comandos vou explicar o motivo de eu ter montado esse pequeno HowTo:
Onde trabalho, temos centenas de Unidades de atendimento espalhadas pela cidade e em cada uma das unidades, temos diversas impressoras, em rede, local, através de microtarget, enfim, temos muita coisa relacionada a impressao. Pelo tamanho de nossa rede, diversos chamados para manutencao de impressoras aparecem no help desk e como o pessoal do help desk nem sempre domina o conhecimento (ainda!! afinal help desk tem futuro!) eles costumam tirar as dúvidas com a equipe de Tecnologia (analistas) para poder dar o suporte necessário.
Durante diversos dias, um dos colegas do Help Desk tem solicitado que fosse elaborado um manual onde ele conseguisse atender as unidades durante a madrugada para nao ter que acordar ninguem, sendo assim, googlei algumas coisas sobre lpd e mesclei a outras que já conhecia e elaborei isso daqui.

2. Introducao

No Unix e nos sistemas Unix Like, o sistema padrao sempre foi o LPD (Line Printer daemon). So que nos ultimos anos, surgiram solucoes alternativas a ele (ex. CUPS Common Unix Printing System). Os principais arquivos e executaveis do lpd são:

lpd – line printer daemon (Isso é que faz a impressao funcionar)
lpd.conf – Arquivo aonde configuramos o daemon
lpd.perms – Controle de permissoes de acesso ao lpd (quem imprime oq)
/etc/printcap – Arquivo aonde configuramos as impressoras na qual iremos nos conectar

O arquivo /etc/printcap define a configuração usada pelo daemon. O uso de impressoras locais ou remotas é transparente, sendo gerenciado pela interação entre os daemons lpd das máquinas envolvidas.
Os principais comandos de impressão são:

* lpr : envia o arquivo (ou a entrada padrão) para a impressora.
* lpq : lista a fila de impressão.
* lprm : remove um job da fila de impressão.

Normalmente o comando lpr efetua somente o envio de dados para a impressora local ou remota, sem nenhum tratamento. Isso significa que os dados enviados devem estar formatados para a impressora desejada.
Existem muitos filtros disponíveis para converter formatos comuns (PostScript, imagens, etc) para código nativo de impressoras específicas, como o magicfilter. Esses filtros podem ser ativados automaticamente pelo daemon lpd, através de sua definição adequada no arquivo /etc/printcap. Com isso, pode-se mandar diretamente para impressora os mais diversos formatos de arquivos, sem necessidade de conversão manual.

Todos esses três comandos lpr, lprm e lpq aceitam a opção -PNome-da-Impressora para especificar qual a impressora/fila irá operar, como listado no arquivo /etc/printcap. Ele habilita que você possa enviar, remover e checar os trabalhos de impressão para várias impressoras. Se você não usa a opção -P, então esses comandos usam a impressoras especificada na variável de ambiente PRINTER. Finalmente se você não tiver a variável de ambiente PRINTER, esses comandos por padrão usam a impressora lp.

2.1 Configurando o /etc/printcap

Nesta seção é explicado como configurar a impressora que usamos como exemplo para a impressão de documentos de texto.

Em primeiro lugar é necessário modificar o arquivo /etc/printcap, criando uma descrição para a impressora usando um identificador (o nome da impressora) padrão lp.

Exemplo /etc/printcap

lp|local printer|HP DeskJet 690C:
:lp=/dev/lpa0:sd=/var/spool/lpd/lp:lf=/var/log/lpd-errs:
:sh:pl#66:pw#80:if=/usr/local/libexec/lpfilter:

O formato do arquivo e as opções estão descritas em detalhe em printcap(5). A única coisa a assinalar é que, para resolver o problema das “escadinhas”, foi inserido o indicador para um filtro com a instrução:

if=/usr/local/libexec/lpfilter

Driver de impressão: no Exemplo 6-1 é usado o dispositivo lpa#, que é o driver “polled” da impressora no lugar de lpd#, que é o driver padrão para interrupção administrada (interrupt driven driver). Algumas impressoras não administram corretamente as interrupções, com a conseqüência de que levam horas para imprimir uma página.

Depois é necessário criar os diretórios de spool especificados com as opções sd, que serão usadas pelo lpd para acumular os dados.

# cd /var/spool/lpd
# mkdir lp
# chown daemon:daemon lp
# chmod 770 lp

Impressao remota

E necessario configurar /etc/printcap:

lp|line printer on 192.168.0.1:
:lp=:sd=/var/spool/lpd/lp:lf=/var/log/lp-errs:
:rm=192.168.0.1:rp=lp

ps|Ghostscript driver on 192.168.0.1:
:lp=:sd=/var/spool/lpd/lp:lf=/var/log/lp-errs:
:mx#0:
:rm=192.168.0.1:rp=ps

3. Imprimindo

Sempre devemos lembrar de nao tentar imprimir um arquivo .doc ou outra coisa diretamente pelo lpr pois sabemos que necessitamos de conversores para que o arquivo seja impresso da maneira correta. No caso de arquivos de texto puro, nao ha problemas.

Para imprimir arquivos em texto puro, digite:

$ lpr nome_do_arquivo

Podemos imprimir também multiplos arquivos de texto puro na mesma linha de comando como no exemplo a seguir:

$ lpr arquivo1.txt arquivo2.txt

Ha tambem a opcao de imprimir especificando a impressora a ser utilizada na impressao:

$ lpr -Pnome-da-impressora nome-do-arquivo

Se voce digitar:

ls -l |lpr -Pprinter1

Estariamos enviando um ls, ou seja, um dir do DOS para a impressora printer1, ou seja, seria impresso exatamente
essa listagem. Como nao ha arquivos a serem impressos pelo comando lpr, O comando lpr ira ler da entrada padrão,
que no caso e o resultado do comando ls -l.

4. Verificando a Impressão

Para visualizar a fila para a impressora padrão, digite: lpq. Para especificar a impressora, use a opção -P. Por exemplo, o comando:

$ lpq -Pprinter1

mostrará a fila da impressora chamada de printer1. Aqui está um exemplo da saída do comando lpq:

printer1 is ready and printing
Rank Owner Job Files Total Size
active suid0 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
2nd suid0 10 (standard input) 1635 bytes
3rd mam 11 … 78519 bytes

Ele mostra três trabalhos de impressão na fila da impressora printer1.
O primeiro trabalho, enviado pelo usuario suid0, tem atribuido um “número de fila” 9. Cada trabalho de impressão tem um número único. A maioria das vezes você pode ignorar este número, mas você irá precisar dele se quizer cancelar o trabalho de impressão; veja na seção Removendo Trabalhos de Impressão para mais detalhes.

O número de trabalho de Impressão 9 consiste em dois arquivos. Multiplos arquivos dado em um comando lpr é tratado como parte de um simples trabalho de impressão. Ele é o trabalho de impressão atual ( note a palavra active na coluna “Rank”), a qual diz qual deve ser o trabalho de impressão ativo. O segundo trabalho de impressão consiste de dados passados pela entrada padrão para o comando lpr. O terceiro vem do usuário mam; o qual é um trabalho de impressão muito grande. O nome do diretório do seu arquivo é tão grande que não cabe, então o comando lpq mostra os pontos da árvore.

A primeira linha da saída do comando lpq é igualmente importante: ela informa o que a impressora está fazendo ( ou o que o LPD pensa que ela fazendo em última instância ).

O comando lpq suporta também a opção -l para gerar uma longa lista detalhada. Aqui está um exemplo lpq -l:

waiting for bamboo to become ready (offline ?)
suid0: 1st [job 009rose]
/etc/host.conf 73 bytes
/etc/hosts.equiv 15 bytes

suid0: 2nd [job 010rose]
(standard input) 1635 bytes

mam: 3rd [job 011rose]
/home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes

5. Removendo um Trabalho da fila de Impressão

Você pode remover um trabalho de impressão da fila com o comando lprm. Frequentemente, você irá utilizar o comando lprm para remover o trabalho de impressão ativo, mas muitas das vezes ou todas as vezes, a impressão continua.

Para remover o trabalho de impressão da impressora padrão, vocè deverá primeiro encontrar o número do trabalho de impressão com o comando lpq, então digite:

$ lprm job-number

Para remover o trabalho de impressão de uma impressora especifica, você deve utilizar a opção -P. O comando à seguir remove o trabalho de impressão de número 10 da fila de impressão da imrpessora bamboo:

$ lprm -Pprinter1 10

O comando lprm possui alguns atalhos:

lprm –

Remove todos os trabalhos de impressão ( para a impressora padrão ) pertencente a você.
lprm usuário

Remove todos os trabalhos de impressão ( para a impressora padrão ) pertencentes ao usuário usuário. Somente o super-usuário pode remover os trabalhos de impressão de outros usuários, e você sõ pode remover os seus próprios.
lprm

Sem o número do trabalho de impressão, ou com a opção – aparecendo na linha de comando, lprm irá remover o trabalho de impressão ativo ( corrente ) da impressora padrão se este for pertencente a você, caso contrário só o super-usuário poderá remove-lo.

Utilize a opção -P para poder especificar a impressora sem ser a padrão. Por exemplo, o seguinte comando remove todos os trabalhos de impressão para o usuário corrente na fila da impressora chamada de printer1:

$ lprm -Pprinter1 –

Nota: Se você esta trabalhando em um ambiente de rede, o comando lprm permitirá à você remover os trabalhos de impressão apenas enviados pela máquina que os enviou. Veja a sequência de comandos abaixo para demosntrar isso:

$ lpr -Pprinter1 myfile

$ telnet servidor

$ lpq -Pprinter1

Rank Owner Job Files Total Size
active sergio 12 … 49123 bytes
2nd suid0 13 myfile 12 bytes

$ lprm -Pprinter1 13

dequeued

6. Utilizando filtros para formatar texto

O comando lpr suporta um número de opções que controla a formatação do texto, converte graficos e outros formatos de arquivos, produzindo multiplas copias, manipulando o trabalho de impressao, e muito mais. Essa seção descreve as opções.

As seguintes opções do comando lpr controla a formatação dos arquivos no trabalho de imrpessão. Use essas opções se o trabalho de impressão não contiver texto puro ou se você quizer uma saída formatada de texto puro através do lpr.

Por exemplo, o comando a seguir imprime um arquivo DVI ( de um systema TeX) chamado de fish-report.dvi para a impressora chamada de bamboo:

$ lpr -Pprinter1 -d fish-report.dvi

Essas opções sao aplicadas em cada arquivo do trabalho de impressão, você não pode misturar (digamos) arquivos nos formatos DVI e ditroff no mesmo trabalho de impressão. Sendo assim envie separadamente os arquivos, usando opções de conversão diferentes para cada um deles.

Nota: Para todas essas opçõess, exceto as -p e -T, requerem um filtro conversor instalado para a impressora de destino. Por exemplo, a opção -d precisa do filtro de conversão para DVI. A seção Filtros Conversores dá mais detalhes.

-c

imprime arquivos do tipo cifplot.
-d

Imprime arquivos do tipo DVI.
-f

Imprime arquivos do tipo FORTRAN.
-g

Imprime arquivos do tipo plot.

-i número

Para alinhar a saída por um número de colunas; se você omitir número, o alinhamento será de 8 colunas. Essa opção trabalha somente com alguns filtros conversores.

Nota: Não coloque nenhum espaço entre a opção -i e o número.

-l

Imprime arquivo do tipo literal, incluindo caracteres de controle.
-n

Imprime arquivo do tipo ditroff (troff independente do dispositivo).
-p

Formata o texto puro com o comando pr(1) antes da impressão. Veja pr(1) para maiores informações.
-T título

Usa o título no cabeçalho do comando pr(1) ao invez do nome do arquivo. Essa opção afeta somente quando usado em conjunto com a opção -p.
-t

Imprime arquivo do tipo troff.
-v

Imprime arquivo do Tipo raster.

Aqui um exemplo: Esse comando imprime uma versão da página de manual do comando ls na impressora padrão:

$ zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t

O comando zcat descompacta o codigo fonte da pagina do manual ls e transfere para o comando troff, o qual formata o codigo a faz a saida do GNU troff ir para lpr, o qual envia o trabalho de impressao para o spooler doLPD. Por causa do uso da opcao -t para o comando lpr(1), o spooler ira converter a saida do GNU troff em um formato que a impressora possa compreender e entao sera impresso o trabalho de impressao.

7. Opções de Manipulação de Impressão

As opçõess a seguir para o comando lpr(1) informa ao LPD como manipular os trabalhos de impressão:

-# cópias

Produz o número de cópias de cada arquivo no trabalho de impressão ao inves de uma única cópia. O administrador pode desabilitar essa opção para reduzir o desgaste da impressora e insentivar a fotocópia. Veja a seção Restringindo o número de cópias .

Esse exemplo imprime tres cópias do arquivo parser.c seguido de tres cópias do arquivo parser.h na impressora padrão:

$ lpr -#3 parser.c parser.h

-m

Envia um e-mail apos o término da impressão do trabalho de impressão. Com essa opção, o sistema LPD irá enviar um e-mal para a sua conta quando ele terminar de gerenciar seu trabalho de impressão. Na mensagem, ele ira informar à você se a impressão terminou com sucesso ou com falhas e, geralmente, qual foi o erro ocorrido.
-s

Não faz cópias de os arquivos para o diretório de spooling, mas ao inves disso, ele cria um link simbólico.

Se você está imprimindo um trabalho de impressão grande, provavelmente essa opção irá ajuda-lo. Isso economiza espaço no diretório de spooling, você pode ter um consumo maior que o seu espaço disponível no sistema do arquivo onde fica esse diretório. Isso economiza tempo porque o LPD não precisa copiar o arquivo cada vez que o seu trabalho de impressão for impresso.

Entretanto, existe um custo: deste que o LPD irá acessar o arquivo original diretamente, você não poderá modifica-lo ou remove-lo até que tenha terminado a sua impressão.

Nota: Se você está imprimindo para uma impressora remota, o LPD irá eventualmeten que copiar os arquivos da máquina local para a máquina remota, então a opção -s irá apenas economizar espaço na máquina local, não na máquina remota. Ainda assim é uma opção muito útil.

-r

Remove os arquivos do trabalho de Impressão apos terem sido copiados para o diretório de spool, ou apos a impressão deles com a opção -s. Seja cuidadoso com essa opção!

8. Opções de Páginas de Cabeçalho

Essa opção do lpr ajusta o texto que normalmente aparece no cabeçalho do trabalho de impressão. Se o cabeçalho for suprimido para a impressora de destino, essa opção não terá efeito algum. Veja a seção Páginas de Cabeçalho para informar-se sobre a configuração.

-C texto

Troca o nome da máquina na página de cabeçalho pelo texto. O nome da máquina é normalmente o da máquina que enviou o trabalho de impressão.
-J texto

Troca o nome do trabalho de impressão na página de cabeçalho pelo texto. O nome do trabalho de impressão normalmente é o nome do primeiro arquivo do trabalho de impressão, ou stdin se você estiver imprimindo da entrada padrão.
-h

Não imprime a página de cabeçalho.

Nota: Em alguns locais, essa opção pode não ter efeito algum, uma vez que a páginas de cabeçalho são sempre gerada.

Acredito que isso consiga explicar bastante coisa sobre o sistema de impressao. Mas caso haja mais alguma coisa, me mande um e-mail para que eu tente ajudar. Mas nao venha me perguntar nada estupido demais. Mesmo que esse manual nao reponda, ainda temos o google para nos ajudar, somente depois de googlar o que esta precisando venha me procurar. Posteriormente, terei um manual explicativo sobre lpc.

Sergio Augusto a.k.a suid0
suid0@unitednerds.org
suidzero@gmail.com