Bạn có thể sử dụng các cài đặt trước systemd để ảnh hưởng đến việc dịch vụ systemd sẽ mặc định được bật hay tắt khi cài đặt.
Debian đặt sẵn mặc định để bật tất cả các dịch vụ khi chúng được cài đặt, do đó bạn chỉ cần gửi một cài đặt sẵn cho các máy trạm phát triển (hành vi mặc định khớp với những gì bạn muốn xảy ra trong sản xuất), bằng cách gửi một tệp như /etc/systemd/system-preset/80-foo.preset
chứa một dòng có chứa một dòng có chứa một dòng nói
disable foo.service
Nếu bạn quản lý các máy trạm dành cho nhà phát triển của mình bằng hệ thống như Puppet, Chef, Ansible, v.v., bạn có thể sử dụng chúng để gửi cấu hình cài sẵn systemd như vậy, điều đó giúp bạn dễ dàng áp dụng chính sách cho các máy trạm của nhà phát triển và không sản xuất máy móc.
Gói .deb của bạn nên sử dụng systemctl preset
lệnh để kích hoạt dịch vụ, vì lệnh đó sẽ tôn trọng cấu hình cài sẵn.
Như @JdeBP và @sourcejedi chỉ ra, các macro Debian trong trình trợ giúp gỡ lỗi (chẳng hạn như dh_systemd_enable
) đã làm điều đó rồi, chúng sẽ gọi deb-systemd-helper
nó sẽ sử dụng systemctl preset
theo mặc định (với một cảnh báo nhỏ nếu bạn gỡ bỏ (nhưng không xóa) gói và sau đó cài đặt lại nó, sau đó nó sẽ không kích hoạt dịch vụ, ngay cả khi bạn loại bỏ các tập tin cài đặt trước) See. nhận xét này trong deb-systemd-helper
's enable
hoạt động :
# We use 'systemctl preset' on the initial installation only.
# On upgrade, we manually add the missing symlinks only if the
# service already has some links installed. Using 'systemctl
# preset' allows administrators and downstreams to alter the
# enable policy using systemd-native tools.
Để biết thêm thông tin về tính năng systemd của các cài đặt trước, hãy xem trang man của các cài đặt trước systemd và lệnh systemctl preset
thực hiện nó.
*.preset
tệp này như một phần của gói đó.