Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quản lý dịch vụ trong môi trường SysV và systemd

    Quản lý dịch vụ trong môi trường SysV và systemd


    Trong vận hành hệ thống Linux, việc thay đổi cấu hình dịch vụ thường yêu cầu khởi động lại dịch vụ để hệ điều hành nạp lại cấu hình mới. Đây là thao tác quen thuộc, được gọi là “bouncing” dịch vụ.

    Hiện nay có hai cơ chế quản lý dịch vụ phổ biến: SysV (init.d)systemd. Việc nắm cả hai là rất quan trọng, vì tùy từng hệ thống bạn sẽ gặp các cách quản lý khác nhau.
    1. Quản lý dịch vụ với SysV (service command)


    Trong các bản Linux truyền thống, dịch vụ được quản lý qua startup scripts nằm trong thư mục /etc/init.d/. Các script này cho phép start, stop hoặc restart dịch vụ.

    Ví dụ với dịch vụ vsftpd:

    # Kiểm tra tiến trình đang chạy
    ps -ef | grep ftp # Dừng dịch vụ
    sudo service vsftpd stop
    # Khởi động lại dịch vụ
    sudo service vsftpd start
    # Restart trực tiếp
    sudo service vsftpd restart

    Cú pháp chung:

    sudo service <service_name> start|stop|restart

    Ngoài ra, bạn có thể chạy trực tiếp script trong /etc/init.d:

    cd /etc/init.d sudo ./cups restart

    Lưu ý: Cần quyền root (dùng sudo) để quản lý dịch vụ.
    2. Quản lý dịch vụ với systemd (systemctl command)


    Ngày nay, systemd đã trở thành chuẩn mặc định cho hầu hết các bản phân phối Linux hiện đại. Nó quản lý các thành phần gọi là unit, trong đó dịch vụ là một loại unit. Các unit được định nghĩa trong file .service (ví dụ: vsftpd.service) thường nằm trong /usr/lib/systemd/system/.

    Với systemd, bạn không cần chỉ định đầy đủ đường dẫn, chỉ cần tên dịch vụ:

    # Start dịch vụ
    sudo systemctl
    start vsftpd # Stop dịch vụ
    sudo systemctl stop vsftpd
    # Restart dịch vụ
    sudo systemctl restart vsftpd
    # Reload lại cấu hình dịch vụ mà không cần restart
    sudo systemctl
    reload vsftpd
    # Reload lại toàn bộ cấu hình systemd
    sudo systemctl daemon-reload



    Điểm mạnh của systemd là hỗ trợ reload cấu hình mà không cần downtime dịch vụ – rất hữu ích cho môi trường production.
    3. Lưu ý khi phân biệt service và systemctl
    • service → hoạt động trên các file trong /etc/init.d (hệ thống init cũ).
    • systemctl → hoạt động trên unit file trong /lib/systemd/system.
    • Nếu một dịch vụ có file trong cả hai, systemd sẽ ưu tiên dùng systemctl.

    4. Câu hỏi ôn tập


    Câu hỏi: Có 2 phương pháp nào để dừng một network service? (Chọn 2)
    • ✅ sudo service <service name> stop
    • ❌ sudo stop proc <service name>
    • ❌ sudo quit proc <service name>
    • ✅ sudo systemctl stop <service name>


    👉 Kỹ sư hệ thống cần thành thạo cả hai lệnh (service và systemctl), vì trong môi trường thực tế bạn sẽ gặp song song cả hệ thống cũ (init.d)mới (systemd), đặc biệt khi quản trị server Linux hỗn hợp hoặc các hệ thống nhúng (embedded system).
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X