Publicado em GNU/LInux, Progamação, Tecnologia, Ubuntu

Preparando o ambiente de programação Linux

Esse ano estou começando um curso técnico na Etec Ubatuba-SP e decidi fazer as coisas de un jeito diferente do que normalmente eu faço. O que eu faço? Eu uso meu notebook com Ubuntu Linux para tudo: navegar pela web, fazer downloads, assistir o Netflix, escutar música no Spotify, estudar qualquer coisa, jogar Civilization no Steam, escrever código, etc. Isso não vai mudar, mas vou botar um pouco de ordem.

Virtualiza aí!

Meu note é um Asus S400C, legalzinho com seus 4GB de RAM, 500GB de HD, processador Intel Core i5. Está longe de ser um top de línea, mas faz tudo que eu preciso. Como não posso dedicá-lo exclusivamente às tarefas de programação, vou virtualizar um SO pra isso. O host será um Ubuntu 15.10, e o guest, um Xubuntu 15.04, mais leve do que o Ubuntu tradicional.

Pra criar e gerenciar a máquina virtual, fiquei um tempinho experimentando com o QEMU, achei legal, simples de usar; mas, finalmente optei pelo VirtualBox que eu já usava de antes (preguiça). Configurei a máquina virtual com pouco menos da metade da memoria RAM e 20 GB de HD (dinamically alocated storage).

Agora tenho um SO completamente independente como ambiente exclusivo de programação!

Preparando o ambiente

A ideia, em princípio, seria:

  • estudar e escrever código em Python, Java, C#, PHP, C/C++, Arduino, Web e Assembly (Python, porque eu gosto; C/C++ pra brincar de Arduino; Assembly por curiosidade; e Java, PHP e C# porque são as linguagens do curso da Etec)
  • usar bancos de dados MySQL e SQLite
  • usar Git para controle de versões
  • Vim, Netbeans e MonoDevelop como IDEs

O essencial

Updates, compiladores gcc e g++, make, librarias, fontes e outras ferramentas:

sudo apt update
sudo apt dist-upgrade
sudo apt install build-essential checkinstall meld pyrenamer xchat filezilla sqlite ttf-mscorefont-installer

Meld é muito útil para comparar arquivos ou pastas. PyRenamer, para renomear facilmente conjuntos de arquivos. Xchat para o bate-papo no IRC. SQLite é um ótimo banco de dados para pequenos projetos e mobile. FileZilla como cliente FTP.

O supérfluo

Vou desinstalar o que não me serve para programar e deixar assim o sistema mais leve. Se precisar de alguma coisa resolvo pelo SO host:

sudo apt remove --purge thunderbird libreoffice* gmusicbrowser parole simple-scan orage gnome-mines gnome-sudoku pidgin xfburn
sudo apt-get clean
sudo apt-get autoremove

Vim

Vim é um excelente editor de texto, e com os plugins adequados, um ótimo IDE. Orientado a aumentar a produtividade, apresenta uma curva de aprendizado elevada no começo, mas vale a pena o esforço:

sudo apt install vim vim-doc

Deixo para um outro post como configurar o Vim.

Git

O Git tal vez seja o melhor sistema de controle de versão da atualidade, uma especie de Ctrl-Z/Ctrl-Y com kriptonita mais ferramentas de edição colaborativa. Criado pelo próprio Linus Torvalds para administrar a escrita de, nada menos que o código do Kernel Linux, integra-se com serviços cloud como o GitHub, entre outros.

sudo apt install git git-gui git-doc

Fica pra uma outra ocasião como configurar o Git.

Python

Python 2.7 e 3.4 já vêm de fábrica com Xubuntu 15.10. O que preciso instalar sim é o Pip para instalar módulos facilmente e o Virtualenv para criar ambientes isolados, além de alguns módulos para GUI e revisão de código:

sudo apt install python-pip python3-pip
sudo apt install python-tk python3-tk pep8 bzr
pip install virtualenv

Oracle Java 8

Xubuntu vem de fábrica com o openJDK, mas é possível instalar a última versão da Oracle se preferir:

sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer
sudo apt install oracle-java8-set-default

Netbeans

Agora qué já contamos com os compiladores e Java Development Kit, fazemos o Download e instalamos a versão preferida do Netbeans. Eu gosto da versão completa, com suporte para C++, Java, PHP e Web. Não achei uma ppa atualizada e funcional para fazer uma instalação por apt.

cd ~/Downloads
chmod +x netbeans-8.1-linux.sh
./netbeans-8.1-linux.sh

C#

Pro C# no Linux podemos usar o Mono e MonoDevelop IDE:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo deb http://download.mono-project.com/repo/debian wheezy main | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt update
sudo apt install mono-devel mono-complete referenceassemblies-pcl ca-certificates-mono monodevelop

LAMP (Apache, MySQL e PHP)

O LAMP é o pacote de software para instalar tudo que o título está enumerando: o servidor Apache2, o banco de dados MySQL e a linguagem PHP5. Mais o Workbench para administrar o MySQL de forma gráfica, e o módulo PHP para SQLite:

sudo apt install lamp-server^
sudo mysql_install_db
sudo /usr/bin/mysql_secure_installation
sudo apt install mysql-workbench
sudo apt install php5-sqlite

HLA (High Level Assembly)

Para acompanhar a leitura do livro Art of Assembly Language, preciso fazer o Download do HLA, extrair o conteúdo do arquivo tar.gz e instalar:

cd /opt
sudo mv ~/Download/usr/* .
cd /usr/bin
ln -s /opt/hla/hla
ln -s /opt/hla/hlaparse

Editar o .bashrc e adicionar no final:

# HLA (high level assembly)
HLA_HOME=/opt/hla
hlalib=$HLA_HOME/hlalib
hlainc=$HLA_HOME/include
hlatemp=/tmp
export HLA_HOME hlalib hlainc hlatemp

Arduino IDE

É só baixar a última versão da arduino.cc, extrair e instalar:

cd ~
mv ~/Download/arduino-1.6.7 .
cd arduino-1.6.7
sudo ./install.sh

Post data

Ainda tem muito trabalho pela frente para deixar tudo certinho, mas o básico já foi feito. Espero esse post tenha sido útil para vocês. Seria muito legal vocês comentarem como gostam de configurar o seu entorno de programação Linux, quais as suas ferramentas, scripts e configurações imprescindíveis.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.