Arquivo da categoria ‘Linux’

Eclipse – Spring Tool Suite – Linux – Java

Publicado: 10 de outubro de 2014 em Java, Linux

O Spring IO é uma plataforma 100% open source, leve e modular que reúne as principais APIs Spring em uma plataforma fundamentalmente coesa e com versão para aplicações modernas. No topo desta fundação também oferece ambientes de execução de domínio específico (DSRs) otimizados para tipos de aplicativos selecionados. Spring IO é composta por camadas de execução, como o Spring IO Foundation e Spring IO Execution layers.

A camada de fundação representa os módulos do núcleo do Spring e dependências de terceiros associados que tenham sido harmonizadas para garantir uma experiência de desenvolvimento suave. As DSRs fornecidos pelo Execution Layer do Spring IO simplificam, drasticamente a construção, as cargas de trabalho baseadas em JVM prontos para produção.

Spring Tool Suite for Eclipse

O Spring Tool Suite é um ambiente de desenvolvimento baseado em Eclipse que é personalizado para desenvolvimento de aplicações Spring. Ele fornece um ambiente de pronto para usar e para implementar, depurar, executar e implantar seus aplicativos Spring, incluindo integrações para Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven, AspectJ, que integram os últimos lançamentos do Eclipse.

Spring IO: http://spring.io/tools/eclipse

Instalando o  Spring Tool Suite Windows

1 – Para instalar o STS abra a sua versão do Eclipse, no menu Help clique em Eclipse Market Place, no campo de pesquisa digite spring e execute a busca, localize a versão do STS para sua versão do Eclipse e clique em Install:

Marketplace - Linux

Marketplace – Linux

2 – Na tela de confirmação aguarde as opções serem carregadas e clique em Confirm:

Comfirmar - Linux

Comfirmar – Linux

3 – Aceite a licença e clique em Finish:

Licença - Linux

Licença – Linux

4 – Pronto, você pode utilizar o Spring Dashboard localizado no menu Help para saber mais e ficar atualizado sobre as novidades do Spring:

STS - Linux

STS – Linux

Você também pode utilizar nossos exemplos Java Enteprise para saber como funciona o Spring.

O Apache Tomcat  é um servidor web desenvolvido pela Apache Software Foundation (ASF). O Tomcat implementa o Java Servlet e JavaServer Pages (JSP) especificados pela Oracle, e fornece um ambiente de servidor puro JavaHTTP web para o código Java.

TomCat 8: http://tomcat.apache.org/

Instalando o Apache Tomcat

1 – Após o download do arquivo você precisa instalar o OpenJDK 7, caso ainda não tenha instalado, para isto abra o terminal do Linux e siga os seguintes passos:

sudo apt-get install openjdk-7-jdk
cd Downloads
sudo tar -zxvf apache-tomcat-8.0.14.tar.gz -C /var/local/

Obs: Atente-se para o nome do arquivo compactado, será o nome da pasta gerada na descompactação, mude caso baixe uma versão diferente.

2- Caso não tenha nenhum servidor rodando na porta 8080, pule este passo. Caso tenha um outro servidor web em sua maquina mude as todas portas do arquivo de configuração para que iniciem o valor 9, por exemplo: 9080 e assim por diante, utilize a figura abaixo para referencia:

sudo gedit /var/local/apache-tomcat-8.0.14/conf/server.xml
Mudando as portas

Mudando as portas

3 – Você precisa definir um usuário e senha para que possa acessar as configurações do Tomcat, digite a seguinte linha de comando para alterar o arquivo de usuários:

sudo gedit /var/local/apache-tomcat-8.0.14/conf/tomcat-users.xml
Usuários - XML

Usuários – XML

 
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

4 – Digite o comando a seguir para iniciar o servidor Tomcat:

sudo /var/local/apache-tomcat-8.0.14/bin/startup.sh
Iniciando o servidor

Iniciando o servidor

5 – Abra o seu navegador e digite o seguinte endereço, “localhost:9080“:

Apache Tomcat - Linux

Apache Tomcat – Linux

Você já está apto a criar suas aplicações Java para Web, utilize nossos exemplos para aprender Java EE.

Você pode desenvolver aplicações escritas para o .NET Framework no Microsoft Visual Studio e utilizar os arquivos executáveis (“binários”) compilados no sistema operacional Windows, rodando-os diretamente no sistema operacional Linux através do Framework Mono.

O Mono contém as bibliotecas de desenvolvimento do núcleo do Framework da Microsoft e as ferramentas de desenvolvimento e implantação necessárias para portar suas funcionalidades, entretanto existe algumas limitações de portabilidade devido aos conceitos de cada sistema operacional, mas existe uma série de estratégias que você pode adotar, dependendo de como você está confortável com o uso do Linux.

Application Portability: http://www.mono-project.com/docs/getting-started/application-portability/

Distribuindo o Mono

Você pode distribuir o Framework Mono no Linux de um modo fácil, sem precisar ter contato manual com o repositório do projeto, utilizando um PPA (Personal Package Archive), o PPA é uma plataforma para disponibilizar pacotes de softwares empacotados por desenvolvedores para usuários do Ubuntu, você encontra os PPAs no site Launchpad, mantido pela empresa Canonical que é a desenvolvedora do Ubuntu Linux. Utilize as instruções abaixo no terminal do Linux para instalar o Framework Mono:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:inizan-yannick/mono
sudo apt-get update
sudo apt-get install mono-devel

Testando a Portabilidade: Windows – Linux

Para efetuar um teste de portabilidade, vamos criar uma aplicação básica no sistema operacional Windows utilizando o Microsoft Visual Studio, vamos escrever uma aplicação Windows Forms dinamicamente, utilizando algumas técnicas especificas, como alguns Event Handlers dinâmicos, Hot Keys e a previsão de teclas (Key Preview) do Windows e portar o aplicativo compilado que será executado no sistema operacional Linux.

1 – Crie uma nova solução Windows Forms chamada PortabilidadeCs e quando o formulário aparecer na tela aperte a tecla F7 para ir para a unidade de código csharp, troque o código da classe gerada automaticamente pelo código encontrado abaixo:

Windows - Aplicação - Visual Studio

Windows – Aplicação – Visual Studio

2 – Compile e teste seu aplicativo, atente-se para o recurso de previsão de teclas do Windows utilizando as teclas A, B, C e D e também o recurso de teclas de atalhos utilizando as teclas ALT + A e assim por diante:

Aplicação - C# - .NET - Windows

Aplicação – C# – .NET – Windows

3 – Após testar sua aplicação envie uma cópia do arquivo compilado PortabilidadeCS.exe para o sistema operacional Linux, você pode utilizar o método de sua preferencia para efetuar esta operação :

Aplicativo - C# - Linux

Aplicativo – C# – Linux

4 – Quando o Framework Mono está instalado no Linux, o sistema operacional reconhece arquivos de extensão EXE criados no .NET Framework como um arquivo executável do Linux. Utilize um duplo clique para executar sua aplicação C#:

C# - Portabilidade - Windows - Linux

C# – Portabilidade – Windows – Linux

Você pode perceber que todas as funcionalidades básicas do formulário funcionam perfeitamente. Agora você já pode portar suas aplicações Windows para outras plataformas, tenha em mente que você deve seguir sempre as melhores praticas para o desenvolvimento e respeitar as diferentes tecnologias de cada sistema operacional.

Uma opção é encontrar um meio termo para que suas aplicações .NET cruzem as mais diferentes plataformas sem que você tenha que reescrever seu código, por exemplo a tecnologia COM para Windows, mais especificamente DCOM é equivalente a tecnologia CORBA para Linux, porem é possível utilizar CORBA no Windows e portar seus aplicativos sem reescrever os arquivos binários que interagem entre si, dentro é claro, das diferenças e limitações existentes entre as duas tecnologias.

Corba: http://www.corba.org/

As classes comuns de pedido de arquitetura (CORBA) Broker são convertidas para as classes no namespace: System.Runtime.Remoting

Remoting: http://msdn.microsoft.com/pt-br/library/system.runtime.remoting(v=vs.110).aspx

Exemplo:

Neste exemplo criamos uma aplicação C# no Microsoft Visual Studio e a rodamos no sistema operacional Linux através do Framework Mono utilizando o mesmo arquivo “binário”.

C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PortabiliadeCs
{
    public partial class Form1 : Form
    {
        // Define componentes dinamicamente
        Label rotulo;
        RadioButton soma;
        RadioButton subtrai;
        RadioButton multiplica;
        RadioButton divide;
        Label rotulo1;
        TextBox campo1;
        Label rotulo2;
        TextBox campo2;
        Button botao;
        TextBox texto;
        double total;

        public Form1()
        {
            InitializeComponent();

            // Evento OnShown do Formulario
            this.Shown += new System.EventHandler(this.Form1_Shown);
        }

        private void Form1_Shown(object sender, EventArgs e)
        {
            // Cria componentes dinamicamente no evento form shown
            rotulo = new Label();
            soma = new RadioButton();
            subtrai = new RadioButton();
            multiplica = new RadioButton();
            divide = new RadioButton();
            rotulo1 = new Label();
            campo1 = new TextBox();
            rotulo2 = new Label();
            campo2 = new TextBox();
            botao = new Button();
            texto = new TextBox();

            // posiciona componentes no form
            rotulo.Location = new Point(5, 10);
            soma.Location = new Point(5, 30);
            subtrai.Location = new Point(5, 50);
            multiplica.Location = new Point(5, 70);
            divide.Location = new Point(5, 90);
            rotulo1.Location = new Point(5, 120);
            campo1.Location = new Point(60, 120);
            rotulo2.Location = new Point(170, 120);
            campo2.Location = new Point(220, 120);
            botao.Location = new Point(330, 120);
            texto.Location = new Point(5, 150);

            // adiciona a propriedade de texto nos componentes
            rotulo.Text = "Escolha um RadioButton ou pressione (A, B, C ou D) ou (Alt + A, B, C ou D)";
            soma.Text = "Som&a";
            subtrai.Text = "Su&btrai";
            multiplica.Text = "Multipli&ca";
            divide.Text = "&Divide";
            rotulo1.Text = "Numero:";
            rotulo2.Text = "Numero:";
            botao.Text = "OK";

            // seta a propriedades para a caixa de texto
            texto.Multiline = true;
            texto.ScrollBars = ScrollBars.Vertical;
            texto.ReadOnly = true;

            // Define o tamanho dos objetos no form
            Form1.ActiveForm.Size = new Size(550, 400);
            rotulo.Size = new Size(450, 20);
            soma.Size = new Size(130, 20);
            subtrai.Size = new Size(130, 20);
            multiplica.Size = new Size(130, 20);
            divide.Size = new Size(130, 20);
            texto.Size = new Size(410, 100);
            rotulo1.Size = new Size(50, 20);
            rotulo2.Size = new Size(50, 20);
            texto.Size = new System.Drawing.Size(520, 200);

            // Define eventos para o checkbox
            soma.CheckedChanged += new System.EventHandler(soma_CheckedChanged);
            subtrai.CheckedChanged += new System.EventHandler(subtrai_CheckedChanged);
            multiplica.CheckedChanged += new System.EventHandler(multiplica_CheckedChanged);
            divide.CheckedChanged += new System.EventHandler(divide_CheckedChanged);
            botao.Click += new System.EventHandler(botao_Click);

            // Ativa a previsão de teclas do formulario
            Form1.ActiveForm.KeyPreview = true;

            // Nome do formulario
            Form1.ActiveForm.Text = "Desenvolvimento Aberto - Portabilidade Windows - Linux";

            // Adiciona componentes ao formulario
            Form1.ActiveForm.Controls.Add(rotulo);
            Form1.ActiveForm.Controls.Add(soma);
            Form1.ActiveForm.Controls.Add(subtrai);
            Form1.ActiveForm.Controls.Add(multiplica);
            Form1.ActiveForm.Controls.Add(divide);
            Form1.ActiveForm.Controls.Add(rotulo1);
            Form1.ActiveForm.Controls.Add(campo1);
            Form1.ActiveForm.Controls.Add(rotulo2);
            Form1.ActiveForm.Controls.Add(campo2);
            Form1.ActiveForm.Controls.Add(botao);
            Form1.ActiveForm.Controls.Add(texto);

        }

        // Eventos de Click dos botões
        private void botao_Click(object sender, EventArgs e)
        {
            if (soma.Checked)
            {
                total = Convert.ToDouble(campo1.Text) + Convert.ToDouble(campo2.Text);
                texto.AppendText(campo1.Text + " + " + campo2.Text + " = " + total + "\n");
            }

            if (subtrai.Checked)
            {
                total = Convert.ToDouble(campo1.Text) - Convert.ToDouble(campo2.Text);
                texto.AppendText(campo1.Text + " - " + campo2.Text + " = " + total + "\n");
            }

            if (multiplica.Checked)
            {
                total = Convert.ToDouble(campo1.Text) * Convert.ToDouble(campo2.Text);
                texto.AppendText(campo1.Text + " * " + campo2.Text + " = " + total + "\n");
            }

            if (divide.Checked)
            {
                total = Convert.ToDouble(campo1.Text) / Convert.ToDouble(campo2.Text);
                texto.AppendText(campo1.Text + " / " + campo2.Text + " = " + total + "\n");
            }
        }

        // Eventos do RadioButton - mudança de estado
        // Verifica o estado do componente pois este evento é executado duas vezes
        // 1 - Quando o botão é selecionado e
        // 2 - Quando o botão é deselecionado

        private void soma_CheckedChanged(object sender, EventArgs e)
        {
            if (soma.Checked)
            {
                texto.AppendText("Soma:\n");
            }
        }

        private void subtrai_CheckedChanged(object sender, EventArgs e)
        {
            if (subtrai.Checked)
            {
                texto.AppendText("Subtração:\n");
            }
        }
        private void multiplica_CheckedChanged(object sender, EventArgs e)
        {
            if (multiplica.Checked)
            {
                texto.AppendText("Multiplicação:\n");
            }
        }

        private void divide_CheckedChanged(object sender, EventArgs e)
        {
            if (divide.Checked)
            {
                texto.AppendText("Divisão:\n");
            }
        }     

        // Evento de tecla pressionada (Key Preview)
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {

            if (e.KeyCode == Keys.A)
            {

                if (soma.Checked == true)
                {
                    soma.Checked = false;
                }
                else
                {
                    soma.Checked = true;
                }

            }
            if (e.KeyCode == Keys.B)
            {

                if (subtrai.Checked == true)
                {
                    subtrai.Checked = false;
                }
                else
                {
                    subtrai.Checked = true;
                }

            }

            if (e.KeyCode == Keys.C)
            {

                if (multiplica.Checked == true)
                {
                    multiplica.Checked = false;
                }
                else
                {
                    multiplica.Checked = true;
                }

            }

            if (e.KeyCode == Keys.D)
            {

                if (divide.Checked == true)
                {
                    divide.Checked = false;
                }
                else
                {
                    divide.Checked = true;
                }

            }

        }
    }
}

Mono – Linux Forms – GTK# – Linux

Publicado: 29 de agosto de 2014 em Linux

Na verdade o termo “Linux Forms” não existe é só uma boa chamada para o post fazendo alusão ao Windows Forms, o termo correto é Gtk# (g-t-k-sharp). O  Gtk# é um Toolkit de interface gráfica do usuário para Mono e .Net. O projeto Gtk# liga o GTK+ toolkit e bibliotecas variadas do GNOME, permitindo o desenvolvimento de aplicações gráficas GNOME totalmente nativas utilizando os frameworks de desenvolvimento Mono e o .NET.

O que é GTK+ ?

O GTK+, ou o GIMP Toolkit, é um conjunto de ferramentas multi-plataforma para criar interfaces gráficas de usuário. Oferecendo um conjunto completo de widgets, o GTK+ é adequado para vários tipos de projetos desde pequenas ferramentas até para suítes completas de aplicativos.

GTK: http://www.gtk.org/

Desenvolvendo com  o GTK#

Tenha em mente que o projeto nativo para criar aplicativos equivalentes ao Windows Forms para Linux é o Gtk# apesar do Mono também suportar projetos criados no Windows Forms. O Gtk# e Windows Forms não são iguais possuindo varias diferenças entre si, desde o modo para criar aplicações gráficas em Design Time, até nas instruções C# que manipulam seus Widgets.

Hello World GTK#

1 – Para criar um projeto visual Mono para Linux utilizando Gtk#, abra o Mono Develop e crie um projeto GTK#, assim que a solução e o projeto forem criados, clique na unidade de código C# chamada MainWindow.cs e clique no botão Design:

Gtk# - Forms

Gtk# – Forms

 

2 – Os componentes do GTK# ao contrario do Visual Studio (Windows Forms) não herdam a classe Point e não possuem a propriedade Location, então você precisa aloja-los dentro de Widgets do tipo Containers. Na janela de propriedades arraste um componente Vbox para o formulário:

Vbox

Vbox

3 – Na parte superior do Vbox, adicione um componente Menubar, na parte inferior adicione um componente Statusbar, adicione no meio um componente Table, crie os menus de modo similar ao Visual Studio e coloque um componente Label dentro do Statusbar, delete uma de suas colunas sobressalentes, dica, use o combobox da IDE quando precisar navegar pelos Widgets:

Menubar, Statusbar e Table

Menubar, Statusbar e Table

4 – Dentro das células da tabela coloque os componentes Labels, Entrys e Togglebutton, você pode adicionar ou apagar linhas e colunas na tabela clicando com o botão direito do mouse sobre ela e pode alinha-las utilizando a barra de tarefas do lado do combobox que mostra o componente com foco no qual você esta utilizando:

Layout - Widgets

Layout – Widgets

5 – Na janela de propriedades, clique na aba Signals que é equivalente aos eventos no Visual Studio, Clique no botão e expanda a opção Button Signals, dê um duplo clique na propriedade Clicked, um evento equivalente ao evento OnClick do Visual Studio será criado na sua unidade de código C#:

Signals - Eventos

Signals – Eventos

6 – Complete o código de sua unidade de código C# com o código encontrado logo abaixo, atente-se que criamos uma caixa de mensagem para o evento de clique do botão e apesar da sintaxe ser igual as instruções para realizar esta tarefa são diferentes, compile o código e teste o programa:

C#  - Linux

C# – Linux

Você verá que apesar das diferenças o  Mono funciona bem para Linux, é fácil e rápido desenvolver interfaces visuais de nível profissional. O Mono gera um arquivo executável com a extensão .exe para Linux, apesar da extensão não significar nada para o sistema operacional ainda assim é fácil para usuários leigos identificar programas executáveis para Linux.

Exemplo:

Neste exemplo criamos um aplicativo Mono utilizando o modelo de projeto Gtk#, você pode terminar o código implementando os eventos para os botões dos menus.

C#

using System;
using Gtk;

public partial class MainWindow: Gtk.Window
{
	public MainWindow () : base (Gtk.WindowType.Toplevel)
	{
		Build ();
	}

	protected void OnDeleteEvent (object sender, DeleteEventArgs a)
	{
		Application.Quit ();
		a.RetVal = true;
	}

	protected void OnTogglebutton1Clicked (object sender, EventArgs e)
	{

		// Cria uma caixa de menssagem (win forms = MessageBox)

                 String texto = "Nome: " + entry1.Text +
                                "\nSobrenome: " + entry2.Text +
                                "\nEndereço: " + entry3.Text;

	         // Cria dialogo
		MessageDialog dlg = new MessageDialog (null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, texto);

		// chama dialogo
		dlg.Run ();

		// Destroi diaglogo
		dlg.Destroy();

		throw new NotImplementedException ();
	}
}

O .Net Framework da Microsoft é uma plataforma de software projetado para permitir que os desenvolvedores criem facilmente aplicações multi-plataforma, entretanto o suporte oficial da Microsoft limita-se ao sistema operacional Windows. Para que possamos portar aplicativos escritos em .Net Framework para outras plataformas além do Windows como, Linux, Mac OS X, iPhone OS, Oracle Solaris, FreeBSD e outros, precisamos utilizar a plataforma chamada Mono que é patrocinada pela empresa Xamarin. Podemos utilizar ainda uma IDE de desenvolvimento Open Source chamada MonoDevelop para criar programas em qualquer linguagem suportada pelo .Net Framework.

O que é Mono?

Mono é uma implementação open source do .NET Framework da Microsoft com base nos padrões ECMA para C# e Common Language Runtime. Uma família crescente de soluções e uma comunidade ativa e entusiasta que contribui e está ajudando o Mono a se posicionar como a principal escolha para o desenvolvimento de aplicações multi-plataforma.

Mono: http://www.mono-project.com/

O que é MonoDevelop?

É uma IDE multi-plataforma projetada principalmente para C# e outras linguagens .NET. O MonoDevelop permite aos desenvolvedores escrever rapidamente aplicações desktop e Web ASP.NET no Linux, Windows e Mac OSX. O MonoDevelop torna fácil aplicativos .NET que foram criados com o Visual Studio serem portados para Linux e Mac OSX mantendo uma única base de código para todas as plataformas.

MonoDevelop: http://monodevelop.com/

Instalando o Mono e o MonoDevelop

1- Para instalar o Mono no sistema operacional Linux podemos utilizar um PPA da Canonical para Ubuntu. Abra o terminal e digite os seguintes comandos:


sudo apt-get install software-properties-common
sudo add-apt-repository ppa:inizan-yannick/mono
sudo apt-get update
sudo apt-get install mono-devel

Mono -V para ver a versão

Mono -V para ver a versão

2 – Podemos instalar o MonoDevelop de um modo fácil pela GUI do Ubuntu, clicando no primeiro ícone do menu (pesquisa) e escrevendo a palavra “central”:

Pesquisa Ubuntu

Pesquisa Ubuntu

3 – Abra a Central de programas do Ubuntu e digite a palavra MonoDevelop, em seguida selecione o programa e clique em instalar:

Instalando o MonoDevelop

Instalando o MonoDevelop

4 – Após o termino da instalação abra o programa pelo ícone do Mono, que foi adicionado automaticamente ao menu e escolha criar uma Solução de Projeto Modo Texto, que é equivalente a um projeto de Console no Visual Studio:

Solução - Modo Texto

Solução – Modo Texto

5 – A Solução e o projeto serão criados contendo o código de um tradicional programa Hello World, modifique de acordo com o programa abaixo e rode a aplicação que será executada no terminal do Linux:

Programa C# - Linux

Programa C# – Linux

Agora você pode utilizar os programas da categoria C# e portar para a plataforma Linux ou MAC OSX, clique no link a seguir para saber mais sobre a portabilidade do .NET Framework para o Mono.

Portabilidade: http://www.mono-project.com/docs/getting-started/application-portability/

Exemplo:

Neste exemplo instalamos a plataforma Mono, instalamos a IDE MonoDeveloper e criamos um tradicional programa HelloWorld.

C#

using System;

namespace NetLinux
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			Console.WriteLine ("Desenvolvimento Aberto!\n");
			Console.WriteLine ("Hello World Mono!");
		}
	}
}

O Google App Engine permite que você construa aplicações web nos mesmos sistemas escaláveis ​​que as aplicações criadas pelo Google.  Os aplicativos App Engine são fáceis de construir, fácil de manter e fácil de escalar. Com o Google App Engine, não há servidores para manter. Se você acabou de fazer upload de seu aplicativo, ele está pronto para servir a seus usuários.

Ao contrario do Windows e Mac o Linux não possui o Google App Engine Launcher, deste modo todo o manuseio, incluindo compilação, servidor, e  deploy deve ser feito pelo terminal do Linux, por outro lado o Linux já contempla por default todas as ferramentas no qual usaremos, como a instalação do Python 2.7.x e o editor GEdit para a programação Python, então só nos resta baixar o Google App Engine SDK que pode ser baixado clicando aqui.

Computação nas Nuvens

O conceito de computação em nuvem em inglês, Cloud Computing, refere-se à utilização da memória e da capacidade de armazenamento e cálculo de computadores e servidores compartilhados e interligados por meio da Internet, seguindo o princípio da computação em grade.

O armazenamento de dados é feito em serviços que poderão ser acessados de qualquer lugar do mundo, a qualquer hora, não havendo necessidade de instalação de programas ou de armazenar dados. O acesso a programas, serviços e arquivos é remoto, através da Internet – daí a alusão à nuvem. O uso desse modelo (ambiente) é mais viável do que o uso de unidades físicas.

SandBox

O SandBox, em português, caixa de areia (onde as crianças brincam e o gato faz caca, nem precisa explicar, não é?), é um ambiente de desenvolvimento utilizado para desenvolvimentos primários, existem vários tipos de ambiente SandBox e geralmente estão associados a uma metodologia de desenvolvimento. Por exemplo, desenvolvimento de grandes aplicações, uma equipe de desenvolvedores podem utilizar o ambiente de SandBox para criar e testar aplicações sem risco de interferir com a configuração do ambiente de desenvolvimento oficial, após a aplicação ser testada ela passa para um ambiente DEV oficial e o ambiente de SandBox é descartado, sendo constantemente atualizado com uma copia do ambiente de desenvolvimento da empresa. Em desenvolvimento para a web, as empresas que permitem programação em seus ambientes, disponibilizam um ambiente de SandBox para que o usuário aprenda a criar aplicações utilizando virtualizações dos seus ambientes de desenvolvimento, porem sem interferir nos mesmos.

Para permitir que o Google App Engine distribua os pedidos para aplicações em vários servidores web, e para evitar uma aplicação de interferir com a outra, o aplicativo é executado em um ambiente de sandboxrestrito.

Google SandBox Python: https://developers.google.com/appengine/docs/python/#Python_The_sandbox

O que você deve saber sobre o Google Cloud

  • O nome da aplicação é chamado de AppID e deve ser único para não haver colisão de nome na web.
  • As boas praticas recomendam criar nomes de aplicação e diretórios utilizando caracteres minúsculos.
  • O servidor web local do Google App Engine é baseado na tecnologia Apache.
  • As portas locais não devem colidir com outras portas em uso por algum servidor web em seu computador.
  • O Linux não possui a ferramenta Google App Engine Launcher e toda sua manipulação deve ser feita pelo terminal.

 

Programando nas nuvens com o Google App Engine

1 – Para desencargo de consciência,  precisamos testar se já possuímos a versão do Python 2.7.x já instalada, use o comando:


/usr/bin/env python -V

Versão Python

Versão Python

2 – Descompacte o arquivo baixado na sua pasta Home do sistema operacional, que em português chama-se Pasta Pessoal, crie uma nova pasta para nossa aplicação, chame de GoogleApp, deste modo você terá duas pastas adicionais em seu diretório home do Linux, a pasta do SDK chamada google_appengine e GoogleApp na qual iremos criar nossos arquivos fonte.

Descompactar arquivo Zip

Descompactar arquivo Zip

3 – Uma App Cloud do Google é composta de basicamente de dois arquivos, um de extensão yaml que contem os parâmetros de sua aplicação, incluindo o seu AppID e de um arquivo .py que contem o programa de código Python. Use o GEdit do Linux e crie os arquivos app.yaml e main.py e utilize o código abaixo para escrever cada arquivo:

Código Fonte

Código Fonte

4 – Com os arquivos criados no diretório GoogleApp no qual criamos anteriormente, precisamos iniciar o servidor local, utilize a linha abaixo para iniciar o servidor:


~/google_appengine/dev_appserver.py ~/GoogleApp/

Inicia Servidor - App Engine

Inicia Servidor – App Engine

5 – Com o servidor iniciado, abra o seu navegador web e digite o seguinte endereço: http://localhost:8080/

Localhost - porta: 8080

Localhost – porta: 8080

6 – Abra uma outra aba no navegador e digite o endereço do Google App Engine para que possamos criar nosso projeto nos servidores Cloud do Google, já presumimos que você tenha uma conta do Google: https://appengine.google.com/

Google Cloud - Aplicação

Google Cloud – Aplicação

7 – Coloque o nome de sua App de acordo com o conceito de AppID do Google Cloud, este nome deve ser o mesmo contido no seu arquivo app.yaml e deve ser único, preencha uma descrição e clique em criar aplicação:

Cloud - AppID

Cloud – AppID

8 – Vamos efetuar um Deploy para os servidores do Google, isto significa que vamos compilar o programa Python e efetuar um Upload para as nuvens, utilize o seguinte comando para efetuar este procedimento, e-mail e senha serão requeridos:


~/google_appengine/appcfg.py update ~/GoogleApp/

Deploy - nuvens

Deploy – nuvens

9 – Agora é só testar o endereço de sua aplicação nos servidores Cloud do Google, o endereço é composto de sua AppID + .appspot.com:

App Google Cloud

App Google Cloud

Exemplo:

Neste exemplo criamos uma aplicação nas nuvens utilizando a tecnologia Cloud do Google e a linguagem de programação Python:

Utilize este link para ver a aplicação nas nuvens: http://damyapplinux.appspot.com/

Yaml

application: damyapplinux
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: .*
  script: main.app

libraries:
- name: webapp2
  version: "2.5.2"

Python

#!/usr/bin/env python
#
# Copyright 2007 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import webapp2

class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('<h1>Desenvolvimento Aberto</h1>' + \
                            '</br>Hello world!</br>' + \
                            '<strong>' + \
                            '<font size="3" color="#8A2BE2">Google App Engine!</font>' + \
                            '</strong>')

app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)

 

Ruby on Rails

É um framework livre que promete aumentar velocidade e facilidade no desenvolvimento de sites orientados a banco de dados, uma vez que é possível criar aplicações com base em estruturas pré-definidas. Frequentemente referenciado como Rails ou RoR, o Ruby on Rails é um projeto de código aberto escrito na linguagem de programação Ruby. As aplicações criadas utilizando o framework Rails são desenvolvidas com base no padrão de arquitetura MVC (Model-View-Controller).

Além do Ruby vamos instalar o servidor web Apache, o banco de dados MYSQL, a ferramenta visual de manipulação do banco de dados MySQL Workbench, a IDE para Ruby on Rails chamada Aptana e ferramentas necessárias para a instalação do RoR.

Instalação dos Aplicativos

Para instalar somente o Ruby:

sudo apt-get install ruby

Ruby: https://www.ruby-lang.org/en/documentation/installation/

 

Para instalar o pacote de aplicativos contendo os softwares descritos acima abra o Terminal e digite os seguintes comandos:

sudo apt-get install ruby-dev

sudo apt-get install apache2

sudo apt-get install mysql-server

sudo apt-get install mysql-workbench

sudo apt-get install libmysqlclient-dev

sudo apt-get install sqlite3 libsqlite3-dev

sudo apt-get install libwebkitgtk-1.0-0

sudo apt-get install nodejs

sudo apt-get install rails

sudo gem install jquery-rails

sudo gem install coffee-rails

sudo gem install sqlite3

sudo gem install mysql

sudo gem install mysql2

sudo gem install bundler

Ubuntu

1 – Instalação MySQL, durante a instalação escolha uma senha de root:

 

MySQL - Instalar

MySQL – Instalar

2 – Instalação MySQL Workbench:

MySQL WorkBench

MySQL WorkBench

3 – Teste a conexão com o MySQL na ferramenta MySQL Workbench clicando no menu Database:

Conexão - OK

Conexão – OK

4 – Baixe o Aptana clicando aqui, descompacte em uma pasta e abra o seu executável clique em novo projeto Ruby, crie um novo arquivo, o nomeie como Hello.rb e digite o código abaixo:

Aptana - Ruby - Hello World

Aptana – Ruby – Hello World

Exemplo:

Neste exemplo escrevemos o clássico programa inicial chamado Hello World para a linguagem Ruby.

Ruby

# Desenvolvimento Aberto
# Ruby
# hello.rb

class HelloWorld
  def Hello()
    puts "Desenvolvimento Aberto"
    puts "Hello World"
  end
end  

HelloWorld.new().Hello()

Como criar meu primeiro programa Ruby on Rails?
Clique para criar seu primeiro programa Ruby on Rails.

Programar para Web consiste basicamente em duas triologias distintas, a primeira de ferramentas necessárias para criar e rodar um website, um Servidor Web, uma IDE de desenvolvimento de scripts e um Navegador para interpretar os scripts. A segunda triologia consiste nas técnicas básicas de desenvolvimento na qual o desenvolvedor deve conhecer os scripts: Html, Css e Javascript. Nosso objetivo aqui é programar websites direcionados para o sistema operacional Linux, mas o conteúdo deste Walktrhought é multiplataforma.

HTML

Abreviação para a expressão inglesa HyperText Markup Language, que significa Linguagem de Marcação de Hipertexto, é uma linguagem de marcação utilizada para produzir páginas na Web. Documentos HTML podem ser interpretados por navegadores. A tecnologia é fruto da junção entre os padrões HyTime e SGML.

Todo documento HTML possui etiquetas (do inglês: tags), palavras entre parênteses angulares (< e >) ou sinal de menor e maior; essas etiquetas são os comandos de formatação da linguagem. Um elemento é formado por um nome de etiqueta (tag), atributos, valores e filhos (que podem ser outros elementos ou texto). Os atributos modificam os resultados padrões dos elementos e os valores caracterizam essa mudança.

CSS

Cascading Style Sheets (ou simplesmente CSS) é uma linguagem de folhas de estilo utilizada para definir a apresentação de documentos escritos em uma linguagem de marcação, como HTML ou XML. Seu principal benefício é prover a separação entre o formato e o conteúdo de um documento.

Em vez de colocar a formatação dentro do documento, o desenvolvedor cria um link (ligação) para uma página que contém os estilos, procedendo de forma idêntica para todas as páginas de um portal. Quando quiser alterar a aparência do portal basta portanto modificar apenas um arquivo.

JavaScript

É a linguagem de programação da Web. A esmagadora maioria dos sites modernos usam JavaScript, e todos os modernos navegadores web, desktops, jogos consoles, tablets e smartphones também usam JavaScript.

JavaScript foi criado pela Netscape nos primórdios da Web, e tecnicamente, o JavaScript é uma marca licenciada da Sun Microsystems comprada pela Oracle utilizado para desenvolver o Netscape agora Mozilla. A linguagem foi padronizada pelo selo europeu EMCA.

Firefox

Mozilla Firefox é um navegador livre e multiplataforma desenvolvido pela Mozilla Foundation com ajuda de centenas de colaboradores. A intenção da fundação é desenvolver um navegador leve, seguro, intuitivo e altamente extensível. Baseado no componente de navegação da Mozilla Suite (continuada pela comunidade como Seamonkey), o Firefox tornou-se o objetivo principal da Mozilla Foundation. Anteriormente o navegador juntamente com o Mozilla Thunderbird, outro produto da Mozilla Foundation eram os destaques da mesma. Cerca de 40% do código do programa foi totalmente escrito por voluntários.

O Firefox já vem instalado no Ubuntu, caso esteja usando outro sistema operacional visite:

http://www.mozilla.org/pt-BR/firefox/new/

HTTPD – Apache2 Web Server

O servidor Apache é o mais bem sucedido servidor web livre. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications). Numa pesquisa realizada em dezembro de 2007 , foi constatado que a utilização do Apache representa cerca de 47.20% dos servidores ativos no mundo. Em maio de 2010, o Apache serviu aproximadamente 54,68% de todos os sites e mais de 66% dos milhões de sites mais movimentados. É a principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos.

http://httpd.apache.org/

Como Instalar o Apache

Para instalar o Apache2 digite no terminal:


sudo apt-get install apache2

Para testar o apache entre no browser e digite o endereço: localhost

apache

BlueFish

Bluefish é um poderoso editor voltado para programadores e webdevelopers, com muitas opções para escrever websites, scripts e códigos de programação. Bluefish suporta muitas linguagens de programação e de marcação. Bluefish é um projeto de desenvolvimento de código aberto, lançado sob a licença GNU GPL.

Bluefish é uma aplicação multi-plataforma que roda na maioria dos sistemas operacionais de desktop, incluindo Linux, FreeBSD, Mac OS-X, Windows, OpenBSD e Solaris.

http://bluefish.openoffice.nl/

Como Instalar o Bluefish


sudo apt-get install bluefish

Depois de instalado o BlueFish deve parecer como a imagem abaixo:

bluefish

Estrutura HTML

  • <html>: define o início de um documento HTML e indica ao navegador que todo conteúdo posterior deve ser tratado como uma série de códigos HTML.
  • <head>: define o cabeçalho de um documento HTML, que traz informações sobre o documento que está sendo aberto.
  • <body>: define o conteúdo principal, o corpo do documento. Esta é a parte do documento HTML que é exibida no navegador. No corpo podem-se definir atributos comuns a toda a página, como cor de fundo, margens, e outras formatações.

Como Criar Um Website Em Um WebServer Apache Linux

  1.  Crie o diretorio: /home/user1/DesenvolvimentoAberto/Sites/devaberto, onde /home/user1 é o seu diretório do Linux.
  2. Abra o Blufish e selecione o diretorio devaberto.
  3. Crie um novo projeto chamado DesenvolvimentoAberto
  4. Escreva o código html abaixo e salve com o nome de index.html
  5. Clique no icone da barra de ferramentas chamado Antever no navegador, você deve obter um site como na imagem abaixo.hello
  6. Preste atenção no endereço da Url da imagem acima, você esta testando localmente no diretório definido por nós, agora precisamos efetuar um Upload do site para o servidor web Apache.
  7. Abra uma janela do terminal e digite a linha de comando: “sudo chown user1.users /var/www“, onde user1 é o seu usuário do Linux.
  8. Depois digite a segunda linha de comando: “sudo chown user1.users /var/www/index.html“.
  9. Dependendo da versão do Apache o arquivo index.html pode estar dentro da pasta html, adicione a pasta no caminho mostrado acima conforme sua versão do Apache.
  10. No menu Arquivo, clique em Upload/Download, coloque o diretório do site local no qual criamos na opção diretório local e o diretório remoto na opção seguinte.
  11. O diretório remoto em nosso caso é nosso servidor web, que por default esta localizado no sistema de arquivos Linux em: “/var/www“.
  12. Clique no botão Upload, use a imagem abaixo para referencia.upload
  13. Abra o Firefox e digite: localhost, você deve obter o site rodando no seu servidor web como na figura abaixo website

HTML

<html>
   <head>
      <title>Desenvolvimento Aberto</title>
   </head>
<body>
          Desenvolvimento Aberto

<br></br>

<h1>Hello World Wide Web!!!</h1>

</body>
</html>

Como aprender Html / Javascript neste site?

Após instalar o Apache e o BlueFish, no menu categorias clique em JavaScript e vá para o primeiro post, cada post contem uma teoria e um código fonte, siga os em ordem decrescente ou seja do ultimo para o mais recente, o post mais antigo contem as primeiras lições e como usar a IDE BlueFish, continue acompanhando o site para se atualizar e aprender mais sobre JavaScript.

Python é uma linguagem de programação completa, que contém a funcionalidade exigida por programadores para escrever todos os tipos de código, de fazer filmes até para a previsão do tempo. Python é uma linguagem relativamente moderna. É muito poderoso e contém uma biblioteca de funções capazes de muitas tarefas diversificadas. No entanto, nem tudo o que vai achar útil é incorporado Python.

Felizmente, há um grande número de pacotes adicionais que são escritos especificamente para computação científica. Estes pacotes são bibliotecas de comandos extras que acrescentam mais funcionalidades do que o Python possui por default.

O objetivo do Spyder é fornecer um ambiente que faz com que seja fácil de escrever, rodar e debugar códigos Python, além de instalar vários módulos científicos como: NumPy, Matplotlib e SciPy.

Sites:

http://www.numpy.org/
http://matplotlib.org/
http://www.scipy.org/

Spyder

Spyder (anteriormente conhecido como Pydee) é um ambiente de desenvolvimento interativo poderoso para a linguagem Python com edição avançada, teste interativo, depuração e recursos de introspecção.

O Spyder IDE também pode ser usado como uma biblioteca que fornece poderosos widgets relacionados do console para as suas aplicações baseadas em PyQt – por exemplo, pode ser usado para integrar um console de depuração diretamente no layout de sua interface gráfica.

Recursos:

  • Editor : Breakpoints, os pontos de interrupção e pontos de interrupção condicionais para usar com o depurador python (APO).
  • Console : Executar um script todo ou qualquer parte dele a partir do Editor
  • Explorador de variáveis : Ver as variáveis ​​locais, enquanto você está depurando
  • Inspetor de Objetos : Acesso rápido a documentação é uma obrigação para todos os programadores, seja para explorar novas bibliotecas ou se lembrar de como usar um pedaço de código
  • Project Manager : Gerenciar grandes projetos de programação com diversas facilidades.
  • Ajuda on-Line : Explorar documentação gerada dinamicamente de todos os módulos instalados
  • Pylint : Analise seu código-fonte para prever erros e sinais de má qualidade de codificação.
  • Preferencias – Configure Spyder como você deseja com uma grande variedade de preferências disponíveis.

Código Fonte: http://code.google.com/p/spyderlib/
MIT License: http://opensource.org/licenses/mit-license.php

Requisitos:

Sphinx é uma ferramenta que torna mais fácil criar documentação inteligente e bonita, escrita por Georg Brandl e licenciado sob a licença BSD.

Ela foi originalmente criada para a nova documentação do Python, e tem excelentes facilidades para a documentação dos projetos em Python.

Captura de tela de 2014-02-22 17_28_10

site: http://sphinx-doc.org/

Instalação Linux

Entre no Terminal e digite os comando abaixo:

  1. sudo apt-get install python-qt4 python-sphinx
  2. sudo apt-get install spyder

Configuração da IDE

Vamos criar uma configuração para que o Spyder rode os aplicativos Python direto no terminal do Linux, você poderá  interpretar scripts Python como na figura abaixo:

Captura de tela de 2014-02-22 17_18_32

Instruções:

  1. No menu View, Windows and Toolbars escolha Project Explorer.
  2. No menu Tools, Preference escolha: RUN e selecione Execute in a external System Terminal.
  3. No menu File, escolha New Project e coloque o seguinte nome: HelloWorldSpyder.
  4. Clique no novo projeto com o botão direito e escolha New Module e nomeie :hello.py.
  5. Digite o codigo abaixo e na barra de tarefas clique em RUN.

Exemplo:

Neste exemplo criamos o famoso aplicativo Hello World e utilizamos a IDE Spyder para Linux, interpretando o script Python com saída para o Terminal:

#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# hello.py

# Importa OS
import os
# Limpa a tela
os.system("clear")

print "Hello World Spider"

# Cria uma espera no terminal
raw_input()

Spyder – Biblioteca Cientifica

#!/usr/bin/env python
# -*- coding: latin-1 -*-
# MatPlotLib Example
# Ciência.py

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

def data_gen():
     t = data_gen.t
     cnt = 0
     while cnt < 1000:
         cnt+=1
         t += 0.05
         yield t, np.sin(2*np.pi*t) * np.exp(-t/10.)
data_gen.t = 0

fig, ax = plt.subplots()
line, = ax.plot([], [], lw=2)
ax.set_ylim(-1.1, 1.1)
ax.set_xlim(0, 5)
ax.grid()
xdata, ydata = [], []
def run(data):
     # update the data
     t,y = data
     xdata.append(t)
     ydata.append(y)
     xmin, xmax = ax.get_xlim()

     if t >= xmax:
         ax.set_xlim(xmin, 2*xmax)
         ax.figure.canvas.draw()
     line.set_data(xdata, ydata)

     return line,

ani = animation.FuncAnimation(fig, run, data_gen, blit=True, interval=10,     repeat=False)
plt.show()

Discos e Partições – Linux

Publicado: 6 de fevereiro de 2014 em Linux

Vamos aprender como manipular discos rígidos e partições no sistema GNU/Linux e como acessar seus discos de DVD-ROM e partições DOS, Windows no GNU/Linux.

Partições

São divisões existentes no disco rígido que marcam onde começa onde termina um sistema de arquivos. Por causa destas divisões, nós podemos usar mais de um sistema operacional no mesmo computador (como o GNU/Linux e o Windows), ou dividir o disco rígido em uma ou mais partes para ser usado por um único sistema operacional.

Pontos de Montagem

O GNU/Linux acessa as partições existente em seus discos rígidos e dvds através de diretórios. Os diretórios que são usados para acessar (montar) partições são chamados de Pontos de Montagem. No DOS cada letra de unidade (C:, D:, E:) identifica uma partição de disco, no GNU/Linux os pontos de montagem fazem parte da estrutura do sistema de arquivos raiz.

No GNU/Linux, os dispositivos existentes em seu computador (como discos rígidos, tela, portas de impressora, modem, etc) são identificados por um arquivo referente a este dispositivo no diretório /dev.

A identificação de discos rígidos no GNU/Linux é feita da seguinte forma:

/dev/hda1/

dev = Diretório onde são armazenados os dispositivos existentes no sistema.
hd = Sigla que identifica o tipo do disco rígido (hd=ide, sd=SCSI, xt=XT).
a = Letra que identifica o disco rígido (a=primeiro, b=segundo, etc…).
1 = Número que identifica o número da partição no disco rígido.

Exemplos de algumas identificações de discos e partições em sistemas Linux:

  • /dev/hda – Primeiro disco rígido na primeira controladora IDE do micro (primary master).
  • /dev/hda1 – Primeira partição do primeiro disco rígido IDE.
  • /dev/hdb – Segundo disco rígido na primeira controladora IDE do micro (primary slave).
  • /dev/hdb1 – Primeira partição do segundo disco rígido IDE.
  • /dev/sda  -Primeira controlador de porta USB do sistema.
  • /dev/sda1 – Primeiro dispositivo USB conectado a porta USB.
  • /dev/sdb -O Segundo SCSI, SATA ou USB.
  • /dev/sr0 – Primeiro DVD-ROM SCSI.
  • /dev/sr1 – Segundo DVD-ROM SCSI.

Montando e acessando uma partição de disco

Você pode acessar uma partição de disco usando o comando mount:

mount [dispositivo] [ponto de montagem] [opções]

dispositivo:

Identificação da unidade de disco/partição que deseja acessar como /dev/hda1(disco rígido).

Ponto de montagem:

Diretório de onde a unidade de disco/partição será acessado. O diretório deve estar vazio para montagem de um sistema de arquivo. Normalmente é usado o diretório /mnt para armazenamento de pontos de montagem temporários.

Opções:

-t [tipo]

Tipo do sistema de arquivos usado pelo dispositivo. São aceitos os sistemas de arquivos:

ext2 – Para partições GNU/Linux usando o Extended File System versão 2 (a mais comum).

ext3 – Para partições GNU/Linux usando o Extended File System versão 3, com suporte a journaling.

reiserfs – Para partições reiserfs, com suporte a journaling.

vfat – Para partições Windows 95 que utilizam nomes extensos de arquivos e diretórios.

msdos – Para partições DOS normais.

iso9660 – Para montar unidades de CD-ROM. É o padrão.

umsdos – Para montar uma partição DOS com recursos de partições EXT2, como permissões de acesso, links, etc.

ntfs – Para partições NT File System.

Para mais detalhes sobre opções usadas com cada sistema de arquivos, veja a página de manual mount.

-r [tipo]

Caso for especificada, monta a partição somente para leitura.

-w [tipo]

Caso for especificada, monta a partição como leitura/gravação. É o padrão.

Caso você digitar mount sem parâmetros, serão mostrados os sistemas de arquivos atualmente montados no sistema.

Exemplo de Montagem:

Montar uma partição Windows (vfat) de /dev/hda1 em /mnt somente para leitura:

mount /dev/hda1 /mnt -r -t vfat

Montar uma partição DOS localizada em um segundo disco rígido /dev/hdb1 em /mnt:

mount /dev/hdb1 /mnt -t msdos

Montar um pen drive:


mkdir /mnt/pen
mount /dev/sdb /mnt/pen

fstab

O arquivo /etc/fstab permite que as partições do sistema sejam montadas facilmente especificando somente o dispositivo ou o ponto de montagem. Este arquivo contém parâmetros sobre as partições que são lidos pelo comando mount. Cada linha deste arquivo contém a partição que desejamos montar, o ponto de montagem, o sistema de arquivos usado pela partição e outras opções.

[Sistema de arquivos] [Ponto de Montagem] [Tipo] [Opções] [Dump] [Ordem]

Sistema de Arquivos: Partição que deseja montar.

Ponto de montagem: Diretório do GNU/Linux onde a partição montada será acessada.

Tipo: Tipo de sistema de arquivos usado na partição que será montada. Para partições GNU/Linux use ext2, para partições DOS (sem nomes extensos de arquivos) use msdos, para partições Win 95 (com suporte a nomes extensos de arquivos) use vfat,para unidades de CD-ROM use iso9660.

Especifica as opções usadas com o sistema de arquivos. Abaixo, algumas opções de montagem para ext2/3 (a lista completa pode ser encontrada na página de manual do mount):

  • defaults – Utiliza valores padrões de montagem.
  • noauto – Não monta os sistemas de arquivos durante a inicialização (útil para DVD-ROMS).
  • ro – Monta como somente leitura.
  • user – Permite que usuários montem o sistema de arquivos (não recomendado por motivos de segurança).
  • sync é recomendado para uso com discos removíveis para que os dados sejam gravados imediatamente na unidade caso não seja usada, você deve usar o comando sync antes de retirar o disco da unidade.

Dump: Especifica a freqüência de backup feita com o programa dump no sistema de arquivos. 0 desativa o backup.

Ordem: Define a ordem que os sistemas de arquivos serão verificados na inicialização do sistema. Se usar 0, o sistema de arquivos não é verificado. O sistema de arquivos raíz que deverá ser verificado primeiro é o raíz “/” .

Após configurar o /etc/fstab, basta digitar o comando mount /dev/hdg ou mount /cdrom para que a unidade de CD-ROM seja montada. Você deve ter notado que não é necessário especificar o sistema de arquivos da partição pois o mount verificará se ele já existe no /etc/fstab e caso existir, usará as opções especificadas neste arquivo. Para maiores detalhes veja as páginas de manual fstab e mount.

Desmontando uma partição de disco

Para desmontar um sistema de arquivos montado com o comando mount, use o comando umount. Você deve ter permissões de root para desmontar uma partição.

umount [dispositivo/ponto de montagem]

Você pode tanto usar umount /dev/hda1 como umount /mnt para desmontar um sistema de arquivos /dev/hda1 montado em /mnt.

Desmontar o pen drive:

umount /dev/sdb

Observação: O comando umount executa o sync automaticamente no momento da desmontagem para garantir que todos os dados ainda não gravados serão salvos.