Một số lệnh cơ bản về quản trị server Linux

1. Quản trị packages

a. install from source code
Các chương trình trên *nix thường ở 2 dạng : mã nguồn ( .tar, .tar.bz, .tar.gz… ) và dạng đóng gói ( .rpm với Redhat, fedora, .deb với Debian )
Trên tôi đã nói về cách cài đặt với loại đã đóng gói. Giờ tôi sẽ nói thêm về cài đặt qua mã nguồn.

— Chuẩn bị: trước khi cài đặt bạn phải có mã nguồn của chương trình, có thể tìm kiếm trên Internet

Sau đó giải nén vào thư mục ( thường là /tmp ). Các bước cài đặt phổ biến là:

HTML Code:

. ./configure ( có thể tùy biến một số module trên lệnh này )
. make
. make install

b. rpm
dùng để install, update, xem thông tin … các gói packets

vd:

HTML Code:

rpm -ivh <package_name.rpm> : cài đặt
rpm -Uvh <package_name.rpm> : cập nhật
rpm -qvl <package_name.rpm> : xem thông tin chi tiết

c. yum
: trình dùng để cài đặt, và cập nhật gói tin qua mạng Internet ( yêu câu máy bạn phải kết nối Internet, và cài packet yum, thường ở fedora, gói này được cài theo mặc định )

Trước khi sử dụng, bạn phải edit file /etc/yum.conf để chỉ ra nơi mà yum sẽ tìm các package.

vd :

HTML Code:

yum install <package_name>
yum update <package_name>
yum search <package_name>


2. Quản trị hệ thống

a. netstat

dùng để xem các “kết nối” tới server của mình. Các kết nối này có thể ở trong các trạng thái establish, time_wait, closed_wait, fin_wait, … chi tiết xem bài ” Bảo mật ứng dụng phần mềm mã nguồn mở của anh mrro )
vd: n

HTML Code:

etstat
netstat | grep 80 : xem những kết nối đến port 80
netstat | grep 80 | wc -l : tổng số kết nối đến port 80
netstat -p | grep 0.0.0.0:80 | grep LISTENING : xem pid của dịch vụ httpd.

b. uptime
: hệ thống đã chạy được bao lâu và tải trung bình ( load average )

c. top
: theo dõi các process trên hệ thống cùng với CPU, memory sử dụng( process nào đang chạy, process nào đang free); đồng thời xem lượng CPU, memory, swap sử dụng, còn free.

Để xem help, gõ “top”, rồi ấn “h”.

d. ps

ps giúp bạn hiển thị các tiến trình hiện tại đang chạy ( currently running process ) trên hệ thống. Nó cũng tương tự như “Task_manager’ bên Windows. Bên cạnh các process, ps cũng hiển thị các “process id” tương ứng, từ các id này bạn có thể stop một process bất kì thông qua lệnh kill ( kill <process_id> , chi tiết gõ “man kill” )

vd:

HTML Code:

 ps -aux : hiển thị tất cả các process cùng với thông tin chi tiết về nó
ps -U <username> : hiển thị các process được khởi động bởi người dùng username

– /sbin/service

/sbin/service giúp bạn quản trị các dịch vụ đã cài đặt trong hệ thống, vd vsftpd, httpd, snmpd, postfix, iptables, smb … các dịch vụ này được liệt kê trong /etc/rc.d/init.d.

Cấu trúc ( phổ biến ): /sbin/service <service_name> start | stop | restart | status ( status để xem dịch vụ này đang ở trạng thái gì, start, hay stop )

vd:

HTML Code:

/sbin/service httpd status
/sbin/service iptables start

Note: xem thêm “chkconfig”

e. kill
: công cụ này dùng để kill ( diệt ) tiến trình dựa vào “process id” của nó ( process id dựa vào netstat -p hay ps -aux ở trên ). Kill có nhiều mức, mức 9 là mạnh nhất ( tôi sẽ ko đi sau về nó, chi tiết bạn xem man )

vd:

HTML Code:

kill 19345
kill -9 19345

– /sbin/setup

Đây là tiện ích cho phép bạn setup một số thao tác quản trị qua giao diện menu rất trực quan và dễ dàng, bao gồm: thiết lập địa chỉ IP ( subnet mask, default gateway, dns, … ), thiết lập firewall, thiết lập các xác thực …

f. ifconfig

đây là tool cho phép bạn cấu hình hay hiển thị cấu hình các địa chỉ IP cho các interface ( giao diện mạng ). Hẳn các bạn đã biết bên Windows có lệnh ipconfig, thì ở bên Linux, chúng ta lại có ifconfig, nhưng ifconfig còn làm được nhiều việc hơn.

vd: ifconfig cho phép bạn gán nhiều địa chỉ IP lên một interface. Lệnh sau sẽ gán thêm IP 66.193.175.173 vào giao tiếp eth0
#

HTML Code:

ifconfig eth0:1 66.193.175.173 netmask 255.255.254.0

g. route

Cho phép bạn quản lý bảng định tuyến, bảng định tuyến là gì ? Nói ngắn gọn là khi các packets từ máy bạn muốn ra ngoài, thì nó phải dựa vào bảng định tuyến này để tìm đường đi “đầu tiên” cho mình, tương tự như cái “cửa” vậy. Tuy nhiên sau khi ra ngoài thì nó phải thực hiện một quá trình định tuyến ( routing ) để đi đến đích, đây cũng là một vấn đề lớn , ko thể trình bày chi tiết ở đây được.

vd: route –> nó sẽ hiện thị routing table .

h. cron
Trình này cho phép bạn thiết lập các schedular job ( công việc theo lịch ), lưu ý là daemon crond phải được chạy, đây tôi xin nêu một ví dụ nhỏ:
Mục đích của tôi là cứ 2h sáng 0 phút mỗi ngày máy sẽ thực hiện tự động file backup.pl trong /home/linet/script

HTML Code:

#crontab -e : dùng để edit file cron
Thêm vào dòng sau:
00 2 * * * linet /home/linet/script/backup.pl

i. chmod, chown, chcon
chmod: thiết lập các thuộc tính read, write, execute của file, thư mục đối với từng người dùng
vd: chmod 777 myfile.php –> cho phép tất cả người dùng có quyền ghi, đọc, thực thi với file này

chown: thiết lập chủ sở hữu của file, thư mục
vd: chown linet:admin myfile.php —> chủ sở hữu của myfile.php là linet ( thuộc nhóm admin )

chcon: thay đổi security context, lệnh này tôi cũng chưa hiểu rõ lắm, nên mời mọi người chỉ giúp.

j. ping, traceroute

Đây là hai lệnh khá phổ biến với mọi người, tôi cũng xin nêu ngắn gọn về chúng
ping: là lệnh gửi các ICMP echo-request đến máy khác và đợi các ICMP echo-reply gửi về, nó thường được dùng để kiểm tra xem một host có đang chạy hay không, dựa vào sự tồn tại của echo-reply.
Nhiều người đã sử dụng ping với ứng dụng là ping flood, tức là gửi đi gói tin request với kích thước rất lớn trong thời gian rất nhanh để cho máy kia luôn phải ” trả lời”, tiêu tốn tài nguyên của hệ thống.

traceroute: ( trong Windows có ‘tracert’ ) là lệnh dò tìm đường đi từ máy hiện tại đến máy đích. Lệnh này hiện thị ra các router mà packets phải đi qua để đến được đích.

vd:

HTML Code:

ping hackingart.com
traceroute hotgame.vn

k. df, du

Hiện thị không gian sử dụng filesystem
vd: df -h

l. ls, cat, vi

Đây là những lệnh cơ bản nhất cho người dùng Linux, nhưng cũng là những lệnh thường dùng nhất, ls tương tự như dir, cat dùng để xem nội dung file, vi là trình soạn thảo.

m. more, grep, awk

Lệnh trong Linux console có một tính năng rất mạnh là nó có thể kết hợp nhiều lệnh để tạo ra kết quả.

grep: lọc thông tin
vd:

HTML Code:

ps -aux | grep httpd

-> hiển thị các tiến trình phục vụ cho dịch vụ httpd ( bình thường ps -aux sẽ hiển thị tất cả tiến trình )

more: giúp cho việc hiển thị kết quả stdout được phân từng trang, tiện cho việc theo dõi khi kết quả quá dài
vd:

HTML Code:

cat error_log | more

awk hay gawk : tôi được biết đây là một command rất hay

n. mc

Các bạn dùng bên Windows có NC thì bên Linux có MC, chức năng và cách dùng cũng tương tự nhau.

o. GUI
gõ:

Code:

init 5

hay

Code:

cltr + Alt + F8

để chuyển sang chế độ GUI – chạy cho vui )
cách 2: vim /etc/inittab tìm đến dòng

HTML Code:

id:3:initdefault:

thay đổi thành

HTML Code:

id:5:initdefault:

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: