Hệ thống tương đương là gì


30

Tôi đang chuyển đổi một gói từ .rpm sang .deb bằng hướng dẫn này . Tuy nhiên, để kiểm tra và gỡ lỗi ứng dụng tôi cần chạy nó. Các chương trình readme giải thích để chạy nó như một dịch vụ với:

systemctl enable progname.service
systemctl start progname.service

Tương đương trên Ubuntu cho các lệnh này là gì?


sudo service network-manager restart là những gì tôi đang tìm kiếm khi tôi tìm thấy điều này.
Martin Thoma

Kể từ năm 2018, Ubuntu sử dụng systemd mới hơn systemctl(cũng như bất kỳ hệ thống nào trên Ubuntu 15.04, Debian 8, CentOS 7, Fedora 15 ...). /usr/sbin/serviceTiện ích cũ gọi systemctlnếu / khi hệ thống đang chạy systemd.
michael

Câu trả lời:


12

Ubuntu hiện đang có kế hoạch / phát triển để sử dụng systemd trong tương lai. Xem các liên kết sau để biết thông tin: Vivid sẽ chuyển sang khởi động với systemd ...Ghi chú phát hành: Quản lý khởi động và dịch vụ

Tôi đang sử dụng 14.04.

Bạn có thể sử dụng lệnh gốc hơn update-rc.d. Kiểm tra trang người đàn ông.

Kích hoạt dịch vụ với mặc định (xem trang hướng dẫn):

sudo update-rc.d foo_service defaults

Vô hiệu hóa một dịch vụ:

sudo update-rc.d foo_service remove

Lưu ý rằng để xóa mà không có thông báo lỗi, tệp foo_service không được xuất hiện. Tuy nhiên, bạn có thể buộc:

sudo update-rc.d -f foo_service remove

4
lẽ không gì về nó. 15.04 sử dụng systemd.
muru

@muru Dou bạn có tham khảo không? Xin vui lòng chỉnh sửa câu trả lời của tôi và cho mọi người biết.
Ely

1
bài viết công bố việc chuyển đổi quá trình phát triển: lists.ubuntu.com/archives/ubuntu-devel-announce/2015-March/... , các ghi chú phát hành phiên bản chính thức: wiki.ubuntu.com/VividVervet/...
muru

5

systemctl là tiện ích điều khiển cho systemd:

http://www.freedesktop.org/software/systemd/man/systemctl.html

Lưu ý rằng Ubuntu không sử dụng systemd, nó sử dụng khởi đầu, về nguyên tắc, một số điều tương tự, nhưng có một số khái niệm khác nhau.

Không có nhiều kiến ​​thức về systemd và dựa trên những gì tôi đọc được trong tài liệu tôi đã đăng, tôi nghĩ bạn không cần phải "kích hoạt" một dịch vụ. Chỉ cần thả tệp .conf cho dịch vụ của bạn trong / etc / init sẽ giúp bạn nhận ra nó.

Tuy nhiên, đó là mấu chốt của vấn đề: tệp cấu hình systemd cho dịch vụ của bạn sẽ không hoạt động chưa được sửa đổi trên Ubuntu, bạn phải "dịch" nó sang phiên bản tương đương cho Upstart. Đây là tài liệu cho sự khởi đầu:

http://upstart.ubfox.com/cookbook/

Khi bạn có một tệp .conf mới nhất phù hợp, bạn có thể bắt đầu một dịch vụ (tương đương, tôi nghĩ là để bắt đầu systemctl) bằng cách sử dụng:

start your-service

2
Vấn đề là, bắt đầu từ 13.10, Ubuntu không logind sử dụng systemd, mà theo mặc định đình chỉ một máy tính xách tay khi đóng nắp. Nếu bạn muốn nó khóa màn hình trước khi điều này xảy ra, bạn cần treo dịch vụ systemd ra khỏi nắp đóng, và để làm điều đó mà bạn dường như cần systemctl. Xem forum.xfce.org/viewtopic.php?id=8411bbs.archlinux.org/viewtopic.php?id=148829 chẳng hạn.
Douglas Bagnall

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.