Os programas não são executados depois de mover / home para uma partição diferente na mesma unidade

1

Estou executando o Arch e não tive dificuldades até que mudei o diretório home para uma partição diferente na mesma unidade. A sequência de eventos:

  1. Formate outra partição para ext4; monte-o para / mnt
  2. Mover o conteúdo de / home para / mnt
  3. Adicionar nova partição ao fstab, montada em / home
  4. Efetue logout e volte a entrar.
  5. Todos os arquivos foram responsáveis por

Inicialmente, havia alguma estranheza quando corri startx . xauth estava expirando tentando bloquear Xsession , mas isso parece ter se resolvido. Eu tenho vários programas (jogos) no meu diretório home que correu bem antes da mudança, mas não será executado em todos os agora. Nenhum erro, nenhum blips / soluços. Nada.

Aqui está um strace :

$ strace ./FTL
execve("./FTL", ["./FTL"], 0x7ffde9035740 /* 29 vars */) = -1 ENOEXEC (Exec format error)
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2997, ...}) = 0
read(3, "# Locale name alias data base.\n#"..., 4096) = 2997
read(3, "", 4096)                       = 0
close(3)                                = 0
openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(2, {st_mode=S_IFREG|0644, st_size=1076, ...}) = 0
write(2, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
) = 32
getpid()                                = 11516
exit_group(1)                           = ?
+++ exited with 1 +++

Não sei qual é o problema. Parece que, se os arquivos estão lá após o movimento, tudo deve ficar bem. Alguém mais vê qual é o problema ou tem outras ideias sobre qual poderia ser o problema?

Existem vários programas que estão fazendo isso, mas também há outros programas em meu diretório inicial funcionando bem.

Atualização : encontrei o problema, mas não entendi o que aconteceu. Talvez alguém possa explicar ou apresentar uma teoria plausível.

O movimento não foi tão bom quanto eu esperava, então eu fiz um monte de diff 'para verificar. Todos os arquivos estavam presentes (ou apenas na nova partição), então achei que era bom ir. Verificando hoje, vejo que vários arquivos eram 0 bytes.

mount /dev/sda6 /mnt
mkdir /mnt/allen
cd /home/allen
mv * /mnt/allen/
# got some "target dir is not empty" errors, so tried rsync
cd ..
rsync -var allen /mnt/
# did extensive diff'ing and file names look good; thumbs up?
sync
umount /mnt/
mount /dev/sda6 /home

Isso é mais ou menos o que eu fiz. Eu não vejo onde foi de lado. Estou de volta e correndo agora, e não tendo problemas, mas se alguém vir o que fez com que alguns dos arquivos tivessem 0 bytes, adoraria aprender algo novo.

    
por Allen 07.11.2018 / 17:37

0 respostas