Nhập môn Hệ điều hành Linux
Giữa năm 1960, AT&T Bell Laboratories và một số trung tâm khác tham gia vào
một cố gắng tạo ra một hệ điều hành mới được đặt tên là Multics (Multiplexed Information
and Computing Service). Đến năm 1969, chương trình Multics bị bãi bỏ vì đó là một dự án
quá nhiều tham vọng. Thậm trí nhiều yêu cầu đối với Multics thời đó đến nay vẫn chứa có
được trên các Unix mới nhất. Nhưng Ken Thompson, Dennis Ritchie, và một số đồng
nghiệp của Bell Labs đã không bỏ cuộc. Thay vì xây dựng một HĐH làm nhiều việc một
lúc, họ quyết định phát triển một HĐH đơn giản chỉ làm tốt một việc là chạy chương trình
(run program). HĐH sẽ có rất nhiều các công cụ (tool) nhỏ, đơn giản, gọn nhẹ (compact)
và chỉ làm tốt một công việc. Bằng cách kết hợp nhiều công cụ lại với nhau, họ sẽ có một
chương trình thực hiện một công việc phức tạp. Đó cũng là cách thức người lập trình viết
ra chương trình. Peter Neumann đặt tên Unix cho HĐH đơn giản này. tiếp tục phát triển
theo mô hình ban đầu và đặt ra một hệ thống tập tin mà sau này được phát triển thành hệ
thống tập tin của UNIX. Vào năm 1973, sử dụng ngôn ngữ C của Ritchie, Thompson đã
viết lại toàn bộ HĐH Unix và đây là một thay đổi quan trọng của Unix, vì nhờ đó Unix từ
chỗ là HĐH cho một máy PDP-xx trở thành HĐH của các máy khác với một cố gắng tối
thiểu để chuyển đổi. Khoảng 1977 bản quyền của UNIX được giải phóng và HDH UNIX
trở thành một thương phẩm.
nhười sử dụng). Kết nối giữa X server và Xclient có thể thực hiện hoàn toàn trên TCP/IP
qua mạng LAN cũng như WAN. Một Xserver có thể cho phép ‚hiển thị‛ nhiều Xclient ở
nhiều máy khác nhau và đó là ưu điểm cơ bản của Xwindow. Xserver ‚nghe‛ tại cổng
6000 và Xclient mở một kết nối từ một cổng nào đó (lớn hơn 1023) vể cổng 6000 của
Xserver.
Trước khi kết nối, Xserver phải cho phép Xclient được quyền kết nối thông qua lệnh
xhost +địa_chỉ_máy_Xclient trên màn hình của Xserver.
Để Xclient biết phải hiển thị đi đâu, ta cần thay đổi biến môi trường DISPLAY trên
máy có Xclient qua lệnh export DISPLAY=địa_chỉ_máy_Xserver:0.0. Sau đó gọi
chương trình Xclient, ví dụ xterm & hay netscape & (chú ý dấu & ở cuối cho phép chương
trình chạy background).
Những công tác trên thực chất phải làm để cấu hình một Xserver là :
Xác định nhà sản xuất, phiên bản của video controller. Qua đó xác địng được
chương trình Xserver. Trong nhiều trường hợp, XF86-SVGA là tương thích.
Xác định màn hình để qua đ1o xác định các thông số về tốc độ quét dọc và ngang
của màn hình
Xác định độ phân giải của màn hình, đa số là 800x600 hay 1024x768
Người sử dụng lựa chọn chương trình quản lý cửa sổ (Window Manager). Sự lựa
chọn này phụ thuộc vào sở thích là chính. KDE và GNOME là 2 lựa chọn chính của
Linux.
Rất may mắn là việc cài đặt giao diện Xwindow trên Linux hiện nay đã được tự động hóa
rất nhiều. Trong trường hợp có trục trặc, lệnh X –probeonly >/tmp/test 2>&1 cho phép
-33-
chúng ta ghi lại toàn bộ các thông báo của Xserver vào tập tin /tmp/test và dùng cho xem
xét tìm nguyên nhân trục trặc của Xserver. Ta thử xem trong ví dụ sau:
[root@backup X11]# more /tmp/t
XFree86 Version 3.3.6a / X Window System
......
Configured drivers:
SVGA: server for SVGA graphics adaptors (Patchlevel 1): (tên Xserver)
s3_savage, NV1, STG2000, RIVA 128, RIVA TNT, RIVA TNT2,
... danh sách các video controller mà Xserver hỗ trợ .....
ct65550, ct65554, ct65555, ct68554, ct69000, ct64200, ct64300,
mediagx, V1000, V2100, V2200, p9100, spc8110, i740, i740_pci,
Voodoo Banshee, Voodoo3, i810, i810-dc100, i810e, smi, generic
XF86Config: /usr/X11R6/lib/X11/XF86Config (tập tin cấu hình)
(**) stands for supplied, (--) stands for probed/default values
(**) XKB: keycodes: "xfree86"
......
(**) Mouse: zaxismapping: (-)4 (+)5
(**) SVGA: Graphics device ID: "Cirrus Logic GD5480"
(Xserver nhận dạng được video controller – Đặc biệt quan trọng)
(**) SVGA: Monitor ID: "My Monitor"
........
(**) SVGA: Using 16 bpp, Depth 16, Color weight: 565 (độ phân giải màn hình)
(--) SVGA: Maximum allowed dot-clock: 100.000 MHz
(**) SVGA: Mode "800x600": mode clock = 40.000, clock used = 39.991
........
Tiện ích Xconfigurator cũng có thể giúp ích cho bạn. Tất cả cấu hình của Xserver được
ghi lại trong tập tin text /etc/X11/XFConfig. Bạn có thể tự thay đổi các thông số trong này
nếu hiểu rõ ý nghĩa của chúng.
-34-
IX. Theo dõi hoạt động của hệ thống.
Tiện ích syslog. Syslog là tiện ích của Unix cho phép ghi nhận lại một cách tập trung
và chuẩn (giữa các Unix) hoạt động của hệ thống các dịch vụ và thông báo của kernel.
Thông qua syslog, ta có thể:
Xem thông báo lỗi khi khởi động một chương trình dịch vụ, qua đó có thể sửa đổi
lại cấu hình cho thích hợp
Xem xét lại những gì đã xảy ra, dịch vụ nào đã khởi động lại, những ai đã thực hiện
kết nối tại thời điểm nào ...
Viết chương trình dịch vụ và gửi đến syslog các thông báo nhằm ghi lại hoạt động
của chương trình của mình.
Để thực hiện các chức năng kể trên, syslog có một tiến trình server syslogd thường được
khởi động cùng với hệ thống. Chương trình syslogd này đọc tập tin cấu hình
/etc/syslog.conf để xác định phải ghi lại những gì và ở đâu. Ta thử coi /etc/syslog.conf (mọi
user đều có thể đọc tập tin này)
[tnminh@backup X11]$ cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* /var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages, plus log them on another
# machine.
*.emerg *
# Save mail and news errors of level err and higher in a
# special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
# Receive log from center router
local0.* /var/log/router
[tnminh@backup X11]$
-35-
Hai khái niệm cần biết để hiểu tập tin này là facility và priority. Facility chính là danh
sách các dịch vụ có thể log. Priority biểu thị cấp độ nghiêm trọng của thông báo. Cú pháp
trong tập tin /etc/syslog là facility.priority. Cột bên phải xác định địa chỉ ghi log.
/etc/log/maillog là tập tin ghi lại thông báo của mail.*; dấu ‚*‛ ám chỉ thông báo sẽ được
hiện ra ở tất cả các màn hình của các user; @máy_khác cho phép gửi thông báo tới
syslogd của máy khác; |chương_trình_xử_lý cho phép gửi thông báo qua pipe ‚|‛ tới
chương_trình_xử_lý...
Syslog facilities:
Name Facility
Kern Kernel
User Regular user processes
Mail Mail system
Lpr Line printer system
auth Authorization system, or programs that ask for user names and passwords
(login, su, getty, ftpd, etc.)
daemon Other system daemons
news News subsystem
uucp UUCP subsystem
local0...
local7
Reserved for site-specific use
mark A timestamp facility that sends out a message every 20 minutes
syslog Priorities
Priority Meaning
emerg Emergency condition, such as an imminent system crash, usually broadcast to all
users
Alert Condition that should be corrected immediately, such as a corrupted system
database
Crit Critical condition, such as a hardware error
Err Ordinary error
warning Warning
notice Condition that is not an error, but possibly should be handled in a special way
-36-
Name Facility
Info Informational message
debug Messages that are used when debugging programs
None Do not send messages from the indicated facility to the selected file. For example,
specifying *.debug;mail.none sends all messages except mail messages to the
selected file.
Chú ý nếu ta log một priority thì ta sẽ log toàn bộ priorities có độ nghiêm trọng cao hơn. Ví
dụ nếu trong /etc/syslog có mail.info thì tất cả mail.notice hay mail.emerg đều được log.
Với một máy chủ bận rộn, tập tin log phình to rất nhanh và chúng ta đứng trước một bài
toán là đồng thời phải giữ log lâu nhất có thể được để đề phòng sự cố và xóa log để có
không gian đĩa cho máy hoạt động. Logrotate là một tiện ích giúp cho nhà quản trị xoay
vòng (rotate), nén (compact) và gửi mail thông tin log. Logrotate đọc tập tin cấu hình
/etc/logrotate.conf để biết chu kỳ quay vòng và các thông tin khác. Ví dụ sau
# sample logrotate configuration file
errors sysadmin@my.org
compress
/var/log/messages {
rotate 5
weekly
postrotate
/sbin/killall -HUP syslogd
endscript
}
cho thấy tập tin /var/log/message được lưu và quay vòng 5 tuần. Lệnh /sbin/killall –HUP
syslogd cho phép khởi tạo lại tập tin /var/log/message vì tập tin cũ đã bị đổi tin và nén.
X. Cài đặt RedHat Linux. RedHat là một Linux distributor phổ biến nhất hiện nay.
RedHat lựa chọn phiên bản kernel của Linux và các chương trình dịch vụ khác đóng thành
các gói (tập tin có phần mở rộng .rpm) và lưu vào một hoặc hai đĩa CDROM. Phiên bản
cuối cùng của Redhat Linux hiện nay là 7.1 với kernel 2.4.2-2. Các đĩa CDROM của
RedHat đều có thể dùng để boot máy và điều này làm đơn giản rất nhiều quá trình cài đặt
RedHat Linux. Có thể miêu tả sơ lược các bước cần phải qua khi cài đặt RedHat Linux là
1. sửa cấu hình máy để boot từ ổ CDROM
2. Đặt đĩa số 1 của RedHat Linux vào ổ CDROM và khởi động lại máy
3. Lựa chọn một phươngpháp cài đặt, ví dụ text
4. lựa chọn kiểu cài đặt , server hay trạm làm việc hay custom
5. Chia lại ổ đĩa cứng
-37-
6. lực chọn các gói sẽ cài đặt
7. để cho chương trình cài đặt Linux tự làm việc
8. thực hiện một số cấu hình nếu có yêu cầu hiển thị trên màn hình.
Sau khi Linux được cài xong, ta có thể thêm bớt các gói (package) vào/ra hệ thống thông
qua tiện ích rpm (Redhat Package Manager). Các gói của RedHat thường nằm trong thư
mục RPMS của CDROM. Để cài một gói X, ta dùng lệnh
rpm -i [install-options] +
Các tập tin của gói X sẽ được rpm đặt vào các vị trí quy định đảm bảo cho sự hoạt động
của dịch vụ X. Trong một số trường hợp chúng ta muốn cài ‚đè‛ lên gói đã cài trước và có
trục trặc. Khi đó option --force cho phép thay gói cũ bằng gói mới.
Lệnh
rpm -e +
cho phép xóa một gói đã cài đặt. Ngoài ra rpm còn cho phép xem xét tính toàn vẹn của
một chương trình, nâng cấp một dịch vụ, liệt kê các tập tin trong một gói hoặc chỉ ra gói
chức một tập tin ... Đây là một công cụ rất mạnh cho phép quản trị một máy Linux. Bạn
đọc có thể đọc manpage của rpm để biết thêm.
File đính kèm:
CHUONG_TRINH_TAP_HUAN_ADMIN.pdf

