Consegui localizar os problemas e corrigi-los.
Parece ser problemático ter o / var montado em outro disco. Talvez porque o logging para / var / log esteja codificado em algum lugar durante a inicialização quando o disco ainda não foi montado.
Como resolver?
Inicializar no modo de recuperação montar unidades com opções de leitura / gravação
então
nano /etc/fstab
# -> in nano outcomment the /var mount by prepending a "#" character
umount /dev/sdxx /var
mkdir /media/var
mount /dev/sdxx /media/var
rm -rf /var
mkdir /var
rsync -a /media/var/ /var/
reboot
explicações
sdxx
é o identificador de partição montado em / var. Dependendo da sua configuração, isso também pode começar com nvme.
-
nano /etc/fstab
primeiro precisamos evitar a montagem da partição extra em / var. Depois que o editor disparar, feche a montagem e feche pressionandoCtrl+w
seguido porCtrl+x
-
umount /dev/sdxx /var
desmontar a unidade -
mkdir /media/var
cria um diretório no qual você vai montar o sdxx -
mount /dev/sdxx /media/var
monta a partição no novo diretório -
rm -rf /var
usa a marreta e garante que nada seja deixado antes -
mkdir /var
cria uma nova pasta vazia como root -
rsync -a /media/var/ /var/
copia tudo como está para / var. Eu não sei porque, mas cp-me deu resultados errados, apenas rsync -a parece funcionar confiável. -
reboot
instalação de teste
Onde estão meus problemas com cp -r
?
Depois de copiar todos os arquivos para / var, verifiquei se a estrutura parece a mesma executando alguns comandos.
verificação por tamanho de pasta
du -hs /var
vs. du -hs /media/var
verificação pelo número de links simbólicos
find /var -type l | wc -l
vs. find /media/var -type l | wc -l
Eu fiz várias tentativas, cp sempre fodeu alguma coisa, ou as permissões estavam erradas e os serviços começaram a bloquear a inicialização ou os links foram criados onde nenhum deles estava na origem. Não me pergunte por que - como eu entendo cp -a
deve funcionar perfeitamente - mas não deu. rsync -a fez embora
important: não se esqueça da barra no comando rsync
UPDATE
Então, agora, fica mais claro. Depois de configurar meu / dev / sda5 para montar diretamente /var/www
em vez de /var
(por razões históricas que eu sou usado para hospedar meus projetos da web naquele local) a inicialização não foi bem-sucedida novamente. Então eu presumi que tem que ser o apache que bloqueia minha inicialização.
Minha solução para isso
- inicializa no recoverymode
- execute
mount -a -orw,remount
para ter acesso de leitura / gravação ao sistema de arquivos - execute
systemctl disable apache2.service
para evitar que o apache seja iniciado automaticamente na inicialização
E agora funciona novamente.
Por alguma razão, parece que o apache está carregando ANTES que todos os discos tenham sido montados. Então, isso pode ser algum bug NASTY no systemd.
Vou reiniciar 5 vezes agora para ter certeza: -)
UPDATE 2
OK - parece que mais de um problema me afetou de uma vez
Eu finalmente (pelo menos por enquanto olhando com frustração ) fiz minha configuração funcionar:
- movendo todas as montagens opcionais (exceto /, / boot e swap) de / etc / fstab para montagem manual em /etc/rc.local
- executando ntfsfix antes de montar a partição que está montada em ambos - windows e linux
Então, em detalhes:
O Ubuntu parece montar todas as unidades paralelas e não uma por uma, essa é a razão da natureza aleatória desse problema.
Quando o Windows é desligado, ele pode não deixar um sistema de arquivos "limpo" por causa de alguma coisa interna das janelas.
Meu /etc/fstab
contém apenas as partições críticas apenas do Linux:
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/nvme0n1p2 / ext4 errors=remount-ro 0 1
/dev/sda3 /boot ext4 defaults 0 2
/dev/nvme0n1p6 none swap sw 0 0
E meu /etc/rc.local
contém as instruções para todo o resto:
mount /dev/sda5 /var/www
mount /dev/sdb1 /media/hdd
ntfsfix /dev/sda6
mount -t ntfs-3g /dev/sda6 /media/share
exit 0
3 botas seguidas sem problemas. Mas duvido que tudo esteja bem agora, meu sistema parece amaldiçoado
UPDATE 3
Esta também não é uma solução, a montagem agora se torna "competitiva" porque o ubuntu tenta montar /dev/sda5
e /dev/sdb1
automaticamente em / media / $ USER / somelabel
Além disso, notei que o ntfs-3g, por vezes, impede de desligar, então eu tenho que desligar pressionando o botão de energia.
Eu acho que há algo que eu sinto falta completamente: - (