Anda menggunakan systemd dan anda mempunyai v256, kemas kini sekarang, kerana ia mempunyai pepijat yang menghapuskan direktori rumah

systemd 256 dialih keluar /home

Beberapa hari yang lalu, kami telah berkongsi di blog ini berita pelancaran systemd versi 256 , yang merupakan versi yang memperkenalkan sejumlah besar perubahan dan ciri baharu, dan antaranya ialah utiliti run0, yang boleh kami katakan sebagai tarikan utama pelancaran ini.

Sebab untuk menyebut systemd 256 adalah kerana pelancaran versi pembetulan, systemd 256.1, telah diumumkan . Versi ini dikeluarkan untuk menangani masalah kritikal yang timbul dalam versi 256.

Isu ini menjejaskan pemadaman kandungan partition /home yang tidak betul semasa menjalankan arahan systemd-tmpfiles --purge . Pada asalnya, pilihan ini bertujuan untuk memadam fail dan direktori yang dibuat melalui konfigurasi dalam tmpfiles.d, tetapi kelakuannya tidak sepadan dengan dokumentasi dan jangkaan pengguna.

Masalah khususnya ialah nama "tmpfiles" dalam utiliti itu mengelirukan, kerana pilihan `--purge` bukan sahaja memadam fail sementara, tetapi juga menjejaskan direktori dan fail yang dicipta secara automatik melalui konfigurasi dalam `tmpfiles.d`. Ini termasuk penciptaan direktori data secara automatik, seperti direktori utama dalam `/home`.

Contohnya, fail /usr/lib/tmpfiles.d/home.conf bertanggungjawab untuk mencipta struktur direktori dalam /home, dan penggunaan systemd-tmpfiles --purge secara tidak sengaja telah mengalih keluar direktori ini dan kandungannya, dan bukannya hanya membersihkan fail sementara seperti yang dijangkakan.

Itulah sebabnya versi pembetulan systemd 256.1 dikeluarkan untuk menyelesaikan ketidakkonsistenan dan masalah yang dilaporkan oleh pengguna ini dan juga untuk menyelaraskan fungsi –purge dengan betul dengan tujuan asalnya, memastikan ia hanya memadamkan fail sementara dan tidak menjejaskan struktur direktori dicipta melalui konfigurasi dalam tmpfiles.d.

Perlu dinyatakan bahawa insiden dengan systemd-tmpfiles dan pemadaman direktori yang salah dalam partition /home Ia adalah situasi yang malang yang menjana perdebatan dan pembetulan penting dalam pelaksanaan systemd.

Banyak mesej amaran mula muncul, termasuk laluan masuk /home(tidak dapat memulihkan masa pengubahsuaian...?). Apakah yang dilakukan oleh alat pembersihan sementara dalam direktori rumah saya? Itu tidak bagus. Jantung saya mula berdegup kencang dan saya menekan Ctrl-C sepantas mungkin.

Ternyata sebahagian besar direktori peribadi saya telah dipadamkan. Nasib baik, ia kelihatan seperti ia bermula dari fail konfigurasi dan bukan data sebenar, walaupun saya masih tidak pasti sama ada saya terlepas sesuatu yang penting. Saya mematikan mesin untuk memulihkan data kemudian extundelete(btw, ia tidak berfungsi, ia ranap serta-merta atas sebab tertentu; Saya mempunyai sandaran, tetapi ia agak ketinggalan zaman, saya mengisi pemacu terlalu cepat).

Respons awal daripada pembangun sistem Microsoft, Luca Boccassi, mencerminkan kekecewaan dan kebingungan dalam kalangan pengguna yang terjejas oleh pemadaman yang tidak disengajakan ini. Pelaksanaan ciri yang, menurut dokumentasi, sepatutnya memadam semua fail dan direktori tanpa pandang bulu, tetapi dalam praktiknya menjejaskan struktur sistem penting, telah dipersoalkan.

Selepas perbincangan dan ulasan yang meluas, ia diiktiraf bahawa tingkah laku systemd-tmpfiles --purge adalah tidak betul dan tindakan pembetulan telah diambil.

Pada mulanya ia dianggap untuk menghapuskan sepenuhnya pilihan --purge, tetapi kami memilih untuk mengehadkan skopnya supaya ia hanya mempengaruhi fail dan direktori yang dikaitkan secara langsung dengan konfigurasi khusus dalam tmpfiles.d/. Pengubahsuaian ini memastikan bahawa arahan hanya memadamkan perkara yang ingin dipadamkan, sekali gus mengelakkan kesan sampingan yang tidak diingini pada kawasan lain sistem fail.

Apa yang saya ada masalah ialah dokumentasi. Ia menerangkan apa yang dilakukan oleh pilihan, secara teknikal (baik, saya rasa begitu, saya tidak tahu banyak tentang seni bina di sini), tetapi ia tidak menjelaskan mengapa mereka melakukan apa yang mereka lakukan. Apabila seseorang hanya menyemak imbas dokumentasi, ketiga-tiga pilihan nampaknya melakukan perkara yang sama: membersihkan fail sementara, walaupun --purgeNampaknya "lebih lengkap" kerana ia menyebut bahawa ia memadam semua fail (termasuk data pengguna).

Selain itu, manual pengguna systemd-tmpfiles dikemas kini untuk memberikan penerangan yang lebih tepat tentang pilihan --purge dan untuk memberi amaran dengan jelas tentang kemungkinan akibat daripada penggunaannya yang salah.

Akhir sekali, kami mengesyorkan agar anda melakukan kemas kini yang diperlukan bagi mengelakkan situasi yang sama. Jika anda berminat untuk mengetahui lebih lanjut , anda boleh mendapatkan butirannya di pautan berikut.


Tambahkan sebagai sumber pilihan dalam Google