O serviço GitHub Pages recentemente atualizou para a versão 3 do seu gerador de site estático Jekyll. Logo fui atualizar no meu computador, mas não existem os pacotes disponíveis nos repositórios.
E a questão é bem complicada. Pois o Jekyll 3 requer Ruby 2.0.0. Mas a versão 2.0.0 já é um pouco antiga e requer a versão 1.9.3, então ficamos com duas versões do Ruby. Eu já não gosto de Ruby sozinho, quem diria em dose dupla.
O Ruby 2.3 já está disponível no recém lançado Ubuntu 16.04, porém até o momento ainda não no Linux Mint. Então realizei o procedimento descrito a seguir.
Estou criando uma ferramenta que carrega bibliotecas dinâmicas. No Windows o carregamento das bibliotecas dinâmicas (as dll) inclui o diretório atual (ou pasta corrente). No Linux não, o carregamento ocorre somente nos caminhos padrão do sistema. Há uma variável de ambiente que ajuda nisso, a LD_LIBRARY_PATH
. Porém seu uso pode ser inconveniente por algumas razões, vou citar três:
LD_LIBRARY_PATH
, o que afeta todo o sistema trazendo o risco de bibliotecas com código malicioso; LD_LIBRARY_PATH
, que se tiver uma lista extensa ou locais na rede pode levar a uma situação caótica; Muita coisa aconteceu durante todo esse tempo que fiquei sem postar aqui no blog. Mudei de emprego e de cidade, comprei um notebook e o servidor brasileiro de Tribal Wars deixou de ter analista de scripts. O pessoal só pode usar com segurança os scripts que já estão autorizados. Scripts novos podem ser usados, mas por conta e risco de cada um, se for considerado ilegal segundo as regras que ninguém sabe exatamente quais são, é banido sem dó nem piedade.
Mas isso é só enrolação, o assunto mesmo é outro. E tem haver com o notebook que comprei. Agora deixei de levar meu Linux num HD externo para conectar em qualquer computador que eu possa usar e passei a levar o notebook para onde possa precisar. Mas... bem que acho que vou precisar voltar na técnica do HD externo, já que minha mulher sempre quer usar o notebook e eu fico a ver navios.
Já falei sobre minha necessidade compulsiva de ficar verificando se minha conexão com a Internet está funcionando e minha criativa solução com música. Pouco depois do keeplaying nascer eu comprei um roteador wireless que funciona em modo AP cliente. Em outras palavras, recebo a conexão do meu “provedor via rádio” já pronta na minha eth0
sem necessidade mais de ficar lidando com PPPoE: o roteador faz isso.
Gosto de ouvir música enquanto estou trabalhando, e meu trabalho sempre envolve usar Internet de uma forma ou de outra. Hoje em dia já usamos Internet para quase tudo. E é uma agonia quando ficamos sem acesso. E essa agonia pode ser ainda maior se a falta de conexão não for por um problema na rede em si, mas em seu software e você precisar digitar algum comando manualmente para restabelecer a conexão. Quando a Internet falta de verdade, você fica feito louco digitando o comando a cada 30 segundos para ver se volta. Já passou por algo parecido?
É, eu sei, pinguins não voam. Mas eu coloquei um para voar. Calma ai, deixa eu explicar. Instalei Linux num disco rígido externo, de forma que posso usar em qualquer computador que eu tiver disponível. Tá bom, tá bom... já sei que isso não é novidade. Temos Live CD rodando ai há anos, recentemente também tem sido muito comum usar memórias flash de pendrives. Mas não vim para contar novidade, mas dividir experiência.
Em 2011 precisei de um servidor simples para firewall, cache e monitoramento de rede. Usei o BrazilFW, como já falei aqui. Tudo corria bem até que, enquanto eu estava de férias, queimou o disco rígido e o servidor parou. Foram lá me chamar e, como eu estava de férias, não quis resolver, só religuei os cabos e coloquei para funcionar sem o servidor, direto no modem como era antes.
Quando voltei de férias, decidi que ao invés de colocar para funcionar o mesmo servidor (algo que seria resolvido em meia hora) atualizar da versão 2.32.2 para 3.0.256 e acabei passando dias de dor de cabeça. Aparentemente tudo funcionava, mas eu tinha problemas bastante estranhos com o Squid. Então resolvi trocar pelo SmartRouter PROJECT e tudo deu certo! Bem... deixa eu contar mais detalhadamente, porque nem tudo são flores.
Recentemente compilei o Unison na forma de addon para ser usado no BrazilFW. Foi lançado como um addon oficial do sistema. Unison é uma ferramenta de sincronização de arquivos para Unix e Windows. Ele permite que duas réplicas de uma coleção de arquivos e diretórios sejam armazenadas em diferentes máquinas (ou discos diferentes na mesma máquina), modificado separadamente, e, em seguida, atualizadas pela propagação das alterações em cada réplica para as outras.
Reiniciar é coisa do mal. Pelo menos eu penso assim. Se você gostou de Instalar addon sem reiniciar, então agora vamos fazer o caminho inverso: remover addon sem reiniciar.
O procedimento para instalar um addon sem reiniciar é simples. Já para remover, precisamos lidar com um inconveniente: como parar os processos que pertencem ao addon. A versão 2.32.2 do BrazilFW tem um processo padrão para iniciar os serviços: executar os arquivos /etc/rc.d/pkgs/rc.*
. Mas para parar os serviços, apesar de haver o procedimento padrão que é executar os arquivos /etc/rc.d/pkgs/sd.*
, poucos addons o usam. A maioria deixa por conta do sistema encerrar os processos durante o desligamento ou reinicio.
Depois do Instalar addon sem reiniciar, meu próximo artigo seria sobre remover addon sem reiniciar. Mas eis que me veio o fabiosammy e me mostrou a existência do comando execpak
, que serve justamente para extrair e iniciar o addon sem reiniciar. E pensei: agora pronto! Meu artigo ficou inútil! Resolvi emendar o texto para incluir essa nova informação.
Nem ia testar, o execpak
funciona e pronto. Mas... santo senso paranóico! O caso merece atenção, e resolvi até fazer um artigo extra só para expor isso. O procedimento foi realizado na versão 2.32.2.
Recentemente conheci o BrazilFW, uma solução perfeita para minha necessidade de ter controle sobre o acesso à Internet da rede local. O ponto alto dele é a simplicidade. Se alguma coisa der errado, qualquer outro computador velho que estiver encostado pode substituir o servidor e tudo pode ser instalado em minutos.
Estou usando a versão 2.32.2 e a única coisa que não gosto é de reiniciar a cada addon que preciso instalar. Para mim, falar no diabo e falar em reiniciar o computador é a mesma coisa. O Windows tem uma péssima reputação no mundo dos servidores por precisar reiniciar com certa frequência. No meu ponto de vista, nenhum software deve exigir reinicialização. Se mesmo alterações no kernel podem ser feitas sem reiniciar, porque um simples addon precisa reiniciar?
Finalmente larguei da preguiça e vim postar alguma coisa aqui no blog. E como eu havia falado no último artigo, minha mudança de trabalho iria refletir em mudanças nos meus textos também, afinal estou aqui para falar sobre o que eu faço.
Minhas novas funções no trabalho incluem manutenção em computadores, na rede, etc. O pessoal reclamava que a Internet estava lenta, queriam mudar o plano de acesso para ter mais velocidade. Bom, seria ótimo mesmo. Mas... tratando-se de órgão público de município pobre do interior com uma burocracia de arrepiar os cabelos até do pé, seria difícil conseguir algo assim. E eu queria também uma forma mais prática de atender todos os clientes, são em locais distantes (não muito), e às vezes eu ficava andando de um lado para outro só para instalar uma impressora, arrumar alguma configuração problemática, etc. Enfim, andava mais do que trabalhava.
Essas são instruções para construir um sistema Linux mínimo do código fonte. Este documento fazia parte do De Quando é Ligado até o Bash mas eu os separei para manter ambos os documentos curtos e objetivos. O sistema que vamos construir aqui é muito mínimo, e não é adequado para o trabalho de verdade. Se quiser construir um sistema prático do zero, veja o Linux From Scratch HOWTO de Gerard Beekmans em vez deste.
É uma tradução que eu fiz em 2003 do How To Build a Minimal Linux System from Source Code de Greg O'Keefe.
Esta é uma breve descrição do que acontece num sistema Linux, de quando é ligado até o momento em que você se identifica e obtém uma linha de comandos do bash. Entender isso lhe será útil quando precisar resolver problemas ou configurar seu sistema.
É uma tradução que eu fiz em 2003 do From Power Up To Bash Prompt de Greg O'Keefe.
Theme by Breno Ramalho Lemes under Creative Commons Attribution, based on Jekyll Clean by Scott Emmons and icons by FatCow.