Tuy nhiên trong điều kiện thực tế hiện nay, trên các hệ thống UNIX, đôi khi người sử dụng vẫn gặp khó khăn khi tìm kiếm, cài đặt và quản lý phần mềm,cách thức sử dụng hệ thống UNIX khá p
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI *********♦********* PHẠM XUÂN LÂM NGHIÊN CỨU TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG QUẢN LÝ PHÂN PHỐI PHẦN MỀM PHÂN TÁN KẾT HỢP P2P, XÂY DỰNG MÔ HÌNH VÀ TRIỂN KHAI TRÊN CÁC HỆ ĐIỀU HÀNH NGUỒN MỞ LUẬN VĂN THẠC SĨ NGHÀNH : CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC TS HÀ QUỐC TRUNG HÀ NỘI 2009 Tai ngay!!! Ban co the xoa dong chu nay!!! 17057205162051000000 -1- BẢN CAM ĐOAN Tôi Phạm Xuân Lâm, học viên cao học lớp Công nghệ thông tin khóa 2007 – 2009 thực luận văn tốt nghiệp TS Hà Quốc Trung hướng dẫn Tôi xin cam đoan tồn nội dung trình bày luận văn kết tìm hiểu nghiên cứu riêng hướng dẫn TS Hà Quốc Trung, trình nghiên cứu đề tài “Nghiên cứu tìm hiểu xây dựng hệ thống quản lý phân phối phần mềm phân tán kết hợp P2P, xây dựng mơ hình triển khai hệ điều hành nguồn mở” Các kết liệu nêu luận văn hoàn toàn trung thực rõ ràng Mọi thơng tin trích dẫn tuân theo luật sở hữu trí tuệ, liệt kê rõ ràng tài liệu tham khảo Tôi xin chịu hoàn toàn trách nhiệm với nội dung viết luận văn Hà nội, ngày 31 tháng 10 năm 2009 TÁC GIẢ PHẠM XUÂN LÂM -2- MỤC LỤC BẢN CAM ĐOAN MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG DANH MỤC TỪ VIẾT TẮT LỜI MỞ ĐẦU CHƯƠNG CÁC VẤN ĐỀ VỀ HỆ THỐNG PHÂN PHỐI PHẦN MỀM PHÂN TÁN 1.1 10 Các khái niệm phần mềm 10 1.1.1 1.1.2 Định nghĩa 10 Hoạt động phần mềm ứng dụng hệ thống máy tính 10 1.1.3 Các hình thức quy trình cung cấp phần mềm 11 1.2 Tổng quan hệ thống phân phối phần mềm phân tán 11 1.2.1 Khái niệm yêu cầu hệ thống phân phối phần mềm phân tán 11 1.2.2 1.2.3 Nguyên tắc hoạt động hệ thống phân tán phần mềm 12 Cách thức quản lý phần mềm hệ điều hành ngn mở 13 1.2.4 Vai trị người quản trị hệ thống phân tán phần mềm 13 1.3 Trao đổi thành phần hệ thống phân tán .14 1.3.1 1.3.2 Giao tiếp Client Server 14 Giao dịch phân tán 14 1.3.3 Khôi phục chịu lỗi .15 1.3.4 Bảo mật .16 CHƯƠNG PHÂN PHỐI PHẦN MỀM TRÊN CÁC HỆ ĐIỀU HÀNH NGUỒN MỞ 20 2.1 Quản lý phân phối phần mềm Redhat sử dụng RPM 20 2.1.1 2.1.2 Cấu trúc gói RPM .20 Phân phối gói phần mềm RPM máy chủ .22 2.1.3 Quá trình khai thác gói phần mềm RPM máy trạm 32 2.1.4 Các công cụ quản lý phân phối gói phần mềm RPM phổ biến 43 2.2 Quản lý phân phối phần mềm Debian 46 2.2.1 Phân phối phần mềm hệ điều hành Debian 47 -3- 2.2.2 Gói phần mềm hệ điều hành Debian 48 2.2.3 2.2.4 Các công cụ quản lý phân phối gói phần mềm deb phổ biến 54 So sánh đánh giá cách đóng gói phần mềm dùng RPM DPKG 59 2.3 Mạng ngang hàng (Peer to Peer – P2P) 62 2.3.1 Các kiến trúc sử dụng để phân tán 62 2.3.2 2.3.3 Mạng ngang hàng 64 Kiến trúc mạng ngang hàng 66 2.3.4 So sánh P2P với mơ hình Client-Server .70 2.3.5 Phát triển ứng dụng mạng ngang hàng 70 CHƯƠNG XÂY DỰNG HỆ THỐNG PHÂN PHỐI PHẦN MỀM PHÂN TÁN KẾT HỢP P2P .71 3.1 Yêu cầu mơ hình phân phối phần mềm phân tán 71 3.2 Xây dựng mô hình phân phối phần mềm phân tán 72 3.2.1 Mơ hình tổng thể chế làm việc 72 3.2.2 Mơ hình điểm phân tán 74 3.2.3 3.2.4 Mơ hình máy trạm .75 Mơ hình mạng tổng thể hệ thống 75 3.3 Cơ chế hoạt động giải pháp thành phần hệ thống 76 3.3.1 Trên Server 76 3.3.2 Trên máy trạm 81 3.4 Triển khai xây dựng hệ thống hệ điều hành nguồn mở 87 3.4.1 3.4.2 3.5 Đề xuất hệ thống 87 Triển khai hệ thống .88 Đánh giá hệ thống 89 3.5.1 3.5.2 Các thao tác hệ thống 89 Độ phức tạp thao tác 90 3.5.3 Phân tích đánh giá phức tạp hệ thống 93 KẾT LUẬN 95 TÀI LIỆU THAM KHẢO 97 -4- DANH MỤC HÌNH VẼ Hình 2-1: Cấu trúc gói RPM .21 Hình 2-2: Phần thơng tin gói RPM 22 Hình 2-3: Thơng tin tệp gói RPM .22 Hình 2-4: Quy trình đóng gói tệp RPM .23 Hình 2-5: Cấu trúc thư mục để tạo tệp RPM 23 Hình 2-6: Cấu trúc file spec 24 Hình 2-7: Q trình đóng gói RPM 28 Hình 2-8: Các bước q trình cài đặt gói RPM trực tuyến 30 Hình 2-9: Mơ hình phân phối gói RPM 31 Hình 2-10: Các bước thực máy trạm cài đặt gói RPM 32 Hình 2-11: Các bước để xóa gói RPM cài đặt 34 Hình 2-12: Cơng cụ quản lý gói YAST 46 Hình 2-13: Tiến trình cài đặt gói Deb nhị phân 51 Hình 2-14: Tiến trình hủy bỏ gói deb nhị phân 51 Hình 2-15: Định dạng gói nguồn .52 Hình 2-16: Tổng quan q trình đóng gói debian .52 Hình 2-17: Các thao tác tạo gói nguồn gói nhị phân 53 Hình 2-18: Quản lý gói sử dụng Synaptic 57 Hình 2-19: Kiểm tra cấu hình gói cơng cụ Synaptic .58 Hình 2-20: Remote access model 63 Hình 2-21: Kiến trúc phân lớp NFS 64 Hình 2-22: So sánh mơ hình Client Server mơ hình P2P .65 Hình 2-23: Phân loại kiến trúc mạng ngang hàng 65 Hình 2-24: Mơ hình chia sẻ tập trung .66 Hình 2-25: Mơ hình chia sẻ túy .67 Hình 2-26:Mơ hình chia sẻ sử dụng mạng lai (Hybrid) 68 Hình 3-1: Mơ hình chung hệ thống phân phối phần mềm phân tán 73 Hình 3-2: Mơ hình khối điểm phân tán phần mềm .75 Hình 3-3: Các module máy trạm 75 -5- Hình 3-4: Mơ hình mạng tổng thể tồn hệ thống 76 Hình 3-5: Q trình đóng gói phần mềm 77 Hình 3-6: Khối dịch vụ .80 Hình 3-7: Sơ đồ cài đặt nâng cấp phần mềm .83 Hình 3-8: Các bước cài đặt phần mềm offline 85 Hình 3-9: Các bước thực gỡ bỏ phần mềm .86 Hình 3-10: Triển khai hệ thống lưu trữ .88 Hinh 3-11: Mơ hình đơn giản mạng phân tán phần mềm 88 -6- DANH MỤC BẢNG Bảng 2-1: Các tham số biên dịch gói RPM câu lệnh rpmbuild 29 Bảng 2-2: Bảng tham số cài đặt gói RPM sử dụng câu lệnh RPM -i 34 Bảng 2-3: Bảng tham số gỡ bỏ gói RPM sử dụng câu lệnh RPM -e 35 Bảng 2-4: Bảng tham số nâng cấp gói RPM sử dụng câu lệnh RPM -u 36 Bảng 2-5: Cú pháp cài đặt gói deb sử dụng dpkg .55 Bảng 2-6: Cú pháp cài đặt gói deb sử dụng apt-get 56 Bảng 2-7: So sánh tính bảo mật xác thực .59 Bảng 2-8: So sánh khả sử dụng công cụ linux 60 Bảng 2-9: So sánh khả mô tả liệu 60 Bảng 2-10: So sánh khả hỗ trợ tệp đặc biệt 61 Bảng 2-11: So sánh khả đóng gói 61 Bảng 2-12: So sánh khả mở rộng 62 Bảng 2-13: so sánh ưu nhược điểm P2P với Client/Server 70 Bảng 3-1: Các thao tác hệ thống phân phối phần mềm phân tán 90 -7- DANH MỤC TỪ VIẾT TẮT Từ viết tắt Từ viết đầy đủ APT DB Advanced Package Tool Database DPKG Dibian Package Management HĐH LAN Hệ Điều Hành Local Area Connection MD5 NAS Message Digest Algorithm Network-attached storage P2P Peer to Peer Redhat Package Management RPM SWP YaST YUM Software Processor Yet another Setup Tool Yellow dog Updater Modified -8- LỜI MỞ ĐẦU Ngày công nghệ thông tin truyền thông phát triển cách mạnh mẽ, mạng máy tính Internet đến với hầu nơi trái đất, từ nhu cầu trao đổi, phát triển chia sẻ phần mềm phát triển khơng ngừng địi hỏi chế quản lý phân phối phần mềm ngày phải linh hoạt, thuận tiện triển khai phạm vi rộng Các máy tính nối mạng chủ yếu dùng hai hệ điều hành: mã nguồn mở tiêu biểu hệ điều hành UNIX hệ điều hành mã nguồn đóng mà điển hình hệ điều hành Windows Những hệ điều hành có chế để phân phối phần mềm từ nơi mạng theo phương thức khác Trên UNIX mã nguồn công khai việc lấy mã nguồn để đóng gói phân phối thuận lợi, chế quản lý phân phối phần mềm tốt linh hoạt RPM, DPKG, YUM, APT…đã giúp người dùng dễ tiếp cận với kho tài nguyên phần mềm phong phú thường xuyên phát triển cộng đồng thông qua Internet Tuy nhiên điều kiện thực tế nay, hệ thống UNIX, người sử dụng gặp khó khăn tìm kiếm, cài đặt quản lý phần mềm, cách thức sử dụng hệ thống UNIX phức tạp đồng thời chưa có hệ thống kho chứa với sở liệu đầy đủ cập nhật thường xuyên để người dùng tìm kiếm tải phần mềm mà họ cần, nhà sản xuất phần mềm gặp khó khăn việc phân phối phần mềm Vì vậy, tơi lựa chọn đề tài “Nghiên cứu tìm hiểu xây dựng hệ thống quản lý phân phối phần mềm phân tán kết hợp P2P, xây dựng mơ hình triển khai hệ điều hành nguồn mở” nhằm mục đích tạo cho người sử dụng hệ điều hành nguồn mở dễ dàng tìm kiếm, tiếp cận với phần mềm thường xuyên cập nhật mà họ cần Trong luận văn này, trình bày làm ba phần lớn: • Chương 1: Các vấn đề hệ thống phân phối phần mềm phân tán • Chương 2: Nghiên cứu chế quản lý phân phối phần mềm phân tán có như: RPM, DPKG HĐH nguồn mở, tổng quan nghiên cứu công nghệ chia sẻ ngang hàng P2P -9- • Chương 3: Đề xuất giải pháp quản lý phân phối phần mềm phân tán chạy hệ điều hành nguồn mở cho phép người sử dụng quản lý, tìm kiếm cập nhật trực tuyến phần mềm thương mại phần mềm mã nguồn mở cách linh hoạt trực quan Trong trình thực luận văn khơng tránh khỏi thiếu sót Rất mong tiếp nhận đóng góp ý kiến thầy, cô, bạn tất người luận văn hoàn thiện