Tổng quan về hệ thống CentOS 6

Bài này giới thiệu về hệ thống thư mục và những điều liên quan, tương đối căn bản.
Với những ai mới làm quen, tôi cũng xin giới thiệu một vài lệnh cơ bản để các bạn dạo quanh hệ thống và tìm hiểu.

Dòng 1: CentOS release 6.3 (Final)
Đây là phiên bản của CentOS (6.3)
Dòng 2: Kernel 2.6.32-279.e16.i686 on an i686
Đây là phiên bản Linux, tức phần lõi của CentOS. Như đã nói Các Distro Linux thực chất là sự kết hợp giữa nhân (lõi) -kernel và các gói,
CƠ BẢN
Chúng ta thấy [root@services2 ~]# . Ý nghĩa của nó như sau :
root : User hiện tại (tức là bạn đang log on tại đây bằng User nào )
services2 : tên hostname của máy
~ : ta đang đứng tại thư mục chủ của User này (Mỗi User được tạo trong Linux đều có 1 thư mục của riêng mình, mặc định nằm hết trong /home (nghĩa là thư mục home) , riêng User root có thư mục riêng là /root)
# : User hiện tại đang là User có quyền cao nhất trong hệ thống (thay vì ~ là user thường).

Lệnh đầu tiên ta sẽ học là ls : liệt kê các thư mục và tập tin bên trong thư mục đang đứng,
Ta đang đứng trong thư mục /root, vì vậy khi gõ ls, sẽ có các thư mục, tập tin :
Đầu tiên là anaconda-ks.cfg :
Để hiểu file này là cái gì, ta tìm hiểu một chút về Anaconda...
Anaconda là 1 trình cài đặt dùng trong Red hat, Oracle, Scientific, Fedora. Nó được thiết kế để dễ dàng đi động và thích ứng với nhiều nền tảng, hỗ trợ cài đặt từ CD-ROM đến cài qua mạng.
Anaconda có thể cho phép cài đặt tự động, ít sự giám sát, can thiệp của người dùng thông qua Kickstart.
Kickstart là 1 phương pháp cài đặt với phương châm tự động hóa cho người dùng. Và anaconda-ks.cfg chính là file Kickstart đó, nó lưu trữ thông tin và được tạo trong quá trình anaconda chạy.
(Tham khảo thêm tại đây: http://fedoraproject.org/wiki/Anaconda/Kickstart)
Đây là 1 ví dụ về anaconda-ks.cfg:
# Kickstart file automatically generated by anaconda.
install
url --url http://ks.managed.com/fedora
lang en_US.UTF-8
langsupport --default en_US.UTF-8 en_US.UTF-8
keyboard us
mouse none
xconfig --card "Intel 845" --videoram 16384 --hsync 31.5-37.9 --vsync 50-70 --resolution 800x600 --depth 24
network --device eth0 --bootproto static --ip 65.75.187.253 --netmask 255.255.255.0 --gateway 65.75.187.1 --nameserver 66.79.160.3 --hostname host
network --device eth1 --bootproto dhcp --hostname host
rootpw --iscrypted $1$d1dk3a4E$tlrycXc8tYIThO5pWyLq7.
firewall --disabled
authconfig --enableshadow --enablemd5

timezone --utc Asia/Ho_Chi_Minh
bootloader --location=mbr
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --all
#part /boot --fstype ext3 --size=75
#part /usr --fstype ext3 --size=8000
#part /var --fstype ext3 --size=8000
#part / --fstype ext3 --size=4096
#part swap --size=2048
#part /tmp --fstype ext3 --size=512
#part /home --fstype ext3 --size=1 --grow

%packages
@ web-server
@ mail-server
@ dns-server
@ server-cfg
@ dialup
@ sql-server
@ editors
@ admin-tools
@ system-tools
@ ftp-server
@ kernel-development
@ development-tools
@ text-internet
@ graphical-internet
kernel
grub

%post
Một ví dụ để hiểu về file này, bạn đánh lệnh sau: date +%:z : đây là lệnh xuất ra múi giờ, ví dụ nó sẽ ra +07:00 chẳng hạn, nghĩa là GMT+7 (trong ví dụ về cái file trên, timezone bạn đã cài là --utc Asia/Ho_Chi_Minh).
Bây giờ bạn sửa file đó, lệnh vi anaconda-ks.cfg , di chuyển con trỏ xuống dòng timezone và nhấn i, bạn sửa lại, vd: timezone America/Los_Angeles
Sau đó nhấn ESC, nhấn tiếp ':x' để thoát.
Bạn gõ logout, sau đó login vào lại root, gõ lại date +%:z, vẫn là +07:00, chứng tỏ trình anaconda không hề khởi động lại khi bạn logout/login.
Bạn gõ reboot để khởi động lại máy... làm lại các thao tác trên, vẫn là +07:00,
Thôi thì gõ halt để tắt máy luôn, rồi bật máy lại, vẫn vậy, +07:00.
Giờ thì bạn đã hiểu anaconda và anaconda-ks.cfg rồi chứ ? Chúng chỉ thực thi (anaconda) và lưu trữ thông tin (anaconda-ks.cfg) 1 lần duy nhất lúc cài đặt.
Tiếp theo là tập tin install.log :
Đây là file lưu log trong quá trình cài đặt ban đầu của anaconda, lưu lại tất cả thông tin về cài đặt các gói.
File install.log.syslog :
Đây là file lưu thông tin về các hoạt động ban đầu của hệ thống kích hoạt bởi các gói đã được cài, thông thường sẽ là việc tạo group, tạo user. Trong Linux, mỗi một ứng dụng đều có môt user chuyên biệt quản lý ứng dụng này (và tương ứng là các group chuyên biệt) được tạo ra. Cơ chế chứng thực khi thực thi tác vụ của Linux rất chặc chẽ.
Hai file log này đều là những file tạo ra lúc chạy anaconda khi cài CentOS, khi bạn cài đặt thêm phần mềm sau này thì cũng không tạo log ở đây.

THƯ MỤC HỆ THỐNG
Tiếp tục, chúng ta lui ra ngoài thư mục gốc bằng lệnh cd ../ (lui ra 1 nấc) hoặc cd / (chỉ định đến thư mục gốc /).
Dùng ls list ta thấy nhiều thư mục, và ta sẽ khảo sát từng anh một:
/bin: lưu các file binary của các tập lệnh trong Linux, ví dụ các lệnh ls, logout, cd,... này giờ chúng ta chạy xuất phát từ đây. Đây là thư mục chứa hầu hết các chương trình quan trọng, shell,...các lệnh được thực thi bởi cả người quản trị hệ thống và cả user thường.
Ngoài ra trong Linux còn 1 thư mục tương tự là /usr/bin có vai trò tương tự. Nhưng /usr/bin chứa các lệnh thực thi của các chương trình (executable commands).
/sbin : tương tự như /bin, nhưng là những lệnh chỉ được dùng bởi quản trị hệ thống - tương đương root user, đó là những lệnh booting, restore and repair system.
Và cũng tương tự với /usr/sbin và cả /usr/local/sbin : Những lệnh thực thi mà chỉ người quản trị mới được dùng.
/boot : Chứa mọi thứ cần thiết cho quá trình khởi động, đây là giai đoạn ngay trước khi kernel thực thi chế độ người dùng. Nó còn lưu cả master boot sector và sector map file.
/media : đây là thư mục có vai trò như đích đến của quá trình mount point. Khi gắn 1 thiết bị lưu trữ bên ngoài, để sử dụng, cần mount thiết bị này vào /media, từ đó, các thư mục, tập tin sẽ được chuyển vào đây (lúc này /media có thể coi như ảnh chiếu của thiết bị).
/home : Đây được mặc định là thư mục chứa các thư mục nhà của các user được tạo (user tạo bằng lệnh useradd).
/root : thư mục nhà của user root, chúng ta sẽ nghiên cứu về home directory tại bài về user.
/usr : Đây là thư mục chứa filesystem của hệ thống, đồng thời của các chương trình được cài đặt bởi người dùng (nhưng không phải tất cả).
/lib : chứa thư viện chia sẻ được dùng bởi các tiến trình, các lệnh boot, lệnh hệ thống như trong /bin và /sbin.
/opt : nơi dành riêng cho các tiện ích chương trình được cài đặt
/proc : chứa thông tin của các tiến trình
/srv : chứa dữ liệu, các file của các dịch vụ trên hệ thống.
/tmp : thư mục chứa các file tạm cho các chương trình.
/var : nơi đây lưu những file data của các chương trình, của hệ thống, log, ... Các thư mục con cụ thể như sau:
cache  Dữ liệu cache của chương trình
lib  Biến thông tin trạng thái chương trình và hệ thống
local  Biến dự liệu cho /usr/local
lock  Lock files
log  Nhật ký hệ thống và chương trình
opt  Biến dữ liệu của chương trình trong /opt
run  Dữ liệu của các tiến trình
spool  Dự liệu ứng dụng
tmp  File tạm cho chương trình, giống như dữ liệu trên RAM
/etc : Đây là những file cấu hình cho hệ thống và các chương trình.
Như vậy, ta đã lướt qua hầu hết các thư mục lớn của CentOS. Cách thức và vai trò cụ thể như thế nào ta sẽ được tiếp cận trong những chủ đề chuyên biết sau.
/dev : chứa các file thiết bị. Trong Linux, mỗi thiết bị đều có file đại diện và được đặt tên theo 1 Logic nhất định:
- cdrom : đĩa CDRom / DVD
- fd* : Đĩa mềm
- hd* : Đĩa cứng IDE
- sd* : Đĩa cứng SCSI
- st* : Băng từ
- tty* : cổng giao tiếp (COM,...)
- eth* : card ethenet.
- ...
MOUNT
Trong Linux không phân chia tài liệu theo partition, mà là các thư mục, tập tin được mount lên và thành 1 hệ thống nhất có gốc là /
Tại lúc cài đặt ta đã phân chia partition và cho /boot 1 partition riêng. Phải nói đúng hơn là partition này đã được mount lên /boot.
Khi chúng ta muốn dùng 1 thiết bị lưu trữ ngoài như USB, DVD/CDROM, chúng ta cũng phải mount vào 1 thư mục nào đấy. Gõ
mount <thiết bị> <thư mục mount đến>
Trong đó <thiết bị> là file tương ứng ở /dev, vd: CDROM là /dev/cdrom
Xem danh sách các thiết bị đã mount (bao gồm các partition)
df -l
Xem các partition:
fdisk -l
Chú ý lệnh mount chỉ là tạm thời, khi reboot thì mất. Nếu bạn muốn mount tự động khi khởi động (để giữ mount) - chỉnh trong file /etc/fstab
VD: có thể thêm 1 dòng sau vào file fstab:
/dev/sdb5               /abc                       ext3                           default                       0                  0
<thiết bị>            <thư mục đích>      <file hệ thống>       <loại>                <Backup> <Scan disk>

Nhận xét