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.

pdf38 trang | Chuyên mục: Linux | Chia sẻ: dkS00TYs | Lượt xem: 2749 | Lượt tải: 2download
Tóm tắt nội dung Nhập môn Hệ điều hành Linux, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 
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:

  • pdfCHUONG_TRINH_TAP_HUAN_ADMIN.pdf