Criando instalador USB do MacOS Sierra

Para quem leu o último artigo e ficou curioso sobre como criar um instalador do Sierra para o MacOS, segue um tutorial em pt_BR para te ajudar.

Requisitos

É requisito desse tutorial ter o App que instala o MacOS Sierra em seu sistema, esse instalador deve aparecer no Launchpad ou no diretório de aplicativos.

Se você quiser baixar a versão GM use o link abaixo

https://beta.apple.com/sp/betaprogram/guide

É necessário ter um dispositivo USB.

1. Dispostivo USB

Reserve um dispositivo USB de 16 GB para utilizar como instalador, de preferência USB 3 — quanto mais rápido melhor.

Se existem arquivos importantes copie para outro local pois o processo de criação do instalador irá apagar todos os dados do USB Stick.

2. Rename no dispositivo

Insira seu USB Stick e liste os dispositivo conectados no terminal

diskutil list

Depois de identificar o nome do seu dispositivo faça o rename

sudo diskutil rename "GUTO 16G" SierraInstaller

O comando acima foi um exemplo, troque “GUTO 16G” pelo nome real do seu dispositivo

3. Criando o instalador

Este é o processo que irá criar o instalador

3.1 GM Build

Se estiver usando a versão GM rode o comando abaixo no seu terminal

sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/SierraInstaller --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction &&say Done

A versão GM já é um build fechado, muito próximo do que será apresentado no dia 20, apenas pequenas correções serão adicionadas até dia 20 na versão definitiva.

3.2 Public Beta Build

Se estiver usando a versão Public Beta, rode o comando abaixo no terminal

sudo /Applications/Install\ macOS\ Sierra\ Public\ Beta.app/Contents/Resources/createinstallmedia --volume /Volumes/SierraInstaller --applicationpath /Applications/Install\ macOS\ Sierra\ Public\ Beta.app --nointeraction &&say Done

3.3 Developer Preview Beta Build

Se estiver usando a versão Developer Preview Beta, rode o comando abaixo no terminal

sudo /Applications/Install\ 10.12\ Developer\ Preview.app/Contents/Resources/createinstallmedia --volume /Volumes/SierraInstaller --applicationpath /Applications/Install\ 10.12\ Developer\ Preview.app --nointeraction &&say Done

4. Processo de criação

Após rodar o comando você terá uma saída similar a esta

Erasing Disk: 0%… 10%… 20%… 30%…100%…
Copying installer files to disk…
Copy complete.
Making disk bootable…
Copying boot files…
Copy complete.
Done.

Isso pode demorar dependendo da velocidade do seu USB Stick.

5. Instalando via USB

Após a criação do instalador, você verá no Finder o instalador disponível como dispositivo externo, agora você só precisa reiniciar segurando OPTION e escolher o instalador USB na hora do boot.

Refs

[s]
Guto

Aquecimento para o MacOS Sierra

1. Compatibilidade

1.1 Hardware

A primeira coisa que você precisa saber é que o MacOS Sierra vai funcionar com Macs late 2009 pra frente. Clique em “/About” e veja se seu computador será compatível com o Sierra.

Modelo mínimo

  • MacBook: late 2009 and later
  • MacBook Air: 2010 and later
  • MacBook Pro: 2010 and later
  • iMac: late 2009 and later
  • Mac Mini: 2010 and later
  • Mac Pro: 2010 and later

1.2 Software

Vale conferir se todos os softwares que você usa para trabalho ou lazer funcionarão no MacOS Sierra, acesse o site do fabricante, pesquise no google, acompanhe a galera que já está usando o Beta, isso é importante, é melhor adiar o upgrade do que atualizar e ficar sem um recurso importante no seu sistema.

Eu por exemplo atualizei pro El Capitan cedo demais e fiquei sem o TotalFinder, meu Bartender ficou funcionando parcialmente, as libs que eu usava para gerar PDFs no terminal não funcionavam mais, o discador da Huawei que eu usava para conectar meu modem USB 4G da Vivo não funcionava mais, muita coisa parou e me pegou de surpresa, eu tive que fazer downgrade, foi um grande tempo perdido. Tome todas as medidas para checar se tudo que usa é realmente compatível com o Sierra, fica a dica!

2. Atualize seus Apps

Nos dias próximos ao lançamento praticamente todos os seus Apps principais vão te informar de atualizações relacionadas a compatibilidade com o Sierra, aceite e faça todas as atualizações antes do upgrade.

3. Faxina

Aproveite para fazer aquela faxina no disco para liberar espaço para o upgrade, o El Capitan — por exemplo — necessita de 8.8 GB do disco livre para instalação, portanto, recomendo que tenha pelo menos 15 GB livre no disco para fazer esse upgrade pro Sierra com tranquilidade, remover aplicativos que você não usa ajuda bastante.

Se você não reinicia o seu MacOS há muitos dias, semanas ou meses — como eu faço — é uma boa pedida reiniciar para limpar caches e arquivos temporários do disco.

Você pode usar um App como o CleanMyMac3 para rodar uma rotina completa de limpeza e manutenção do MacOS e pode até remover APPs por ele. Caso não use o CleanMyMac, o Magican é uma opção free muito boa que tem inclusive scanner anti-trojan.

http://www.magicansoft.com/

Recomendo também rodar um antimalware para remover qualquer traço de softwares indesejados no seu sistema, a malwarebytes oferece um free que é muito eficaz.

https://www.malwarebytes.com/mac-download/

Se você desligou o rootless do El Capitan — csrutil — ative novamente antes do upgrade.

Por fim, rode uma rotina de verificação do disco usando o disk utility e com isso você estará quase pronto.

4. Backup

Antes de pensar em fazer o upgrade faça um backup completo no Time Machine, isso vai te dar segurança caso algo não funcione como deveria, com o backup você poderá fazer o restore do seu ambiente.

Eu faço sempre dois backups, um com o Time Machine e outro como CCC (Carbon Copy Cloner).

5. Conta no Apple ID

Após o upgrade o Sierra vai te pedir sua conta do iCloud, a partir do Sierra isso vai ser obrigatório devido a integrações com o Universal Clipboard e auto-unlock do MacOS — por proximidade — com Apple Watch, então, se você ainda não criou uma conta, crie antes da instalação.

6. Atualização Limpa

As dicas acima foram para aqueles que vão realizar o upgrade do El Capitan para o Sierra, preservando os dados, contudo, há quem prefira fazer uma instalação limpa através de um usb stick. Eu normalmente opto por essa técnica. Para uma instalação limpa é necessário criar um instalador USB.

Abaixo alguns bons tutoriais que ensinam a fazer isso:

http://www.macworld.com/article/3092900/macs/how-to-create-a-bootable-macos-sierra-installer-drive.html
http://www.imore.com/how-make-bootable-macos-sierra-installer-drive
http://michaelcrump.net/create-macos-sierra-boot-disk/
http://osxdaily.com/2016/06/15/make-macos-sierra-beta-usb-boot-drive/

Faça seu backup, crie o instalador e depois faça a instalação.

7. Refs

Minhas imagens no Docker Hub

Criando minhas primeiras imagens para começar a estudar Docker de verdade.

Hub do Guto

https://hub.docker.com/u/gutocarvalho/

As duas imagens “-systemd” são bases para as imagens “-puppet”. A ideia é utilizar essas imagens para validar módulos Puppet dentro um pipeline que vai envolver dentre outras coisas do GitLab + GitLab CI.

Imagens disponíveis

Centos 7 + Puppet 4.6.2

https://hub.docker.com/r/gutocarvalho/centos-puppet/    

Ubuntu 16.04 + Puppet 4.6.2

  https://hub.docker.com/r/gutocarvalho/ubuntu-puppet/    

Vou postando minhas aventuras por aqui.

[s]
Guto

Atalhos no MacOS

Resolvi dar uma pesquisada sobre como fazer travessão e numerais e acabei descobrindo mais coisas, compartilho aqui minhas descobertas.

Travessão

Muitas pessoas tem dúvidas sobre como fazer o travessão no MacOs — eu também tinha.

Para fazer o travessão pressione SHIFT + ALT + hífen

Números ordinais

Outra coisa que eu queria aprender era fazer numerais ou números ordinais.

Para fazer o numeral (zero) pressione ALT + 0

Para fazer o numeral (a) pressione ALT + 9

Grau

SHIFT + ALT + 8

20°    

Copyright

OPTION + g

©

Registred

SHIFT + OPTION + r

Team

OPTION + 2

Não igual

OPTION + =

Menor igual

OPTION ,

Maior igual

OPTION .

Apple

SHIFT + OPTION + K

Pesquisando e aprendendo sempre.

Refs

[s]
Guto

Criando ubuntu usb installer no MacOS

Post #notamental que ensina como criar um usbstick no MacOS para instalar o Ubuntu 16.04.1.

1. Processo manual

1.1 Download da imagem

Abra seu terminal e crie um diretório tmp

mkdir tmp; cd tmp/

Faça download da imagem

wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso

1.2 Convertendo imagem

Precisamos converter essa imagem para conseguir criar o usb installer

hdiutil convert -format UDRW -o ubuntu-16.04.1-desktop-amd64.img ubuntu-16.04.1-desktop-amd64.iso

1.3 Detectando dispositivo usb

Insira o usb stick que você pretende usar e logo após faça a detecção de discos

diskutil list

Você verá uma saída como esta

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macross                 499.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macross                +499.0 GB   disk1
                                 Logical Volume on disk0s2
                                 9FE0CB11-FC20-4BB4-9353-E115CB1FBF94
                                 Unencrypted
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS WD1TB                   999.8 GB   disk2s2
/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *7.9 GB     disk3
   1:               Windows_NTFS GUTO                    7.9 GB     disk3s1
/dev/disk4 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +29.2 MB    disk4
   1:                  Apple_HFS UNetbootin              29.1 MB    disk4s1    

No meu caso vou usar o dispositivo /dev/disk3 de 8GB.

1.4 Desmontando dispositivo

Precisamos desmontar para gravar a imagem no dispositivo

diskutil unmountDisk /dev/disk3

1.5 Criando o instalador

Agora vamos transferir a imagem para o usb stick usando o dd

sudo dd if=ubuntu-16.04.1-desktop-amd64.img.dmg of=/dev/disk3 bs=1m

Esse processo pode demorar, dependerá da velocidade do usb stick, no final a saída será similar a esta

1443+1 records in
1443+1 records out

Ignore qualquer popup do finder que aparecer após a conclusão.

1.6 Ejetando o instalador

Ao final do processo ejete o usb stick

diskutil eject /dev/disk3

Pronto, agora você pode instalar o Ubuntu em qualquer computador com esse USB Stick.

Processo via script

Abaixo um exemplo de script para agilizar.

#!/bin/bash

ISONAME="ubuntu-16.04.1-desktop-amd64"
DEVICE="/dev/disk3"

echo "convertendo imagem $ISONAME..."

hdiutil convert -format UDRW -o /Users/gutocarvalho/storage/isos/$ISONAME.img /Users/gutocarvalho/storage/isos/$ISONAME.iso

echo "desmontando dispositivo usb $DEVICE..."

diskutil unmountDisk $DEVICE

echo "Criando instalador usb no dispositivo $DEVICE..."

sudo dd if=/Users/gutocarvalho/storage/isos/$ISONAME.img.dmg of=$DEVICE bs=1m

echo "desmontando dispositivo usb $DEVICE..."

diskutil eject $DEVICE

echo "criacao de disco finalizada."

Criei um snippet no GitLab para facilitar

https://gitlab.com/snippets/25673

[s]
Guto

Por onde iniciar os estudos sobre DevOps?

Muitas pessoas perguntam o que devem estudar ou quais cursos devem fazer para entrar de cabeça no mundo DevOps.

Não é uma resposta fácil, mas tenho algumas indicações para ajudar quem está começando.

1. Vídeos

10 Deploys per day at Flickr

Esse palestra foi a ignição que faltava para a criação do movimento/cultura DevOps em 2009.

https://www.youtube.com/watch?v=LdOe18KhtT4

Entenda as origens DevOps

Vídeo rápido de Damon Edwards (devopsdays core member) acerca das origens do movimento, recomendo.

https://www.youtube.com/watch?v=o7-IuYS0iSE

What is DevOps? - In Simple English

Vídeo curtinho do rackspace que também ajuda.

https://www.youtube.com/watch?v=_I94-tJlovg

DevOpsConf - DevOps State of the Union (John Willis)

Palestra do John Willis (devopsdays core member) na DevOpsCon 2015 sobre o estado do DevOps após 5 anos de seu surgimento.

https://www.youtube.com/watch?v=8rM8lYaMVBE

Five Years of DevOps (Patrick Debois)

Patrick Debois o criador do DevOpsDays e do termo DevOps fala o que achou dos últimos 5 anos de DevOps.

https://www.youtube.com/watch?v=uRMV6tT_mu0

2. Acrônimos

Entenda o que é CAMS

http://devopsdictionary.com/wiki/CAMS

Entenda o que é CALMS

http://whatis.techtarget.com/definition/CALMS

Entenda o que é ICE

http://radar.oreilly.com/2015/01/devops-keeps-it-cool-with-ice.html

Entenda o que é DevSecOps

 http://www.devsecops.org/blog/2015/2/15/what-is-devsecops    

3. Roteiro de estudos

Essa sugestão de estudos é baseada na estrutura CAMS do Willis e Edwards.

3.1 Cultura

  • Estude a metodologia ágil de desenvovlimento
  • Estude metodologias ágeis em geral
  • Estude Scrum
  • Estude Kanban
  • Estude Lean
  • Entenda o que é uma cultura de colaboração e feedback.

Faça um exercicio e tente enxergar os principais problemas culturais do seu time/organização e encontre uma forma corrigir tais problemas adaptando esses métodos.

3.2 Automação

  • Estude virtualização
  • Estude cloud computing
  • Estude Mark Burgess e gerência de configurações
  • Estude infraestrutura como código
  • Conheça pelo menos duas ferramentas de Gerência de Configuração (CFEngine e Puppet)
  • Conheça pelo menos duas ferramentas de Orquestração (Fabric e Ansible)
  • Entenda o que é VCS (Version Control System)
  • Estude GIT pra valer
  • Estude workflows de desenvolvimento usando GIT (olhe os projetos opensource)
  • Estude Continuous Integration
  • Estude Continuous Delivery
  • Estude Continious Deployment
  • Estude TDD/BDD/ATDD
  • Estude Load Testing
  • Estude Stress Testing
  • Estude Security Testing
  • Estude Containers e Docker
  • Estude Microservicos
  • Estude ferramentas para fazer provisionamento automatizado
  • Estude ferramentas de autoserviço
  • Estude sistemas Unix e Linux
  • Estude networking
  • Estude e domine pelo menos 2 linguagens interpretadas (Ruby e Python)
  • Conheça pelo menos 1 stack de cada linguagem
  • Estude a linguagem shell

Labs sugeridos

  • Tente subir uma stack full de automação (ex. puppet)
    • Tente automatizar confs simples do OS (ex. centos)
    • Tente automatizar a instalacao e configuracao de um APP (ex. apache)
  • Tente provisionar VMs ou Containers de forma automatizada via autoserviço
  • Tente construir um pipeline de entrega
    • Indo desde o commit, passando por build, testes até o deploy em vm e container

3.3 Avaliação/Métricas

  • Entenda o que são métricas e pq são importantes
  • Estude real-time-metrics
  • Estude ferramentas APM
  • Conheca bem pelo menos duas ferramentas de monitoramento (Nagios/Zabbix)
  • Estude algum stack para tratamento de logs (ELK)
  • Estude algum stack para coleta e armazenamento métricas (Collectd/Statsd/Graphite/Graphana)

Labs sugeridos

  • Tente subir uma stack full de gestao de logs (ex. ELK)
    • Coloque diversos APPs para jogar dados lá
  • Tente subir um stack full de gestao de dados
    • Gere dados, colete, armazene e visualize com essa stack

3.4 Compartilhamento

  • Entenda a cultura de dividir responsabilidades
  • Entenda a cultura Blameless
  • Aprenda a compartilhar ferramentas entre todos os times
  • Aprenda a compartilhar código entre todos os times
  • Aprenda a compartilhar informações e dados
  • Procure sempre melhorar o processo de comunicação
  • Entenda como funcionam times de produtos
  • Ofereça feedback constante entre os times
  • Volte pra cultura e reinicie o ciclo até aqui
  • Entenda e pratique Dojos
  • Entenda os Hackerspaces
  • Entenda os Hackatons

Cada eixo desse do roteiro de estudos tem cursos disponíveis no mercado, documentação farta online, artigos variados na rede.

Evite procurar por uma formação DevOps no mercado, o ideal é que você mesmo crie um roteiro de estudos.

Se encontrar alguma formação DevOps no mercado, fique alerta, tome muito cuidado para não ser uma empresa inventando algo só para faturar em cima da Buzzword DevOps, não invista seu dinheiro nesses cursos mágicos, como voce viu DevOps é algo amplo, difícil de colocar em um curso de 24 ou 40 horas, procure cursos especializados em centros reconhecidos ou oficiais, vá passando um assunto por vez, um curso por vez se você for da linha dos cursos, se for da linha da autodidaxia, mergulhe nas comunidades, leia, pergunte, compartilhe e aprenda junto conosco.

Coloquei esse guia no GitLab para receber contribs, mande PRs quando quiser.

Agora é começar os estudos, divirta-se!

[s]
Guto

Conhece o projeto rancher?

Rancher é uma plataforma de gerenciamento para containers (funciona com docker).

http://rancher.com

O gerenciador é todo web/gráfico, com interface bem polida e fácil de usar.

Posso até dizer que parece um VMWare para Docker.

O Rancher fala de fábrica Swarm, Kubernetes, Mesos e Cattle (cluster de containers nativo do rancher).

Ele consegue criar clusters em qualquer uma dessas tecnologias.

Para criar um cluster você usa a interface web, ele abstrai tudo pro administrador.

Voce só escolhe qual o tipo de cluster e clica em criar e pronto, cluster rodando, sem dores.

Ele tem Load Balancer, HA, Discovery e tudo que uma ferramenta corporativa de gerenciamento de containers precisa.

Olhando por outro aspecto, ele parece até uma AWS nativa rodando na sua infra (ou no seu notebook).

E tem API para configurar e gerenciar tudo.

http://docs.rancher.com/rancher/v1.2/en/api/

Ele tem um CLI também.

http://docs.rancher.com/rancher/v1.2/en/cli/

Eles criaram o RancherOS para voce instalar um SO Rancher dedicado em BareMetal.

http://rancher.com/rancher-os/

É um OS um tanto quanto diferente, pois tirando o kernel, todo o resto roda em containers.

Fizemos um meetup de docker aqui em Brasília e escolhemos o Rancher para estudar, subimos o rancher server usando docker 1.12 e criamos um cluster de 8 hosts rancher em menos de 15 minutos, esforço mínimo. Após subir o cluster, gastamos mais 5 minutos para fazer o deploy de um APP wordpress+mysql distribuído com LB + discovery entre esses 8 hosts, só não deu tempo de testar o HA, mas pelo que li é tão fácil quanto.

Pra mim esse é o projeto que tem mais futuro nesse mundo dos containers

Se curtiu entre na comunidade ranche-br no telegram

http://telegram.me/rancherbr

#ficaadica #acompanhe #radar-do-guto

Obs.1: Nosso teste com o wordpress utilizou persistência simples de banco mysql, sem HA no banco containerizado, nosso foco foi distribuir o frontend entre vários hosts, somente isso, nem entramos no detalhe de compartilhar um volume para servir o wp-content entre todos os containers (usando convoy-nfs ou gluster-fs). Tem documentação farta para fazer esse lab completo com todos esses detalhes, só não deu tempo de fazer tudo isso no meetup. Enfim, é um projeto promissor, recomendo dar uma acompanhada.

[s]
Guto

Novas turmas de Puppet marcadas no Brasil

Muito leitores e amigos tem me perguntando sobre as datas de treinamento Puppet para o segundo semeste de 2016, sim elas já foram marcadas, seguem as datas!

Puppet Fundamentals

Brasília

Dias 25, 26 e 27 de Outubro

São Paulo

Dias 08, 09 e 10 de Novembro

Puppet Practitioner

São Paulo

Dias 27, 28, 29 de Setembro

Brasília

Dias 22, 23 e 24 de Novembro

Puppet Architect

São Paulo

Dias 13 e 14 de Dezembro

Essas são as últimas turmas do ano, se não aproveitar essa janela terá que esperar até abril de 2017, então aproveite!

http://instruct.com.br

[s]
Guto

Meus dotfiles para osx

Post #notamental, segue abaixo meu repo dotfiles!

https://gitlab.com/gutocarvalho/dotfiles

.bash_profile

https://gitlab.com/gutocarvalho/dotfiles/blob/master/bash_profile.sh

.gitconfig

https://gitlab.com/gutocarvalho/dotfiles/blob/master/gitconfig

.vimrc

https://gitlab.com/gutocarvalho/dotfiles/blob/master/vimrc

[s]
Guto

Boxes vagrant atualizadas no atlas

Meu repositório de box para vagrant foi atualizado ontem, agora todas as box tem Puppet 4 na última versão disponível para aquele sistema operacional.

Repositório Atlas

https://atlas.hashicorp.com/gutocarvalho/

CentOS

CentOS 5.11

https://atlas.hashicorp.com/gutocarvalho/boxes/centos5x64
  • Puppet 4.6.2
  • Virtualbox Guest 5.0.26

CentOS 6.8

https://atlas.hashicorp.com/gutocarvalho/boxes/centos6x64
  • Puppet 4.6.2
  • Virtualbox Guest 5.0.26

CentOS 7.2.1511

https://atlas.hashicorp.com/gutocarvalho/boxes/centos7x64
  • Puppet 4.6.2
  • Virtualbox Guest 5.0.26

Debian

Debian 6.0.10

https://atlas.hashicorp.com/gutocarvalho/boxes/debian6x64
  • Puppet 4.4.1
  • Virtualbox Guest 5.0.26

Debian 7.11

https://atlas.hashicorp.com/gutocarvalho/boxes/debian7x64
  • Puppet 4.6.2
  • Virtualbox Guest 5.0.26

Debian 8.5

https://atlas.hashicorp.com/gutocarvalho/boxes/debian8x64
  • Puppet 4.6.2
  • Virtualbox Guest 5.0.26

Ubuntu

Ubuntu 12.04.5

https://atlas.hashicorp.com/gutocarvalho/boxes/ubuntu1204x64
  • Puppet 4.6.2
  • Virtualbox Guest 5.0.26

Ubuntu 14.04.5

https://atlas.hashicorp.com/gutocarvalho/boxes/ubuntu1404x64
  • Puppet 4.6.2
  • Virtualbox Guest 5.0.26

Ubuntu 16.04.1

https://atlas.hashicorp.com/gutocarvalho/boxes/ubuntu1604x64
  • Puppet 4.6.2
  • Virtualbox Guest 5.0.26

Para adicionar qualquer box digite o comando

vagrant box add gutocarvalho/nome-da-box

[s]
Guto