Saya kuliah dan harus menyerahkan pekerjaan rumah cs saya dari mesin sekolah Linux, tapi saya suka mengerjakan pekerjaan rumah di laptop saya (Mac). Jadi alih-alih menyalin file saya setiap waktu, lalu mengirimkannya, saya memutuskan untuk membuat skrip untuk melakukannya untuk saya menggunakan scp
dan ssh
. Ketika saya menguji skrip saya pertama kali, scp
perintah itu membuat direktori hw3
di komputer lain. Lain kali saya mengujinya, itu menciptakan direktori hw4
. Kedua direktori memiliki file program saya di dalamnya. Karena kedua direktori hanya dibuat untuk pengujian, saya menghapus keduanya menggunakan rm -r
. Tapi di sinilah masalahnya muncul.
Melalui pengujian script saya dan debugging lainnya, saya menemukan bahwa saya sekarang tidak dapat membuat file atau folder bernama hw3 atau hw4 di komputer lain saat terhubung melalui ssh
. Saya dapat membuat folder bernama apa pun, hanya saja tidak hw3
atau hw4
. Saya tidak bisa membuat mereka melalui mkdir
, mv
, cp
, atau sentuhan, membuat saya berpikir ada sesuatu yang salah dengan filesystem. Namun, saya dapat membuat hw3
dan hw4
file di direktori induk. Tidak ada yang berbicara dengan saya tahu apa ini dan belum pernah melihatnya, dan Googling masalah ini belum membuahkan hasil.
Di sekolah saya ada banyak mesin berbeda yang bisa saya masuki dan saya coba beberapa, tetapi masalahnya tetap ada pada semuanya, yang masuk akal karena saya bekerja dari drive jaringan (SDRIVE di jalan). Agar skrip berfungsi, saya menggunakan solusi hanya dengan membuatnya, hww#
bukan hw#
, tapi saya masih sangat ingin tahu apa yang sedang terjadi dan bagaimana cara memperbaikinya.
Ini adalah output terminal saya dari ketika saya masuk melalui ssh
dan perintah saya.
Last login: Tue Mar 3 11:40:18 2015 from r03ane3md.device.mst.edu
You are currenly one of 7 users on this host!
ane3md@rc07xcs213:~$ cd SDRIVE/cs1510
ane3md@rc07xcs213:~/SDRIVE/cs1510$ ls -l
total 0
drwxr-xr-x 2 ane3md mst_users 0 Mar 3 12:01 hw1
drwxr-xr-x 2 ane3md mst_users 0 Feb 21 21:37 hw2
drwxr-xr-x 2 ane3md mst_users 0 Mar 3 11:59 hww3
ane3md@rc07xcs213:~/SDRIVE/cs1510$ mkdir hw3
mkdir: cannot create directory ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$ touch hw3
touch: cannot touch ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$ mv hww3 hw3
mv: failed to access ‘hw3’: Function not implemented
ane3md@rc07xcs213:~/SDRIVE/cs1510$
EDIT: Seperti yang diminta, menjalankan "stat -f ~ / SDRIVE" menampilkan yang berikut:
ane3md@rc07xcs213:~$ stat -f ~/SDRIVE
File: "/usr/local/home/ane3md/SDRIVE"
ID: 0 Namelen: 4096 Type: fuseblk
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 0 Free: 0 Available: 0
Inodes: Total: 314572031 Free: 66717154
EDIT - WORKAROUND: Saya melakukan pengintaian, dan saya menemukan bahwa sekolah kami menggunakan dfshack (Anda dapat google di github) untuk menghubungkan Windows dan sistem file unix / linux, dan dibuat oleh seorang siswa di sini, jadi secara alami, ia memiliki bug. Ternyata saya menemukan salah satunya. Saya juga melakukan beberapa pengujian lagi, dan menemukan bahwa proses berikut ini berfungsi untuk memungkinkan saya membuat direktori lagi. Saya memiliki Mac, jadi saya tidak yakin apakah ini akan bekerja untuk Windows.
- Petakan drive jaringan ke Mac OS sehingga Anda dapat mengaksesnya melalui Finder
- Buat via Finder direktori yang tidak dapat dibuat sebelumnya.
- Sambungkan ke mesin jarak jauh melalui ssh dan navigasikan ke direktori tempat Anda tidak dapat membuat folder atau file.
- Tipe
mv dirCreatedViaFinder newName
- Anda sekarang dapat membuat direktori dan file bernama apa pun yang tidak dapat dibuat sebelumnya, tetapi ada kekurangannya. Jika Anda
rm -r newName
, Anda sekarang tidak dapat membuatnewName
file dan folder. Jadi saya pikir seluruh masalah disebabkan oleh penghapusan direktori.
sumber