Capítol 4. Actualitzacions des de versions anteriors

Sumari

4.1. Preparació de l'actualització
4.1.1. Copiar qualsevol dada o informació de configuració
4.1.2. Informar els usuaris amb antelació
4.1.3. Preparar la recuperació
4.1.4. Preparar un entorn segur per a l'actualització
4.2. Comprovació de l'estat del sistema
4.2.1. Revisió de les accions pendens al gestor de paquets
4.2.2. Inhabilitar el pinning d'APT
4.2.3. Comprovació de l'estat dels paquets
4.2.4. La secció proposed-updates
4.2.5. Origens de programari no oficials i backports
4.3. Desmarcat manual de paquets
4.4. Preparació dels origens del programari per l'APT
4.4.1. Nous origens de programari per a l'APT a Internet
4.4.2. Afegint origens de programari d'APT per a una rèplica local
4.4.3. Afegint origens de programari d'APT des d'un CD-ROM o DVD
4.5. Actualització de paquets
4.5.1. Desar la sessió
4.5.2. Actualització de la llista de paquets
4.5.3. Comprovar que hi ha prou espai per fer l'actualització
4.5.4. Actualització prèvia d'apt i/o aptitude
4.5.5. Utilització de la llista de paquets automàticament instal·lats amb apt
4.5.6. Actualització mínima del sistema
4.5.7. Actualització de la resta del sistema
4.5.8. Possibles problemes amb l'actualització
4.6. Actualització del nucli i dels paquets relacionats
4.6.1. Instal·lació del metapaquet del nucli
4.6.2. Reordenació de l'enumeració dels dispositius
4.6.3. Problemes amb el temps d'arrancada
4.7. Coses a fer abans de tornar a iniciar
4.7.1. Execució de lilo
4.7.2. Actualització d'mdadm
4.8. El sistema es queda penjat a l'arrencar en Waiting for root file system
4.8.1. Com evitar el problema abans d'actualitzar
4.8.2. Com recuperar-se del problema després de l'actualització
4.9. Preparació pel proper llançament
4.10. Paquets obsolets
4.10.1. Dummy packages

4.1. Preparació de l'actualització

Us suggerim que abans de l'actualització llegiu la informació que hi ha al Capítol 5, Problemes a tenir en compte a squeeze. Este capítol cobreix els possibles problemes que no estan directament relacionats amb el procés d'actualització però que encara poden ser importants abans de començar.

4.1.1. Copiar qualsevol dada o informació de configuració

Abans de l'actualització del vostre sistema, és molt recomanable que feu una còpia de seguretat, o al menys copieu les dades relatives a la configuració que no es podeu permetre de perdre. Les eines i el procés de configuració són prou segurs, però una fallada del maquinari en mig d'una actualització pot deixar-vos un sistema greument danyat.

Les principals coses les que heu de fer còpia són els continguts d'/etc, /var/lib/dpkg, /var/lib/aptitude/pkgstates i la eixida de dpkg --get-selections "*" (les cometes són importants.).

El procés en si no modifica cap dels directoris /home. Per altre costat, algunes aplicacions (p.ex. algunes aplicacions del conjunt de programes de Mozilla i dels entorns d'escriptori de GNOME i KDE) es sap que sobreescriuen les que ja hi ha amb nous valors per defecte quan s'inicia una nova versió de l'aplicació la primera vegada per cada usuari. Com a precaució, pot ser voleu fer una còpia de seguretat dels fitxers ocults i els directoris (“dotfiles”) als directoris home dels usuaris. Esta còpia us pot ajudar a recuperar o recrear la antiga configuració. Hauríeu d'informar els usuaris dels canvis.

Qualsevol operació d'instal·lació de paquets s'ha de fer amb privilegis de superusuari, per tant, o bé entreu com a root, o utilitzeu su o sudo per aconseguir els drets d'accés necessaris.

L'actualització té unes quantes condicions prèvies que hauríeu de comprovar abans d'iniciar l'actualització.

4.1.1.1. Assegureu-vos de tenir un nucli adequat

La versió de squeeze de la glibc no funcionarà amb nuclis anteriors 2.6.8 a qualsevol arquitectura i a algunes arquitectures amb requeriments més alts. Us recomantem que actualitzeu i proveu un nucli d'lenny 2.6.18 o 2.6.24 o un nucli personalitzat de al menys la versió 2.6.18 abans d'iniciar el procés d'actualització.

4.1.2. Informar els usuaris amb antelació

És desitjable que informeu a tots els usuaris per avançat abans de fer les actualitzacions que esteu plantejant, encara que els usuaris que accedeixen al vostre sistema amb una connexió ssh hauria de notar-ho un poc a l'actualització, i haurien de ser capaços de continuar treballant.

Si voleu agafar precaucions extra, feu una còpia o desmunteu la partició /home abans d'actualitzar.

Probablement haureu de fer una actualització del nucli quan actualitzeu a squeeze, per tant serà necessari tornar a iniciar. Típicament, es farà després de completar l'actualització.

4.1.3. Preparar la recuperació

Degut als molts canvis que hi ha entre els nuclis d'lenny i de squeeze respecte a controladors, cerca de nou maquinari i a l'ordenació i el nom rebut pels fitxers de dispositiu, hi ha un risc real que tingueu problemes al tornar a iniciar el vostre sistema desprès de l'actualització. S'han documentat molts problemes en potència en aquest capítol i en els següents de estes notes de llançament.

Per este motiu té sentit assegurar-se que sereu capaços de recuperar si el vostre sistema falla a l'arrencar, o a sistemes gestionats remotament si fallen en alçar la xarxa.

Si esteu actualitzant de forma remota amb una connexió ssh, és molt recomanable que agafeu les precaucions necessàries per ser capaços d'accedir al servidor a través d'un terminal sèrie remot. Hi ha la possibilitat que després d'actualitzar el nucli i de tornar a iniciar, alguns dels dispositius hagen canviat de nom (tal i com es descriu a Secció 4.6.2, “Reordenació de l'enumeració dels dispositius” ) i haureu de corregir la configuració del sistema amb una consola local. També, si els sistema s'ha tornat a iniciar accidentalment a mitjan actualització, pot ser que necessiteu recuperar-vos utilitzant una consola local.

La primera opció òbvia a intentar és tornar a iniciar amb el nucli antic. Però, per diferents motius documentats per tot arreu en este document, no està garantit que funcione.

Si això falla, necessitareu un mètode alternatiu per arrancar el vostre sistema per poder accedir-ne i reparar-lo. Una opció és utilitzar una imatge especial de rescat o un Linux live CD. Desprès de tornar a iniciar-ho, hauríeu de ser capaços de muntar el vostres sistema arrel i fer un chroot en ell per investigar i corregir el problema.

Un altra opció que ens agradaria recomanar és utilitzar el mode de rescat de l'instal·lador de Debian squeeze. La principal avantatja d'utilitzar l'instal·lador és que podeu triar entre els seus modes d'instal·lació el que millor s'ajuste a la vostra situació. Per obtenir més informació, consulteu la secció “Recuperació d'un sistema trencat” al capítol 8 de la guia d'instal·lació i les FAQ de l'instal·lador de Debian.

4.1.3.1. L'intèrpret d'ordres de depuració a l'arrancada quan s'utilitza initrd

L'initramfs-tools inclou un intèrpret d'ordres de depuració[2] a l'initrd que genera. Per exemple, si l'initrd no pot muntar el vostre sistema de fitxers arrel, sereu enviats a este intèrpret d'ordres de depuració que conté les ordres bàsiques disponibles per fer el seguiment del problema i possiblement corregir-lo.

Les coses bàsiques a comprovar són: la presència dels fitxers de dispositiu correctes a /dev; quins mòduls s'han carregat (cat /proc/modules) i l'eixida de dmesg per trobar errors en la càrrega dels controladors. L'eixida del dmesg us mostrarà quins fitxers de dispositiu s'han assignat a quins discs; també hauríeu de comprovar l'eixida de echo $ROOT per assegurar-vos que el sistema de fitxers arrel és al dispositiu esperat.

Si feu gestions per resoldre el problema, si escriviu exit eixirà de l'intèrpret d'ordres i continuarà el procés d'arrancada des del punt on havia fallat. Per suposat, necessitareu corregir el problema de base i regenerar l'initrd de manera que no torne a fallar en la pròxima arrancada.

4.1.4. Preparar un entorn segur per a l'actualització

L'actualització de la distribució s'hauria de fer o bé localment amb una consola virtual en mode text (o directament connectat amb una terminal sèrie), o remotament amb un enllaç ssh.

Per obtenir un marge de seguretat addicional quan s'actualitza remotament, suggerim que feu el procés d'actualització en la consola virtual que proporciona l'ordre screen, que facilita una reconnexió segura i assegura que el procés d'actualització no s'interromp inclòs si falla el procés de connexió remota.

[Important]Important

No hauríeu d'actualitzar utilitzant telnet, rlogin, rsh, o des d'una sessió X controlada per l'xdm, gdm o kdm etc. a la màquina que esteu actualitzant. Açò és perquè estos serveis s'aturaran a l'actualització, el que pot resultar en un sistema inaccessible que es troba a mig actualitzar.

4.2. Comprovació de l'estat del sistema

El procés d'actualització descrit en este capítol s'ha dissenyat per actualitzar un sistema lenny “pur”, sense paquets de tercers. Per obtenir una major fiabilitat del procés d'actualització, pot ser podríeu esborrar els paquets de tercers del vostre sistema abans de iniciar l'actualització.

Este procés assegura que el vostre sistema s'ha actualitzat a l'últim punt del llançament d'lenny. Si no ho heu fet o no esteu segurs, seguiu les instruccions de la Secció A.1, “Actualització del vostre sistema lenny”.

4.2.1. Revisió de les accions pendens al gestor de paquets

En altres casos, l'ús d'apt-get per instal·lar paquets en comptes d'aptitude podria fer que l'aptitude considere un paquet com “unused” i el marque per esborrar-lo. En general, hauríeu d'assegurar-vos que el sistema està totalment actualitzat i “net” abans de continuar amb l'actualització.

Per este motiu hauríeu de revisar si hi ha accions pendents al gestor de paquets aptitude. Si un paquet està marcat per esborrar o actualitzar al gestor de paquets, podria afectar negativament el procediment d'actualització. Adoneu-vos que corregir açò tan sols es possible si el vostre sources.list encara apunta a lenny; i no a stable o squeeze; mireu Secció A.2, “Comprovació de la llista d'origens”.

Per fer-ho, llanceu l'aptitude en “mode visual” i prémeu g (“Go”). Si mostra alguna acció, hauríeu de revisar-la i o bé corregir-la o implementar les accions suggerides. Si no es suggereix cap acció voreu un missatge que dirà “No hi ha cap paquet marcat per instal·lar, esborrar o actualitzar”.

4.2.2. Inhabilitar el pinning d'APT

Si heu configurat l'APT per que instal·le alguns paquets d'altra distribució que no siga stable (per exemple testing), haureu de canviar la vostra configuració de pinning d'APT (que es troba a /etc/apt/preferences) per permetre l'actualització dels paquets a les versions del nou llançament estable. Podeu trobar més informació del pinning d'APT a apt_preferences(5).

4.2.3. Comprovació de l'estat dels paquets

En relació al mètode utilitzat per actualitzar, es recomana que comproveu primer l'estat de tots els paquets, i que comproveu que tots els paquets estan en un estat actualitzable. L'ordre següent mostrarà quins paquets tenen un estat de mig-instal·lat o fallada-de-configuració, i aquells que tenen un estat d'error.

# dpkg --audit

Podeu inspeccionar l'estat de tots els paquets del vostre sistema utilitzant dselect, aptitude, o amb ordres de l'estil

# dpkg -l | pager

o

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

Seria desitjable que esborréssiu qualsevol paquet mantingut. Si qualsevol paquet essencial per l'actualització es troba mantingut, l'actualització fallarà.

Adoneu-vos que l'aptitude utilitza un mètode diferent pel registre dels paquets que estan mantinguts que l'apt-get i que dselect. Podeu identificar els paquets mantinguts per l'aptitude amb

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

Si voleu comprovar quins paquets estan mantinguts per l'apt-get, hauríeu d'utilitzar

# dpkg --get-selections | grep hold

Si heu canviat i tornat a compilat un paquet de forma local, i no l'heu reanomenat o li heu canviat una era en la versió, haureu de mantenir-lo per prevenir que s'actualitze.

Es pot canviar l'estat “mantingut” d'un paquet per l'aptitude utilitzant:

# aptitude hold nom_del_paquet

Reemplaceu el hold amb unhold per canviar l'estat “hold”.

Si hi ha alguna cosa per corregir, és molt millor assegurar-se que el sources.list encara apunta a lenny tal i com s'explica a Secció A.2, “Comprovació de la llista d'origens”.

4.2.4. La secció proposed-updates

Si teniu al vostre fitxer /etc/apt/sources.list la secció proposed-updates, hauríeu d'esborrar-la d'eixe fitxer abans d'intentar l'actualització del vostre sistema. Esta es una precacució per reduir la probabilitat de conflictes.

4.2.5. Origens de programari no oficials i backports

Si teniu algun paquet que no és de Debian al vostre sistema, hauríeu d'anar en compte ja que podrien esborrar-se a l'actualització degut a alguna dependència conflictiva. Si estos paquets es van instal·lar afegint un arxiu extra al vostre /etc/apt/sources.list, hauríeu de comprovar si eixe arxiu també ofereix paquets compilats per squeeze i canviar la línia d'origen d'acord amb els vostres origens dels paquets de Debian.

Alguns usuaris han fet un backport no oficial amb versions “més noves” de paquets que els que estan instal·lats en Debian al seu sistema lenny. Estos paquets tenen més possibilitats de causar problemes a l'actualització ja que poden entrar en conflicte[3]. A la Secció 4.5.8, “Possibles problemes amb l'actualització” hi ha informació de com actuar amb fitxers que tenen conflictes, si algun apareguera.

4.2.5.1. Ús dels paquets de backports.org

backports.org és un repositori quasi-oficial proporcionat per desenvolupadors de Debian GNU/Linux, que facilita paquets nous pel llançament estable, basat en tornar a construir els paquets de l'arxiu “testing”.

El repositori backports.org conté els paquets de “testing”, però amb números de versió reduïts, de manera que l'actualizació des dels backports d'lenny a squeeze encara funciona. Per altra banda, hi ha uns pocs que s'han fet des d'unstable: actualitzacions de seguretat i les excepcions següents: firefox, el nucli de Linux, OpenOffice.org i X.Org).

Si no utilitzeu estes excepcions, podeu actualitzar de forma segura a squeeze. Si utilitzeu una de estes excepcions, fixeu el Pin-Priority (vegeu apt_preferences(5)) de forma temporal a 1001 per tots els paquets de squeeze, i hauríeu de ser capaços d'assegurar un dist-upgrade també. Vegeu les PMF dels backports.

4.3. Desmarcat manual de paquets

Per prevenir que l'aptitude esborre algun paquet que es van instal·lar forçat per alguna dependència, necessitareu eliminar la marca auto dels paquets. Açò inclou l'OpenOffice i el Vim per instal·lacions d'escriptori:

# aptitude unmarkauto openoffice.org vim

I les imatges de nuclis 2.6 que heu instal·lat utilitzant un metapaquet de nucli:

# aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6.*' | cut -f1)
[Nota]Nota

Podeu revisar quins paquets s'han marcat com auto amb in aptitude executant:

# aptitude search '~i~M'

4.4. Preparació dels origens del programari per l'APT

Abans d'iniciar l'actualització heu de configurar la configuració de l'apt per les llistes de paquets, /etc/apt/sources.list.

L'apt considerarà que tots els paquets es poden trobar via alguna línia “deb”, i instal·la el paquet amb una versió superior, donant prioritat a la primera del fitxer (de esta forma, on tindreu les múltiples llocs amb rèpliques, normalment primer nombrareu un disc dur, després els CD-ROM i després les rèpliques HTTP/FTP).

[Suggeriment]Suggeriment

Necessiteu afegir una excepció de comprovació de GPG pels DVDs i CD-ROMs. Afegiu la línia següent al /etc/apt/apt.conf, si no està abans a /etc/apt/apt.conf.d/00trustcdrom:

APT::Authentication::TrustCDROM "true";

Per altra banda, açò no funcionarà per fitxers d'imatge de DVD/CD-ROM.

Sovint ens referim a un llançament pel seu nom clau (p.e. lenny, squeeze) i pel seu nom de l'estat (i.e. oldstable, stable, testing, unstable). Referir-se a un llançament pel seu nom clau té l'avantatge que mai us sorprendrà un nou llançament i per això serà l'aproximació agafada ací. Això vol dir que haureu de mirar vosaltres els nous llançaments de la distribució. Si utilitzeu el nom de l'estat, voreu que hi ha moltes noves actualitzacions dels paquets disponibles en el moment que es produeixi el llançament.

4.4.1. Nous origens de programari per a l'APT a Internet

La configuració per defecte està feta per instal·lar des dels principals servidors de Debian a Internet, però pot ser hauríeu de modificar l'/etc/apt/sources.list per a què utilitze altres rèpliques, preferiblement una rèplica que estiga més propera en termes de xarxa a vosaltres.

Les adreces de les rèpliques HTTP o FTP les pots trobar a http://www.debian.org/distrib/ftplist (mireu a la secció “llista de rèpliques de Debian”). Les rèpliques HTTP normalment són més ràpides que les FTP.

Per exemple, suposeu que la vostra rèplica de Debian és http://mirrors.kernel.org. Quan visiteu eixa rèplica amb un navegador web o amb un programari d'FTP, voreu que els directoris principals estan organitzats així:

http://mirrors.kernel.org/debian/dists/squeeze/main/binary-s390/...
http://mirrors.kernel.org/debian/dists/squeeze/contrib/binary-s390/...

Per utilitzar esta rèplica amb apt, afegiu esta línia al vostre fitxer sources.list:

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

Adoneu-vos que el `dists' s'afegeix de forma implícita, i que els arguments després del nom del llançament s'utilitzen per completar el camí pels múltiples directoris.

A l'afegir els vostres nous origens pel programari, inhabiliteu les línies “deb” que ja teníeu al sources.list posant un comodí (#) al davant d'elles.

4.4.2. Afegint origens de programari d'APT per a una rèplica local

En comptes d'utilitzar una rèplica de paquets HTTP o FTP, hauríeu de voler modificar el /etc/apt/sources.list per utilitzar una rèplica a un disc local (possiblement muntat per NFS).

Per exemple, la vostra rèplica de paquets podria ser a /var/ftp/debian/, i tenir els directoris principals de l'estil:

/var/ftp/debian/dists/squeeze/main/binary-s390/...
/var/ftp/debian/dists/squeeze/contrib/binary-s390/...

Per fer-ho amb l'apt, afegiu esta línia al vostre fitxer sources.list:

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

Adoneu-vos que el `dists' s'afegeix de forma implícita, i que els arguments desprès del nom s'ha utilitzat per completar la ruta al tots els directoris.

Desprès d'afegir el vostres nous origens de programari, inhabiliteu les línies “deb” que ja havia al sources.list afegint un comodí (#) al davant.

4.4.3. Afegint origens de programari d'APT des d'un CD-ROM o DVD

Si tan sols voleu utilitzar CD, elimineu els comentaris de les línies “deb” a l'/etc/apt/sources.list posant un comodí davant d'elles (#).

Assegureu-vos que hi ha una línia /etc/fstab que activa el muntatge de les unitats de CD-ROM al punt de muntatge /cdrom (es necessita el punt de muntatge exacte /cdrom per l'ordre apt-cdrom). Per exemple, si la vostra unitat de CD-ROM és /dev/hdc, el /etc/fstab hauria de contenir una línia de l'estil:

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

Adoneu-vos que no hauria d'haver espais entre les paraules defaults,noauto,ro al quart camp.

Per comprovar que funciona, inseriu un CD i proveu d'executar

# mount /cdrom    # açò muntarà el CD al punt de muntatge
# ls -alF /cdrom  # açò hauria de mostrar el directori arrel del CD
# umount /cdrom   # açò desmuntarà el cdrom

La pròxima vegada, executeu:

# apt-cdrom add

per cada CD-ROM de Debian amb binaris que tingueu, per afegir les dades de cada CD a la base de dades d'APT.

4.5. Actualització de paquets

La manera recomanada d'actualitzar des dels llançament anteriors de Debian GNU/Linux és utilitzar l'eina de gestió de paquets aptitude. Este programa fa més segures les decisions d'instal·lacions de paquets que si s'executa apt-get directament.

No oblideu de muntar totes les particions necessàries (especialment les particions arrel i la partició /usr) amb lectura i escriptura amb una ordre de l'estil:

# mount -o remount,rw /punt_muntatge

A continuació hauríeu de comprovar que les entrades d'APT (a l'/etc/apt/sources.list) apunten o bé a “squeeze” o a “stable”. No hauríeu de trobar cap origen apuntat a lenny.

[Nota]Nota

Les línies CD-ROM sovint apunten a “unstable”; encara que açò pot donar lloc a confusió, no hauríeu de canviar-les.

4.5.1. Desar la sessió

És molt recomanable que utilitzeu l'ordre /usr/bin/script per desar una transcripció de la sessió d'actualització. Quan aparega un problema, haureu de tenir un registre del que ha passat, i si fera falta, podríeu donar informació exacta en un informe d'error. Per iniciar el desat, escriviu:

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

o alguna cosa semblant. No poseu el fitxer typescript a un directori temporal com el /tmp o /var/tmp (els fitxers d'estos directoris s'esborraran a l'actualització o al tornar a iniciar).

El typescript també us permetrà que reviseu la informació que ha quedat fora de la pantalla pel desplaçament. Canvieu a VT2 (amb Alt+F2) i, després d'entrar, utilitzeu less -R ~root/upgrade-squeeze.script per vore el fitxer.

Després de completar l'actualització, podeu detenir l'script escrivint exit a l'indicador.

Si heu utilitzat l'opció -t pel script podreu utilitzar scriptreplay per reproduir la sessió completa:

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

4.5.2. Actualització de la llista de paquets

Primer la llista de paquets que hi ha a l'abast s'ha de descarregar. Açò es pot fer executant:

# aptitude update

A la primera execució els nous origens que s'actualitzen imprimiran alguns avisos relacionats amb la disponibilitat dels origens. Estos avisos són inofensius i no apareixeran la pròxima execució de l'ordre.

4.5.3. Comprovar que hi ha prou espai per fer l'actualització

Heu d'assegurar-vos abans d'actualitzar que el vostre sistema té espai suficient al disc dur quan inicieu l'actualització completa del vostre sistema tal i com es descriu a Secció 4.5.7, “Actualització de la resta del sistema”. Primer, es descarreguen des de la xarxa tots els paquets necessaris per a la instal·lació emmagatzemant-se a /var/cache/apt/archives (i al subdirectori partial/, quan es descarreguen), per tant hauríeu d'assegurar-vos que disposeu de suficient espai en disc al sistema de fitxers que conté el vostre /var/ per descarregar temporalment els paquets que s'instal·laran al vostre sistema. Després de la descàrrega, necessitareu probablement més espai a altres particions amb sistemes de fitxers per instal·lar tant els paquets actualitzats (que podrien contenir binaris més grans o més dades) com els nous que entraran a l'actualització. Si el vostre sistema no té prou espai, podríeu acabar amb una actualització incompleta de la que podria ser difícil recuperar-se.

Tant l'aptitude com l'apt us mostrarà informació detallada de l'espai en disc necessari per la instal·lació. Abans de continuar amb l'actualització, ho podeu estimar executant:

# aptitude -y -s -f --with-recommends dist-upgrade
[ ... ]
XXX actualitzats, XXX nous a instal·lar, XXX a suprimir i XXX no actualitzats.
Es necessita obtenir xx.xMB/yyyMB d'arxius. Després d'aquesta operació s'empraran 
AAAMB d'espai en disc addicional.
Voleu descarregar/instal·lar/esborrar els paquets?
[Nota]Nota

Si executeu esta ordre a l'inici del procés d'actualització podria donar un error, per les raons que es descriuen a les següents seccions. En este cas necessitareu esperar a haver acabat una actualització mínima del sistema com contem a Secció 4.5.6, “Actualització mínima del sistema” i actualitzar el nucli com es descriu a Secció 4.1.1.1, “Assegureu-vos de tenir un nucli adequat” abans d'executar esta ordre per estimar l'espai en disc.

Si no disposeu de suficient espai per l'actualització, assegureu-vos d'alliberar espai primer. Podeu:

  • Esborreu els paquets que s'han descarregat prèviament per instal·lar-los (a /var/cache/apt/archives). Podeu buidar la memòria cau dels paquets executant apt-get clean o aptitude clean que esborraran tots els paquets que s'havien descarregat prèviament.

  • Esborreu els paquets oblidats. Si teniu el paquet popularity-contest instal·lat, podeu executar popcon-largest-unused per obtenir la llista de paquets que no utilitzeu al sistema que ocupa la major part de l'espai. També podeu utilitzar deborphan o debfoster per localitzar paquets obsolets (vegeu Secció 4.10, “Paquets obsolets” ). De forma alternativa, podeu arrancar aptitude en “mode visual” i trobar els paquets obsolets a “Paquets obsolets i creats localment”.

  • Esborreu els paquets que estan utilitzant molt d'espai, que no són útils ara (sempre els podeu reinstal·lar després de l'actualització). Podeu obtenir una llista amb els paquets que ocupen més espai en disc amb dpigs (el trobareu al paquet debian-goodies) o amb wajig (executant wajig size).

    Podeu obtenir la llista de paquets que més espai utilitzen amb l'aptitude. Executeu l'aptitude en mode visual, selecioneu VistesLlista de paquets plana nova (esta entrada de menú tan sols hi és a les versions posteriors a etch), premeu l i introduiu ~i, premeu S i introduïu ~installsize, aleshores us donarà una bona llista amb la que treballar. Fent açò desprès de l'actualització de l'aptitude us hauria donar accés a esta nova característica.

  • Esborreu les traduccions i els fitxers de localització del sistema si no fan falta. Podeu instal·lar el paquet localepurge i configureu-lo de manera que tan sols es mantinguen uns pocs locales al sistema. Açò reduirà l'espai en disc consumit a /usr/share/locale.

  • De forma temporal, mogueu a un altre sistema, o esborreu permanentment els registres del sistema que hi ha a /var/log/.

  • Utilització temporal de /var/cache/apt/archives: podeu utilitzar un directori temporal a un altre sistema de fitxers (un dispositiu d'emmagatzemament USB un disc temporal, un sistema de fitxers ja utilitzat, ...)

    [Nota]Nota

    No utilitzeu un muntatge NFS ja que la connexió a la xarxa es podria interrompre a l'actualització.

    Per exemple, si teniu un disc usb muntat a /media/usbkey:

    1. esborreu els paquets que s'han descarregat per instal·lar-se:

      # apt-get clean

    2. copieu el directori /var/cache/apt/archives al disc USB:

      # cp -ax /var/cache/apt/archives /media/usbkey/

    3. munteu el directori temporal a l'actual:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives

    4. després de l'actualització, restaureu el directori original /var/cache/apt/archives:

      # umount /media/usbkey/archives

    5. esborreu els que queden a /media/usbkey/archives.

    Podeu crear el directori temporal en qualsevol sistema de fitxers que tingueu muntat al vostre sistema.

Adoneu-vos que per esborrar paquets de forma segura, és aconsellable canviar el vostre sources.list a lenny tal i com es descriu a la Secció A.2, “Comprovació de la llista d'origens”.

4.5.4. Actualització prèvia d'apt i/o aptitude

Alguns informes d'error han mostrat que les versions d'aptitude i apt a etch sovint no poden gestionar l'actualització a squeeze. A squeeze, l'apt tracta millor cadenes de paquets que necessiten una configuració immediata i aptitude és més intel·litgent en la cerca de solucions per satisfer les dependències. Estes dos característiques estan molt a dins del dist-upgrade a squeeze, així que s'hauran d'actualitzar estos dos paquets abans d'actualitzar qualsevol altra cosa. Per apt, executeu:

# apt-get install apt

i per a aptitude (si el teniu instal·lat) executeu:

# aptitude install aptitude

Este pas automàticament actualitzarà libc6 i locales i introduirà les biblioteques de suport per SELinux (libselinux1). En este punt, alguns serveis que estan en execució, es tornaran a iniciaran, incloent l'xdm, gdm i kdm. Per tant, les sessions d'X11 locals es desconnectaran.

4.5.5. Utilització de la llista de paquets automàticament instal·lats amb apt

aptitude manté la llista de paquets que s'han instal·lat automàticament (per exemple, com a dependència d'altre paquet). A squeeze, apt també té esta característica.

La primera vegada que s'execute a squeeze l'aptitude llegirà la seua llista de paquets automàticament instal·lats i la convertirà per utilitzar-la a la versió d'apt de squeeze. Si teniu instal·lat l'aptitude al menys hauríeu de executar una vegada l'aptitude per fer la conversió. Una forma de fer-ho és fer una cerca per un paquet no existent:

# aptitude search "?false"

4.5.6. Actualització mínima del sistema

Com a conseqüència d'alguns conflictes entre paquets necessaris entre lenny i squeeze, l'execució directa de aptitude dist-upgrade sovint esborrarà un gran nombre de paquets que pot ser voleu mantenir. Per tant recomanem un procés d'actualització en dos fases, primer una actualització mínima per prevenir estos conflictes i després un dist-upgrade complet.

Primer, executeu:

# aptitude safe-upgrade

Açò tindrà l'efecte de que s'actualitzen els paquets que no necessiten d'esborrar o instal·lar altres paquets per fer la seva actualització.

El pròxim pas dependrà del conjunt de paquets que tingueu instal·lats. Estes notes de llançament donen conselles generals de quin mètode es podria utilitzar, però si hi ha dubte, es recomana que examineu la llista de paquets que es proposen per esborrar a cadascun dels mètodes.

Alguns dels paquets que és normal que s'incloguen per esborrar són base-config, hotplug, xlibs, netkit-inetd, python2.3, xfree86-common, i xserver-common. Per vore mes informació dels paquets obsolets per squeeze, vegeu la Secció 4.10, “Paquets obsolets”.

4.5.7. Actualització de la resta del sistema

Podeu ara continuar amb la part principal de l'actualització. Executeu:

# aptitude dist-upgrade

Açò farà una actualització completa del sistema, es a dir instal·larà les versions noves de tots els paquets, i resoldrà tots els canvis possibles en les dependències entre els paquets dels diferents llançaments. Si és necessari, instal·larà alguns nous paquets (normalment versions noves de biblioteques, o paquets que han canviat de nom), i esborrarà qualsevol paquet obsolet que entre en conflicte.

Quan s'actualitza des d'un conjunt de CD-ROM (o DVDs), es demanarà que inseriu els CDs específics a diferents punts de l'actualització. Podríeu haver d'inserir més d'una vegada el mateix CD, açò es deu a que hi ha paquets relacionats que estan dispersos als diferents CD.

Les noves versions dels paquets actualment instal·lats que no es poden actualitzar sense canviar l'estat d'instal·lació d'altre paquet es deixaran en la seua versió actual (que es mostrarà com “held back”). Açò es pot resoldre utilitzant aptitude per que trie estos paquets per instal·lar-los o provant aptitude -f install package.

4.5.8. Possibles problemes amb l'actualització

A una operació on s'utilitza aptitude, apt-get, o dpkg pot fallar amb l'error

E: Dynamic MMap ran out of room

l'espai de memòria cau per defecte és insuficient. Podeu resoldre-ho esborrant o comentant les línies que no necessiteu al vostre /etc/apt/sources.list o bé incrementant la mida de la memòria cau. Podeu incrementar la mida de la memòria cau fixant APT::Cache-Limit a l'/etc/apt/apt.conf. L'ordre següent fixarà a un valor que hauria de ser suficient per l'actualització:

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

Açò dona per suposat que no teniu esta variable fixada en eixe fitxer.

De vegades no fa falta activar l'opció d'APT APT::Force-LoopBreak per permetre de forma temporal paquets essencials per problemes de conflictes/pre-dependències circulars. L'aptitude us avisarà i avortarà l'actualització. Podeu treballar al voltant d'açò especificant l'opció -o APT::Force-LoopBreak=1 a la línia d'ordres d'aptitude.

És possible que l'estructura de les dependències del sistema estiga corrupta i que necessite una intervenció manual. Normalment es tradueix en utilitzar aptitude o

# dpkg --remove nom_del_paquet

per eliminar alguns dels paquets que molesten, o

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

En alguns casos extrems haureu de forçar la reinstal·lació amb una ordre de l'estil

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

Els conflictes de fitxers no haurien d'aparèixer si actualitzeu una lenny “pura”, però poden aparèixer si teniu backports no oficials instal·lats. Un conflicte de fitxers provocarà un error de l'estil:

Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
 trying to overwrite `<some-file-name>',
 which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
 Errors were encountered while processing:
 <package-foo>

Podeu provar de resoldre un conflicte de fitxers esborrant forçosament el paquet al que es refereix a la línia del missatge d'error:

# dpkg -r --force-depends package_name

Després de corregir les coses, hauríeu de ser capaços de continuar amb l'actualització repetint les ordres descrites anteriorment de l'aptitude.

A l'actualització, us faran algunes preguntes relatives a la configuració o a la reconfiguració d'alguns paquets. Quan us pregunten si algun fitxer als directoris /etc/init.d o /etc/terminfo, o que el fitxer /etc/manpath.config s'ha de substituir per la versió del mantenidor del paquet, normalment s'ha de contestar `sí' per assegurar la consistència del sistema. Sempre podeu tornar a la versió anterior, ja que es desaran amb l'extensió .dpkg-old.

Si no esteu segurs de que fer, escriviu el nom del paquet o el fitxer i ordeneu les coses a un moment posterior. Podeu cercar al fitxer typescript per revisar la informació que hi havia a la pantalla en el moment de l'actualització.

4.6. Actualització del nucli i dels paquets relacionats

Esta secció explica com actualitzar el vostre nucli i identificar els problemes en potència per esta actualització. Podeu o bé instal·lar un dels paquets linux-image-* distribuïts a Debian, o compilar el vostre nucli personalitzat des del nucli.

Adoneu-vos que hi ha un munt d'informació en esta secció que es basa en la suposició de que estareu utilitzant un dels nuclis modulars de Debian, junt a l'initramfs-tools i l'udev. Si escolliu utilitzar un nucli personalitzat que no necessita un initrd o si utilitzeu un generador d'initrd diferent, algunes de les informacions podrien no ser les més adequades per vosaltres.

4.6.1. Instal·lació del metapaquet del nucli

Quan feu l'actualització completa d'lenny a squeeze, és molt recomanable que instal·leu un nou metapaquet del nucli linux-image-2.6-*. Este paquet s'instal·larà automàticament al procés d'actualització completa (dist-upgrade). Ho podeu verificar executant:

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

Si no vegeu cap eixida, aleshores necessitareu instal·lar un paquet linux-image nou manualment. Per vore la llista de metapaquets linux-image-2.6 a l'abast, executeu:

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

Si no esteu segurs de quin paquet triar, executeu uname -r i busqueu un paquet amb un nom semblant. Per exemple, si vegeu '2.6.18-6-686', el recomanat serà que instal·leu el linux-image-2.6-686. (Adoneu-vos que el gust k7 ja no existeix; si esteu utilitzant el gust del nucli k7, hauríeu d'instal·lar de forma alternativa el gust 686.) També podeu utilitzar l'apt-cache per vore una descripció més completa de cada paquet per triar la millor que hi ha disponible. Per exemple:

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

Hauríeu d'utilitzar aptitude install per instal·lar-lo. Una vegada tingueu el nou nucli instal·lat hauríeu de tornar a iniciar a la pròxima vegada que tingueu oportunitat per obtenir els beneficis que proporciona la nova versió del nucli.

Pels més atrevits hi ha una forma fàcil de compilar el vostre nucli personalitzat a on Debian GNU/Linux. Instal·leu l'eina kernel-package i llegiu la documentació que hi ha a /usr/share/doc/kernel-package.

És possible i és el vostre avantatge actualitzar el paquet de nucli de forma separada del dist-upgrade per reduir les ocasiones de tenir un sistema que temporalment no es puga arrancar. Adoneu-vos que açò tan sols s'hauria de fer després del procés d'actualització mínima que es descriu a la Secció 4.5.6, “Actualització mínima del sistema”.

4.6.2. Reordenació de l'enumeració dels dispositius

squeeze té com a característica un mecanisme més robust per la detecció del maquinari que els llançament anteriors. Però, açò pot provocar canvis en l'ordre en que es descobreixen els dispositius al vostres sistema, afectant l'ordre en el qual s'assignen els noms de dispositius. Per exemple, si teniu dos adaptadors de xarxa que estan associats a dos controladors diferents, els dispositius els que poden apuntar eth0 i eth1 poden vores canviats. Per favor, adoneu-vos que el nou mecanisme implica que si per exemple canvieu els dispositius ethernet a un sistema que executa squeeze, el nou adapatador agafarà un nou nom per la seua interfície.

Pels dispositius de xarxa, podeu evitar este canvi en l'ordenació utilitzant les regles d'udev, més específicament, a través de les definicions que hi ha a /etc/udev/rules.d/70-persistent-net.rules[4]. De forma alternativa, podeu utilitzar la utilitat ifrename per associar els dispositius físics a noms específics en el moment de l'arrancada. Vegeu ifrename(8) i iftab(5) per obtenir més informació. Les dos alternatives (udev i ifrename) no s'haurien d'utilitzar al mateix temps.

Pels dispositius d'emmagatzemament, podeu també evitar este reordenament utilitzant initramfs-tools i configurant-lo per a que carregue els mòduls controladors del dispositiu en el mateix ordre que s'estan carregant en l'actualitat. Per fer-ho, identifiqueu l'ordre en que es van carregar els mòduls d'emmagatzemament en el vostre sistema mirant l'eixida de l'lsmod. L'lsmod mostra la llista de mòduls en l'ordre invers al que es van carregar, es a dir el primer mòdul a la llista és l'últim carregat. Adoneu-vos que açò tan sols funcionarà per a dispositius els quals els nuclis enumeren en un ordre estable (com els dispositius PCI).

Per altra banda, esborrar i reordenar els mòduls després de la càrrega inicial afectarà a este ordre. També, el vostre nucli pot tenir alguns dispositius enllaçats estàticament, i estos noms no apareixeran en l'eixida de l'lsmod. Podeu ser capaços de desxifrar estos noms de dispositius i l'ordre de càrrega mirant al /var/log/kern.log, o a l'eixida del dmesg.

Afegiu estos noms de mòduls a l'/etc/initramfs-tools/modules en l'ordre que s'haurien de carregar en el moment de l'arrencada. Alguns noms de mòduls podrien haver canviat des d'lenny a squeeze. Per exemple, el sym53c8xx_2 s'ha convertit en sym53c8xx.

Necessitareu aleshores regenerar les imatge de l'initramfs executant update-initramfs -u -k all.

Quan ja esteu utilitzant un nucli de squeeze i udev, podeu tornar a configurar el vostre sistema per accedir els discs amb un àlies que no depengui de l'ordre d'arrencada. Estos àlies els trobareu a la jerarquia /dev/disk/.

4.6.3. Problemes amb el temps d'arrancada

Si un s'utilitza un initrd creat amb l'initramfs-tools per arrancar el sistema, en alguns casos la creació dels fitxers de dispositiu per part de l'udev pot ser massa tard per que els scripts d'arrancada els utilitzen.

Els símptomes són que l'arrancada fallarà ja que el sistema de fitxers arrel no es pot muntar i us llançarà a una línia d'ordres de depuració. Però quan ho comproveu després, tots els dispositius que fan falta ja estan presents a /dev. Açò s'ha observat en casos on el sistema de fitxers arrel està a un disc USB o a un RAID, especialment si s'utilitza LILO.

Una forma d'evitar este problema és utilitzar el paràmetre d'arrancada rootdelay=9. El valor de retard (en segons) es pot ajustar.

4.7. Coses a fer abans de tornar a iniciar

Quan ja s'ha acabat el aptitude dist-upgrade l'actualització “formal” ja ha acabat, però hi ha algunes altres coses que s'haurien de tenir en compte abans de tornar a reiniciar.

4.7.1. Execució de lilo

Si utilitzeu com a carregador d'arrancada lilo (és el carregador per defecte a algunes instal·lacions d'lenny) és molt recomanable que torneu a executar el lilo després de l'actualització:

# /sbin/lilo

Açò és necessari inclòs si no heu actualitzat el nucli del vostres sistema, ja que que la segon etapa de lilo canviarà degut a l'actualització del paquet.

També, reviseu els continguts del vostre /etc/kernel-img.conf i assegureu-vos que conté do_bootloader = Yes. De esta forma el carregador sempre es tornarà a executar després d'una actualització del nucli.

Si trobeu algun problema quan executeu lilo, reviseu els enllaços simbòlics a / a vmlinuz i a initrd i el contingut del vostres /etc/lilo.conf per trobar discrepàncies.

Si oblideu de tornar a executar el lilo abans de tornar a iniciar o si el vostre sistema s'ha tornat a iniciar accidentalment abans de poder-ho fer manualment, el vostre sistema podria fallar. En comptes de l'indicador de lilo, tan sols voreu LI quan s'arranca el sistema[5]. Mireu Secció 4.1.3, “Preparar la recuperació” per obtenir informació de com recuperar-se d'este problema.

4.7.2. Actualització d'mdadm

mdadm necessita un fitxer de configuració per assemblar els arrays MD (RAID) des del ramdisk inicial i a la seqüència d'inicialització del sistema. Assegureu-vos de llegir i seguir les instruccions que trobareu a /usr/share/doc/mdadm/README.upgrading-2.5.3.gz després d'actualitzar el paquet i abans de tornar a iniciar. L'última versió d'este fitxer la podeu trobar a http://svn.debian.org/wsvn/pkg-mdadm/mdadm/trunk/debian/README.upgrading-2.5.3?op=file; consulteu-ho en cas de patir algun problema.

4.8. El sistema es queda penjat a l'arrencar en Waiting for root file system

Procediment per recuperar-se quan l'/dev/hda s'ha convertit en /dev/sda

Alguns usuaris han informat que l'actualització pot provocar que el nucli no trobe la partició arrel del sistema després de tornar a iniciar el sistema.

En este cas, l'arrancada del sistema es quedarà parada mostrant el missatge següent:

Waiting for root file system ...

i després d'alguns segons us apareixerà un busybox pelat.

Este problema passa quan l'actualització del nucli introdueix l'ús de la nova generació de controladors IDE La convenció de noms de disc per l'IDE als controladors vells era hda, hdb, hdc, hdd. Els nous controladors anomenen els mateixos discs sda, sdb, sdc, sdd. El problema apareix quan l'actualització no genera un nou fitxer /boot/grub/menu.lst per agafar la nova convenció de noms. A l'arrancada, el Grub passarà una partició amb l'arrel del sistema al nucli el qual no pot trobar.

Si us heu trobat este problema després d'actualitzar, aneu a la Secció 4.8.2, “Com recuperar-se del problema després de l'actualització”. Per evitar el problema abans d'actualitzar, llegiu-ho abans.

4.8.1. Com evitar el problema abans d'actualitzar

Podem evitar este problema completament utilitzant un identificador pel sistema de fitxers arrel que no canvie entre una arrancada i la següent. Hi ha dos possibles mètodes per fer-ho - etiquetant el sistema de fitxers, o utilitzant l'identificador únic universal de sistema de fitxers (UUID). Estos mètodes estan suportats a Debian des del llançament d'etch.

Les dos aproximacions tenen avantatges i inconvenients. L'aproximació de l'etiquetat és més llegible, però podríeu tenir més problemes si un altre sistema de fitxers al vostre sistema té la mateixa etiqueta. L'aproximació de l'UUID és més lletja, però tenir un conflicte d'UUIDs és altament improbable.

Als exemples següents assumim que el sistema de fitxers arrel és a /dev/hda6. També assumim que el vostre sistema té una instal·lació d'udev funcionant i un sistema de fitxers ext2 o ext3.

Per implementar l'aproximació per etiquetat:

  1. Etiqueteu el sistema de fitxers (el nom ha de tenir < 16 caràcters) executant l'ordre: e2label /dev/hda6 rootfilesys

  2. Editeu el /boot/grub/menu.lst i canvieu la línia:

    # kopt=root=/dev/hda6 ro

    per

    # kopt=root=ETIQUETA=rootfilesys ro

    [Nota]Nota

    No esborreu el # a l'inici de la línia, fa falta que estiga allí.

  3. Actualitzeu les línies kernel del menu.lst executant l'ordre update-grub.

  4. Editeu l'/etc/fstab i canvieu la línia que munta la partició /, per exemple:

    /dev/hda6     /     ext3  defaults,errors=remount-ro 0 1

    per

    LABEL=rootfilesys     /     ext3  defaults,errors=remount-ro 0 1

    El canvi que es fa és a la primera columna; no necessitareu modificar les altres columnes d'esta línia.

Per implementar l'aproximació UUID:

  1. Trobeu l'identificador únic universal del vostre sistema executant: ls -l /dev/disk/by-uuid | grep hda6

    Hauríeu d'aconseguir una línia semblant a aquesta:

    lrwxrwxrwx 1 root root 24 2008-09-25 08:16 d0dfcc8a-417a-41e3-ad2e-9736317f2d8a -> ../../hda6

    L'UUID és el nom de l'enllaç simbòlic que apunta a /dev/hda6 es a dir: d0dfcc8a-417a-41e3-ad2e-9736317f2d8a.

    [Nota]Nota

    El vostre sistema UUID tindrà una cadena diferent.

  2. Editeu el /boot/grub/menu.lst i canvieu la línia

    # kopt=root=/dev/hda6 ro

    per

    # kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 ro

    [Nota]Nota

    No esborreu el # del principi de la línia, és necessari que estiga allí.

  3. Actualitzeu les línies kernel al menu.lst executant l'ordre update-grub.

  4. Editeu l'/etc/fstab i canvieu la línia que munta la partició / per exemple:

    /dev/hda6     /     ext3  defaults,errors=remount-ro 0 1

    per

    UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8  /  ext3  defaults,errors=remount-ro 0 1

    El canvi que passa allí és a la primera columna, no fa falta que canvieu les altres columnes d'esta línia.

4.8.2. Com recuperar-se del problema després de l'actualització

4.8.2.1. Solució 1

Açò es pot aplicar quan Grub us mostra l'interfície del menú per seleccionar l'entrada que voleu per arrancar. Si el menú no apareix, proveu de pressionar Esc abans de que carregue el nucli per fer que aparega. Si no conseguiu accedir a este menú, proveu amb la Secció 4.8.2.2, “Solució 2” o Secció 4.8.2.3, “Solució 3”.

  1. El el menú de Grub, assenyaleu l'entrada des de la que voleu arrancar. Pressioneu e per editar les opcions relacionades amb esta entrada. Voreu coses de l'estil:

    root (hd0,0)
    kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro
    initrd /initrd.img-2.6.26-1-686

  2. Assenyaleu la línia

    kernel /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro

    premeu la tecla e i reemplaceu hdX per sdX (X pot ser la lletra a, b, c o d depenent del vostre sistema). En el meu exemple, les línies es queden:

    kernel /vmlinuz-2.6.26-1-686 root=/dev/sda6 ro

    Després premeu Enter per guardar les modificacions. A altres línies mostrarà hdX, canvieu-les també. No modifiqueu les entrades de l'estil root (hd0,0). Quan s'han fet totes les modificacions, premeu b. I el vostre sistema arrancarà ara com de costum.

  3. Ara que el vostre sistema ha arrancat, necessitareu corregir este problema de forma permanent. Aneu a la Secció 4.8.1, “Com evitar el problema abans d'actualitzar” i apliqueu un dels dos procediments proposat.

4.8.2.2. Solució 2

Arranqueu des d'un mitjà d'instal·lació (CD/DVD) i quan pregunte, trieu rescue per llançar el mode de rescat. Seleccioneu el vostre idioma, lloc, mapa de teclat, deixeu que es configure la xarxa, no importa si funciona o no. Al cap d'uns segons, us demanarà que seleccioneu la partició que voleu utilitzar com a arrel del sistema de fitxers. Les opcions proposades seran de l'estil:

/dev/ide/host0/bus0/target0/lun0/part1
/dev/ide/host0/bus0/target0/lun0/part2
/dev/ide/host0/bus0/target0/lun0/part5
/dev/ide/host0/bus0/target0/lun0/part6

Si sabeu en quina partició es troba el vostres sistema de fitxers arrel, escolliu la correcta. Si no, proveu amb la primera. Si es queixa de que la partició té el sistema de fitxers arrel invàlid, proveu amb la següent, i aneu seguint. Provar una després de l'altra no deuria de fer res a les vostres particions i si teniu tan sols un sistema instal·lat als vostres discs, hauria de ser fàcil trobar la partició amb el sistema de fitxers arrel correcte. Si teniu més sistemes operatius instal·lats al vostre disc, seria millor conèixer exactament quina és la vostra partició arrel.

Una vegada heu triat una partició, us proposarà algunes opcions diferents. Trieu d'executar un intèrpret d'ordres a la partició seleccionada. Si es queixa que no pot, proveu amb una altra partició.

Ara hauríeu de tenir un intèrpret d'ordres amb usuari root amb el vostre sistema de fitxers arrel muntat a /target. Necessiteu accedir al contingut dels directoris del vostre disc dur /boot, /sbin i /usr, que hara haurien de trobar-es a /target/boot, /target/sbin i /target/usr. Si és necessari muntar estes particions, feu-ho (mireu l'/etc/fstab si no teniu ni idea de quina partició muntar).

Aneu a Secció 4.8.1, “Com evitar el problema abans d'actualitzar” i apliqueu un dels dos procediments proposats per resoldre el problema de forma permanent. Aleshores, escriviu exit per abandonar l'intèrpret d'ordres de rescat i seleccioneu reboot per tornar a iniciar el sistema com de costum (no oblideu d'extreure el mitjà d'arrancada)

4.8.2.3. Solució 3

  1. Arranqueu des de la vostra distribució LiveCD favorita, com Debian Live, Knoppix, Ubuntu Live.

  2. Munteu la partició on estiga el vostre directori /boot. Si no sabeu quin és, utilitzeu l'eixida de l'ordre dmesg per trobar si el vostre disc s'anomena hda, hdb, hdc, hdd o sda, sdb, sdc, sdd. Quan ja sapigueu amb quin disc treballar, per exemple el sdb, proveu l'ordre següent per vore la taula de particions del disk i per trobar la partició correcta: fdisk -l /dev/sdb

  3. Assumint que teniu muntada la partició correcta a /mnt i que esta partició conté el directori /boot i els seus continguts, editeu el fitxer /mnt/boot/grub/menu.lst.

    Trobeu la secció de l'estil:

    ## ## End Default Options ##
    
    title           Debian GNU/Linux, kernel 2.6.26-1-686
    root            (hd0,0)
    kernel          /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro
    initrd          /initrd.img-2.6.26-1-686
    
    title           Debian GNU/Linux, kernel 2.6.26-1-686 (single-user mode)
    root            (hd0,0)
    kernel          /vmlinuz-2.6.26-1-686 root=/dev/hda6 ro single
    initrd          /initrd.img-2.6.26-1-686
    
    ### END DEBIAN AUTOMAGIC KERNELS LIST

    i canvieu cada hda, hdb, hdc, hdd per sda, sdb, sdc, sdd. No modifiqueu la línia que és de l'estil:

    root            (hd0,0)

  4. Torneu a iniciar el sistema, esborreu el LiveCD i el vostre sistema hauria d'arrancar correctament.

  5. Quan haja arrancat, apliqueu un dels dos procediments proposats a la Secció 4.8.1, “Com evitar el problema abans d'actualitzar” per corregir el problema de forma permanent.

4.9. Preparació pel proper llançament

Després de l'actualització hi ha algunes coses per preparar-vos pel proper llançament.

  • Si la nova imatge del metapaquet de nucli va entrar com a dependència del vell, es marcarà com a instal·lat automàticament, que es podria corregir:

    # aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)
    
  • Esborreu els paquets obsolets i sense ús tal i com es descriu a Secció 4.10, “Paquets obsolets”. Hauríeu de revisar quins són els fitxers de configuració i considerar de purgar els paquets per esborrar els seus fitxers de configuració.

4.10. Paquets obsolets

Amb la introducció de centenars de nous paquets, squeeze també retira i omet més de dos-cents paquets que hi havia a lenny. No hi ha una ruta d'actualització per estos paquets obsolets. Com que res no evita que continueu utilitzant un paquet obsolet si es vol, heu de saber que el projecte Debian normalment deixarà de donar suport de seguretat d'ells un anys després dels llançament de squeeze[6], i normalment no donarà altre suport posterior. Reemplaceu-los per altres alternatives disponibles, si hi ha, és el recomanat.

Hi ha alguns motius pels quals haurien de ser esborrats de la distribució: no estan mantinguts pel seu desenvolupador, no hi ha cap desenvolupador de Debian interessat en mantenir el paquet, la funcionalitat que proporcionen ha estat substituïda per un programari diferent (o una nova versió), no es considera adequat per a squeeze degut a errors. En l'últim cas, els paquets podrien encara estar presents en la distribució “unstable”.

La detecció de quins paquets en un sistema actualitzat són “obsolets” és fàcil ja que els entorns de gestió de paquets els marcarà com a tals. Si esteu utilitzant aptitude, voreu un llistat d'aquells paquets a l'entrada “Paquets obsolets i creats localment”. dselect proporciona una secció semblant però el llistat que presenta podria canviar.

També, si heu utilitzat aptitude per instal·lar paquets manualment, a lenny es mantindrà el seguiment dels paquets instal·lats manualment i podrà marcar com a obsolets aquells paquets que han entrat per dependències, tan sols que ja no fan falta si el paquet s'ha esborrat. A més més, aptitude, a diferència de deborphan no marcarà com obsolets el que heu instal·lat manualment, a diferència d'aquells que es van instal·lar automàticament per dependències.

Hi ha eines addicionals que podeu utilitzar per trobar els paquets obsolets com deborphan, debfoster o cruft. El deborphan és molt recomanable, encara que (en el seu mode per defecte) tan sols informarà de les biblioteques obsoletes: paquets en les seccions “libs” o “oldlibs” que no són utilitzades per altres paquets. No esborreu a cegues el que us presenten estes eines, especialment si esteu utilitzant opcions agressives que no són les què són per defecte que són propenses a produir falsos positius. És molt recomanable que reviseu manualment els paquets suggerits per esborrar (es a dir els seus continguts, mida i descripció) abans d'esborrar-los.

El sistema de seguiment d'errors sovint proporciona informació addicional de perquè es va esborrar el paquet. Hauríeu de revisar tant els informes d'error arxivats pel paquet com els informes d'error arxivats del pseudo-paquet ftp.debian.org.

4.10.1. Dummy packages

Alguns paquets d'lenny s'han dividit en més d'un paquet a squeeze, sovint per millorar el manteniment del sistema. Per facilitar l'actualització en estos casos, squeeze sovint proporciona paquets “dummy”: són paquets buits que tenen el mateix nom que els paquets vells d'lenny amb dependències que fan que s'instal·len els nous paquets. Estos paquets “dummy” es consideren obsolets després de l'actualització i es poden esborrar amb seguretat.

La major part (per no tots) de les descripcions dels paquets dummy indiquen el seu objectiu. Les descripcions dels paquets dummy no són uniformes, així que podríeu també trobar l'opció --guess del deborphan d'utilitat per detectar-los al vostre sistema. Adoneu-vos que alguns paquets dummy no s'intenten esborrar després d'una actualització, és més s'utilitzen per fer un seguiment de la versió actual que hi ha a l'abast d'un programa al llarg del temps.



[2] Esta característica es pot inhabilitar afegint el paràmetre panic=0 als vostres paràmetres d'arrencada.

[3] El sistema de gestió de paquets de Debian normalment no permet que un paquet esborre o reemplace un fitxer que és propietat d'un altre paquet a menys que s'haja definit que reemplaça eixe paquet.

[4] Les regles es generen automàticament amb l'script /etc/udev/rules.d/75-persistent-net-generator.rules per obtenir noms consistents per les interfícies de xarxa. Esborreu este enllaç per inhabilitar el nom persistent en els dispositius pels NIC per part de l'udev.

[5] Per obtenir més informació del codis d'error a l'arrencar lilo vegeu The Linux Bootdisk HOWTO.

[6] O per tant de temps en que no hi haja un altre llançament en este espai de temps. Típicament tan sols es donen dos llançaments estables en qualsevol moment donat.