Docker: O Resumão

O Docker foi desenvolvido para S.Os que usam o kernal Linux. No ambiente Linux é possível usar Docker para Desenvolvimento e Produção. Recentemente foi disponibilizado a versão docker para Windows e esta só pode ser usada para Desenvolvimento.

Container 

É um binário/arquivo/cápsula que encapsula todo o ambiente necessário para sua aplicação funcionar. O ambiente e sua aplicação serão virtualizados na sua máquina física. 

É errado afirmar que um container é uma VM. Uma VM obrigatoriamente terá um S.O(e outros recursos) virtualizados em um software (KMV,VMWare, Virtualbox). Já o container usa os recursos da própria máquina onde está sendo executado. Ele não virtualiza um S.O, ele usa o S.O da máquina hospedeira onde o Docker está instalado  e através de alguns recursos disponibilizados pelo hospedeiro é criado toda a estrutura interna do container.

A diferença entre Imagem e Container é que uma imagem é um container parado. Quando essa imagem é executada ela se transforma em um Container. Análogo a uma imagem ISO de um DVD.

Chinmay Shah – Article Why you should care about Docker?

Storage Drives

São os caras responsáveis por gerenciar leitura/escrita dos dados no container.

AUFS

Esse foi o primeiro SD (Storage Driver) usado pelo Docker. Ele trabalha com o esquema de camadas:

Toda vez que é instalado um novo software ou adicionado arquivos ao container é criado uma nova camada(imagem) como se fosse formando uma pilha de camadas. É nesse momento que entra o conceito de Copy-on-Write.

Todas as camadas subjacentes são read-only, somente a camada superior é read/write, essa camada também é chamada de Camada Container.

Digamos que você vai editar o arquivo /etc/network/interfaces, esse arquivo está na camada image 1.0 (que é read-only). No momento de salvar a edição esse arquivo é copiado para a primeira camada da pilha(que é read/write), onde é salvo uma cópia dele. Na próximas vezes que você for usar a configuração feita nesse arquivo, o docker vai chamar o da primeira camada da pilha. Isso é o Copy-on-write !

Referências:

Configuração de resolução em um segundo monitor

Cenário de aplicação do exemplo

Um notebook com Linux Mint 19, usando um segundo monitor Samsung SyncMaster 933.

Problema

Ao conectar um segundo monitor ao notebook,  a resolução máxima suportada é 1024×768 60.00Hz.

Solução

1- execute o comando xrandr e procure pelo monitor auxiliar. A saída será parecida com essa:

VGA-1 connected 1368x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00  
   800x600       60.32    56.25  
   848x480       60.00  

No meu caso o monitor é o VGA-1.

2- Criando um novo perfil para o segundo monitor:

xrandr --newmode "1366x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync

Eu sei que o meu monitor suporta a resolução de 1366×768 a 60Hz, se você não souber o seu leia esse post na parte que fala de cvt.

3- Atribuindo o novo perfil:

xrandr --addmode VGA-1 1366x768_60.00

4- Ativando

xrandr --output VGA-1 --mode 1366x768_60.00

Nesse ponto você também pode ativar pela interface gráfica do S.O. Se o monitor em questão for um que você frequentemente usa, toda vez que ligar o PC terá que executar os comandos acima. Para automatizar esse processo você pode no final do arquivo /home/SEU-USER/.profile adicionar o scritp abaixo:

###### CONFIGURAÇÃO DE MONITOR AUXILIAR ######

# Se você usa notebook com um segundo monitor, a verificação abaixo junto com o IF do final é necessário para evitar um  erro caso o notebook seja ligado sem o monitor estar conectado.

##verifico se o monitor está conectado
monitor=$(xrandr | grep -o 'VGA-1 connected')

#crio o perfil do monitor
xrandr --newmode "1366x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync
xrandr --addmode VGA-1 1366x768_60.00

# condição para ativar o perfil, caso o monitor esteja conectado
if [ "$monitor" ]; then
    xrandr --output VGA-1 --mode 1366x768_60.00
fi

Leia o script e substitua as ocorrências ‘VGA-1’ pelo identificador do seu monitor.

Referências:

Como conectar em uma rede wireless pela linha de comando no linux

A ferramenta para conectar varia conforme o tipo de criptografia utilizada no processo de autenticação:

Para somente o tipo WEP use o iw
Para os tipos WEP, WPA and WPA2 use o wpasupplicant

Instalação e configuração utilizando iw

No Ubuntu Server esse aplicativo já vem instalado, basta chamar na CLI por:

iw

Instalação da ferramenta

apt-get install iw 

Exibir placa de rede wireless do computador

iwconfig

Listar as redes wifi captadas pela placa wireless

iwlist scan
ou
iwlist <sua interface wireless> scan

Conectar da rede wi-fi

iwconfig wlan0 essid <NOME-DA-REDE> mode managed

Caso precise obter IP utilize o DHCLIENT

dhclient -v <sua-interface-wi-fi>

Instalação e configuração utilizando wpasupplicant

Instalação da ferramenta

apt-get install wpasupplicant

Arquivo de configuração. Se ele não estiver criado, você deve criar

/etc/wpa_supplicant.conf

Configuração:

network={
    ssid="ssid_name"
    psk="password"
}

Assumindo que a sua interface é wlan0:

wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext

Caso precise obter IP utilize o DHCLIENT

dhclient -v <sua-interface-wi-fi>

Fontes

  1. https://sempreupdate.com.br/como-conectar-wifi-via-terminal-linux/
  2. https://askubuntu.com/questions/138472/how-do-i-connect-to-a-wpa-wifi-network-using-the-command-line

Taxonomia de links salvos no Favoritos do navegador

Tema

Esse texto explica o método que desenvolvi para organizar os links de páginas na internet que salvo nos Favoritos do navegador.

Contexto

A medida que pesquiso sobre várias áreas do conhecimento, encontro conteúdos bons e que valem apena serem salvos. Nesse processo de salvar os links nos Favoritos do navegador, sempre tive dificuldade em organizá los de tal forma a facilitar o encontro e sem deixar de lado a categorização correta.

A taxonomia de links

Para estruturar o conceito desenvolvido elaborei leis que devem ser obedecidas e objetivos que devem ser atendidos.

As leis

  1. O sistema taxonômico deve ser baseado nas principais áreas correntes*.
  2. Grandes subdivisões, subcategorias ou ramificações não são recomendadas.
  3. Se um link a ser salvo poder pertencer a mais de uma categoria, ele deve ser salvo onde na área corrente onde faz mais sentido no uso do no dia-a-dia.
  4. Os termos utilizados na nomenclatura devem pertencer ao domínio de conhecimento do usuário.
  5. Só deve ser criado uma pasta para links que pertencem a uma mesma categoria, se ouvir links de diferentes categorias, eles devem ficar fora de pasta, todos juntos.
  6. O link devem ser categorizados a partir do que ele trata, e não o que foi feito com ele.

Os objetivos

Esse objetivos são alvos que tentamos alcançar na elaboração deste sistema taxonômico, mas pode acontecer não conseguirmos atingir todos eles.

  1. Facilitar a localização e armazenamento dos links.
  2. A organização deve ser clara;

 

 

Exemplo de aplicação

1- Separando as áreas correntes:

  • Faculdade
  • Trabalho
  • Particular

2- Acrescentando suas possíveis categorias

  • Faculdade
    • TCC
      • Ferramentas
    • Matérias

 

  • Trabalho
    • Ferramentas internas

 

  • Pessoal
    • Redes
      • DNS
      • SNMP
      • CISCO
    • Linux
      • SystemCTL
      • PacketTracer
      • Shell Script
    • Programação
      • Banco de Dados
      • Frontend
    • Baixar/Comprar livros
    • Fonte de conhecimento
    • Ler depois
      • Curiosidades
    • Financeiro
    • Cursos e materiais de estudo
      • Redes
      • Linux
      • Programação
      • Energia fotovoltaica
    • Arduino

3- Validar se as leis foram cumpridas.

 

4- Executar o plano

 

Glossário

A

Área corrente –  Neste contexto entende se por uma área do conhecimento ou vida do ator principal que está mais destaca no dia-a-dia. É importante entender que a área corrente pode mudar conforme muda a vida do ator.

 

Referências

Como instalar o PostgreSQL e pgAdmin no Linux

Tutorial de instalação do SGBD PostgreSQL e a ferramenta de administração pgAdmin 4. No final é dado dicas caso esteja utilizando PHP.

Estou usando Ubuntu, qual a minha versão?

Se você estiver usando o Ubuntu ou uma distribuição baseada nele, um desses comandos pode te ajudar a descobrir:

lsb_release -cs
cat /etc/*-release

No resultado do comando acima, procure por ‘VERSION_CODENAME’.

Instalando o PostgreSQL 12

Preferencialmente siga a documentação de instalação do PostgreSQL. Caso tenha algum problema execute o comando abaixo:

sudo apt -y install postgresql

Estou com problema no arquivo /etc/apt/sources.list.d/pgdg.list

Algumas pessoas tem problema ao criar o arquivo /etc/apt/sources.list.d/pgdg.list utilizando o script da documentação do Postgres. Se for o seu caso, faça isso:

  • Descubra qual a sua versão utilizando a dica do tópico acima.
  • O comando abaixo ira criar o arquivo /etc/apt/sources.list.d/pgdg.list. Coloque no comando abaixo a sua versão:
sudo echo "deb http://apt.postgresql.org/pub/repos/apt suaVersao-pgdg main" > /etc/apt/sources.list.d/pgdg.list

Usando PHP?

Se você estiver usando php, instale também a extensão PDO do postgres

sudo apt install php8.1-pgsql

Instalando o pgAdmin 4

Preferencialmente siga a documentação de instalação do pgAdmin 4. Caso tenha algum problema execute o comando abaixo:

sudo apt install pgadmin4

Criando o banco de dados pelo terminal

Primeiro precisamos acessar o prompt de comando do usuário postgres. Este usuário foi criado automaticamente na instalação do PostgresSQL.

sudo su - postgres

Para criar o banco de dados:

createdb bancoTeste

Entrando no CLI do PostgreSQL e manipulando o BD criado:

psql -d bancoTeste

Nesse estágio você pode manipular o banco utilizando a linguagem SQL do Postgres.

Ainda dentro do CLI do Postgres, vamos atribuindo uma senha para o usuário postgres:

\password postgres

Ele vai pedir que você digite a nova senha duas vezes. Para mais informações digite:

help

Acessando o pgAdmin 4

– Você pode pesquisar no menu de aplicativos do seu S.O por: pgadmin4

– Ou iniciando pelo terminal usando o comando: pgadmin4

– A partir do usuário postgres você consegue criar e logar nos bancos.

Referências