Lệnh sysctl trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh sysctl trong Linux để xem và sửa đổi các tham số kernel tại thời điểm chạy. Lệnh sysctl cho phép bạn tinh chỉnh hành vi của hệ thống Linux bằng cách điều chỉnh các cài đặt cấp kernel khác nhau, chẳng hạn như mạng, quản lý bộ nhớ và cấu hình bảo mật. Bạn sẽ bắt đầu bằng cách hiểu mục đích và chức năng của lệnh sysctl, sau đó học cách sửa đổi các tham số kernel bằng lệnh và cuối cùng, khám phá cách duy trì các thay đổi cấu hình này sau khi khởi động lại hệ thống.

Hiểu Mục đích và Chức năng của Lệnh sysctl

Trong bước này, bạn sẽ tìm hiểu về mục đích và chức năng của lệnh sysctl trong Linux. Lệnh sysctl được sử dụng để xem và sửa đổi các tham số kernel tại thời điểm chạy, cho phép bạn tinh chỉnh hành vi của hệ thống Linux.

Lệnh sysctl cho phép bạn:

  • Xem giá trị hiện tại của một tham số kernel
  • Sửa đổi giá trị của một tham số kernel
  • Duy trì các thay đổi tham số kernel sau khi khởi động lại hệ thống

Để xem giá trị hiện tại của một tham số kernel, bạn có thể sử dụng lệnh sysctl với tên tham số:

$ sysctl kernel.hostname
kernel.hostname = ubuntu

Thao tác này sẽ hiển thị giá trị hiện tại của tham số kernel.hostname.

Để sửa đổi giá trị của một tham số kernel, bạn có thể sử dụng tùy chọn -w hoặc --write:

$ sudo sysctl -w kernel.hostname=myhost
kernel.hostname = myhost

Thao tác này sẽ thay đổi hostname của hệ thống thành myhost.

Ví dụ đầu ra:

$ sysctl kernel.hostname
kernel.hostname = myhost

Lệnh sysctl cung cấp quyền truy cập vào một loạt các tham số kernel, cho phép bạn tùy chỉnh và tối ưu hóa hệ thống Linux của mình cho các trường hợp sử dụng cụ thể.

Sửa đổi Tham số Kernel bằng Lệnh sysctl

Trong bước này, bạn sẽ học cách sử dụng lệnh sysctl để sửa đổi các tham số kernel trong hệ thống Linux của bạn.

Lệnh sysctl cho phép bạn xem và thay đổi giá trị của các tham số kernel khác nhau tại thời điểm chạy. Điều này có thể hữu ích để điều chỉnh hiệu suất hệ thống, bảo mật và các khía cạnh khác của hệ thống Linux của bạn.

Để sửa đổi một tham số kernel bằng sysctl, bạn có thể sử dụng tùy chọn -w hoặc --write, tiếp theo là tên tham số và giá trị mới:

$ sudo sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

Trong ví dụ này, chúng ta đang bật IP forwarding bằng cách đặt tham số net.ipv4.ip_forward thành 1.

Bạn cũng có thể sử dụng lệnh sysctl để sửa đổi nhiều tham số cùng một lúc:

$ sudo sysctl -w net.ipv4.ip_forward=1 vm.swappiness=10
net.ipv4.ip_forward = 1
vm.swappiness = 10

Ở đây, chúng ta đang bật IP forwarding và đặt tham số vm.swappiness thành 10.

Ví dụ đầu ra:

$ sysctl net.ipv4.ip_forward vm.swappiness
net.ipv4.ip_forward = 1
vm.swappiness = 10

Các thay đổi được thực hiện bằng lệnh sysctl chỉ là tạm thời và sẽ mất sau khi khởi động lại hệ thống. Để làm cho các thay đổi này tồn tại vĩnh viễn, bạn cần sửa đổi tệp cấu hình thích hợp, điều mà chúng ta sẽ đề cập trong bước tiếp theo.

Duy trì Thay đổi Cấu hình sysctl Sau khi Khởi động lại

Trong bước trước, bạn đã học cách sử dụng lệnh sysctl để sửa đổi các tham số kernel. Tuy nhiên, những thay đổi này chỉ là tạm thời và sẽ mất sau khi khởi động lại hệ thống. Trong bước này, bạn sẽ học cách làm cho các thay đổi cấu hình sysctl tồn tại vĩnh viễn sau khi khởi động lại.

Để duy trì các thay đổi cấu hình sysctl, bạn cần sửa đổi tệp /etc/sysctl.conf. Tệp này được kernel đọc khi khởi động và các tham số kernel được chỉ định sẽ được áp dụng.

Đầu tiên, mở tệp /etc/sysctl.conf bằng trình soạn thảo văn bản:

$ sudo nano /etc/sysctl.conf

Sau đó, thêm các tham số kernel bạn muốn duy trì, mỗi tham số trên một dòng, theo định dạng sau:

parameter=value

Ví dụ: để duy trì các thay đổi được thực hiện trong bước trước:

net.ipv4.ip_forward=1
vm.swappiness=10

Lưu tệp và thoát trình soạn thảo văn bản.

Để áp dụng các thay đổi ngay lập tức, mà không cần đợi khởi động lại, hãy chạy lệnh sau:

$ sudo sysctl -p

Thao tác này sẽ tải cấu hình mới từ tệp /etc/sysctl.conf và áp dụng các thay đổi.

Ví dụ đầu ra:

$ sudo sysctl -p
net.ipv4.ip_forward = 1
vm.swappiness = 10

Giờ đây, các thay đổi tham số kernel sẽ tồn tại vĩnh viễn sau khi khởi động lại hệ thống.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về mục đích và chức năng của lệnh sysctl trong Linux, cho phép bạn xem và sửa đổi các tham số kernel tại thời điểm chạy. Bạn đã khám phá cách sử dụng lệnh sysctl để xem giá trị hiện tại của tham số kernel, cũng như cách sửa đổi giá trị của tham số bằng tùy chọn -w hoặc --write. Ngoài ra, bạn đã biết rằng lệnh sysctl cung cấp quyền truy cập vào một loạt các tham số kernel, cho phép bạn tùy chỉnh và tối ưu hóa hệ thống Linux của mình cho các trường hợp sử dụng cụ thể. Cuối cùng, bạn đã khám phá cách sửa đổi nhiều tham số kernel đồng thời bằng lệnh sysctl.

400+ câu lệnh phổ biến trong Linux