Xem mẫu

  1. T h c s d ng Linux Tác gi : Kostromin V. A. D ch và c ng tác: Phan Vĩnh Th nh Phiên b n: 0.9.4 Ngày 13 tháng 9 năm 2006
  2. Dành cho ngư i dùng m i và r t m i...
  3. M cl c 1 HĐH Linux: l ch s và các b n phân ph i 2 1.1 Th nào là HĐH nói chung và Linux nói riêng . . . . . . . . . . . . 2 1.1.1 Các h đi u hành d ng UNIX . . . . . . . . . . . . . . . . . . 2 1.1.2 M t chút v l ch s . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.3 Đ c đi m chính c a HĐH Linux . . . . . . . . . . . . . . . . 6 1.2 B n phân ph i Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Yêu c u đ i v i máy tính . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 L y Linux đâu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2 Cài đ t HĐH Linux trên cùng máy tính v i Windows 14 2.1 Chu n b cài đ t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Phòng xa và nh ng l i khuyên . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Phân vùng trên đĩa và quá trình kh i đ ng . . . . . . . . . . . . . . 18 2.3.1 Th nào là c u trúc “hình h c c a đĩa” . . . . . . . . . . . . . 18 2.3.2 Phân vùng và b ng phân vùng c a đĩa . . . . . . . . . . . . . 18 2.3.3 Quá trình kh i đ ng các HĐH c a công ty Microsoft . . . . . 20 2.3.4 V n đ v i các đĩa l n . . . . . . . . . . . . . . . . . . . . . . . 22 2.4 L a ch n trình kh i đ ng . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.1 Trình kh i đ ng GRUB . . . . . . . . . . . . . . . . . . . . . . 23 2.4.2 Trình kh i đ ng LILO . . . . . . . . . . . . . . . . . . . . . . 25 2.4.3 Các trình kh i đ ng khác . . . . . . . . . . . . . . . . . . . . . 26 2.4.4 Các phương án kh i đ ng . . . . . . . . . . . . . . . . . . . . 27 2.5 Chu n b các phân vùng trên đĩa . . . . . . . . . . . . . . . . . . . . 28 2.5.1 L i khuyên khi t o phân vùng . . . . . . . . . . . . . . . . . . 28 2.5.2 Chương trình đ phân chia đĩa . . . . . . . . . . . . . . . . 30 2.6 Windows NT và Linux: kh i đ ng qua NT OS Loader . . . . . . . . 31 2.7 S d ng trình kh i đ ng GRUB . . . . . . . . . . . . . . . . . . . . . 34 2.7.1 Cài đ t GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7.2 C u hình GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.8 S d ng trình kh i đ ng LILO . . . . . . . . . . . . . . . . . . . . . 36 2.8.1 Cài đ t và c u hình LILO . . . . . . . . . . . . . . . . . . . . 36 2.8.2 Cài đ t các h đi u hành khác sau Linux . . . . . . . . . . . 39 2.8.3 Chuy n thư m c /boot lên phân vùng DOS . . . . . . . . . . 39 2.9 Kh i đ ng Linux t MS-DOS b ng loadlin.exe . . . . . . . . . . . . 40
  4. iv M CL C 3 Kh i đ ng Linux l n đ u 43 3.1 Kh i đ ng HĐH Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2 Đăng nh p vào h th ng . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3 Console, terminal o và shell . . . . . . . . . . . . . . . . . . . . . . 47 3.4 So n th o dòng l nh. L ch s l nh . . . . . . . . . . . . . . . . . . . 49 3.5 Ng ng làm vi c v i Linux . . . . . . . . . . . . . . . . . . . . . . . . 51 3.6 Tr giúp khi dùng Linux . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.6.1 Các ngu n thông tin tr giúp . . . . . . . . . . . . . . . . . . 53 3.6.2 Các trang tr giúp man . . . . . . . . . . . . . . . . . . . . . . 54 3.6.3 Câu l nh info . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.6.4 Câu l nh help . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.6.5 Tài li u đi kèm v i b n phân ph i và chương trình ng d ng 56 3.6.6 Câu l nh xman . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.6.7 Câu l nh helptool . . . . . . . . . . . . . . . . . . . . . . . . 57 3.6.8 Sách và Internet . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4 Làm quen v i h th ng t p tin ext3fs 60 4.1 T p tin và tên c a chúng . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.2 Thư m c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.3 Công d ng c a các thư m c chính . . . . . . . . . . . . . . . . . . . . 65 4.4 D ng t p tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.4.1 Các t p tin thi t b . . . . . . . . . . . . . . . . . . . . . . . . 70 4.4.2 Các ng có tên (pipes) . . . . . . . . . . . . . . . . . . . . . . . 71 4.4.3 Các socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.4.4 Liên k t m m . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.5 Quy n truy c p đ n t p tin và thư m c . . . . . . . . . . . . . . . . . 73 4.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c . . . . . . . 79 4.6.1 Câu l nh chown và chgrp . . . . . . . . . . . . . . . . . . . . 80 4.6.2 Câu l nh mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.6.3 Câu l nh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.6.4 Câu l nh cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.6.5 Câu l nh mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.6.6 Câu l nh rm và rmdir . . . . . . . . . . . . . . . . . . . . . . 82 4.6.7 Câu l nh more và less . . . . . . . . . . . . . . . . . . . . . 83 4.6.8 Câu l nh tìm ki m find và m u tên t p tin . . . . . . . . . . 83 4.6.9 Câu l nh split . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.6.10 So sánh các t p tin và l nh patch . . . . . . . . . . . . . . . 87 4.7 Các câu l nh lưu tr và nén t p tin . . . . . . . . . . . . . . . . . . . 88 4.7.1 Chương trình tar . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.7.2 Chương trình gzip . . . . . . . . . . . . . . . . . . . . . . . . 91 4.7.3 Chương trình bzip2 . . . . . . . . . . . . . . . . . . . . . . . 92 4.7.4 S d ng k t h p tar v i gzip và bzip2 . . . . . . . . . . . . 94 4.8 T o và g n các h th ng t p tin . . . . . . . . . . . . . . . . . . . . . 95
  5. M CL C v 5 Bash 100 5.1 H v là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.2 Các ký t đ c bi t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.3 Th c thi các câu l nh . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.3.1 Thao tác ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.3.2 Thao tác & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3.3 Thao tác && và || . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4 Đ u vào/đ u ra tiêu chu n . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4.1 Dòng d li u vào – ra . . . . . . . . . . . . . . . . . . . . . . . 103 5.4.2 L nh echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4.3 L nh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.5 Chuy n hư ng đ u vào/đ u ra, đư ng ng và b l c . . . . . . . . . . 105 5.5.1 S d ng >, < và » . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.5.2 S d ng | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.5.3 B l c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.6 Tham bi n và các bi n s . Môi trư ng c a h v . . . . . . . . . . . . 108 5.6.1 Các d ng tham bi n khác nhau . . . . . . . . . . . . . . . . . 108 5.6.2 D u nh c c a h v . . . . . . . . . . . . . . . . . . . . . . . . 110 5.6.3 Bi n môi trư ng PATH . . . . . . . . . . . . . . . . . . . . . . . 111 5.6.4 Bi n môi trư ng IFS . . . . . . . . . . . . . . . . . . . . . . . 112 5.6.5 Thư m c hi n th i và thư m c cá nhân . . . . . . . . . . . . 112 5.6.6 Câu l nh export . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.7 Khai tri n bi u th c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.7.1 Khai tri n d u ngo c . . . . . . . . . . . . . . . . . . . . . . . 113 5.7.2 Thay th d u ngã (Tilde Expansion) . . . . . . . . . . . . . . 114 5.7.3 Phép th các tham bi n và bi n s . . . . . . . . . . . . . . . 114 5.7.4 Phép th các câu l nh . . . . . . . . . . . . . . . . . . . . . . . 114 5.7.5 Phép th s h c (Arithmetic Expansion) . . . . . . . . . . . . 115 5.7.6 Phân chia t (word splitting) . . . . . . . . . . . . . . . . . . 115 5.7.7 Khai tri n các m u tên t p tin và thư m c (Pathname Ex- pansion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.7.8 Xóa các ký t đ c bi t . . . . . . . . . . . . . . . . . . . . . . . 116 5.8 Shell - m t ngôn ng l p trình . . . . . . . . . . . . . . . . . . . . . . 116 5.8.1 Toán t if và test (ho c [ ]) . . . . . . . . . . . . . . . . . . 117 5.8.2 Toán t test và đi u ki n c a bi u th c . . . . . . . . . . . . 117 5.8.3 Toán t case . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.8.4 Toán t select . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.8.5 Toán t for . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.8.6 Toán t while và until . . . . . . . . . . . . . . . . . . . . . 122 5.8.7 Các hàm s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.8.8 Tham s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.8.9 Bi n n i b (local) . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.9 Script c a h v và l nh source . . . . . . . . . . . . . . . . . . . . . 124 5.10 Câu l nh sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
  6. vi M CL C 6 S d ng Midnight Commander 126 6.1 Cài đ t chương trình Midnight Commander . . . . . . . . . . . . . . 126 6.2 V ngoài c a màn hình Midnight Commander . . . . . . . . . . . . 127 6.3 Tr giúp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.4 S d ng chu t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.5 Đi u khi n các b ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.5.1 D ng danh sách t p tin . . . . . . . . . . . . . . . . . . . . . . 131 6.5.2 Nh ng ch đ hi n th khác . . . . . . . . . . . . . . . . . . . 134 6.5.3 Các t h p phím đi u khi n b ng . . . . . . . . . . . . . . . . 136
  7. Danh sách hình v 3.1 Màn hình kh i đ ng c a GRUB . . . . . . . . . . . . . . . . . . . . . 44 6.1 Midnight Commander ti ng Vi t . . . . . . . . . . . . . . . . . . . . 127 6.2 Màn hình Midnight Commander . . . . . . . . . . . . . . . . . . . . 128 6.3 H p tho i ch n đ nh d ng hi n th . . . . . . . . . . . . . . . . . . . 131 6.4 H p tho i s p x p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 6.5 Ch đ thông tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.6 Ch đ cây thư m c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.7 Ch đ xem nhanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
  8. Danh sách b ng 1.1 Yêu c u đ i v i ph n c ng . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1 C u trúc c a sector kh i đ ng chính . . . . . . . . . . . . . . . . . . 21 2.2 Nhu c u s d ng không gian đĩa c a HĐH . . . . . . . . . . . . . . 28 3.1 Nh ng câu l nh đơn gi n c a Linux . . . . . . . . . . . . . . . . . . 46 3.2 Nh ng phím so n th o dòng l nh . . . . . . . . . . . . . . . . . . . . 50 3.3 T h p phím đi u khi n l ch s l nh . . . . . . . . . . . . . . . . . . 52 3.4 Các ph n chính c a tr giúp man . . . . . . . . . . . . . . . . . . . . 54 3.5 Phím s d ng đ xem trang man . . . . . . . . . . . . . . . . . . . . . 55 4.1 C u trúc thư m c c a Linux . . . . . . . . . . . . . . . . . . . . . . . 66 4.2 Nh ng t p tin thi t b chính . . . . . . . . . . . . . . . . . . . . . . . 71 4.3 Nh ng tùy ch n chính c a l nh cp . . . . . . . . . . . . . . . . . . . 81 4.4 Tiêu chí tìm ki m c a câu l nh find. . . . . . . . . . . . . . . . . . . 85 4.5 Nh ng tùy ch n chính c a tar . . . . . . . . . . . . . . . . . . . . . 89 4.6 Nh ng tùy ch n chính c a chương trình gzip . . . . . . . . . . . . 92 4.7 Nh ng tùy ch n chính c a chương trình bzip2 . . . . . . . . . . . . 93 4.8 Nh ng tùy ch n chính c a câu l nh mount . . . . . . . . . . . . . . 98 5.1 Các câu l nh b l c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.2 Thay th các tham bi n đ c bi t . . . . . . . . . . . . . . . . . . . . . 109 5.3 Ký t xác đ nh d ng d u nh c . . . . . . . . . . . . . . . . . . . . . . 111 5.4 Các ký t t o m u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.1 Các t h p phím di chuy n dùng chung . . . . . . . . . . . . . . . . . 129 6.2 Di chuy n trong trình xem t p tin . . . . . . . . . . . . . . . . . . . . 129 6.3 Di chuy n khi xem tr giúp . . . . . . . . . . . . . . . . . . . . . . . 130
  9. L im đ u Đây là b n d ch cu n “Linux cho ngư i dùng” (sêri sách t h c) c a Kostromin Victor Alexeevich c ng thêm m t vài kinh nghi m s d ng Linux c a ngư i d ch. B n g c đư c vi t trên ti ng Nga. Theo yêu c u c a Kostromin A. V., xin đư c đưa ra các liên k t t i b n g c sau đây: http://rus-linux.net/book1.php?name=book1/oglavl http://linux-ve.chat.ru/ C m ơn Trư c tiên c n c m ơn Kostromin V. A. đã vi t m t cu n sách v Linux cho ngư i dùng m i tuy t v i, hai bác Nguy n Đ i Quý và Nguy n Đ ng Hoàng Tuân đã giúp trong vi c s d ng L TEX. Bác A Nguy n Đ i Quý đã đ c và s a cho phiên b n 0.9. Xin hãy g i thư nh c ngư i d ch t i teppi82@gmail.com n u như ngư i d ch có quên ai đó. B n quy n Cu n “T h c s d ng Linux” này s d ng b n quy n Creative Commons Public License 2.5 (http://creativecommons.org/licenses/by/2.5/). Tác gi Kostromin V. A. cũng như ngư i d ch và c ng tác không ch u trách nhi m v h u qu do vi c s d ng cu n sách này gây ra. M i đ ngh s a đ i, thông báo l i chính t , l i ki n th c c a b n d ch cũng như đ ngh giúp đ d ch xin g i cho Phan Vĩnh Th nh theo đ a ch teppi82@gmail.com.
  10. Chương 1 HĐH Linux: l ch s và các b n phân ph i “Just for fun” – Linus Torvalds. Ngư i d ch: L ch s luôn là đi m kh i đ u khi nghiên c u m t ngành khoa h c nào đó. Không có ngo i l đ i v i Toán h c, V t lý, môn chuyên ngành c a tôi – Hoá h c và t t nhiên c HĐH Linux. Trong chương đ u tiên c a cu n sách “T h c s d ng Linux” này chúng ta s tr l i ng n g n cho câu h i “Linux là gì?”. Đ ng th i nói đôi dòng v nh ng đi m đ c bi t c a Linux, yêu c u c a Linux đ i v i ph n c ng, khái ni m b n phân ph i Linux, và cách có đư c nh ng b n phân ph i này. Hơn th n a b n đ c s hi u ít nhi u v OpenSource, GNU và FSF. 1.1 Th nào là HĐH nói chung và Linux nói riêng 1.1.1 Các h đi u hành d ng UNIX H đi u hành (HĐH) đó là m t b các chương trình h tr vi c đi u khi n ph n c ng c a máy tính, t ch c làm vi c v i các t p tin (trong đó có ch y và đi u khi n vi c th c hi n c a các chương trình), và đ ng th i th c thi s giao ti p v i ngư i dùng, t c là d ch các câu l nh c a ngư i dùng và hi n th k t qu làm vi c c a nh ng l nh này. Không có h đi u hành thì máy tính không th c hi n đư c ch c năng c a mình. Trong trư ng h p đó máy tính ch là m t t p h p các thi t b đi n t không làm vi c, không hi u là đ làm gì. Đ n th i đi m hi n nay thì các h đi u hành n i ti ng nh t cho máy tính là Microsoft Windows (C) và UNIX. Windows b t ngu n t h đi u hành MS-DOS trư c đây làm vi c trên các máy tính c a hãng IBM. H đi u hành UNIX do nhóm các nhà phát tri n Bell Labs vi t ra vào năm 1969 dư i s đi u khi n c a Dennis Ritchie, Ken Thompson và Brian Kernighan. Nhưng bây gi khi nói đ n h đi u hành UNIX thư ng có ý không nói c th m t h đi u hành c th nào mà là m t nhóm các h đi u hành dòng UNIX (UNIX-liked OS). Chính b n thân t UNIX (vi t hoa t t c các ch cái) tr thành nhãn hi u thương m i c a t ng công ty AT&T.1 1 Ngư i d ch: Ngư i m “không ng i ng n” đăng ký nhãn hi u thương m i b t kỳ th gì, k c Yoga mà b t ngu n t n Đ .
  11. 1.1 Th nào là HĐH nói chung và Linux nói riêng 3 Vào cu i nh ng năm 70 c a th k trư c (th k XX) các nhà phát tri n c a trư ng đ i h c California Berkeley đã thêm vào mã ngu n c a UNIX r t nhi u s c i ti n trong đó có h tr giao th c2 TCP/IP (giao th c m ng chính hi n nay). S n ph m này n i ti ng dư i tên BSD ("Berkeley Systems Distribution"). Đi u đ c bi t ch b n quy n c a s n ph m cho phép ngư i khác phát tri n và c i ti n và chuy n k t qu thu đư c đ n ngư i th ba (cùng v i mã ngu n ho c không) v i đi u ki n là ph i ch ra ph n nào c a mã đư c phát tri n Berkeley. H đi u hành dòng UNIX, trong đó có BSD, lúc đ u đư c phát tri n đ làm vi c v i các máy tính nhi u ngư i dùng – các mainframe. Nhưng d n d n c u hình trang thi t b c a máy tính cá nhân cũng m nh lên và hi n nay có kh năng cao hơn so v i nh ng mainframe c a nh ng năm 70 th k trư c. Và và đ u nh ng năm 90 m t sinh viên c a trư ng đ i h c Helsinki (Ph n Lan), Linus Torvalds, đã b t đ u phát tri n m t HĐH ki u UNIX cho các máy tính cá nhân tương thích v i IBM (IBM-compatible PC). 1.1.2 M t chút v l ch s HĐH Linux v a k ni m sinh nh t l n th 15 c a mình. Đây là b c thư mà Linus g i vào nhóm tin t c comp.os.minix ngày 25 tháng 8 năm 1991 (đư c coi là ngày sinh nh t c a HĐH này): From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix - I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes — it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(. Trong thư này Linus cho bi t anh đang phát tri n m t h đi u hành t do cho các máy tính đ i 386 (486) và yêu c u nh ng ai quan tâm cho bi t nh ng thành ph n nào c a h th ng cho ngư i dùng c n ph i có đ u tiên. Nh ng ngư i dùng trong nhóm tin t c này đã làm vi c dư i h đi u hành Minux do giáo sư Andy 2 protocol
  12. 4 HĐH Linux: l ch s và các b n phân ph i Tanenbaum vi t ra đ làm công c h c t p cho các sinh viên l p trình. Minux làm vi c trên các máy tính v i b x lý 286 và đư c Linus dùng làm mô hình cho HĐH m i. T p tin phiên b n đ u tiên c a Linux (phiên b n 0.01) đư c công b trên Internet ngày 17 tháng 09 năm 1991. Linus Torvalds vi t: “As I already men- tioned, 0.01 didn’t actually come with any binaries: it was just source code for people interested in what linux looked like. Note the lack of announcement for 0.01: I wasn’t too proud of it, so I think I only sent a note to everybody who had shown interest.” (“Như tôi đã nói trư c đây, 0.01 không đi kèm theo binary nào: nó ch là mã ngu n cho nh ng ai mu n bi t linux trông ra sao. Chú ý r ng không có thông báo cho b n 0.01: tôi không t hào l m v nó, vì th ch g i thông báo đ n t t c nh ng ai mu n th hi n s quan tâm.”)3 Sau đó ngày 05 tháng 10 năm 1991 phiên b n 0.02 ra đ i. Đây là phiên b n đã có th làm vi c trên máy. N u b n đ c quan tâm đ n l ch s c a HĐH này thì hãy đ c trang web sau: http://www.li.org/linuxhistory.php. đó b n s nh n đư c thông tin chi ti t v l ch s xu t hi n và phát tri n Linux. Linus Torvalds không đăng ký b ng sáng ch cũng như không gi i h n vi c phân ph i HĐH m i này. Ngay t đ u Linux đã đư c phân ph i theo đi u ki n c a b n quy n General Public License (GPL)4 thư ng dùng cho các ph n m m ng d ng Open Source và d án GNU. Theo ti ng lóng c a Linux thì b n quy n này đôi khi đư c g i là Copyleft. V b n quy n này, Open Source và d án GNU c n ph i nói đ n m t cách đ c bi t. Vào năm 1984 nhà bác h c ngư i m Richard Stallman sáng l p ra T ch c ph n m m t do (FSF, Free Software Foundation) có trang ch n m t i đ a ch http://www.fsf.org. M c đích c a t ch c này là lo i tr t t c nh ng đi u c m đoán và h n ch phân ph i, sao chép, s a đ i, nghiên c u chương trình ng d ng. B i vì tính đ n th i đi m b t đ u xây d ng t ch c thì các công ty thương m i gi r t c n th n các chương trình ng d ng c a mình, b o v nó b ng các b ng sáng ch , các d u hi u b o v quy n tác gi , gi bí m t nghiêm ng t mã ngu n c a chương trình vi t trên các ngôn ng b c cao (như C++). Stallman cho r ng vi c này r t có h i đ i v i phát tri n chương trình ng d ng, d n đ n vi c gi m ch t lư ng chương trình và s có m t c a r t nhi u l i không xác đ nh đư c trong nh ng chương trình này. T i t nh t là làm ch m quá trình trao đ i ý tư ng trong ngành l p trình, làm ch m quá trình t o ng d ng m i vì m i nhà l p trình s ph i vi t l i t đ u m t ng d ng thay vì dùng đo n mã ngu n đã có trong ng d ng khác. Trong khuôn kh T ch c ph n m m t do đã b t đ u làm vi c d án GNU (http://www.gnu.org) – d án t o chương trình ng dùng mi n phí. GNU là t vi t t t c a GNU’s Not Unix, t c là nh ng gì thu c v d án GNU không ph i là m t ph n c a Unix (vào th i gian đó th m chí t UNIX đã tr thành thương 3 Ngư i d ch: R t thú v là sau khi Linus Torvalds phát tri n HĐH c a mình thì gi a anh và giáo sư Andy Tanenbaum đã n ra m t cu c tranh cãi. N u b n đ c quan tâm thì có th tìm đ c nh ng thư mà hai ngư i này g i cho nhau trong nhóm tin t c nói trên, ho c tìm đ c cu n “Linux: Just for fun”, m t cu n sách nói v đ i tư c a Linus Torvalds đ n th i đi m anh làm cho Transmeta và vi c phát tri n HĐH Linux. 4 Ngư i d ch: Th t ra lúc đ u nhân Linux đư c phân ph i theo b n quy n mà FSF không không nh n là t do vì nghiêm c m phân ph i thương m i. B n quy n này có th tìm th y trong nh ng phiên b n đ u tiên c a nhân trên ftp.kernel.org, ví d ftp://ftp.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES- 0.01. B n quy n đư c đ i sang GPL t phiên b n 0.12, hãy xem RELNOTES-0.12 theo đ a ch trên.
  13. 1.1 Th nào là HĐH nói chung và Linux nói riêng 5 hi u, do đó không còn t do). Trong “Manifesto GNU” (http://www.gnu.org/ gnu/manifesto.html) vào năm 1985 Stallman vi t r ng đ ng l c đ ông sáng l p ra FSF và d án GNU đó là s khó ch u trong quy n s h u c a m t s ngư i đ i v i chương trình ng d ng. Nh ng gì do d án GNU phát tri n đ là t do, nhưng không có nghĩa là chúng đư c phân ph i không có b n quy n và không đư c lu t pháp b o v . Nh ng chương trình Open Source (Mã ngu n m ) đư c phân ph i theo đi u ki n c a b n quy n General Public License (GPL). B n có th đ c b n quy n này theo đ a ch http://www.gnu.org/copyleft/gpl.html. B n d ch ti ng Vi t không chính th c n m t i http://vi.openoffice.org/gplv.html. N u như nói m t cách th t ng n g n thì b n ch t c a GPL như sau. Chương trình ng d ng phân ph i theo GPL đư c quy n phát tri n, s a đ i, chuy n ho c bán cho ngư i khác không h n ch v i m t đi u ki n là k t qu thu đư c cũng ph i phân ph i theo b n quy n copyleft. Đi u ki n cu i là quan tr ng và then ch t c a b n quy n này. Nó b o đ m r ng k t qu lao đ ng c a các nhà phát tri n ph n m m t do s luôn luôn m và không tr thành m t ph n c a s n ph m nào đó dùng b n quy n bình thư ng (ý nói s n ph m đóng). Đi u ki n này cũng phân bi t ph n m m t do v i ph n m m phân ph i mi n phí. Nói như các nhà sáng l p ra FSF, thì b n quy n GPL “làm cho chương trình ng d ng t do và đ m b o là chương trình này s t do”5 . G n như t t c các chương trình ng d ng phân ph i theo đi u ki n GPL có th coi là mi n phí đ i v i ngư i dùng (trong ph n l n các trư ng h p đ nh n đư c nó b n ch ph i tr ti n đĩa CD, DVD ho c k t n i Internet). Đi u đó không có nghĩa là các nhà l p trình không còn nh n đư c ph n thư ng (ti n) cho công vi c c a mình. Ý tư ng chính c a Stallman là ch không ph i bán chương trình ng d ng, mà bán chính s c lao đ ng c a nhà l p trình. đây c n ph i đưa ra ví d đ b n đ c hi u rõ hơn: ngu n thu nh p có th là các s n ph m đi kèm ho c d ch v cài đ t và c u hình cho nh ng máy tính m i ho c phát tri n cho nh ng đi u ki n làm vi c m i, d y cách s d ng, v.v. . . M t ph n thư ng t t n a đó là khi chương trình tr lên n i ti ng thì tác gi c a chương trình s có đi u ki n tìm m t công vi c có lương cao. Các nhà phát tri n xvnkb (http://xvnkb.sf.net), unikey (http://unikey.org) và pdfLaTeX (http://www.tug.org), là nh ng ngư i hi u rõ nh t đi u này. Hãy vi t thư cho h đ h c h i kinh nghi m! Trong khuôn kh c a ho t đ ng Open Source nói chung và d án GNU nói riêng, đã phát tri n m t lư ng đáng k các chương trình ng d ng, n i ti ng nh t trong s chúng đó là trình so n th o Emacs và trình biên d ch GCC (GNU C Compliler) – trình biên d ch ngôn ng C t t nh t hi n nay. Vi c m mã ngu n đ ng th i nâng cao r t nhi u ch t lư ng c a chương trình ng d ng: t t c nh ng gì t t nh t, nh ng ý tư ng và cách gi i quy t m i đư c phân ph i r ng rãi ngay l p t c, còn các l i s đư c nh n ra và s a nhanh chóng. đây chúng ta g p l i cơ ch đào th i (hay t t hơn là ch n l c) t nhiên như trong thuy t sinh h c c a Darwin. Cơ ch này b kìm nén trong th gi i chương trình ng d ng thương m i. 5 Ngư i d ch: B n đ c cũng nên bi t là s p t i s có phiên b n th 3 c a GPL (GPLv3). Cùng v i s ra đ i c a phiên b n th 3 này đã n y ra r t nhi u tranh cãi xung quanh tính t do c a b n quy n. Tham gia vào tranh cãi có c ngư i vi t ra nhân Linux đ u tiên – Linus Torvalds.
  14. 6 HĐH Linux: l ch s và các b n phân ph i Tuy nhiên bây gi xin quay l i v i l ch s c a Linux. C n nói r ng Linus Torvalds ch phát tri n ph n nhân (kernel) c a h đi u hành. Nhân này “đ u” đúng vào mi n “đ t lành”, vì trong d án GNU đã phát tri n s lư ng l n các ti n ích khác nhau. Nhưng đ chuy n GNU thành m t HĐH hoàn ch nh thì ch còn thi u nhân. D án GNU cũng đã b t đ u phát tri n nhân cho riêng mình (đư c g i là Hurd), nhưng vì lý do nào đó đã b ch m l i. Vì th s xu t hi n c a nhân Linux là r t đúng lúc. Nó đ ng nghĩa v i vi c ra đ i c a m t h đi u hành m i t do phân ph i cùng v i mã ngu n m . Stallman t t nhiên đã đúng khi đòi h i h đi u hành Linux ph i đư c g i là GNU/Linux. Nhưng đã thành l ngư i dùng thư ng s d ng tên g i c a nhân làm tên g i c a h đi u hành, và chúng ta cũng làm như v y trong cu n sách này. 1.1.3 Đ c đi m chính c a HĐH Linux Do mã ngu n Linux phân ph i t do và mi n phí, nên ngay t đ u đã có r t nhi u nhà l p trình tham gia vào quá trình phát tri n h th ng. Nh đó đ n th i đi m hi n nay Linux là h đi u hành hi n đ i, b n v ng và phát tri n nhanh nh t, h tr các công ngh m i g n như ngay l p t c. Linux có t t c các kh năng, đ c trưng cho các h đi u hành đ y đ tính năng dòng UNIX. Xin đưa ra đây danh sách ng n g n nh ng kh năng này. 1. Nhi u ti n trình th t s T t c các ti n trình là đ c l p, không m t ti n trình nào đư c c n tr công vi c c a ti n trình khác. Đ làm đư c đi u này nhân th c hi n ch đ phân chia th i gian c a b x lý trung tâm, l n lư t chia cho m i ti n trình m t kho ng th i gian th c hi n. Cách này hoàn toàn khác v i ch đ “nhi u ti n trình đ y nha” đư c th c hi n trong Windows 95, khi m t ti n trình ph i như ng b x lý cho các ti n trình khác (và có th làm ch m tr r t lâu vi c th c hi n). 2. Truy c p nhi u ngư i dùng Linux không ch là HĐH nhi u ti n trình, Linux h tr kh năng nhi u ngư i dùng làm vi c cùng lúc. Khi này Linux có th cung c p t t c các tài nguyên h th ng cho ngư i dùng làm vi c qua các terminal xa khác nhau. 3. Swap b nh lên đĩa Swap b nh cho phép làm vi c v i Linux khi dung lư ng b nh có h n. N i dung c a m t s ph n (trang) b nh đư c ghi lên vùng đĩa c ng xác đ nh t trư c. Vùng đĩa c ng này đư c coi là b nh ph thêm vào. Vi c này có làm gi m t c đ làm vi c, nhưng cho phép ch y các chương trình c n b nh dung lư ng l n mà th c t không có trên máy tính. 4. T ch c b nh theo trang H th ng b nh Linux đư c t ch c d ng các trang v i dung lư ng 4K. N u b nh đ y, thì HĐH s tìm nh ng trang b nh đã lâu không đư c s d ng đ chuy n chúng t b nh lên đĩa c ng. N u có trang nào đó trong s nh ng trang này l i tr thành c n thi t, thì Linux s ph c h i chúng t đĩa c ng (vào b nh ). M t s h th ng Unix cũ và m t s h th ng hi n đ i
  15. 1.1 Th nào là HĐH nói chung và Linux nói riêng 7 (bao g m c Microsoft Windows) chuy n lên đĩa t t c n i dung c a b nh thu c v nh ng ng d ng không làm vi c t i th i đi m hi n th i (t c là T T C các trang b nh thu c v ng d ng s đư c lưu lên đĩa khi không đ b nh ) và như v y kém hi u qu hơn. 5. N p môđun th c hi n “theo yêu c u” Nhân Linux h tr vi c cung c p các trang b nh theo yêu c u, khi này ch ph n mã c n thi t c a chương trình m i n m trong b nh , còn nh ng ph n mã không s d ng t i th i đi m hi n t i thì n m l i trên đĩa. 6. Cùng s d ng chương trình N u c n ch y m t lúc nhi u b n sao c a cùng m t ng d ng nào đó6 , thì Linux ch n p vào b nh m t b n sao c a mã chương trình và t t c các ti n trình gi ng nhau cùng s d ng m t mã này. 7. Thư vi n chung Thư vi n – b các quá trình (thao tác) đư c chương trình dùng đ làm vi c v i d li u. Có m t s thư vi n tiêu chu n đư c dùng cùng lúc cho vài ti n trình. Trên các h th ng cũ nh ng thư vi n đó n m trong m i t p tin chương trình, và th c hi n cùng lúc nh ng chương trình này d n đ n hao h t b nh không đáng có. Trên các h th ng m i (bao g m Linux) có h tr làm vi c v i các thư vi n đ ng (dynamic) và tĩnh (static) đư c chia ra, và như v y cho phép gi m kích thư c b nh b ng d ng chi m. 8. B đ m đ ng c a đĩa B đ m c a đĩa đó là m t ph n b nh c a h th ng dùng làm nơi lưu nh ng d li u thư ng dùng c a đĩa, nh đó nâng cao r t nhi u t c đ truy c p t i nh ng chương trình và ti n trình thư ng dùng. Ngư i dùng MS- DOS s nh đ n chương trình SmartDrive, chương trình này d tr m t ph n b nh có kích thư c xác đ nh đ làm b đ m cho đĩa. Linux s d ng h th ng đ m linh đ ng hơn: b nh đư c d tr cho đ m đư c tăng lên khi b nh không đư c s d ng, và s gi m xu ng khi h th ng hay ti n trình c n nhi u b nh hơn. 9. 100% tương ng v i tiêu chu n POSIX 1003.1. H tr m t ph n các kh năng c a System V và BSD POSIX 1003.1 (Portable Operating System Interface – giao di n c a h đi u hành lưu đ ng) đưa ra giao di n tiêu chu n cho các h th ng Unix, đó là m t b các th t c ngôn ng C. Ngày nay giao di n này đư c t t c các h đi u hành m i h tr . Microsoft Windows NT cũng h tr POSIX 1003.1. Linux 100% tương ng v i tiêu chu n POSIX 1003.1. Thêm vào đó Linux còn h tr các kh năng c a System V và BSD đ tăng tính tương thích. 10. System V IPC Linux s d ng công ngh IPC (InterProcess Communication) đ trao đ i thông tin gi a các ti n trình, đ s d ng tín hi u và b nh chung. 6 ho c m t ngư i dùng ch y vài ti n trình gi ng nhau, ho c nhi u ngư i dùng ch y cùng m t chương trình
  16. 8 HĐH Linux: l ch s và các b n phân ph i 11. Kh năng ch y chương trình c a HĐH khác Trong l ch s Linux không ph i là h đi u hành đ u tiên. Ngư i ta đã vi t ra hàng lo t các chương trình ng d ng, trong đó có c nh ng chương trình có ích và không đ n n i t i, cho các HĐH đã phát tri n trư c Linux, bao g m DOS, Windows, FreeBSD và OS/2. Đ ch y nh ng chương trình như v y dư i Linux đã phát tri n các trình gi l p (emulator) cho DOS, Windows 3.1, Windows 95 và Wine. Ngoài ra, còn có m t lo t các chương trình t o máy o7 mã ngu n m cũng như s n ph m thương m i: qemu, bochs, pearpc, vmware,. . . HĐH Linux còn có kh năng ch y chương trình dành cho b x lý Intel c a các h th ng Unix khác, n u h th ng đáp ng tiêu chu n iBCS2 (intel Binary Compatibility). 12. H tr các đ nh d ng h th ng t p tin khác nhau Linux h tr m t s lư ng l n các đ nh d ng h th ng t p tin, bao g m các h th ng t p tin DOS và OS/2, và c các h th ng t p tin m i, như reiserfs, HFS,. . . . Trong khi đó h th ng t p tin chính c a Linux, đư c g i là Second Extended File System (ext2fs) và Third Extended File System (ext3fs) cho phép s d ng không gian đĩa m t cách có hi u qu . 13. Kh năng h tr m ng Linux có th g n vào b t kỳ m ng n i b nào. H tr t t c các d ch v Unix, bao g m Networked File System (NFS), k t n i t xa (telnet, rlogin, ssh), làm vi c trong các m ng TCP/IP, truy c p dial-up qua các giao th c SLIP và PPP,v.v. . . Đ ng th i có h tr dùng Linux là máy ch ho c máy khách cho m ng khác, trong đó có chia s (dùng chung, sharing) các t p tin và in t xa trong các m ng Macintosh, NetWare và Windows. 14. Làm vi c trên các ph n c ng khác nhau M c dù đ u tiên HĐH Linux đư c phát tri n cho máy tính cá nhân (PC) trên n n t ng Intel 386/486, bây gi nó có th làm vi c trên t t c các b vi x lý Intel b t đ u t 386 và k t thúc là các h th ng nhi u b x lý Pentium IV, bao g m c các b x lý 64bit. Đ ng th i Linux còn làm vi c trên r t nhi u b x lý tương thích v i Intel c a các nhà s n xu t khác, như AMD. Trong Internet còn có nh ng thông báo nói r ng trên các b x lý Athlon và Duron c a AMD Linux còn làm vi c t t hơn so v i trên Intel. Ngoài ra còn có phiên b n Linux cho các b x lý khác bao g m ARM, DEC Alpha, SUN Sparc, M68000 (Atari và Amiga), MIPS, PowerPC và nh ng b x lý khác8 . Xin đư c nói luôn là trong cu n sách này chúng ta ch xem xét trư ng h p Linux cho các máy tính tương thích v i IBM. 1.2 B n phân ph i Linux Trong b t kỳ h đi u hành nào cũng có th chia ra 4 ph n chính: nhân, c u trúc (h th ng) t p tin, trình d ch l nh ngư i dùng và các ti n ích. Nhân đó là 7 cho phép s d ng nhi u h đi u hành trên m t máy 8 Ngư i d ch: b n phân ph i Linux h tr nhi u b x lý nh t c n ph i k đ n Debian (http://www. debian.org)
  17. 1.2 B n phân ph i Linux 9 thành ph n chính, nòng c t c a HĐH, nó đi u khi n các thi t b ph n c ng và đi u khi n vi c th c hi n chương trình. C u trúc t p tin (h th ng t p tin) – là h th ng lưu t p tin trên các thi t b lưu. Trình d ch l nh hay h v (shell) – là chương trình t ch c giao ti p gi a máy tính và ngư i dùng. Và cu i cùng các ti n ích – đó đơn gi n là các chương trình riêng l , nói chung không khác so v i nh ng chương trình bình thư ng khác mà ngư i dùng có th ch y, nhưng có ch c năng chính là th c hi n các công vi c d ch v (service). Như đã nói trên, n u chính xác thì t “Linux” ch có nghĩa là nhân. Vì th khi nói v h đi u hành nói chính xác hơn s là “h đi u hành d a trên nhân Linux”. Nhân c a HĐH Linux hi n th i đang đư c phát tri n dư i s lãnh đ o c a Linus Torvalds và phân ph i m t cách t do (v i b n quy n GPL) gi ng như m t s lư ng kh ng l các chương trình ng d ng và ti n ích khác. M t trong nh ng k t qu c a vi c phân ph i t do chương trình ng d ng cho Linux đó là có nhi u công ty cũng như nhóm các nhà phát tri n đ c l p đã phát hành ra các b n Linux khác nhau đư c g i là “b n phân ph i Linux”. B n phân ph i – đó là m t b các chương trình ng d ng bao g m t t c b n ph n chính c a HĐH, t c là nhân, h th ng t p tin, h v shell và các ti n ích, đ ng th i còn có thêm các chương trình cho công vi c hàng ngày c a ngư i dùng. Thông thư ng t t c nh ng chương trình n m trong b n phân ph i Linux đ u dùng b n quy n GPL. R t có th xu t hi n trong b n đ c ý nghĩ r ng b t kỳ ai cũng có kh năng cho ra b n phân ph i Linux, hay nói đúng hơn là b t kỳ ngư i nào không lư i sưu t p các chương trình t do. Và suy nghĩ đó có ph n nào đúng. Tuy nhiên các nhà phát tri n c a m t b n phân ph i Linux c n t o ra ít nh t m t chương trình cài đ t đ đưa HĐH lên máy tính tr ng không chưa có HĐH nào. Ngoài ra, c n tìm cách gi i quy t s ph thu c và mâu thu n gi a các gói (và gi a các phiên b n c a gói) chương trình. Và như chúng ta s th y sau đó không ph i là bài toán đơn gi n. Tuy v y, trên th gi i đang có hàng trăm (hàng nghìn?) b n phân ph i Linux và m i ngày l i xu t hi n các b n m i. Có th tìm th y danh sách tương đ i đ y đ cùng v i đ c đi m ng n g n c a m i b n phân ph i trên http://www. linuxhq.com (còn có m t s b n phân ph i khác ti ng Anh). Ngoài ra, trên trang đó cũng như nhi u trang web khác còn có liên k t đ n nh ng danh sách b n phân ph i khác, vì th n u mu n có th tìm th y t t c nh ng gì có trên th gi i (h u h t nh ng trang này dùng ti ng Anh và các b n phân ph i Vi t Nam ít đư c nói đ n). M t vài tác gi đã th phân lo i các b n phân ph i d a trên nh ng tiêu chí khác nhau: ˆ c u trúc h th ng t p tin ˆ chương trình cài đ t ˆ phương ti n dùng đ cài đ t các gói chương trình ˆ thành ph n c a các ti n ích và chương trình ng d ng có trong b n phân ph i. M c dù h u h t các tác gi cho r ng s khác nhau gi a các b n phân ph i là không cơ b n. Nhưng hi n nay có th chia ít nh t 3 nhóm b n phân ph i, mà đ i di n c a m i nhóm là Red Hat, Slackware và Debian.
  18. 10 HĐH Linux: l ch s và các b n phân ph i V y thì c n l a ch n b n phân ph i theo tiêu chu n nào? Theo ý ki n c a tác gi thì đ i v i ngư i dùng Vi t Nam có hai tiêu chu n: th nh t ph i có giao di n ngư i dùng ti ng Vi t và th hai ph i có m t nhóm các nhà phát tri n h tr b n phân ph i này. Và t t nh t n u nhóm các nhà phát tri n này nh n đư c ngu n l i t s n ph m Linux c a mình, t c là làm vi c như m t công ty thương m i. Th m chí ch trong kho ng th i gian không lâu mà tôi s d ng Linux (kho ng 5 năm) đã có nhi u b n phân ph i Vi t Nam cũng như nư c ngoài đã chào t m bi t th gi i Linux vì nhóm h tr c a chúng không thu đư c nhi u l i nhu n và sau đó m t th i gian ng ng h tr tác ph m c a mình. Đ i v i ngư i dùng Linux Vi t Nam hi n th i có hai l a ch n: th nh t, s d ng các s n ph m Linux ti ng Vi t do m t s ngư i t nguy n duy trì; th hai, s d ng các s n ph m Linux l n có h tr ti ng Vi t. Chúng ta s nói đ n hai s l a ch n này m t cách k càng hơn. L a ch n th nh t, theo ý ki n c a tôi không đư c ưu tiên đây. Lý do chính là chưa đ t đư c tiêu chu n th hai nêu trên. Hi n th i có m t b n phân ph i như v y: vnlinux-CD (cùng v i m t vài bi n th ) do anh Larry Nguy n, m t Vi t ki u M duy trì. L a ch n th hai đó là s d ng các b n phân ph i h tr ti ng Vi t t t như Debian, Ubuntu và Mandriva, openSuSE cũng đang d n d n h tr ti ng Vi t (http://vi.opensuse.org). L a ch n th hai này đư c ưu tiên vì: ˆ chúng có h tr ti ng Vi t và càng ngày càng hoàn thi n ˆ chúng có trình cài đ t t t, h tr nhi u ph n c ng khác nhau ˆ có th cài đ t thêm các ph n m m khác m t cách d dàng ph n l n chương trình đã đư c biên d ch s n cho m i yêu c u c a ngư i dùng ˆ nh ng b n phân ph i này đư c m t nhóm các nhà phát tri n duy trì, c p nh t thư ng xuyên thông thư ng là theo m t l ch đ nh s n. Ngoài ra còn đ m b o là b n s nh n đư c phiên b n m i c a nó trong tương lai. Không s trư ng h p “đem con b ch ”. Đ k t thúc câu chuy n v l a ch n b n phân ph i Linux c n nói thêm là g n đây bác Nguy n Đ i Quý (http://vnoss.org) đã cho ra đ i m t b n phân ph i m i hư ng v ngư i dùng Vi t Nam – FCxVnOSS. B n phân ph i này d a trên n n t ng c a FC c ng thêm giao di n ti ng Vi t và m t s ng d ng “mang tính Vi t Nam” như chương trình gõ ti ng Vi t, t đi n ti ng Vi t,. . . C n nói vài l i v đánh s phiên b n. C n phân bi t s phiên b n c a b n phân ph i và s phiên b n c a nhân. Khi nói đ n phiên b n c a Linux thư ng có ý là phiên b n nhân (vì m t h đi u hành là Linux ch khi nó s d ng nhân Linux). Vì Linus Torvalds ti p t c đi u hành vi c phát tri n nhân, nên phiên b n c a nhân tăng lên theo th t , ch không phân nhánh và nhân lên gi ng như trư ng h p b n phân ph i. Phiên b n nhân Linux thư ng đư c ký hi u b ng ba s 9 , phân cách nhau b i d u ch m. Ví d , b n phân ph i openSuSE Linux 10.1 đư c d a trên nhân phiên b n 2.6.16.13, t c là Linux phiên b n 2.6.16.13. Phiên b n nhân v i s th hai 9 Ngư i d ch: Đi u này ch đúng v i các phiên b n nhân trư c 2.6. T 2.6 tr đi Linus và các nhà phát tri n khác th nghi m dùng b n s .
  19. 1.3 Yêu c u đ i v i máy tính 11 l (ví d , 2.5.0) thư ng không đư c s d ng đ t o các b n phân ph i, vì đó là phiên b n th nghi m (ch dành cho phát tri n). Chúng đư c dành cho nh ng ngư i tình nguy n có mong mu n th nghi m đ tìm ra các l i. T t nhiên phiên b n như v y có th làm vi c, nhưng không b n v ng. Phiên b n v i s th hai ch n (ví d 2.6.16.13) đư c coi là làm vi c n đ nh. T t nhiên là b n có th cài đ t b t kỳ phiên b n nào, nhưng đ i v i ngư i dùng m i thì nên ch n phiên b n nhân v i s th hai trong phiên b n là ch n. N u cài đ t m t b n phân ph i đ y đ thì đương nhiên l a ch n nhân đã đư c các nhà phát tri n làm giùm b n đ c, nhưng c n bi t cách đánh s phiên b n n u khi nào đó b n mu n c p nh t nhân Linux c a mình. 1.3 Yêu c u đ i v i máy tính Tôi đã đ c đâu đó nói r ng có nh ng phiên b n Linux đ c bi t, làm vi c th m chí trên b x lý 8086 v i 512Kbyte b nh , còn phiên b n đ c bi t có th ch y t m t ho c hai đĩa m m không c n đĩa c ng thì tôi đã g p. Vì th n u b n có m t cái máy tính cũ, trên đó không th ch y n i Windows, thì có th s d ng nó đ h c Linux và r t có th s ng c nhiên v kh năng c a HĐH này. Nhưng trong cu n sách này chúng ta s không xem xét nh ng trư ng h p đ c bi t như v y. Vì HĐH Linux s d ng ch đ b o v c a b vi x lý, nên đ cài đ t HĐH này c n ít nh t là m t máy tính có b x lý 386. Theo các ngu n thông tin khác nhau thì t t c các bi n th đ u dùng t t: SX, DX v.v. . . Xin đ ng lo l ng, nh ng máy tính s n xu t g n đây đáp ng đư c toàn b nh ng yêu c u đã đưa ra và s đưa ra dư i đây. Yêu c u đ i v i ph n c ng c a h th ng mu n cài đ t Linux còn đư c xác đ nh b i l a ch n ph n m m c a ngư i dùng (và t c là s ph thu c vào phiên b n c a các ph n m m và ít nhi u vào b n phân ph i). B ng 1.1 dư i đây s đưa ra m t vài con s ch v i m c đích giúp b n đ c làm quen, nh ng con s này là không chính xác10 nhưng không khác bi t nhi u gi a các b n Linux khác nhau. B ng 1.1: Yêu c u đ i v i ph n c ng Mong mu n c a ngư i dùng Yêu c u, MB B nh Đĩa c ng Yêu c u nh nh t: ch làm vi c trong giao di n văn 8 200 b n v i dòng l nh c a shell, có đ m t s ng d ng ngư i dùng như vim, emacs,. . . Dùng đư c giao di n đ ho X Window cùng v i m t 32 400 s trình qu n lý c a s nh nh như icewm, fluxbox, windowmaker. Dùng môi trư ng làm vi c đ ho KDE. 128 1000 Ch y các ng d ng c n nhi u b nh (như GIMP, các 256 1500 ng d ng n m trong KOffice, OpenOffice.org). Như v y Linux có m t ưu đi m l n đó là kh năng làm vi c th m chí trên 10 Ngư i d ch: b n g c đưa ra m t b n đã quá cũ, tôi xin đưa ra m t b n m i d a trên cơ s c a openSuSE 10.1.
  20. 12 HĐH Linux: l ch s và các b n phân ph i nh ng máy r t cũ, mà trư c đây ch có th dùng MS DOS (t t nhiên là trong trư ng h p này chúng ta ch thu đư c ch đ dòng l nh, nhưng đi u này không ngăn c n vi c dùng các máy tính cũ làm vi c có l i ví d làm router11 ). Đ b t đ u h c Linux thì ch c n có m t máy tính v i b x lý 486, 16MB b nh và c ng kho ng 300MB. T t nhiên đ i v i dung lư ng b nh cũng như c u hình máy nói chung thì máy càng m nh, càng nhi u b nh , c ng càng r ng thì càng t t. Không có gì là th a thãi. Ngư i d ch: Đ k t thúc xin đưa ra đây trư ng h p c u hình máy c a tôi: b x lý 686, b nh 256Mb (+256Mb swap), 10GB c ng dành cho cài đ t Linux, ph n còn l i dành cho d li u. Tôi hi n s d ng openSuSE Linux 10.1 v i môi trư ng làm vi c KDE. Có th làm vi c đ ng th i nhi u ng d ng yêu c u: OpenOffice.org, KBabel, Kile (dùng đ vi t nh ng dòng này), StarDict (chương trình t đi n), Konqueror, GIMP. N u máy tính c a b n có th làm vi c v i các h đi u hành Windows 2000 và Windows XP thì vi c ch y Linux trên nó s không có gì khó khăn. 1.4 L y Linux đâu?12 Và trong ph n cu i c a chương th nh t chúng ta s tr l i ng n g n cho câu h i “L y Linux đâu?”. Như đã nói trên, Linux cùng v i m t s lư ng kh ng l các chương trình ng d ng đư c phân ph i g n như mi n phí. Có nghĩa là ngư i dùng không có ý đ nh thay đ i chương trình ho c mua bán nh ng chương trình này, thì có toàn quy n sao chép toàn b b n phân ph i Linux ho c m t ph n b t kỳ c a nó ch ngư i quen, ho c t i xu ng t Internet ho c mua đĩa CD (DVD) Linux ch nh ng ngư i bán hàng đâu đó trên hè ph mà không s b truy c u vì vi ph m b n quy n (các chương trình có b n quy n thương m i thư ng dùng t “s đ ng ý” gi a ngư i dùng và nhà phân ph i) c a các nhà (công ty) phát tri n. Trong s ba phương án k trên thì đ i v i ngư i dùng Linux Vi t Nam phương án mua CD, DVD là t t nh t. C n nói thêm là nh ng đĩa ghi v a hè thư ng có l i và có th gây m t d li u ho c làm h ng ph n c ng. T t hơn h t là nên mua đĩa c a m t công ty máy tính ho c qua m t c a hàng trên m ng. Khi đó còn có kh năng l a ch n và có b o đ m là s đ i đư c đĩa x u. T t nhiên là chênh l nh giá thành đĩa ph i không quá cao, giá thành bán Linux bao nhiêu đó là quy n c a ngư i bán (ngoài ra giá thành cao còn có các b n phân ph i chuyên nghi p như Xandros, Novell Desktop,. . . ). Hi n gi trên m ng Vi t Nam đã xu t hi n m t vài c a hàng bán đĩa Linux. Đ a ch c th xin không đưa ra đây vì qu ng cáo trong th gi i hi n đ i đã không còn là mi n phí. Và vi c gi u đ a ch không làm nh hư ng đ n nh ng ai có mong mu n mua Linux đ nghiên c u. C n nói riêng v h th ng phát đĩa v i b n phân ph i Ubuntu m t cách mi n phí. Ch c n vào đ a ch http://shipit.ubuntu.com đăng ký s lư ng đĩa b n c n, t t nhiên có kèm theo đ a ch bưu đi n, sau m t th i gian kho ng 1 tháng – 11 máy giúp chuy n hư ng các gói m ng 12 Ph n này do ngư i d ch vi t