apresentacao linux módulo 1

177
GNU/Linux Módulo 1 - Introdução Fabio da Silva Santos Diretoria de Tranferência Tecnológica - DTTEC CCUEC UNICAMP

Upload: tiago

Post on 10-Jan-2017

19 views

Category:

Education


0 download

TRANSCRIPT

GNU/Linux Módulo 1 - Introdução

Fabio da Silva SantosDiretoria de Tranferência Tecnológica - DTTEC

CCUECUNICAMP

GNU/Linux Módulo 1 - Introdução

“Um detalhe importantíssimo a se falar quando trata-se de GNU/Linux ou aos Softwares Livres em geral, é que existem várias maneiras de se fazer a mesma coisa, e também existem vários software que fazem a mesma coisa. A liberdade de optar como fazer alguma tarefa é o seu diferencial.”

GNU/Linux Módulo 1 - Introdução

Capítulo 1

Introdução ao GNU/Linux

GNU/Linux Módulo 1 - Introdução

1.1 - O que é GNU/Linux?

✔ Em uma definição mais abrangente, podemos dizer que é um sistema operacional de código-fonte aberto, e que é distribuído gratuitamente pela internet.

✔ Tecnicamente falando, o GNU/Linux é um kernel.

✔ Kernel + Sistema GNU = GNU/Linux.

✔ Kernel + Sistema GNU + Aplicativos + Empacotamento = Distribuição Linux

GNU/Linux Módulo 1 - Introdução

1.2 - História

✔ O kernel do GNU/Linux foi desenvolvido como passatempo por Linus Torvalds, um estudante de computação da Universidade de Helsinki, na Finlândia.

✔ Sua inspiração foi uma pequena distribuição Unix chamada Minix, desenvolvida por Andrew Tannenbaun.

✔ Ele queria um sistema operacional semelhante ao Unix, que pudesse ser utilizado em um PC.

✔ Isso tudo aconteceu em meados de 1991, e em 5 de outubro deste mesmo ano, a seguinte mensagem circulou na UseNet:

GNU/Linux Módulo 1 - Introdução

1.2 - História

“Como mencionei à um mês, estou trabalhando em uma nova versão free de um sistema operacional semelhante ao Minix para computadores AT-386. Ele já alcançou o estágio de ser usável (embora possa não ser dependendo do que você for fazer), e pretendo distribuir o código-fonte. É apenas a versão 0.02, mas já consegui rodar nele o bash, GCC, GNU-make, GNU-sed, compress, etc.”

GNU/Linux Módulo 1 - Introdução

1.2 - História

✔ Em 10 anos, atingiu o número de 30 milhões de usuários.

✔ Um dos sistemas operacionais mais utilizados no mundo dos servidores.

✔ Isso graças ao seu sistema de desenvolvimento colaborativo, de ajuda aos usuários, e de divulgação por partes dos adeptos.

✔ Aos poucos, põe fim ao monopólio tecnológico imposto por grandes empresas de software, principalmente pela Microsoft.

GNU/Linux Módulo 1 - Introdução

1.2 - História

✔ Tal monopólio tecnológico oprime o desenvolvimento tecnológico de países “emergentes”, como o Brasil.

✔ Hoje em dia o Brasil é uma referência no uso de software livre, tendo apoio do governo federal, como mostra o projeto de lei do Senado Número 330, DE 2003, Altera a redação do art. 45 da Lei número 8.666:

✔ 5o. Somente será realizada licitação ou contratação direta, com base no inciso II do art. 24, para aquisição de programas de informática, quando a autoridade acolher em despacho motivado, parecer técnico que conclua pela ausência de programas abertos gratuitos, capazes de suprir adequadamente as necessidades da Administração.

GNU/Linux Módulo 1 - Introdução

1.2 - História

✔ Por parte das instituições governamentais, adotar preferencialmente os Softwares Livres é também apoiar projetos de inclusão digital, para que pessoas sem condições possam ter acesso aos recursos da informática através de tais projetos, que dependem diretamente do Software Livre.

✔ Hoje em dia, é impossível falar de inclusão digital sem falar em Software Livre.

GNU/Linux Módulo 1 - Introdução

1.3 – Algumas características

✔ É livre e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento deste sistema operacional.

✔ Não é requerida uma licença para seu uso. O GNU/Linux é licenciado de acordo com os termos da GPL.

✔ Não precisa de um processador potente para funcionar. O sistema roda bem em computadores 386SX 25MHz com 4MB de RAM (sem rodar o sistema X, que é recomendado 8MB de RAM), sendo um 386SX com 2MB de RAM e 40MB de disco rígido para uma instalação básica e funcional.

GNU/Linux Módulo 1 - Introdução

1.3 – Algumas características

✔ Por ser um sistema operacional de código aberto, você pode ver o que código-fonte faz e adaptá-lo as suas necessidades ou de sua empresa. Esta característica é uma segurança a mais para empresas e outros que não querem ter seus dados roubados (você não sabe o que um sistema operacional sem código-fonte aberto faz na realidade enquanto está processando um programa).

✔ Multitarefa e multiusuário.

✔ Convive sem nenhum conflito com outros sistemas operacionais (DOS, Microsoft Windows, OS/2, etc).

GNU/Linux Módulo 1 - Introdução

1.3 – Algumas características

✔ Acessa corretamente discos formatados pelo DOS, Microsoft Windows, Novell, OS/2, NTFS, MAC, SunOS, Amiga, etc.

✔ Os sistemas de arquivos que podem ser usados com o GNU/Linux como EXT2, EXT3, ReiserFS, etc, organizam os arquivos de forma inteligente evitando fragmentação e fazendo um poderoso sistema para aplicações exigentes e gravações intensivas.

✔ Não há a necessidade de reiniciar o sistema após modificar a configuração de qualquer periférico ou parâmetro de rede.

GNU/Linux Módulo 1 - Introdução

1.3 – Algumas características

✔ Consultores técnicos especializados no suporte ao sistema espalhados por todo o mundo.

✔ Na parte dos desktops, já possui gerenciadores de janelas amigáveis e que já podem ser considerados alternativa ao Microsoft Windows, como por exemplo o KDE e GNOME.

✔ Possui uma porção significativa de aplicativos para os mais diversos fins para usuários mais leigos, como por exemplo, aplicativos de escritórios, navegadores web e leitores de e-mail.

GNU/Linux Módulo 1 - Introdução

1.3 – Algumas características

✔ Empresas como IBM e Novell incentivam e já possuem modelo de negócio baseado em GNU/Linux.

✔ Universidades Públicas e Particulares em todo o mundo incentivam o Software Livre e principalmente o GNU/Linux.

✔ Orgãos governamentais como os Governos dos Estados do Paraná e Rio Grande do Sul, Prefeitura de Rio das Ostras no Rio de Janeiro, Metrô de São Paulo e a Prefeitura de Monique na Alemanha, utilizam e incentivam o Software Livre.

GNU/Linux Módulo 1 - Introdução

1.4 – O GNU/Linux e as Distribuições

✔ Kernel + Sistema GNU + Aplicativos + Empacotamento = Distribuição Linux.

✔ As distribuições nada mais são do que grandes pacotes de software que trazem instaladores, documentações e outras facilidades, que poupam o usuário de tarefas mais espinhosas de instalação e configuração do sistema.

✔ Companhia como RedHat, SuSe, Mandriva, e projetos de comunidades como Debian, Gentoo e Slackware, compilam os softwares e fornecem um sistema completo, pronto para instalação e uso.

GNU/Linux Módulo 1 - Introdução

1.4 – O GNU/Linux e as Distribuições

✔ As diferenças básicas entre si são como estão organizados e pré-configurados os aplicativos, instaladores e ferramentas de configuração disponibilizadas para auxiliar na administração do sistema GNU/Linux.

✔ Mas as principais diferenças estão no sistema de empacotamento, em alguns casos a estrutura de diretórios (normalmente seguem um padrão), e a biblioteca básica glibc.

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Qual distribuição devo usar?

✔ O primeiro passo é pesquisar em fóruns e sites sobre GNU/Linux e pedir auxílio;

✔ Depois analisar a pesquisa;

✔ Não fique desapontado caso a primeira distribuição não lhe agradar;

✔ Teste mais de uma distribuição e escolha uma de fácil utilização.

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ As distribuições mais conhecidas são:

✔ SuSe✔ Distribuição Alemã, comprada recentemente pela americana Novell;

✔ Cresceu bastante no mercado corporativo;

✔ Possui a ferramente de gerenciamento YaST;

✔ Possui ótimo suporte à hardware;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Red Hat

✔ Empresa pioneira no ramo de GNU/Linux;

✔ Tornou-se rapidamente a maior empresa do mundo a trabalhar exclusivamente com o GNU/Linux;✔ Várias outras distribuições são baseadas nela;

✔ Pioneira no uso de ferramentas para configuração do sistema;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Red Hat

✔ Muito usado em servidores (a contragosto de muitos);

✔ Atualmente só desenvolve soluções para empresas, possuindo apenas distribuições fechadas, não liberadas para a comunidade;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Fedora

✔ A Red Hat foi muito criticada por ter mudado seu modelo de negócios e ter deixado de liberar sua distribuição para a comunidade;

✔ Temendo um boicote generalizado, decidiu lançar o projeto Fedora;

✔ Este projeto é uma versão livre para desktops da sua distribuição;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Mandriva (Mandrake + Conectiva)

✔ Distribuição criada à partir da compra da Conectiva S/A pela francesa MandrakeSoft;

✔ Tanto o Conectiva Linux quanto o Mandrake Linux eram baseados no Red Hat;

✔ A Mandrakesoft que era a maior empresa de Linux da Europa, tornou-se também a maior da América Latina, posição ocupada antes pela Conectiva S/A;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Mandriva (Mandrake + Conectiva)

✔ O trunfo do Mandrake Linux é a sua facilidade de uso. Possui uma instalação simples e ferramentas de configuração muito amigáveis;

✔ Suporta vários idiomas, inclusive o Português Brasileiro;

✔ O Conectiva Linux foi a primeira distribuição nacional;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Mandriva (Mandrake + Conectiva)

✔ Possui um bom suporte ao hardware utilizado no Brasil;

✔ Criou ferramentas expressivas, como o Synaptic, e portou o APT, que é o gerenciador de pacotes nativo do Debian, para RPM;

✔ Tornou-se rapidamente a maior empresa do ramo na América Latina;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Slackware

✔ A mais antiga das distribuições GNU/Linux, criada por Patrick Volkerding;

✔ Distribuição tradicionalista, voltada para usuário que sabem o que estão fazendo;

✔ A distribuição mais próxima do Unix padrão;✔ O melhor uso do Slackware é em servidores dedicados, onde não há a necessidade de atualizações constantes;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Debian✔ Criado por Ian Murdock, e adotado pelo Projeto GNU como distribuição padrão;✔ Possui por volta de 8.000 pacotes, facilmente instaláveis pela ferramenta APT;✔ Uma das poucas distribuições que não são mantidas por empresas. 100% do trabalho é feito pela comunidade;✔ Processo de desenvolvimento muito organizado;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Debian✔ Desenvolvedores comprometidos com a estabilidade e segurança dos pacotes;

✔ De fato a distribuição mais testada do mundo;

✔ Apesar de não ter instalador gráfico, sua instalação é muito simples;

✔ Possui suporte para o Português Brasileiro;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Gentoo✔ Criado por Daniel Robins, e definida como uma distribuição “Linux From Scratch” automatizado;

✔ Todos os seus pacotes são compilados e instalados de acordo com o hardware da sua máquina;

✔ Seu gerenciador de pacotes é o Portage;

✔ Possui rica documentação;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Knoppix

✔ Criado por Laus Knopper que oferece a possibilidade de rodar o sistema a partir do CD-ROM (LiveCD);

✔ Muito conhecido e utilizado para demonstrar o GNU/Linux ou utilizá-lo sem precisar instalá-lo;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Kurumin

✔ Distribuição nacional criada por Carlos Eduardo Morimoto, que foi baseada no Knoppix;

✔ Muito conhecido e utilizado no nosso país, por ter sido adapatado para nossa realidade;

✔ Também roda através do CD-ROM (LiveCD), e pode ser instalado em seu computador raídamente;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Debian-BR-CDD

✔ Distribuição nacional criada pela comunidade brasileira Debian-BR, para adaptar a distribuição à realidade nacional;

✔ De fácil instalação e utilização;

✔ Interface gráfica muito bonita e com excelente documentação;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Muriqui Linux

✔ Distribuição nacional criada pelo Instituto Doctum de Educação e Tecnologia;

✔ Baseado no Debian, inteiramente traduzido para o português;

✔ Seu diferencial, além de estar inteiramente traduzido, possui instalação gráfica muito simples, através do software Anaconda;

GNU/Linux Módulo 1 - Introdução

1.5 – Sou novo usuário GNU/Linux, qual distribuição devo usar?

✔ Ubuntu

✔ Desenvolvido na Àfrica do Sul, e fazendo um grande sucesso desde seu lançamento;

✔ Possui ferramentas que tornam muito prático o uso do sistema;

✔ Seu visual é caprichado e organizado;

GNU/Linux Módulo 1 - Introdução

1.6 – Entendendo o Software Livre

✔ Software Livre é uma questão de liberdade, não de preço;

✔ Para entender o conceito, deve-se pensar em “Liberdade de Expressão”, e não em “Almoço grátis”;

✔ Software Livre refere-se a liberdade do usuário executar, copiar, distribuir, estudar, modificar e aperfeiçoar o software;

GNU/Linux Módulo 1 - Introdução

1.6 – Entendendo o Software Livre✔ A liberdade de executar o programa, para qualquer propósito (Liberdade Nº 0 - zero);

✔ A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (Liberdade Nº 1). Acesso ao código-fonte é um pré-requisito para esta liberdade;✔ A liberdade de redistribuir cópias de modo que você possa ajudar ao próximo (Liberdade Nº 2);✔ A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (Liberdade Nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade;

GNU/Linux Módulo 1 - Introdução

1.6 – Entendendo o Software Livre

✔ Pode-se cobrar pelo Software Livre;✔ Não é necessário pedir permissão para copiar, distribuir, modificar, etc;✔ Software Livre não quer dizer não-comercial. Um software livre deve estar disponível para uso comercial, desenvolvimento comercial, e distribuição comercial;

✔ Tais softwares livres comerciais são muito importantes;

✔ Mas independentemente e como você obteve as suas cópias, você sempre tem a liberdade de copiar e modificar o software, ou mesmo vender cópias, VOCÊ É LIVRE PARA ISSO!

GNU/Linux Módulo 1 - Introdução

1.6 – Entendendo o Software Livre

✔ Software licenciados pela GPL (GNU Public License), seguem um conceito conhecido como Copyleft, trocadilho com o termo Copyright, que literalmente sigfica “deixamos copiar”;✔ Esta licença garante a liberdade dos usuário de modificarem e distribuírem suas modificações;✔ O movimento do Software Livre foi criado por Richard Stallman em 1984, pesquisador do MIT (Massachussets Institute Technology);✔ Ele não era a favor de grandes empresas de software imporem restrições aos usuários com o uso do contrato de licença de softwares;

GNU/Linux Módulo 1 - Introdução

1.6 – Entendendo o Software Livre

✔ Desde então, criou o projeto GNU (GNU is not Unix), e fundou a Free Software Foundantion (FSF);

✔ A licença mais conhecida no mundo do Software Livre é a GPL , ou GNU Public Licence, que é uma licença que garante todas as liberdades necessária para um software ser livre;

✔ Outros tipo de licenças parecidas com a GPL são a BSD e a Creative Commons;

GNU/Linux Módulo 1 - Introdução

1.7 – Patentes de software

✔ Outro motivo importante que justifica a adoção dos Software Livres são as patentes de software.

✔ Imagine se o duplo-clique fosse patenteado, e se precisássemos passar a pagar pela sua utilização?

✔ Se esse tipo de recurso fosse patenteado, existirá desenvolvimento tecnológico no futuro para países ditos “emergente” e os mais pobres?

✔ Se isso acontecesse, o software passaria a ser mais caro que o prórpio computador, e apenas grandes empresas poderiam se beneficiar destes recursos.

GNU/Linux Módulo 1 - Introdução

Capítulo 2

Instalação do GNU/Linux

GNU/Linux Módulo 1 - Introdução

2.1 – Antes da instalação

✔ A instalação de um sistema GNU/Linux é um tarefa fácil de se fazer.

✔ O processo de instalação é apenas mais detalhado do que instalar um Microsoft Windows.

✔ Para que este procedimento seja bem sucedido, é indicado seguir algumas dicas básicas:

GNU/Linux Módulo 1 - Introdução

2.1 – Antes da instalação

1) Antes da instalação, verifique se existe outro sistema operacional instalado na máquina.

2) Caso exista, será necessário fazer um redimensionamento para que o GNU/Linux possa ser instalado.

3) Faça um backup de todos os seus arquivos mais importantes e execute a ferramentas de desfragmentação de disco (Apenas se existir outro S.O. em sua máquina).

4) Mesmo que os instaladores possuam o recurso de detecção automática de hardware, sempre tenha em mãos a listagem do hardware da sua máquina (monitor, placa de vídeo, placa de rede wireless, etc).

GNU/Linux Módulo 1 - Introdução

2.1 – Antes da instalação

5) Dê preferência a instalação via boot pelo CD-ROM, que é a mais comum e a mais simples disponível até o momento.6) Caso a máquina esteja localizada em uma rede, peça ao administrador da rede as seguintes informações:

✔ Endereço IP da máquina;✔ Nome da máquina;✔ Gateway;✔ Servidores de nomes (DNS);✔ Domínio.

7) Tenha em mãos os CD da sua distribuição.

GNU/Linux Módulo 1 - Introdução

2.2 – Instalação do Sistema Básico

✔ Independente da distribuição, a instalação do GNU/Linux segue um padrão, que podemos resumir da seguinte forma:

1) Tipo de instalação (modo texto, modo gráfico, etc)2) Detecção de hardware3) Seleção de Idioma4) Seleção do layout do teclado5) Perfis de instalação6) Configurar rede7) Particionamento de disco

GNU/Linux Módulo 1 - Introdução

2.2 – Instalação do Sistema Básico8) Instalação de pacotes9) Configurar o modo gráfico

✔ Monitor✔ Placa de Vídeo✔ Nº de cores / Resolução

10) Configuração do fuso horário

11) Configuração de usuários e senhas12) Configuração do gerenciador de inicialização (bootloader)13) Disco de inicialização

14) Finalização da instalação

GNU/Linux Módulo 1 - Introdução

2.2 – Instalação do Sistema Básico

✔ A distribuição Debian GNU/Linux 3.1 Sarge utiliza a seguinte organização:

1) Tipo de instalação (linux26, expert 26, etc)2) Seleção de Idioma3) Seleção do layout do teclado4) Detectar e montar CD-ROM5) Carregar componentes do instalador6) Detectar hardware de rede7) Detectar discos e outros hardwares8) Particionar discos

GNU/Linux Módulo 1 - Introdução

2.2 – Instalação do Sistema Básico

✔ A distribuição Debian GNU/Linux 3.1 Sarge utiliza a seguinte organização:

9) Instalar sistema básico10) Instalar o GRUB em um disco rígido11) Configuração do fuso horário12) Configurar usuário e senhas13) Configurar o APT (repositório de pacotes)14) Seleção dos perfis de instalação15) Configurar o modo gráfico16) Configurar o EXIM

GNU/Linux Módulo 1 - Introdução

2.2 – Instalação do Sistema Básico

✔ A distribuição Debian GNU/Linux 3.1 Sarge utiliza a seguinte organização:

17) Finalização da configuração18) Inicialização do modo gráfico

GNU/Linux Módulo 1 - Introdução

2.2 – Instalação do Sistema Básico

✔ Tipo de instalação (linux26, expert)

✔ A lista de mirrors oficiais onde encontra-se disponibilizada a imagem do CD de instalação fica em http://www.debian.org/CD/http-ftp/

GNU/Linux Módulo 1 - Introdução

Capítulo 3

Utilizando o GNU/Linux

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ É o programa que controla a aparência das aplicações. Ele atua entre o servidor X e as aplicações

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ No universo do software livre existem diversos tipos de gerenciadores de janela, dentre os quais, podemos citar:

✔ KDE

✔ Ambiente gráfico muito difundido no mundo do software livre;✔ Apresenta um conjunto de aplicativos consistentes para todos os tipos de usuários;✔ Aparência agradável e de fácil operação;✔ Diversos tipos de aplicativos integrados com ele;✔ A única desvantagem é seu alto consumo de memória

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ GNOME

✔ Ambiente gráfico muito difundido no mundo do software livre;✔ Apresenta um conjunto de aplicativos consistentes para todos os tipos de usuários;✔ Aparência agradável e de fácil operação;

✔ Diversos tipos de aplicativos integrados com ele;

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ Enlightenment

✔ Ambiente gráfico altamente personalizável, bonito, e com muitos efeitos visuais;✔ Uma desvantagem é o seu alto consumo de memória;

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ Blackbox

✔ Ambiente gráfico minimalista, muito leve, e pequeno;✔ Não inclui nenhum aplicativo;✔ Sua configuração é feita através de arquivos de configuração;✔ Muito apreciado por usuários mais avançados, graças a sua velocidade;✔ Pode-se melhorar sua aparência quando utilizado com outros programas;

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ Fluxbox

✔ Ambiente gráfico baseado no Blackbox;

✔ Contém mais recursos sem deixar de ser leve e simples;✔ Muito apreciado pelos seus usuários pela sua beleza e leveza;✔ O suporte à ícones é fornecido por programas externos;

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ Windowmaker

✔ Criado pelo Brasileiro Alfredo Kojima;

✔ Sua proposta é diferente de gerenciadores como KDE e GNOME;

✔ Realiza de forma muito rápida e eficiente, a abertura e a manipulação de janelas;

✔ Consome pouquíssima memória;

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ Além desta lista, o mundo do Software livre ainda possui mais uma dezena de gerenciadores de janelas:

✔ IceWM;✔ TWM;✔ XFCE;✔ AfterStep;✔ Blanes 2000;✔ etc..;

GNU/Linux Módulo 1 - Introdução

3.1 – Os gerenciadores de janelas

✔ A escolha do gerenciador de janelas é pessoal.

✔ O gerenciador de janelas padrão do Debian GNU/Linux é o GNOME.

GNU/Linux Módulo 1 - Introdução

3.2 – Terminal Virtual (Console)

✔ Terminal ou console é a tela e o teclado conectados em seu computador.

✔ Um terminal virtual é uma segunda sessão de trabalho completamente independente das outras.✔ Pode ser acessada local ou remotamente.

✔ Para acessá-las localmente, basta pressionar a tecla ALT + F1 até F6 se estiver no modo texto.

✔ Se estiver no modo gráfico, pressione a tecla CTRL + ALT + F1 até F6.

GNU/Linux Módulo 1 - Introdução

3.2 – Terminal Virtual (Console)

✔ Os terminais ou consoles são ferramentas fundamentais para administradores de sistemas e de rede.

✔ Para acessá-la através do GNOME, acesse o ícone que é mostrado na figura abaixo.

ícone para executar o terminal virtual

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.1 – ls : lista conteúdo de diretórios.

Sintaxe: ls <opções>

Opções:

● -l : escreve no formato de colunas simples● -i : exibe o número de inode do arquivo● -h : mostra o tamanho dos arquivos em KB, MB e GB.● -a : lista todos os arquivos, inclusive os ocultos.

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.2 – mkdir : cria diretórios.

Sintaxe: mkdir <opções> <diretório>

Opções:● -p : criada toda a estrutura de diretórios passada como parâmetro.● --verbose : imprime uma mensagem para cada diretório criado.

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.3 – rmdir : remove diretórios vazios.

Sintaxe: rmdir <opções> <diretório>

Opções:● -p : remove toda a estrutura de diretórios passada como parâmetro (o último diretório deve estar vazio).● --verbose : imprime uma mensagem para cada diretório apagado.

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.4 – rm : remove arquivos e diretórios.

Sintaxe: rm <opções> <diretório ou arquivo>

Opções:● -i : pergunta antes de remover. Ativada por padrão● -r : usado para remover arquivos e estrutura de diretórios.● -f : remove arquivos sem perguntar.

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.5 – cd : muda o diretório de trabalho atual.

Sintaxe: cd <diretório>

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.6 – pwd : mostra o nome e o caminho do diretório atual.

Sintaxe: pwd

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.7 – clear : limpa o conteúdo do terminal e posiciona o cursor no início da tela.

Sintaxe: clear

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.8 – man : exibe a página de manual de um comando.

Sintaxe: man <comando>

Opções:● q : sai da página de manual.● k ou seta para cima : rola uma linha acima.● e ou seta para baixo : rola uma linha abaixo.● p ou g : início da página.

GNU/Linux Módulo 1 - Introdução

3.3 – Comandos Básicos – Nível 1

3.3.9 – apropos : procura por comandos através da descrição.

Sintaxe: apropos <comando ou programa>

GNU/Linux Módulo 1 - Introdução

Capítulo 4

Sistema de Arquivos

GNU/Linux Módulo 1 - Introdução

4.1 – Partições

✔ São divisões no disco rígido que marcam onde começa e onde termina um sistema de arquivos.

✔ Por isso podemos usar mais de um sistema operacional no mesmo computador.✔ Um partição não interfere em outras já existentes, pois estão em áreas distintas dos disco rígido.

✔ Para particionar um disco rígido, é necessário utilizar um software de particionamento.✔ Os mais utilizados são: cfdisk, fdisk, parted e disk druid.

GNU/Linux Módulo 1 - Introdução

4.1 – Partições

✔ Algumas informações importantes para a criação de partições:

➢ Primeiramente a partição deve ser criada através dos softwares de particionamento;

➢ Neste processo, além do tamanho, escolhe-se o tipo de partição, selecionando um tipo de sistema de arquivos para formatá-la;➢ Após formatada, a partição deve ser montada, e será identificada com um dispositivo dentro do diretório /dev;

GNU/Linux Módulo 1 - Introdução

4.1 – Partições

✔ Algumas informações importantes para a criação de partições:

➢ Normalmente o sistema operacional encontrado é o Microsoft Windows ocupando todo o espaço do disco rígido;➢ Uma das soluções para isso é redimensionar a partição principal, adicionando mais duas partições para que o GNU/Linux seja instalado;➢ Outra solução é apagar todas as partições do disco rígido e recriá-las novamente. Uma para o Microsoft Windows e duas para o GNU/Linux;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

✔ É o método e a estrutura que o sistema operacional utiliza para administrar a forma que os arquivos estão organizados em um disco ou partição.

✔ É criado no momento em que a partição está sendo formatada.✔ Após a formatação, toda a estrutura para leitura e gravação de dados pelo sistema operacional estará pronta para ser usada.

✔ Cada sistema de arquivos tem uma característica em particular, mas seu propósito é o mesmo: Oferecer a estrutura necessária para ler/gravar dados no disco rígido.

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.1 - EXT2

✔ Um dos primeiros tipos de sistema de arquivos suportados pelo GNU/Linux;✔ Partições formatadas com este sistema de arquivos são conhecidas como do tipo Linux Native;✔ Veloz e não se fragmenta com facilidade, porém não tem suporte à journaling;✔ Na dúvida escolha o seu sucessor, o EXT3, que contém suporte à journaling;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.2 - Journaling

✔ Sistema de journaling grava qualquer operação que será feita no disco em uma área especial;

✔ Deste modo, se acontecer algum problema durante a operação de disco, ele pode voltar ao estado anterior do arquivo, ou finalizar a operação;✔ Com este recurso o journal acrescenta ao sistema de arquivos, o suporte a alta disponibilidade e maior tolerância a falhas;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.3 - EXT3

✔ Nova geração da família EXT (extended file system);

✔ A estrutura da partição EXT3 é semelhante ao EXT2, com a diferença de suportar journaling;✔ O journaling é feito em uma arquivo chamado .journal, que fica oculto pelo código do EXT3;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.4 - ReiserFS

✔ Criado por Hans Reiser, é patrocinado atualmente pela SuSe, e mantido pela empresa NameSys;✔ Desenvolvido expecialmente para o GNU/Linux, muito confiável e surpreendentemente rápido;✔ Por não utilizar blocos de tamanhos fixos, mas ajustar seu tamanho de acordo com o arquivo, evita problemas de desperdício de espaço, comuns em outros sistemas de arquivos;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.4 - ReiserFS

✔ Uma desvantagem do ReiserFS é não trabalhra perfeitamente com sistema de Quota e com NFS (Network File System);

✔ Aguarda-se o lançamento da versão 4, que foi totalmente reescrito e possui desempenho superior à da versão 3;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.5 - JFS

✔ Criado pela IBM para uso em servidores corporativos, teve seu código liberado;

✔ Também possui suporte à journaling;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.6 - XFS

✔ Desenvolvido originalmente pela Silicon Graphics, e também teve seu código liberado;

✔ Possui alguns bugs e vários patches, mas é um sistema de arquivos muito rápido na gravação e possui desfragmentador para arquivos;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.6 - XFS

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.6 - XFS

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.7 - SWAP

✔ Este tipo de partição é usada para oferecer o suporte à memória virtual ao GNU/Linux, em adição a memória RAM instalada;

GNU/Linux Módulo 1 - Introdução

4.2 – Sistema de Arquivos

4.2.8 – Qual sistema de arquivos devo utilizar?

✔ A recomendação é que você escolha, entre os que possuem os recursos que você precisa, aquele que apresentar melhor desempenho e que possui suporte à journaling;✔ Se você não for utilizar NFS, o sistema de arquivos mais recomendado é o ReiserFS, que possui comprovadamente desempenho superior aos demais;✔ Se você for utilizar NFS, pode-se utilizar o XFS ou EXT3;

GNU/Linux Módulo 1 - Introdução

4.3 – Identificação de discos e partições✔ No GNU/Linux, dispositivos do sistema como discos rígidos, disquetes, gravadores de CD, impressoras, etc, são identificados por um arquivo dentro do diretório /dev. No caso dos discos, a identificação é feita da seguinte maneira:

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

GNU/Linux Módulo 1 - Introdução

4.3 – Identificação de discos e partições

✔ Alguns exemplos de identificações de discos e partições:

✔ /dev/fd0 - Primeira unidade de disquetes.

✔ /dev/hda – Primeiro HD na primeira controladora IDE (Primary master).

✔ /dev/hda1 – Primeira partição do primeiro HD IDE.

✔ /dev/hdb – Segundo HD na primeira controladora IDE (Primary slave).

✔ /dev/hdb1 – Primeira partição do segundo HD IDE.

GNU/Linux Módulo 1 - Introdução

4.4 – Pontos de montagem

✔ Antes de um sistema de arquivos poder ser utilizado, ele precisa ser montado;✔ Neste processo, o sistema operacional executa diversas verificações para ter certeza de que tudo está bem;✔ A operação de montagem fará com que o novo sistema de arquivos pareça um subdiretório existente na estrutura de diretórios;✔ Para utilizar estes sistemas de arquivos, pode-se acessar estes diretórios exatamente da mesmo forma que outro qualquer;

GNU/Linux Módulo 1 - Introdução

4.4 – Pontos de montagem

✔ É importante ressaltar que os dispositivos são diferente de pontos de montagem;

✔ Os dispositivos dão acesso aos dados brutos da partição, ilegíveis pelos usuários e apenas pelo kernel (ex: /dev/hda2);✔ Os pontos de montagem permitem o acesso aos dados legíveis pelos usuários, como por exemplo, seus arquivos e diretórios pessoais (ex: /mnt/backup);✔ Podemos montar o dispositivo /dev/hda2 no ponto de montagem /mnt/backup, mas o contrário não é possível, por causa da natureza destes dois tipos de arquivos;

GNU/Linux Módulo 1 - Introdução

Capítulo 5

Arquivos e Diretório

GNU/Linux Módulo 1 - Introdução

5.1 – Arquivos

✔ Nos sistemas UNIX, tudo o que pode ser manipulado pelo S.O. é representado sob a forma de arquivo, incluindo aí diretórios, dispositivos e processos;

✔ No GNU/Linux, o arquivo é a estrutura mais básica e mais importante do sistema;✔ O GNU/Linux segue o padrão POSIX, o mesmo utilizado por outros S.O's derivados do Unix;

✔ Costuma-se definir arquivos como o lugar onde gravamos nossos dados;

✔ Em outros S.O's é feita uma distinção entre arquivos, diretórios, dispositivos e outros componentes do sistema;

GNU/Linux Módulo 1 - Introdução

5.2 – Tipos de Arquivos

✔ Binários: são compostos por bits 1 e 0 e só podem ser interpretados pelo S.O. ou aplicativo específico. Por exemplo, bibliotecas, músicas, imagens, etc;

✔ Arquivo Regular: tipo comum que contém dados somente (áudio, vídeo, imagem, texto, etc), e divide-se em dois grupos;

✔ Texto: são compostos por informações em forma de texto puro (ASCII). Quando se diz que um arquivo é do tipo texto, estamos querendo dizer que se abrirmos num editor de texto, serão exibidas informações legíveis;

GNU/Linux Módulo 1 - Introdução

5.2 – Tipos de Arquivos

✔ Diretórios: são utilizados para separar grupos de arquivos. Um diretório pode conter arquivos e outros diretórios, que serão chamados de subdiretórios;✔ Dispositivos: Todo dispositivo de hardware instalável é chamado de dispositivo. Placas de vídeo, som, rede, CD-ROM, discos rígidos e tudo o que se conecta à interface USB são exemplos de dispositivos. Podem ser de dois tipos:

✔ De bloco: Geralmente são unidades de disco, como HD's, CD's, etc. ✔ De caracter: Em sua maioria são dispositivos PCI, impressoras, mouse, etc.

GNU/Linux Módulo 1 - Introdução

5.2 – Tipos de Arquivos

✔ Pipes: Utilizados pelos processos do sistema para comunicarem-se entre si;✔ Sockets: Utilizados nos processos de comunicação em rede;✔ Links: São atalhos. Servem para fazer referência a outro arquivo localizado em outro local. Podem ser de dois tipo:

✔ Simbólicos: Fazem referência ao arquivo através de seu endereço lógico no disco ou memória. São os links mais comuns;✔ Absolutos: Fazem referência ao arquivo através do seu endereço físico no disco rígido;

GNU/Linux Módulo 1 - Introdução

5.3 – Nomes de Arquivos

✔ Os nomes dos arquivos no GNU/Linux podem ter até 255 caracteres, podendo utilizar espaços e acentos. Há exceção somente quanto ao uso de caracteres especiais:

✔ / \ | “ * ? ! < > ( ) '✔ Um ponto muito importante a frisar é que o GNU/Linux é case sensitive, ou seja, diferencia letras maiúsculas de minúsculas.✔ Sendo assim, os arquivos File.iso e file.iso não são considerados o mesmo arquivo pelo GNU/Linux.✔ Os arquivos também podem ser ocultos, os quais contém um '.' (ponto) antes do seu nome, e normalmente, aparecem no diretório pessoal do usuário. Ex: .bash_history.

GNU/Linux Módulo 1 - Introdução

5.4 – Diretórios

✔ Os diretórios contém arquivos ou outros diretórios. Todo o S.O. possui o que é chamado de árvore de diretórios, que é uma estrutura básica de diretórios principais com seus respectivos subdiretórios;✔ No GNU/Linux a árvore de diretórios é muito bem organizada, e os arquivos são divididos em categorias;

✔ Por isso, arquivos executáveis ficam em um diretório, bibliotecas em outro, arquivos pessoais em outro, e assim por diante, garantindo uma boa organização e uma grande praticidade ao sistema;

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios

✔ O GNU/Linux possui um padrão rígido e específico a respeito da organização hierárquica dos diretórios;

✔ Esse padrão é definido pela FHS, ou Filesystem Hierarquy Standard, constante da LSB, ou Linux Standard Base, e que diferem totalmente da estrutura de diretórios do Microsoft Windows;

✔ No Microsoft Windows, temos os arquivos do sistema concentrados nas pastas C:\Windows e C:\Arquivos de Programas e você pode criar e organizar suas pastas da forma que quiser;

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios

✔ No GNU/Linux é ao contrário. O diretório raiz está tomado pelas pastas do sistema e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no diretório /home;

✔ Nada impede que você crie mais pastas no diretório raiz para armazenar seus arquivos;

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios /-- |-- bin |-- boot |-- dev |-- etc |-- home |-- lib |-- media |-- mnt |-- opt |-- proc |-- root |-- sbin |-- srv |-- sys |-- tmp |-- usr |-- var

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios

✔ /bin : Armazena arquivos executáveis essenciais aos funcionamento do sistema e utilizados com muito frequência pelo administrador do sistema;

✔ /boot : Armazena tudo o que é necessário para carregar o sistema, exceto os arquivos de configuração;

✔ /dev : Armazena os arquivos de dispositivo dos sistema. Ex. Disquete = /dev/fd0, HD = /dev/hda, etc;

✔ /etc : Armazena os arquivos de configuração do sistema. Equivalente ao registro do Microsoft Windows. Contém apenas arquivos texto (ASCII);

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios

✔ /home : Armazena os diretórios pessoais dos usuário do sistema, exceto do usuário administrador root. Pode ser criado como uma partição separada da partição principal;✔ /lib : Armazena bibliotecas necessárias para inicializar o sistema e executar comandos no sistema de arquivos. Pode conter também módulos do kernel em /lib/modules;✔ /media : Armezena os subdiretórios que são utilizados como pontos de montagem para mídias removíveis, como por exemplo, disquetes, CD-ROM, gravadores de CD/DVD, dispositivos USB, etc;✔ /mnt : Armazena subdiretórios que são utilizados como pontos de montagem para novas partições no disco rígido;

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios

✔ /proc : Este diretório é um sistema virtual utilizado para manipular informações de processos do sistema;✔ /root : Diretório pessoal do usuário administrador root;

✔ /sbin : Armazena executáveis essenciais para inicializar, reparar e recuperar o sistema, complementando os comandos encontrados em /bin;✔ /tmp : Armazena arquivos temporários gerados pelo sistema;✔ /usr : Segunda maior seção do sistema. Armazena uma subestrutura com diversos tipos de arquivos. Softwares instalados localmente costumam colocar seus arquivos executáveis e bibliotecas nesta estrutura;

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios

✔ /usr/bin : Armazena a maioria dos executáveis de utilização dos usuários. Executáveis de programas como python, perl e gcc encontram-se neste diretório;✔ /usr/lib : Armazena bibliotecas utilizadas pelas aplicações dos usuários;✔ /usr/local : Utilizado para armazenar a estrutura de diretórios de programas instalados localmente;✔ /usr/sbin : Armazena executáveis não essenciais usados apenas pelo administrador do sistema;✔ /usr/share : Armazena arquivos compartilháveis pelo sistema. Ex. páginas de manual, arquivos de locale, etc;

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios

✔ /var : Armazena arquivos e diretórios de dados variáveis e também arquivos temporários;✔ /var/cache : Armazena dados de aplicações em cache;

✔ /var/lib : Armazena informações que informam o estado das aplicações;✔ /var/log : Armazena uma miscelânia de arquivos de log. A maioria dos logs de sistema e de aplicações são escritos neste diretório;✔ /var/run : Armazena arquivos variáveis em tempo de execução, com informações do sistema, descrevendo-o desde que foi inicializado;

GNU/Linux Módulo 1 - Introdução

5.5 – Estrutura de Diretórios

✔ /var/tmp : Armazena arquivos temporários que são preservados entre as reinicializações do sistema;

GNU/Linux Módulo 1 - Introdução

5.6 – Caminhos

✔ Como em todo sistema de arquivos de qualquer sistema operacional, a referência a um arquivo/diretório deve ser feita através do seu caminho. Um caminho é formado da seguinte forma:✔ [dir. raiz] [dir. 1] [dir 2] [dir n] [arquivo]✔ Cada um desses itens são separados por um símbolo, que varia de acordo com o sistema operacional.✔ No GNU/Linux, o diretório raiz chama-se / (barra), e o símbolo utilizado para separar ps itens é a própria /. Um exemplo de caminho seria:✔ /home/curso/doc/linux/gnu.sxw

GNU/Linux Módulo 1 - Introdução

5.7 – Notações de diretórios do sistema

✔ Alguns diretórios possuem notações especiais, algo que poderíamos chamar de “atalho” para acesso. Veja a lista destas notações:

✔ ~ : Refere-se ao diretório pessoal do usuário logado no momento;✔ - : Refere-se ao último diretório acessado;✔ . : Refere-se ao diretório de trabalho atual;

✔ .. : Refere-se ao diretório pai do diretório de trabalho atual;

GNU/Linux Módulo 1 - Introdução

Capítulo 6

Utilizando o Interpretador de comando (shell)

GNU/Linux Módulo 1 - Introdução

6.1 – O Interpretador de comandos

✔ Também conhecido como shell, é o programa responsável em interpretar as instruções enviadas pelo usuário ao sistema operacional. É a principal ligação entre o usuário, os programas, e o kernel;✔ Instruções como criação, listagem e remoção de diretórios e arquivos, execução de programas, são exemplos do que o shell gerencia no S.O.;

✔ Ele executa os comandos lidos do dispositivo de entrada padrão (teclado) ou de um arquivo executável, e repassa-o ao S.O., com as especificidades que o usuário deseja;

GNU/Linux Módulo 1 - Introdução

6.1 – O Interpretador de comandos

✔ Existem diversos tipos de interpretadores de comandos, e entre eles, os de maior destaque são:

✔ bash (Bourne Again Shell);✔ csh (C Shell);✔ tcsh (Turbo C Shell);✔ ksh (The korn Shell);

✔ No GNU/Linux, dentre eles, o bash é o mais usado;

GNU/Linux Módulo 1 - Introdução

6.1 – O Interpretador de comandos

✔ Os comandos podem ser enviados de duas maneiras para o interpretador:

✔ Interativa : os comandos são digitados no prompt e passados ao interpretador de comandos um a um;

✔ Não-interativa : são usados scripts, ou seja, arquivos criados pelo usuário com uma sequência de comandos definidos por este, que seguem uma determinada lógica, para executar determinada tarefa que precisa ser automatizada;

GNU/Linux Módulo 1 - Introdução

6.1 – O Interpretador de comandos

✔ O bash é um interpretador de comandos muito customizável, e um pequeno exemplo disso é o recurso de completar os nomes dos arquivos. Isto é feito através da tecla <TAB>. Por exemplo, se o usuário digitar:

$ ls tes<TAB>

✔ O bash localizará todos os arquivos que iniciam com “tes” e completará o restante do nome. Caso o bash encontre mais de uma expressão que satisfaça a pesquisa, ou nenhuma, é emitido um beep. Se o usuário pressionar novamente a tecla <TAB>, o bash listará as diversas possibilidades que satisfazem a pesquisa;

GNU/Linux Módulo 1 - Introdução

6.2 – Aviso de comando (prompt)

✔ É a linha mostrada na tela para digitação de comandos que serão passados ao interpretador de comandos para a sua execução;✔ A posição onde o comando será digitado é marcado por um traço piscante chamado cursor;✔ Consegue-se saber se o usuário administrador root está autenticado no momento através do cursor disponibilizado para este usuário. Enquanto este usuário utiliza em seu cursor o caracter “#” (tralha), o usuário comun utiliza o caracter “$” ;

GNU/Linux Módulo 1 - Introdução

6.3 – Curingas (Wildcards)

✔ Curingas, ou referência global, ou ainda wildcards, é um recurso utilizado para especificar e potencializar pesquisas feitas para um ou mais arquivos do sistema de uma vez;✔ Permite que você filtre o que será pesquisado, listado ou criado em seu sistema;✔ São utilizados 4 tipos de curingas no GNU/Linux:

GNU/Linux Módulo 1 - Introdução

6.3 – Curingas (Wildcards)

✔ * : Faz referência a qualquer nome completo/restante, qualquer número de vezes, de um arquivo;

✔ ? : Faz referência a um caracter em uma posição específica;

✔ [] : Define um padrão que casa com o conjunto de caracteres entre “[” e “]”. O conjunto ainda por conter intervalos de caracteres, como por exemplo “1-2” ou “a-z”, e também caracteres que não podem fazer parte do conjunto, indicados por “^” ou “!”;

✔ {} : Define um padrão que casa com o conjunto de caracteres entre “{” e “}”, separados por vírgula;

GNU/Linux Módulo 1 - Introdução

6.4 – Direcionadores

✔ Uma boa parte dos programas executados no terminal possuem alguma saída. Essas saída são enviadas por padrão para o terminal, sendo impressas na tela. Abaixo, encontra-se um exemplo deste fluxo;

✔ Entrada: ls teste[1-3].txt;

✔ Saída: teste1.txt teste2.txt teste3.txt;

✔ A entrada foi enviada pelo teclado (stdin), e a saída foi enviada para o terminal, que é a saída padrão (stdout);

GNU/Linux Módulo 1 - Introdução

6.4 – Direcionadores

✔ O que fazer se o usuário quiser gravar a saída de alguma comando executado no terminal para um arquivo, como por exemplo, a listagem gerada pelo comando ls?

✔ Para este tipo de necessidades existem os direcionadores, essenciais para diversas tarefas de manutenção do sistema.

✔ Eles direcionam o fluxo de saída dos programas, enviando-as para locais diferentes da saída padrão. Esses locais podem ser arquivos, dispositivos, processos, ou outros programas.

GNU/Linux Módulo 1 - Introdução

6.4 – Direcionadores

✔ > : Envia a saída padrão de um comando para um arquivo. Caso o arquivo exista, o seu conteúdo é substituído;✔ 2> : O direcionador > não trabalha com mensagens de erro (stderr). Para que essas mensagens também possam ser redirecionadas, utiliza-se o direcionador 2>;✔ &> : Podemos utilizar os recursos dos direcionadores > e 2> em apenas um, utilizando o direcionador &>;✔ >>, 2>> e &>> : Todos os direcionadores acima citados substituem o conteúdo do arquivo caso ele já exista. Se o usuário quiser manter os dados existentes do arquivo que esta direcionando a saída, deve-se usar os direcionadores >>, 2>> e &>>;

GNU/Linux Módulo 1 - Introdução

6.4 – Direcionadores

✔ < : Ao contrário do direcionador >, este direciona a entrada padrão de um arquivo ou dispositivos para um comando.✔ << : Utilizado para marcar o fim de exibição de um bloco. Um dos usos mais freqüentes é em conjunto com o comando cat, para digitação de textos.

✔ | : Utilizado para direcionar a saída de um comando, e utilizado o tempo todo para a realização de diversos tipos de tarefas e procedimentos.

GNU/Linux Módulo 1 - Introdução

6.5 – Alias

✔ Permite criar apelidos para comandos ou programas. Digamos que o usuário queira criar um apelido chamado ll para o seguinte comando: ls -lh:

$ alias ll='ls -lh'

✔ Para apagar o apelido, basta utilizar o comando unalias:

$ unalias ll

GNU/Linux Módulo 1 - Introdução

6.6 – Histórico de comandos

✔ Todos os comandos executados pelo usuário são memorizados pelo shell, e pode ser consultados e novamente executados quando desejado;✔ Para consultar o histórico, basta digitar o comando history. Este histórico de comandos é armazenado dentro do arquivo oculto .bash_history, que encontra-se no diretório de trabalho dos usuários;

GNU/Linux Módulo 1 - Introdução

6.6 – Histórico de comandos

✔ As operações mais comuns para utilizar este histórico são:

✔ !132 : executa o comando de número 132;

✔ !-2 : executa o penúltimo comando;

✔ !! : executa o comando anterior;✔ !gr : executa o último comando que começa com as letras “gr”;

GNU/Linux Módulo 1 - Introdução

6.7 – Editor de textos “vi”

✔ O vi é um dos editores mais de texto mais antigos. Este editor é encontrado em quase todos os sistemas Unix. ✔ É um editor de textos para console, então não há a necessidade de usar o ambiente gráfico. ✔ Ele é um pouco confuso para quem o utiliza pelas primeiras vezes, visto que todas as operações são iniciadas a partir de uma sequência de teclas. ✔ O vim (vi improved) é uma variação do vi com alguns recursos extras. O uso do vim é igual ao do vi, exceto pelas funções adicionais não encontradas neste.

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.1 – history : Exibe em uma lista simples, o histórico de comandos digitados pelo usuário.

Sintaxe: $ history

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.2 – tee : Envia o resultado de um comando para a saída padrão (tela) e para um arquivo ao mesmo tempo.

Sintaxe: $ <comando> | tee <arquivo saída>

Opções:

● -a : acrescenta ao arquivo ao invés de sobrescrevê-lo.

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.3 – grep : Procura por um texto dentro de arquivos ou no dispositivo de entrada padrão.

Sintaxe: $ grep <expressão> <arquivo> <opções>

Opções:

● -n : mostra o número de cada linha encontrada.

● -i : ignora as diferenças entre maiúsculas e minúsculas.

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.4 – cat : Imprime o conteúdo de arquivos na saída padrão. Também pode concatenar uma sequência de arquivos, utilizando direcionadores.

Sintaxe: $ cat <opções> <arquivo>

Opções:

● -n : mostra o número de linhas, incluindo as em branco.

● -b : mostra o número de linhas, com exceção das linhas em branco.

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.5 – tac : Faz o mesmo que cat, mas exibe o conteúdo pela ordem inversa.

Sintaxe: $ tac <arquivo>

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.6 – wc : Conta o número de linhas, palavras, caracteres e bytes nos arquivos.

Sintaxe: $ wc <opções> <arquivo>

Opções:

● -c : exibe apenas o número de bytes.● -l : exibe apenas o número de linhas.● -w : exibe o número de palavras encontradas.● -m : exibe apenas o número de caracteres.

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.7 – find (utilização básica) : Procura por arquivos no disco.

Sintaxe: $ find <arquivo> <opções/expressões>

Opções:

● -name : Procura arquivos cujo nome coincida com a expressão registrada.

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.7 – find (utilização básica) :

● -type [tipo] : Procura por arquivos que sejam de um tipo específico.

● l : links simbólicos.

● b : dispositivos de bloco.● c : dispositivos de caractere.● d : diretórios.● p : pipes.● f : arquivo regular.

● s : sockets.

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.8 – more : Permite fazer a paginação de arquivos ou da entrada padrão.

Sintaxe: $ more <arquivo>

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.9 – less : Permite fazer a paginação de arquivos ou da entrada padrão.

Sintaxe: $ less <arquivo>

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.10 – touch : Muda a data e hora de criação ou modificação do arquivo.

Sintaxe: $ touch <opções> <arquivo>

Opções:

● -a : modifica apenas a data do último acesso.● -c : não cria arquivos, caso eles não existam.● -t : Usa meses, dias, horas, minutos e opcionalmente o ano para realizar a modificação.

GNU/Linux Módulo 1 - Introdução

6.8 – Comandos Básicos – Nível 2

6.8.11 – ln : Utilizado para criar links simbólicos ou absolutos.

Sintaxe: $ ln <opções> <origem> <destino>

Opções:

● -s : cria um link simbólico.● -v : exibe o nome de cada link antes de criá-lo.

GNU/Linux Módulo 1 - Introdução

Capítulo 7

Gerenciamento de Pacotes

GNU/Linux Módulo 1 - Introdução

7.1 – O que são pacotes?

✔ Um programa é constituído por vários arquivos: execut. , de configuração, bibliotecas, imagens e documentos.

✔ Na instalação de um programa, o processo natural segue em 3 etapas.

✔ Compilação: transforma o código-fonte em arquivos binários.✔ Cópia: Uma vez compilados, os arquivos precisam ser movidos para o local correto, para que possam ser executados.

✔ Configuração: Depois é preciso configurá-lo para que seja executado corretamente.

GNU/Linux Módulo 1 - Introdução

7.1 – O que são pacotes?

✔ Para que este processo fique mais enxuto, e usuários que não tem muita intimidade com este tipo de procedimento possam instalar aplicativos de uma forma mais simples, as distribuições criaram o que chamados de pacotes.

✔ Os pacotes são arquivos binários que possuem um aplicativo ou programa que encontra-se pré-compilado e pré-configurado, bastando apenas o usuário digitar um comando para que ele seja instalado em seu sistema.

✔ Os pacotes podem ser de tipos diferentes, dependendo da sua distribuição. Abaixo, uma listagem das distribuições e seus respectivos sistemas de gerenciamento de pacotes.

GNU/Linux Módulo 1 - Introdução

7.1 – O que são pacotes?

GNU/Linux Módulo 1 - Introdução

7.2 – Os pacotes Debian

✔ O Debian utiliza o formato DEB para os seu pacotes pré-compilados.

✔ Muitos pacotes (+ 8000) são mantidos pela equipe de desenvolvedores Debian, e disponíveis nos repositórios espalhados pelo mundo.

✔ Os nomes dos pacotes seguem um padrão, e são formados da seguinte maneira:

GNU/Linux Módulo 1 - Introdução

7.2 – Os pacotes Debian

[foo]_[versão]-[revisão]_[arquitetura].deb

✔[foo] : nome dado ao pacote;

✔ [versão] : versão do pacote;✔ [revisão] : número de alterações feitas na mesma versão do pacote;✔ [arquitetura] : arquitetura de hardware a qual o pacote foi compilado;

GNU/Linux Módulo 1 - Introdução

7.2 – Os pacotes Debian

✔ Alguns exemplo de nomes de pacotes:

✔ openoffice.org-bin_1.1.3-9_i386.deb✔ mozilla-firefox_1.0.4-2sarge5_i386.deb

✔ inkscape_0.41-2_i386.deb

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ dpkg

✔ O dpkg é o principal programa de gerenciamento de pacotes do Debian. Todas as outras ferramentas utilizam-no para as operações com pacotes DEB;

✔ A sintaxe de uso do dpkg e a seguinte:

dpkg <opções> <pacote>

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ dpkg

✔ As opções mais utilizadas são:

✔ -i : instala o pacote no sistema, desde que ele não tenha nehuma dependência;✔ --info : exibe as informações do pacote especificado;

✔ -r : remove o pacote, mantendo os arquivos de configuração;

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ dpkg

✔ As opções mais utilizadas são:

✔ --purge : remove o pacote e seus arquivos de configuração;✔ -l : lista o estado de instalação do pacote;✔ -L : exibe os arquivos instalados pelo pacote selecionado;

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ dpkg

✔ As opções mais utilizadas são:

✔ --get-selections : exibe uma lista com os pacotes do sistema, bem como seu estado;

✔ -S : procura pelo padrão informado na lista de pacotes instalados pelo pacote✔ -s : exibe o status o pacote selecionado;

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ O APT (Advanced Package Tool), é uma avançada interface de gerenciamento de pacotes Debian.✔ Consiste em vários programas cujos nomes tipicamente começam com apt-. O apt-get, apt-cache e o apt-cdrom são ferramentas de linha de comando para gerenciar pacotes;✔ O APT trabalha procurando os pacotes nos repositórios Debian, baixando-os e instalando-os automaticamente. Também permite remover e pesquisar pacotes;

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ Para poder utilizar o APT, é necessário primeiramente configurá-lo, escolhendo um repositório de pacotes, que são locais de onde os pacotes serão baixados.

✔ Essa informação será adicionada em /etc/apt/sources.list, onde ficam listadas as fontes de pacotes Debian.

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ Exemplo do arquivo /etc/apt/sources.list

deb http://ftp.unicamp.br/pub/debian stable main contrib

<pacote> <URI> <distribuição> <seções>

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

deb http://ftp.unicamp.br/pub/debian stable main contrib

✔ pacote [deb] : tipo de pacote, deb para pré-compilados e deb-src, para baixar os fontes;

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ file:/ : arquivos gravados localmente, no HD;✔ cdrom:/ : CD oficial de alguma versão do Debian;✔ http:// : servidor com suporte a HTTP;

✔ ftp:// : servidor com suporte a FTP;

✔ URI [http://ftp.unicamp.br] : a localização principal dos arquivos. O APT pode buscar pacotes em diversos locais, utilizando os seguintes protocolos:

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ stable : pacotes exaustivamente testados, considerados estáveis, porém as vezes, antigos;

✔ distribuição [stable] : Os pacotes Debian são separados por categorias, de acordo com seu estágio de estabilidade, que podem ser:

✔ testing : pacotes em fase de testes, mais recentes que os pacotes da stable;✔ unstable : versões mais recentes dos pacotes Debian;

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ main : seção principal, contendo somente pacotes de Software Livre;

✔ seções [main contrib] : Nos repositórios oficiais, existem 3 seções de pacotes disponíveis:

✔ non-free : pacotes que não são Software Livre, porém, gratuitos;✔ contrib : pacotes que são Software Livre, mas que precisam de alguns pacotes da seção non-free para funcionarem;

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ Para adicionar automaticamente um repositório em seu sistema, é necessário apenas digitar o comando apt-setup;

✔ Após adicionado um repositório, será necessário digitar o comando apt-get update , para que o seu sistema atualize a base de informações dos pacotes dos repositórios oficiais;✔ Depois que adicionamos um repositórios, e atualizamos a lista de pacotes, podemos realizar todas as operações de instalação, remoção e pesquisa com as ferramentas do APT. Para instalar um software, utilizamos o apt-get , com a seguinte sintaxe:

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

apt-get install <pacote>

✔ Para remover um pacote, utilizamos a seguinte sintaxe:

apt-get remove <pacote>

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ Para remover um pacote com seus arquivos de configuração, utilizamos a seguinte sintaxe:

apt-get remove –-purge <pacote>

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ Para pesquisar algum pacote no repositório:

apt-cache search <palavra-chave>

GNU/Linux Módulo 1 - Introdução

7.3 – Ferramentas de Gereciamento de pacotes

✔ APT

✔ Para realizar um upgrade em seu sistema de pacotes, utilize o seguinte comando:

apt-get upgrade

GNU/Linux Módulo 1 - Introdução

Capítulo 8

Aplicativos para GNU/Linux

GNU/Linux Módulo 1 - Introdução

8.1 – Suítes de Escritório

✔ OpenOffice.org

✔ Koffice

✔ GNOME Office

GNU/Linux Módulo 1 - Introdução

8.2 – Internet

✔ Mozilla Firefox

✔ Konqueror

✔ Epiphany

✔ Lynx✔ Links

GNU/Linux Módulo 1 - Introdução

8.2 – Internet

✔ Mozilla Firefox

✔ Konqueror

✔ Epiphany

✔ Lynx

✔ Links

✔ Navegadores Web

GNU/Linux Módulo 1 - Introdução

8.2 – Internet

✔ Mozilla Thunderbird

✔ Evolution

✔ Mutt

✔ Pine

✔ Clientes de E-mail

GNU/Linux Módulo 1 - Introdução

8.2 – Internet

✔ GAIM

✔ Kopete

✔ aMSN

✔ GNOMEICU

✔ Mensagens instantâneas

GNU/Linux Módulo 1 - Introdução

8.3 – Multimídia

✔ XMMS

✔ Xine

✔ ToTem

✔ Kaffeine

✔ Reprodutores (Player)

✔ Amarok

GNU/Linux Módulo 1 - Introdução

8.3 – Multimídia

✔ RipperX

✔ Grip

✔ Avidemux

✔ Conversores

GNU/Linux Módulo 1 - Introdução

8.3 – Multimídia

✔ Ardour

✔ Protux

✔ Rosegarden

✔ Editores

✔ Cinelerra

✔ Kino

GNU/Linux Módulo 1 - Introdução

8.4 – Gráficos

✔ GIMP

✔ Sodipodi

✔ Inkscape

✔ Openoffice.org Draw

GNU/Linux Módulo 1 - Introdução

8.5 – Desktop Publishing

✔ Scribus

GNU/Linux Módulo 1 - Introdução

8.6 – Visualizadores de Imagem

✔ Eog

✔ GThumb✔ XV✔ Display

GNU/Linux Módulo 1 - Introdução

8.7 – Emuladores

✔ DosEmu

✔ Wine✔ Cedega✔ QEMU

GNU/Linux Módulo 1 - Introdução

8.8 – Editores de texto

✔ Gedit

✔ Kate✔ vi/vim✔ Pico✔ EMACS

GNU/Linux Módulo 1 - Introdução

8.9 – Desenvolvimento

✔ Quanta +

✔ BlueFish✔ Eclipse✔ Anjunta✔ Glade✔ JEdit

GNU/Linux Módulo 1 - Introdução

8.10 – Terminais Gráficos

✔ gnome-terminal

✔ konsole✔ xterm✔ eterm

GNU/Linux Módulo 1 - Introdução

8.11 – Onde procurar softwares para GNU/Linux

✔ FreshMeat - http://freshmeat.net

✔ SourceForge - http://sourceforge.net ✔ CódigoLivre - http://codigolivre.org.br

GNU/Linux Módulo 1 - Introdução

Capítulo 9

Bibliografia