Być może nie sformułowałem poprawnie mojego pytania, ale dołożę wszelkich starań, aby wyjaśnić występujące objawy. Po pierwsze, dla kontekstu uruchamiam serwer Ubuntu (bez GUI), wersja 12.04.3 LTS (zgodnie z narzędziem lsb_release). Zasadniczo wykonuję całą pracę w tmux, łączę się z serwerem za pośrednictwem Putty i używam vima do wszystkich edycji tekstu.
Teraz objawy. Ponieważ używam tmux, zazwyczaj mam zawsze kilka otwartych okien. Jeden z nich zawiera serwer węzła, z którym się bawiłem, i znajduje się w podkatalogu strony głównej mojego konta użytkownika (konkretnie ~/battleship
). Serwer wchodzi w interakcję ze stroną internetową, którą również hostuję poza serwerem za pomocą nginx, i cały kod strony mieszka w /usr/share/nginx/www/bs
(mam również otwarte okno do edycji źródła klienta). Co się dzieje, że po kilku godzinach pozostawiania okna serwera bezczynnego i nietkniętego, wydaje się, że nie synchronizuje się. Mogę uruchomić ls
i zobaczyć pliki oraz mogę je otworzyć do edycji ( vim server.js
). Kiedy to robię, niezależnie od tego, czy wprowadzam zmiany i zapisuję, czy po prostu wychodzę natychmiast po uruchomieniuls
ponownie widzę plik .server.js.swp i żadna z moich zmian (jeśli je wprowadziłem) nie została utrzymana. Jeśli wyprowadzę się z tego katalogu, a następnie z powrotem do niego, sam się naprawi - mogę otworzyć plik i edytować go z sukcesem, nie pozostawiając po sobie pliku .swp po jego zamknięciu. Wspomniałem o źródłowej części klienta, ponieważ zauważyłem, że tak się nie dzieje w folderze / www (prawdopodobnie dlatego, że znajduje się poza katalogiem osobistym mojego konta użytkownika).
Po tej ścianie tekstu moje pytanie brzmi: czy ktoś wie, dlaczego tak się dzieje i jak temu zapobiec? Mogę sobie tylko wyobrazić, że jest jakiś sposób, biorąc pod uwagę, że nie jest to jedyny serwer Linux, z którym łączę się za pośrednictwem Putty i używam tmux / vim, a jednak to jedyne, w którym dzieje się to dziwne zachowanie. Każda pomoc będzie mile widziana.
Uwaga: oznaczyłem to tagiem bash, tmux i kit, ponieważ zakładam, że jednym z nich jest wina, ale tak naprawdę nie mam pojęcia, który.
Aktualizacja: To jest wynik cat /proc/mount
żądany przez Gillesa (choć z moją nazwą użytkownika oraz wartościami ecryptfs_fnek_sig
i ecryptfs_sig
cenzurowanymi, ponieważ chociaż tak naprawdę nie wiem, co to za dwie rzeczy, wydają się one związane z szyfrowaniem i lepiej bezpieczne niż przykro).
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=2008532k,nr_inodes=502133,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,relatime,size=807840k,mode=755 0 0
/dev/disk/by-uuid/2da27263-f079-47ba-90ad-66e4c3a53810 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/kernel/security securityfs rw,relatime 0 0
none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0
/home/[username]/.Private /home/[username] ecryptfs rw,relatime,ecryptfs_fnek_sig=[censored],ecryptfs_sig=[censored],ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs 0 0
Aktualizacja 2: Oto dane wyjściowe uname -a
:
Linux [server-name] 3.5.0-39-generic #60~precise1-Ubuntu SMP Wed Aug 14 15:38:41 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Aktualizacja 3: Ukończyłem test memtest. Jest to wynik wspomnianego testu . Wygląda na to, że zakończyło się bez błędów, więc nie jestem pewien, czy to w czymś pomoże. Możesz również zobaczyć niektóre szczegóły sprzętu, które mogą pomóc w jakikolwiek sposób.
cat /proc/mounts
dla Ciebie. Mam nadzieję, że to coś dla ciebie znaczy - wciąż jestem całkiem nowy w Linuksie, więc wiele się nauczyłem, a ja jeszcze nie bawiłem się systemem plików (poza jego użyciem).
uname -a
? Jeśli to twój sprzęt, podłącz konsolę i wykonaj test pamięci przy następnym uruchomieniu. Jeśli jest hostowany, skontaktuj się z dostawcą usług hostingowych i opisz te objawy.
sudo sync
pliki zostaną zaktualizowane?
df -h /www ~/battleship /usr/share/nginx/www/bs
. Czy problem dotyczy montowania encryptfs? Może potrzebne jest dodatkowe przetwarzanie SW w przypadku zapisów na tym dysku, więc występuje buforowanie lub coś się z tym dzieje?
cat /proc/mounts
)? Prawdopodobnie jest to zwirtualizowany serwer, jakiego rodzaju wirtualizacji używa?