Jan 5, 2011

Tài liệu tiện ích cơ bản cho Linux Admin

1. Quản trị packages 

- rpm
dùng để install, update, xem thông tin ... các gói packets
vd: 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
- 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 : yum install <package_name>
yum update <package_name>
yum search <package_name>
Tham khảo thêm http://www.fedorafaq.org/#installsoftware
Trang chủ: http://linux.duke.edu/projects/yum/ Tips: Để tìm kiếm .rpm :
http://rpmseek.com : trang tìm kiếm
google với keyword: inurl:fedora "index of" ( với packages cho fedora)
- 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
Tips: http://sourceforge.net
http://freshmeat.net
google với từ khóa: inurl:<package_name> "index of"
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à:
. ./configure ( có thể tùy biến một số module trên lệnh này )
. make
. make install

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

- 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: netstat
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.
- uptime
: hệ thống đã chạy được bao lâu và tải trung bình ( load average )
- 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".
- 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: 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: /sbin/service httpd status
/sbin/service iptables start
Note: xem thêm "chkconfig"
- 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: 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 ...
- 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
#ifconfig eth0:1 66.193.175.173 netmask 255.255.254.0
- 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 .
- 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, bạn có thể tìm hiểu rõ thêm ở đây http://www.unixgeeks.org/security/ne...ix/cron-1.html, đâ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
#crontab -e : dùng để edit file cron
Thêm vào dòng sau:
00 2 * * * linet /home/linet/script/backup.pl
- 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.
- 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: ping hvaonline.net
traceroute hvaonline.net
- df, du
Hiện thị không gian sử dụng filesystem
vd: df -h
- 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.
- 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: 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: cat error_log | more
awk hay gawk : tôi được biết đây là một command rất hay, đang nghiên cứu, dịp sau tôi sẽ trình bày cho các bạ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.
(www.vietnamlab.com)

No comments:

Post a Comment