Ketika saya pertama kali diperkenalkan ke Linux, bekerja di Cisco Systems pada tahun 2000, saya diajari manfaat dari sync
perintah, yang digunakan untuk menyiram buffer ke disk untuk mencegah kerusakan sistem file / kehilangan data. Saya diberitahu bukan hanya oleh rekan kerja di sana, tetapi oleh teman-teman di kampus untuk selalu menjalankan sync
"beberapa" atau "banyak" kali, yaitu, mungkin 5 - 10 kali, bukan hanya sekali.
Saya telah melanjutkan kebiasaan ini sejak itu, tetapi, adakah manfaat untuk ini? Adakah orang lain yang pernah mendengar ini? Dan yang paling penting, adakah yang bisa memberikan alasan rasional / empiris yang baik untuk / menentang gagasan bahwa Anda perlu menjalankan sync
lebih dari satu kali agar bisa efektif?
sumber
sync; sync; sync; sync
judul, dan kadang-kadang saya mengetiknya dengan cara itu, saya juga mendengarnya menjelaskan kepada saya dengan cara yang sama, yaitu, sinkron, tunggu, sinkronkan lagi, tunggu, dll.Old-timer di sini. Kembali ke masa kejayaan TAPE, 3 sinkronisasi cepat secara berurutan adalah cara untuk memberitahu pengendali TAPE untuk tidak hanya membatalkan tautan / membuka alur pita rekaman, tetapi juga untuk memutarnya kembali, yaitu mengatur FD / rw-head ke 0.
"sync; sync; sync" benar-benar hanya digunakan, secara produktif, oleh kita yang memotong gigi kita dengan Unix's berbasis TAPE, yaitu aplikasi yang file-filenya di-mount pada / var / spool, penyimpanan termurah yang mungkin saat itu. ;)
Manual operator MIPS Risc / OS memiliki halaman tentang ini ..
sumber
Tentu saja ada sistem UNIX yang lebih tua yang lebih aman untuk disinkronkan lebih dari sekali, tetapi tidak semua pada satu baris perintah sebagai "sinkronisasi; sinkronisasi; sinkronisasi". Pada pertengahan 80-an, ini menjadi disaring untuk:
Saya tidak benar-benar tahu dari mana tiga kali berasal, kecuali mungkin itu menyenangkan. Tapi kata di jalan melakukannya dua kali. Bukan sebagai "sinkronisasi; sinkronkan", tetapi sebagai dua baris terpisah pada shell.
Kembali pada zaman, katakanlah, V7 UNIX, perbaikan sistem file tidak terlalu menyenangkan. Anda harus melakukannya dengan tangan, mengetahui banyak tentang cara kerja sistem file dan keanehan program seperti dcheck, ncheck, dan icheck. fsck, jika Anda memilikinya, tidak selalu sesuatu yang Anda percayai.
Ini mulai terdengar seperti kisah "kami berjalan melintasi salju menanjak dua arah". Yah, kami tidak memiliki perintah mewah seperti reboot atau shutdown. Ketika Anda ingin me-reboot sistem, Anda menyinkronkan sistem file dengan sinkronisasi, dan kemudian Anda menekan Ctrl-P pada konsol untuk menghentikannya.
Ketika perintah sinkronisasi keluar, kernel telah menjadwalkan sinkronisasi, tetapi tidak semua buffer (termasuk superblock filesystem yang sangat penting) telah berhasil masuk ke disk. Jadi itu sangat mudah untuk menjalankan sinkronisasi dan kemudian menghentikan beberapa hal sebelum aman.
Menjalankan sinkronisasi lagi adalah hal yang mudah dilakukan, menyita waktu, dan memiliki daya tarik intuitif tertentu tanpa harus memahami semuanya, atau berurusan dengan instruksi yang tidak jelas seperti "menghitung sampai 10" atau sesuatu seperti itu.
Bahkan ada bagian BUG di halaman manual V7 untuk
update
juga mengatakan:(yang, omong-omong, adalah hal terakhir dalam Volume 1 manual V7)
Seiring waktu, alat sistem file dan program untuk mematikan dan me-reboot sistem menjadi lebih baik untuk menghindari berurusan dengan ini. Cerita rakyat, sihir, dan sihir sistem masuk ke dalamnya ketika sistem berperilaku secara misterius. Menyinkronkan dua kali membuatnya jauh lebih kecil kemungkinannya Anda harus keluar dari penjepit bit untuk menyatukan kembali sistem file Anda, jadi itu menjadi bagian dari ritual. Setelah Anda melakukannya beberapa kali, Anda melakukannya tanpa berpikir. Kemudian seseorang memperhatikan dan bertanya mengapa. Dan jawabannya adalah seperti, "Selalu lakukan itu. Itu lebih aman."
Saya tidak akan mengklaim bahwa ini otoritatif, dan saya mungkin salah tentang beberapa detail. Tapi saya pikir itu cukup dekat dengan asalnya.
sumber