ฉันกำลังทำการติดตั้งล่วงหน้าที่เกี่ยวข้องกับการแสดง ดีเบตคอนเฟอเรนซ์
ข้อความ INFO ภายในตัวติดตั้งเดเบียน ในตอนท้ายของ late_command ฉันคาดหวังว่าระบบจะนำ cdrom การติดตั้งออก และรีบูตอินสแตนซ์ของฉันปัญหาคือแทนที่จะทำงานในลักษณะนี้ กลับเข้าสู่เมนูตัวติดตั้งเดเบียน และเพื่อให้กระบวนการติดตั้งเสร็จสิ้น ทำให้ฉันเหลือเพียงตัวเลือกในการปิดระบบด้วยตนเองและบูตจากดิสก์เพื่อนำซีดีรอมการติดตั้งออก
สิ่งสำคัญคือต้องระบุให้แน่ชัดว่าลักษณะการทำงานที่ไม่คาดคิดนี้เกิดขึ้นเมื่อฉันเริ่มใช้งานเท่านั้น ข้อมูล debconf
ข้อความ (มันทำงานตามที่คาดไว้ก่อนหน้านี้ ดังนั้น preseed.cfg
โดยปกติจะมีการกำหนดค่าอย่างถูกต้อง) จึงเกี่ยวข้องโดยตรงกับมัน
ด้านล่างมีดังต่อไปนี้: ของฉัน ส่วน late_command
สคริปต์ที่เปิดตัวโดย late_command
ซึ่งเกี่ยวข้องกับ ดีเบตคอนเฟอเรนซ์
, syslog
เมื่อการติดตั้งเสร็จสิ้นและหน้าจอที่ฉันถูกนำกลับไป
late_command
:
d-i preseed/late_command สตริง \
cp -rf /cdrom/build /target/home/device; \
/bin/sh /target/home/machine/build/deployment-preseed-track.sh; \
chmod +x /target/home/machine/build/deployment-preseed.sh; \
ในเป้าหมาย --pass-stdout ./home/machine/build/deployment-preseed.sh > /target/var/log/installation.log; \
ในเป้าหมาย rm -rf /home/machine/build;
การปรับใช้ preseed-track.sh
(โดยทั่วไปจะสแกนบันทึกที่มีชีวิตชีวาเพื่อตรวจหาความคืบหน้าในการปรับใช้)
#!/bin/sh
. /usr/share/debconf/confmodule
. "/home/machine/build/variables.sh"
logFile="/target${INSTALLATION_LOG_LOCATION}"
templatePath="/target/tmp/deployment_progress_tracker.templates"
แมว > "${ templatePath}" << 'EOF'
แม่แบบ: deployment_progress_tracker/progress/fallback
ประเภท: ข้อความ
คำอธิบาย: ${STEP}...
อฟ
debconf-loadtemplate deployment_progress_tracker "${templatePath}"
db_progress START 0 1 deployment_progress_tracker/progress
บันทึกการเฝ้าดู () {
การปรับใช้เสร็จสิ้น = เท็จ
ในขณะที่ ! $deployment เสร็จสิ้น
ทำ
ถ้า [ -f "${logFile}" ]; แล้ว
step=$(grep -E -o -a -h "Progress-step: .*" "${logFile}" | tail -1 | sed 's/Progress-step: //')
ถ้า [ -z "${step##*$DEPLOYMENT_FINISHED*}" ]; แล้ว
การปรับใช้เสร็จสิ้น=จริง
elif [ -n "${ขั้นตอน}" ]; แล้ว
db_subst deployment_progress_tracker/progress/fallback ขั้นตอน "${step}"
db_progress INFO การปรับใช้_progress_tracker/progress/fallback
ไฟ
ไฟ
นอน 3
เสร็จแล้ว
}