logo

Tự học và sử dụng Linux - Phan Vĩnh Thịnh

Hướng dẫn sử dụng cho người dùng mới và rất mới về Linux. Tác giả Phan Vĩnh Thịnh cập nhật năm 2007.Hệ điều hành đó 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 và làm việc với các tập tin, và đồng thời thực thi sự giao tiếp với người dùng,...
T h c s d ng Linux Phan Vĩnh Th nh Phiên b n: 0.9.6 Ngày 14 tháng 2 năm 2007 Dành cho ngư i dùng m i và r t m i... M cl c L im đ u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 HĐH Linux: l ch s và các b n phân ph i 3 1.1 Th nào là HĐH nói chung và Linux nói riêng . . . . . . . . . . . . 3 1.1.1 Các h đi u hành d ng UNIX . . . . . . . . . . . . . . . . . . 3 1.1.2 M t chút v l ch s . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.3 Đ c đi m chính c a HĐH Linux . . . . . . . . . . . . . . . . 7 1.2 B n phân ph i Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Yêu c u đ i v i máy tính . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 L y Linux đâu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2 Cài đ t h đi u hành Linux 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 . . . . . . . . . . . . . . 17 2.3.1 Th nào là c u trúc “hình h c c a đĩa” . . . . . . . . . . . . . 17 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 . . . . . . . . . . . . . . . . . . . . . . 24 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 . . . . . . . . . . . . . . . . . . . . 27 2.5.1 L i khuyên khi t o phân vùng . . . . . . . . . . . . . . . . . . 27 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 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 . . . . . . . . . . . . . . . . . . . . . . 46 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 b n phân ph i và 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) . . . . . . . . . . . . . . . . . . . . . . . 72 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 . . . . . . . . . . . . 93 4.8 T o và g n các h th ng t p tin . . . . . . . . . . . . . . . . . . . . . 95 M CL C v 5 Bash 101 5.1 H v là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.2 Các ký t đ c bi t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.3 Th c thi các câu l nh . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3.1 Thao tác ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3.2 Thao tác & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.3.3 Thao tác && và || . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4 Đ u vào/đ u ra tiêu chu n . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4.1 Dòng d li u vào – ra . . . . . . . . . . . . . . . . . . . . . . . 104 5.4.2 L nh echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.4.3 L nh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.5 Chuy n hư ng đ u vào/đ u ra, đư ng ng và b l c . . . . . . . . . . 106 5.5.1 S d ng >, < và >> . . . . . . . . . . . . . . . . . . . . . . . . 106 5.5.2 S d ng | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.5.3 B l c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.6 Tham bi n và các bi n s . Môi trư ng c a h v . . . . . . . . . . . . 109 5.6.1 Các d ng tham bi n khác nhau . . . . . . . . . . . . . . . . . 110 5.6.2 D u nh c c a h v . . . . . . . . . . . . . . . . . . . . . . . . 112 5.6.3 Bi n môi trư ng PATH . . . . . . . . . . . . . . . . . . . . . . . 113 5.6.4 Bi n môi trư ng IFS . . . . . . . . . . . . . . . . . . . . . . . 113 5.6.5 Thư m c hi n th i và thư m c cá nhân . . . . . . . . . . . . 114 5.6.6 Câu l nh export . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.7 Khai tri n bi u th c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.7.1 Khai tri n d u ngo c . . . . . . . . . . . . . . . . . . . . . . . 115 5.7.2 Thay th d u ngã (Tilde Expansion) . . . . . . . . . . . . . . 115 5.7.3 Phép th các tham bi n và bi n s . . . . . . . . . . . . . . . 116 5.7.4 Phép th các câu l nh . . . . . . . . . . . . . . . . . . . . . . . 116 5.7.5 Phép th s h c (Arithmetic Expansion) . . . . . . . . . . . . 116 5.7.6 Phân chia t (word splitting) . . . . . . . . . . . . . . . . . . 117 5.7.7 Khai tri n các m u tên thư m c và t p tin . . . . . . . . . . 117 5.7.8 Xóa các ký t đ c bi t . . . . . . . . . . . . . . . . . . . . . . . 118 5.8 Shell — m t ngôn ng l p trình . . . . . . . . . . . . . . . . . . . . . 118 5.8.1 Toán t if và test (ho c [ ]) . . . . . . . . . . . . . . . . . . 118 5.8.2 Toán t test và đi u ki n c a bi u th c . . . . . . . . . . . . 119 5.8.3 Toán t case . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.8.4 Toán t select . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.8.5 Toán t for . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.8.6 Toán t while và until . . . . . . . . . . . . . . . . . . . . . 124 5.8.7 Các hàm s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.8.8 Tham s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.8.9 Bi n n i b (local) . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.9 Script c a h v và l nh source . . . . . . . . . . . . . . . . . . . . . 126 5.10 Câu l nh sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 vi M CL C 6 S d ng Midnight Commander 128 6.1 Cài đ t chương trình Midnight Commander . . . . . . . . . . . . . . 128 6.2 V ngoài c a màn hình Midnight Commander . . . . . . . . . . . . 129 6.3 Tr giúp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.4 S d ng chu t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.5 Đi u khi n các b ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.5.1 D ng danh sách t p tin . . . . . . . . . . . . . . . . . . . . . . 133 6.5.2 Nh ng ch đ hi n th khác . . . . . . . . . . . . . . . . . . . 136 6.5.3 Các t h p phím đi u khi n b ng . . . . . . . . . . . . . . . . 137 6.6 Các phím ch c năng và th c đơn T p tin . . . . . . . . . . . . . . . . 139 6.7 M u t p tin khi sao chép ho c đ i tên . . . . . . . . . . . . . . . . . 141 6.8 Thông báo khi sao chép và di chuy n t p tin . . . . . . . . . . . . . . 143 6.9 Dòng l nh c a h v . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.10 Trình đơn Câu l nh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.11 C u hình Midnight Commander . . . . . . . . . . . . . . . . . . . . . 153 6.12 K t n i t i máy xa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 6.12.1 K t n i FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 6.12.2 K t n i Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 7 Giao di n đ ho 162 7.1 X.Org . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.2 M t chút v h th ng hình nh c a máy tính . . . . . . . . . . . . . 167 7.3 C u hình chương trình ch X . . . . . . . . . . . . . . . . . . . . . . 169 7.3.1 Thu th p thông tin c n thi t . . . . . . . . . . . . . . . . . . . 170 7.3.2 C u trúc c a t p tin c u hình X . . . . . . . . . . . . . . . . . 171 7.3.3 Th c u hình /etc/X11/xorg.conf . . . . . . . . . . . . . . . . . 178 7.4 Kh i đ ng h th ng X Window . . . . . . . . . . . . . . . . . . . . . . 182 7.4.1 L a ch n trình qu n lý c a s . . . . . . . . . . . . . . . . . . 185 7.4.2 Môi trư ng làm vi c KDE và GNOME . . . . . . . . . . . . . 187 7.4.3 Môi trư ng làm vi c Xfce . . . . . . . . . . . . . . . . . . . . . 188 7.4.4 S d ng trình qu n lý màn hình . . . . . . . . . . . . . . . . 188 8 Làm vi c trong môi trư ng KDE 190 8.1 B t đ u làm vi c v i KDE . . . . . . . . . . . . . . . . . . . . . . . . 190 8.1.1 Đăng nh p vào KDE . . . . . . . . . . . . . . . . . . . . . . . 190 8.1.2 V ngoài c a KDE . . . . . . . . . . . . . . . . . . . . . . . . . 191 8.1.3 Trình đơn KMenu . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.1.4 Trung tâm đi u khi n KDE . . . . . . . . . . . . . . . . . . . 195 8.1.5 Thay đ i v ngoài . . . . . . . . . . . . . . . . . . . . . . . . . 198 8.1.6 Đi u khi n phiên làm vi c . . . . . . . . . . . . . . . . . . . . 201 Danh sách hình v 3.1 Màn hình kh i đ ng c a GRUB . . . . . . . . . . . . . . . . . . . . . 43 6.1 Midnight Commander ti ng Vi t . . . . . . . . . . . . . . . . . . . . 129 6.2 Màn hình Midnight Commander . . . . . . . . . . . . . . . . . . . . 130 6.3 H p tho i ch n đ nh d ng hi n th . . . . . . . . . . . . . . . . . . . 133 6.4 H p tho i s p x p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.5 Ch đ thông tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 6.6 Ch đ cây thư m c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.7 Ch đ xem nhanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6.8 H p tho i đ i tên t p tin . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.9 C as h il i. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.10 C a s yêu c u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.11 Dòng nh p vào đ a ch IP c a máy ch FTP . . . . . . . . . . . . . . 147 6.12 B t đ u tìm ki m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.13 Đang tìm ki m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.14 Tìm ki m t t c các liên k t m m . . . . . . . . . . . . . . . . . . . . 151 6.15 H p tho i danh sách thư m c thư ng dùng . . . . . . . . . . . . . . 152 6.16 Đi u khi n công vi c n n sau . . . . . . . . . . . . . . . . . . . . . . 153 6.17 C u hình Midnight Commander . . . . . . . . . . . . . . . . . . . . . 154 6.18 Thay đ i v ngoài c a Midnight Commander . . . . . . . . . . . . . 156 6.19 Thay đ i bit hi n th c a Midnight Commander . . . . . . . . . . . . 157 6.20 Thi t l p các h p tho i h i l i ngư i dùng . . . . . . . . . . . . . . . 158 6.21 Th và c u hình các phím . . . . . . . . . . . . . . . . . . . . . . . . 158 6.22 Thi t l p h th ng t p tin o . . . . . . . . . . . . . . . . . . . . . . . 159 7.1 H th ng đ ho X Window . . . . . . . . . . . . . . . . . . . . . . . . 164 7.2 C u hình X.org qua xorgcfg . . . . . . . . . . . . . . . . . . . . . . 172 7.3 Chương trình xvidtune . . . . . . . . . . . . . . . . . . . . . . . . . 181 7.4 Chương trình xvidtune “không ch u” ch nh hình nh . . . . . . . . 181 7.5 Môi trư ng làm vi c Xfce . . . . . . . . . . . . . . . . . . . . . . . . . 189 8.1 Màn hình đăng nh p KDM . . . . . . . . . . . . . . . . . . . . . . . . 191 8.2 V ngoài c a KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 8.3 H p tho i ch y chương trình . . . . . . . . . . . . . . . . . . . . . . . 193 8.4 Tr giúp có ích tooltips . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.5 Trình đơn chính c a KDE . . . . . . . . . . . . . . . . . . . . . . . . 195 8.6 Tìm ki m trong trình đơn chính c a KDE . . . . . . . . . . . . . . . 196 8.7 Trình Thi t l p cá nhân c a KDE . . . . . . . . . . . . . . . . . . . . 197 viii DANH SÁCH HÌNH V 8.8 Cài đ t phông ch m i . . . . . . . . . . . . . . . . . . . . . . . . . . 198 8.9 Ch n phông ch dùng cho text, trình đơn, . . . . . . . . . . . . . . . . 198 8.10 Ch n phông ch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 8.11 C nh báo khi có thay đ i chưa áp d ng . . . . . . . . . . . . . . . . . 199 8.12 Trình đơn c a thanh panel . . . . . . . . . . . . . . . . . . . . . . . . 200 8.13 Trình đơn b i c nh c a nút . . . . . . . . . . . . . . . . . . . . . . . 200 8.14 C u hình các thanh panel . . . . . . . . . . . . . . . . . . . . . . . . 201 8.15 Thay đ i màn hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 8.16 So n th o trình đơn chính . . . . . . . . . . . . . . . . . . . . . . . . 202 Danh sách b ng 1.1 Yêu c u đ i v i ph n c ng . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1 C u trúc c a sector kh i đ ng chính . . . . . . . . . . . . . . . . . . 20 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 . . . . . . . . . . . . 94 4.8 Nh ng tùy ch n chính c a câu l nh mount . . . . . . . . . . . . . . 99 5.1 Các câu l nh b l c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.2 Thay th các tham bi n đ c bi t . . . . . . . . . . . . . . . . . . . . . 111 5.3 Ký t xác đ nh d ng d u nh c . . . . . . . . . . . . . . . . . . . . . . 112 5.4 Các ký t t o m u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.1 Các t h p phím di chuy n dùng chung . . . . . . . . . . . . . . . . . 131 6.2 Di chuy n trong trình xem t p tin . . . . . . . . . . . . . . . . . . . . 131 6.3 Di chuy n khi xem tr giúp . . . . . . . . . . . . . . . . . . . . . . . 132 6.4 Các phím ch c năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.5 Các l nh đi u khi n dòng nh p vào . . . . . . . . . . . . . . . . . . . 148 L im đ u Trong tác ph m n i ti ng th gi i c a nhà văn Nga Lev Tolstoi “Chi n tranh và hoà bình” có đưa ra m t ví d đ minh ho cho suy nghĩ c a tác gi v vai trò c a nh ng ngư i có ti ng (c th là Napoleon và Alecxandr đ nh t) và qu n chúng trong l ch s nói chung cũng như trong chi n tranh châu Âu nh ng năm đ u th k XIX. Nhân v t chính trong ví d minh ho này là con ong. Đ i v i c u bé v a b ong c n thì m c đích c a con ong ch c n ngư i. Đ i v i m t nhà thơ thì m c đích c a con ong là thu vào mình hương v c a nh ng bông hoa. Đ i v i ngư i nuôi ong thì m c đích ong là thu th p m t ong. Ngư i nuôi ong có cái nhìn sâu hơn thì cho r ng ong thu th p b i ph n hoa đ nuôi ong con và t o ong chúa, như v y m c đích c a nó là duy trì nòi gi ng. Nhà sinh h c khi quan sát th y ong th ph n cho hoa thì quy t đ nh đây chính là m c đích c a loài ong. Ngư i khác quan sát quá trình di cư c a th c v t thì cho r ng ong tham gia vào quá trình này và là m c đích c a nó. T t nhiên m c đích cu i cùng c a ong không ph i là nh ng cái trên n m riêng bi t mà là t t c chúng c ng l i, và còn c ng thêm nh ng gì mà t m th i b óc quan sát h n ch c a con ngư i còn chưa tìm ra. Microsoft nhìn th y Linux kh năng c nh tranh l n và nhi u khi coi Linux là k thù c a mình. Nhi u t ch c chính ph cũng như phi chính ph nhìn th y Linux m t h đi u hành nhi u h a h n và h tr cho Linux. Nh ng nư c còn nghèo tìm th y Linux m t cách gi i quy t cho v n đ kinh t . M t s công ty đã th y đư c Linux m t ngu n l i l n và phát tri n công vi c kinh doanh c a mình t h đi u hành này. Đ i v i Linus Torvalds, Linux là ni m đam mê và “Just for fun”. Các nhà l p trình nhân (kernel) tìm th y Linux s quy n rũ và công vi c phát tri n c a h . Ngư i dùng thì th y Linux m t h th ng m nh, thu n ti n, có th đi u ch nh theo ý mu n c a mình v.v. . . Linux là h đi u hành phát tri n m nh. Nh ng năm đ u th p k th chín c a th k XX Linux m i ch là đ a con tinh th n chưa bi t nói c a Torvalds. Ch trong vài năm g n đây đã có nhi u b n phân ph i Linux chi m lĩnh đư c môi trư ng máy ch cũng như máy đ bàn c a ngư i dùng. Trên th trư ng máy ch hi n th i ch có m t vài tên tu i đáng chú ý. Linux cho máy đ bàn có ph n đa d ng hơn. M i b n phân ph i thích h p cho m t nhóm ngư i dùng c th nào đó t ngư i dùng m i đ n ngư i dùng “cao c p” (advanced) hay nói đúng hơn là m i ngư i dùng có quy n l a ch n cho mình m t b n phân ph i thích h p và chuy n sang s d ng b n khác khi nào mong mu n. L ch s hình thành và phát tri n Linux chúng ta s th y ngay chương đ u tiên c a cu n sách này. Linux ngay t ban đ u đã đư c xây d ng d a trên c ng đ ng (ti ng Anh “community”), d a trên s c ng tác. C ng đ ng Linux không ch cung c p cho ngư i dùng máy tính m t h đi u hành thân thi n, d s d ng mà còn luôn luôn s n sàng giúp đ ngư i dùng m i, luôn mong mu n có thêm máy tính ch y dư i Linux. V i k t n i m ng Internet, b n s luôn tìm th y câu tr l i cho v n đ c a mình t s lư ng l n các di n đàn, nhóm thư, nhóm tin t c, các trang web cung c p tin t c, bài báo, sách v Linux. . . Tuy nhiên n u b n m i b t đ u h c Linux thì hãy tìm cho mình m t cu n sách gi i thi u ng n g n v h đi u hành này. M t cu n sách tham kh o c m tay là không th thi u trong th i gian đ u tìm hi u Linux. Hãy xem xét giá và n i dung cu n sách trư c khi mua. N u không có kh năng tìm đư c sách thích h p ho c b n thích cu n sách “T h c s d ng Linux” này thì có th in nó ra đ ti n đ c. Tôi b t đ u h c Linux khi có trong tay 3 đĩa CD RedHat 7.0 kho ng 4 năm trư c đây. Và bây gi Linux (c th là OpenSUSE Linux) là h th ng duy nh t làm vi c trên máy tính c a tôi. Không ph i là tôi không mu n s d ng và ghét b h đi u hành Windows mà đơn gi n là tôi đã quen làm vi c trong môi trư ng KDE và Xfce, đôi khi trong console (dòng l nh không có đ ho ). Và hơn n a m i công vi c c n đ n máy tính c a tôi có th gi i quy t nhanh g n b ng nh ng chương trình đi kèm v i Linux. Nghe nh c b ng Amarok, qu n lý hình k thu t s và l y chúng ra t máy hình b ng digiKam, so n th o tài li u, c th là lu n văn t t nghi p và cu n sách này, trong chương trình Kile và biên d ch mã L TEX A qua nh ng chương trình có trong gói teTeX, nh ng tài li u khác có th so n th o trong Openoffice.org, v i ngư i dùng không chuyên thì kh năng ch nh s a nh c a The GIMP còn trên c đ , kh năng v đ ho vector c a Inkscape còn đ cho c nh ng nhà thi t k chuyên. Tôi không ph i là m t nhà qu n lý m ng hay l p trình chuyên nghi p và nói chung không ph i ngư i h c theo chuyên ngành công ngh thông tin. Ngành chính c a tôi là Hoá h c, do đó xin đ ng mong đ i nh ng ki n th c cao siêu trong sách này. Như trang th hai c a sách có ghi “Dành cho ngư i dùng m i và r t m i. . . ”. Như v y, cu n sách “T h c s d ng Linux” đư c t o ra v i hy v ng s giúp ngư i dùng m i làm quen v i h đi u hành tuy t v i có tên Linux và hình tư ng trưng là chú chim cánh c t (penguin) xinh đ p. Nh ng thông tin b n đ c tìm th y trong cu n sách này có th áp d ng cho h u h t h t các b n phân ph i l n, tuy nhiên m t s ph n đ c bi t ví d ph n nói v cài đ t chương trình t các gói rpm ch áp d ng t t cho các b n phân ph i “dòng RedHat”, đó là Fedora, Mandriva, OpenSUSE, v.v. . . Thông thư ng ngư i dùng m i b t đ u gia nh p vào th gi i Linux b ng nh ng b n phân ph i này. Happy Using Linux! Công c đ t o ra cu n sách b n đang đ c là h th ng s p ch L TEX. B n có A th tìm b n phân ph i teTeX ho c m t b n phân ph i khác c a h th ng này trên h u h t các b đĩa cài đ t h đi u hành Linux. Sách này đư c phân ph i mi n phí theo b n quy n Creative Commons Public License 2.5 (http://creativecommons.org/licenses/by/2.5/). Cũng như nh ng s n ph m khác c a c ng đ ng OSS, cu n sách này đư c t o ra, s a đ i, thêm và b t trong th i gian r nh r i c a tôi, do đó đôi khi nó s đư c c p nh t thư ng xuyên, và có khi không đư c c p nh t c năm. M i đ ngh s a đ i, thông báo l i chính t , l i ki n th c cũng như đ ngh giúp đ (luôn luôn hoan nghêng) xin g i cho Phan Vĩnh Th nh theo đ a ch [email protected]. Xin c m ơn Kostromin A.V. (http://linux-ve.chat.ru) đã vi t ra m t cu n sách s d ng Linux hay làm tài li u tham kh o chính cho cu n sách này, bác Nguy n Đ i Quý ([email protected]) và anh Nguy n Đ ng Hoàng Tuân ([email protected]) đã giúp đ tôi trong khi so n cu n sách này. Released under Creative Commons Public License 2.5 (http://creativecommons.org/licenses/by/2.5/) Chương 1 HĐH Linux: l ch s và các b n phân ph i “Just for fun” – Linus Torvalds. 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 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Đ . 4 HĐH Linux: l ch s và các b n phân ph i 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: [email protected] (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 ([email protected]) 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 1.1 Th nào là HĐH nói chung và Linux nói riêng 5 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à 3 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 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. 6 HĐH Linux: l ch s và các b n phân ph i 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 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 5 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. 1.1 Th nào là HĐH nói chung và Linux nói riêng 7 m 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 8 HĐH Linux: l ch s và các b n phân ph i đĩ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 (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 1.2 B n phân ph i Linux 9 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 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) 10 HĐH Linux: l ch s và các b n phân ph i 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.
DMCA.com Protection Status Copyright by webtailieu.net