/homeを同じドライブの別のパーティションに移動した後にプログラムが実行されない

/homeを同じドライブの別のパーティションに移動した後にプログラムが実行されない

私はArchを実行しており、ホームディレクトリを同じドライブの別のパーティションに移動するまで何の問題もありませんでした。でき事の連続:

  1. 別のパーティションをext4でフォーマットし、/ mntにマウントします。
  2. /homeの内容を/mntに移動します。
  3. fstabに新しいパーティションを追加して/ homeにマウントします。
  4. ログアウトしてからもう一度ログインしてください。
  5. すべてのファイルが占有

最初に走った時、気分がちょっと変でしたstartxxauthタイムアウト時にロックしようとしましたが、それ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

私がしたことはおおよそです。横にどこへ行ったのか見られませんでした。今は何の問題もなくバックアップされ実行されていますが、一部のファイルがゼロバイトになる原因が何であるかを知っている人がいれば、喜んで新しいことを学ぶことができます。

ベストアンサー1

おすすめ記事