Systemd-firstboot.service का उपयोग कैसे करें?


11

मैं डेबियन जेसी की एक छवि बना रहा हूं। बूट पर सिस्टम में कोई /etc/machine-idफ़ाइल नहीं है। यह जर्नल के साथ कुछ समस्याओं का कारण बनता है जो शुरू नहीं होता है।

मैंने पाया है कि सिस्टमड रेपो में:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=First Boot Wizard
Documentation=man:systemd-firstboot(1)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-remount-fs.service
Before=systemd-sysusers.service sysinit.target shutdown.target
ConditionPathIsReadWrite=/etc
ConditionFirstBoot=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=@rootbindir@/systemd-firstboot --prompt-locale --prompt-timezone --prompt-root-password
StandardOutput=tty
StandardInput=tty
StandardError=tty

इसे कहां रखा जाना चाहिए ताकि यह चल सके?

सिस्टमड 215 में कंडीशनफर्स्टबूट उपलब्ध नहीं है। उससे कैसे निपटें?

जवाबों:


1

मैं थोड़ा आश्चर्यचकित हूं कि आपके पास यह स्क्रिप्ट नहीं थी सिर्फ़ सिस्टमड स्थापित करने से, लेकिन (सामान्य तौर पर) मुझे लगता है कि इसका उत्तर यह है कि आपको इसे लगाना चाहिए /etc/systemd/system

इस स्थिति में (चूँकि आप यह सब करने की कोशिश कर रहे हैं और मशीन-आईडी प्राप्त करने के लिए, जर्नल काम करने के लिए), मुझे लगता है कि मैं सशर्त फ़र्स्टबूट को उस फ़ाइल के चेक के साथ बदल सकता हूँ जिसकी आपको परवाह है /etc/machine-id

इसलिए मैं शायद इकाई खंड को फिर से लिखूंगा:

[Unit]
Description=First Boot Wizard
Documentation=man:systemd-firstboot(1)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-remount-fs.service
Before=systemd-sysusers.service sysinit.target shutdown.target
ConditionPathIsReadWrite=/etc
ConditionPathExists=!/etc/machine-id

यह कहा जा रहा है, अगर आपकी छवि के साथ एक और हाल ही के systemd को जहाज करना संभव था (मैं डेबियन पर अच्छा नहीं हूं, तो मैं कहीं भी यह जांचने के लिए नहीं मिल सका कि नवीनतम समर्थित संस्करण क्या है), जो देखने में लायक हो सकता है - systemd 215 में कुछ समस्याएँ हैं जो तब से तय की गई हैं ( https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=systemd )।


बस दो बार सत्यापित करने के लिए एक नोट कि प्रस्तावित समाधान काम करेगा। जब मैंने कुछ साल पहले सिस्टमैड-नियंत्रित ओएस (डेबियन 10, IIRC, जब वह अभी भी सिड था) के आधार पर इमेजिंग शुरू किया था, तो मेरा पहला आवेग अन्य व्यक्तित्व क्षरण कार्यों के बीच इमेजिंग से ठीक पहले / etc / मशीन-आईडी को हटा दिया गया था। यह प्रभाव काफी नाटकीय था: सिस्टम ने सपाट रूप से बूट करने से इनकार कर दिया और रिकवरी मोड में चला गया (एक ईंट यदि आप क्लाउड वीएम को तैनात कर रहे हैं)। फिक्स को छोटा किया गया था लेकिन फ़ाइल ( : > /etc/machine-id) रखें। शायद यह अब भी सच नहीं है, लेकिन मैंने इस फ़ाइल को बहुत सम्मान और विस्मय के साथ व्यवहार करना सीखा।
किमी किमी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.