FTIN Formação Técnica em Informática Módulo Sistema Operacional Aberto (Linux) AULA 03 Prof. André Lucio Competências da Aula 3 • Aplicativos para Desktop no GNU/Linux o Ubuntu o Fedora o GNU/Linux • Estrutura do GNU/Linux • Introdução Comandos do GNU/Linux Aula 03 APLICATIVOS PARA DESKTOP NO GNU/LINUX Instalação de Software • Ubuntu: Central de programas • Fedora: Softwares • GNU/Linux: Código fonte Ubuntu – Instalação de Software Central de Programas Fedora – Instalação de Software Softwares GNU/Linux – Instalação de Software Compilando Pacote Pacotes • Ubuntu: .Deb • Fedora: .RPM • GNU/Linux: .tar.gz ou .tar.bz2 Softwares Exemplos • • • • • Softwares Office Software Internet Software Vídeo e Áudio Software Rede Software de Programação Softwares Office LibreOffice OpenOffice Softwares Internet • Browser o Firefox o Chrome Softwares Vídeo e Áudio • Exibição de vídeos o VLC o Smplayer • Edição o Gimp o Audacity Softwares Rede • Comunicação o Skype o Pidgin • Administração de Rede o Wireshark o Zenmap o SSH-Client Softwares Programação • Netbeans • Eclipse Aula 03 ESTRUTURA DO GNU/LINUX Estrutura do GNU/Linux • Kernel • FHS • Estrutura de diretórios Kernel • Kernel Monolítico • MicroKernel ou NanoKernel Kernel Monolítico • Kernel monolítico é estruturado em um único arquivo binário, um único processo que executa inteiramente em modo protegido. Ele possui desempenho superior na passagem de mensagens, mas apresenta inúmeras desvantagens como a dificuldade de alterações no núcleo e o desperdício de recursos, pois os drivers de dispositivos permanecem constantemente em memória, mesmo quando os dispositivos não estão sendo utilizados. • Linux e BSD Kernel Monolítico MicroKernel ou NanoKernel • É uma arquitetura de núcleo de um sistema operacional cujas funcionalidades são quase todas executadas fora do núcleo, em oposição a um núcleo monolítico. Os processos se comunicam com um núcleo mínimo, usando mínimo possível o "espaço do sistema" (kernel space). • Hurd e Minix MicroKernel ou NanoKernel FHS • Desde que o GNU/Linux foi criado, muito se tem feito para seguir um padrão em relação à estrutura de diretórios. O primeiro esforço para padronização de sistemas de arquivos para o GNU/Linux foi o “FSSTND Filesystem Standard”, lançado no ano de 1994. FHS • Cada diretório do sistema tem seus respectivos arquivos que são armazenados conforme regras definidas pela “FHS Filesystem Hierarchy Standard” ou “Hierarquia Padrão do Sistema de Arquivos”, que define que tipo de arquivo deve ser guardado em cada diretório. Isso é muito importante, pois o padrão ajuda a manter compatibilidade entre as distribuições existentes no mercado, permitindo que qualquer software escrito para o GNU/Linux seja executado em qualquer distribuição desenvolvida de acordo com os padrões “FHS”. FHS • Atualmente, o ”FHS” está na sua versão 2.3, e é mantido pelo “Free Standard Group", uma organização sem fins lucrativos formada por grandes empresas como HP, IBM, RedHat e Dell. Estrutura de Diretórios GNU/Linux • A estrutura de diretórios também é conhecida como “Árvore de Diretórios” porque tem a forma de uma árvore. Mas, antes de estudarmos a estrutura de diretórios, temos que entender o que são diretórios. Estrutura de Diretórios GNU/Linux • Texto: Seu conteúdo é compreendido pelas pessoas. Um arquivo texto pode ser uma carta, um script, um programa de computador escrito pelo programador ou um arquivo de configuração. • Binário: Seu conteúdo somente pode ser entendido por computadores. Contém caracteres incompreensíveis para pessoas normais. Um arquivo binário é gerado através de um arquivo de programa (digitado pela pessoa que o criou, o programador) através de um processo chamado de compilação. Compilação é basicamente a conversão de um programa em linguagem humana para a linguagem de máquina. Estrutura de Diretórios GNU/Linux • Da estrutura mostrada abaixo, o “FHS” determina que um sistema GNU/Linux deve conter obrigatoriamente 14 diretórios, especificados a seguir: Estrutura de Diretórios GNU/Linux • /: Este é o principal diretório do GNU/Linux, e é representado por uma “/” (barra). É no diretório raiz que ficam todos os demais diretórios do sistema. Estes diretórios, são chamados de “subdiretórios” pois estão dentro do diretório. Estrutura de Diretórios GNU/Linux • /bin: Contém arquivos programas do sistema que são usados com frequência pelos usuários. Esse é um diretório público, sendo assim, os comandos que estão nele podem ser utilizados por qualquer usuário do sistema. Entre os comandos, estão: • • • • /bin/ls /bin/cp /bin/mkdir /bin/cat Estrutura de Diretórios GNU/Linux • /boot: No diretório “/boot” estão os arquivos estáticos necessários à inicialização do sistema, e o gerenciador de “boot”. O gerenciador de “boot” é um programa que permite escolher e carregar o sistema operacional que será iniciado. • Grub Estrutura de Diretórios GNU/Linux • /dev: No diretório “/dev” ficam todos os arquivos de dispositivos. O GNU/Linux faz a comunicação com os periféricos por meio de “links” especiais que ficam armazenados nesse diretório, facilitando assim o acesso aos mesmos. • /dev/input/mice Estrutura de Diretórios GNU/Linux • /etc: No diretório “/etc” estão os arquivos de configuração do sistema. Nesse diretório vamos encontrar vários arquivos de configuração, tais como: “scripts” de inicialização do sistema, tabela do sistema de arquivos, configuração padrão para “logins” dos usuários, etc. • /etc/passwd Estrutura de Diretórios GNU/Linux • /lib: No diretório “/lib” estão as bibliotecas compartilhadas e módulos do kernel. As bibliotecas são funções que podem ser utilizadas por vários programas. Cada kernel têm seus próprios módulos, que ficam em: /lib/modules/<versão do kernel>/ kernel Separados por tipos em subdiretórios. • /lib/ modules /$( uname -r)/ kernel Estrutura de Diretórios GNU/Linux • /media: Ponto de montagem para dispositivos removíveis, tais como: o o o o o o hd cd dvd disquete pendrive câmera digital Estrutura de Diretórios GNU/Linux • /mnt: Este diretório é utilizado para montagem temporária de sistemas de arquivos, tais como compartilhamentos de arquivos entre Windows e GNU/Linux, GNU/Linux e GNU/Linux, etc. Estrutura de Diretórios GNU/Linux • /opt: Normalmente, é utilizado por programas proprietários ou que não fazem parte oficialmente da distribuição. Estrutura de Diretórios GNU/Linux • /sbin: O diretório “/sbin” guarda os comandos utilizados para inicializar, reparar, restaurar e/ou recuperar o sistema. Isso quer dizer que esse diretório também contém comandos essenciais, mas os mesmos são utilizados apenas pelo usuário o o o o administrador “root”. Entre os comandos estão: halt ifconfig init iptables Estrutura de Diretórios GNU/Linux • /srv: Diretório para dados de serviços fornecidos pelo sistema, cuja aplicação é de alcance geral, ou seja, os dados não são específicos de um usuário. Por exemplo: o /srv/www (servidor web) o /srv/ftp (servidor ftp) Estrutura de Diretórios GNU/Linux • /tmp: Diretório para armazenamento de arquivos temporários. É utilizado principalmente para guardar pequenas informações que precisam estar em algum lugar até que a operação seja completada, como é o caso de um “download”. Estrutura de Diretórios GNU/Linux • /proc: O “/proc” é um diretório virtual, mantido pelo kernel, onde encontramos a configuração atual do sistema, dados estatísticos, dispositivos já montados, interrupções, endereços e estados das portas físicas, dados sobre as redes, etc.. Estrutura de Diretórios GNU/Linux • /proc: o o o o o o o o o o o o o cpuinfo - Detalhes sobre a CPU do sistema devices - Dispositivos usados no sistema filesystems - Sistemas de arquivos em uso atualmente kmsg - Permite visualizar mensagens do Kernel loadavg - Média de Carga do sistema meminfo - Dados de utilização da memória do sistema modules - Módulos atualmente carregados no kernel mounts - Sistemas de Arquivos atualmente montados pci - Detalhes sobre dispositivos PCI do sistema uptime - Tempo de execução do sistema version - Versão atual do Kernel, programa usado na compilação, etc Diretório net - Dados sobre a rede do sistema Diretório sys - Dados sobre outras áreas do sistema Estrutura de Diretórios GNU/Linux • /sys: Pode-se dizer que esse diretório é um primo do diretório “/proc”. Dentro do diretório “/sys” podemos encontrar o quase o mesmo conteúdo do “/proc”, mas de uma forma bem mais organizada. Esse diretório está presente desde a versão 2.6 do kernel, ele agrupa informações sobre os dispositivos instalados, incluindo o tipo, fabricante, capacidade, endereços usados e assim por diante. Estas informações são geradas automaticamente pelo kernel e permitem que os serviços responsáveis pela detecção de hardware façam seu trabalho, configurando impressoras e criando ícones no desktop para acesso ao pendrive, por exemplo. Aula 03 INTRODUÇÃO A COMANDOS GNU/LINUX Introdução a Comandos GNU/Linux • Comandos são instruções passadas ao computador para executar uma determinada tarefa. • No mundo *NIX (GNU/Linux,Unix), o conceito de comandos é diferente do padrão MS-DOS. Um comando é qualquer arquivo executável, que pode ser ou não criado pelo usuário. • Uma das tantas vantagens do GNU/Linux é a variedade de comandos que ele oferece, afinal, para quem conhece comandos, a administração do sistema acaba se tornando um processo mais rápido. • O “Shell” é o responsável pela interação entre o usuário e o sistema operacional, interpretando os comandos. • É no “Shell” que os comandos são executados. Introdução a Comandos GNU/Linux • Cada comando tem uma função específica, devemos saber a função de cada comando e escolher o mais adequado para fazer o que desejamos, por exemplo: o ls - Mostra arquivos de diretórios o cd - Para mudar de diretório • É sempre usado um espaço depois do comando para separá-lo de uma opção ou parâmetro que será passado para o processamento. Um comando pode receber opções e parâmetros. Introdução a Comandos GNU/Linux • Opções: As opções são usadas para controlar como o comando será executado, por exemplo, para fazer uma listagem mostrando o dono, grupo, tamanho dos arquivos você deve digitar: o ls -l. Introdução a Comandos GNU/Linux • Parâmetros: Um parâmetro identifica o caminho, origem, destino, entrada padrão ou saída padrão que será passada ao comando. o ls /usr/share/doc/copyright Introdução a Comandos GNU/Linux • Comandos internos: São comandos que estão localizados dentro do interpretador de comandos (normalmente o Bash) e não no disco. Eles são carregados na memória RAM do computador junto com o interpretador de comandos. Quando executa um comando, o interpretador de comandos verifica primeiro se ele é um Comando Interno caso não seja é verificado se é um Comando Externo. Exemplos de comandos internos são: cd, exit, echo, bg, fg, source, help. Introdução a Comandos GNU/Linux • Comandos externos: São comandos que estão localizados no disco. Os comandos são procurados no disco usando o ordem do PATH e executados assim que encontrados. Comandos GNU/Linux • Comandos para manipulação de arquivos • Comandos para manipulação de diretórios • Comandos de rede • Comandos para controle de execução de processos • Diversos outros Comandos GNU/Linux – Manipulação de Arquivos • cat: o Descrição: Mostra o conteúdo de um arquivo binário ou texto. o Sintaxe: cat [opções] [diretório/arquivo] [diretório1/arquivo1] o opções -n, –number: Mostra o número das linhas enquanto o conteúdo do arquivo é mostrado. -s, –squeeze-blank: Não mostra mais que uma linha em branco entre um parágrafo e outro. - Lê a entrada padrão. o O comando cat trabalha com arquivos texto. Use o comando zcat para ver diretamente arquivos compactados com gzip. o Exemplo: cat /usr/doc/copyright/GPL Comandos GNU/Linux – Manipulação de Arquivos • tac: o Descrição: Mostra o conteúdo de um arquivo binário ou texto (como o cat) só que em ordem inversa. o Sintaxe: tac [opções] [diretório/arquivo] [diretório1/arquivo1] o opções -s [string ]: Usa o [string] como separador de registros. - Lê a entrada padrão. o Exemplo: tac /usr/doc/copyright/GPL Comandos GNU/Linux – Manipulação de Arquivos • rm: o Descrição: Apaga arquivos. Também pode ser usado para apagar diretórios e sub-diretórios vazios ou que contenham arquivos. o Sintaxe: tac [opções] [diretório/arquivo] [diretório1/arquivo1] o opções -i, –interactive: Pergunta antes de remover, esta é ativada por padrão. -v, –verbose: Mostra os arquivos na medida que são removidos. -r, –recursive: Usado para remover arquivos em sub-diretórios. Esta opção também pode ser usada para remover sub-diretórios. -f, –force: Remove os arquivos sem perguntar. o Exemplo: tac /usr/doc/copyright/GPL Continuação... Próxima aula. Dúvidas Acesse o Fórum!! Acessem o Chat!! (4ª às 20:30hs)