/home을 동일한 드라이브의 다른 파티션으로 이동한 후 프로그램이 실행되지 않음

/home을 동일한 드라이브의 다른 파티션으로 이동한 후 프로그램이 실행되지 않음

저는 Arch를 실행하고 있으며 홈 디렉토리를 동일한 드라이브의 다른 파티션으로 옮길 때까지 아무런 어려움도 겪지 않았습니다. 사건의 연속:

  1. 다른 파티션을 ext4로 포맷하고 /mnt에 마운트합니다.
  2. /home의 내용을 /mnt로 이동합니다.
  3. fstab에 새 파티션을 추가하고 /home에 마운트합니다.
  4. 로그아웃한 후 다시 로그인하세요.
  5. 모든 파일이 차지함

처음에 달렸을 때 기분이 좀 이상했어요 startx. xauth시간 초과 시 잠금을 시도했지만 Xsession자체적으로 해결된 것 같습니다. 내 홈 디렉토리에 이동하기 전에는 잘 실행되던 여러 프로그램(게임)이 있는데 지금은 전혀 실행되지 않습니다. 버그도 없고 인화점/딸꾹질도 없습니다. 아무것도 없습니다.

이것은 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 +++

문제가 무엇인지 잘 모르겠습니다. 이동한 후에도 파일이 여전히 존재한다면 모든 것이 정상인 것 같습니다. 다른 사람이 문제가 무엇인지 보거나 문제가 무엇인지에 대한 다른 아이디어를 가지고 있습니까?


이 작업을 수행하는 몇 가지 프로그램이 있지만 내 홈 디렉토리에는 정상적으로 실행되는 다른 프로그램도 있습니다.


고쳐 쓰다: 이 문제를 발견했지만 무슨 일이 일어나고 있는지 이해할 수 없습니다. 어쩌면 누군가가 그것을 설명하거나 합리적인 이론을 생각해 낼 수도 있습니다.

생각보다 이사가 순조롭게 진행되지 않아서 많은 diff확인을 했습니다. 모든 파일이 존재하므로(또는 새 파티션에만 있음) 가도 좋을 것 같습니다. 오늘 확인해 보니 많은 파일이 0바이트인 것으로 나타났습니다.

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

제가 한 일은 대략 그렇습니다. 옆으로 어디로 갔는지 보지 못했어요. 지금은 아무런 문제 없이 백업되어 실행 중이지만 일부 파일이 0바이트가 되는 원인이 무엇인지 아는 사람이 있다면 기꺼이 새로운 것을 배울 수 있을 것입니다.

관련 정보