. Giới thiệu lịch sử phát triển của Unix và Linux:
a. Vài dòng về lịch sử UNIX:
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.
37 trang |
Chia sẻ: phuongt97 | Lượt xem: 494 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng 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 DOWNLOAD ở trên
ó độ dài tối thiểu 8 ký tự.
Phối hợp giữa chữ thường, chữ hoa, số và các ký tự đặc biệt
Không liên quan đến tên tuổi, ngày sinh của bạn và người thân
Không có trong từ điển
Trong ví dụ trên, bạn khởi tạo người dùng và không quan tâm gì đến nhóm (group) của người dùng. Rất tiện lợi nếu bạn tập hợp nhiều người dùng vào chung một nhóm có cùng một chức năng và cùng chia sẻ nhau dữ liệu. Khi bạn tạo người sử dụng như trên, Linux sẽ tạo cho mỗi người một nhóm. Đọc tập tin /etc/passwd ta thấy
[root@appserv oracle]# more /etc/passwd|grep foo
foo:x:1012:1013::/home/foo:/bin/bash
[root@appserv oracle]#
foo là user số 1012 và thuộc nhóm 1013.
Xem tập tin /etc/group ta thấy
[root@appserv oracle]# more /etc/group
root:x:0:root
.
users:x:100:
foo:x:1013:
và ta có thể kết nạp foo vào nhóm users bằng cách thay số 1013 bằng 100, là group ID của users.
Xóa user (account) : Lệnh userdel dùng để xóa một user. Bạn cũng có thể xóa một user bằng cách xóa đi dòng dữ liệu tương ứng trong tập tin /etc/passwd.
VI. Quyền truy cập của tiến trình. Setuid và setgid.
Người sử dụng khi thao tác trên hệ thống và truy cập các tập tin đều thực hiện thông qua các tiến trình. Nhìn chung các tiến trình sẽ có quyền như người sử dụng nó. User foo khi đánh lệnh more /etc/passwd sẽ gọi lên bộ nhớ tiến trình more và tiến trình sẽ hiển thị t nội dung của /etc/passwd. Tiến trình more này sẽ có quyền truy cập như foo và do /etc/passwd cho phép tất cả đều đọc được và lệnh này thực hiện thành công. Tuy nhiên more /etc/shadow sẽ không thành công vì với quyền của foo, tiến trình more không thể hiển thị nội dung của /etc/shadow. Như ta biết, người sử dụng có thể thay đổi mật khẩu của bản thân mình thông qua lệnh passwd. Nếu vẫn theo cơ chế trên, lệnh passwd sẽ có quyền như người gọi nó và do đó không có quyền ghi vào tập tin /etc/shadow. Để giải quyết những yêu cầu là có những thao tác người sử dụng cần có quyền root, Unix đặt ra cơ chế setuid/setgid cho các chương trình. Theo cơ chế này, chương trình khi được người sử dụng (gọi là real user) gọi lên bộ nhớ sẽ có quyền như người sở hữu của tập tin chương trình (gọi là effective user). Ví dụ nếu ta coi chương trình passwd ta sẽ thấy
[tnminh@backup tnminh]$ ls -l /usr/bin/passwd
-r-s--x--x 1 root root 13536 Jul 12 2000 /usr/bin/passwd
[tnminh@backup tnminh]$
Chương trình này có sở hữu là root và có một ký tự “s” đứng vào vị trí của “x”. Ký tự này nói lên rằng passwd được setuid và cho dù ai gọi passwd lên bộ nhớ, passwd sẽ có quyền root. Hoàn toàn tương tự đối với setgid.
Chú ý: Trên quan điểm bảo mật hệ thống, các chương trình có setuid về quyền root là những điểm quan trọng cần xem xét vì đa số các xâm nhập hệ thống liên quan tới lỗi của các chương trình loại này.
VII. Kết nối mạng thông qua TCP/IP:
Chúng ta sẽ xem xét quá trình nối một máy Linux vào mạng Ethernet để trao đổi thông tin bằng giao thức TCP/IP trên Ethernet.
VII.1. HDH Linux và card mạng:
Để nối một máy Linux vào một mạng Ethernet, bạn cần phải có đầu tiên là một card mạng mà Linux đã có chương trình driver. Sau đây là một số mạng mà Linux có trợ giúp (danh sách sau không đầy đủ và các phiên bản mới của Linux hỗ trợ rất nhiếu các card mạng khác nhau) :
3Com 3C509
3Com 3C503/16
Novell NE1000
Novell NE2000
Western Digital WD8003
Western Digital WD8013
Hewlett-Packard HP27245
Hewlett-Packard HP27247
Hewlett-Packard HP27250
Giả sử các bạn muốn gắn máy của mình vào một mạng LAN Ethernet và bạn đã có một card mạng. Vấn đề đầu tiên là sự nhận biết của Linux đối với card này. Nếu card của bạn là một card khá phổ biến như 3c509 của 3COM hay NE2000 của Novell, HDH Linux sẽ nhận biết sự hiện diện của card trong quá trình boot. Để biết xem kết quả nhận biết card mạng, ta có thể xem xét các thông báo của kernel Linux trong quá trình boot của hệ thống qua lệng dmesg
Freeing unused kernel memory: 60k freed
Adding Swap: 72572k swap-space (priority -1)
eth0: 3c509 at 0x300 tag 1, BNC port, address 00 a0 24 4f 3d dc, IRQ 10.
3c509.c:1.16 (2.2) 2/3/98 becker@cesdis.gsfc.nasa.gov.
eth0: Setting Rx mode to 1 addresses.
Hai dòng in đậm báo rằng card mạng 3c509 đã được kernel nhận biết. Trong trường hợp kernel không nhận biết card L, chúng ta phải làm lại kernel Linux và đặt module điều khiển (driver) của card vào trong kernel hay cấu hình ở chế độ load module.
Để cấu hình tiếp nối mạng qua TCP/IP chúng ta phải xác định rõ các thông tin liên quan đến địa chỉ IP của máy. Các thông tin cần biết là :
Địa chỉ IP của máy
Netmask
Địa chỉ của mạng
Broadcast
Địa chỉ IP của gateway
Chúng ta sẽ lần lượt điểm qua các khái niệm cơ bản trên và sẽ học sâu hơn trong phần TCP/IP của khóa học.
Địa chỉ IP của máy là một dãy 4 số viết dước dạng A.B.C.D, trong đó mỗi số nhận giá tri từ 0-255. Nếu máy của bạn kết nối một mạng nhỏ tại nhà do bạn thiết lập thì địa chỉ kiểu 192.168.1.D là một địa chỉ nên đặt, với D là các số khác nhau cho từng máy. Nếu máy của bạn sẽ hòa nhập với một mạng LAN đã có trước đó và bạn muốn kết nối với các máy khác thì hỏi người quản trị mạng về địa chỉ IP bạn có thể gán cho máy của mình cùng với tất cả các thông số tiếp theo.
Netmask. Tương tự như trên, nếu bạn tự quản, netmask sẽ là 255.255.255.0
Địa chỉ mạng. Nếu bạn tự quản, địa chỉ của mạng sẽ là 192.168.1.0
Broadcast. Nếu bạn tự quản, broadcast là 192.168.1.255
Địa chỉ gateway. Đây là địa chỉ của máy cho phép bạn kết nối với mạng LAN khác, tức là các máy tính với 3 số đầu của địa chỉ không giống bạn là 192.168.1. Bạn bỏ trống nếu bạn chỉ liên lạc với các máy cùng mạng 192.168.1.XXX. Chú ý là địa chỉ mạng của máy gateway bắt buộc phải trùng với địa chỉ mạng của bạn.
Sau khi đã xác định các thông số, ví dụ như
IP address = 192.168.1.15
Netmask = 255.255.255.0
suy ra network address = 192.168.1.0 và broadcast = 192.168.1.255
Gateway = 192.168.1.1
VII.2. Cấu hình card mạng:
Ø Lệnh ifconfig. Sau khi làm cho kernel nhận biết sự hiện diện của card mạng, công tác tiếp theo là cấu hình TCP/IP cho card. Trong quá trình cài đặt Linux Redhat 6.X, bình thường chúng ta đã được chương trình cài đặt hỏi và cấu hình hộ . Trong trường hợp khi chúng ta bổ sung card mạng sau khi Linux đã được cài đặt, chúng ta có thể sử dụng tiện ích netconf cho mục đích này hoặc chúng ta sử dụng lệnh ifconfig để tự cài đặt.
Lệnh ifconfig được sử dụng trong quá trình boot hệ thống để cấu hình các trang thiết bị mạng. Sau đó, trong quá trình vận hành, ifconfig được sử dụng cho debug, hoặc để cho người quản trị hệ thống thay đổi cấu hình khi cần thiết .
Lệnh ifconfig không có tùy chọn dùng để hiển thị cấu hình hiện tại của máy.
[root@pasteur tnminh]# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:A0:24:4F:3D:DC
inet addr:192.168.2.20 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:531 errors:4 dropped:0 overruns:0 frame:4
TX packets:1854 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:10 Base address:0x300
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:1179 errors:0 dropped:0 overruns:0 frame:0
TX packets:1179 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
Để gán địa chỉ IP 193.105.106.10 cho card mạng Ethernet đầu tiên ta dùng lệnh
ifconfig eth0 193.105.106.10 netmask 255.255.255.0 broadcast 192.105.106.255
Linux cho phép bạn sử dụng bí danh (alias) cho card mạng, tức là cho phép bạn có nhiều địa chỉ IP cho cùng một card vật lý. Kết quả nhận được gần giống như bạn có gắn nhiều card vật lý lên máy. Do đó, bạn có thể dùng một card để nối với nhiều mạng logic khác nhau. Cú pháp của lệnh này là :
ifconfig eth0:0 208.148.45.58 netmask 255.255.255.248 broadcast 208.148.45.255 up
Các tập tin cấu hình của kết nối mạng là /etc/sysconfig/network-scripts/ifcfg-ethX với X là 0,1 ... hay 0:0, 0:1 .... Bạn có thể thay đổi cấu hình kết nối mạng bằng cách sửa đổi lại tập tin này bằng một chương trình soạn thảo text như mc chẳng hạn, sau đó khởi động lại kết nối mạng bằng
/etc/rc.d/init.d/network restart
Nhớ kiểm tra lại kết quả qua lệnh ifconfig.
Ø Lệnh route.
Lệnh Route cho phép làm các thao tác đến bảng dẫn đường (forwarding table) của kernel. Nó được sử đầu tiên để xác định đường dẫn cố định (static) đến những máy hoặc những mạng qua các card mạng ethernet đã được cấu hình trước đó bởi ifconfig.
Lệnh route không có tùy chọn (option) cho phép hiển thị bảng dẫn đường hiện tại của kernel (Lệnh netstat –r cũng có tác dụng tương tự)
[root@pasteur tnminh]# /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.20 * 255.255.255.255 UH 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.2.10 0.0.0.0 UG 0 0 0 eth0
Để chỉ ra rằng card mạng eth0 được nối với một mạng 208.148.45.56 ta dùng lệnh route như sau :
route add -net 208.148.45.56 eth0
Còn nếu chúng ta muốn sử dụng bí danh của card mạng để nối vào một mạng logic khác, ta có thể sử dụng lệnh
route add -net 193.105.106.0 eth0:0
Công tác cuối cùng là phải chỉ ra các địa chỉ của gateway mặc định.
route add default gw 193.105.106.1 metric 1
Biết sử dụng thành thạo cú pháp của 2 lệnh ifconfig và route rất quan trọng, nó cho phép các cán bộ quản trị thay đổi cấu hình kết nối mạng của một server một cách nhanh chóng và không phải khởi động lại máy. Vì vậy, server luôn sẵn sàng. Bạn cũng có thể sử dụng tiện ích netconfig để cấu hình liên kết mạng nếu chưa thành thạo nhiều cú pháp của các lệnh trên.
Ø Lệnh ping. Ứng dụng của lệnh này là để thử xem 2 máy có kết nối được với nhau chưa. Cú pháp cơ bản của lệnh rất đơn giản là ping địa_chỉ_IP_máy_đích. Ví dụ như
[tnminh@proxy tnminh]$ ping sun
PING sun.vnuhcm.edu.vn (172.16.1.4): 56 data bytes
64 bytes from 172.16.1.4: icmp_seq=0 ttl=255 time=0.1 ms
64 bytes from 172.16.1.4: icmp_seq=1 ttl=255 time=0.2 ms
64 bytes from 172.16.1.4: icmp_seq=2 ttl=255 time=0.1 ms
64 bytes from 172.16.1.4: icmp_seq=3 ttl=255 time=0.1 ms
--- sun.vnuhcm.edu.vn ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
[tnminh@proxy tnminh]$
Nếu 2 máy có thể liên lạc được với nhau, đồng thời chúng ta sẽ có trả lời cùng với thời gian trả lời để cho biết sự thông thoáng về mạng giữa 2 máy. Có thể nói, ping phải chạy trước tiên trước tất cả các hoạt động mạng khác.
Chú ý: Nên sử dụng ping –n để tránh trục trặc do dịch vụ DNS làm ảnh hưởng tới việc kết quả thử kết nối mạng.
Ø Lệnh Traceroute. Đây cũng là lệnh cho phép chẩn đoán hoạt động của mạng. Cú pháp của lệnh giống như lệnh ping nhưng kết quả không chỉ dừng ở sự trả lời mà còn chỉ ra các thiết bị trung gian nằm giữa 2 máy.
# tnminh@nefertiti ~ > traceroute 203.162.44.33
traceroute to 203.162.44.33 (203.162.44.33): 1-30 hops, 38 byte packets
1 makeda.pasteur.fr (157.99.64.3), 1.66 ms, 1.66 ms, 1.66 ms
2 418.ATM4-0.GW21.Defense.OLEANE.NET (195.25.28.149), 5.0 ms, 4.17 ms, 4.17 m
3 FastEth0-0.GW16.Defense.OLEANE.NET (195.25.25.208), 4.17 ms, 4.17 ms, 4.17s
4 100.ATM6-1.GW2.Telehouse.OLEANE.NET (194.2.3.245), 5.0 ms, 5.0 ms, 5.0 ms
..............
14 210.132.93.210 (210.132.93.210), 849 ms (ttl=241!), 807 ms (ttl=241!), 970
s (ttl=241!)
15 202.167.121.195 (202.167.121.195), 905 ms !H 203.162.3.42 (203.162.3.42), 1
88 ms (ttl=242!)
Chú ý là khi chúng ta thử kết nối với một máy ở xa trong Internet, do nhiều mạng áp dụng các bức tường lửa (firewall) nên nhiều khi lệnh ping và traceroute không chạy nhưng trên thực chất là mạng vẫn thông.
VIII. X-Window. X-window (chú ý window không có “s” như Windows của Miscrosoft) là giao diện đồ họa của Unix. X Window System được phát triển tại Laboratory for Computer Science, Massachusetts Institute of Technology vào 1984.
Tuy nhiên, do Unix làhệ điều hành mạng nên phương thức hoạt động của X-widow cũng khác hẳn Windows của Microsoft. Cơ chế hoạt động của Xwindow được miêu tả trong sơ đồ sau:
Xserver (XF86-SVGA) Xclient (netscape, xterm)
User------- Máy trạm WS <------ mạngTCP/IP------à Máy chủ S
(màn hình, bàn phím, chuột)
Tham gia vào mô hình X window có chương trình X server và X client. Nhìn chung, X server là chương trình chạy trên máy trạm làm việc WS của người sử dụng, còn X client chạy trên máy chủ S nằm xa người sử dụng. Chương trình Xserver trên máy trạm chịu trách nhiệm quản lý tài nguyên của máy trạm (màn hình, bàn phím, chuột) và thực hiện giao tiếp giữa người sử dụng và chương trình X client chạy trên máy chủ (nói chung là ở xa 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 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.
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]$
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
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
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.
Các file đính kèm theo tài liệu này:
- bai_giang_nhap_mon_he_dieu_hanh_linux.doc