seiti.eti.br

programming & gadgets


by seiti tt seiti

Update Manager

Como recente lançamento final do Ubuntu Feisty Fawn, resolvi atualizar meu sistema utilizando seu próprio Update Manager. Após seguir as instruções do site oficial o sistema não subia. Até passava pelo GRUB, mostrava o splashscreen do Ubuntu (um pouco modificado com relação ao do Edgy) mas aparecia um erro e parava num terminal com o prompt dizendo apenas: (initramfs).

E agora?

Bom, tive uma experiência semelhante após reparticionar o disco com o Gparted e eu já sabia que eu deveria:

  1. montar o sistema de arquivos na mão com o mount;
  2. editar o arquivo de configuração do GRUB /boot/grub/menu.lst

Pesquisei também no Google e encontrei isto: http://ubuntuforums.org/showthread.php?t=392854
Que diz para trocar onde diz

kernel /vmlinuz-2.6.20-13-generic root=UUID=702e3aab-4a86-4374-8763-af456ddb9620 ro splash

para

kernel /vmlinuz-2.6.20-13-generic root=/dev/sda5 ro splash

(sda5 é a partição em que se encontra o meu Linux, em outros sistemas pode ser outra)

Para não ter de rebootar com sistema usando o Live CD, resolvi aprender a usar o sed, única ferramenta disponível para edição de texto no terminal que me foi dado (aquele do iniotramfs do começo do texto, lembra?).

Assim eu montei o sistema de arquivos:

mkdir /image mount -o dev /dev/sda5/ /image

E depois editei o arquivo menu.lst

cd /image/boot/grub/ sed -i ‘s_root=UUID=702e3aab-4a86-4374-8763-af456ddb9620root=/dev/sda5’ menu.lst

REBOOT!

A estranha seqüencia de caracteres UUID=702e3aab-4a86-4374-8763-af456ddb9620 (veja abaixo) tive de pegar listando o arquivo menu.lst com o comando cat e digitando um por um…

O estranho é que depois de inicializado o sistema, verifiquei outra sequëncia estranha de caracteres no mesmo arquivo, no trecho:

#kopt=root=430e3aab-4a86-4374-8763-af456ddb9620 #kopt_2_6=root=/dev/sda7 ro

que tratei de mudar para:

#kopt=root=/dev/sda5 #kopt_2_6=root=/dev/sda5 ro

Assim na próxima atualização do kernel não terei problemas (espero!).

UUID

Nada como o Wikipedia para tirar nossas dúvidas. O UUID, ou Universally Unique Identifier trata-se de um identificador de propósito geral criado pela Open Software Foundation, que por sua vez foi criada para padronizar a implementação de sistema UNIX.

No nosso caso, no sistema de arquivos ext3, que é o que eu uso, o UUID é utilizado para identificar cada partição da máquina, além dos vários dispositivos de armazenamento que possam ser plugados no mesmo, tais como pen-drives, hds portáteis, mp3 players…

Assim cada dispositivo terá seu próprio número e poderá possuir uma configuração individual.

O Ubuntu, a partir da versão 6.10 (Edgy Eft) passou a utilizar este sistema.

Para descobrir qual o UUID de uma determinada partição podemos utilizar o comando vol_id:

sudo vol_id -u /dev/sda1

O comando acima mostrará o UUID da primeira partição do dispositivo sda, que no caso é meu HD SATA.

Bom, fica a critério usuário manter-se nos /dev/ da vida ou utilizar os UUID. Ao menos no que se refere ao menu.lst =)