यहाँ डेबियन पर मेरा वर्कअराउंड दिया गया है, जिसे ऊपर @sebasth द्वारा संदर्भित बग दिया गया है।
मेरा सेटअप थोड़ा अलग है। मेरे पास एक एन्क्रिप्टेड रूट विभाजन और छापे डिस्क का एक गुच्छा है। मेरे लिए, मुझे क्रिप्टैब में एक इनट्राम्राम्स विकल्प जोड़ना था:
<target> <source> <keyfile> <options>
part1_crypt /dev/disk/... crypt_disks plain,cipher=aes-xts-plain64,keyscript=decrypt_keyctl,initramfs
part2_crypt /dev/disk/... crypt_disks plain,cipher=aes-xts-plain64,keyscript=decrypt_keyctl,initramfs
यह अपडेट-इनट्रैमफैट बताता है कि मैं इन क्रिप्टैब एंट्री को इनट्रैमफैट में माउंट करना चाहता हूं। मैंने दौड़कर अपना क्रिप्टैब चेक किया
cryptdisks_start part1_crypt
cryptdisks_start part2_crypt
ध्यान दें कि मेरे छापे डिस्क सादे डीएम-क्रिप्ट हैं। इसका मतलब था कि मैं सिस्टम कुंजीस्क्रिप्ट बग के आसपास काम करने वाली लुक्स कीफाइल विधि का उपयोग नहीं कर सकता था। सादे डीएम-क्रिप्ट के लिए, मुझे पासफ़्रेज़ को प्लेनटेक्स्ट में स्टोर करना होगा।
एन्क्रिप्टेड डिस्क को update-initramfs
चलाने से पहले माउंट किया जाना है; अन्यथा यह त्रुटियों को फेंक देगा। जब मेरे initramfs का निर्माण किया गया था, तो मुझे निम्नलिखित पंक्तियों को देखना था:
update-initramfs -k -u -v | grep 'keyctl'
जिसमें निम्नलिखित दो फाइलें दिखाई गई हैं:
/bin/keyctl
cryptkeyctl
initramfs में जोड़ा जा रहा है।
अंत में, मुझे ऊपर उल्लिखित बग से निपटने के लिए अपने क्रिप्टैब को संभालने वाले सिस्टमड को निष्क्रिय करना पड़ा: सिस्टमट क्रिप्टैब में कीस्क्रिप्ट के विकल्प का समर्थन नहीं करता है। इसके लिए, मैंने कर्नेल विकल्प जोड़ा
GRUB_CMDLINE_LINUX_DEFAULT="quiet luks.crypttab=no"
to / etc / default / grub और भागा update-grub
। systemd अब crypttab को अनदेखा करता है, और सभी एन्क्रिप्ट किए गए विभाजन initramfs में लोड किए जाते हैं।
क्योंकि मेरे पास एक एन्क्रिप्टेड रूट पार्टीशन है, क्रिप्टोकरंसी मेरी कुंजी को कैश नहीं करती है। इसका मतलब है कि मुझे अपना पासवर्ड दो बार दर्ज करना होगा; एक रूट विभाजन के लिए और एक बार मेरे रेड सरणी के लिए।
expect
स्क्रिप्ट या समान लिख सकते हैं जिसे सिस्टम को करने के बजाय डिस्क को माउंट करने के लिए कहा जाता है। इसके बजाय, सिस्टम उस स्क्रिप्ट को कॉल करेगा जो पासवर्ड के लिए पूछेगा, इसे स्टोर करेगा, और इसे प्रत्येक माउंट ऑपरेशन में प्रदान करेगा।