Tìm hiểu các dịch vụ trong hệ điều hành Fedora 7
Mỗi khi Linux khởi động hoặc shutdown, các bạn có thể thấy nó bật hoặc tắt rất nhiều dịch vụ ([color="#FF8C00"]
services[/color]). Nếu có quá nhiều dịch vụ được khởi động (hoặc tắt) trong hệ thống sẽ khiến cho các việc tắt bật hệ điều hành trở nên kéo dài và có thể gây khó chịu. Việc tìm hiểu và tùy chỉnh các dịch vụ cần thiết cho nhu cầu và các dịch vụ không cần thiết sẽ giảm thời gian tắt bật máy cũng như tạo cảm giác thoải mái cho người sử dụng.
Đây là bài viết (chính xác hơn là dịch và tổng hợp) của mình về các dịch vụ của hệ điều hành Fedora 7 cũng như các hệ điều hành như RedHat hay CentOS để giúp các bạn (nhất là các bạn mới học Linux) hiểu rõ hơn những thứ mà khi bạn muốn trở thành một người nắm rõ hệ thống không thể bỏ qua (phù, thế là xong mở bài).
Tuy là một bài viết về các dịch vụ trên hệ điều hành Fedora 7, tuy nhiên những gì dưới đây cũng có thể áp dụng được cho các hệ điều hành khác như CentOS, RedHat, …
Bác quanta đã viết một bài giới thiệu về dịch vụ và các mức khởi động (runlevel) các bạn có thể tham khảo tại
/hvaonline/posts/list/10589.html trước khi đi vào chi tiết bài viết.
Phần 1: Quản lý các dịch vụ trong Fedora
Trong phần này, tôi sẽ đề cập tới dịch vụ là gì, [color="#FF0000"]
runlevel[/color] là gì cũng như hướng dẫn mọi người các thiết đặt và và quản lý các dịch vụ có trong Fedora.
[color="#FF0000"]
Service[/color] (dịch vụ) thường được gọi là [color="#FF0000"]
daemon[/color] là một chương trình xác định chạy ở nền của hệ thống và thường là không tương tác được (
non-interactive). Các chương trình đó được sử dụng cho nhiều mục đích khác nhau bao gồm: quản lý phần cứng (
hardware), truy cập mạng (
network access), theo dõi (
monitoring), ghi log (
logging). Tất cả các hệ điều hành đều có một tập hợp các dịch vụ để tự động thực thi nhiều hoạt động.
[color="#FF0000"]
Runlevel[/color]: trong hệ thống linux, người dùng có thể đặt một dịch vụ hoặc một nhóm các dịch vụ chạy ở một chế độ xác định để thực hiện một vài mục đích nào đó hoặc giới hạn lại mục đích sử dụng của một / nhóm các dịch vụ đó. Đối với hệ điều hành Fedora hoặc các hệ điều hành Linux dựa trên nền RedHat thì runlevel có các giá trị chính sau:
[color="#FF8C00"] Runlevel-1[/color]: chế độ chạy đơn người dùng.(single-user mode)
[color="#FF8C00"] Runlevel-2[/color]: chế độ chạy đa người dùng (multi-user mode)
[color="#FF8C00"] Runlevel-3[/color]: chế độ đa người người, hỗ trợ mạng (multi-user and networking mode)
[color="#FF8C00"] Runlevel-5[/color]: X11 (runlevel 3 + X Windows System).
Thông thường, các dịch vụ chạy ở chế độ đồ họa (dựa trên X-Server như startx) thì thì runlevel ở mức 5 và các dịch vụ không chạy ở chế độ đồ họa thì runlevel ở mức 3. Bình thường, không có dịch vụ nào chạy ở runlevel 1.
Để xác định runlevel mà bạn đang sử dụng thì bạn sử dụng lệnh sau:
Code:
Để xác định runlevel mà hệ thống của bạn sẽ chạy ở lần khởi động kế tiếp:
Code: # cat /etc/inittab | grep :initdefault:
id:5:initdefault:
Tương tự, bạn có thể chỉnh sửa file /etc/inittab và thay đổi giá trị initdefault ở dòng 18.
Để chuyển giữa các runlevel, thay đổi giá trị RUNLEVEL bằng giá trị phù hợp (3, 5…)
Code:
Chú ý: khi bạn thay đổi giá trị Runlevel bằng một giá trị khác 5, X-Server và GUI có thể tắt đột ngột. Cho nên bạn nên chạy lệnh này ở chế độ text console
(CTRL - ALT - F1, F2, F3, F4) trước khi chuyển giá trị runlevel.
Bật tắt các dịch vụ:
Tất cả các dịch vụ đều được đặt ở chế độ bật (Enabled) hoặc tắt (Disable) ở tất cả các chế độ runlevel.
Để xem các dịch vụ đang chạy tại một mức runlevel nào đó, thực hiện lệnh:
Code:
Để tắt bật dịch vụ ở một runlevel nào đó, chạy lệnh
Code: nếu bạn đang ở chế độ đồ họa hoặc
Code: ở chế độ dòng lệnh.
Các bạn có thể tắt bật một dịch vụ xác định nào đó bằng tay bằng cách dùng lệch chkconfig
Code: # /sbin/chkconfig –level 35 crond on
Câu lệnh trên có ý nghĩa: khởi động dịch vụ crond ở cả mức 3 và 5.
Tham số --level có thể nhận giá trị từ 1 đến 5, hoặc kết hợp nhiều giá trị. Tùy chọn on có thể chỉnh thành off (trong trường hợp tắt dịch vụ nào đó). Để biết thêm tham số của lệnh chkconfig, bạn chạy lệnh:
Code:
Điều khiển các dịch vụ:
Bên cạnh việc thiết đặt một dịch vụ (tắt, bật, thiết đặt runlevel) mặc định làm gì khi khởi động hệ thống, các bạn cũng có thể tắt bật dịch vụ khi hệ thống đang hoạt động.
Để xem các dịch vụ đang chạy cùng hệ thống
Code: # /sbin/service –status-all
Để xác định một chi tiết trạng thái hiện tại một services nào đó, chạy lệnh
Code: # /sbin/service crond status
xem trạng thái của dịch vụ crond.
Giá trị status có thể thay thế bằng start, stop, reload, restart, …
Tất cả các dịch vụ ở /etc/init.d/ có thể được điều khiển theo cách tương tự như trên.
Code: # /etc/init.d/crond status
Các bạn có thể sử dụng system-config-servies để thực hiện các chức năng trên trong chế độ đồ họa. Tuy nhiên, sẽ có một vài vấn đề mà bạn sẽ gặp phải khi điều khiển các dịch vụ. Chính vì thế, việc học các câu lệnh trên sẽ rất hữu dụng cho bạn trong nhiều trường hợp
Tiếp theo:
Phần 2: Các dịch vụ trong Fedora 7. Một cái nhìn tổng quan