Điểm:0

Trình cài đặt Debian sẽ không thoát sau khi cài đặt sẵn

lá cờ tr

Tôi đang thực hiện cài đặt chèn sẵn có liên quan đến việc hiển thị gỡ lỗi Thông báo INFO ngay bên trong bộ cài đặt debian. Ở phần cuối của late_command, tôi hy vọng hệ thống sẽ đẩy đĩa cdrom cài đặt ra và khởi động lại phiên bản của tôi.Vấn đề là thay vì hoạt động theo cách này, nó quay trở lại trình đơn cài đặt debian, và để kết thúc quá trình cài đặt, nó chỉ để lại cho tôi tùy chọn tắt máy thủ công và khởi động từ đĩa để lấy cdrom cài đặt ra.

Điều quan trọng cần nói chính xác là hành vi không mong muốn này chỉ xuất hiện khi tôi bắt đầu sử dụng debconf THÔNG TIN tin nhắn (nó đã hoạt động như mong đợi trước đây, vì vậy preseed.cfg thường được cấu hình đúng cách), do đó nó liên quan trực tiếp đến nó.

Dưới đây là những điều sau đây: Của tôi phần cuối_lệnh, tập lệnh được khởi chạy bởi trễ_command liên quan đến cái gì gỡ lỗi, các nhật ký hệ thống khi quá trình cài đặt kết thúc, es và màn hình mà tôi được dẫn trở lại.

trễ_command :

d-i preseed/late_command chuỗi \
cp -rf/cdrom/build/mục tiêu/nhà/thiết bị; \
/bin/sh /target/home/machine/build/deployment-preseed-track.sh; \
chmod +x /target/home/machine/build/deployment-preseed.sh; \
trong mục tiêu --pass-stdout ./home/machine/build/deployment-preseed.sh > /target/var/log/installation.log; \
trong mục tiêu rm -rf /home/machine/build;

triển khai-preseed-track.sh (Về cơ bản, nó quét trực tiếp nhật ký để phát hiện tiến trình triển khai)

#!/bin/sh

. /usr/share/debconf/confmodule
. "/home/machine/build/variables.sh"

logFile="/target${INSTALLATION_LOG_LOCATION}"
templatePath="/target/tmp/deployment_progress_tracker.templates"

con mèo > "${templatePath}" << 'EOF'
Bản mẫu: triển khai_progress_tracker/tiến trình/dự phòng
Loại: văn bản
Mô tả: ${STEP}...
EOF

debconf-loadtemplate Deploy_progress_tracker "${templatePath}"
db_progress START 0 1 Deploy_progress_tracker/progress

nhật ký đồng hồ () {
  triển khaiDone=false
  trong khi ! $triển khaiXong
  làm
    nếu [ -f "${logFile}" ]; sau đó
      step=$(grep -E -o -a -h "Progress-step: .*" "${logFile}" | tail -1 | sed 's/Progress-step://')
      nếu [ -z "${bước##*$DEPLOYMENT_FINISHED*}" ]; sau đó
        triển khaiDone=true
      yêu tinh [ -n "${bước}" ]; sau đó
        db_subst Deploy_progress_tracker/progress/fallback BƯỚC "${step}"
        db_progress THÔNG TIN triển khai_progress_tracker/progress/dự phòng
      fi
    fi
    ngủ 3
  xong
}

nhật ký hệ thống

dẫn trở lại màn hình này

Điểm:0
lá cờ tr

Tôi sẽ trả lời cho chính mình sau những ngày cố gắng không thành công.

Debconf không phải là thủ phạm. Điều đã xảy ra là cách tôi sắp xếp các lệnh gọi tập lệnh (trình theo dõi ở chế độ nền và tập lệnh triển khai ở nền trước) đã không tạo cơ hội cho trình cài đặt debian hủy tập lệnh nền theo cách sạch sẽ, như mong đợi. Ngay sau khi tập lệnh triển khai bị giết hoặc không bị giết một cách nhất quán, dẫn đến việc triển khai thành công hoặc thất bại, một cách ngẫu nhiên.

Tôi đã gặp khó khăn khi thử chơi với debconf trước khi hiểu chuyện gì đang xảy ra, nhưng vì cuối cùng tôi đã hiểu được nó, đây là điều tôi đã làm để làm cho nó hoạt động trơn tru mọi lúc.

Thay vì khởi chạy tập lệnh triển khai triển khai-preseed.sh như một quá trình tiền cảnh và trình theo dõi triển khai-preseed-track.sh như một quá trình nền tảng, tôi đã làm điều ngược lại chính xác, tức là: triển khai-preseed-track.sh như một quá trình tiền cảnh, và triển khai-preseed.sh như một quá trình nền.

tôi theo đó cập nhật các trễ_command :

d-i preseed/late_command chuỗi \
cp -rf/cdrom/build/mục tiêu/nhà/thiết bị; \
chmod +x /target/home/machine/build/deployment-preseed.sh; \
(trong mục tiêu --pass-stdout ./home/machine/build/deployment-preseed.sh > /target/var/log/installation.log &); \
/bin/sh /target/home/machine/build/deployment-preseed-track.sh; \
trong mục tiêu rm -rf /home/machine/build;

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.