segunda-feira, 6 de outubro de 2025

Diálogo 00

 Certa vez alguém perguntou:

- O ideal seria passar a vida toda estudando e se preparando, abdicando de todos o resto?

- Não. - respondeu Ele - Você deveria estudar até estar preparado para seguir adiante, assim como eu fiz.

- E se eu escolher simplesmente me preparar continuamente, por que deveria seguir adiante?

- Segue adiante quem quiser, até onde for possível.

- Isso também se aplica à vida?

- Sem dúvida! 

 

quarta-feira, 8 de agosto de 2018

*** Error in `/usr/sbin/smbios-sys-info-lite': free(): invalid pointer: 0x0000000000634460 *** (OMSA installation in XenServer 7.0)

Bom dia, gurizada.

Se você está com o seguinte erro ao instalar (e depois ao tentar iniciar) o OMSA em um XenServer 7.0, eis como resolvi.

A princípio ignorei o que diz em https://linux.dell.com/repo/hardware/dsu/ (alguma versão antiga, quem sabe) quanto ao comando para instalação do OMSA:

Em vez de:
# yum --enablerepo=base install srvadmin-all


Eu executei (conforme a nova recomendação):
# yum install srvadmin-all

Tudo porque se habilitar o repositório base, o XenServer (CentOS) vai instalar versões mais novas de smbios, libsmbios que parecem ser incompatíveis.

Notei que em vez de pouco mais de 60 pacotes, o segundo comando instala em torno de 40, mas parece ter funcionado.

Enjoy yourself.

segunda-feira, 6 de agosto de 2018

Criando image de Debian Stretch com suporte a ZFS para live USB

Buenas,

Seguindo basicamente o que está em https://janvrany.github.io/2018/01/fun-with-zfs-part-2-creating-debian-zfs-rescue-usb-image.html e https://ubuntuforums.org/showthread.php?t=2267762 (configuração de proxy http):

sudo su

zfs create pool00/live_debian_with_zfs

cd /pool00/live_debian_with_zfs

apt install live-build

lb config --distribution=stretch --architecture=amd64 --binary-images=iso-hybrid --iso-volume="Debian Stretch ZFS Rescue Live" --archive-areas="main contrib" --linux-packages="linux-image linux-headers" --apt-http-proxy http://...:3128

echo "
> zfs-dkms
> less
> curl
> wget
> openssh-client
> openssh-server
> openssh-sftp-server
> " >> config/package-lists/my.list.chroot


lb bootstrap

lb chroot

lb binary

Pronto. Bora testar!!!

sexta-feira, 3 de agosto de 2018

Upgrading proxmox from 5.1 to 5.2

Amigos, após futricar um pouco, consegui descobrir o mecanismo para fazer upgrade da versão 5.1 para versão 5.2 do proxmox.

Não é apenas "apt update && apt dis-upgrade" na CLI como diz em vários lugares, mesmo na documentação oficial.

Para poder fazer o upgrade, alterei o arquivo /etc/apt/sources.d/pve-enterprise.list:
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
deb http://download.proxmox.com/debian stretch pve-no-subscription


Por fim, aí sim, "apt update && apt dis-upgrade".

CUIDADO: Este repositório não deve ser usado para servidores em produção.

Envoy yourself!

PS: Achei informações na documentação oficial (https://pve.proxmox.com/wiki/Package_Repositories)

terça-feira, 18 de outubro de 2016

OMSA: Firmware/Driver Information for Controller PERC 6/i Integrated

Minimum Required Driver Version2.24.00.32

Windows 2008 x86

http://www.dell.com/support/home/br/pt/brbsdt1/Drivers/DriversDetails?driverId=CW1N9

http://downloads.dell.com/FOLDER00353674M/1/SAS-RAID_Driver_CW1N9_WN32_2.24.0.32_A03.EXE

segunda-feira, 4 de maio de 2015

ZFS sobre volume iscsi (initiator com open-iscsi). ZVOL entregue sob iscsi (target com iscsitarget). Isto no novíssimo Debian Jessie.

Temos um storage que pensei em dar uma incrementada e prover uma solução de backup e preservação de dados utilizando ZFS. A ideia foi "por que não criar um pool ZFS em um volume do storage e entregar um ZVOL através de iscsi para uso, seja pelo servidor de arquivos ou XenServer?"

Como não posso atualizar o sistema operacional do storage, para isto precisaria de um host intermediário com duas interfaces de rede, uma ligada ao storage, outra para o initiator.

Neste host intermediário instalei o novíssimo Debian Jessie (https://www.debian.org/CD/http-ftp/#stable) e ZoL (http://zfsonlinux.org/debian.html).

Instalei os pacotes open-iscsi e iscsitarget. Depois disto foi só alterar alguns arquivos de configuração.

Logo depois de instalado o open-iscsi e antes dos comandos iscsiadm para descoberta de luns, alterei o arquivo /etc/iscsi/iscsid.conf, substituindo a linha "node.startup = manual" por "node.startup = automatic".

Com o advento do systemd, tive que fazer muita experimentação até conseguir fazer com que a ordem de execução dos daemons open-iscsi, zfs e iscsitarget ocorressem exatamente nesta ordem:

1º open-iscsi para conexão à lun do storage;
2º zfs para importação do pool criado e descrito em /etc/zfs/zpool.cache;
3º iscsitarget para disponibilizar volumes iscsi para outros initiators a partir de dispositivos ZFS, os ZVOLs.

Eis as alterações necessárias nos daemons para que se cumpra esta ordem:
1º open-scsi:
não exige alteração alguma;
2º zfs:
alteração do arquivo /lib/systemd/system/zfs-mount.service:
adicionar comentário na linha "#Before=local-fs.target";
adicionar a linha "After=open-iscsi.service"
3º iscsitarget:
adicionar "zfs-mount nas linhas
# Required-Start:    $remote_fs $syslog $network $time procps zfs-mount
# Required-Stop:     $remote_fs $syslog $network $time procps zfs-mount

Finalizando, já havia tido alguma experiência com falta de memória para o sistema operacional, devido ao cache do ZFS (provavelmente), que consegui contornar com a seguinte linha em /etc/sysctl.conf:
"vm.min_free_kbytes=1048576 "

Pronto! Reiniciando e tudo estando disponível automaticamente logo após o boot, basta fazer uso da lun pelos initiators. Depois basta criar snapshots e exportá-los, para preservação de dados e criação de backups.

terça-feira, 30 de dezembro de 2014

Debian: xHCI xhci_drop_endpoint called with disabled ep

Passei a utilizar um computador Positivo com usb3.0 que estava me deixando maluco com as mensagem "xHCI xhci_drop_endpoint called with disabled ep" no log... muitas mensagens. Acredito até que eu estava tendo lentidão no acesso a dispositivos usb devido a isto.

Como atualmente não utilizo nenhum dispositivo usb3.0 acabei por tentar desabilitar o uso do módulo xhci com os seguintes arquivos em /etc/modprobe.d

Arquivo xhci com o conteúdo:
options xhci enable=0

e o arquivo xhci_hcd com o conteúdo:
options xhci_hcd enable=0

Provavelmente funcione com somente o segundo arquivo, mas como testei assim e já funcionou, fica a dica.

quinta-feira, 23 de outubro de 2014

rsync "cannot delete non-empty directory"

Se a execução do rsync está lhe causando arrepios com a mensagem "cannot delete non-empty directory" quando se está utilizando --delete para que o que é excluído na origem seja refletido no destino, pode ser que esteja acontecendo o mesmo que mim.

Inicialmente meu rsync era assim:


rsync -avh --delete

E então alterei para isto:

rsync -avh --exclude=Thumbs.db --delete

Acabou acontecendo de muitos arquivos Thumbs.db continuarem no destino e o --delete não observa que eles foram excluídos na origem, porque eles continuam lá. Então o que temos a fazer é --delete-excluded, para que estes arquivos que estão na origem, mas foram filtrados, e não queremos que eles continuem no destino, porque ficaram lá por uma alteração de política de rsync:

rsync -avh --delete-excluded --exclude=Thumbs.db --delete

segunda-feira, 30 de junho de 2014

ZFS no Debian Jessie (testing) - parte 3

Tenho armazenado, no meu sistema de arquivos zfs, algumas imagens .vdi de máquinas virtuais do VirtualBox na tentativa de ter um acesso a disco um pouco mais acelerado devido à raidz implantada.

Quem tiver curiosidade sobre o processo de implementação do pool zfs pode verificar em:

Infelizmente notei que após carregar as máquinas virtuais em ficava com a memória praticamente lotada e mesmo depois de desligar as máquinas virtuais a memória continuava lotada sendo que nada era cache. E quando digo lotado é basicamente 6GB de meus 8GB de RAM.

Por acaso resolvi encerrar todos os processos e dar um "modprobe -r zfs". Após isto é que tive meus GBs de memória de volta.

Como não fazia a mínima ideia de como contornar esta situação, após alguma pesquisa cheguei neste post: Excessive memory use with ZFS [SOLVED sort of].

Ainda estou avaliando a solução, mas prontamente já tive uma melhora no cenário, sendo que não cheguei a ficar com mais de 4GB comprometidos. Isto com o meu sistema desktop carregado, com o Iceweasel aberto e muitas abas.

Basicamente a solução consistem em criar o arquivo /etc/modprobe.d/zfs.conf com o conteúdo:
options zfs zfs_arc_max=2147483648

Pelo que entendi este valor seria em bytes e serve como a quantidade máxima de memória utilizada pelo sistema de cache do ZFS o ARC.

Mais informações sobre o tunning do ARC em http://docs.oracle.com/cd/E26502_01/html/E29022/chapterzfs-3.html.


quinta-feira, 12 de junho de 2014

ZFS no Debian Jessie (testing) - parte 2

Continuando o exposto na primeira parte deste tutorial (bom, vou chamá-lo assim agora) em http://meumaravilhosomundolivre.blogspot.com.br/2014/06/zfs-no-debian-jessie-testing.html, partimos para a resolução de alguns inconvenientes encontrados ao compilar e instalar o ZFS a partir do repositório git.

Notei que, depois de criado um sistema de arquivos de tamanho fixo, o dispositivo de bloco correspondente não era criado.
  • Criar o sistema de arquivos com tamanho fixo e verificar a existência do dispositivo de bloco correspondente:
zfs create mypool01/data -V 10G
ls -al /dev/zvol/mypool01/data

ls: não é possível acessar /dev/zvol/mypool01/data: Arquivo ou diretório não encontrado
 


O problema é que nem mesmo /dev/zvol existia, então eis os passos para contornar isto.
  • Copiar os arquivos udev para o local correto:
cp /usr/lib/udev/rules.d/60-zvol.rules /etc/udev/rules.d
cp /usr/lib/udev/rules.d/69-vdev.rules /etc/udev/rules.d

  • Criar o arquivo /etc/default/zfs com o conteúdo:
ZFS_MOUNT=yes
ZFS_UNMOUNT=yes
ZFS_SHARE=no

  • Confirmar a execução do script /etc/init.d/zfs-mount na inicialização padrão:
update-rc.d zfs-mount defaults
Foi importante que o script zfs-mount rodasse na inicialização para que não fosse necessário rodar um simples "zpool status" para que o dispositivo de bloco correspondentes ao sistema de arquivos mypool01/data aparecesse logo após o sistema carregado.

terça-feira, 10 de junho de 2014

ZFS no Debian Jessie (testing) - parte 1

Finalmente depois de tanto querer, e com todo o incentivo do André Machado (Serpro), eis que me aventurei a brincar com o ZFS.

Os problema começaram desde cedo porque não pude seguir o artigo oficial em http://zfsonlinux.org/debian.html, pois a versão empacotada não compila com o kernel 3.14.

Então inicia a caçada a alguma coisa que ajude no processo de por o ZFS em pé. Entre, quem sabe, tantas outras, optei pela compilação com a ajuda do artigo http://www.graymatterboundaries.com/?p=49, configuração com a ajuda do artigo http://bernaerts.dyndns.org/linux/75-debian/279-debian-wheezy-zfs-raidz-pool e o "3.0 Frequent Mistakes" em https://github.com/zfsonlinux/pkg-zfs/wiki/Ubuntu-ZFS-mountall-FAQ-and-troubleshooting.

Na verdade eu vou relatar basicamente este artigo com um detalhe final que logo explico. Eis o passo a passo:

  • Instalar o kit para compilação do zfs
apt-get install build-essential git autoconf libtool zlib1g-dev uuid-dev linux-headers-$(uname -r)
  • Clonar os repositórios em /root
mkdir /root/zfsonlinux
cd /root/zfsonlinux
git clone https://github.com/zfsonlinux/spl.git
git clone https://github.com/zfsonlinux/zfs.git

  • Compilar e instalar o SPL
cd /root/zfsonlinux/spl
./autogen.sh
./configure --prefix=/usr
make
sudo make install


(gerando pacotes Debian)
./autogen.sh
./configure
make deb
dpkg -i *.deb
  • Compilar e instalar o ZFS
cd /root/zfsonlinux/zfs
./autogen.sh
./configure --with-spl=/root/zfsonlinux/spl --prefix=/usr
make
sudo make install


(gerando pacotes Debian)
./autogen.sh
./configure
make deb
dpkg -i *.deb

Em meu cenário simplificado utilizei 3 discos SATA de 2TB para criar uma raidz utilizando a notação /dev/sd{a,b,c}. Para produção a recomendação uma alternativa com nomeação de dispositivo independente da instalação do sistema operacional, como a obtida em /dev/disk/by-id/.
  • Criando e configurando um pool raidz
zpool create -f -m none -o ashift=12 mypool01 raidz /dev/sda /dev/sdb /dev/sdc
zfs set atime=off mypool01
zfs set dedup=off mypool01
  • Criando um sistema de arquivo em mypool01 e definindo o ponto de montagem
mkdir /pool/data
zfs create mypool01/data
zfs set mountpoint=/pool/data mypool01/data

Até aqui tudo bem, o problema foi que depois de reiniciar, simplesmente eu não conseguia mais acesso ao pool, simplesmente um "zpool list" não listava os pools. Do que pude entender, o que controla a existência do pool zfs é o arquivo zpool.cache e eu não tinha este arquivo em parte alguma do meu sistema.
  • Para criar este arquivo depois de criado o pool rodei:
mkdir /etc/zfs
zpool set cachefile=/etc/zfs/zpool.cache mypool01

Fiz alguns teste, renomeando o arquivo zpool.cache para zpool.cache.old, e realmente o zfs não encontra o pool sem este arquivo.
Uma solução de contorno pra quem criou o pool e reiniciou o sistema sem criar o arquivo zpool.cache é importar o pool e criar o arquivo zpool.cache. O importante é lembrar do nome do pool que foi criado, pois eu não descobri como obter o nome do pool com o zpool list.
  • Para importar o pool
zpool import mypool01

Acredito que com isto já seja possível começar a brincar com o ZFS sem muitas dores de cabeça.

quinta-feira, 25 de agosto de 2011

Alterando a index key da configuração WEP no Android 2.2

Ontem chegou meu tablet android 2.2 chinês. Dizem que é pra ser um Herotab C8, embora o único nome que encontrei foi SM500CC no manual.

Bem, primeira dificuldade foi conectar à rede sem fio com criptografia WEP utilizando a index key 2, ou 1 se começar a contar do 0. Antes que me critiquem pelo uso de WEP, não está sob minha administração direta.

Depois de penar tentando achar a bendita configuração, somente de pois de instalar o http://android-wifi-ace.googlecode.com/é que consegui facilmente setar a chave 2 (facilitando, segunda chave de quatro).

Pra instalar o apk foi bem fácil, simplesmente copiei o arquivo pro root do armazenamento do tablet (ainda não tenho um SD) e então rodar o ApkInstall (que já veio com o tablet) e pronto.

Enjoy yourself!

segunda-feira, 8 de agosto de 2011

Suavização de Fonte do LibreOffice 3.4 no Debian Wheezy

Buenas gurizada,

Se vocês, assim como eu estava, estão com problemas na renderização das fontes do LibreOffice 3.4 no Debian Wheezy, pois seus problemas acabaram.

Basta ir no menu Ferramentas -> Opções e nesta janela, no nó LibreOffice selecionar o item Exibir e então selecionar a checkbox "Utilizar fonte do sistema para interface de usuário". Pronto!

Aí vai a screen da tela de opções.
Adicionar imagem


sexta-feira, 25 de fevereiro de 2011

inComum é realmente incomum.

Acabei de implementar o inComum 0.3.3 em conjunto com o squid 2.7 em debian squeeze amd64 (virtualizado em kvm em debian squeeze amd64 :-P ).

Conto detalhes na sequência.

quarta-feira, 23 de fevereiro de 2011

Cadê o sarg no debian squeeze?

Pois é, depois de muito procurar e não achar e, inclusive, de ter instalado a versão do sarg pro lenny, eis que me deparei com uma explicação: o sarg está bugado.

Então a saída é instalar o srg, que acredito seja o mesmo sarg. Não estudei muito os detalhes, mas sei que funciona da mesma forma, praticamente.

Bom, acho que era só isto :-)

Squid e número de filedescriptors

Seu squid está deixando a navegação lenta e você tem uma rede com mais de, digamos, 400 computadores? Pois seus problemas acabaram, isto é se você for um feliz usuário de Debian ou variantes.

Adicione a linha abaixo ao arquivo /etc/sysctl.conf:
fs.file-max=100000

Rode o comando:
#systcl -p

Altere o valor da única linha do arquivo /etc/default/squid
SQUID_MAXFD=65535

Reinicie seu squid
#service squid restart

Estas configurações vão dar uma enorme folga ao sistema operacional e ao squid no trato com filedescriptors.

That's all.

sexta-feira, 12 de junho de 2009

Novamente liberado para postagens

Olá galera! Por acaso verifiquei que consegui logar no blogger e quem sabe eu possa postar mais algumas coisas se isto se mantiver.
Já faz umas três semanas que estou morando em meu novo AP, este sim adquirido e não alugado aqui em POA. Finalmente minha esposa e eu poderemos construir nossa lar para vivermos tranquilamente pelos próximos 6 ou 7 anos, após isto acredito que poderemos pensar em mudarmos para um AP com área maior que os atuais 30m².
Estive incursionando nos meandros de meu cérebro e disto surgiram algumas idéias de cunho filosófico, mas que ainda não pude aprofundar nas definições. A primeira: me parece que a pergunta não deveria ser "qual o sentido da vida?", mas sim "porque somos inteligentes?", afinal vida é uma convenção. Sem inteligência jamais perguntaríamos "qual o sentido da vida?", "Deus existe?". Ainda, jamais afirmaríamos "Deus existe." ou "Deus não existe". Ah! É verdade, alguns poderiam dizer que para fazer estas perguntas, além da inteligência é necessária uma linguagem, pois sem esta não poderíamos formar frases.

quinta-feira, 14 de maio de 2009

Ferramento para União e Pdginação de PDFs, PdfMergeAndPaging

Estou com problemas de acesso ao blogger aqui da empresa onde trabalho e tive que recorrer a um site redirecionador para tanto, inclusive enviando minha senha em modo inseguro.
Vamos ao projeto, surgiu uma necessidade aqui na empresa de alguns departamentos que geram arquivos PDF a partir de várias aplicativos e necessitavam juntá-los e após paginá-lo para publicação na intranet e internet. Para resolver isto, um dos departamento fez a aquisição de uma licença do Adobe Acrobat Professional. Perfeito, sanou toda o seu problema, mas os demais departamentos ainda continuam sem solução.
Pensando nisto resolvi escrever um aplicativo para tentar auxiliar nesta tarefa, para tanto baseei este projeto no iText e acredito que tenha chegado a um uso razoável já.
Como hospedei este projeto no code.google, resolvi divulgá-lo a quem possa interessar http://pdfmergeandpaging.googlecode.com/files/launch.jnlp para instalação do aplicativo via Java Web Start e http://code.google.com/p/pdfmergeandpaging/ para acesso ao home do projeto.
Basicamente estou utilizando Netbeans 6.5 e as bibliotecas iText e ini4j.
Era isto por hora galera.

quinta-feira, 30 de abril de 2009

Jogo de Tabuleiro "War" e JBoss Seam


Boa tarde a todos, especialmente ao melhores da américa neste momento!

O que tem a ver War e JBoss Seam? Nada isoladamente, até o momento em que resolvo desenvolver uma versão deste jogo de tabuleiro em versão Web.
Na verdade eu ainda estou decidindo, enquanto desenho o mapa do jogo em SVG com o maravilhoso Inkscape, se faço a implementação em Web ou Desktop.
Se eu acabar decidindo por Web pretendo praticar JBoss Seam com Eclipse, se acaso decidir por Desktop vai ser mesmo com Netbeans.
A idéia não é implementar toda uma infraestrutura para jogos on-line e sim permitir usar o computador como tabuleiro para o jogo. Acredito que usando somente SVG com Javascript chegaria próximo do resultado que desejo, mas como é um projeto pessoal e eu quero estudar novas tecnologias, é uma boa motivação.
Ah! Esqueci de citar que pretendo usar Apache Batik para o trato com SVG. Tá difícil de encontrar boa documentação e como normalmente apelo pra fazer de qualquer jeito desde que funcione, vai acontecer de eu postar códigos aqui bem feinhos e, quem sabe, bem pouco otimizados.
Abraçõs...

terça-feira, 28 de abril de 2009

Ubuntu + M$ ISA Server

Boa tarde gurizada medonha!
Estava eu fuçando com o novíssimo Ubuntu 9.04 logo após instalá-lo e reparei que, embora minha conexão de rede estivesse funcionando e eu conseguisse navegar, reparei que um apt-get update que ocorria problema de autenticação no ISA Server (proxy da M$ aqui na CORSAN).
Antigamente e em meu Debian, bastava apontar para o endereço do proxy na variável de ambiente http_proxy e tudo resolvido, acesso liberado. Após 15 minutos de tentativas frustradas, resolvi apelar pro google e de lá veio a solução "ntlmaps".
Mais que depressa pus-me a baixar e instalar este serviço e então pude usar apt-get e synaptic tranquilamente.
Acontece que logo em seguida o computador virou uma carroça, corri para verificar o que tomava todo o seu processamento e lá estava o ntlmaps.
Depois de várias vezes "restartar" o serviço, catei uma alternativa e logo o google retornou-me o cntlm.
Barbadamente instalei-o e configurei no arquivo /etc/cntlm.conf usuario, senha e endereço do proxy e pronto.
Já estou a alguns minutos navegando tranquilamente sem esgasgos. Recomendo!