B.5. Tùy chọn cấp cao

B.5.1. Chạy lệnh riêng trong khi cài đặt

Những công cụ chèn sẵn cũng cung cấp một tùy chọn rất mạnh và dẻo : khả năng chạy lệnh hay văn lệnh tại một số điểm thời riêng trong tiến trình cài đặt.

# Tiến trình chèn sẵn trình cài đặt Debian không phải là bảo mật.
# Không có gì trong trình cài đặt mà kiểm tra bắt sự cố gắng tràn bộ đệm
# hay cách khác lạm dụng giá trị nằm trong tập tin cấu hình sẵn
# như điều này. Hãy dùng chỉ tập tin cấu hình sẵn có nguồn đáng tin !
# Để chứng minh tình trạng không bảo mật của tập tin cấu hình sẵn,
# bên dưới có phương pháp chạy tự động bất cứ lệnh trình bao nào
# bên trong trình cài đặt.

# Lệnh thứ nhất nào được chạy càng sớm càng có thể, đúng sau khi
# đọc thông tin chèn sẵn.
#d-i preseed/early_command string anna-install some-udeb

# Lệnh bên dưới được chạy đúng trước khi cài đặt xong, nhưng khi
# vẫn còn có thư mục « /target » có ích. Bạn có thể chroot (chuyển đổi
# vị trí của thư mục gốc) đến « /target » và dùng nó một cách trực tiếp,
# hoặc dùng những lệnh « apt-install » (cài đặt bằng apt) và « in-target »
# (trong đích) để cài đặt dễ dàng gói và chạy lệnh trên hệ thống đích.
#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh

B.5.2. Dùng khả năng chèn sẵn để thay đổi giá trị mặc định

Có thể dùng khả năng chèn sẵn để thay đổi trả lời mặc định đối với câu hỏi nào, còn câu đó vẫn được hỏi. Để làm như thế, cờ seen (đã xem) phải được đặt lại thành “false” (sai) sau khi đặt giá trị cho câu hỏi nào.

d-i phu/ba chuỗi giá_trị
d-i phu/ba seen false

B.5.3. Tải dây chuyền tập tin định cấu hình sẵn

Có thể gồm một số tập tin cấu hình sẵn khác từ chỉ một tập tin định cấu hình sẵn có liệt kê chúng. Thiết lập nào nằm trong các tập tin cấu hình sẵn đó sẽ đè lên thiết lập tồn tại từ tập tin được tải trước. Tính năng này cho khả năng, lấy thí dụ, để thiết lập mạng chung cho chỗ bạn trong tập tin này, còn để thiết lập chi tiết hơn cho một số cấu hình riêng trong các tập tin khác.

# Có thể liệt kê nhiều tập tin, định giới bằng dấu cách: các tập tin đó
# sẽ được nạp. Những tập tin được gồm, lần lượt, cũng có thể chứa chỉ thị
# chèn sẵn/gồm riêng. Ghi chú rằng nếu tên tập tin là tương đối,
# nó bắt nguồn từ cùng một thư mục với tập tin cấu hình sẵn gồm chúng.
#d-i preseed/include chuỗi x.cfg

# Trình cài đặt có khả năng (tùy chọn) thẩm tra tổng kiểm của tập tin
# cấu hình sẵn, trước khi dùng nó. HIện thời chỉ hỗ trợ tổng kiểm
# kiểu md5sum; hãy liệt kê các tổng md5sum theo cùng một thứ tự
# với danh sách các tập tin cần gồm.
#d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d

# Dẻo hơn, dòng bên dưới chạy lệnh trình bao : xuất tên của
# tập tin cấu hình sẵn thì gồm các tập tin đó.
#d-i preseed/include_command \
#      string echo if [ "`hostname`" = bob ]; then echo bob.cfg; fi

# Dẻo nhất, dòng này tải về chương trình rồi chạy nó. Chương trình đó
# có khả năng dùng lệnh như « debconf-set » (debconf đặt) để thao tác
# cơ sở dữ liệu cấu hình « debconf ». Có thể liệt kê danh sách các văn lệnh,
# định giới bằng dấu cách. Ghi chú rằng nếu tên tập tin là tương đối,
# tên đó bắt nguồn từ cùng một thư mục với tập tin cấu hình sẵn
# có chạy chúng.
#d-i preseed/run string phu.sh

Cũng có thể nạp dây chuyền từ giải đoạn chèn sẵn kiểu initrd hay tập tin, đến việc chèn sẵn qua mạng, bằng cách đặt preseed/url trong những tập tin sớm hơn. Sự chọn này sẽ gây ra việc chèn sẵn qua mạng được thực hiện khi mạng trở thành hoạt động. Hãy làm cẩn thận, vì có hai tiến trình chèn sẵn riêng: chẳng hạn, bạn có hai dịp chạy lệnh preseed/url, điều thứ hai được tạo một khi mạng trở thành hoạt động.