Inicialmente este blog foi criado para armazenar algumas dicas e links de UNIX/Linux, OpenVMS, linguagem C, Assembly, TCP/IP e nerdezas afins. No entanto devido ao autor ter abandonado o seu plano de ser um super hacker e dominar o mundo (devido esposa, família, filhos, trabalho), a partir de 2012 este blog tem um tipo de nerdeza mais light (Android, Linux, RetroPie (retrogames), produtividade, e por aí vai). Estas dicas raramente serão criações minhas.

domingo, 17 de agosto de 2014

blogando com googlecl

Esta postagem na verdade é um arquivo texto chamado "arquivo.txt".

O conteúdo deste arquivo veio parar neste blog com o uso de uma pequena maravilha de software chamada googlecl. O comando utilizado foi:

google blogger post --title 'blogando com googlecl' --tags teste arquivo.txt


Se eu quizesse salvar este post como rascunho antes de publicá-lo era só usar o parâmetro --draft, só que depois eu teria que entrar no blogger via browser para poder publicá-lo.

quarta-feira, 23 de julho de 2014

Arch Linux na minha maquina velhinha - alguns programas para console

Parte 1- instalação do Arch Linux: http://mdicas.blogspot.com.br/2014/06/instalacao-basica-do-arch-linux.html

Parte 2 - configurando wifi:
http://mdicas.blogspot.com.br/2014/07/arch-linux-na-minha-maquina-velhinha.html

Lembrando: Este post trata de uma instalação Arch Linux em laptop HP Pavilion ZE 2220br.

Instalando mais alguns pacotes

Nesse ponto temos um sistema superbásico. Praticamente a única coisa que ele faz é conectar-se a rede. Só pra relembrar, o que instalamos nele até agora foram os seguintes pacotes (e obviamente as dependências que vieram de carona):

base
grub
os-prober (detecta se existem outros sistemas na hora de atualizar o grub)
wireless_tools
dialog (necessário para executar o wifi-menu)
net-tools
netctl
dhcpcd
wget
openssh
b43-fwcutter
rfkill

Antes de prosseguir com a missão de deixar o meu Arch com cara de "crunchbang!", resolvi brincar um pouco de "old is cool" e instalar alguns programas CLI (Command Line Interface) para relembrar os velhos tempos de Slackware. :-)

Eis alguns pacotes que instalei:

vim (tenho uma espécie de dependência química com este editor)
gpm (permite usar o mouse para copiar/colar no modo-texto)
xf86-input-synaptics (necessário para usar o touchpad, mesmo no modo texto)
lynx
nmap
openbsd-netcat
screen tmux (usado para "janelizar" o modo texto)
htop (espécie de gerenciador de tarefas, muito útil)
irssi weechat (cliente de IRC)

Vamos adicionando outros de acordo com a demanda. ;-)

Adicionando um usuário

Fonte: https://wiki.archlinux.org/index.php/Users_and_groups#User_management

Agora vamos adicionar um usuário (em seguida uma breve explicação de cada parâmetro (dúvidas devem ser tiradas na manpage de useradd):

# useradd -m -G wheel -s /bin/bash usuario

-m : cria o diretório /home/usuario e define-o como diretório home do usuario

-G wheel : define que o usuario tambem vai fazer parte do grupo wheel, que é um grupo usado para tarefas administrativas (sudo).

-s /bin/bash : define qual será o shell padrão do usuario

usuario : nome do usuário

Agora vamos dar ao novo usuário permissão para executar comandos com o sudo.

- Instalar o pacote sudo:

# pacman -S sudo

- Depois executamos o comando visudo:

# visudo

- Retiramos o comentário da seguinte linha:

%wheel ALL=(ALL) ALL

Pronto! Chega de usar a conta root pra tudo!!!

Configurando gpm

Fonte: https://wiki.archlinux.org/index.php/Console_Mouse_Support

O gpm é um programinha simples e bacana. Ele simplesmente permite que você utilize o mouse no console para selecionar, copiar e colar texto. Conheci lá nos idos de 1999 e até hoje sou fã! :D

- Instalar o pacote gpm, se for usar touchpad do laptop instalar também xf86-input-synaptics

# pacman -S gpm xf86-input-synaptics

- Depois basta chamar o gpm assim:

# gpm -m /dev/input/mice -t imps2

- Se ficar satisfeito com o resultado, basta criar o arquivo /etc/conf.d/gpm (tive que criar o diretório conf.d, pois ele não existia) com o seguinte conteúdo:

GPM_ARGS="-m /dev/input/mice -m imps2"

- Após isso é possível chamar o gpm usando o systemctl:

# systemctl start gpm.service

- E se ficar satisfeito com o resultado e quiser que o gpm seja iniciado no boot, basta executar:

# systemctl enable gpm.service

Janelizando o modo texto

[OBS.: aqui falo do screen, mas recentemente estou preferindo usar o tmux]
Fontes:
http://aurelio.net/doc/coluna/coluna-07.html
http://aurelio.net/doc/coluna/coluna-08.html
http://mdicas.blogspot.com.br/2008/05/lembretes-para-usar-o-screen.html

O screen é outro programinha CLI (Command Line Interface) que quando eu descobri gostei pacas. O texto dos dois links para o site do aurélio foram um marco na minha vida de nerdzão do modo texto. Recomendo a leitura.

Não há configuração alguma a ser feita para a utilização mais básica do screen (criar novas janelas e alternar entre elas).


Configurando o som

Fonte:  http://lifehacker.com/5680453/build-a-killer-customized-arch-linux-installation-and-learn-all-about-linux-in-the-process

- Instalar pacote:

# pacman -S alsa-utils

- Executar alsamixer, tirar os canais do mute e aumentar volume:

# alsamixer


- Testar som com:

# speaker-test -c 2

OBS.: com este teste observei que a caixinha de som da direita do laptop está com defeito. :(



Vou parando por aqui. No próximo post a gente configura o ambiente gráfico.

domingo, 20 de julho de 2014

Arch Linux na minha maquina velhinha - configurando wifi

Eu tenho um computador meio velhinho aqui e ao invés de jogá-lo fora eu quero ver o que ele pode fazer com Arch Linux instalado. A ideia inicial é tentar deixá-lo com a cara minimalista da distribuição "crunchbang!", mas durante o percurso a gente vai descobrindo tanta coisa que esse objetivo pode ir se desvirtuando... :-)

O computador é um HP Pavilion ZE 2220br. Eis as duas características mais importantes:
Processador: 1,4 GHz Intel® Celeron® M 360
RAM: 1GB
As especificações detalhadas encontram-se aqui: http://h10025.www1.hp.com/ewfrf/wc/document?docname=c00659183&lc=pt&cc=br&dlc=pt&product=1124223&lang=pt#N786 (a única diferença é que eu coloquei mais RAM).

A instalação do Arch Linux foi tranquila, fiz o que descrevo no meu post anterior <http://mdicas.blogspot.com.br/2014/06/instalacao-basica-do-arch-linux.html>. Tive que fazer pela conexão cabeada, pois o wifi não funcionou de cara. Não utilizei proxy.

Lembrando que este post não é muito detalhado. É tudo resumido e sem muitas explicações. Mas como quase tudo que faço aqui é baseado no que aprendo no ArchWiki, vou sempre colocar um link para o wiki de onde tirei as informações. Se você precisa de mais detalhes, é só ir direto na fonte. ;-)

Primeira etapa - operando remotamente via SSH

Fonte de informação: https://wiki.archlinux.org/index.php/Install_from_SSH

IMPORTANTE! Isso só é possível com o roteador já devidamente configurado e funcionando corretamente.

Para eu utilizar a conexão cabeada o computador ficou num lugar muito ruim de operar. Portanto optei por operá-lo remotamente de um outro computador. E para tornar isso possível devemos fazer o seguinte:

- Certificar-se de que temos instalado os pacotes dhcpcd e openssh:

# pacman -S dhcpcd openssh

- Conectar o cabo de rede no computador.

- Obter um endereço do roteador e ativar o daemon do OpenSSH.

# dhcpcd
# systemctl start sshd

- Anotar o endereço IP para acessá-lo de outra máquina. Usar o ifconfig já resolve. ;-)

Agora já estamos prontos para acessar este computador de outra máquina.


Segunda etapa - configurando o dispositivo wifi

Fontes de informação:
https://wiki.archlinux.org/index.php/B43
http://wireless.kernel.org/en/users/Drivers/b43
https://wiki.archlinux.org/index.php/Wireless_network_configuration

IMPORTANTE! Se sua placa de rede wifi já funcionou de primeira isso aqui não será necessário.

- Descobrir qual é a placa de rede que tenho:

# lspci -vnn -d 14e4:

Isso me forneceu a informação de que a minha placa é uma "Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller [14e4:4318]".

- Instalar os seguintes pacotes:

# pacman -S b43-fwcutter rfkill

- baixar o driver, descompactar e instalar

# wget http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2
# tar xjf broadcom-wl-5.100.138.tar.bz2
# b43-fwcutter -w /lib/firmware broadcom-wl-5.100.138/linux/wl_apsta.o

Se o led que indica que a placa de rede está ativada não acender, talvez seja a hora de usar o rfkill. Para mostrar o status atual:

# rfkill list

Se a placa estiver "Hard blocked: yes", basta apertar o botão do wifi no seu computador para desbloqueá-la. Execute novamente o comando acima para verificar se desta vez vai estar "Hard blocked: no". Se sim, basta executar:

# rfkill unblock wifi

Se tudo der certo basta executar o wifi-menu e escolher sua rede.

OBS.: para usar wifi-menu é necessário instalar os pacotes wireless_tools, wpa_supplicant, netctl e dialog. Se esses pacotes não foram adicionados durante a instalação do sistema, essa é a hora (executar o comando mesmo com os pacotes já instalados não causa dano algum).

# pacman -S wireless_tools wpa_supplicant netctl dialog.

Pronto! Agora já tenho rede sem fio funcionando e posso usar o computador num lugar mais confortável. No próximo post continuamos... ;-)

P.S.: Ei sei que existe o ArchBang!, que é uma tentativa de deixar o Arch com cara de crunchbang! já na instalação. Cheguei a testá-lo e não gostei muito. Como eu ia ter que configurar muita coisa para deixar do meu gosto, acabei decidindo começar do zero.

domingo, 29 de junho de 2014

Instalacao basica do Arch Linux

Estou me aventurando pelo Arch Linux (e estou empolgado!). Aqui colocarei o meu jeito de instalar o Arch. A maneira que descrevo na verdade é como se fosse um checklist para me servir como um lembrete para futuras instalações. Isso não é uma explicação para novos usuários. Se você está lendo isso e não está familiarizado com termos como /dev/sda, dd, cfdisk, mount, /mnt, e afins, talvez seja o caso de tentar uma distribuição Linux mais amigável (eu recomendo a Linux Mint <http://www.linuxmint.com/>). Mas se mesmo assim você quiser se aventurar pelo Arch Linux, eu indico a leitura do Installation Guide. Eu aprendi muita coisa lá. ;-)

Se você está pensando "Tá bom, mais uma das milhares de distribuições Linux que aparecem por aí... Por que eu deveria tentar essa tal de Arch Linux?", está pensando certíssimo! Eu pensei a mesma coisa. Mas aí fui me informando sobre o Arch e consequentemente fui me lembrando daquele meu velho sonho utópico de linuxeiro adolescente: montar um sistema "from scratch", enxutinho, só com os programas que eu vou realmente utilizar. Montar o seu sistema Arch Linux, é como se fosse montar um Linux "from scratch", só que bem mais fácil! ;-)

Com o Arch você terá um sistema enxutinho, só com os programas que VOCÊ escolheu instalar. E muitas outras vantagens (comunidade ativa, sistema rolling release, etc.). Se quer saber quais são elas olhe aqui: https://wiki.archlinux.org/index.php/Arch_Linux_%28Portugu%C3%AAs%29

Ao final das etapas descritas neste post teremos um sistema Arch Linux superbasicão, cru, sem adereço algum (tá bom, na verdade teremos dois adereços: grub como bootloader, e capacidade de se conectar em uma rede). Vamos à instalação.

Primeira etapa - baixando o disco de instalação e preparando uma mídia bootável

Baixar o iso: http://www.archlinux.org/download

Criar um pendrive de boot (OBS.: é interessante que o pendrive não esteja montado em diretório algum):

# dd bs=4M if=/caminho/ate/archlinux.iso of=/dev/sdx
# sync

Segunda etapa - instalando um sistema basicão

- Dar boot pelo pendrive usb preparado na primeira etapa.


- Assim que der de cara com o prompt, configurar teclado:

# loadkeys br-abnt2


- Configurar sua conexão. Caso tenha wifi disponível, isso aqui resolve:

# wifi-menu

Caso esteja atrás de um proxy, comigo funcionou assim:

# export http_proxy="http://user:password@proxyserver:proxyport/"
# export ftp_proxy=$http_proxy
# export https_proxy=$http_proxy
# export rsync_proxy=$http_proxy
# export no_proxy="127.0.0.1,localhost"

Ainda no proxy... editar o arquivo /etc/pacman.conf e descomentar a linha que contém isso aqui:

# XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

Fiz isso no pacman.conf pois por algum motivo o pacman não foi capaz de me atenticar no proxy. O wget vai de boa. [E essa pra mim foi uma das primeiras demonstrações do poder do Arch Linux: deixar você ciente do que está acontecendo e te dar oportunidade de resolver o problema. Outras distribuições falariam algo do tipo "Conexão falhou. Verifique sua conexão e tente novamente mais tarde."]


- Editar o arquivo /etc/pacman.d/mirrorlist para utilizarmos os mirrors geograficamente mais próximos.

Tem também a dica de rankear os mirrors

# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
# rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist


- Particionar disco(s) ao gosto do freguês. Usar cfdisk para isso é uma boa pedida. OBS.: não criei partição swap, mais pra frente criarei um arquivo swap para este propósito.


- Formatar as partições. Como não sou profundo conhecedor das vantagens/desvantagens de todos os sistemas de arquivos disponíveis, fui no basicão: ext4.

# mkfs.ext4 /dev/sdxX


- Montar a partição que será raiz em /mnt.

# mount /dev/sdxX /mnt


- Instalar o sistema na nova partição. Para instalar um sistema o mais basicão possível e mais o grub como bootloader, basta isso:

# pacstrap /mnt base grub

Mas como no novo sistema você certamente vai precisar de uma conexão para instalar novos pacotes, é importante instalar agora as ferramentas que permitirão realizar esta conexão. No caso de estar usando uma conexão wifi, eu usaria isso:

# pacstrap /mnt base grub netctl dialog wireless_tools wpa_supplicant


Neste passo veremos outra ótima característica do Arch, resolução de dependências. Ao instalar estes pacotes, serão instalados automaticamente todos os pacotes dos quais os primeiros são dependentes.

No caso de estar atras de um proxy, eu tive que usar isso:

# pacstrap /mnt base grub wget net-tools dhcpcd


- Criar o /etc/fstab no novo sistema:

# genfstab -p /mnt >> /mnt/etc/fstab

(Calma que o swap vem depois!)


- Vamos usar o chroot para fazer de conta que estamos no sistema novo:

# arch-chroot /mnt


- Depois de um chroot o diretório raiz já é o do novo sistema.


- Executar o mkinitcpio. Vou ser bastante sincero, não estudei muito o que o mkinitcpio faz. Apenas executei na configuração padrão mesmo.

# mkinitcpio -p linux


- Configurar o grub:

# grub-install --target=i386-pc --recheck --debug /dev/sdx
# grub-mkconfig -o /boot/grub/grub.cfg


- Criar um arquivo de swap:

# fallocate -l 512M /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile

Avisar ao /etc/fstab que temos swap! Incluir esta linha no arquivo:

/swapfile none swap defaults 0 0

Terceira etapa - pequenas configurações na munheca

- Escrever o nome do host em /etc/hostname


- Configurar a zona geográfica:

# ln -s /usr/share/zoneinfo/Brazil/East /etc/localtime


- Retirar o comentário dos locales desejados no arquivo "/etc/locale.gen". Eu escolhi en_US.UTF-8 e pt_BR.UTF-8. Em seguida executar:

# locale-gen


- Configurar "/etc/locale.conf". O meu ficou assim:

LANG=pt_BR.UTF-8
LC_MESSAGES=en_US.UTF-8


- Configurar "/etc/vconsole.conf". O meu ficou assim:

KEYMAP=br-abnt2


- Estes dois passos só precisam ser feito no caso do proxy:

  - Editar o /etc/pacman.conf para usar o wget, se necessário (caso do proxy), pois aquela edição que fizemos anteriormente era no sistema "instalador", agora estamos no sistema recentemente instalado, lembra? ;-)

  - Ainda no caso do proxy, é interessante habilitarmos logo o dhcpcd (no comando abaixo, substitua eth0 pelo nome da sua interface de rede, se for o caso):

# systemctl enable dhcpcd@eth0.service


- Configurar uma senha para o root.


- Sair do ambiente chroot.

# exit

Agora a raiz já é novamente o sistema instalador do LiveCD. Desmontaremos o /mnt e rebootamos:

# umount -R /mnt
# reboot


Pronto! Agora o Arch Linux já está instalado! Porém o sistema está cruzão. A customização é assunto para um próximo post.

P.S.: outros pacotes que eu gosto muito: vim, openbsd-netcat, nmap, lynx...

sábado, 7 de junho de 2014

wayback machine recuperou minha antiga pagina

Uma página minha antigona que era hospedada no HPG (ou iG, ou essas coisas que surgem e somem da web) foi desativada e eu perdi os arquivos que tinha lá. Eu também não atualizava mais a página... Depois que virei papai a nerdeza ficou terceiro ou quarto plano.

O caso é que recentemente descobri uma tal de Wayback Machine. Uma máquina do tempo da web! :D Fui tentar jogar o endereço da minha antiga página e fiquei pasmo! Tinha um backup lá:

http://web.archive.org/web/20081205160818/http://www.meleuzord.hpg.ig.com.br/


É cada coisa linda que esse povo inventa na internet... :)

tags