THIẾT LẬP ROUTER TRÊN HỆ ĐIỀU HÀNH LINUX
Trang 1KHOA ĐIỆN TỬ - TIN HOC
ĐỀ TÀI:
THIẾT LẬP ROUTER TRÊN HỆ ĐIỀU HÀNH
LINUX
GVHD: NGUYỄN VŨ DZŨNG SVTH : Trần Sơn Điền
Nguyễn Văn Do
Lớp : CĐTH06 Khóa : 2006-2009
TP HỒ CHÍ MINH-7/2009
Trang 2Trên hết nhóm chúng em xin chân thành cảm ơn thầy Nguyễn Vũ
Dzũng đã tận tình chỉ bảo, hướng dẫn chúng em hoàn thành luận văn tốt
nghiệp này.
Chúng em xin gửi đến quý thầy cô khoa Điện tử - Tin học lòng biết
ơn sâu sắc và ghi nhận sự chỉ dẫn, giảng dạy, hỗ trợ và giúp đỡ, cung cấp
những kiến thức quý báu, đã tạo mọi điều kiện thuận lợi và góp ý trong suốt
quá trình học tập cho sinh viên chúng em thực hiện luận văn tốt nghiệp được
thuận lợi.
Xin chân thành tỏ lòng biết ơn đến gia đình, bạn bè đã động viên
giúp đỡ chúng tôi trong suốt thời gian học tập cũng như làm luận văn này.
Trang 3hỗ trợ và thúc đẩy cho các lĩnh vực công nghệ khác cùng phát triển, đồng thời giúpcho công tác quản lý được thuận lợi và nhanh chóng Nên trong kỷ nguyên mới nàyngười ta gọi là kỷ nguyên công nghệ thông tin – kỷ nguyên của máy tính và mạngmáy tính.
Bên cạnh sự phát triển mạnh mẽ của phần cứng máy tính thì sự phát triển, cạnh tranhcủa phần mềm máy tính cũng diễn ra hết sức sôi động Bên cạnh hệ điều hành thốngtrị Windows xuất hiện phần mềm mã nguồn mở Linux Linux ra đời với nhiều ưuđiểm là một phần mềm mở, bảo mật, miễn phí, tốc độ xử lý nhanh… đã khẳng địnhđược chỗ đứng của mình trong lĩnh vực công nghệ Nhất là ở các quốc gia đang pháttriển như Việt Nam, việc trả tiền bản quyền cho sản phẩm của Microsoft thật tốnkém, vì vậy việc học tập, sử dụng hệ điều hành Linux là điều thật sự cần thiết khinước nhà gia nhập WTO và các luật bản quyền được áp dụng triệt để sau này Thêmnữa đối với các công ty lớn có hơn một mạng LAN thì việc sử dụng Router không làvấn đề gì, nhưng đối với các công ty vừa và nhỏ thì chi phí cho thiết bị Router cả làmột vấn đề, việc giả lập Router ảo là một trong những ứng dụng rất thực tiễn choviệc triển khai mạng ở các nước đang phát triển như nước ta
Nhóm chúng em chọn đề tài “thiết lập Router trên hệ điều hành Linux” nhằm nghiêncứu thật rõ về Linux, các dịch vụ cơ bản của một mạng Linux, củng cố kiến thức vềphần mềm mã nguồn mở và ứng dụng vào công nghệ sau này
Do thời gian có hạn, kinh nghiệm và kiến thức còn hạn chế nên đồ án còn nhiều thiếusót Rất mong được sự giúp đỡ, góp ý của thầy cô, các anh chị và các bạn để nhómchúng em thực hiện đề tài này được tốt hơn
Em chân thành cảm ơn thầy Nguyễn Vũ Dzũng – Phó Trưởng Bộ môn Tin họcTrường CĐKT Cao Thắng đã tận tình giúp đỡ, chỉ dẫn trong thời gian nghiên cứuthực hiện đề tài này
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 4………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
TPHCM, ngày … tháng …… năm 2009 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ………
………
Trang 5………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
TPHCM, ngày … tháng …… năm 2009 Giáo viên phản biện NHẬN XÉT CỦA HỘI ĐỒNG CHẤM ĐỒ ÁN TỐT NGHIỆP ………
………
………
………
………
………
Trang 6………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
MỤC LỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT 1
CHƯƠNG I: GIỚI THIỆU 3
I.MẠNG MÁY TÍNH 3
II HỆ ĐIỀU HÀNH LINUX 14
1.Lịch sử phát triển 14
1.Tổng quan 22
Trang 77.Các lệnh hệ thống 33
8.Một số lệnh quản lý người dùng và nhóm 35
9.Đường ống - pipe 36
10 Quản lý phần mềm 37
3.Bảng thông số của các máy 42
2.Cài đặt và cấu hình dịch vụ sendmail trên Linux 79
I.GIỚI THIỆU ROUTER 92
1 Router là gì? 92
2.Ưu điểm của Router 92
3.Nhược điểm của Router 93
II.CẤU HÌNH CARD MẠNG 94
1.Cấu hình card eth0 94
2.Cấu hình card eth1 94
3.Cấu hình card eth2 95
III.CẤU HÌNH ĐỊNH TUYẾN 95
1.Bật tính năng định tuyến 95
2.Mô tả thông tin định tuyến 96
3.Kiểm tra định tuyến 96
IV.CẤU HÌNH NAT TRÊN IPTABLES 96
1.Giới thiệu về iptables 96
2.Cấu hình iptables NAT kết nối Internet 100
3.Cấu hình iptables NAT tĩnh 101
V.CẤU HÌNH DHCP SERVER 102
1.Giới thiệu 102
2.Cài đặt 103
3.Cấu hình DHCP Server 103
4.Khởi động dịch vụ DHCP 105
5.Kiểm tra dịch vụ DHCP 105
CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 107
Trang 9THUẬT NGỮ VÀ TỪ VIẾT TẮT
- Protocol: dịch sang tiếng Việt là giao thức Để các máy máy tính có thể liên lạc
với nhau qua mạng, chúng phải sử dụng cùng 1 ngôn ngữ hay còn gọi là 1 giaothức (Protocol) Giao thức là 1 hệ luật và chuẩn cho phép các máy tính trongmạng liên lạc với nhau
- TCP/IP (Transmission Control Protocol/ Internet Protocol ): là giao thức điều
khiển truyền thông /giao thức Internet TCP/IP không chỉ gồm 2 giao thức màthực tế nó là tập hợp của nhiều giao thức Chúng ta gọi đó là 1 hệ giao thức hay
bộ giao thức (Suite Of Protocols)
- LAN (Local Area Network): mạng máy tính cục bộ, là một hệ thống mạng dùng
để kết nối các máy tính trong một phạm vi nhỏ như: nhà ở, phòng làm việc,trường học,
- WAN (Wide Area Network): có nghĩa là mạng diện rộng Dùng để nối các LAN
lại với nhau (thông qua Router)
- GAN (Global Area Network ): là mạng có phạm vi trải rộng toàn cầu.
- Router: là bộ đi ̣nh tuyến, là một thiết bị cho phép gửi các gói dữ liệu dọc theo
mạng
- I/O (Input/Output): thiết bị vào ra.
- Topology: cấu trúc mạng, cấu trúc hình học của các thực thể mạng.
- Client: máy trạm, máy con.
- Server: máy chủ.
- Ext2, ext3(second extended filesystem, third extended filesystem) là loại File
System của Linux giống như FAT, FAT32 bên Windows…
Trang 10- Sector (cung từ): trên đĩa mềm hoă ̣c đĩa cứng, đây là mô ̣t đoa ̣n trên mô ̣t trong
các rãnh ghi đồng tâm đã được mã hoá của đĩa đó trong quá trình đi ̣nh khuônthức mức thấp Trong điê ̣n toán tương thích IBM PC, mô ̣t sector thông thườngchứa 512 byte thông tin
- Track (rãnh ghi): trong đĩa mềm hoă ̣c đĩa cứng, đây là mô ̣t trong các đường
tròn đồng tâm được mã hóa trên đĩa khi tiến hành đi ̣nh da ̣ng mức thấp, và đượcdùng để xác đi ̣nh các vùng lưu trữ dữ liê ̣u riêng biê ̣t trên mă ̣t đĩa
- Cylinder (hình trụ): trong các ổ đĩa, đây là mô ̣t đơn vi ̣ lưu trữ bao gồm mô ̣t tâ ̣p các rãnh ghi chiếm cùng vi ̣ trí Trên đĩa hai mă ̣t, mô ̣t cylinder sẽ bao gồm rãnh
1 của mă ̣t trên và rãnh 1 của mă ̣t dưới Trên các đĩa cứng sắp xếp cái này chồng
lên cái kia, mô ̣t cylinder gồm các rãnh trên cả hai mă ̣t của tất cả các đĩa.
- RPM (RedHat Package Manager): là hệ thống quản lý phần mềm được Linux
hỗ trợ cho người dùng Nó cung cấp cho người dùng nhiều tính năng để duy trì
hệ thống của mình
- Zone: Trong hệ thống DNS người ta chia nhỏ thành những phần để gán những miền quản lý riêng người ta gọi là Zone.
- SMTP (Simple Mail Transfer Protocol): là giao thức chuyển đổi thư đơn giản,
là giao thức gửi thư điện tử qua mạng Internet
- POP3 (Post Office Protocol 3), IMAP4(Internet Messenge Access Protocol): 2
giao thức dùng để lấy thư điện tử từ Server Mail thông qua kết nối TCP/IP là 2giao thức thông dụng nhất để lấy nhận Email
- DNS (Domain Name System): là hệ thống phân giải tên miền được phát minh
vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiết lập tương ứng giữađịa chỉ IP và tên miền Dùng để phân giải địa chỉ thành tên miền và ngược lại
Trang 11- DHCP (Dynamic Host Configuration Protocol): là giao thức cấu hình động
máy chủ là một giao thức được các thiết bị trong mạng máy tính sử dụng để lấycác tham số cần thiết cho việc hoạt động trong một mạng sử dụng giao thức IP.Giao thức này giảm khối lượng công việc quản trị hệ thống, nó cho phép bổsung thiết bị vào mạng mà không cần hoặc chỉ cần rất ít công để cấu hình
CHƯƠNG I: GIỚI THIỆU
I MẠNG MÁY TÍNH
1 Lịch sử phát triển của mạng máy tính
- Vào giữa những năm 50, khi những thế hệ máy tính đầu tiên được đưa vàohoạt động thực tế với những bóng đèn điện tử thì chúng có kích thước rấtcồng kềnh và tốn nhiều năng lượng Hồi đó việc nhập dữ liệu vào các máytính được thông qua các tấm bìa mà người viết chương trình đã đục lỗ sẵn.Mỗi tấm bìa tương đương với một dòng lệnh mà mỗi một cột của nó cóchứa tất cả các ký tự cần thiết mà người viết chương trình phải đục lỗ vào
ký tự mình lựa chọn Các tấm bìa được đưa vào một "thiết bị" gọi là thiết bịđọc bìa mà qua đó các thông tin được đưa vào máy tính (hay còn gọi làtrung tâm xử lý) và sau khi tính toán kết quả sẽ được đưa ra máy in
- Như vậy các thiết bị đọc bìa và máy in được thể hiện như các thiết bị vào ra(I/O) đối với máy tính Sau một thời gian các thế hệ máy mới được đưa vàohoạt động trong đó một máy tính trung tâm có thể được nối với nhiều thiết
bị vào ra (I/O) mà qua đó nó có thể thực hiện liên tục hết chương trình nàyđến chương trình khác
- Cùng với sự phát triển của những ứng dụng trên máy tính các phương phápnâng cao khả năng giao tiếp với máy tính trung tâm cũng đã được đầu tư
Trang 12nghiên cứu rất nhiều Vào giữa những năm 60 một số nhà chế tạo máy tính
đã nghiên cứu thành công những thiết bị truy cập từ xa tới máy tính của họ.Một trong những phương pháp thâm nhập từ xa được thực hiện bằng việccài đặt một thiết bị đầu cuối ở một vị trí cách xa trung tâm tính toán, thiết bịđầu cuối này được liên kết với trung tâm bằng việc sử dụng đường dây điệnthoại và với hai thiết bị xử lý tín hiệu (thường gọi là Modem) gắn ở hai đầu
và tín hiệu được truyền thay vì trực tiếp thì thông qua dây điện thoại
Hình 1.1.1: Mô hình truyền dữ liệu từ xa đầu tiên.
- Những dạng đầu tiên của thiết bị đầu cuối bao gồm máy đọc bìa, máy in,thiết bị xử lý tín hiệu, các thiết bị cảm nhận Việc liên kết từ xa đó có thểthực hiên thông qua những vùng khác nhau và đó là những dạng đầu tiêncủa hệ thống mạng
- Trong lúc đưa ra giới thiệu những thiết bị đầu cuối từ xa, các nhà khoa học
đã triển khai một loạt những thiết bị điều khiển, những thiết bị đầu cuối đặcbiệt cho phép người sử dụng nâng cao được khả năng tương tác với máytính Một trong những sản phẩm quan trọng đó là hệ thống thiết bị đầu cuối
3270 của IBM Hệ thống đó bao gồm các màn hình, các hệ thống điềukhiển, các thiết bị truyền thông được liên kết với các trung tâm tính toán
Hệ thống 3270 được giới thiệu vào năm 1971 và được sử dụng dùng để mởrộng khả năng tính toán của trung tâm máy tính tới các vùng xa Ðể làmgiảm nhiệm vụ truyền thông của máy tính trung tâm và số lượng các liên
Đường dây điện thoại
Thiết bị
đầu cuối
Thiết bị đầu cuối
Trang 13kết giữa máy tính trung tâm với các thiết bị đầu cuối, IBM và các ông tymáy tính khác đã sản xuất một số các thiết bị sau:
o Thiết bị kiểm soát truyền thông: có nhiệm vụ nhận các bit tín hiệu
từ các kênh truyền thông, gom chúng lại thành các byte dữ liệu vàchuyển nhóm các byte đó tới máy tính trung tâm để xử lý, thiết bị nàycũng thực hiện công việc ngược lại để chuyển tín hiệu trả lời của máytính trung tâm tới các trạm ở xa Thiết bị trên cho phép giảm bớt đượcthời gian xử lý trên máy tính trung tâm và xây dựng các thiết bị logicđặc trưng
o Thiết bị kiểm soát nhiều đầu cuối: cho phép cùng một lúc kiểm soát
nhiều thiết bị đầu cuối Máy tính trung tâm chỉ cần liên kết với mộtthiết bị như vậy là có thể phục vụ cho tất cả các thiết bị đầu cuối đangđược gắn với thiết bị kiểm soát trên Ðiều này đặc biệt có ý nghĩa khithiết bị kiểm soát nằm ở cách xa máy tính vì chỉ cần sử dụng mộtđường điện thoại là có thể phục vụ cho nhiều thiết bị đầu cuối
Hình 1.1.2: Mô hình trao đổi mạng của hệ thống 3270.
Trang 14- Vào giữa những năm 1970, các thiết bị đầu cuối sử dụng những phươngpháp liên kết qua đường cáp nằm trong một khu vực đã được ra đời Vớinhững ưu điểm từ nâng cao tốc độ truyền dữ liệu và qua đó kết hợp đượckhả năng tính toán của các máy tính lại với nhau
- Để thực hiện việc nâng cao khả năng tính toán với nhiều máy tính các nhàsản xuất bắt đầu xây dựng các mạng phức tạp Vào những năm 1980 các hệthống đường truyền tốc độ cao đã được thiết lập ở Bắc Mỹ và Châu Âu và
từ đó cũng xuất hiện các nhà cung cấp các dịnh vụ truyền thông với nhữngđường truyền có tốc độ cao hơn nhiều lần so với đường dây điện thoại Vớinhững chi phí thuê bao chấp nhận được, người ta có thể sử dụng được cácđường truyền này để liên kết máy tính lại với nhau và bắt đầu hình thànhcác mạng một cách rộng rãi
- Ở đây các nhà cung cấp dịch vụ đã xây dựng những đường truyền dữ liệuliên kết giữa các thành phố và khu vực với nhau và sau đó cung cấp cácdịch vụ truyền dữ liệu cho những người xây dựng mạng Người xây dựngmạng lúc này sẽ không cần xây dựng lại đường truyền của mình mà chỉ cần
sử dụng một phần các năng lực truyền thông của các nhà cung cấp
- Vào năm 1974 công ty IBM đã giới thiệu một loạt các thiết bị đầu cuốiđược chế tạo cho lĩnh vực ngân hàng và thương mại, thông qua các dây cápmạng các thiết bị đầu cuối có thể truy cập cùng một lúc vào một máy tínhdùng chung Với việc liên kết các máy tính nằm ở trong một khu vực nhỏnhư một tòa nhà hay là một khu nhà thì tiền chi phí cho các thiết bị và phầnmềm là thấp Từ đó việc nghiên cứu khả năng sử dụng chung môi trườngtruyền thông và các tài nguyên của các máy tính nhanh chóng được đầu tư
- Vào năm 1977, công ty Datapoint Corporation đã bắt đầu bán hệ điều hànhmạng của mình là "Attached Resource Computer Network" (hay gọi tắt là
Trang 15Arcnet) ra thị trường Mạng Arcnet cho phép liên kết các máy tính và cáctrạm đầu cuối lại bằng dây cáp mạng, qua đó đã trở thành là hệ điều hànhmạng cục bộ đầu tiên.
- Từ đó đến nay đã có rất nhiều công ty đưa ra các sản phẩm của mình, đặcbiệt khi các máy tính cá nhân được sử dụng một cánh rộng rãi Khi số lượngmáy vi tính trong một văn phòng hay cơ quan được tăng lên nhanh chóngthì việc kết nối chúng trở nên vô cùng cần thiết và sẽ mang lại nhiều hiệuquả cho người sử dụng
- Ngày nay với một lượng lớn về thông tin, nhu cầu xử lý thông tin ngàycàng cao Mạng máy tính hiện nay trở nên quá quen thuộc đối với chúng ta,trong mọi lĩnh vực như khoa học, quân sự, quốc phòng, thương mại, dịch
vụ, giáo dục Hiện nay ở nhiều nơi mạng đã trở thành một nhu cầu khôngthể thiếu được Người ta thấy được việc kết nối các máy tính thành mạngcho chúng ta những khả năng mới to lớn như:
o Sử dụng chung tài nguyên: Những tài nguyên của mạng (như thiết
bị, chương trình, dữ liệu) khi được trở thành các tài nguyên chung thìmọi thành viên của mạng đều có thể tiếp cận được mà không quan tâmtới những tài nguyên đó ở đâu
o Tăng độ tin cậy của hệ thống: Người ta có thể dễ dàng bảo trì máy
móc và lưu trữ (backup) các dữ liệu chung và khi có trục trặc trong hệthống thì chúng có thể được khôi phục nhanh chóng Trong trườnghợp có trục trặc trên một trạm làm việc thì người ta cũng có thể sửdụng những trạm khác thay thế
o Nâng cao chất lượng và hiệu quả khai thác thông tin: Khi thông
tin có thể được sữ dụng chung thì nó mang lại cho người sử dụng khảnăng tổ chức lại các công việc với những thay đổi về chất như:
Trang 16 Ðáp ứng những nhu cầu của hệ thống ứng dụng kinh doanh hiệnđại
Cung cấp sự thống nhất giữa các dữ liệu
Tăng cường năng lực xử lý nhờ kết hợp các bộ phận phân tán
Tăng cường truy nhập tới các dịch vụ mạng khác nhau đangđược cung cấp trên thế giới
- Với nhu cầu đòi hỏi ngày càng cao của xã hội nên vấn đề kỹ thuật trongmạng là mối quan tâm hàng đầu của các nhà tin học Ví dụ như làm thếnào để truy xuất thông tin một cách nhanh chóng và tối ưu nhất, trong khiviệc xử lý thông tin trên mạng quá nhiều đôi khi có thể làm tắc nghẽn trênmạng và gây ra mất thông tin một cách đáng tiếc
- Hiện nay việc làm sao có được một hệ thống mạng chạy thật tốt, thật antoàn với lợi ích kinh tế cao đang rất được quan tâm Một vấn đề đặt ra córất nhiều giải pháp về công nghệ, một giải pháp có rất nhiều yếu tố cấuthành, trong mỗi yếu tố có nhiều cách lựa chọn Như vậy để đưa ra mộtgiải pháp hoàn chỉnh, phù hợp thì phải trải qua một quá trình chọn lọc dựatrên những ưu điểm của từng yếu tố, từng chi tiết rất nhỏ
- Ðể giải quyết một vấn đề phải dựa trên những yêu cầu đặt ra và dựa trêncông nghệ để giải quyết Nhưng công nghệ cao nhất chưa chắc là côngnghệ tốt nhất, mà công nghệ tốt nhất là công nghệ phù hợp nhất
2 Những khái niệm cơ bản của mạng máy tính
Với sự phát triển của khoa học và kỹ thuật, hiện nay các mạng máy tính đã pháttriển một cách nhanh chóng và đa dạng cả về quy mô, hệ điều hành và ứng dụng
Do vậy việc nghiên cứu chúng ngày càng trở nên phức tạp Tuy nhiên các mạng
Trang 17máy tính cũng có cùng các điểm chung thông qua đó chúng ta có thể đánh giá vàphân loại chúng.
a Mạng máy tính là gì?
- Mạng máy tính là một tập hợp các máy tính được nối với nhau bởi đườngtruyền theo một cấu trúc mạng xác định và thông qua đó các máy tính traođổi thông tin qua lại cho nhau
- Đường truyền là hệ thống các thiết bị truyền dẫn có dây hay không dâydùng để chuyển các tín hiệu điện tử từ máy tính này đến máy tính khác.Các tín hiệu điện tử đó biểu thị các giá trị dữ liệu dưới dạng các xung nhịphân (on - off) Tất cả các tín hiệu được truyền giữa các máy tính đềuthuộc một dạng sóng điện từ Tùy theo tần số của sóng điện từ có thể dùngcác đường truyền vật lý khác nhau để truyền các tín hiệu Ở đây đườngtruyền được kết nối có thể là dây cáp đồng trục, cáp xoắn, cáp quang, dâyđiện thoại, sóng vô tuyến…các đường truyền dữ liệu tạo nên cấu trúc củamạng Hai khái niệm đường truyền và cấu trúc là những đặc trưng cơ bảncủa mạng máy tính
- Với sự trao đổi qua lại giữa máy tính này với máy tính khác đã phân biệtmạng máy tính với các hệ thống thu phát một chiều như truyền hình, phátthông tin từ vệ tinh xuống các trạm thu thụ động vì tại đây chỉ có thôngtin một chiều từ nơi phát đến nơi thu mà không quan tâm đến có bao nhiêunơi thu, có thu tốt hay không
- Đặc trưng cơ bản của đường truyền vật lý là băng thông (bandwitch) Băngthông của một đường chuyền chính là độ đo phạm vi tần số mà nó có thểđáp ứng được Tốc độ truyền dữ liệu trên đường truyền còn được gọi làthông lượng của đường truyền - thường được tính bằng số lượng bit đượctruyền đi trong một giây (Bps) Thông lượng còn được đo bằng đơn vị
Trang 18khác là Baud (lấy từ tên nhà bác học - Emile Baudot) Baud biểu thị sốlượng thay đổi tín hiệu trong một giây
- Mạng máy tính kết nối với nhau bằng các đường truyền dẫn và hoạt độngtruyền thông tuân theo các chuẩn mô hình tham chiếu OSI
- Kiến trúc mạng gồm cấu trúc mạng (Topology) và giao thức mạng(Protocols) Topology là cấu trúc hình học của các thực thể mạng và giaothức mạng là tập các quy tắc chuẩn các thực thể hoạt động truyển thôngphải tuân theo
b Phân loại mạng máy tính
- Theo khoảng cách địa lý: Nếu lấy khoảng cách địa lý làm yếu tố phân
loại mạng thì ta có mạng cục bộ, mạng đô thị, mạng diện rộng và mạngtoàn cầu
o Mạng cục bộ ( LAN - Local Area Network ): là mạng được cài đặt
trong phạm vi tương đối nhỏ hẹp như trong một toà nhà, một xínghiệp với khoảng cách lớn nhất giữa các máy tính trên mạng trongvòng vài km trở lại
o Mạng đô thị ( MAN - Metropolitan Area Network ): là mạng được cài
đặt trong phạm vi một đô thị, một trung tâm văn hoá xã hội, có bánkính tối đa khoảng 100 km trở lại
o Mạng diện rộng ( WAN - Wide Area Network ): là mạng có diện tích
bao phủ rộng lớn, phạm vi của mạng có thể vượt biên giới quốc giathậm chí cả lục địa
o Mạng toàn cầu ( GAN - Global Area Network ): là mạng có phạm vi
trải rộng toàn cầu
Trang 19- Theo kỹ thuật chuyển mạch: Nếu lấy kỹ thuật chuyển mạch làm yếu tố
chính để phân loại sẽ có: mạng chuyển mạch kênh, mạng chuyển mạchthông báo và mạng chuyển mạch gói
o Mạng chuyển mạch kênh (circuit switched network): Khi có hai thực
thể cần truyền thông với nhau thì giữa chúng sẽ thiết lập một kênh
cố định và duy trì kết nối đó cho tới khi hai bên ngắt liên lạc Các dữliệu chỉ truyền đi theo con đường cố định đó Nhược điểm củachuyển mạch kênh là tiêu tốn thời gian để thiết lập kênh truyền cốđịnh và hiệu suất sử dụng mạng không cao
o Mạng chuyển mạch thông báo (message switched network): Thông
báo là một đơn vị dữ liệu của người sử dụng có khuôn dạng đượcquy định trước Mỗi thông báo có chứa các thông tin điều khiểntrong đó chỉ rõ đích cần truyền tới của thông báo Căn cứ vào thôngtin điều khiển này mà mỗi nút trung gian có thể chuyển thông báo tớinút kế tiếp trên con đường dẫn tới đích của thông báo Như vậy mỗinút cần phải lưu giữ tạm thời để đọc thông tin điều khiển trên thôngbáo, nếu thấy thông báo không gửi cho mình thì tiếp tục chuyển tiếpthông báo đi Tuỳ vào điều kiện của mạng mà thông báo có thể đượcchuyển đi theo nhiều con đường khác nhau
o Mạng chuyển mạch gói (packet switched network): truyền dữ liệu ở
dạng khối nhỏ, riêng biệt gọi là gói tin (packet) dựa trên địa chỉ đíchchứa trong từng packet Ở địa chỉ đích gói tin sẽ được “nối lại” theothứ tự thích hợp để tạo thành thông điệp Mạng chuyển mạch gói có
ưu điểm là tăng hiệu suất đường truyền, chuyển đổi tốc độ dữ liệu,các gói dữ liệu được nhận ngay khi mạng bận và có thể phân độ ưutiên cho các thông báo Người ta chia phương thức chuyển mạch gói
ra làm hai phương thức:
Trang 20 Phương thức chuyển mạch gói theo sơ đồ rời rạc: các gói tin
được chuyển đi trên mạng một cách độc lập, mỗi gói tin đều cómang địa chỉ nơi gửi và nơi nhận Mỗi nút trong mạng khi tiếpnhận gói tin sẽ quyết định xem đường đi của gói tin phụ thuộcvào thuật toán tìm đường tại nút và những thông tin về mạng
mà nút đó có Việc truyền theo phương thức này cho ta sự
“mềm dẻo” nhất định do đường đi với mỗi gói tin trở nên
“mềm dẻo” tuy nhiên điều này yêu cầu một số lượng tính toánrất lớn tại mỗi nút nên hiện nay phần lớn các mạng chuyển sangdùng phương chuyển mạch gói theo đường đi xác định
Phương thức chuyển mạch gói theo đường đi xác định: trước
khi truyền dữ liệu một đường đi (hay còn gọi là đường đi ảo)được thiết lập giữa trạm gửi và trạm nhận thông qua các nútcủa mạng Đường đi trên mang số hiệu phân biệt với các đường
đi khác, sau đó các gói tin được gửi đi theo đường đã thiết lập
để tới đích, các gói tin mang số hiệu của đường ảo để có thểđược nhận biết khi qua các nút Điều này khiến cho việc tínhtoán đường đi cho phiên liên lạc chỉ cần thực hiện một lần
- Theo kiến trúc mạng sử dụng
o Kiến trúc của mạng bao gồm hai vấn đề: hình trạng mạng (Network topology) và giao thức mạng (Network protocol)
Hình trạng mạng: Cách kết nối các máy tính với nhau về mặt
hình học mà ta gọi là topology của mạng
Giao thức mạng: tập hợp các quy ước truyền thông giữa các
thực thể truyền thông mà ta gọi là giao thức (hay nghi thức) củamạng
Trang 21o Khi phân loại theo topology mạng người ta thường có phân loạithành: mạng hình sao, tròn, tuyến tính Phân loại theo giao thức màmạng sử dụng người ta phân loại thành mạng: TCP/IP, mạngNETBIOS… Tuy nhiên cách phân loại trên không phổ biến và chỉ ápdụng cho các mạng cục bộ.
- Theo hệ điều hàng mạng: Nếu phân loại theo hệ điều hành mạng người
ta chia ra theo mô hình mạng ngang hàng, mạng client/server hoặc phânloại theo tên hệ điều hành mà mạng sử dụng: Windows NT, Unix,Novell…
3 Mục tiêu kết nối mạng máy tính
- Cùng chia sẻ các tài nguyên dùng chung, bất kỳ người sử dụng nào cũng
có quyền khai thác, sử dụng tài nguyên của mạng mà không phụ thuộc vào
vị trí địa lý của nó
- Nâng cao độ tin cậy của hệ thống nhờ khả năng thay thế khi một số thànhphần của mạng xảy ra sự cố kỹ thuật thì vẫn duy trì sự hoạt động bìnhthường của hệ thống
- Tạo môi trường giao tiếp giữa người với người Chinh phục được khoảngcách, con người có thể trao đổi, thảo luận với nhau cách xa nhau hàng ngànkm
4 Lợi ích kết nối mạng
- Có thể giảm số lượng máy in, đĩa cứng và các thết bị khác Kinh tế trongviệc đầu tư xây dựng cho một hệ thống tin học của một cơ quan, xí nghiệp,doanh nghiệp…
Trang 22- Dùng chung tài nguyên đắt tiền như máy in, phần mềm… Tránh dư thừa
dữ liệu, tài nguyên mạng Có khả năng tổ chức và triển khai các đề án lớnthuận lợi và dễ dàng
- Bảo đảm các tiêu chuẩn thống nhất về tính bảo mật, an toàn dữ liệu khinhiều người sử dụng tại các thiết bị đầu cuối khác nhau cùng làm việc trêncác hệ cơ sở dữ liệu
- Tóm lại mục tiêu kết nối máy tính thành mạng là cung cấp các dịch vụmạng đa dạng, chia sẻ tài nguyên chung và giảm bớt các chi phí về đầu tưtrang thiết bị
II HỆ ĐIỀU HÀNH LINUX
1 Lịch sử phát triển
- Giữa năm 1969 - 1970, Kenneth Thompson, Dennis Ritchie và những
người khác của phòng thí nghiệm AT&T Bell Labs bắt đầu phát triển một
hệ điều hành nhỏ dựa trên PDP-7 Hệ điều hành này sớm mang tên Unix,một sự chơi chữ từ một dự án hệ điều hành có từ trước đó mang tênMULTICS
- Vào khoảng 1972 - 1973, hệ thống được viết lại bằng ngôn ngữ C và
thông qua quyết định này, Unix đã trở thành hệ điều hành được sử dụngrộng rãi nhất có thể chuyển đổi được và không cần phần cứng ban đầucho nó Các cải tiến khác cũng được thêm vào Unix trong một phần của
sự thoả thuận giữa AT&T Bell Labs và cộng đồng các trường đại học vàhọc viện
- Vào năm 1979, phiên bản thứ 7 của Unix được phát hành, đó chính là hệ
điều hành gốc cho tất cả các hệ thống Unix có hiện nay
Trang 23- Sau thời điểm đó, lịch sử Unix bắt đầu trở nên hơi phức tạp Cộng đồng
các trường đại học và học viện, đứng đầu là Berkeley, phát triển mộtnhánh khác gọi là Berkeley Software Distribution(BSD), trong khi AT&Ttiếp tục phát triển Unix dưới tên gọi là “Hệ thống III” và sau đó là “Hệthống V”
- Vào những năm cuối của thập kỷ 1980 cho đến các năm đầu thập kỷ
1990, một “cuộc chiến tranh” giữa hai hệ thống chính này đã diễn ra hếtsức căng thẳng Sau nhiều năm, mỗi hệ thống đi theo những đặc điểmkhác nhau Trong thị trường thương mại, “Hệ thống V” đã giành thắng lợi(có hầu hết các giao tiếp theo một chuẩn thông dụng) và nhiều nhà cungcấp phần cứng đã chuyển sang “Hệ thống V” của AT&T Tuy nhiên, “Hệthống V” cuối cùng đã kết hợp các cải tiến BSD, và kết quả là hệ thống đãtrở thành sự pha trộn của 2 nhánh Unix Nhánh BSD không chết, thay vào
đó, nó đã được sử dụng rộng rãi trong mục đích nghiên cứu, cho các phầncứng PC, và cho các server đơn mục đích (vd: nhiều website sử dụng mộtnguồn BSD)
- Kết quả là có nhiều phiên bản Unix khác nhau, nhưng tất cả đều dựa trên
phiên bản thứ bảy ban đầu Hầu hết các phiên bản Unix đều thuộc quyền
sở hữu và được bảo vệ bởi từng nhà cung cấp phần cứng tương ứng, ví dụSun Solaris là một phiên bản của “Hệ thống V”…
Trang 24- Công việc đơn giản nhưng đã làm nên điều kì diệu, vào năm đó cộngđộng lập trình viên trên thế giới trên hệ thống mạng thông tin Newsnet đã
nhận được 1 thông điệp từ Linus Torvald như sau :”Hiện nay tôi đang phát triển 1 hệ điều hành mô phỏng nền Unix cho phép mọi người có thể sửa đổi riêng theo ý mình, chỉ với ý thích cá nhân, chứ không vì mục đích sinh lợi, tôi sẽ rất biết ơn cho mọi sự đóng góp và góp ý của mọi người”.
Và cứ như thế hàng ngàn hàng ngàn đóng góp, phát hiện lỗi từ cộng đồngthế giới được gửi tới để hoàn thiện hệ điều hành
- 25/8/1991, Linus cho ra version 0.01 và thông báo trên omp.os.minix dự
định của mình về Linux
- 1/1992, Linus cho ra version 0.02 với Shell và trình biên dịch C Linuxkhông cần Minix biên dịch lại hệ điều hành của mình Linus đặt tên hệđiều hành của mình là Linux 1994, phiên bản chính thức 1.0 được pháthành
- Ngày nay, sau khi trải qua 1 thời gian rất dài phát triển và hoàn thiện bởicộng đồng thế giới, Linux ngày càng trở nên mạnh mẽ, ổn định và độ tincậy cao Linux là hệ điều hành đựơc phân phát miễn phí, phát triển trênmạng Internet, tựa Unux và được sử dụng trên máy tính cá nhân(PCs).Linux đã phát triển nhanh chóng và trở nên phổ biến trong thời gian ngắn
Nó nhanh chóng được nhiều người sử dụng vì một trong những lý do làkhông phải trả tiền bản quyền Mọi người có thể dễ dàng tải từ Internethay mua tại các hiệu bán CD
2 Ưu khuyết điểm của hệ điều hành Linux
a Ưu điểm
- Trong số những hệ điều hành thông dụng ngày nay Linux là hệ điều hành
miễn phí được sử dụng rộng rãi nhất Với các PC IBM, Linux cung cấp
Trang 25một hệ thống đầy đủ với những chức năng đa nhiệm (multitasking) và đangười dùng (multiuser) lập sẵn, tận dụng được sức mạnh xử lý của máy
386 và cao hơn
- Linux tích hợp sẵn giao thức TCP/IP giúp bạn dễ dàng kết nối Internet
- Linux cũng có Xfree86 cung cấp cho bạn một giao diện đồ hoạ GUI đầy
đủ Những phần này bạn không cần phải mất tiền mua, chỉ cần tải xuống
từ Internet
- Tính tương thích: khả năng tương thích của một hệ điều hành giúp bạn
chuyển nó từ một nền này sang một nền khác mà vẫn hoạt động tốt Linuxtương thích với nhiều hệ điều hành như DOS, MicroSoft Windows
- Cho phép cài đặt Linux cùng với các hệ điều hành khác trên cùng một ổ
cứng Linux thể truy nhập đến các file của hệ điều hành cùng một ổ đĩa.Linux cho phép chạy mô phỏng các chương trình thuộc các hệ điều hànhkhác
- Linux khá mạnh và chạy rất nhanh ngay cả khi nhiều quá trình hoặc nhiều
cửa sổ
- Linux được cài đặt trên nhiều chủng loại máy tính khác nhau như PC,
laptop… và việc cài đặt khá thuận lợi
- Linux hỗ trợ tốt cho tính toán song song và máy tính cụm (PC-cluster) là
một hướng nghiên cứu triển khai ứng dụng nhiều triển vọng hiện nay
- Hỗ trợ ứng dụng: Linux có hàng nghìn ứng dụng, bao gồm các chương
trình báo biểu, cơ sở dữ liệu, xử lý văn bản… Ngoài ra, Linux cũng cóhàng loạt trò chơi giải trí trên nền text hoặc đồ hoạ
Trang 26- Lợi ích cho giới điện toán: giới điện toán sẽ có hàng loạt công cụ phát
triển chương trình, bao gồm bộ biên dịch cho nhiều ngôn ngữ lập trìnhhàng đầu hiện nay, chẳng hạn như ngôn ngữ C, C++, PL, python…
- Là một hệ điều hành với mã nguồn mở, được phát triển qua cộng đồng
nguồn mở nên Linux phát triển rất nhanh Linux là một trong một số ít các
hệ điều hành được quan tâm nhất nhiều nhất trên thế giới hiện nay
- Linux là một hệ điều hành hỗ trợ đa ngôn ngữ một cách toàn diện nhất.
Do Linux cho phép hỗ trợ các bộ mã chuẩn từ 16 bit trở lên (trong đó cócác bộ mã ISO10646, Unicode) cho nên việc bản địa hoá trên Linux làtriệt để nhất trong các hệ điều hành
b Khuyết điểm
- Hỗ trợ kỹ thuật: có lẽ điều trở ngại nhất của Linux là không có một công
ty nào chịu trách nhiệm phát triển hệ điều hành Linux này Khi có sự cốbạn không thể gọi miễn phí cho một bộ phận hỗ trợ kỹ thuật nào cả màchỉ dựa vào sự hướng dẫn của các đồng nghiệp thông qua diễn đàn thảoluận hoặc trợ giúp của các công cụ tìm kiếm
- Phần mềm ứng dụng chạy trên nền Linux tuy đã phong phú song so với
một số hệ điều hành khác đặc biệt là khi so sánh với MS Windows thì vẫncòn có khoảng cách
- Phần cứng: cài đặt phần cứng trên hệ điều hành Linux là một điều rất khó
khăn cho người sử dụng cũng như người quản trị Ngoài ra, hệ điều hànhLinux cũng hỗ trợ hạn chế một số phần cứng mới, các nhà sản xuất phầncứng cũng ít cung cấp bộ điều khiển (driver) trên nền Linux
3 Các bản phân phối Linux
Trang 27a Debian
- Do dự án Debian xây dựng, là bản phân phối phần mềm tự do được phát
triển từ sự cộng tác của các tình nguyện viên trên khắp thế giới Kể từ lúcbắt đầu đến nay, hệ thống chính thức phát hành dưới tên gọi DebianGNU/Linux được xây dựng dựa trên nhân Linux với nhiều công cụ cơbản của hệ điều hành lấy từ dự án GNU
- Debian có tiếng về mối kết gắn chặt chẽ với triết lý Unix và phần mềm
tự do Nó cũng có tiếng về sự phong phú cho các chọn lựa: phiên bảnphát hành hiện tại có hơn 15.490 gói phần mềm cho 11 kiến trúc máytính, từ kiến trúc ARM thường gặp ở các hệ thống nhúng và kiến trúcmainframe s390 của IBM cho đến các kiến trúc thường gặp trên máy tính
cá nhân hiện đại như x86 và PowerPC
- Dự án này tự miêu tả mình là tạo “hệ điều hành phổ quát” và phát triển
hỗ trợ các nhân khác, gồm có nhân của GNU Hurd, NetBSD vàFreeBSD Các phiên bản này hiện chưa được phát hành chính thức, vìvậy hiện tại Debian chỉ là bản phân phối GNU/Linux
- Debian cũng nổi tiếng với hệ thống quản lý gói của nó, mà cụ thể là APT
(công cụ quản lý gói cao cấp, Advanced Packaging Tool), chính sáchnghiêm ngạch đối với chất lượng các gói và bản phát hành, cũng như tiếntrình phát triển và kiểm tra mở Cách thức làm việc này đã giúp cho việcnâng cấp giữa các bản phát hành được dễ dàng mà không cần khởi độnglại máy và việc cài đặt hay gỡ bỏ các gói phần mềm càng dễ dàng
b Fedora Core
Trang 28- Fedora Core là một bản phân phối Linux dựa trên RPM Package
Manager, được phát triển dựa trên cộng đồng theo “dự án Fedora”(Fedora Project) và được bảo trợ bởi Red Hat
- Dự án Fedora nhắm tới mục đích tạo ra một hệ điều hành mã nguồn mở
hoàn chỉnh để sử dụng cho các mục đích tổng quát Fedora được thiết kế
để có thể dễ dàng cài đặt với chương trình cài đặt mang giao diện đồ hoạ
- Các gói phần mềm bổ sung có thể tải xuống và cài đặt một cách dễ dàng
với công cụ yum Các phiên bản mới hơn của Fedora có thể được pháthành mỗi 6 tháng hoặc 8 tháng
- Tên gọi Fedora Core là nhằm mục đích phân biệt giữa gói phần mềm
chính của Fedora với các gói phần mềm phụ trợ, bổ sung cho Fedora Hỗtrợ kỹ thuật của Fedora đa số là đến từ cộng đồng (mặc dù Red Hat có hỗtrợ kỹ thuật cho Fedora nhưng không chính thức)
c Suse
- Suse do hãng Nowell phát triển Suse có các phiên bản chính thức như:Suse Linux Enterprise Server, openSuse
- Trong số các phiên bản trên thì phiên bản openSuse miễn phí OpenSuse
hỗ trợ một số kiến trúc như x86, x86-64 bit, PPC, IA64
- Kiến trúc x86 bao gồm các loại bộ xử lý: Intel Pentium 1- 4, Celeron,32bit Xeon, Celeron D, AMD K6, Duron, Athlon, Athlon XP, Athlon
MP, Sempron
- Kiến trúc x86-64 bit bao gồm các bộ xử lý: AMD Opteron, Athlon 64,AMD Athlon 64x2, Sempron 64, Turion 64, Intel Xeon, Xeon XP,Pentium 4 Extreme Edition
Trang 29d Ubuntu
- Ubuntu là bản phân phối Linux chủ yếu dành cho máy tính để bàn dựa
trên Debian GNU/Linux Nó được tài trợ bởi Canonical Ltd, tên của bảnphân phối đại thể bắt nguồn từ quan điểm “ubuntu” của Nam Phi
- Ubuntu hướng đến việc chỉ dùng phần mềm miễn phí để cung cấp một hệ
điều hành ổn định được cập nhật cho người dùng trung bình
- Ubuntu có một cộng đồng người dùng và hỗ trợ năng động.
e Mandrake/Mandriva
- Mandriva Linux hay còn gọi là Mandrakelinux hoặc Mandrake Linux là
bản phân phối Linux của Mandriva
- Phiên bản đầu tiên của Mandriva dựa trên Red Hat Linux 5.1 và KDE
1.0 được giới thiệu vào 7/1998
f Centos
- Centos – Community Enterprise Opeating System là bản được xây dựng
dựa trên nền tảng của Red Hat Enterprise Linux, hỗ trợ dòng x86 (i586
và i686), dòng x86_64 (AMD64 và Intel EMT64), các cấu trúc IA64,Alpha, S390 và S390x
- Centos chủ yếu cung cấp cho dòng server chuyên dụng.
g ReadHat Enterprise
- RedHat Enterprise Linux thường được gọi là RHEL là một bản phân
phối Linux mang tính thương mại của RedHat Mỗi phiên bản RHEL sẽ
Trang 30được RedHat hỗ trợ trong vòng 7 năm kể từ ngày phát hành đầu tiên Cácphiên bản của RHEL xuất hiện sau mỗi 18 tháng.
- Vào năm 2005 RedHat đã cho ra đời 4 phiên bản của RHEL:
o RHEL AS (Advance Server): dành cho các hệ thống lớn
o RHEL ES (Edge Server hoặc Entry-level Server): dành cho các hệ
thống trung bình
o RHEL WS (WorkStation): dành cho người dùng cá nhân có nhu cầu
cao
o RedHat Desktop: dành cho người dùng cá nhân có nhu cầu thấp.
- Hiện nay, RedHat cung cấp bằng RedHat Enterprise Server 5.0 cung cấp
cho các dòng máy chuyên nghiệp
III HỆ THỐNG TẬP TIN VÀ CÁC LỆNH CĂN BẢN
1 Tổng quan
- Mỗi hệ điều hành có các cách tổ chức lưu trữ dữ liệu riêng Ở mức vật lý,đĩa được định dạng từ các thành phẩn sector, track, cylinder Ở mức logicmỗi hệ thống sử dụng cấu trúc riêng, có thể dùng chỉ mục hay phân cấp để
có thể xác định được dữ liệu từ mức logic tới mức vật lý Cách tổ chức nhưvậy gọi là hệ thống tập tin (còn gọi là FileSystem)
- Linux hỗ trợ rất nhiều loại hệ thống tập tin như: ext2(second extendedfilesystem), ext3(third extended filesystem), iso9660, Network File System(NFS) Hiện tại rất nhiều hệ thống Linux sử dụng ext3 trong đó có FedoraCore 8
Trang 31- Đặc điểm của ext3:
o Được công bố vào tháng 11 năm 2001
o Số nhận diện patition là 0x83
o Kích thước tối đa đạt 16GB-2TB
o Chiều dài tên file đạt 256 ký tự
o Kích thước tối đa của partition từ 2TB đến 32TB
2 Các thành phần chính của FileSystem
- Superblock: là một cấu trúc được tạo tại vị trí bắt đầu hệ thống tập tin Nó
lưu trữ thông tin về hệ thống tập tin như thông tin về block-size, free block,thời gian gắn kết (mount) cuối cùng của tập tin
- Inode(256 byte): lưu những thông tin về những tập tin và thư mục được tạo
ra trong hệ thống tập tin nhưng chúng không lưu tên tập tin và thư mục thật
sự Mỗi tập tin tạo ra sẽ được phân bố một inode lưu thông tin sau:
o Loại tập tin và quyền hạn truy cập tập tin
o Người sở hữu tập tin
o Kích thước của tập tin và số hard link đến tập tin
o Ngày và thời gian chỉnh sửa tập tin lần cuối cùng
o Vị trí lưu nội dung tập tin trong hệ thống tập tin
- Storageblock: là vùng lưu trữ dữ liệu thật sự của tập tin và thư mục Nó chia
thành những data block Dữ liệu lưu trữ vào đĩa trong các data block Mỗiblock thường chứa 1024byte Ngay khi tập tin chỉ có một ký tự thì cũng phảicấp phát 1 để lưu nó Không có ký tự kết thúc tập tin
Trang 32o Data block của tập tin thông thường lưu inode của tập tin và nội dung
tập tin
o Data block của thư mục lưu danh sách những entry bao gồm inode
number, tên của tập tin và những thư mục con
3 Loại FileSystem
- Trong Linux tập tin dùng cho việc lưu trữ dữ liệu Nó bao gồm cả thư mục
và thiết bị lưu trữ Một tập tin dữ liệu hay một thư mục con đều được xem làtập tin Khái niệm tập tin còn mở rộng dùng cho các thiết bị như máy in, đĩacứng… ngay cả bộ nhớ chính cũng được coi như là một tập tin
- Các tập tin trong Linux được chia làm ba loại chính:
o Tập tin dữ liệu: đây là tập tin theo định nghĩa truyền thông, nó là dữ
liệu lưu trữ trên các thiết bị lưu trữ như đĩa cứng, CD-ROM, bạn có thể
lưu bất cứ dữ liệu nào vào tập tin này như đoạn source chương trình,
tập tin văn bản hay tập tin thực thi dạng mã máy, các lệnh của Linuxcũng như tất cả các tập tin được tạo ra bởi người dùng
o Tập tin thư mục: thư mục không chứa dữ liệu, mà chỉ chứa các thông
tin của những tập tin và thư mục con trong nó Thư mục chứa haitrường của một tập tin là tên tập tin và inode number.n
o Tập tin thiết bị: hệ thống Unix hoặc Linux xem các thiết bị như là các
tập tin, việc xuất nhập dữ liệu cho các thiết bị tương đương với việcxuất nhập dữ liệu trên file, tất cả các file thiết bị được hệ thống Linux
đặt trong thư mục /dev Ví dụ: file thiết bị của đĩa mềm là /dev/fd0, của đĩa cứng là /dev/sda, /dev/had,…
- File liên kết: đơn giản là file tạm trỏ đến một file hoặc thư mục nào đó vì thế
người dùng có thể truy xuất đến các file hoặc thư mục này thông qua các fileliên kết giống như đang truy xuất trực tiếp đến file và thư mục đó, như thế,
Trang 33trên Linux một file có thể có nhiều thư mục cha khác nhau Trên Linuxthường có 2 dạng file liên kết:
o Hard link file: là hình thức tạo một hay nhiều file tạm có cùng nội
dung với file nguồn, các file này cùng trỏ về cùng một địa chỉ lưu trữ
nội dung hay nói cách khác chúng có cùng idnode number Khi ta
thay đổi trên bất kỳ file nào thì nội dung trên những file còn lại sẽ
thay đổi theo Khi tạo hard link thì chỉ số liên kết file cũng sẽ tăng
lên, do đó khi ta lỡ xoá một file nào đó thì vẫn còn trên những file
còn lại Để tạo một hard link file ta dùng lệnh ln theo cú pháp sau:
#ln <file nguồn> <file liên kết>
o Symbolic link file: là hình thức tạo một liên kết tạm dùng để trỏ về file nguồn, symbolic link giúp cho người quản trị có thể đơn giản hoá
các thao tác truy cập file hệ thống, bằng cách tạo ra liên kết file trỏ
về file hệ thống Khi đó, thay vì truy cập file hệ thống thì người quảntrị chỉ cần truy cập file liên kết, việc thay đổi nội dung file liên kếttương ứng với việc thay đổi nội dung của file nguồn Để tạo file liên
kết symbolic link ta dùng lệnh ln –s theo cú pháp sau:
# ln –s <file nguồn> <file liên kết>
o Điểm khác biệt giữa hard link và symbolic link là khi xoá file nguồn thì file liên kết theo kiểu symbolic link không còn tác dụng nhưng file liên kết hard link vẫn còn ý nghĩa và nội dung vẫn như cũ chỉ có
các chỉ số liên kết giảm đi một đơn vị
4 Các thao tác trên FileSystem
a Mount và umount FileSystem
Trang 34- Mount là hình thức gắn kết thiết bị vào một thư mục trong filesystem của
Linux để người dùng sử dụng thiết bị, thư mục trên filesystem còn gọi là
mount point Sau khi mount hoàn tất việc sao chép dữ liệu và hệ thống và mount point tương ứng với việc sao chép giữa hệ thống và thiết bị Ta có
thể mount vào hệ thống các loại thiết bị sau: hdax, sdax, CD-ROM, đĩamềm, usb
- Mount thủ công: để mount một hệ thống tập tin ta dùng lện mount theo cú pháp: #mount <tên thiết bị> <điểm mount> Trong đó:
o –f: làm cho tất cả mọi thứ đều hiện ra như thật, song nó chỉ gây ra động tác giả.
o –v: chế độ chi tiết, cung cấp thêm thông tin về những gì mount cần thực hiện.
o –w: mount hệ thống tập tin với quyền đọc và ghi.
o –r: mount hệ thống tập tin chỉ có quyền đọc mà thôi.
o –t: Xác định lại hệ thống tập tin đang được mount, những loại hợp
lệ là minux, ext2, ext3, msdos , hpfs, proc, nfs…
o –a: mount tất cả những hệ thống tập tin được khai báo trong
/etc/fstab.
o –o remount <fs>: chỉ định việc mount lại một filesystem nào đó.
- Mount tự động: tập tin /etc/fstab liệt kê các hệ thống tập tin cần được mount
tự động, mỗi dòng một hệ thống tập tin tương ứng với một gắn kết Các
Trang 35cột trong mỗi dòng phân cách nhau bằng khoảng trắng hoặc khoảng tab.
Mô tả cụ thể:
o Cột 1: xác định thiết bị hoặc hệ thống tập tin cần mount.
o Cột 2: xác định điểm mount cho hệ thống tập tin Đối với các hệ
thống tập tin đặc biệt như swap chúng ta dùng chữ none có tác dụnglàm cho tập tin swap hoạt động nhưng nhìn vào cây thư mục khôngthấy
o Cột 3: chỉ ra loại hệ thống tập tin như msdos, vfat, iso9660, ext2…
o Cột 4: danh sách các tuỳ chọn được ngăn cách nhau bằng dấu phẩy.
o Cột 5: xác định khoảng thời gian để lệnh dump sao chép (backup) hệ
thống tập tin Nếu trường này rỗng, dump giả định rằng hệ thống tậptin này không cần backup
- Cột 6: Khai báo cho lệnh fsck biết thứ tự kiểm tra các hệ thống tập tin khi
khởi động hệ thống Hệ thống tập tin gốc (/) phải có giá trị 1 Tất cả hệthống tập tin khác phải có giá trị 2 Nếu không khai báo khi khởi động,máy sẽ không kiểm tra tính thống nhất của hệ thống tập tin.Ví dụ:
Trang 36Hình 1.4.1:File mẫu /etc/fstab trong mount tự động.
- Như vậy, khi muốn mount các hệ thống tập tin lúc khởi động, bạn nên sử
dụng tập tin etc/fstab thay vì dùng lệnh mount.
- Umount: loại bỏ một filesystem khỏi hệ thống Có các dạng sau:
o #umount thiết bị <điểm mount>: loại bỏ cụ thể một filesystem.
o #umount –a: loại bỏ tất cả các filesystem đang mount.
b Định dạng FileSystem
Để định dạng một hệ thống tập tin trên Linux ta sử dụng các công cụ sau:
#mkfs.ext2: định dạng partition theo loại ext2.
#mksf.ext3: định dạng partition theo loại ext3.
Ta cũng có thể dùng lệnh mkfs để định dạng cho mọi hệ thống tập tin (ext2,ext3…)
Cú pháp: #mkfs –t <fstype> <filesystem>
Ví dụ: mkfs –t ext2/dev/hda1
Tương đương với lệnh: #mkfs.ext2 /dev/hda1
c Quản lý dung lượng đĩa
Để quản lý và theo dõi dung lượng đĩa ta có thể sử dụng nhiều cách khác
nhau, thông thường hay sử dụng lệnh df và fdisk.
Cú pháp: #df <option>
#fdisk <option> <parameters>
d Kiểm tra FileSystem với fsck
- Quản trị hệ thống chịu trách nhiệm duy trì tính nhất quán của các hệ thốngtập tin Công việc thường làm là thỉnh thoảng kiểm tra xem có tập tin nàohỏng không Linux sẽ tự động kiểm tra hệ thống tập tin lúc khởi động nếu
chúng có giá trị lớn hơn 0 và được xác định trong trường pass number của tập tin /etc/fstab.
Trang 37Cú pháp: #fsck [tuỳ chọn] <hệ thống tập tin>
- Các tuỳ chọn:
o -A: duyệt khắp tập tin /etc/fstab và cố gắng kiểm tra tất cả các hệ
thống tập tin chỉ trong một lần duyệt Nếu đã chọn –A, bạn không cần chỉ ra hệ thống tập tin
o -V: chế độ chi tiết, cho biết lệnh fsck đang làm gì.
o -t loai-fs: xác định loại hệ thống tập tin cần kiểm tra.
o -a: tự động sửa chữa những hỏng hóc trong hệ thống tập tin mà không cần hỏi.
o -l: liệt kê tất cả các tên tập tin trong hệ thống tập tin.
o –r: hỏi trước khi sửa chữa hệ thống tập tin.
o –s: liệt kê tất cả các superblock trước khi kiểm tra hệ thống tập tin.
5 Tổ chức hệ thống tập tin trên Linux
/etc : Cấu hình hệ thống cục bộ theo máy
/usr/bin : Chứa hầu hết các lệnh người dùng
/dev : Các tập tin thiết bị
/usr/man : Chứa tài liệu trực tuyến
/usr/include : Chứa các tập tin include chuẩn của C.
/var/log : Các tập tin lưu giữ thông tin làm việc hiện hành của người dùng
/home : Chứa các thư mục con của các user
/usr/lib : Chứa các tập tin thư viện của các chương trình người dùng
- Khi truy cập vào hệ thống, thư mục làm việc của người dùng được xem
như là thư mục chủ Ví dụ: Thư mục chủ của user01 sẽ là /home/user01.
Trang 38- Nếu đường dẫn bắt đầu bằng dấu “/”, thì hệ thống xem đó như là một tênđường dẫn đầy đủ bắt đầu từ thư mục gốc.
6 Các lệnh thao tác trên hệ thống tập tin
Các tham số luôn bắt đầu bởi dấu “-“, và trong hầu hết các trường hợp nhiều
tham số một chữ cái có thể kết hợp dùng một dấu “ – “
Ví dụ: Thay vì dùng lệnh ls –l –F ta có thể dùng lệnh tương đương ls –lF.
*?[ ] Kí tự đại diện hay theo mẫu
& Chạy ứng dụng ở chế độ nền, trả lại dấu nhắc cho hệ
thống cho các tác vụ khác
; Dấu phân cách nhiều lệnh trên một dòng lệnh
\ Tắt tác dụng của những kí tự đặc biệt như: *, ?, [, ], &,
>, <, |
> Định hướng dữ liệu xuất ra file
< Định hướng dữ liệu nhập từ file
| Định hướng dữ liệu xuất là dữ liệu nhập cho lệnh tiếp
theo
$ Sử dụng biến môi trường
Cú pháp: mkdir <dir1> <dir2> … <dirN>
<dir1> … <dirN> là tên các thư mục cần tạo.
Ví dụ:
[user01@linux user01]$ mkdir baitap [user01@linux user01]$ mkdir baitap/bt1 [user01@linux user01]$ mkdir baitap/bt2
- Thay đổi thư mục hiện hành
Cú pháp: cd <directory
<directory> là thư mục muốn chuyển đến.
Ví dụ:
[user01@linux user01]$ cd baitap
[user01@linux user01]$ cd /home
[user01@linux user01]$ cd
Trang 39- Xem thư mục làm việc hiện hành
Cú pháp: pwd
Ví dụ: [user12@linux user12]$ pwd
/home/user12 [user12@linux user12]$
- Xem thông tin về tập tin và thư mục
Cú pháp: ls <file1> <file2> … <fileN> <tham số>
<file1>…<fileN> là danh sách tập tin hay thư mục.
drwxrwxr-x 2 user12 user12 1024 Apr 7 09:41 doc/
-rwxrwxr-x 1 user12 user12 71 Mar 31 10:39 hello*
-rw-rw-r 1 user12 user12 126 Apr 7 09:26 baitho.txt -rw-rw-r 1 user12 user12 70 Apr 7 08:26 hello.c [user12@linux user12]$
- Di chuyển một hay nhiều tập tin
Cú pháp: mv <file1> <file2 >…<fileN> <destination>
<file1>… <fileN> là danh sách tên tập tin cần di chuyển.
<destination > là tập tin hay thư mục đích.
Lệnh mv có thể dùng để đổi tên tập tin
Chuyển nhiều tập tin: $ mv * directory
Trang 40baitho.doc [user01@linux baitap]$ cp baitho.doc ~/document
- Tạo liên kết với tập tin
Tạo liên kết với tập tin là tạo thêm cho tập tin tên mới và đường dẫntương ứng
Cú pháp: ln <source> <dectination>
Ls –l: xem số liên kết của tập tin.
Muốn xóa một tập tin ta phải xóa tất cả các liên kết của nó
- Tìm kiến một tập tin
Lệnh find cho phép tìm kiếm một tập tin hay nhiều tập tin trong mộtcây danh mục
o Tìm theo tên: find <path> -name <filename>
o Tìm theo số i-node của tập tin: find <path> -inum <number>
o Tìm theo tên người sở hữu: find <path> -user <username>
Để tránh các thông báo lỗi đưa ra màn hình ta có thể đổi hướng đầu ra lỗichuẩn tới một tập tin rỗng:
$ find / -name filename - print 2>/dev/null
-Xóa thư mục rỗng
Cú pháp: rmdir <dir1> <dir2> <dirN>
<dir1> <dirN> là tên thư mục cần xóa.
- Xóa các tập tin và thư mục