Mudanças entre as edições de "Oficina de Linux/Ubuntu"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
 
(17 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
#REDIRECIONAMENTO [[Engenharia:Oficina de Linux/Ubuntu]]
+
= Introdução ao funcionamento do computador =
 +
 
 +
 
 +
*Partes de um computador:
 +
**UCP ([http://en.wikipedia.org/wiki/Central_processing_unit CPU]) (Unidade Central de Processamento);
 +
**[http://en.wikipedia.org/wiki/Computer_bus Barramentos];
 +
**[http://en.wikipedia.org/wiki/Memory_%28computers%29 Memórias]: Primária (semicondutora -> RAM e ROM) e Secundárias (disco, pendrive)
 +
**Dispositivos de Entrada e Saída de Dados (Teclado, Monitor etc).
 +
 
 +
*O computador é digital:
 +
** Dados e Instruções são sequências de bits
 +
** Representação de dados em sistemas computacionais:  uso de códigos (ex:[http://pt.wikipedia.org/wiki/ASCII código ASCII]);
 +
  A -> 01000001
 +
  B -> 01000010
 +
** As instruções também são palavras binárias interpretadas pela CPU;
 +
 
 +
De forma simplificada podemos dizer que as instruções ficam em uma
 +
memória de programa enquanto os dados a serem processados pelo programa
 +
ficam em uma memória de DADOS;
 +
 
 +
O programa que está na '''memória de programa''' está escrito
 +
em LINGUAGEM DE MÁQUINA
 +
 
 +
*Funcionamento Simplificado de um Computador
 +
 
 +
Suponha que um programa a ser executado se encontra em uma memória de programa.
 +
Ao ligar o sistema, a CPU busca na memória de programa uma instrução a ser executada
 +
(ciclo de busca) e, então, executa a instrução (ciclo de execução). Na SEQUÊNCIA,
 +
a CPU busca a PRÓXIMA instrução na memória de programa, e assim sucessivamente...
 +
 
 +
O fluxo de execução do programa é, a princípio SEQUENCIAL no sentido
 +
que a execução de uma instrução é realizada somente após a execução da instrução
 +
antecedente.
 +
 
 +
= Conceito de Sistema Operacional (OS) =
 +
 
 +
'''Um [http://en.wikipedia.org/wiki/Operating_system sistema operacional] é um conjunto de programas que gerencia os recursos de hardware de um computador e fornece um conjunto comum de serviços para as aplicações.'''
 +
 
 +
Para um computador desktop, um sistema operacional torna a máquina utilizável para um usuário comum.
 +
 
 +
São características de um OS:
 +
* gerenciamento de [http://en.wikipedia.org/wiki/Process_%28computing%29 processos];
 +
* gerenciamento de memória;
 +
* gerenciamento de entradas/saídas;
 +
* gerenciamento de sistema de [http://en.wikipedia.org/wiki/Computer_file arquivos];
 +
* acionamento dispositivos via [http://en.wikipedia.org/wiki/Device_driver ''drivers''];
 +
* networking (capacidade de operação em rede).
 +
 
 +
Duas grandes abstrações são criadas por um OS: a noção de '''arquivos''' e '''processos'''.
 +
 
 +
= O Linux =
 +
 
 +
== Características Gerais do Sistema ==
 +
 
 +
* multiusuário: vários usuários podem estar cadastrados no sistema e podem utilizá-lo simultaneamente;
 +
* multitarefa: as tarefas podem se executar em pseudo-paralelismo (ou paralelismo real no caso de múltiplos processadores);
 +
* gerenciamento de múltiplos processadores;
 +
* proteção de arquivos;
 +
* interface gráfica é independente do ''kernel'' do sistema, ao contrário do Windows onde o conceito de janelas é embutido no sistema;
 +
* altamente portável;
 +
 
 +
== O Kernel do Linux ==
 +
 
 +
* criado por [http://pt.wikipedia.org/wiki/Linus_Torvalds Linus Torvald];
 +
* implementado em C e assembly (partes dependentes de máquina);
 +
* disponível em: [http://www.kernel.org/ kernel.org]
 +
 
 +
== As distribuições ==
 +
 
 +
'''Uma distribuição é um conjunto de software (livre e não livre), incluindo o kernel linux, softwares aplicativos, ferramentas de configuração etc, que são mantidos por indivíduos, empresas ou outras organizações.'''
 +
 
 +
Confira as principais distribuições aqui: [https://www.linux.com/learn/tutorials/571815-the-2012-top-7-best-linux-distributions-for-you melhores distribuições linux 2012]
 +
 
 +
O Linux usado oficialmente no IFSC-SJ é versão UBUNTU LTE 10.04.
 +
 
 +
== Interfaces gráficas (GUI)==
 +
 
 +
O kernel do Linux não proporciona funcionalidades de janelas no seu kernel. É necessário executar tais GUIs como processos do sistema.
 +
As principas GUIs são:
 +
 
 +
* KDE;
 +
* Gnome;
 +
 
 +
Quase todas GUIs rodam sobre um sistema de base de janelas, o [http://en.wikipedia.org/wiki/X_Window_SystemX X Windows System]. Confira uma comparação entre GUIs [http://en.wikipedia.org/wiki/Comparison_of_X_Window_System_desktop_environments aqui].
 +
 
 +
== Instalando a distribuição Ubuntu ==
 +
 
 +
Consulte [http://www.ubuntu-br.org/download ubuntu-br]
 +
 
 +
Para quem não quer se "livrar" do Windows pode instalar o Ubuntu em dual boot ou como uma aplicação do Windows (Wubi). Outra alternativa é "bootar" o Ubuntu a partir do CD.
 +
 
 +
Observe que você pode instalar no Linux um suporte para máquinas virtuais, por exemplo, a [https://www.virtualbox.org VirtualBox]. Na máquina virtual é possível instalar outros Linux-es e outros OSs tais como o Windows XP etc.
 +
 
 +
Finalmente, você pode instalar uma ferramenta chamada [http://www.winehq.org wine] que permite executar programas Windows sobre o Linux.
 +
 
 +
= Usando o sistema =
 +
 
 +
== Ligando o sistema ==
 +
 
 +
#Ligar o computador e selecionar o sistema Linux, para boot, na tela do “loader” GRUB;
 +
#Logar no sistema Linux através da interface gráfica;
 +
#Através do menu Aplicativos->acessórios->Terminal iniciar um terminal para comandos em linha;
 +
#Entrar no console em modo texto (use CTRL-ALT-F1);
 +
#Volte para a interface gráfica com CTRL-ALT-F7;
 +
#Pratique o chaveamento das interfaces;
 +
 
 +
== Gerenciado o Sistema de Arquivos ==
 +
 
 +
=== Tipos de  Arquivos ===
 +
 
 +
O Linux trata quase tudo como arquivos:
 +
* arquivos ordinários: texto (.txt), imagem (.png,.jpeg), vídeo (.avi) etc;
 +
* arquivos diretórios: encapsulam outros arquivos;
 +
* arquivos dispositivos: representam dispositivoss de hardware tais como interfaces serias, hds etc;
 +
* arquivos link simbólicos: similares a atalhos;
 +
entre outros.
 +
 
 +
=== O gerenciador de arquivos Nautilus ===
 +
 
 +
* O Nautilus é o gerenciador de arquivos ''default'' do GNOME. Ele permite operar de forma gráfica sobre o sistema de arquivos, permitindo a criação/remoção de pastas, modificação de atributos de arquivos etc.
 +
* Ver um guia de uso do Nautilus [http://library.gnome.org/users/user-guide/stable/nautilus.html aqui].
 +
* Veja também uma comparação entre gerenciadores de arquivo [http://en.wikipedia.org/wiki/Comparison_of_file_managers aqui].
 +
 
 +
=== Comandos shell de operação sobre arquivos ===
 +
 
 +
É possível trabalhar sobre o Linux sem nenhuma interface gráfica.
 +
Para tanto pode-se usar um programa interpretador de comandos chamado [http://en.wikipedia.org/wiki/Unix_shell shell].
 +
 
 +
Uma [http://pt.wikipedia.org/wiki/Anexo:Utilit%C3%A1rios_de_Linux/Unix série de comandos podem ser invocados a partir do shell]. Estes comandos podem ser embutidos no próprio shell ou podem ser simplesmente outros comandos (programas) existentes no sistema.
 +
 
 +
Para a operação com arquivos é comum o uso dos comandos:
 +
*[http://pt.wikipedia.org/wiki/Pwd pwd],
 +
*[http://pt.wikipedia.org/wiki/Cd_%28Unix%29 cd],
 +
*[http://pt.wikipedia.org/wiki/Mkdir mkdir],
 +
*[http://pt.wikipedia.org/wiki/Rmdir rmdir],
 +
*[http://pt.wikipedia.org/wiki/Rm rm],
 +
*[http://pt.wikipedia.org/wiki/Ls ls],
 +
*[http://pt.wikipedia.org/wiki/Cp_%28Unix%29 cp],
 +
*[http://pt.wikipedia.org/wiki/Ln_%28Unix%29 ln],
 +
*[http://pt.wikipedia.org/wiki/Cat_%28Unix%29 cat],
 +
*[http://pt.wikipedia.org/wiki/More_%28Unix%29 more],
 +
*[http://pt.wikipedia.org/wiki/Less less]
 +
 
 +
Acompanhe os exercícios demonstrativos do professor:
 +
 
 +
*'''Exercícios em aula'''
 +
:*Comando pwd (mostra o diretório corrente)
 +
[aluno@labHwP ~]$ '''pwd'''         
 +
/home/aluno
 +
 
 +
:*Comando cd
 +
[aluno@labHwP bin]$ '''cd''' /  
 +
[aluno@labHwP ~]$ pwd
 +
/
 +
 
 +
[aluno@labHwP /]$ cd
 +
[aluno@labHwP ~]$ pwd
 +
/home/aluno
 +
 
 +
[aluno@labHwP /]$ cd /home
 +
[aluno@labHwP home]$ pwd
 +
/home
 +
 
 +
:*Comando ls (listagem do diretório)
 +
[aluno@labHwP home]$ cd
 +
[aluno@labHwP ~]$ ls
 +
 
 +
[aluno@labHwP ~]$ ls -l           
 +
total 0
 +
 
 +
:*Comando touch (cria arquivo vazio)
 +
[aluno@labHwP ~]$ touch alfa
 +
[aluno@labHwP ~]$ ls
 +
alfa
 +
 
 +
[aluno@labHwP ~]$ ls -l
 +
total 0
 +
-rw-rw-r-- 1 aluno aluno 0 Mar  1 15:07 alfa
 +
 
 +
:*Comando mkdir
 +
 
 +
=== Proteção de arquivos ===
 +
 
 +
Os comandos mais úteis neste aspecto são:
 +
 
 +
* [http://pt.wikipedia.org/wiki/Chmod chmod]: muda o permissionamento de arquivos;
 +
* [http://pt.wikipedia.org/wiki/Id_%28Unix%29 id]: lista o UID e GID dos grupos ao qual o usuário pertence;
 +
* [http://pt.wikipedia.org/wiki/Chown chown]: muda o proprietário de um arquivo.
 +
 
 +
Acompanhe os exercícios demonstrativos do professor
 +
 
 +
=== Comandos de redirecionamento de entradas e saídas ===
 +
 
 +
Estes comandos visam redirecionar as saídas e entradas de comandos que se utilizam de entrada e saída de dados.
 +
 
 +
Acompanhe os exercícios demonstrativos do professor
 +
 
 +
=== Comandos de gerenciamento de processos ===
 +
 
 +
Estes comandos permite o monitoramento de processos e o o envio de sinais para processos.
 +
 
 +
Os comandos mais utilizados são:
 +
* [http://pt.wikipedia.org/wiki/Ps_%28Unix%29 ps];
 +
* [http://pt.wikipedia.org/wiki/Top_%28Unix%29 top]
 +
 
 +
Acompanhe os exercícios demonstrativos do professor
 +
 
 +
== Aplicações e Ferramentas úteis ==
 +
 
 +
Existem milhares de aplicações e ferramentas para o Linux. Talvez as mais importantes para você neste momento seja:
 +
 
 +
* Mozilla: navegador da Internet;
 +
* BrOffice: conjunto de ferramentas similares ao Office;
 +
* Dia: ferramenta de desenho;
 +
 
 +
== Instalações de pacotes no Ubuntu ==
 +
 
 +
A instalação de novos pacotes se dá pelo uso do Ferramenta de Empacotamento Avançada (APT), usada nas distribuições Debian e derivadas do Debian. Esta ferramenta se apresenta com uma interface gráfica na forma do  Synaptic ou também pode ser usado em linha de comando com o apt-get.
 +
 
 +
Para maior detalhes consultar [http://www.vivaolinux.com.br/artigo/Instalando-pacotes-no-Ubuntu-e-distros-Debianlike aqui].
 +
 
 +
== Aprendendo mais sobre o sistema ==
 +
 
 +
[http://www.guiafoca.org/?page_id=238 Guia Foca Linux]
 +
 
 +
{{ENGTELECO}}

Edição atual tal como às 11h45min de 17 de outubro de 2012

Introdução ao funcionamento do computador

  • Partes de um computador:
    • UCP (CPU) (Unidade Central de Processamento);
    • Barramentos;
    • Memórias: Primária (semicondutora -> RAM e ROM) e Secundárias (disco, pendrive)
    • Dispositivos de Entrada e Saída de Dados (Teclado, Monitor etc).
  • O computador é digital:
    • Dados e Instruções são sequências de bits
    • Representação de dados em sistemas computacionais: uso de códigos (ex:código ASCII);
 A -> 01000001
 B -> 01000010
    • As instruções também são palavras binárias interpretadas pela CPU;
De forma simplificada podemos dizer que as instruções ficam em uma 
memória de programa enquanto os dados a serem processados pelo programa
ficam em uma memória de DADOS;
O programa que está na memória de programa está escrito
em LINGUAGEM DE MÁQUINA
  • Funcionamento Simplificado de um Computador
Suponha que um programa a ser executado se encontra em uma memória de programa.
Ao ligar o sistema, a CPU busca na memória de programa uma instrução a ser executada
(ciclo de busca) e, então, executa a instrução (ciclo de execução). Na SEQUÊNCIA,
a CPU busca a PRÓXIMA instrução na memória de programa, e assim sucessivamente...
O fluxo de execução do programa é, a princípio SEQUENCIAL no sentido 
que a execução de uma instrução é realizada somente após a execução da instrução 
antecedente.

Conceito de Sistema Operacional (OS)

Um sistema operacional é um conjunto de programas que gerencia os recursos de hardware de um computador e fornece um conjunto comum de serviços para as aplicações.

Para um computador desktop, um sistema operacional torna a máquina utilizável para um usuário comum.

São características de um OS:

  • gerenciamento de processos;
  • gerenciamento de memória;
  • gerenciamento de entradas/saídas;
  • gerenciamento de sistema de arquivos;
  • acionamento dispositivos via drivers;
  • networking (capacidade de operação em rede).
Duas grandes abstrações são criadas por um OS: a noção de arquivos e processos.

O Linux

Características Gerais do Sistema

  • multiusuário: vários usuários podem estar cadastrados no sistema e podem utilizá-lo simultaneamente;
  • multitarefa: as tarefas podem se executar em pseudo-paralelismo (ou paralelismo real no caso de múltiplos processadores);
  • gerenciamento de múltiplos processadores;
  • proteção de arquivos;
  • interface gráfica é independente do kernel do sistema, ao contrário do Windows onde o conceito de janelas é embutido no sistema;
  • altamente portável;

O Kernel do Linux

  • criado por Linus Torvald;
  • implementado em C e assembly (partes dependentes de máquina);
  • disponível em: kernel.org

As distribuições

Uma distribuição é um conjunto de software (livre e não livre), incluindo o kernel linux, softwares aplicativos, ferramentas de configuração etc, que são mantidos por indivíduos, empresas ou outras organizações.

Confira as principais distribuições aqui: melhores distribuições linux 2012

O Linux usado oficialmente no IFSC-SJ é versão UBUNTU LTE 10.04.

Interfaces gráficas (GUI)

O kernel do Linux não proporciona funcionalidades de janelas no seu kernel. É necessário executar tais GUIs como processos do sistema. As principas GUIs são:

  • KDE;
  • Gnome;

Quase todas GUIs rodam sobre um sistema de base de janelas, o X Windows System. Confira uma comparação entre GUIs aqui.

Instalando a distribuição Ubuntu

Consulte ubuntu-br

Para quem não quer se "livrar" do Windows pode instalar o Ubuntu em dual boot ou como uma aplicação do Windows (Wubi). Outra alternativa é "bootar" o Ubuntu a partir do CD.

Observe que você pode instalar no Linux um suporte para máquinas virtuais, por exemplo, a VirtualBox. Na máquina virtual é possível instalar outros Linux-es e outros OSs tais como o Windows XP etc.

Finalmente, você pode instalar uma ferramenta chamada wine que permite executar programas Windows sobre o Linux.

Usando o sistema

Ligando o sistema

  1. Ligar o computador e selecionar o sistema Linux, para boot, na tela do “loader” GRUB;
  2. Logar no sistema Linux através da interface gráfica;
  3. Através do menu Aplicativos->acessórios->Terminal iniciar um terminal para comandos em linha;
  4. Entrar no console em modo texto (use CTRL-ALT-F1);
  5. Volte para a interface gráfica com CTRL-ALT-F7;
  6. Pratique o chaveamento das interfaces;

Gerenciado o Sistema de Arquivos

Tipos de Arquivos

O Linux trata quase tudo como arquivos:

  • arquivos ordinários: texto (.txt), imagem (.png,.jpeg), vídeo (.avi) etc;
  • arquivos diretórios: encapsulam outros arquivos;
  • arquivos dispositivos: representam dispositivoss de hardware tais como interfaces serias, hds etc;
  • arquivos link simbólicos: similares a atalhos;

entre outros.

O gerenciador de arquivos Nautilus

  • O Nautilus é o gerenciador de arquivos default do GNOME. Ele permite operar de forma gráfica sobre o sistema de arquivos, permitindo a criação/remoção de pastas, modificação de atributos de arquivos etc.
  • Ver um guia de uso do Nautilus aqui.
  • Veja também uma comparação entre gerenciadores de arquivo aqui.

Comandos shell de operação sobre arquivos

É possível trabalhar sobre o Linux sem nenhuma interface gráfica. Para tanto pode-se usar um programa interpretador de comandos chamado shell.

Uma série de comandos podem ser invocados a partir do shell. Estes comandos podem ser embutidos no próprio shell ou podem ser simplesmente outros comandos (programas) existentes no sistema.

Para a operação com arquivos é comum o uso dos comandos:

Acompanhe os exercícios demonstrativos do professor:

  • Exercícios em aula
  • Comando pwd (mostra o diretório corrente)
[aluno@labHwP ~]$ pwd           
/home/aluno
  • Comando cd
[aluno@labHwP bin]$ cd / 		   
[aluno@labHwP ~]$ pwd
/
[aluno@labHwP /]$ cd 
[aluno@labHwP ~]$ pwd
/home/aluno
[aluno@labHwP /]$ cd /home
[aluno@labHwP home]$ pwd
/home
  • Comando ls (listagem do diretório)
[aluno@labHwP home]$ cd
[aluno@labHwP ~]$ ls
[aluno@labHwP ~]$ ls -l            
total 0
  • Comando touch (cria arquivo vazio)
[aluno@labHwP ~]$ touch alfa
[aluno@labHwP ~]$ ls
alfa
[aluno@labHwP ~]$ ls -l
total 0
-rw-rw-r-- 1 aluno aluno 0 Mar  1 15:07 alfa
  • Comando mkdir

Proteção de arquivos

Os comandos mais úteis neste aspecto são:

  • chmod: muda o permissionamento de arquivos;
  • id: lista o UID e GID dos grupos ao qual o usuário pertence;
  • chown: muda o proprietário de um arquivo.

Acompanhe os exercícios demonstrativos do professor

Comandos de redirecionamento de entradas e saídas

Estes comandos visam redirecionar as saídas e entradas de comandos que se utilizam de entrada e saída de dados.

Acompanhe os exercícios demonstrativos do professor

Comandos de gerenciamento de processos

Estes comandos permite o monitoramento de processos e o o envio de sinais para processos.

Os comandos mais utilizados são:

Acompanhe os exercícios demonstrativos do professor

Aplicações e Ferramentas úteis

Existem milhares de aplicações e ferramentas para o Linux. Talvez as mais importantes para você neste momento seja:

  • Mozilla: navegador da Internet;
  • BrOffice: conjunto de ferramentas similares ao Office;
  • Dia: ferramenta de desenho;

Instalações de pacotes no Ubuntu

A instalação de novos pacotes se dá pelo uso do Ferramenta de Empacotamento Avançada (APT), usada nas distribuições Debian e derivadas do Debian. Esta ferramenta se apresenta com uma interface gráfica na forma do Synaptic ou também pode ser usado em linha de comando com o apt-get.

Para maior detalhes consultar aqui.

Aprendendo mais sobre o sistema

Guia Foca Linux


Curso de Engenharia de Telecomunicações