Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sistemas Operacionais - Gnu/Linux Instalando Programas

2,222 views

Published on

Published in: Technology
  • Be the first to comment

Sistemas Operacionais - Gnu/Linux Instalando Programas

  1. 1. 1 Sistemas Operacionais Luiz Arthur Sem dúvida o código livre está sendo o grande rival das empresas que produzem software “proprietário”. A filosofia do software livre tem confundido muitas pessoas, pois livre não está associada a software grátis e sim à liberdade. O termo livre refere-se à liberdade de o usuário executar, copiar, distribuir e aperfeiçoar o programa. O distribuidor pode até cobrar uma taxa pelo software, como acontece nas distribuições Linux empacotadas. Desde que o direito de alterar o programa e redistribuí-lo seja preservado, o software continua sendo livre. A maioria das distribuições do Linux vem muito software livre nos CD-ROMS. O próprios site do GNU contém muito software disponível. Uma vez que se possa utilizar software livre, é necessário compilar e instalar estes programas. Um ótimo site para procurar programas é o http://www.freshmeat.net. Porém para isso é necessário entender o conceito de arquivos tarball.
  2. 2. 2 Sistemas Operacionais Luiz Arthur Arquivos Tarball Os arquivos tarball são distribuições de software livre que mantêm uma estrutura de diretório, arquivos fonte, um arquivo Makefile, documentação e outros arquivos, encapsulados em um arquivo tar com compressão de dados gzip. Este método de distribuição de software é muito popular porque os utilitários tar e gzip são muitos comuns. O resultado é um arquivo de extensão .tar.gz ou .tgz. Ainda é possível encontrar os arquivos tarball com as extensões .bz2 e .tbz2. Este arquivos são compactados com o bzip2, que utiliza um algoritmo de compressão de dados melhor que o gzip. Para abrir o conteúdo de um arquivo tarball: #gzip -d arquivo.tar.gz O comando gzip descomprime o arquivo .tar.gz e retira a extensão .gz: #tar xvf arquivo.tar O utilitários tar extrai o conteúdo do pacote.
  3. 3. 3 Sistemas Operacionais Luiz Arthur Pode-se também utilizar formas mais simples: #tar xvzf arquivo.tar.gz ou #gzip -dc arquivo.tar.gz | tar vx Se o arquivo for compactado com o bzip2, ele deve ser descompactado pelo bunzip2 ou utilizar a opção -d do bzip2: #tar xvjf arquivo.tar.bz2 ou #bunzip2 arquivo.tar.bz2 e # tar xvf arquivo.tar A saída de qualquer dos comandos citados anteriormente é um conjunto de arquivos sem compactação, ou seja, os arquivo compactados deverão gerar uma estrutura de arquivos/diretórios.
  4. 4. 4 Sistemas Operacionais Luiz Arthur Compilando o Código-fonte Depois de extrair o conteúdo de um pacote de software é necessário compilar e fazer sua instalação. O compilador mais utilizado no Linux é a Coleção de Compiladores GNU – GCC. Ele compila códigos C ANSI, bem como C++, Java e Fortran. O GCC suporta vários níveis de checagem de erros nos códigos-fonte, produz informações de debug e pode ainda otimizar o arquivo objeto produzido. O GCC suporta os novos processadores Intel IA-64, permitindo que os programas executem nesta arquitetura. Alguns programas do pacote do GNU são necessários para compilar um programa código livre. São eles: Make O utilitário make é necessário para compilar múltiplos arquivos de código fonte de um projeto. Ele utiliza um arquivo de descrição geralmente nomeado makefile ou Makefile. O conteúdo deste arquivo contém regras que definem as dependências entre arquivos fonte e os comandos necessários para a compilação.
  5. 5. 5 Sistemas Operacionais Luiz Arthur A partir arquivo de descrição make ele executa seqüências de comandos que são interpretados pelo shell. Geralmente o compilador gcc é invocado com diversas opções que completam as dependências de outros arquivos objetos e bibliotecas. “DEPENDENCIA é um pacote (programa) necessário para a compilação ou funcionamento de um dado programa, um programa pode ser DEPENDENTE de um ou mais pacotes”. Mesmo os menores projetos de software podem contêm vários arquivos que têm interdependência, e o comando make facilita manter e compilar os projetos. Configure Alguns projetos incluem um arquivo especial chamado configure. Este arquivo é um script de shell que examina o sistema para verificar se as diversas dependências necessárias para compilar o projeto serão satisfeitas. O configure procura por compiladores, bibliotecas, utilitários e outros itens necessários. Ele também pode receber informações extras do usuário, como diretivas de compilação, habilitar ou desabilitar opções incluídas ou excluídas do objeto a ser compilado.
  6. 6. 6 Sistemas Operacionais Luiz Arthur Se alguma dependência estiver ausente este script (configure) avisa o usuário para que ele satisfaça instalando arquivos e programas necessários ao projeto. Depois de reunir toda a informação necessária o configure gera um arquivo Makefile customizado para o sistema. O configure é fornecido pelo programador do projeto utilizando o utilitário autoconf. Após, executar o comando configure (se este existir) para criar o arquivo Makefile, podemos continuar a instalação do sistema com os comandos make para compilar o programa e make install para instalar os arquivos compilados. Por exemplo para instalar o servidor de Web (HTTP) Apache: #tar vxzf apache-1.3.31.tar.gz #cd apache-1.3.31 #./configure #make #make install Depois de instalar você pode apagar o diretório apache-1.3.31 gerado pelo arquivo apache-1.3.31.tar.gz.
  7. 7. 7 Sistemas Operacionais Luiz Arthur Gerenciando Bibliotecas Compartilhadas Para entender a gerência das bibliotecas compartilhadas, precisa-se primeiro saber o que são bibliotecas e para que elas servem. Durante a escrita do código-fonte de um programa, o desenvolvedor faz uso de diversas funções e procedimentos já definidos em arquivos chamados bibliotecas. Estas funções permitem que o programador possa usar recursos como escrita em disco, escrita na tela, receber dados do teclado, do mouse, enviar dados pela rede e muito mais, sem a necessidade de reescrever a roda. Quando o programa é compilado, o último estágio de sua construção é fazer as ligações (linker). Alguns compiladores já fazem este processo de reunir todos os objetos necessários e compor um objeto final automaticamente. Outros necessitam que o programador execute um outro programa chamado de linker. Existem dois tipos de bibliotecas no Linux: as estáticas e as dinâmicas. A decisão de qual biblioteca utilizar compete ao programador.
  8. 8. 8 Sistemas Operacionais Luiz Arthur Ao usar uma biblioteca estática, o linker encontra as funções e procedimentos de que o programa precisa, e as copia fisicamente no arquivo de saída executável gerado. Isso faz com que o executável final possa rodar de forma independente sem utilizar nenhuma biblioteca. Mas perde-se na performance, no gasto desnecessário de memória e no tamanho final do programa. Para resolver este problema o programador pode fazer uso de bibliotecas compartilhadas (dinâmicas). Ao fazer as ligações de um programa que as utiliza, o linker faz uma referência às bibliotecas compartilhadas. Desta forma, quando este programa for executado, o sistema terá de carregar primeiro as bibliotecas necessárias. Desta maneira, os executáveis gerados através do uso de bibliotecas compartilhadas são mais eficientes, pois tendem a ser menores, usar menos memória e ocupar menos espaço em disco. O ponto fraco desta metodologia é que os programas necessitam das bibliotecas compartilhadas e uma mudança nas versões destes arquivos também pode afetar o seu funcionamento. Os arquivos executáveis são examinados no tempo de execução pelo linker de tempo de execução chamado ld.so. Este interpretador especial completa as ligações entre o executável e as bibliotecas compartilhadas. Se o ld.so não conseguir encontrar e ler as dependências, ele irá falhar e o executável não irá ser carregado.
  9. 9. 9 Sistemas Operacionais Luiz Arthur O linker ld.so mantém índice de todas as bibliotecas e sua localização em um arquivos especial chamado /etc/ld.so.cache. Ele é binário e, portanto, pode ser lido rapidamente pelo ld.so. É isto que um administrador Linux tem de estar preparado para gerenciar as bibliotecas compartilhadas e suas versões para um correto funcionamento do sistema e seus aplicativos. Os utilitários que irão ajudar nesta tarefa são: ldd O comando ldd – List Dynamic Dependencies – fornece uma lista das dependências dinâmicas de que um determinado programa precisa. Ele irá retornar o nome da biblioteca compartilhada e sua localização esperada. $ ldd /bin/bash linux-gate.so.1 => (0xffffe000) libtermcap.so.2 => /lib/libtermcap.so.2 (0xb7f8c000) libdl.so.2 => /lib/tls/libdl.so.2 (0xb7f88000) libc.so.6 => /lib/tls/libc.so.6 (0xb7e59000) /lib/ld-linux.so.2 (0xb7fad000) Este comando é importante para determinar quais são as bibliotecas necessárias de um executável.
  10. 10. 10 Sistemas Operacionais Luiz Arthur ldconfig O utilitário ldconfig cria os links e refaz o índice das bibliotecas dinâmicas do arquivo /etc/ld.so.cache. Ele procura por bibliotecas nos diretórios /usr/lib e /lib, assim como nos diretórios listados em /etc/ls.so.conf, bem como o diretório informado na linha de comando. As opções mais comuns são: -p Lista o conteúdo do cache /etc/ld.so.cache -v Mostra o progresso da atualização do cache. -f arquivo Informa um outro arquivo de configuração diferente do padrão /etc/ld.so.conf.
  11. 11. 11 Sistemas Operacionais Luiz Arthur Atividade 1 1 – Pesquise por ferramentas que facilitam a instalação em sistemas Linux. 2 – Pesquise sobre a ferramenta de instalação do Slackare, indicando as opções de como instalar, atualizar e remover os pacotes. 3- Pesquise sobre a ferramenta de instalação do Debian (que é igual ao ubunto, Kurumin, etc), indicando as opções de como instalar, atualizar e remover os pacotes. 4 - Pesquise sobre a ferramenta de instalação do Gentoo, indicando as opções de como instalar, atualizar e remover os pacotes. 5 - Pesquise sobre a ferramenta de instalação do Red-Hat, indicando as opções de como instalar, atualizar e remover os pacotes. 6 -Pesquise sobre a ferramenta de instalação apt-get (procure por versões para o Slackware), indicando as opções de como instalar, atualizar e remover os pacotes.
  12. 12. 12 Sistemas Operacionais Luiz Arthur fim

×