Chào bạn, tôi là Bùi Mạnh Đức đây. Trong thế giới quản trị hệ thống Linux, việc kiểm soát các dịch vụ chạy nền là một trong những kỹ năng quan trọng nhất. Từ web server, database cho đến các ứng dụng nhỏ, tất cả đều cần được quản lý một cách hiệu quả để đảm bảo hệ thống hoạt động ổn định và tối ưu. Trước đây, chúng ta có thể đã quen thuộc với các lệnh như service hoặc các script trong /etc/init.d. Tuy nhiên, với sự ra đời của systemd, một trình quản lý hệ thống và dịch vụ hiện đại, công cụ systemctl đã trở thành tiêu chuẩn vàng, mang lại sức mạnh và sự linh hoạt vượt trội. Bài viết này sẽ là kim chỉ nam toàn diện, giúp bạn từ bước làm quen đến khi thành thạo lệnh systemctl, một công cụ không thể thiếu của bất kỳ quản trị viên hệ thống Linux nào.
Giới thiệu về lệnh systemctl trong Linux
Nếu bạn đã từng làm việc với các phiên bản Linux hiện đại như Ubuntu 16.04 trở lên, CentOS 7 trở lên, hay Debian 8 trở lên, chắc chắn bạn đã nghe nói đến systemd. Đây là một trình quản lý hệ thống và dịch vụ, thay thế cho hệ thống init truyền thống. systemd được thiết kế để khởi động các tiến trình song song, giúp tăng tốc độ khởi động hệ thống và cung cấp khả năng quản lý dịch vụ mạnh mẽ hơn.
Vậy systemctl là gì? Nói một cách đơn giản, systemctl là công cụ dòng lệnh chính để tương tác và điều khiển systemd. Nó cho phép bạn quản lý các “unit” của systemd, trong đó phổ biến nhất là các “service” (dịch vụ). Thay vì phải vật lộn với các tệp script phức tạp và các lệnh phân mảnh, systemctl cung cấp một giao diện nhất quán và mạnh mẽ để thực hiện mọi tác vụ, từ khởi động, dừng, kiểm tra trạng thái cho đến việc cấu hình dịch vụ tự khởi động cùng hệ thống.
Việc không sử dụng các công cụ quản lý hiện đại như systemctl có thể dẫn đến nhiều vấn đề. Bạn sẽ mất nhiều thời gian hơn để chẩn đoán lỗi, quy trình quản lý trở nên thiếu nhất quán và khó tự động hóa. Trong khi đó, nắm vững systemctl giúp bạn kiểm soát hệ thống một cách chính xác, tăng hiệu suất làm việc và đảm bảo các ứng dụng quan trọng luôn hoạt động ổn định.
Trong bài viết này, chúng ta sẽ cùng nhau khám phá từ những lệnh cơ bản nhất như kiểm tra trạng thái, khởi động dịch vụ, cho đến các kỹ thuật nâng cao hơn như quản lý trạng thái, xử lý lỗi và các mẹo thực hành tốt nhất. Hãy cùng bắt đầu hành trình làm chủ công cụ quyền năng này nhé!

Các lệnh cơ bản với systemctl để quản lý dịch vụ
Để bắt đầu, chúng ta sẽ làm quen với những thao tác nền tảng nhất mà bạn sẽ sử dụng hàng ngày. Đây là những viên gạch đầu tiên xây dựng nên kỹ năng quản trị hệ thống Linux chuyên nghiệp của bạn. Đừng lo lắng nếu bạn là người mới, các lệnh này rất trực quan và dễ nhớ.
Kiểm tra trạng thái dịch vụ
Một trong những việc bạn làm thường xuyên nhất là kiểm tra xem một dịch vụ có đang chạy hay không và tình trạng của nó như thế nào. Lệnh systemctl status chính là trợ thủ đắc lực cho nhiệm vụ này. Nó cung cấp một cái nhìn tổng quan chi tiết về dịch vụ chỉ với một dòng lệnh.
Để sử dụng, bạn chỉ cần gõ lệnh theo cú pháp:
sudo systemctl status <tên dịch vụ>
Ví dụ, để kiểm tra trạng thái của web server Nginx, bạn sẽ chạy lệnh:
sudo systemctl status nginx

Kết quả trả về sẽ chứa rất nhiều thông tin hữu ích. Hãy cùng phân tích các dòng quan trọng:
- Loaded: Cho biết tệp cấu hình của dịch vụ đã được nạp thành công. Dòng này cũng chỉ ra trạng thái enabled (sẽ tự khởi động cùng hệ thống) hay disabled (không tự khởi động).
- Active: Đây là thông tin quan trọng nhất, cho bạn biết trạng thái hiện tại của dịch vụ. Các trạng thái thường gặp là active (running) (đang chạy), inactive (dead) (đã dừng), hoặc failed (gặp lỗi không thể khởi động).
- Docs: Cung cấp đường dẫn đến tài liệu hướng dẫn liên quan đến dịch vụ.
- Main PID: Hiển thị Process ID (PID) của tiến trình chính.
- Tasks: Số lượng tác vụ đang được thực thi bởi dịch vụ.
- Memory: Lượng bộ nhớ RAM mà dịch vụ đang sử dụng.
- CPU: Lượng thời gian CPU đã được dịch vụ sử dụng.
- Các dòng cuối cùng thường hiển thị những nhật ký (log) gần nhất của dịch vụ, giúp bạn nhanh chóng nắm bắt các sự kiện vừa xảy ra hoặc thông báo lỗi nếu có.
Việc đọc hiểu kết quả này giúp bạn chẩn đoán vấn đề một cách nhanh chóng mà không cần phải tìm kiếm log ở nhiều nơi khác nhau.
Khởi động và dừng dịch vụ
Sau khi kiểm tra trạng thái, bạn sẽ cần biết cách thay đổi nó. Hai lệnh cơ bản nhất để làm điều này là start và stop.
Để kích hoạt một dịch vụ đang không hoạt động, bạn sử dụng lệnh systemctl start:
sudo systemctl start <tên dịch vụ>
Ví dụ, để khởi động Nginx, lệnh sẽ là:
sudo systemctl start nginx
Lệnh này sẽ cố gắng khởi động dịch vụ ngay lập tức. Nếu không có lỗi gì xảy ra, dịch vụ sẽ chuyển sang trạng thái active (running). Bạn nên dùng systemctl status ngay sau đó để xác nhận lại.
Ngược lại, để dừng một dịch vụ đang chạy, bạn dùng lệnh systemctl stop:
sudo systemctl stop <tên dịch vụ>
Ví dụ, để dừng Nginx:
sudo systemctl stop nginx
Lệnh này sẽ chấm dứt tất cả các tiến trình thuộc về dịch vụ đó. Dịch vụ sẽ chuyển sang trạng thái inactive (dead).
Một điểm quan trọng cần phân biệt ở đây là sự khác biệt giữa việc dừng (stop) và vô hiệu hóa (disable) một dịch vụ.
stop: Chỉ dừng dịch vụ ở phiên làm việc hiện tại. Nếu dịch vụ đó được cấu hình để tự khởi động (enabled), nó sẽ tự động chạy lại vào lần khởi động máy chủ tiếp theo.
disable: Gỡ bỏ cấu hình tự khởi động của dịch vụ. Dịch vụ sẽ không tự chạy ở các lần khởi động sau, nhưng nếu nó đang chạy ở phiên hiện tại, nó sẽ không bị ảnh hưởng.
Hiểu rõ sự khác biệt này là chìa khóa để quản lý dịch vụ một cách chủ động và tránh những sự cố bất ngờ khi khởi động lại hệ thống.

Kích hoạt và vô hiệu hóa dịch vụ tự động khởi động cùng hệ thống
Quản lý việc một dịch vụ có tự động chạy khi máy chủ khởi động hay không là một phần cực kỳ quan trọng của quản trị hệ thống. Bạn chắc chắn muốn web server hay database của mình luôn sẵn sàng sau mỗi lần bảo trì hoặc khởi động lại. systemctl cung cấp hai lệnh đơn giản là enable và disable để bạn làm điều này.
Kích hoạt dịch vụ tự khởi động
Khi bạn cài đặt một dịch vụ quan trọng như Nginx, Apache, hay MySQL, bạn thường muốn nó luôn chạy. Lệnh systemctl enable giúp bạn thiết lập điều đó một cách dễ dàng.
Cú pháp của lệnh như sau:
sudo systemctl enable <tên dịch vụ>
Ví dụ, để đảm bảo Nginx luôn tự khởi động cùng hệ thống:
sudo systemctl enable nginx
Vậy lệnh này thực sự làm gì ở phía sau? Khi bạn chạy enable, systemd sẽ tạo một liên kết tượng trưng (symbolic link) từ tệp cấu hình của dịch vụ trong /lib/systemd/system/ tới một thư mục đặc biệt mà systemd sẽ quét khi khởi động. Điều này báo cho systemd biết rằng “hãy khởi động dịch vụ này khi hệ thống sẵn sàng”.
Bạn nên enable những dịch vụ nào? Câu trả lời là các dịch vụ cốt lõi cho hoạt động của ứng dụng hoặc hệ thống của bạn. Ví dụ:
- Web server (Nginx, Apache).
- Cơ sở dữ liệu (MySQL, PostgreSQL, MongoDB).
- Dịch vụ SSH (
sshd), để đảm bảo bạn luôn có thể truy cập máy chủ từ xa.
- Tường lửa (
firewalld, ufw).
Lưu ý rằng enable chỉ thiết lập cho các lần khởi động trong tương lai. Nó không khởi động dịch vụ ngay lập tức. Nếu bạn muốn dịch vụ chạy ngay, bạn vẫn cần dùng lệnh sudo systemctl start nginx sau khi enable.

Vô hiệu hóa dịch vụ tự khởi động
Ngược lại với enable, có những dịch vụ bạn không muốn chúng tự động chạy để tiết kiệm tài nguyên hoặc vì lý do bảo mật. Lệnh systemctl disable sẽ giúp bạn.
Cú pháp lệnh:
sudo systemctl disable <tên dịch vụ>
Ví dụ, nếu bạn không còn sử dụng dịch vụ bluetooth trên máy chủ của mình, bạn có thể vô hiệu hóa nó:
sudo systemctl disable bluetooth
Lệnh disable sẽ xóa các liên kết tượng trưng mà lệnh enable đã tạo ra. Kết quả là systemd sẽ bỏ qua dịch vụ này trong quá trình khởi động hệ thống.
Việc vô hiệu hóa các dịch vụ không cần thiết có ảnh hưởng tích cực đến hiệu năng hệ thống. Mỗi dịch vụ chạy nền đều tiêu tốn một lượng RAM và CPU nhất định. Bằng cách tắt các dịch vụ không sử dụng, bạn giải phóng tài nguyên quý giá này cho các ứng dụng quan trọng hơn. Hơn nữa, nó còn giúp giảm “bề mặt tấn công” (attack surface), góp phần tăng cường bảo mật cho hệ thống của bạn.
Tương tự như enable, lệnh disable không dừng dịch vụ nếu nó đang chạy. Bạn cần phải dùng sudo systemctl stop bluetooth để dừng nó ngay lập tức.
Quản lý dịch vụ sử dụng systemd với systemctl
Sau khi nắm vững các lệnh cơ bản, chúng ta sẽ đi sâu hơn vào cách systemd và systemctl phối hợp với nhau để quản lý các trạng thái dịch vụ và thực hiện các thao tác nâng cao. Hiểu rõ các khái niệm này sẽ giúp bạn kiểm soát hệ thống một cách tinh vi và hiệu quả hơn.
Các trạng thái dịch vụ quan trọng trong systemd
systemd sử dụng một hệ thống trạng thái rõ ràng để mô tả tình trạng của mỗi dịch vụ. Việc hiểu ý nghĩa của chúng là rất quan trọng để chẩn đoán và quản lý. Dưới đây là các trạng thái chính bạn cần biết:
- active (running): Dịch vụ đang chạy bình thường. Đây là trạng thái mong muốn cho hầu hết các dịch vụ quan trọng.
- active (exited): Tiến trình chính của dịch vụ đã hoàn thành công việc và thoát ra thành công. Trạng thái này thường thấy ở các dịch vụ chỉ thực hiện một tác vụ duy nhất rồi dừng lại, ví dụ như một script kiểm tra hệ thống lúc khởi động.
- inactive (dead): Dịch vụ đã được dừng hoàn toàn và không có tiến trình nào đang chạy.
- failed: Dịch vụ đã cố gắng khởi động nhưng gặp lỗi và không thể chạy. Đây là dấu hiệu bạn cần kiểm tra log để tìm nguyên nhân.
- enabled: Dịch vụ đã được cấu hình để tự động khởi động cùng hệ thống. Trạng thái này không cho biết dịch vụ có đang chạy hay không, mà chỉ liên quan đến hành vi lúc khởi động.
- disabled: Dịch vụ không được cấu hình để tự động khởi động.
Bạn có thể dễ dàng theo dõi các trạng thái này bằng lệnh systemctl status. Ngoài ra, để kiểm tra nhanh một dịch vụ có đang hoạt động hay không, bạn có thể dùng lệnh systemctl is-active <tên dịch vụ>. Tương tự, systemctl is-enabled <tên dịch vụ> sẽ cho bạn biết nó có tự khởi động hay không.
Ví dụ:
systemctl is-active nginx sẽ trả về active nếu Nginx đang chạy.
systemctl is-enabled nginx sẽ trả về enabled nếu Nginx được thiết lập tự khởi động.

Thao tác nâng cao với systemctl
Bên cạnh start và stop, systemctl còn cung cấp nhiều lệnh hữu ích khác cho các tình huống cụ thể.
Restart và Reload dịch vụ
- restart: Lệnh này là sự kết hợp của
stop và start. Nó sẽ dừng hoàn toàn dịch vụ rồi khởi động lại.
sudo systemctl restart <tên dịch vụ>
Bạn nên dùng restart khi bạn đã thay đổi cấu hình sâu hoặc khi dịch vụ bị treo và cần một sự khởi đầu mới hoàn toàn.
- reload: Lệnh này tinh tế hơn. Nó yêu cầu dịch vụ tải lại tệp cấu hình của mình mà không cần phải dừng lại.
sudo systemctl reload <tên dịch vụ>
Đây là lựa chọn ưu tiên khi bạn chỉ thay đổi cấu hình, ví dụ như thêm một virtual host mới trong Nginx. reload giúp áp dụng thay đổi mà không gây gián đoạn dịch vụ (zero downtime), điều cực kỳ quan trọng đối với môi trường sản phẩm. Tuy nhiên, không phải dịch vụ nào cũng hỗ trợ reload.
Mask và Unmask dịch vụ
Đây là những thao tác ít được sử dụng nhưng rất mạnh mẽ trong một số trường hợp đặc biệt.
- mask: Lệnh
mask còn mạnh hơn cả disable. Nó tạo một liên kết tượng trưng từ tệp dịch vụ đến /dev/null.
sudo systemctl mask <tên dịch vụ>
Kết quả là dịch vụ sẽ không thể được khởi động, dù là thủ công (start) hay do một dịch vụ khác gọi tới. Bạn sẽ dùng mask khi muốn chắc chắn rằng một dịch vụ không bao giờ được phép chạy trên hệ thống, ví dụ như một dịch vụ có lỗ hổng bảo mật mà bạn chưa thể gỡ bỏ.
- unmask: Lệnh này làm ngược lại, gỡ bỏ liên kết tới
/dev/null và cho phép dịch vụ có thể được quản lý trở lại.
sudo systemctl unmask <tên dịch vụ>
Nắm vững các thao tác nâng cao này cho phép bạn quản lý hệ thống một cách linh hoạt, đảm bảo cả tính ổn định và bảo mật.

Các vấn đề thường gặp và cách khắc phục
Ngay cả với một công cụ mạnh mẽ như systemctl, đôi khi bạn vẫn sẽ gặp phải sự cố. Dịch vụ không khởi động, lệnh báo lỗi… là những tình huống phổ biến. Phần này sẽ hướng dẫn bạn cách chẩn đoán và giải quyết một số vấn đề thường gặp nhất.
Dịch vụ không khởi động được dù đã enable
Đây có lẽ là vấn đề đau đầu nhất. Bạn đã dùng lệnh enable và start, nhưng systemctl status lại báo failed. Đừng hoảng sợ, đây là lúc kỹ năng gỡ lỗi của bạn tỏa sáng.
Nguyên nhân phổ biến nhất thường là do lỗi cú pháp trong tệp cấu hình của dịch vụ. Ví dụ, bạn thêm một dòng không hợp lệ vào tệp nginx.conf, Nginx sẽ không thể khởi động.
Công cụ chẩn đoán mạnh mẽ nhất trong trường hợp này là journalctl. Đây là tiện ích của systemd dùng để xem nhật ký hệ thống. Để xem log cụ thể của một dịch vụ, hãy sử dụng lệnh:
sudo journalctl -u <tên dịch vụ>
Ví dụ, để xem log của Nginx:
sudo journalctl -u nginx

Lệnh này sẽ hiển thị toàn bộ lịch sử log của dịch vụ. Hãy kéo xuống cuối cùng để xem các thông báo lỗi gần nhất. Thường thì thông báo lỗi sẽ chỉ rõ vấn đề, ví dụ như “syntax error in /etc/nginx/sites-available/default on line 20”.
Một lệnh khác cũng cực kỳ hữu ích là:
sudo journalctl -xe
Lệnh này hiển thị các thông báo log hệ thống gần đây nhất, với nhiều chi tiết hơn về lỗi vừa xảy ra.
Cách sửa lỗi cơ bản:
- Chạy
systemctl status <tên dịch vụ> để xác nhận trạng thái failed.
- Chạy
journalctl -u <tên dịch vụ> hoặc journalctl -xe để đọc thông báo lỗi.
- Dựa vào thông báo lỗi, tìm đến tệp cấu hình và dòng bị lỗi để sửa lại.
- Sau khi sửa xong, hãy thử khởi động lại dịch vụ:
sudo systemctl restart <tên dịch vụ>.
- Kiểm tra lại trạng thái bằng
systemctl status để chắc chắn dịch vụ đã chạy thành công.
Lệnh systemctl không có quyền chạy hoặc báo lỗi
Một vấn đề khác mà người dùng mới hay gặp là các thông báo lỗi liên quan đến quyền hạn, ví dụ như “Authentication is required”.
Phân quyền sử dụng lệnh systemctl với sudo
Hầu hết các lệnh systemctl thay đổi trạng thái hệ thống (như start, stop, enable, disable, restart) đều yêu cầu quyền root (quản trị viên). Điều này là để đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể thực hiện các thay đổi quan trọng.
Cách giải quyết rất đơn giản: hãy thêm sudo vào trước mỗi lệnh.
Ví dụ: thay vì systemctl start nginx, hãy dùng sudo systemctl start nginx.
Nếu bạn đang đăng nhập bằng tài khoản root, bạn không cần dùng sudo. Tuy nhiên, thực hành tốt nhất về bảo mật là luôn sử dụng một tài khoản người dùng thông thường và chỉ dùng sudo khi cần thiết.
Kiểm tra phiên bản systemd và cập nhật phù hợp
Trong một số trường hợp rất hiếm, đặc biệt là trên các hệ thống cũ hoặc tùy chỉnh sâu, bạn có thể gặp lỗi do phiên bản systemd không tương thích hoặc bị lỗi. Bạn có thể kiểm tra phiên bản systemd của mình bằng lệnh:
systemctl --version
Nếu nghi ngờ có vấn đề với phiên bản, giải pháp tốt nhất là cập nhật hệ thống của bạn lên phiên bản mới nhất bằng trình quản lý gói (sudo apt update && sudo apt upgrade trên Debian/Ubuntu hoặc sudo yum update trên CentOS). Điều này đảm bảo bạn có các bản vá lỗi và tính năng mới nhất.

Lời khuyên và lưu ý khi sử dụng lệnh systemctl
Để trở thành một người quản trị hệ thống Linux hiệu quả, việc biết các lệnh thôi là chưa đủ. Bạn cần áp dụng chúng một cách khôn ngoan và an toàn. Dưới đây là những lời khuyên và lưu ý quan trọng mà Bùi Mạnh Đức đã đúc kết được qua nhiều năm kinh nghiệm thực chiến.
- Ưu tiên dùng systemctl thay vì các lệnh init cũ: Trên các hệ thống hiện đại sử dụng systemd, hãy luôn sử dụng systemctl. Tránh dùng các lệnh cũ như
service httpd start hay trực tiếp chạy script trong /etc/init.d/. systemctl cung cấp thông tin chi tiết hơn, quản lý nhất quán hơn và là cách làm được khuyến nghị.
- Luôn kiểm tra trạng thái sau khi thao tác: Đây là một thói quen cực kỳ tốt. Sau mỗi lần bạn chạy
start, stop, restart, hay reload, hãy ngay lập tức chạy systemctl status <tên dịch vụ> để xác nhận rằng thay đổi của bạn đã được áp dụng đúng như mong đợi và không có lỗi nào phát sinh. Đừng mù quáng tin rằng lệnh đã thành công.

- Sao lưu cấu hình dịch vụ trước khi thay đổi quan trọng: Trước khi bạn chỉnh sửa một tệp cấu hình quan trọng (ví dụ
nginx.conf hay my.cnf), hãy tạo một bản sao lưu. Một lệnh đơn giản như sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak có thể cứu bạn khỏi nhiều giờ đau đầu nếu bạn vô tình gây ra lỗi.
- Tránh dừng hoặc vô hiệu hóa dịch vụ hệ thống không rõ chức năng: Hệ thống Linux có nhiều dịch vụ chạy nền để duy trì hoạt động bình thường. Nếu bạn không chắc một dịch vụ nào đó làm gì, đừng vội vàng
stop hay disable nó. Việc dừng các dịch vụ quan trọng như networkd, systemd-logind hay sshd có thể khiến bạn mất kết nối hoặc không thể đăng nhập vào máy chủ. Hãy tìm hiểu kỹ chức năng của dịch vụ trước khi can thiệp.
- Sử dụng
reload thay vì restart khi có thể: Như đã đề cập, reload cho phép áp dụng cấu hình mới mà không gây gián đoạn. Hãy tập thói quen ưu tiên sử dụng reload cho các dịch vụ hỗ trợ nó (như Nginx, Apache, PHP-FPM) để tối đa hóa thời gian hoạt động (uptime) của ứng dụng.
- Tận dụng tính năng xem log tích hợp: Thay vì phải
tail các tệp log ở nhiều nơi, hãy tập làm quen với journalctl -u <tên dịch vụ>. Nó cung cấp một cái nhìn tập trung và đầy đủ về hoạt động của dịch vụ, giúp việc gỡ lỗi trở nên nhanh chóng và hiệu quả hơn rất nhiều.
Bằng cách tuân thủ những nguyên tắc này, bạn không chỉ sử dụng systemctl một cách chính xác mà còn thể hiện được sự chuyên nghiệp và cẩn trọng của một quản trị viên hệ thống giỏi.

Kết luận
Qua bài viết này, chúng ta đã cùng nhau đi từ những khái niệm cơ bản nhất đến các kỹ thuật nâng cao trong việc sử dụng lệnh systemctl. Rõ ràng, đây không chỉ là một lệnh đơn thuần, mà là một cổng giao tiếp mạnh mẽ và toàn diện với trái tim của các hệ thống Linux hiện đại – systemd. Vai trò của systemctl trong việc quản lý dịch vụ là không thể thiếu, giúp đảm bảo sự ổn định, hiệu quả và khả năng kiểm soát hệ thống một cách chặt chẽ.
Chúng ta đã học cách kiểm tra trạng thái, khởi động và dừng dịch vụ, cũng như cách thiết lập chúng tự khởi động cùng hệ thống. Chúng ta cũng đã tìm hiểu sâu hơn về các trạng thái dịch vụ, các thao tác nâng cao như reload hay mask, và quan trọng nhất là cách chẩn đoán và khắc phục sự cố bằng journalctl.
Kiến thức sẽ chỉ thực sự là của bạn khi được áp dụng vào thực tế. Tôi khuyến khích bạn hãy mở ngay cửa sổ dòng lệnh và thực hành các lệnh đã học. Hãy thử kiểm tra trạng thái của một dịch vụ quen thuộc, thử dừng và khởi động lại nó. Việc thực hành thường xuyên sẽ giúp các lệnh này trở thành phản xạ tự nhiên, nâng cao đáng kể hiệu quả quản trị hệ thống của bạn.
Thế giới quản trị Linux rất rộng lớn và systemd còn nhiều khía cạnh thú vị khác để khám phá. Hy vọng rằng bài viết này đã cung cấp cho bạn một nền tảng vững chắc. Hãy áp dụng ngay những kiến thức này để quản lý máy chủ của bạn một cách chuyên nghiệp và tự tin hơn.