16 394
edições
[edição não verificada] | [edição não verificada] |
mSem resumo de edição |
(formatando com ajuda de conversores) |
||
== 20.2 apt ==
O <code>apt</code> é sistema de gerenciamento de pacotes de programas que possui resolução automática de dependências entre pacotes, método fácil de instalação de pacotes, facilidade de operação, permite atualizar facilmente sua distribuição, etc. Ele funciona através de linha de comando sendo bastante fácil de usar. Mesmo assim, existem interfaces gráficas para o <code>apt</code> como o <code>synaptic</code> (modo gráfico) e o <code>aptitude</code> (modo texto) que permitem poderosas manipulações de pacotes sugeridos, etc.
O <code>apt</code> pode utilizar tanto com arquivos locais como remotos na instalação ou atualização, desta maneira é possível atualizar toda a sua distribuição <code>Debian</code> via <code>ftp</code> ou <code>http</code> com apenas 2 simples comandos!
É recomendável o uso do método <code>apt</code> no programa <code>dselect</code> pois ele permite a ordem correta de instalação de pacotes e checagem e resolução de dependências, etc. Devido a sua facilidade de operação, o <code>apt</code> é o método preferido para os usuários manipularem pacotes da <code>Debian</code>.
O <code>apt</code> é exclusivo da distribuição <code>Debian</code> e distribuições baseadas nela e tem por objetivo tornar a manipulação de pacotes poderosa por qualquer pessoa e tem dezenas de opções que podem ser usadas em sua execução ou configuradas no arquivo <code>/etc/apt/apt.conf</code>. Explicarei aqui como fazer as ações básicas com o <code>apt</code>, portanto se desejar maiores detalhes sobre suas opções, veja a página de manual <code>apt-get</code>.
=== 20.2.1 O arquivo <code>/etc/apt/sources.list</code> ===
Este arquivo contém os locais onde o <code>apt</code> encontrará os pacotes, a distribuição que será verificada (stable, testing, unstable, Woody, Sarge) e a seção que será copiada (main, non-free, contrib, non-US).
''Woody''(Debian 3.0) e ''Sarge''(Debian 3.1) são os nomes das versões enquanto ''stable'' e ''unstable'' são links para as versões ''estável'' e ''testing'' respectivamente. Se desejar usar sempre uma distribuição estável (como a ''Woody''), modifique o arquivo <code>sources.list</code> e coloque ''Woody'' como distribuição. Caso você desejar estar sempre atualizado mas é uma pessoa cuidadosa e deseja ter sempre a última distribuição estável da <code>Debian</code>, coloque ''stable'' como versão. Assim que a nova versão for lançada, os links que apontam de ''stable'' para ''Woody'' serão alterados apontando para ''Sarge'' e você terá seu sistema atualizado.
Abaixo um exemplo simples de arquivo <code>/etc/apt/sources.list</code> com explicação das seções:
deb
deb http://nonus.debian.org/debian-non-US stable non-US
Você pode interpretar cada parte da seguinte maneira:
* deb - Identifica um pacote da Debian. A palavra deb-src identifica o código fonte.
* http://www.debian.org/debian - Método de acesso aos arquivos da <code>Debian</code>, site e diretório principal. O caminho pode ser http://, ftp://, file:/.
* stable - Local onde serão procurados arquivos para atualização. Você pode tanto usar o nome de sua distribuição (''Woody'', ''Sarge'') ou sua classificação (''stable'', ''testing'' ou ''unstable''. Note que ''unstable'' é recomendada somente para desenvolvedores, máquinas de testes e se você tem conhecimentos para corrigir problemas. Nunca utilize ''unstable'' em ambientes de produção ou servidores críticos, use a ''stable''.
* main contrib non-us - Seções que serão verificadas no site remoto.
Note que tudo especificado após o nome da distribuição será interpretado como sendo as seções dos arquivos (main, non-free, contrib, non-US). As linhas são processadas na ordem que estão no arquivo, então é recomendável colocar as linhas que fazem referência a pacotes locais primeiro e mirrors mais perto de você para ter um melhor aproveitamento de banda. O caminho percorrido pelo <code>apt</code> para chegar aos arquivos será o seguinte:
http://www.debian.org/debian/dists/stable/main/binary-i386
http://www.debian.org/debian/dists/stable/non-free/binary-i386
http://www.debian.org/debian/dists/stable/contrib/binary-i386
Você notou que o diretório <code>dists</code> foi adicionado entre <code>http://www.debian.org/debian</code> e <code>stable</code>, enquanto as seções ''main'', ''non-free'' e ''contrib'' são processadas separadamente e finalizando com o caminho <code>binary-[arquitetura]</code>, onde ''[arquitetura]'' pode ser ''i386, alpha, sparc, powerpc, arm'', etc. dependendo do seu sistema. Entendendo isto, você poderá manipular o arquivo <code>sources.list</code> facilmente.
'''OBS:''' Caso tenha mais de uma linha em seu arquivo <code>sources.list</code> de onde um pacote pode ser instalado, ele será baixado da primeira encontrada no arquivo. í‹ recomendável colocar primeiro repositórios locais ou mais perto de você, como recomendado nesta seção.
==== 20.2.1.1 Endereços de servidores e mirrors nacionais da <code>Debian</code> ====
Segue abaixo uma relação de servidores que podem ser colocados em seu arquivo <code>sources.list</code><nowiki>: </nowiki>
Endereço Diretório Principal
-------- --------- ---------
ftp://ftp.debian.org.br /debian
ftp://ftp.br.debian.org /debian
ftp://ftp.debian.org /debian
ftp://download.sourceforge.net /debian
ftp://ftp.quimica.ufpr.br /debian
ftp://download.unesp.br /linux/debian
==== 20.2.1.2 Um modelo de arquivo <code>sources.list</code> ====
Você pode copiar o modelo do <code>sources.list</code> abaixo para ser usado em sua distribuição Stable ou personaliza-lo modificando a distribuição utilizada e servidores:
# Arquivos principais da stable
deb ftp://ftp.debian.org.br/debian stable main non-free contrib
# Non-US da Stable
deb ftp://ftp.debian.org.br/debian-non-US stable/non-US main non-free contrib
# Atualizações propostas para Stable main e non-US
deb ftp://ftp.debian.org.br/debian dists/proposed-updates/
deb ftp://ftp.debian.org.br/debian-non-US dists/proposed-updates/
# Atualizações de segurança da Stable
deb ftp://nonus.debian.org/debian-security stable/updates main
# Ximian é um conjunto de pacotes atualizados frequentemente e compatíveis
# com a distribuição Debian. Entre estes programas estão o Gimp 1.2 e outros
# mais atuais e compatíveis com a Debian. Para usa-los inclua a seguinte linha no
# seu sources.list
# deb ftp://spidermonkey.ximian.com/pub/red-carpet/binary/debian-22-i386/ ./
# Kde 1 e 2
# deb ftp://kde.tdyc.com/pub/kde/debian woody main crypto optional qt1apps
=== 20.2.2 O arquivo <code>/etc/apt/apt.conf</code> ===
Você pode especificar opções neste arquivo que modificarão o comportamento do programa <code>apt</code> durante a manipulação de pacotes (ao invés de especificar na linha de comando). Se estiver satisfeito com o funcionamento do programa <code>apt</code>, não é necessário modifica-lo. Para detalhes sobre o formato do arquivo, veja a página de manual do <code>apt.conf</code>. Na página de manual do <code>apt-get</code> são feitas referências a parâmetros que podem ser especificados neste arquivo ao invés da linha de comando.
=== 20.2.3 Copiando a lista de pacotes disponíveis ===
O <code>apt</code> utiliza uma lista de pacotes para verificar se os pacotes existentes no sistema precisam ou não ser atualizados. A lista mais nova de pacotes é copiada através do comando apt-get update.
Este comando pode ser usado com alguma frequência se estiver usando a distribuição stable e sempre se estiver usando a unstable (os pacotes são modificados com muita frequência). Sempre utilize o apt-get update antes de atualizar toda a distribuição.
=== 20.2.4 Utilizando CDs oficiais/não-oficiais/terceiros com o apt ===
Para usar CDs da <code>Debian</code> ou de programas de terceiros, use o seguinte comando com cada um dos CDs que possui:
apt-cdrom add
Este comando adicionará automaticamente uma linha para cada CD no arquivo <code>/etc/apt/sources.list</code> e atualizará a lista de pacotes em <code>/var/state/apt/lists</code>. Por padrão, a unidade acessada através de <code>/cdrom</code> é usada. Use a opção -d /dev/scd? para especificar um outra unidade de CDs (veja [ch-disc.html#s-disc-id Identificação de discos e partições em sistemas Linux, Seção 5.12] para detalhes sobre essa identificação).
Durante a instalação de um novo programa, o <code>apt</code> pede que o CD correspondente seja inserido na unidade e pressionado &lt;Enter&gt; para continuar. O método acesso do <code>apt</code> através de CDs é inteligente o bastante para instalar todos os pacotes necessários daquele CD, instalar os pacotes do próximo CD e iniciar a configuração após instalar todos os pacotes necessários.
Observação: - CDs de terceiros ou contendo programas adicionais também podem ser usados com o comando "apt-cdrom add".
=== 20.2.5 Instalando novos pacotes ===
Use o comando apt-get install [pacotes] para instalar novos pacotes em sua distribuição. Podem ser instalados mais de um pacotes ao mesmo tempo separando os nomes por espaços. Somente é preciso especificar o nome do pacote (sem a versão e revisão).
Se preciso, o <code>apt</code> instalará automaticamente as dependências necessárias para o funcionamento correto do pacote. Quando pacotes além do solicitado pelo usuário são requeridos para a instalação, o <code>apt</code> mostrará o espaço total que será usado no disco e perguntará ao usuário se ele deseja continuar. Após a instalação, o pacote será automaticamente configurado pelo <code>dpkg</code> para ser executado corretamente em seu sistema.
=== 20.2.6 Removendo pacotes instalado ===
Use o comando apt-get remove [pacotes] para remover completamente um pacote do sistema. Podem ser removidos mais de um pacote ao mesmo tempo separando os nomes dos pacotes com espaços. O apt-get remove remove completamente o pacote mas mantém os arquivos de configuração, exceto se for adicionada a opção --purge.
É preciso especificar somente o nome do pacote (sem a versão e revisão).
=== 20.2.7 Atualizando sua distribuição ===
O <code>apt</code> tem uma grande característica: Atualizar toda a sua distribuição de uma forma inteligente e segura. O <code>apt</code> lê a listagem de pacotes disponíveis no servidor remoto, verifica quais estão instalados e suas versões, caso a versão do pacote seja mais nova que a já instalada em seu sistema, o pacote será imediatamente atualizado.
A cópia dos arquivos pelo <code>apt</code> pode ser feita via FTP, HTTP ou através de uma cópia local dos arquivos no disco rígido (um ''mirror'' local). Em nenhuma circunstância os pacotes existentes em seu sistema serão removidos ou sua configuração apagada durante um upgrade na distribuição.
Os arquivos de configuração em <code>/etc</code> que foram modificados são identificados e podem ser mantidos ou substituídos por versões existentes nos pacotes que estão sendo instalado, esta escolha é feita por você. Se estiver atualizando a Debian Potato (2.2) para Woody (3.0) (ou versão superior), execute os seguintes comandos antes de iniciar a atualização:
export LANG=C
export LC_ALL=C
export LC_MESSAGES=C
para retornar as variáveis de localização ao valor padrão (inglês). Isto é necessário por causa de modificações no sistema de locales, e o excesso de mensagens de erro do perl causaram alguns problemas em meus testes.
Após isto, a atualização da distribuição <code>Debian</code> pode ser feita através de dois simples comandos:
apt-get update #Para atualizar a lista de pacotes (obrigatório)
apt-get -f dist-upgrade #Para atualizar a distribuição
A opção -f faz com que o <code>apt</code> verifique e corrija automaticamente problemas de dependências entre pacotes. Recomendo executa o comando apt-get -f --dry-run dist-upgrade|less para ver o que vai acontecer sem atualizar a distribuição, se tudo ocorrer bem, retire o --dry-run e vá em frente.
A distribuição usada na atualização pode ser:
* Para a mesma versão que utiliza - Para quem deseja manter os pacotes sempre atualizados entre revisões, copiar pacotes que contém correções para falhas de segurança (veja a página web em <code>http://www.debian.org/</code> para acompanhar o boletim de segurança).
* Para uma distribuição stable - Mesmo que o acima, mas quando uma nova distribuição for lançada, o link simbólico de stable será apontado para próxima distribuição, atualizando instantaneamente seu sistema.
* Para a distribuição testing - Atualiza para a futura distribuição <code>Debian</code> que será lançada, é como a ''unstable'', mas seus pacotes passam por um período de testes de 2 semanas na ''unstable'' antes de serem copiados para esta.
* unstable - Versão em desenvolvimento, recomendada somente para desenvolvedores ou usuários que conhecem a fundo o sistema <code>GNU/Linux</code> e saibam resolver eventuais problemas que apareçam.
A unstable é uma distribuição em constante desenvolvimento e podem haver pacotes problemáticos ou com falhas de segurança. Após o período de desenvolvimento, a distribuição unstable se tornará frozen.
* frozen - Versão congelada, nenhum pacote novo é aceito e somente são feitas correções de falhas. Após todas as falhas estarem corrigidas, a distribuição frozen se tornará stable
A distribuição que será usada na atualização pode ser especificada no arquivo <code>/etc/apt/sources.list</code> (veja a seção correspondente acima). Caso o método de atualização usado seja via HTTP ou FTP, será necessário usar o comando apt-get clean para remover os pacotes copiados para seu sistema (para detalhes veja a seção seguinte).
=== 20.2.8 Removendo pacotes baixados pelo <code>apt</code> ===
Use o comando apt-get clean para apagar qualquer arquivo baixado durante uma atualização ou instalação de arquivos com o <code>apt</code>. Os arquivos baixados residem em <code>/var/cache/apt/archives</code> (download completo) e <code>/var/cache/apt/archives/partial</code> (arquivos sendo baixados - parciais).
Este local de armazenamento é especialmente usado com o método http e ftp para armazenamento de arquivos durante o download para instalação (todos os arquivos são primeiro copiados para serem instalados e configurados).
O apt-get clean é automaticamente executado caso seja usado o método de acesso <code>apt</code> do <code>dselect</code>.
=== 20.2.9 Procurando por pacotes através da descrição ===
O utilitário <code>apt-cache</code> pode ser usado para esta função. Ele também possui outras utilidades interessante para a procura e manipulação da lista de pacotes.
Por exemplo, o comando apt-cache search clock mostrará todos os pacotes que possuem a palavra <var>clock</var> na descrição do pacote.
=== 20.2.10 Procurando um pacote que contém determinado arquivo ===
Suponha que algum programa esteja lhe pedindo o arquivo perlcc e você não tem a mínima idéia de que pacote instalar no seu sistema. O utilitário auto-apt pode resolver esta situação. Primeiro instale o pacote <code>auto-apt</code> e execute o comando auto-apt update para que ele copie o arquivo <code>Contents-i386.gz</code> que será usado na busca desses dados.
Agora, basta executar o comando:
auto-apt search perlcc
para que ele retorne o resultado:
usr/bin/perlcc interpreters/perl
O pacote que contém este arquivo é o <code>perl</code> e se encontra na seção <code>interpreters</code> dos arquivos da <code>Debian</code>. Para uma pesquisa que mostra mais resultados (como auto-apt search a2ps), é interessante usar o grep para filtrar a
auto-apt search a2ps|grep bin/
usr/bin/
usr/bin/
usr/bin/
usr/bin/
usr/bin/
usr/bin/
usr/bin/
usr/bin/
usr/bin/
usr/bin/
usr/bin/texi2dvi4a2ps text/a2ps
Serão mostrados somente os binários, diretórios de documentação, manpages, etc. não serão mostradas.
=== 20.2.11 Modos eficazes de compilação do código fonte para a Debian ===
O <code>Debian</code> como qualquer distribuição de Linux, possui o diretório <code>/usr/local</code> que segundo a FHS é o local apropriado para colocação de programas que não fazem parte da distribuição, que seria no caso o de fontes compilados manualmente. Um dos grandes trabalhos de quem pega o código fonte para compilação é a instalação de bibliotecas de desenvolvimento para a compilação ocorrer com sucesso.
O <code>auto-apt</code> facilita magicamente o processo de compilação da seguinte forma: durante o passo ./configure no momento que é pedida uma bibliotecas, dependência, etc. o <code>auto-apt</code> para o processo, busca por pacotes no repositório da <code>Debian</code>, pergunta qual pacote será instalado (caso tenha mais de uma opção), instala e retorna o ./configure do ponto onde havia parado.
Para fazer isso, execute o comando:
auto-apt run ./configure
E ele se encarregará do resto :-)
=== 20.2.12 Verificando pacotes corrompidos ===
Use o comando apt-get check para verificar arquivos corrompidos. A correção é feita automaticamente. A lista de pacotes também é atualizada quando utiliza este comando.
=== 20.2.13 Corrigindo problemas de dependências e outros erros ===
{{AutoNav}}
|