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