14/03/2014

Programador TOP853

Comprei um programador USB, modelo TOP853, custou $37 já com o frete e chegou ontem após pouco mais de um mês.
É um aparelho bem simples, mas lê e grava as ROMs que eu preciso, além de PIC, Flash, PLD/GAL, etc.
A maior desvantagem dele é só funcionar no Windows XP, mas esse é um problema menor, já que eu mantenho uma máquina com XP para algumas funções (como gerar disquetes para alguns micros antigos).
No pacote veio o programador, cabo USB A-B, miniCD com o programa TOPWin 6, manual em chinês e um bilhete... :)

01/03/2014

Criando um pendrive de boot Linux

Para a maioria das distribuições:
sudo dd if=<nome_da_imagem.iso> of=/dev/<dispositivo_destino> bs=4M; sync

24/02/2014

Comparando e igualando diretórios com o rsync

Outro dia mostrei como criar um compartilhamento NFS. Na ocasião eu precisava comparar e igualar uns diretórios e para isso usei o utilitário rsync.

Comparando diretórios

rsync -vrhin <diretório_origem> <diretório_destino>
Onde:
  • v - mostra os arquivos e diretórios que são copiados
  • r - pesquisa os diretórios e subdiretórios abaixo dos diretórios indicados como origem e destino
  • h - mostra as informações de maneira compreensível
  • i - mostra alguns detalhes como a direção, o tipo de arquivo, o processo, as diferenças
  • n - não faz nenhuma alteração nos arquivos
Se o diretório contiver muitos subdiretórios e arquivos, o ideal é mandar a saída padrão para um arquivo para facilitar a conferência:
rsync -vrhin <diretório_origem> <diretório_destino> > resultado

Igualando diretórios

rsync -vazuhi --progress --delete <diretório_origem> <diretório_destino>
... onde:
  • a - mantém atributos e permissões no destino iguais à origem
  • z - compacta os arquivos na origem para reduzir o tráfego, descompactando-os automaticamente no destino
  • u - no caso do arquivo ou diretório já existir no destino, só copia/atualiza se esse for mais antigo que o que está sendo copiado
  • --progress - mostra o progresso individual da cópia de cada arquivo
  • --delete - apaga arquivos presentes no destino que não estão mais presentes na origem
Obviamente é necessária cautela ao usar o recurso, principalmente se existem dados sensíveis no destino.
Se houver dúvida, use a opção n (dry-run) a fim de observar o resultado antes de rodar o processo definitivo, o comando ficaria assim:
rsync -vazuhin --progress --delete <diretório_origem> <diretório_destino>

17/02/2014

Pós instalação no Ubuntu e variantes

Esses são os passos básicos que eu faço sempre que instalo o Ubuntu, Xubuntu ou Lubuntu em algum micro ou máquina virtual.
Atualizado em 10/04/2017.
Atenção! Eu faço esses passos nos meus micros, se você resolver testar, faça por sua própria conta e risco.

Adiciona o repositório Partners

sudo add-apt-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner"

Adiciona suporte a arquitetura i386, caso não exista

sudo dpkg --add-architecture i386

Atualiza sistema

sudo apt update && sudo apt full-upgrade && sudo apt autoremove && sudo apt purge && sudo apt clean

Desativa mensagens de depuração do APPPORT

sudo sed -i "s/enabled=1/enabled=0/g" /etc/default/apport && sudo service apport restart

Libera a exibição dos aplicativos iniciados automaticamente

sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop

Drivers de vídeo open source otimizados

sudo add-apt-repository ppa:oibaf/graphics-drivers && sudo apt update && sudo apt full-upgrade

zRAM

sudo apt install zram-config

PRELINK

sudo apt install prelink
sudo prelink -amR
sudo sed -i "s/PRELINKING=unknown/PRELINKING=yes/g" /etc/default/prelink
sudo /etc/cron.daily/prelink
echo 'DPkg::Post-Invoke {"echo Running prelink, please wait…;/etc/cron.daily/prelink";}' | sudo tee /etc/apt/apt.conf

PRELOAD

sudo apt install preload

Habilita o NUMLOCK na inicialização do Lubuntu

sudo sed -i "s/# numlock=0/numlock=1/g" /etc/xdg/lubuntu/lxdm/lxdm.conf

Utilitários e codecs

sudo apt install ubuntu-restricted-extras rar unrar zip unzip p7zip-full gparted lame baobab fslint

# Instala o Docky e ativa a composição na inicialização do Lubuntu
sudo apt install docky compton && echo compton -b >> .config/lxsession/Lubuntu/autostart

Baixa e instala o Google Chrome para AMD64 ou i386

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo dpkg -i google-chrome-stable_current_amd64.deb

wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb && sudo dpkg -i google-chrome-stable_current_i386.deb || sudo apt-get install -f

Baixa e instala o Discord

wget https://discordapp.com/api/download?platform=linux&format=deb && sudo dpkg -i discord-*.deb || sudo apt install -f

Alguns programas que uso no dia-a-dia

# Imagem e Editoração
sudo apt install scribus gimp gimp-data-extras inkscape

# Mídia
sudo apt install vlc

# Comunicação
sudo apt install telegram

# Android ADB tools
sudo apt install android-tools-adb android-tools-fastboot

# Eletrônica
sudo apt install fritzing kicad sigrok pulseview

Arduino IDE

# Instalar a IDE disponível no repo Ubuntu para baixar as dependências
sudo apt-get install arduino arduino-mk

# Download da última versão da IDE em
https://www.arduino.cc/en/Main/Software

# Descompactar o arquivo
tar -xvf arduino-1.8.?-linux64.tar.xz

# Mover para o diretório /opt
sudo mv arduino-1.8.? /opt/arduino

# Criar a entrada de menu para a IDE nova
cd /opt/arduino
sudo ./install.sh

# Adicionar o usuário aos grupos necessários
sudo usermod -a -G tty,dialout `id -un`

# Reiniciar a seção. Não é necessário reiniciar o computador.

Acertar entradas do menu

# Remove todas as entradas da seção Desenvolvimento
sudo sed -i "s/Development;//g" /usr/share/applications/*.desktop

14/02/2014

Formatando disquetes menores que 1.44Mb

Vale para qualquer micro que use drives de disquetes baseados no padrão Shugart.

No DOS/Prompt de Comando do Windows (CMD)

format <letra_unidade> /t:<num_trilhas> /n:<num_setores> /u

#5,25" DD 360Kb
format a: /t:40 /n:9 /u

#3,5" DD 720Kb
format a: /t:80 /n:9 /u
Essa postagem será atualizada com mais informações... em algum momento.