Câu trả lời:
Cách dừng / bắt đầu dịch vụ trong Fedora (phiên bản mới hơn) đang sử dụng systemctl
.
Tuy nhiên, có thể có một vài dịch vụ còn lại /etc/init.d/
mà bạn có thể kiểm soát bằng service
lệnh. Bạn vẫn có thể điều khiển chúng systemctl
như systemd
tự động ánh xạ chúng thành các tệp đơn vị cho bạn.
Ví dụ, trên CentOS 7 của tôi (Fedora 19 hoặc ở đâu đó), có một đoạn /etc/rc.d/init.d/network
script mà tôi có thể điều khiển bằng service
lệnh. Nếu tôi sử dụng systemctl
thay thế, nó vẫn hoạt động:
# sudo systemctl status network
network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network)
Active: active (exited) since Tue 2014-11-11 08:21:51 GMT; 2 weeks 1 days ago
Như bạn thấy, nó đã được ánh xạ tới /etc/rc.d/init.d/network
bởi systemd
và systemctl
điều khiển lệnh nó.
Tôi có thể là 'năm ngoái' và sử dụng service
thay thế:
# service network status
Configured devices:
lo eth0
Currently active devices:
lo eth0 tun0
Cả hai đều hoạt động, nhưng lưu ý rằng chúng cho kết quả khác nhau trong các status
lệnh của chúng .
Thông thường, các service
tập lệnh được chuyển hướng đến các tập lệnh systemctl (Systemd) vì vậy về cơ bản đó là tùy chọn mà bạn muốn sử dụng.
Từ hệ thống Fedora 20 của tôi.
$ service sshd status
Redirecting to /bin/systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Fri 2014-11-21 09:12:10 EST; 5 days ago
Main PID: 1095 (sshd)
CGroup: /system.slice/sshd.service
└─1095 /usr/sbin/sshd -D
Nov 21 09:12:10 dufresne systemd[1]: Starting OpenSSH server daemon...
Nov 21 09:12:10 dufresne systemd[1]: Started OpenSSH server daemon.
Nov 21 09:12:11 dufresne sshd[1095]: Server listening on 0.0.0.0 port 22.
Nov 21 09:12:11 dufresne sshd[1095]: Server listening on :: port 22.
Tôi thường sử dụng cả hai phương pháp, vì thói quen cũ chết cứng. Nhưng nếu bạn đang cố gắng thích nghi với thế giới Systemd, tôi sẽ tiếp tục ép mình làm mọi thứ bằng cách sử dụng systemctl
nếu có thể.
Ngoài ra Systemd mang đến mọi thứ bạn từng làm với chkconfig
và service
theo một lệnh systemctl
, vì vậy tôi thường thấy dễ dàng hơn để đối phó trong thời gian dài.
Chiếc áo choàng này trên trang web của dự án Fedora rất hữu ích trong việc thực hiện chuyển đổi.
Ngẫu nhiên, câu trả lời cho câu hỏi ban đầu của bạn được trả lời trong phần chú thích trên trang đó:
Lưu ý rằng tất cả các dòng / sbin / dịch vụ và / sbin / chkconfig được liệt kê ở trên tiếp tục hoạt động trên systemd và sẽ được dịch sang tương đương gốc khi cần thiết. Ngoại lệ duy nhất là chkconfig --list.
service foo start
trong debian hoạt động cho dù hệ thống init của bạn là systemd hay sysvinit hay mới bắt đầu;systemctl
có thể sẽ không hoạt động nếu systemd không phải là PID1.