[ anterior ] [ Índice ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ A ] [ próximo ]
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.
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.
É 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.
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.
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.
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.
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.
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.
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".
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).
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.
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.
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>'
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.
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.
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.
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.
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.
É-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
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.
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á:
Remover pacotes que tenham sido previamente descarregados para instalação (em
/var/cache/apt/archive). Limpar a 'cache' de pacotes ao correr
apt-get clean ou aptitude clean irá remover todos os
ficheiros de pacotes anteriormente descarregados.
Remover pacotes antigos que já não utiliza. Se tiver instalado o
popularity-contest, você pode utilizar o
popcon-largest-unused para listar os pacotes que não utiliza que
ocupam mais espaço no sistema. Você pode também utilizar o
deborphan ou o debfoster para procurar pacotes
obsoletos (veja Pacotes obsoletos, Secção 4.10). Em
alternativa você pode iniciar o aptitude em "modo
visual" e procurar pacotes obsoletos sob "Pacotes Obsoletos e Criados
Localmente".
Remova pacotes que estejam a ocupar demasiado espaço, e que não estejam a ser
necessários (pode sempre reinstalá-los depois da actualização). Pode listar os
pacotes que ocupam o maior espaço em disco com dpigs (disponível
no pacote debian-goodies) ou com wajig (correndo
wajig size).
Mova temporariamente para outro sistema, ou remova permanentemente, os
relatórios de sistema residentes em /var/log/.
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.
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.
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
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).
On a system with no X, no additional aptitude install command should be required, and you can move on to the next step.
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.
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.
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.
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.
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.
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.
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.
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>
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/.
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.
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.
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.
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
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.
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.
Após a actualização existem várias coisas que você pode fazer para se preparar para o próximo lançamento.
Se está a utilizar o grub, edite /etc/kernel-img.conf
e ajuste a localização do programa update-grub alterando
/sbin/update-grub para /usr/sbin/update-grub.
Se o novo meta-pacote da imagem do kernel foi obtida como uma dependência do antigo, será marcado como instalado automaticamente, o que deve ser corrigido:
# aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)
Remova os meta-pacotes do kernel da sarge correndo:
# aptitude purge kernel-image-2.6-<flavor>
Move any configuration options from /etc/network/options to
/etc/sysctl.conf. Please see
/usr/share/doc/netbase/README.Debian for details.
Remova os pacotes obsoletos e não utilizados conforme é descrito em Pacotes obsoletos, Secção 4.10. Você deve rever que ficheiros de configuração eles utilizam e considerar purgar os pacotes ou remover os seus ficheiros de configuração.
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:
apache (1.x), successor is apache2
bind8, successor is bind9
php4, successor is php5
postgresql-7.4, successor is postgresql-8.1
exim 3, successor is exim4
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.
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 $debian-doc@lists.debian.org