Folder yang disinkronkan dengan vagina tidak peka terhadap huruf besar-kecil

10

Untuk tumpukan web kami, kami pindah dari Server Windows ke CentOS. Untuk memfasilitasi pengembangan, kami menggunakan Vagrant untuk menjalankan CentOS VMs secara lokal. Kami menggunakan fitur Vagrant's Synced Folders untuk memungkinkan devs menggunakan IDE favorit mereka di mesin host mereka, tetapi kami menemukan bahwa satu fitur utama tidak ada pada pengaturan ini: sensitivitas case sistem file.

Folder yang disinkronkan di dalam VM tampaknya mengambil properti sistem file host, jadi jika saya mengembangkan dari mesin Windows, atau bahkan OSX, sistem file tidak peka huruf besar-kecil. Ini adalah masalah besar, karena server produksi kami akan menjadi CentOS murni, dan sistem filenya akan peka terhadap huruf besar-kecil.

Sensitivitas kasus adalah salah satu alasan utama kami ingin memiliki VM lokal. Kami ingin mencegah "Ini berfungsi pada mesin saya!"

Beberapa solusi yang kami pertimbangkan atau coba:

  • Gunakan lsyncd untuk menyinkronkan dari berbagi gelandangan ke lokasi dalam VM yang sensitif huruf
    • memperbarui file pada host tampaknya tidak menghasilkan peristiwa di VM yang lsync dengarkan
  • Buat partisi case-sensitive pada host
    • (Tidak berfungsi untuk Windows)
  • Gunakan samba
    • ini mungkin opsi, tapi kami belum memeriksanya.

Apakah ada cara yang lebih baik? Perhatikan bahwa kami memiliki pengembang yang menggunakan Windows, OS X, dan Ubuntu, dan solusinya perlu bekerja di mana saja.

Scott Coldwell
sumber
Pertanyaan yang bagus, tetapi terlalu berorientasi pada pengembangan untuk SF Saya rasa - Anda mungkin lebih beruntung di Stack Overflow, telah ditandai untuk migrasi :)
Craig Watson
1
Jujur saya pikir itu bukan milik SO karena fakta bahwa ini untuk pengembangan sebagian besar tidak penting; pertanyaannya adalah tentang sensitivitas kasus sistem file yang terkait dengan tamu dan host yang gelandangan.
phoebus

Jawaban:

6

Saya mengatasi masalah pada OS X dengan membuat disk image yang jarang di folder proyek saya dan memformatnya menjadi case-sensitive.

Setelah memasang gambar yang jarang, saya memindahkan kode saya ke sana. Kemudian diganti folder "src" asli dengan symlink / alias ke gambar yang dipasang. Dengan cara ini folder yang dibagikan bersifat case sensitif di dalam OS tamu.

Jelas bukan solusi yang paling elegan tetapi tidak menutup celah antara penyebaran dan lingkungan pengembangan yang mengapa saya mulai menggunakan Vagrant di tempat pertama.

Mungkin solusi yang serupa dapat bekerja untuk Ubuntu dan Windows juga?

Jason Suave
sumber
Windows tidak memiliki sistem file case-sensitive sama sekali.
Michael Hampton
Terima kasih Jason. Saya menganggap ini, dan itu akan berfungsi pada mac dan ubuntu saya, tetapi tidak akan bekerja untuk Windows. Itu juga menambahkan langkah manual untuk menciptakan lingkungan dev, yang saya harapkan bisa sepenuhnya menggunakan gelandangan / koki. Mungkin tidak ada pilihan lain.
Scott Coldwell
2
Sensitivitas kasus adalah salah satu alasan utama saya beralih ke Vagrant, setelah bertahun-tahun menggunakan MAMP, jadi saya benar-benar kecewa karena tetap menjadi masalah. Saya tidak percaya ini tidak dinyatakan lebih jelas dalam dokumen Vagrant.
Jason Suave
3
@JasonSuave Masalahnya sebenarnya dengan VirtualBox dan apa yang digunakan untuk mount, bukan Vagrant. Vagrant hanya mengendalikan tunggangan VirtualBox. Anda mungkin memiliki pengalaman berbeda di VMWare ... Saya belum mencoba.
Brad
0

Saya telah mengalami masalah yang sama dan cara saya mengatasinya adalah dengan mendapatkan dengan menjalankan direktori pada VM melalui git clone dan menambahkan share Samba yang menunjuk ke sana sehingga dapat diakses pada Windows atau Mac.

Thazar
sumber