Python na CargoBR - “Coordenador/instrutor” do Grupo de Estudos Python Sorocaba - Membro do GruPy-SP - Viciado em World of Warcraft (for the horde!) - Palestrante nas horas que sobram - Certificado LPIC-2 por puro “hobbie” Eu
UNIX! • 4 liberdades x GPL x Software livre ◦ Liberdade de executar o programa para qualquer propósito ◦ Liberdade para estudar/adaptar às suas necessidades ◦ Liberdade de redistribuir cópias ◦ A liberdade de aperfeiçoar o programa e liberar os seus aperfeiçoamentos O que é GNU/Linux? Quem é GNU, quem é Linux e que salada é essa?
livre! • Motivo 2: Porque roda em qualquer máquina! • Motivo 3: Porque o Windows te faz chorar! • Motivo 4: Porque muitas bibliotecas são incompatíveis ou muito trabalhosas de se usar no Windows! • Motivo 5: Repita motivo 3! • Motivo 6: Repita motivo 3! • Motivo 7: …. acho que vocês já entenderam Por que usar Python no GNU/Linux? NO MORE TEARS!
O que são, onde vivem e do que se alimentam? /home /lib /lib64 /media /mnt /opt /proc /root /sbin /srv /tmp /usr /var http://www.pathname.com/fhs/pub/fhs-2.3.pdf
e do que se alimentam? http://www.pathname.com/fhs/pub/fhs-2.3.pdf • / : diretório inicial, também chamado de raiz • /bin : programas fundamentais para o S.O. • /boot : arquivos estáticos para carregamento do S.O. (bootloader) • /dev : arquivos de dispositivos de caractere e de bloco • /etc : configurações gerais • /home : armazenamento de arquivos dos usuários • /lib e /lib64 : arquivos de bibliotecas de sistema (em geral C/C++)
e do que se alimentam? • /media : ponto de montagem para mídias removíveis • /mnt : ponto de montagem para filesystems temporários • /opt : instalação de programas extras de natureza “não linux” • /proc : imagem do kernel em execução • /root : diretório para armazenamento de arquivos pessoais do superusuário • /sbin : programas fundamentais para o S.O. que precisam de permissão de superusuário http://www.pathname.com/fhs/pub/fhs-2.3.pdf
e do que se alimentam? • /srv : “antigo diretório” que servia arquivos de um servidor • /tmp : diretório de arquivos temporários, limpo quando S.O. é reiniciado • /usr : contém uma sub-estrutura similar a de / porém com arquivos/comandos “menos essenciais” ao S.O. • /var : contém arquivos de informações variáveis, cache, logs.. etc http://www.pathname.com/fhs/pub/fhs-2.3.pdf
considerável • / : encheu a raiz você trava o sistema • /tmp : é um diretório público onde todos podem escrever • swap : obrigatoriamente deve ser separada • /usr : existem programas bem pesados que ficam no /usr • /var : arquivos de cache/temporários tendem a crescer • /opt : existem programas bem pesados que ficam no /opt • /home : seu diretório pessoal é legal deixar separado para eventuais reinstalações do sistema Dividindo partições Dividir para conquistar! O que é legal separar e por que?
• Se você usa Windows recomendo usar MobaXTerm para acessar sua VM remotamente e trabalhar mais tranquilo • Se você usa Linux/Mac OSX basta instalar o SSH client • Ou você pode usar a VM como está mesmo, porém é meio chato de ler, copiar e colar coisas :( https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
saber? • i → modo de inserção. Digite ESC para retornar ao modo Normal • :wq → salva e sai do editor • :q →sai sem salvar nada • :w →salva • dd → “recorta” linha corrente • yy → copia • p → cola • :help <comando> → ajuda de determinado comando
• locate • updatedb • du • df • chmod • chown • ifconfig • ping • netstat 10 comandos To-Do: Estes comandos ficam para lição de casa, espero que me perguntem e/ou descubram o que eles fazem [email protected]
: manda a saída para um arquivo que você apontar sobrescrevendo o arquivo • >> : manda a saída para um arquivo que você apontar adicionando ao arquivo • | : Empilha comandos em sequência e faz com que a saída de um seja a entrada do outro Extra: Pipe é um caractere que fica no seu teclado, ninguém o usa até começar a usar Linux ou Mac OSX
dinâmico # vim /etc/network/interfaces auto <nome da interface> iface <nome da interface> inet dhcp https://help.ubuntu.com/community/NetworkConfigurationCommandLine/Automatic
configurações # service networking stop # service networking status # service networking start # service networking status # cat /etc/resolv.conf # ifconfig # ping 8.8.8.8 # ping www.google.com https://help.ubuntu.com/community/NetworkConfigurationCommandLine/Automatic
S.O. para tudo? • Versões diferentes de Python • Versões diferentes de bibliotecas Python • Fazer experimentos rápidos sem afetar o ambiente • Muitos programas do Linux (desktop em sua maioria) são escritos em Python, e usam o Python do S.O.
a conf do pyenv $ vim ~/.bashrc # configurações pyenv export PATH="/home/<seu usuario>/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" http://blog.abraseucodigo.com.br/instalando-qualquer-versao-do-python-no-linux-macosx-utilizando-pyenv.html Digitar este trecho no final do arquivo .bashrc
pyenv $ source ~/.bashrc $ pyenv pyenv 20160202-10-ga6f1f48 Usage: pyenv <command> [<args>] Some useful pyenv commands are: commands List all available pyenv commands local Set or show the local application-specific Python version …. linhas omitidas …. http://blog.abraseucodigo.com.br/instalando-qualquer-versao-do-python-no-linux-macosx-utilizando-pyenv.html Recarrega a configuração do seu .bashrc