/ readonly na inicialização, mas não vejo por quê. como investigar e consertar?

/ readonly na inicialização, mas não vejo por quê. como investigar e consertar?

O sistema de arquivos raiz foi montado perfeitamente sob o aperto e depois que atualizei para o wheezy. Já faz um tempo que convivo com isso, então não tenho certeza, mas acho que começou depois de fazer uma atualização no wheezy, mas pode ser coincidência. A máquina é um Lenovo T400 FWIW.

foto da tela de inicialização1mostra os primeiros avisos sobre o sistema de arquivos somente leitura; nada está registrado obviamente

fsck não encontra problemas2

mount -o remount,rw /

acima funciona bem

(mas tenho que reiniciar o network-manager e o gdm3 para obter um sistema utilizável; não tenho certeza se está relacionado, mas não consigo me conectar a um serviço em execução no localhost, por exemplo, python -m SimpleHTTPServer 8080 e em outro terminal w3m expira o envio da solicitação para a porta localhost 8080)

Não percebo nada de errado no fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=2934c627-6f1a-438b-a877-1544108c7418 /               ext3 errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=39b1f59e-6193-4c46-8b4d-80b183f0b19c none            swap    sw           0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/sdb1       /media/usb0     auto    rw,user,noauto  0       0

Qualquer dica será muito apreciada. Espero estar fazendo algo obviamente errado e corrigível, mas se não houver alguma dica sobre como depurar?

...

tune2fs -l /dev/sda1

saídas

tune2fs 1.42.2 (27-Mar-2012)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          2934c627-6f1a-438b-a877-1544108c7418
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              14893056
Block count:              59547904
Reserved block count:     2977395
Free blocks:              50391869
Free inodes:              14576981
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1009
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Tue May  3 01:44:56 2011
Last mount time:          Wed Apr 18 13:11:25 2012
Last write time:          Tue Apr 17 23:51:46 2012
Mount count:              5
Maximum mount count:      25
Last checked:             Tue Apr 17 23:51:46 2012
Check interval:           15552000 (6 months)
Next check after:         Sun Oct 14 23:51:46 2012
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       9145036
Default directory hash:   half_md4
Directory Hash Seed:      af8ca7f0-bcad-49f3-98c0-9b19a531a885
Journal backup:           inode blocks

...

Parece que /etc/init.d/checkroot.sh não está sendo executado na inicialização, e esse é o script que finalmente remonta o root como rw (se eu executá-lo após a inicialização, ele fará exatamente isso). Estou usando o teste/wheezy do Debian. Existem anotações de dependência nos arquivos /etc/init.d, mas além disso não tenho certeza de como contar mais sobre o sistema init.

...

Corrigido, mas não tenho ideia de como isso aconteceu ou se a correção é exatamente como o sistema deveria ser. Notei checkfs e mtab em /etc/rcS.d, mas não checkroot, então adicionei:

cd /etc/rcS.d
ln -s ../init.d/checkroot.sh S06checkroot.sh

Depois de reiniciar duas vezes (a primeira vez pode ter sido minha confusão, mas adicionei mais instrumentação ao checkroot.sh entre eles), voltei com rw na inicialização (e o problema de ouvir/solicitar do localhost desapareceu, então eu acho que estava relacionado).

(Vejo que em um sistema squeeze tenho acesso a ele em S07checkroot.sh; talvez estivesse perto.)

Responder1

Há um erro no seu sistema de arquivos /root e o fstab remonta /root como somente leitura.

A linha no fstab

UUID=2934c627-6f1a-438b-a877-1544108c7418 / ext3 errors=remount-ro 0 1

é o que está fazendo com que /root seja montado somente leitura.

Da mount (8)página de manual

errors={continue|remount-ro|panic}
Define the behaviour when an error is encountered.  (Either ignore errors
and just  mark  the  filesystem  erroneous and continue, or remount the
filesystem read-only, or panic and halt the system.)  The default is set in
the  filesystem superblock, and can be changed using tune2fs(8).

Em última análise, você deve descobrir o que há de errado com seu sistema de arquivos /root. Você pode inicializar facilmente a partir de um disco de recuperação e executar um fsck em/root. Se você optar por ignorar os possíveis erros, basta alterar a linha no fstab para errors=continue.

Responder2

Eu tive esse problema e foi causado pelo UUID errado para o FS raiz definido em/etc/fstab. Acho que alguma atualização detectou automaticamente e errou.

Remonte a partição / rw, usando blkidpara obter o UUID correto e substitua em /etc/fstab corrigi-lo para mim.

Responder3

Seu sistema de arquivos raiz não está sendo montado para leitura/gravação porque você não está solicitando.

UUID=2934c627-6f1a-438b-a877-1544108c7418 /               ext3 errors=remount-ro 0       1

Suas opções de montagem são apenas errors=remount-ro, não há nada sobre leitura/gravação lá. A prática padrão é ter defaultsem suas opções de montagem. defaultsfornece várias outras opções de montagem, uma delas é rw, fornecendo leitura/gravação.

Então você precisa adicionar defaultsou rwao campo de opções do seu fstab.

EDITAR:
Pensando um pouco mais sobre isso (e pela discussão nos comentários abaixo), as opções defaultse rwpodem não resolver o problema. A razão é que o comportamento da remontagem depende inteiramente dos scripts de inicialização da distribuição. Já vi distros extrair as configurações de montagem do fstab na inicialização, mas também é possível que o script de inicialização esteja ignorando completamente as opções do fstab quando for remontar o root (e use algumas configurações codificadas no script).

informação relacionada