Làm cách nào để thêm nhiều biến thể hoặc gói tùy chỉnh vào debootstrap?


10

Tôi có một bộ các gói mà tôi muốn cài đặt cùng với biến thể miniase trong debootstrap. Tôi đang gặp khó khăn nhất trong việc tìm ra cách tùy chỉnh các biến thể sao cho không chỉ cơ sở được cài đặt trong một chroot khi debootstrap được chạy. Bất kỳ cách nào để đạt được điều này?

Câu trả lời:


10

Thật dễ dàng để thêm biến thể của riêng bạn với các gói tùy chỉnh bổ sung vào debootstrap .

Các kịch bản cấu hình / thời gian chạy debootstrap được đặt trong /usr/share/debootstrap/scripts. Hãy tạo một allmybasebiến thể bao gồm mọi thứ minbasecùng với các gói htoptraceroute.

  1. Mở /usr/share/debootstrap/scripts/precisetrong trình soạn thảo của bạn.

    • Lưu ý rằng điều này, cùng với nhiều bản phát hành Ubuntu, là một liên kết tượng trưng đến /usr/share/debootstrap/scripts/gutsy; nếu bạn chỉ muốn ảnh hưởng đến một bản phát hành cụ thể, hãy phá vỡ liên kết và biến nó thành bản sao của tập lệnh táo bạo thay thế.
  2. Xung quanh dòng 22, tìm dòng bắt đầu bằng variantsvà thêm biến thể tùy chỉnh của bạn ở cuối:

    các biến thể - buildd fakechroot minbase allmybase
    
  3. Tìm work_out_debs()hàm xung quanh dòng 34 và xem các cài đặt mặc định cho basebiến cho biến thể "cơ sở" của bạn (tại đây, minbase):

        elif do_variant fakechroot || cơ sở làm việc tối thiểu; sau đó
                cơ sở = "apt"
    
  4. Nối biến thể của riêng bạn với các gói tùy chỉnh ở cuối hàm:

        elif do_variant allmybase; sau đó
                cơ sở = "apt htop traceroute"
    
  5. Lưu, thoát và kiểm tra nó với --print-debscờ "mô phỏng", vd

    sudo debootstrap --print-debs --variant = allmybase chính xác / tmp / pre-chroot
    
    • Trong ví dụ này, đầu ra sẽ hiển thị rằng các gói htoptraceroutesẽ được bao gồm trong chroot allmybase .

Ồ, tôi đoán điều này có vẻ gần như bẩn khi chỉ cài đặt một biến thể và gắn chroot + apt-get. Cảm ơn vì thông tin!
Marco Ceppi

Chà, một chút đau một lần sẽ giúp bạn kiếm được rất nhiều nếu bạn cài đặt cùng một biến thể liên tục;)
ish

Có thể tùy chọn đó không tồn tại tại thời điểm của câu hỏi, nhưng hiệu quả tương tự có thể đạt được debootstrap --include=htop,traceroutemà không cần bất kỳ sửa đổi nào đối với các tập lệnh debootstrap.
raimue
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.