Mudanças entre as edições de "Oficina de Linux/Ubuntu"
Linha 1: | Linha 1: | ||
− | # | + | = Introdução ao funcionamento do computador = |
+ | |||
+ | * 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 | ||
+ | * hardware x software; | ||
+ | * [http://en.wikipedia.org/wiki/Central_processing_unit cpu], [http://en.wikipedia.org/wiki/Memory_%28computers%29 memórias] (principal e secundária), [http://en.wikipedia.org/wiki/Computer_bus barramentos] , dispositivos de entrada e saída; | ||
+ | * memória de programa versus memória de dados. | ||
+ | |||
+ | = 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: | ||
+ | * gerencimento de processos; | ||
+ | * gerenciamento de memória; | ||
+ | * sistema de arquivos; | ||
+ | * drivers de dispositivos; | ||
+ | * networking; | ||
+ | * teste; | ||
+ | * gerenciamento de entradas/saídas. | ||
+ | |||
+ | 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/481201:the-2011-top-7-best-linux-distributions-for-you melhores distribuições linux 2011] | ||
+ | |||
+ | 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 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 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:pwd, cd, mkdir, rmdir, rm, ls, cp, ln, cat, more, 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 | ||
+ | |||
+ | *Atividade complementar - [[Media:Oficina1.pdf |Lista de exercícios 1]]. | ||
+ | |||
+ | === 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 e depois faça, em casa, a lista de exercícios colocada em [[Media:Oficina2.pdf]] | ||
+ | |||
+ | OBS: Para fazer parte dos exercícios propostos deverá ser instalado um suporte para máquinas virtuais UML (netkit): | ||
+ | |||
+ | ====Instalação do NETKIT==== | ||
+ | |||
+ | |||
+ | 1.Baixar os seguintes arquivos para este diretorio: | ||
+ | |||
+ | * http://www.sj.ifsc.edu.br/~eraldo/RCO3/netkit-2.8.tar.bz2] | ||
+ | * http://www.sj.ifsc.edu.br/~eraldo/RCO3/netkit-filesystem-i386-F5.2.tar.bz2] | ||
+ | * http://www.sj.ifsc.edu.br/~eraldo/RCO3/netkit-kernel-i386-K2.8.tar.bz2] | ||
+ | |||
+ | 2.Descompactá-los usando: | ||
+ | |||
+ | tar xvfj netkit-2.8.tar.bz2 | ||
+ | tar xvfj netkit-filesystem-i386-F5.2.tar.bz2 | ||
+ | tar xvfj netkit-kernel-i386-K2.8.tar.bz2 | ||
+ | |||
+ | 3.Editar ~/.bashrc ou ~/.profile e inserir as variáveis | ||
+ | |||
+ | export NETKIT_HOME=~/netkit | ||
+ | export PATH=$PATH:$NETKIT_HOME/bin | ||
+ | export MANPATH=:$MANPATH:$NETKIT_HOME/man | ||
+ | |||
+ | 4,Testar a instalação | ||
+ | |||
+ | . ~/.profile | ||
+ | cd $NETKIT_HOME | ||
+ | ./check_configuration.sh | ||
+ | |||
+ | === 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 e depois faça, em casa, a lista de exercícios colocada em [[Media:Oficina3.pdf]] | ||
+ | |||
+ | === 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: | ||
+ | * ps | ||
+ | * top | ||
+ | |||
+ | Acompanhe os exercícios demonstrativos do professor e depois faça, em casa, a lista de exercícios colocada em [[Media:Oficina4.pdf]] | ||
+ | |||
+ | == 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] |
Edição das 14h59min de 1 de março de 2012
Introdução ao funcionamento do computador
- representação de dados em sistemas computacionais: uso de códigos (ex:código ASCII);
A -> 01000001 B -> 01000010
- hardware x software;
- cpu, memórias (principal e secundária), barramentos , dispositivos de entrada e saída;
- memória de programa versus memória de dados.
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:
- gerencimento de processos;
- gerenciamento de memória;
- sistema de arquivos;
- drivers de dispositivos;
- networking;
- teste;
- gerenciamento de entradas/saídas.
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 2011
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 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
- 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 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:pwd, cd, mkdir, rmdir, rm, ls, cp, ln, cat, more, 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
- Atividade complementar - Lista de exercícios 1.
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 e depois faça, em casa, a lista de exercícios colocada em Media:Oficina2.pdf
OBS: Para fazer parte dos exercícios propostos deverá ser instalado um suporte para máquinas virtuais UML (netkit):
Instalação do NETKIT
1.Baixar os seguintes arquivos para este diretorio:
- http://www.sj.ifsc.edu.br/~eraldo/RCO3/netkit-2.8.tar.bz2]
- http://www.sj.ifsc.edu.br/~eraldo/RCO3/netkit-filesystem-i386-F5.2.tar.bz2]
- http://www.sj.ifsc.edu.br/~eraldo/RCO3/netkit-kernel-i386-K2.8.tar.bz2]
2.Descompactá-los usando:
tar xvfj netkit-2.8.tar.bz2 tar xvfj netkit-filesystem-i386-F5.2.tar.bz2 tar xvfj netkit-kernel-i386-K2.8.tar.bz2
3.Editar ~/.bashrc ou ~/.profile e inserir as variáveis
export NETKIT_HOME=~/netkit export PATH=$PATH:$NETKIT_HOME/bin export MANPATH=:$MANPATH:$NETKIT_HOME/man
4,Testar a instalação
. ~/.profile cd $NETKIT_HOME ./check_configuration.sh
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 e depois faça, em casa, a lista de exercícios colocada em Media:Oficina3.pdf
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:
- ps
- top
Acompanhe os exercícios demonstrativos do professor e depois faça, em casa, a lista de exercícios colocada em Media:Oficina4.pdf
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].