Sistemas Operacionais
Instalação de Aplicativos Linux
Instalação de Aplicativos
Todas as distribuições atuais do Linux fornecem
procedimentos simples e diretos para uma
instalação básica.
Você inicia um CD-ROM ou disquete, responde a
algumas perguntas e informa ao instalador os
pacotes de software e copia para sua unidade de
disco.
Instalação de Aplicativos

Algumas possuem um sistema mais avançado
de gerenciamento de pacotes.

Note que a todo momento estamos abordando
a palavra PACOTES.
Pacotes

O Sistema Operacional Linux é formado por
milhares de pacotes que são montados como
um grande quebra-cabeça, bem montado.

Tais pacotes possuem uma interdependência,
logo o administrador Linux deve conhecer uma
ferramenta para mapear tais dependências ou
conhecer-las.
Gerenciador de Pacotes

Todas as distribuições do Linux utilizam
alguma forma de sistema de pacotes para
facilitar o trabalho de gerenciamento da
configuração.

Os instaladores de pacotes estão cientes dos
arquivos de configuração e normalmente não
sobrescreverão as personalizações locais.
Principais Sistemas
Gerenciadores (SGP)

Há dois formatos que dominam o cenário atual,
são eles:

RPM (Red Hat Package Manager) utilizado no Red
Hat, Fedora, SUSE entre outros;

DEB utilizado pelos sistemas baseados no núcleo
Debian, como o Ubuntu.
Gerenciador de Pacotes

Os sistemas de empacotamento definem um
modelo de dependência que permite aos
mantenedores de pacotes garantirem que
todas as bibliotecas e infra-estrutura de suporte
da qual seus aplicativos dependam sejam
instalados apropriadamente.
Camadas do Sistema

Os sistemas de pacotes funcionam como
ferramentas completas de gerenciamento mas
são formadas por duas camadas.

Na camada inferior são executados os processos
de instalação e desinstalação de pacotes

Na camada superior é executado o processo de
localização e transferência de pacotes (Internet é
uma mídia utilizada).
Camada Superior

yum: que funciona com o sistema RPM;

Red Hat Network: que é específico Red Hat
Linux e utiliza RPM;

APT: Advanced Package Tools do Debian que
funciona com .deb e RPM.
rpm: Gerenciador pacotes RPM

O comando rpm instala, verifica e consulta o
statos dos pacotes. AS opções básicas são
--install, --upgrade, -- erase e --query.

Exemplo:
rpm --query --all
Dependência de Pacotes
# rpm --upgrade openssh-2.9p2-12.i386.rpm
error: failed dependencies:
openssh = 2.9p2-7 is need by openssh-askpass-2.9p2-7
openssh = 2.9p2-7 is need by openssh-askpass-gnome-
2.9p2-7
openssh = 2.9p2-7 is need by openssh-clients-2.9p2-7
openssh = 2.9p2-7 is need by openssh-server-2.9p2-7
Dependência de Pacotes

Analisando a dependência dos pacotes.
Atualizando os Pacotes
dpkg: Gerenciador de Pacotes
Debian

No ambiente Debian encontramos o dpkg que
realiza tarefa semelhante ao rpm. Opções úteis
incluem --install, -remove e -l.
dpkg: Gerenciador de Pacotes
Debian
dpkg: Gerenciador de Pacotes
Debian
SGP de Alto Nível
Sistemas de gerenciamento de metapacotes
como o APT, yum e o Red Hat Network
compartilham vários objetivos:

Simplificar a localização e o processo de cópia dos
pacotes;

Automatizar o processo de atualização ou a atualização
do sistema;

Facilitar o gerenciamento das dependências entre
pacotes..
Repositório de Pacotes

Os distribuidores do Linux mantêm repositórios
de software que funcionam lado a lado com
seus sistemas de gerenciamento de pacotes.

Utilizam serviços HTTP ou FTP, formando uma
grande fonte de pacotes descentralizados pelo
mundo.
Atualizando referências
O sistema operacional Linux está preparado para
manter uma lista de serviços de atualização bem
como de pacotes.
Utilizamos comandos específicos para atualizar
tais listas.
apt-get update
Atualizando o Sistema
Através de comandos simples tais como apt-get
upgrade e yum upgrade o sistema é atualizado
baseado em um dado momento de uma
distribuição.
Hierarquia de Dependência

Durante o processo de busca de pacotes
dependentes o SGP analisa a árvore de
dependência e estabelece uma sequência de
instalação correta.
Configurando o apt-get
O arquivo de configuração mais importante do
apt-get é /etc/apt/sources.list que informa ao apt-
get aonde obter seus pacotes.
Utilizando Proxies
Para atualização de muitas máquinas o
administrador pode utilizar um proxy interno.
A configuração pode ser feita de forma explicita
no arquivo /etc/apt/apt.conf.
apt-proxy
Um poderoso aplicativo que constroi um cache
de pacotes aplicando rsync a eles por meio do
verdadeiro APT.
sourceforge.net/projects/apt-proxy.
Configurando um Servidor APT Interno
Em vez de utilizar um proxy o administrador pode
criar seu próprio servidor APT autônomo e
apontar as estações para este servidor interno.
Para isso basta ter um servidor Web (apache) ou
FTP.
Além dos pacotes o serviço deve fornecer os
arquivos Packages.gz e Contents.gz.
Automatizando o apt-get
É possível executar apt-get segundo um
cronograma regular a partir do cron.
Pode-se agendar a atualização das listas de
pacotes bem como o próprio sistema,
recomendamos então o parametro dist-upgrade
por ser mais esperto que o upgrade.
Script de Atualização
yum: Gerenciamento de Versão
para RPM
yum é um gerenciador de metapacotes baseado
em RPM semelhante ao APT-GET.
Requer um servidor Web ou FTP assim como o
APT-GET.
O arquivo de configuração é o /etc/yum.conf,
este inclui opções gerais e ponteiros para
repositórios..
Controle de Versão
O controle de versão é fundamental pois erros
ocorrem e sempre vão ocorrer.
Ter a segurança de poder reverter uma versão
nova ou estudar sobre a mesma é uma prática
indispensável na vida de um administrador de
sistemas operacionais..
Criação de Arquivos de Backup
Criar cópias de segurança é uma técnica
recomendada, pode-se utilizar tais backups para
reverter atualizações indesejadas ou até
comparar diferenças entre versões utilizando diff.
Sistemas de Controle Formais
de Revisão
Quando o nível de complexidade de uma
atualização é muito grande a backup de
arquivos não é a melhor técnica, o
administrador lança mão da simplicidade e
recorre a sistemas de gerenciamento de
versões.

RCS

CVS

SVN.
Instalação Manual

Outra forma de instalar aplicativos é realizar o
download dos arquivos centralizados em um
arquivo compactado, descompactar e executar
uma série de comandos que estão contidos
nos scripts de instalação.
Instalação Manual

Antes de passar qualquer receita de bolo
recomenda-se que leia o arquivo README ou
INSTALL para ver a sequencia de comandos
que devem ser executados.
Passos
Descompacte o arquivo
Execute o script ./configure
(se nenhuma dependencia foi informada)
Execute o comando make
Execute o comando make install

Pacotes

  • 1.
  • 2.
    Instalação de Aplicativos Todasas distribuições atuais do Linux fornecem procedimentos simples e diretos para uma instalação básica. Você inicia um CD-ROM ou disquete, responde a algumas perguntas e informa ao instalador os pacotes de software e copia para sua unidade de disco.
  • 3.
    Instalação de Aplicativos  Algumaspossuem um sistema mais avançado de gerenciamento de pacotes.  Note que a todo momento estamos abordando a palavra PACOTES.
  • 4.
    Pacotes  O Sistema OperacionalLinux é formado por milhares de pacotes que são montados como um grande quebra-cabeça, bem montado.  Tais pacotes possuem uma interdependência, logo o administrador Linux deve conhecer uma ferramenta para mapear tais dependências ou conhecer-las.
  • 5.
    Gerenciador de Pacotes  Todasas distribuições do Linux utilizam alguma forma de sistema de pacotes para facilitar o trabalho de gerenciamento da configuração.  Os instaladores de pacotes estão cientes dos arquivos de configuração e normalmente não sobrescreverão as personalizações locais.
  • 6.
    Principais Sistemas Gerenciadores (SGP)  Hádois formatos que dominam o cenário atual, são eles:  RPM (Red Hat Package Manager) utilizado no Red Hat, Fedora, SUSE entre outros;  DEB utilizado pelos sistemas baseados no núcleo Debian, como o Ubuntu.
  • 7.
    Gerenciador de Pacotes  Ossistemas de empacotamento definem um modelo de dependência que permite aos mantenedores de pacotes garantirem que todas as bibliotecas e infra-estrutura de suporte da qual seus aplicativos dependam sejam instalados apropriadamente.
  • 8.
    Camadas do Sistema  Ossistemas de pacotes funcionam como ferramentas completas de gerenciamento mas são formadas por duas camadas.  Na camada inferior são executados os processos de instalação e desinstalação de pacotes  Na camada superior é executado o processo de localização e transferência de pacotes (Internet é uma mídia utilizada).
  • 9.
    Camada Superior  yum: quefunciona com o sistema RPM;  Red Hat Network: que é específico Red Hat Linux e utiliza RPM;  APT: Advanced Package Tools do Debian que funciona com .deb e RPM.
  • 10.
    rpm: Gerenciador pacotesRPM  O comando rpm instala, verifica e consulta o statos dos pacotes. AS opções básicas são --install, --upgrade, -- erase e --query.  Exemplo: rpm --query --all
  • 11.
    Dependência de Pacotes #rpm --upgrade openssh-2.9p2-12.i386.rpm error: failed dependencies: openssh = 2.9p2-7 is need by openssh-askpass-2.9p2-7 openssh = 2.9p2-7 is need by openssh-askpass-gnome- 2.9p2-7 openssh = 2.9p2-7 is need by openssh-clients-2.9p2-7 openssh = 2.9p2-7 is need by openssh-server-2.9p2-7
  • 12.
    Dependência de Pacotes  Analisandoa dependência dos pacotes.
  • 13.
  • 14.
    dpkg: Gerenciador dePacotes Debian  No ambiente Debian encontramos o dpkg que realiza tarefa semelhante ao rpm. Opções úteis incluem --install, -remove e -l.
  • 15.
    dpkg: Gerenciador dePacotes Debian
  • 16.
    dpkg: Gerenciador dePacotes Debian
  • 17.
    SGP de AltoNível Sistemas de gerenciamento de metapacotes como o APT, yum e o Red Hat Network compartilham vários objetivos:  Simplificar a localização e o processo de cópia dos pacotes;  Automatizar o processo de atualização ou a atualização do sistema;  Facilitar o gerenciamento das dependências entre pacotes..
  • 18.
    Repositório de Pacotes  Osdistribuidores do Linux mantêm repositórios de software que funcionam lado a lado com seus sistemas de gerenciamento de pacotes.  Utilizam serviços HTTP ou FTP, formando uma grande fonte de pacotes descentralizados pelo mundo.
  • 19.
    Atualizando referências O sistemaoperacional Linux está preparado para manter uma lista de serviços de atualização bem como de pacotes. Utilizamos comandos específicos para atualizar tais listas. apt-get update
  • 20.
    Atualizando o Sistema Atravésde comandos simples tais como apt-get upgrade e yum upgrade o sistema é atualizado baseado em um dado momento de uma distribuição.
  • 21.
    Hierarquia de Dependência  Duranteo processo de busca de pacotes dependentes o SGP analisa a árvore de dependência e estabelece uma sequência de instalação correta.
  • 22.
    Configurando o apt-get Oarquivo de configuração mais importante do apt-get é /etc/apt/sources.list que informa ao apt- get aonde obter seus pacotes.
  • 23.
    Utilizando Proxies Para atualizaçãode muitas máquinas o administrador pode utilizar um proxy interno. A configuração pode ser feita de forma explicita no arquivo /etc/apt/apt.conf.
  • 24.
    apt-proxy Um poderoso aplicativoque constroi um cache de pacotes aplicando rsync a eles por meio do verdadeiro APT. sourceforge.net/projects/apt-proxy.
  • 25.
    Configurando um ServidorAPT Interno Em vez de utilizar um proxy o administrador pode criar seu próprio servidor APT autônomo e apontar as estações para este servidor interno. Para isso basta ter um servidor Web (apache) ou FTP. Além dos pacotes o serviço deve fornecer os arquivos Packages.gz e Contents.gz.
  • 26.
    Automatizando o apt-get Épossível executar apt-get segundo um cronograma regular a partir do cron. Pode-se agendar a atualização das listas de pacotes bem como o próprio sistema, recomendamos então o parametro dist-upgrade por ser mais esperto que o upgrade.
  • 27.
  • 28.
    yum: Gerenciamento deVersão para RPM yum é um gerenciador de metapacotes baseado em RPM semelhante ao APT-GET. Requer um servidor Web ou FTP assim como o APT-GET. O arquivo de configuração é o /etc/yum.conf, este inclui opções gerais e ponteiros para repositórios..
  • 29.
    Controle de Versão Ocontrole de versão é fundamental pois erros ocorrem e sempre vão ocorrer. Ter a segurança de poder reverter uma versão nova ou estudar sobre a mesma é uma prática indispensável na vida de um administrador de sistemas operacionais..
  • 30.
    Criação de Arquivosde Backup Criar cópias de segurança é uma técnica recomendada, pode-se utilizar tais backups para reverter atualizações indesejadas ou até comparar diferenças entre versões utilizando diff.
  • 31.
    Sistemas de ControleFormais de Revisão Quando o nível de complexidade de uma atualização é muito grande a backup de arquivos não é a melhor técnica, o administrador lança mão da simplicidade e recorre a sistemas de gerenciamento de versões.  RCS  CVS  SVN.
  • 32.
    Instalação Manual  Outra formade instalar aplicativos é realizar o download dos arquivos centralizados em um arquivo compactado, descompactar e executar uma série de comandos que estão contidos nos scripts de instalação.
  • 33.
    Instalação Manual  Antes depassar qualquer receita de bolo recomenda-se que leia o arquivo README ou INSTALL para ver a sequencia de comandos que devem ser executados.
  • 34.
    Passos Descompacte o arquivo Executeo script ./configure (se nenhuma dependencia foi informada) Execute o comando make Execute o comando make install