[ anterior ] [ Índice ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ próximo ]


Notas de Lançamento de Debian GNU/Linux 4.0 ("etch"), SPARC
Capítulo 4 - Actualizações a partir de lançamentos anteriores


4.1 Preparar para a actualização

Nós sugerimos que antes de actualizar também leia a informação em Problemas a estar atento na etch, Capítulo 5. Esse capítulo cobre potenciais problemas não directamente relacionados com o processo de actualização mas que podem no entanto ser importantes conhecer antes de começar.


4.1.1 Salvaguardar quaisquer dados ou informação de configuração

Antes de actualizar o seu sistema é fortemente recomendado que efectue uma cópia de segurança total, ou que pelo menos salvaguarde quaisquer dados ou informações de configuração a que não se pode dar ao luxo de perder. As ferramentas e o processo são bastante fiáveis, mas uma falha de hardware durante a actualização poderia resultar num sistema extremamente danificado.

The main things you'll want to back up are the contents of /etc, /var/lib/dpkg, /var/lib/aptitude/pkgstates and the output of dpkg --get-selections "*" (the quotes are important).

O processo de actualização em si não modifica nada no seu directório /home. No entanto, algumas aplicações (e.g. partes do conjunto Mozilla, e dos ambientes de desktop GNOME e KDE) são conhecidos por sobrescreverem configurações existentes dos utilizadores por novos valores por omissão quando uma nova versão da aplicação é iniciada pela primeira vez por um utilizador. Como precaução, você pode querer fazer uma cópia de segurança dos ficheiros e directórios ocultos ("dotfiles") nos directórios dos utilizadores. Esta cópia de segurança pode ajudar a restaurar ou recriar as antigas configurações. Pode também querer informar os utilizadores acerca disto.

Qualquer operação de instalação de um pacote terá que ser efectuada com privilégios de super-utilizador, por isso ou inicie a sessão como root ou utilize su ou sudo para obter os direitos de acesso necessários.

Esta actualização possui poucas condições prévias, deverá verificá-las antes de iniciar a actualização.


4.1.2 Informar os utilizadores com antecedência

É sensato informar todos os utilizadores com antecedência sobre qualquer actualização que estiver a planear, apesar dos utilizadores que acedam ao sistema através uma ligação ssh pouco devem notar durante a actualização, e devem conseguir continuar a trabalhar.

Se quiser tomar precauções extra, faça uma cópia de segurança ou desmonte as partições dos utilizadores (/home) antes de fazer a actualização.

Você provelmente terá de fazer uma actualização do kernel para etch, por isso usualmente será necessário reiniciar. Tipicamente, isto será feito após a actualização ter terminado.


4.1.3 Preparar para recuperação

Devido às muitas alterações no kernel entre sarge e etch no que diz respeito a drivers, descoberta de hardware e nomeação e ordenação de ficheiros de dispositivos, há um risco real que experiencie problemas quando reiniciar o sistema depois da actualização. Muitos dos problemas potenciais conhecidos estão documentados neste e nos próximos capítulos destas Notas de Lançamento.

Por essa razão faz sentido assegurar que será capaz de recuperar o seu sistema se este não conseguir reiniciar ou, para sistemas geridos remotamente, não conseguir configurar a rede.

Se está a actualizar remotamente através de uma ligação ssh é altamente recomendado que tome as precauções necessárias para ser capaz de aceder ao servidor através de um terminal série remoto. Existe uma hipótese de que, após actualizar o kernel e reiniciar, alguns dispositivos sejam renomeados (conforme é descrito em Reordenação da enumeração de dispositivos, Secção 4.6.4) e você terá de corrigir a configuração do sistema através duma consola local. Além disso, se o sistema for reiniciado acidentalmente a meio de uma actualização existe a hipótese de que você necessite de fazer a recuperação utilizando uma consola local.

A coisa mais óbvia a tentar primeiro é reiniciar com o antigo kernel. No entanto, devido a várias razões documentadas noutro sítio deste documento, não é garantido que funcione.

Se isso falhar, precisará de um modo alternativo de arrancar o seu sistema para que possa aceder-lhe e repará-lo. Uma opção é utilizar uma imagem especial de recuperação ou um live CD de Linux. Após arrancar, deve ser capaz de montar o seu sistema de ficheiros raiz e executar chroot nele para investigar e resolver o problema.

Outra opção que gostaríamos de recomendar é a utilização do modo de recuperação do instalador Debian etch. A vantagem de utilizar o instalador é que pode escolher de entre os seus muitos modos de instalação o que melhor se adequa à sua situação. Para mais informação por favor consulte a secção "Recuperar um Sistema Estragado" no capítulo 8 do Installation Guide e as Debian Installer FAQ.


4.1.3.1 Shell de depuração durante o arranque utilizando o initrd

O initramfs-tools inclui uma shell de depuração[6] nos initrds que gera. Se por exemplo o initrd é incapaz de montar o sistema de ficheiros raiz, você será deixado nesta shell de depuração que tem comandos básicos para ajudar a descobrir e talvez resolver o problema.

Coisas básicas a verificar são: a presença dos ficheiros de dispositivo correctos em /dev; que módulos estão carregados (cat /proc/modules); mensagens do dmesg que podem ter erros no carregamento de drivers. As mensagens do dmesg também irão mostrar que ficheiros de dispositivo estão associados a que discos; deve verificar isso com a mensagem de echo $ROOT para se certificar que o sistema de ficheiros raiz está no dispositivo esperado.

Se conseguir resolver o problema, escrever exit irá terminar a shell de depuração e continuar o processo de arranque onde falhou. Claro que também precisará de resolver o problema subjacente e gerar de novo a initrd para que o próximo arranque já não falhe.


4.1.4 Preparar um ambiente seguro para a actualização

A actualização da distribuição deve ser efectuada localmente a partir de uma consola virtual de texto (ou directamente ligada a um terminal série), ou remotamente através de uma ligação ssh.

De modo a ganhar uma margem extra de segurança quando actualizar remotamente, nós sugerimos que corra os processos de actualização na consola virtual disponibilizada pelo programa screen, que permite uma religação segura e assegura que o processo de actualização não é interrompido mesmo que o processo da ligação remota falhe.

Importante! Não deve actualizar através de telnet, rlogin, rsh, ou a partir de uma sessão X gerida pelo xdm, pelo gdm ou pelo kdm etc na máquina que estiver a actualizar. Isto porque cada um dos serviços podem ser terminados durante esta actualização, o que pode resultar num sistema inacessível que ficou apenas com a actualização a meio.


4.1.5 O suporte para kernels 2.2 foi descontinuado

No caso de correr um kernel anterior ao 2.4.1, você necessita actualizar (no mínimo) para a série 2.4 antes de actualizar o glibc. Isto deve ser feito antes iniciar a actualização. É recomendado que você actualize directamente para o kernel 2.6.8 disponível na sarge, em vez de actualizar para um kernel 2.4.


4.2 Verificar o estado do sistema

The upgrade process described in this chapter has been designed for upgrades from "pure" sarge systems without third-party packages. In particular, there are known problems with third-party packages which install programs under /usr/X11R6/bin/ causing problems with upgrades due to the X.Org transition (Transição de XFree86 para X.Org, Secção 5.3). For greatest reliability of the upgrade process, you may wish to remove third-party packages from your system before you begin upgrading.

Este procedimento assume que o seu sistema foi actualizado até ao último ponto da versão sarge. Se não tiver feito esta actualização ou não tem a certeza, siga as instruções em Actualizar o seu sistema sarge, Secção A.1.


4.2.1 Rever as acções pendentes no gestor de pacotes

Em alguns casos, a utilização do apt-get para instalar pacotes em vez do aptitude pode fazer o aptitude considerar um pacote como não utilizado e marcá-lo para remoção. De um modo geral, você deve assegurar-se que o sistema está totalmente actualizado e "limpo" antes de proceder com a actualização.

Devido a disto você deve verificar novamente se existem acções pendentes no gestor de pacotes aptitude. Se um pacote estiver marcado para remoção ou para actualização no gestor de pacotes, poderá ter um impacto negativo no procedimento de actualização. Note que para corrigir isto apenas é possível se o seu sources.list ainda apontar para sarge; e não para stable ou para a etch; veja Verificar a sua lista de fontes, Secção A.2.

Para fazer isto, você tem de correr o interface do utilizador do aptitude e carregar em 'g' ("Go"). Se mostrar quaisquer acções, você deve revê-las e, ou corrigi-las ou implementar as acções sugeridas. Se não forem sugeridas acções deve ser-lhe apresentada uma mensagem a dizer "Nenhum pacote está marcado para ser instalado, removido ou actualizado".


4.2.2 Desactivar o APT pinning

Se configurou o APT para instalar determinados pacotes a partir de uma distribuição que não a estável (por ex. a partir da testing), pode ter que alterar a sua configuração de APT pinning (armazenada em /etc/apt/preferences) para permitir a actualização de pacotes para versões existentes na nova versão estável. Mais informação acerca do APT pinning pode ser encontrada em apt_preferences(5).


4.2.3 Verificar o estado dos pacotes

Independentemente do método utilizado para a actualização, é recomendado que primeiro verifique o estado de todos os pacotes, e verificar que todos os pacotes estão em modo de actualização. O seguinte comando listará todos os pacotes que possuem o estado Metade-Instalado (Half-Installed) ou Configuração-Falhada (Failed-Config), e aqueles que apresentem qualquer erro no estado.

     # dpkg --audit

Pode também inspeccionar o estado de todos os pacotes no seu sistema utilizando dselect, aptitude, ou comandos como

     # dpkg -l | pager

ou

     # dpkg --get-selections "*" > ~/curr-pkgs.txt

É desejável que remova todos os bloqueios ('holds') antes da actualização. Se algum pacote essencial à actualização estiver bloqueado, a actualização irá falhar.

Note que o aptitude utiliza um método diferente para registar os pacotes que estejam bloqueados pelo apt-get e pelo dselect. Pode identificar pacotes bloqueados para o aptitude com

     # aptitude search "~ahold" | grep "^.h"

Se quiser verificar que pacotes tem bloqueados para o apt-get deverá utilizar

     # dpkg --get-selections | grep hold

Se alterar e recompilar localmente um pacote e não o renomear ou colocar numa versão modificada, terá que o bloquear para prevenir que o mesmo seja alterado.

O estado "hold" do pacote para o aptitude pode ser alterado utilizando:

     # aptitude hold package_name

Substitua hold por unhold para remover o estado "hold":

Se existe alguma coisa que necessita de corrigir, o melhor é certificar-se que o seu ficheiro sources.list continua a apontar para a sarge conforme é explicado em Verificar a sua lista de fontes, Secção A.2.


4.2.4 Fontes não oficiais e 'backports'

Se possuir pacotes que não sejam da Debian no seu sistema, deverá saber que estes podem ser removidos durante a actualização, devido a conflitos entre dependências. Se estes pacotes foram instalados adicionando um arquivo de pacotes extra ao seu /etc/apt/sources.list, deverá verificar se aquele arquivo também oferece pacotes compilados para a etch e altere a linha da fonte de acordo com o mesmo tipo de linhas de fontes para os pacotes Debian.

Alguns utilizadores poderão ter versões "mais recentes" de pacotes não oficiais ('backported') que estão em Debian instalados no seu sistema sarge. Tais pacotes irão provavelmente criar problemas durante a actualização, pois podem criar conflitos [7]. A secção Possíveis problemas durante a actualização, Secção 4.5.8 tem alguma informação acerca de como lidar com conflitos de ficheiros se estes ocorrerem.


4.3 Desmarcar pacotes manualmente

Para prevenir o aptitude de remover alguns pacotes que foram pedidos através das dependências, você necessita de manualmente desmarcá-los como pacotes auto. Isto inclui o OpenOffice e o Vim para instalações de desktop:

     # aptitude unmarkauto openoffice.org vim

E as imagens do kernel 2.6 se as instalou utilizando um meta-pacote de kernel:

     # aptitude unmarkauto $(dpkg-query -W 'kernel-image-2.6.*' | cut -f1)

Nota: Você pode rever quais os pacotes que estão marcados como auto no aptitude, ao correr:

     # aptitude search 'i~M <package name>'

4.4 Preparar as fontes para o APT

Antes de iniciar a actualização deverá configurar o ficheiro de configuração do apt para listas de pacotes, o /etc/apt/sources.list.

O apt irá considerar todos os pacotes que podem ser encontrados através de qualquer linha "deb", e instalará o pacote com o número de versão mais elevado, dando prioridade às primeiras linhas mencionadas (deste modo, em caso de múltiplos locais de 'mirrors', tipicamente deverá ter primeiro um disco local, depois CD-ROMs e então 'mirrors' HTTP/FTP).

Um lançamento pode ser normalmente referido pelo seu nome de código (por ex. sarge, etch) e pelo seu nome de estado (por ex. oldstable, stable, testing, unstable). Referir-se a um lançamento pelo seu nome de código tem a vantagem que que nunca será surpreendido por um novo lançamento e por esta razão é o método utilizado aqui. Significa com certeza que terá de ser você mesmo a estar atento a anúncios de lançamento. Se pelo contrário utilizar o nome de estado, verá apenas carregamentos de actualizações para os pacotes disponíveis assim que acontecer um lançamento.


4.4.1 Acrescentar fontes APT da Internet

A configuração por omissão é definida para instalação a partir de um servidor Debian principal, mas poderá desejar modificar o /etc/apt/sources.list para utilizar outros 'mirrors', de preferência um 'mirror' proveniente de um local que seja mais perto de si.

Endereços de 'mirrors' Debian HTTP ou FTP podem ser encontrados em http://www.debian.org/distrib/ftplist (veja na secção "Lista completa de 'mirrors'"). OS 'mirrors' HTTP geralmente são mais rápidos do que os 'mirrors' FTP.

Por exemplo, suponha que o 'mirror' Debian mais perto é http://mirrors.kernel.org/debian/. Quando inspeccionar aquele 'mirror' com um navegador web ou um programa FTP, irá notar que os directórios principais estão organizados desta forma:

     http://mirrors.kernel.org/debian/dists/etch/main/binary-sparc/...
     http://mirrors.kernel.org/debian/dists/etch/contrib/binary-sparc/...

Para utilizar este 'mirror' com o apt, terá de acrescentar esta linha ao seu ficheiro sources.list:

     deb http://mirrors.kernel.org/debian etch main contrib

Note que `dists' é implicitamente acrescentado, e que os argumentos que se seguem ao nome da versão são utilizados para expandir o caminho em múltiplos directórios.

Depois de adicionar novas fontes, desactive as linhas "deb" que já existiam em sources.list, colocando um cardinal (#) em frente às mesmas.


4.4.2 Acrescentar fontes APT para um 'mirror' local

Em vez de utilizar os 'mirrors' HTTP ou FTP de pacotes, pode desejar modificar o /etc/apt/sources.list de modo a utilizar um mirror num disco local (possivelmente montado sobre NFS).

Por exemplo, o seu 'mirror' de pacotes poderá estar sob /var/ftp/debian/ e pode ter directórios principais como estes:

     /var/ftp/debian/dists/etch/main/binary-sparc/...
     /var/ftp/debian/dists/etch/contrib/binary-sparc/...

Para utilizar com o apt, acrescente esta linha ao seu ficheiro sources.list:

     deb file:/var/ftp/debian etch main contrib

Note que `dists' é implicitamente acrescentado, e que os argumentos que se seguem ao nome da versão são utilizados para expandir o caminho em múltiplos directórios.

Depois de adicionar novas fontes, desactive as linhas "deb" que já existiam em sources.list, colocando um cardinal (#) em frente às mesmas.


4.4.3 Acrescentar uma fonte APT de CD-ROM ou DVD

Se quiser utilizar CDs tem apenas que comentar as linhas "deb" existentes em /etc/apt/sources.list colocando um cardinal (#) em frente das mesmas.

Certifique-se que existe uma linha em /etc/fstab que permita a montagem do seu leitor de CD-ROM no ponto de montagem /cdrom (o ponto exacto de montagem /cdrom é necessário para o apt-cdrom). Por exemplo, se /dev/hdc for o seu leitor de CD-ROM, o /etc/fstab deverá conter uma linha como esta:

     /dev/hdc /cdrom auto defaults,noauto,ro 0 0

Note que entre as palavras defaults,noauto,ro encontradas no quarto campo não deverão existir espaços.

Para verificar que tal funciona, insira um CD e tente correr

     # mount /cdrom    # montará o CD no ponto de montagem
     # ls -alF /cdrom  # mostrará o directório root do CD
     # umount /cdrom   # desmontará o CD

A seguir, corra:

     # apt-cdrom add

para cada CD-ROM de Binários Debian que possua, para adicionar informação de cada CD à base de dados APT.


4.5 Actualizar pacotes

A forma recomendada para actualizar pacotes de lançamentos anteriores Debian GNU/Linux é o gestor de pacotes aptitude. Este programa toma decisões mais seguras sobre as instalações de pacotes do que correr o apt-get directamente.

Não se esqueça de montar todas as partições necessárias (nomeadamente a partição root e /usr) em modo de leitura-escrita, com um comando como:

     # mount -o remount,rw /ponto_montagem

De seguida você deverá confirmar novamente que as entradas das fontes do APT (em /etc/apt/sources.list), se referem a "etch" ou a "stable". Não deverão haver quaisquer entradas de fontes que apontem para sarge. Note: as linhas das fontes para um CD-ROM irão muitas vezes referir-se a "unstable"; embora isto possa ser confuso, você não o deverá alterar.


4.5.1 Gravar a sessão

É-lhe fortemente recomendado que utilize o programa /usr/bin/script para gravar uma transcrição da sessão de actualização. Assim caso ocorra qualquer problema, terá o relatório sobre o que aconteceu, e se necessário poderá fornecer informação exacta sob a forma de um relatório de erro. Para iniciar a gravação, escreva:

     # script -t 2>~/upgrade-etch.time -a ~/upgrade-etch.script

ou similar. Não coloque o ficheiro transcrito num directório temporário como /tmp ou /var/tmp (os ficheiros nesses directórios são apagados durante a actualização ou durante uma reinicialização).

O transcrito permitir-lhe-á também rever informação que tenha sido passada para fora do ecrã. Alterne para VT2 (utilizando Alt-F2) e, depois de iniciar a sessão, utilize less ~root/upgrade-etch.script para ver o ficheiro.

Depois de ter completado a actualização, pode parar o script escrevendo exit na consola.

Se você utilizou a opção -t para o script você pode utilizar o programa scriptreplay para reproduzir toda a sessão:

     # scriptreplay ~/upgrade-etch.time ~/upgrade-etch.script

4.5.2 Actualizar a lista de pacotes

Primeiro precisa de ser obtida a lista de pacotes disponíveis para o novo lançamento. Isto é feito ao executar:

     # aptitude update

Ao correr isto pela primeira vez as novas fontes são actualizadas irão escrever alguns avisos relacionados com a disponibilidade das fontes. Estes avisos são inofensivos e não irão aparecer se correr novamente o comando.


4.5.3 Certificar-se que possui espaço suficiente para a actualização

Você terá de se certificar, antes de fazer a actualização do seu sistema, que possui espaço suficiente em disco quando iniciar a actualização completa descrita em Actualizar o resto do sistema, Secção 4.5.6. Primeiro, qualquer pacote necessário para a instalação que seja obtido a partir da rede é guardado em /var/cache/apt/archives (e no subdirectório partial/ durante o download), por isso você tem de se assegurar que tem espaço suficiente no sistema de ficheiros da partição onde está o /var/ para descarregar temporariamente os pacotes que serão instalados no seu sistema. Depois de os descarregar, provavelmente necessitará de mais espaço nos outros sistemas de ficheiros das partições de modo a instalar quer os pacotes actualizados (que podem conter binários de grande dimensão), quer os novos pacotes que serão obtidos na actualização. Se o seu sistema não possui espaço suficiente pode acabar com uma actualização incompleta da qual pode ser difícil recuperar.

Ambos o aptitude e o apt irão mostrar informação detalhada sobre o espaço em disco necessário para a instalação. Antes de efectuar a actualização do sistema, pode ver esta estimativa, correndo:

     # aptitude -y -s -f --with-recommends dist-upgrade
     [ ... ]
     XXX actualizados, XXX novos instalados , XXX a remover e XXX não actualizados.
     Necessário obter xx.xMB/yyyMB de arquivos. Depois da descompressão AAAMB serão utilizados.
     Serão descarregados/instalados/removidos pacotes.

[8]

Se não tiver espaço suficiente para a actualização, certifique-se que liberta espaço suficiente antes da mesma. Poderá:

Note que, de modo para remover pacotes em segurança, é aconselhável mudar o seu sources.list de novo para sarge conforme é explicado em Verificar a sua lista de fontes, Secção A.2.


4.5.4 Actualização mínima do sistema

Devido a conflitos entre pacotes necessários entre a sarge e a etch, correr aptitude dist-upgrade directamente irá muitas vezes remover muitos pacotes que iria desejar manter. Portanto recomendamos um processo de actualização em duas partes, primeiro uma actualização mínima para ultrapassar estes conflitos, e depois um dist-upgrade completo.

Primeiro, corra:

     # aptitude upgrade

Isto tem o efeito de actualizar os pacotes que podem ser actualizados sem que nenhum outro pacote seja removido ou instalado.

Siga a actualização mínima com:

     # aptitude install initrd-tools

Este passo irá actualizar automaticamente o libc6 e o locales e irá pedir as bibliotecas de suporte ao SELinux (libselinux1). Nesta altura, alguns serviços em execução serão reiniciados, incluido o xdm, o gdm e o kdm. Como consequência serão desligadas as sessões locais do X11.

O próximo passo variará conforme o conjunto de pacotes que tiver instalado. Estas notas de lançamento dão conselhos gerais sobre que método deve ser utilizado, mas em caso de dúvida, é recomendado que examine as remoções de pacotes propostas por cada método antes de proceder.

É de esperar que alguns pacotes comuns a serem removidos incluam o base-config, o hotplug, o xlibs, o netkit-inetd e o python2.3, xfree86-common, e xserver-common. Para uma lista mais completa da lista de pacotes tornados obsoletos em etch, veja Pacotes obsoletos, Secção 4.10.


4.5.4.1 Actualizar um sistema desktop

Verificou-se que este modo de instalação funciona em sistemas com a tarefa desktop do sarge instalada. É provavelmente o método que irá dar melhores resultados em sistemas com a tarefa desktop instalada, ou com os pacotes gnome ou kde instalados.

Provavelmente não é o método correcto a utilizar se ainda não tem os pacotes libfam0c102 e xlibmesa-glu instalados:

     # dpkg -l libfam0c102 | grep ^ii
     # dpkg -l xlibmesa-glu | grep ^ii

Se tem um sistema desktop completo instalado, corra:

     # aptitude install libfam0 xlibmesa-gl

4.5.4.2 Actualizar um sistema com alguns pacotes do X instalados

Em sistemas com alguns pacotes do X instalados, mas não com a tarefa desktop completa, necessita de utilizar um método diferente. Este método aplica-se no geral a sistemas com o xfree86-common instalado, incluindo alguns servidores que têm as tarefas de servidor do tasksel instaladas, uma vez que algumas destas tarefas incluem utilitários gráficos de gestão. É provavelmente o método correcto a utilizar em sistemas que correm o X, mas não têm a tarefa desktop completa instalada.

     # dpkg -l xfree86-common | grep ^ii

Primeiro, verifique se tem os pacotes libfam0c102 e xlibmesa-glu instalados.

     # dpkg -l libfam0c102 | grep ^ii
     # dpkg -l xlibmesa-glu | grep ^ii

Se não tem o libfam0c102 instalado, não inclua o libfam0 na linha de comando que se segue. Se não tem o xlibmesa-glu instalado, não o inclua na linha de comando que se segue. [9]

     # aptitude install x11-common libfam0 xlibmesa-glu

Note que instalar o libfam0 também irá instalar o File Alteration Monitor (fam) assim como o 'portmapper RPC' (portmap) se ainda não estiverem disponíveis no seu sistema. Ambos os pacotes irão habilitar um novo serviço de rede no sistema embora ambos possam ser configurados para ficarem ligados apenas ao dispositivo de rede loopback (interno).


4.5.4.3 Actualizar um sistema sem ter instalado o suporte para X

On a system with no X, no additional aptitude install command should be required, and you can move on to the next step.


4.5.5 Actualizar o kernel

A versão do udev na etch não suporta versões do kernel anteriores à 2.6.15 (que inclui os kernels 2.6.8 da sarge), e a versão do udev na sarge não irá funcionar correctamente com os kernels mais recentes. Além disso, instalar a versão do udev da etch irá forçar a remoção do hotplug, utilizado pelos kernel Linux 2.4.

Como consequência, o pacote de kernel anterior provavelmente não irá arrancar depois desta actualização. Da mesma forma, há uma janela de tempo durante a actualização em que o udev foi actualizado mas o kernel mais recente ainda não foi instalado. Se o sistema fosse reiniciado nesta altura, a meio da actualização, poderia não conseguir arrancar devido a drivers não serem adequadamente detectados e carregados. (Veja Preparar um ambiente seguro para a actualização, Secção 4.1.4 para recomendações sobre este assunto se estiver a actualizar remotamente.)

A não ser que o sistema tenha a tarefa desktop instalada, ou outros pacotes que causem um número inaceitável de remoções de pacotes, é recomendado que actualize só o kernel nesta altura.

Para proceder com a actualização deste kernel, corra:

     # aptitude install linux-image-2.6-flavor

Veja Instalar o meta-pacote do kernel, Secção 4.6.1 para ajuda a determinar qual o 'flavor' do pacote de kernel que deve instalar.

No caso de sistemas desktop, infelizmente é impossível garantir que o novo pacote de kernel é instalado imediatamente a seguir ao novo udev ser instalado, portanto há uma janela indeterminada de tempo em que o seu sistema não terá nenhum kernel com suporte ao hotplug. Veja Actualizar o seu kernel e pacotes relacionados, Secção 4.6 para mais informação sobre como configurar o seu sistema para não depender do hotplug para arrancar.


4.5.6 Actualizar o resto do sistema

Está agora pronto para continuar a actualização da parte principal. Execute:

     # aptitude dist-upgrade

Isto irá executar a actualização completa do sistema, i.e. instalar as versões disponíveis mais recentes de todos os pacotes, e resolver todas as possíveis alterações de dependências entre pacotes em diferentes lançamentos. Se necessário, irá instalar alguns pacotes novos (normalmente novas versões de bibliotecas, ou pacotes renomeados), e remover quaisquer pacotes em conflito e obsoletos.

Quando a actualização for feita a partir de um conjunto de CD-ROMs, ser-lhe-á pedido que insira CDs específicos num determinado ponto durante a actualização. Pode ter que inserir o mesmo CD múltiplas vezes, isto devido a pacotes interrelacionados que foram distribuídos pelos CDs.

Novas versões dos pacotes actualmente instalados que não possam ser actualizadas sem alterar o estado de instalação de outro pacote serão deixadas na sua versão actual (visíveis como "held back"). Isto pode ser resolvido ou utilizando o aptitude de modo a escolher estes pacotes para instalação ou tentando aptitude -f install pacote.


4.5.7 Obter assinaturas dos pacotes

Após a actualização, com a nova versão do apt pode agora actualizar a sua informação sobre pacotes, que irá incluir o novo mecanismo de verificação da assinatura de pacotes:

     # aptitude update

A actualização já terá obtido e activado as chaves de assinatura dos arquivos de pacotes Debian. Se adicionar outras fontes de pacotes (não oficiais), o apt irá mostrar avisos relacionados com esta incapacidade de confirmar que pacotes obtidos de lá são legítimos e não foram modificados. Para mais informação, por favor veja Gestão de pacotes, Secção 2.1.1.

Irá notar, que desde que está a utilizar a nova versão do apt, ele irá obter ficheiros de diferenças dos pacotes (pdiff) em vez do índice completo de pacotes. Para mais informação sobre esta funcionalidade por favor leia Actualizações mais lentas dos índices de pacotes do APT, Secção 5.1.4.


4.5.8 Possíveis problemas durante a actualização

Se uma operação que utilize o aptitude, apt-get ou o dpkg falhar com o erro

     E: Dynamic MMap ran out of room

o espaço reservado, por omissão, de cache, é insuficiente. Pode resolver tanto pela remoção ou comentar as linhas de que não necessita em /etc/apt/sources.list ou aumentando o tamanho da cache. A dimensão da cache pode ser aumentada pela definição de APT::Cache-Limit em /etc/apt/apt.conf. O seguinte comando definirá para um valor que deverá ser suficiente para a actualização:

     # echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf

Assume que não tem ainda nenhuma variável definida neste ficheiro.

Por vezes é necessário activar a opção APT::Force-LoopBreak no APT para ser possível remover temporariamente um pacote essencial devido a um ciclo de Conflitos/Pré-Dependências. O aptitude irá alertá-lo disto e abortará a actualização. Pode contornar o problema especificando a opção APT::Force-LoopBreak=1 na linha de comandos do aptitude.

É possível que uma estrutura de dependências do sistema se torne corrupta de modo a necessitar de intervenção manual. Normalmente isto significa utilizar o aptitude ou

     # dpkg --remove nome_de_pacote

para eliminar alguns dos pacotes que estão a criar problemas, ou

     # aptitude -f install
     # dpkg --configure --pending

Em casos extremos poderá ter que forçar a reinstalação com um comando como

     # dpkg --install /path/to/package_name.deb

Os conflitos de ficheiros não ocorrem se estiver a actualizar a partir de um sistema sarge "puro", mas podem acontecer se tiver instalado 'backports' não-oficiais. Um conflito de ficheiros pode resultar no seguinte erro:

     A desempacotar <package-name> (de <package-foo-file>) ...
     dpkg: erro ao processar <package-foo> (--install):
      a tentar sobrescrever `<some-file-name>',
      que também está no pacote <package-bar>
     dpkg-deb: subprocesso paste morto pelo sinal ('pipe' quebrado)
      Foram encontrados erros enquanto processava:
      <package-foo>

Pode tentar resolver um conflito de ficheiro, efectuando a remoção forçada do pacote mencionado na última linha da mensagem de erro:

     # dpkg -r --force-depends nome_de_pacote

Depois de corrigir as coisas, deverá ser capaz de continuar a actualização repetindo os comandos do aptitude descritos atrás.

Durante a actualização, ser-lhe-ão colocadas questões relacionadas com a configuração ou re-configuração de vários pacotes. Quando lhe for perguntado se algum ficheiros dos directórios /etc/init.d ou /etc/terminfo, ou o ficheiro /etc/manpath.config deve ser substituído pela versão do 'maintainer' do pacote, normalmente é necessário responder afirmativamente para garantir a consistência do sistema. Pode sempre reverter à versão anterior, já que estas serão guardadas com uma extensão .dpkg-old.

Se não tiver a certeza acerca do que fazer, anote o nome do pacote ou do ficheiro e resolva os problemas mais tarde. Pode procurar o ficheiro transcrito de modo a rever a informação que esteve no ecrã durante a actualização.


4.6 Actualizar o seu kernel e pacotes relacionados

Esta secção explica como actualizar o seu kernel e identifica potenciais problemas relacionados com esta actualização. Tanto pode instalar um dos pacotes linux-image-* fornecidos pela Debian, ou compilar um kernel personalizado a partir do código fonte.

Note que muita da informação nesta secção é baseada na premissa que irá utilizar um dos kernels modulares da Debian, juntamente com os pacotes initramfs-tools e udev. Se escolher utilizar um kernel personalizado que não precisa de uma initrd ou se utiliza um gerador de initrds diferente, alguma da informação pode não ser relevante para si.

Note que se o udev não estiver instalado no seu sistema, ainda é possível utilizar o hotplug para descoberta de hardware.

Se está a utilizar um kernel 2.4, deve também ler cuidadosamente Actualizar para um kernel 2.6, Secção 5.2.


4.6.1 Instalar o meta-pacote do kernel

Quando executa uma actualização de versão (dist-upgrade) da sarge para a etch, é fortemente recomendado que instale um novo meta-pacote linux-image-2.6-*. Este pacote pode ser instalado automaticamente pelo processo dist-upgrade. Pode verificar isto ao correr:

     # dpkg -l "linux-image*" | grep ^ii

Se não vê nenhum 'output' poderá ter que instalar um novo pacote linux-image manualmente. Para ver uma lista de meta-pacotes linux-image-2.6 disponíveis corra:

     # apt-cache search linux-image-2.6- | grep -v transition

Se estiver inseguro sobre que pacote seleccionar, corra uname -r e procure um pacote com um nome idêntico, Por exemplo, se vir '2.4.27-3-686', é-lhe recomendado que instale o linux-image-2.6-686. Pode também utilizar o apt-cache para ver uma descrição longa sobre cada pacote de modo a ajudar a escolher o melhor disponível. Por exemplo:

     # apt-cache show linux-image-2.6-686

Deverá então utilizar aptitude install para o instalar. Uma vez que este novo kernel esteja instalado deverá reinicializar na primeira oportunidade para obter os benefícios disponibilizados pela nova versão do kernel.

Para os mais aventureiros existe um modo fácil de compilar o seu kernel personalizado na Debian GNU/Linux. Instale a ferramenta kernel-package e leia a documentação em /usr/share/doc/kernel-package.


4.6.2 Actualizar a partir de um kernel 2.6

Se você está actualmente a correr um kernel da série 2.6 da sarge esta actualização irá tomar lugar automaticamente após você tiver feito uma actualização completa dos pacotes de sistema (conforme é descrito em Actualizar pacotes, Secção 4.5).

Se possível, tem vantagens em actualizar o pacote do kernel separadamente do dist-upgrade principal para reduzir as probabilidades de ter um sistema temporariamente incapaz de arrancar. Veja Actualizar o kernel, Secção 4.5.5 para uma descrição deste processo. Note que isto deve apenas ser feito após o processo mínimo de actualização descrito em Actualização mínima do sistema, Secção 4.5.4.

Você pode também tomar este passo se está a utilizar o seu próprio kernel personalizado e quiser utilizar o kernel disponível na etch. Se a sua versão do kernel não for suportada pelo udev então é recomendado que você actualize após a actualização mínima. Se a sua versão for suportada pelo udev você pode esperar em segurança até depois da actualização completa do sistema.


4.6.3 Actualizar a partir de um kernel 2.4

Se você tem instalado um kernel 2.4, e o seu sistema se baseia no hotplug para a detecção de hardware você deve primeiro actualizar para um kernel da série 2.6 a partir da sarge antes de tentar a actualização. Assegure-se de que o kernel da série 2.6 arranca o seu sistema e todo o seu hardware é correctamente detectado antes de executar a actualização. O pacote hotplug é removido do sistema (a favor do udev) quando você fizer uma actualização completa do sistema. Se não fizer a actualização do kernel antes disto o seu sistema pode não arrancar correctamente a partir deste ponto. Uma vez que tenha feito a actualização para um kernel da série 2.6 na sarge você pode fazer uma actualização do kernel conforme é descrito em Actualizar a partir de um kernel 2.6, Secção 4.6.2.

Se o seu sistema não se baseia no hotplug[10] você pode atrasar a actualização do kernel para após ter feito uma actualização completa do sistema, conforme é descrito em Actualizar o resto do sistema, Secção 4.5.6. Uma vez que o seu sistema tenha sido actualizado você pode fazer o seguinte (alterando o nome do pacote do kernel para o mais adequado ao seu sistema substituindo <flavor>):

     # aptitude install linux-image-2.6-<flavor>

4.6.4 Reordenação da enumeração de dispositivos

A etch oferece um mecanismo mais robusto para a descoberta de hardware do que nos lançamentos anteriores. No entanto, isto poderá causar alterações na ordem pela qual os dispositivos são descobertos no seu sistema, afectando a ordem na qual os nomes dos mesmos são atribuídos. Por exemplo, se possuir duas placas de rede que estejam associadas a dois controladores diferentes, os dispositivos a que se referem eth0 e eth1 podem ser trocados. Por favor note que o novo mecanismo significa que se por ex. trocar as placas de rede num sistema etch existente, a nova placa de rede também obterá um novo nome de interface.

Para dispositivos de rede, pode evitar esta reordenação utilizando regras do udev, mais especificamente, através das definições no /etc/udev/rules.d/z25_persistent-net.rules[11]. Alternativamente pode utilizar o utilitário ifrename para ligar dispositivos físicos a nomes específicos durante o arranque. Veja ifrename(8) e iftab(5) para mais informação. As duas alternativas (udev e ifrename) não devem ser utilizadas ao mesmo tempo.

Para dispositivos de armazenamento, pode evitar esta reordenação ao utilizar o initramfs-tools e configurá-los de modo a carregar os módulos do driver do dispositivo de armazenamento na mesma ordem em que estão actualmente carregados. Para fazer isto, identifique a ordem por que foram carregados os módulos de armazenamento no seu sistema ao ver o 'output' de lsmod. O lsmod lista os módulos na ordem inversa em que foram carregados, i.e., o primeiro modulo na lista foi o último a ser carregado. Note que isto apenas irá funcionar para dispositivos que o kernel enumere numa ordem estável (como os dispositivos PCI).

No entanto, remover e voltar a carregar os módulos após o arranque inicial afectará esta ordem. O kernel pode também ter alguns controladores ligados ('linked') estaticamente, e estes nomes podem não aparecer no 'output' de lsmod. Pode conseguir decifrar estes nomes de controladores e carregá-los pela ordem, ao ver o ficheiro /var/log/kern.log, ou o 'output' de dmesg.

Adicione estes nomes de módulos a /etc/initramfs-tools/modules pela ordem em que os mesmos deverão ser carregados durante o arranque. Alguns nomes de módulos podem ter sido alterados entre a sarge e a etch. Por exemplo, sym53c8xx_2 passou a sym53c8xx.

Terá então de gerar novamente a(s) sua(s) imagem(s) initramfs ao executar update-initramfs -u -k all.

Assim que estiver a correr um kernel da etch e o udev, pode reconfigurar o seu sistema de modo a aceder aos discos através de um 'alias' que não é dependente da ordem em que os controladores são carregados. Estes 'aliases' residem na hierarquia /dev/disk/.


4.6.5 Problemas de timing no arranque

Se é utilizada uma initrd criada com o initramfs-tools para arrancar o sistema, em alguns casos a criação de ficheiros de dispositivo pelo udev pode acontecer demasiado tarde para que os scripts de arranque actuem.

The usual symptoms are that the boot will fail because the root file system cannot be mounted and you are dropped into a debug shell, but that when you check afterwards, all devices that are needed are present in /dev. This has been observed in cases where the root file system is on a USB disk or on RAID, especially if lilo is used.

Uma forma de contornar este problema é utilizar o parâmetro de arranque rootdelay=9. O valor do tempo de espera (em segundos) pode ter de ser ajustado.


4.7 Coisas a fazer antes de reinicializar

Quando o aptitude dist-upgrade tiver terminado, a actualização "formal" estará completa, mas existem algumas coisas com as quais é preciso ter atenção antes da próxima reinicialização.


4.7.1 Converter a partir de devfs

Os kernels Debian já não incluem suporte para devfs, por isso os utilizadores de devfs irão necessitar de converter manualmente os seus sistemas antes de arrancarem com um kernel da etch.

Se vir a string 'devfs' em /proc/mounts, você está muito provavelmente a utilizar devfs. Quaisquer ficheiros de configuração que façam referência a nomes de estilo devfs necessitam de ser corrigidos para utilizarem nomes de estilo udev. Os ficheiros que provavelmente fazem referência a devfs incluem o /etc/fstab, o /etc/lilo.conf, o /boot/grub/menu.lst, e o /etc/inittab.

Mais informação sobre potenciais problemas está disponível no relatório de bug #341152.


4.7.2 Possíveis drivers em falta em initrd

Os kernels da etch ainda não têm suporte completo para sysfs para o sparc sbus nativo. O initramfs-tools baseia-se nisto para incluir drivers para controladores de disco no initrd. Se um driver não for incluido no initrd, o seu sistema pode falhar no arranque.

Se o seu sistema utiliza o módulo esp ou o qlogicpti para aceder aos seus discos rígidos, você irá necessitar de incluir esse módulo em /etc/initramfs-tools/modules e gerar novamente o initrd antes de reiniciar o seu sistema. O initrd pode ser novamente gerado utilizando:

     # update-initramfs -u -k all

4.7.3 Actualizar o mdadm

O mdadm precisa agora de um ficheiro de configuração para montar 'MD arrays' (RAID) a partir a ramdisk inicial e durante a sequência de inicialização do sistema. Por favor leia e siga as instruções em /usr/share/doc/mdadm/README.upgrading-2.5.3.gz depois de o pacote ter sido actualizado e antes de reiniciar. A última versão deste ficheiro está disponível em http://svn.debian.org/wsvn/pkg-mdadm/mdadm/trunk/debian/README.upgrading-2.5.3?op=file; por favor consulte-o em caso de problemas.


4.7.4 Conflict between tulip and dmfe drivers

On some Netras (e.g. on Netra X1) udev loads both tulip and dmfe drivers, which claim support for the same PCI IDs (#334104). The tulip driver is correct one for Netra. If this happens, you should blacklist the dmfe driver and reboot, and/or remove both dmfe and tulip (modprobe -r) and then modprobe tulip only.


4.8 Preparar para o próximo lançamento

Após a actualização existem várias coisas que você pode fazer para se preparar para o próximo lançamento.


4.9 Deprecated packages

With the release of Lenny a bigger number of server packages will be deprecated, thus updating to newer versions of those now will save you from trouble when updating to Lenny.

This includes the following packages:


4.10 Pacotes obsoletos

Ao introduzir vários milhares de novos pacotes, a etch também remove e omite mais de dois milhares de antigos pacotes que estavam na sarge. Não fornece um caminho de actualização para estes pacotes obsoletos. Ao mesmo tempo que nada o impede de continuar a utilizar um pacote obsoleto enquanto o desejar, o projecto Debian irá normalmente descontinuar o suporte de segurança para o mesmo um ano depois do lançamento da etch [12] e não irá fornecer normalmente outro suporte durante o mesmo. É recomendado substitui-lo por alternativas disponíveis, se existirem é recomendado.

Existem muitas razões para que pacotes possam ter sido retirados da distribuição: não serem mais mantidos 'upstream'; não existir mais um Debian 'Developer' interessado em manter os pacotes; a funcionalidade que estes fornecem ter sido ultrapassada por outro software diferente (ou uma nova versão); ou deixados de serem considerados adequados para a etch devido a bugs neles. No último caso, os pacotes podem no entanto continuar a estarem presentes na distribuição "unstable".

A detecção dos pacotes que num sistema actualizado são obsoletos é fácil pelo facto dos 'front-ends' dos gestor de pacotes os marcarem. Se estiver a utilizar o aptitude, verá a lista destes pacotes na entrada "Pacotes obsoletos e criados localmente". O dselect disponibiliza uma secção idêntica mas a lista que apresenta pode ser diferente. Do mesmo modo se usou o aptitude para instalar manualmente pacotes na sarge, ele irá seguir o caminho desses pacotes que instalou manualmente e será capaz de marcar como obsoletos os pacotes obtidos por dependências apenas que não são já necessárias pela remoção do pacote. Também o aptitude, ao contrário do deborphan não irá marcar como pacotes obsoletos que instalou manualmente, em oposição aos que foram instalados automaticamente através de dependências.

Existem ferramentas adicionais que pode utilizar para descobrir pacotes obsoletos tais como deborphan, debfoster ou cruft. O deborphan é fortemente recomendado, no entanto este irá (em modo por omissão) apenas relatar as bibliotecas obsoletas: pacotes nas secções "libs" ou "oldlibs" que não sejam utilizada por outros pacotes. Não remova cegamente os pacotes que estas ferramentas apresentam, especialmente se estiver a utilizar opções agressivas que são sujeitas à produção de falsos positivos. É altamente recomendável que reveja manualmente os pacotes sugeridos para remoção (por ex. o seu conteúdo, dimensão e descrição) antes de os remover.

O Debian Bug Tracking System frequentemente fornece informação adicional sobre a razão da remoção do pacote. Deverá rever ambos os relatórios de erro do pacote e os relatórios de bugs arquivados para o ftp.debian.org pseudo-package.


4.10.1 Pacotes fictícios

Alguns pacotes da sarge foram separados em vários pacotes da etch, principalmente para melhorar a manutenção do sistema. Para facilitar a actualização em alguns casos, a etch fornece pacotes fictícios: pacotes vazios que têm o mesmo nome que o pacote antigo na sarge com dependências que provocam a instalação de novos pacotes. Estes pacotes fictícios são considerados pacotes obsoletos depois da actualização e podem ser removidos em segurança.

A maior parte (mas nem todas) das descrições dos pacotes fictícios' indicam o seu propósito. As descrições dos pacotes para os pacotes fictícios não são uniformes, no entanto pode achar as opções --guess do deborphan úteis para as detectar no seu sistema. Note que alguns pacotes fictícios não têm como fim serem removidos depois de uma actualização, em vez disso, são utilizadas para seguir o caminho das actuais versões disponíveis de um programa ao longo do tempo.


[ anterior ] [ Índice ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ próximo ]


Notas de Lançamento de Debian GNU/Linux 4.0 ("etch"), SPARC

$Id: release-notes.en.sgml,v 1.312 2007-08-16 22:24:38 jseidel Exp $

Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer, Rob Bradford, Frans Pop (actual), Andreas Barth (actual), Javier Fernández-Sanguino Peña (actual), Steve Langasek (actual)
debian-doc@lists.debian.org