BÁO CÁO THỰC TẬP COMPILE DỊCH VỤ TRÊN HỆ ĐIỀU HÀNH LINUX

30 784 1
BÁO CÁO THỰC TẬP COMPILE DỊCH VỤ TRÊN HỆ ĐIỀU HÀNH LINUX

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG BÁO CÁO THỰC TẬP COMPILE DỊCH VỤ TRÊN HỆ ĐIỀU HÀNH LINUX Giảng viên hướng dẫn: ThS. LÊ ĐÌNH VIỆT HẢI Sinh viên thực hiện: Huỳnh Đắc Nhân 10520334 Nguyễn Đăng Khoa 10520 467 Lê Đoàn Thành Tâm 10520468 Hồng Minh Nhân 10520615 TP. Hồ Chí Minh, tháng 8 năm 2014 LỜI CẢM ƠN Để có được những kiến thức và kinh nghiệm như ngày hôm nay, nhóm em xin gửi lời cám ơn chân thành và sâu sắc tới các thầy, các cô trong Trường Đại Học Công nghệ Thông Tin nói chung cùng các thầy cô trong khoa Mạng Máy Tính và Truyền Thông nói riêng đã tận tình giảng dạy, truyền đạt cho nhóm em những kiến thức, kinh nghiệm quý báu trong suốt thời gian qua. Đặc biệt, nhóm em xin gởi lời cảm ơn chân thành đến Ths.Lê Đình Việt Hải - người đã trực tiếp hướng dẫn nhóm thực hiện đề tài này. Trong quá trình thực tập và làm việc với thầy, nhóm em không ngừng tiếp thu thêm nhiều kiến thức bổ ích, những bài học đạo đức quý giá và có thể tự tin hoàn thành tốt đề tài của mình. Sau cùng, nhóm chúng em xin gửi lời cảm ơn chân thành tới bạn bè đã có những đóng góp ý kiến và giúp đỡ trong quá trình thực hiện đề tài này. Mọi lời góp ý của thầy nhóm xin chân thành lắng nghe và tiếp thu. Một lần nữa, nhóm em xin chân thành cảm ơn! TP. Hồ Chí Minh, tháng 8/2014 Nhóm thực hiện đề tài NHẬN XÉT (Cơ quan thực tập) TP. Hồ Chí Minh, tháng 8/2014 Mục lục CHƯƠNG 1: GIỚI THIỆU CÔNG VIỆC THỰC TẬP 1 1.1. Giới thiệu về trung tâm mạng ĐH Quốc Gia TP HCM 1 1.2. Nhiệm vụ, dịch vụ của trung tâm mạng ĐH Quốc Gia TP HCM 1 1.3. Giới thiệu về công việc thực tập 2 1.3.1. Thời gian thực tập 2 1.3.2. Công việc thực tập 2 CHƯƠNG 2: NỘI DUNG THỰC TẬP 3 2.1. Nhiệm vụ 3 2.2. Nội dung thực tập 3 2.2.1. Tìm hiểu về Hệ điều hành Linux 3 2.2.2. Compile kernel trên Linux 6 2.2.3. Compile một số dịch vụ trên trên Linux 11 2.3. Các công nghệ tiếp cận 14 2.3.1. Sơ lược về ảo hóa 14 2.3.2. Tổng quan về VMware ESX Server 15 CHƯƠNG 3: KẾT LUẬN 24 TÀI LIỆU THAM KHẢO 25 1 CHƯƠNG 1: GIỚI THIỆU CÔNG VIỆC THỰC TẬP 1.1. Giới thiệu về trung tâm mạng ĐH Quốc Gia TP HCM Ban được thành lập trực thuộc Nhà Điều Hành ĐHQG, đặt tại lầu 4, phòng 401 toà Nhà Điều Hành ĐHQG TP. Hồ Chí Minh với các quyền và nghĩa vụ sau:  Thực hiện công tác quản lý mạng Đại Học Quốc Gia Tp.HCM bao gồm: quản lý các thiết bị mạng máy tính, mạng điện thoại, hệ thống cáp mạng, trình Ban Giám Hiệu các báo cáo định kỳ về tình trạng hoạt động của chúng, đề nghị hướng giải quyết sự cố liên quan đ ến chúng.  Thiết lập, theo dõi và duy trì hoạt động 24 giờ / ngày liên tục trong năm đối với dịch vụ mạng trường. Phối hợp với các mạng đơn vị trong trường đảm bảo tốt cho hoạt động các dịch vụ mạng trường, bảo vệ thông tin dữ liệu trong mạng trường. 1.2. Nhiệm vụ, dịch vụ của trung tâm mạng ĐH Quốc Gia TP HCM Trung tâm mạng Đại học Quốc Gia TP. Hồ Chí Minh cung cấp và quản lý các dịch vụ mạng một cách hiệu quả cho các trường thành viên trong khối Đại học Quốc Gia như:  Cung cấp các dịch vụ mạng máy tính tin cậy và hiệu quả cho các đơn vị và cá nhân trong trường, bao gồm: thực hiện các hoạt động thường xuyên và định kỳ như duy trì, sửa chữa và cập nhật tài liệu kiến trúc mạng máy tính trường như hệ thống chuyển mạch tại trung tâm và các chi nhánh, hệ thống máy chủ mạng trường, hệ thống cáp truyền dẫn, xử lý các yêu cầu về di chuyển, thêm, thay đổi, tài khoản sử dụng mạng trường hoặc các máy tính hay các hệ thống mạng của các đơn vị.  Cung cấp các dịch vụ điện thoại tin cậy và hiệu quả cho các đơn vị và cá nhân trong trường, bao gồm: thực hiện các hoạt động thường xuyên và định kỳ bao gồm duy trì, sửa chữa, và cập nhật tài liệu kiến trúc mạng điện thoại như tổng đài điện thoại nội bộ, hệ thống cáp điện thoại, xử lý các yêu cầu về di chuyển, thêm, thay đổi, sửa chữa cũng như hóa đơn cước, danh bạ điện thoại, …  Hỗ trợ kỹ thuật về CNTT cho mọi đối tượng trong Đại Học Quốc Gia Tp.HCM bao gồm: thiết kế và dự toán kinh phí xây dựng các hệ thống mạng cục bộ của các đơn vị, triển khai các ứng dụng mạng, giúp nhà trường trong công tác tổ chức các lớp tập huấn CNTT cho cán bộ công nhân viên, sửa chữa và cài đặt máy vi tính.  Phối hợp với các đơn vị chức năng giúp nhà trường hoạch định kế hoạch phát triển về CNTT trong trường Đại Học Quốc Gia TP. HCM bao gồm: quy hoạch 2 tổng thể hạ tầng mạng và viễn thông trên bản đồ trường, cơ sở dữ liệu toàn trường, các dịch vụ công cộng …  Quản lý, phân bổ kết nối mạng công bằng, hợp lý. Trực tiếp phân bổ kết nối mạng, ban hành các biểu mẫu liên quan công tác mạng, tạo điều kiện dễ dàng cho các đơn vị trong trường đăng ký, di chuyển hay hủy bỏ kết nối mạng, tiến tới thực hiện trực tuyến qua mạng máy tính trong trường.  Quản lý, phân bổ dịch vụ mạng công bằng, hợp lý. Trực tiếp phân bổ dịch vụ mạng, ban hành các biểu mẫu liên quan, tạo điều kiện dễ dàng cho các đơn vị và cá nhân trong trường đăng ký, thay đổi hay hủy bỏ việc sử dụng các dịch vụ mạng, tiến tới thực hiện trực tuyến qua mạng máy tính trong trường.  Phối hợp với quản trị mạng các đơn vị trường trong Đại Học Quốc Gia Tp.HCM để duy trì các kết nối mạng trường và các dịch vụ mạng Đại Học Quốc Gia Tp.HCM và các mạng cục bộ đơn vị. 1.3. Giới thiệu về công việc thực tập 1.3.1. Thời gian thực tập  Bắt đầu từ 15/7/2014 đến hết tháng 8/2014  Thực tập từ thứ Hai đến thứ Sáu hàng tuần, từ 08h00 đến 17h00 1.3.2. Công việc thực tập  Giai đoạn đầu: Tất cả các thành viên trong nhóm nghiên cứu, tìm hiểu về Linux, các dịch vụ và các compile dịch vụ trên Linux. 3 CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1. Nhiệm vụ  Tìm hiểu các tập lệnh cơ bản trong Linux  Tìm hiểu Công nghệ ảo hóa Vmware trên Client và trên Cloud…  Tìm hiểu và thực hiện Compile kernel trên Máy ảo và trên Server  Nghiên cứu về IPTables, cách cấu hình mạng căn bản trong Linux  Tìm hiểu về các dịch vụ trên Linux, cấu hình một số dịch vụ cơ bản (OpenSSL, OpenSSH…) trên Linux 2.2. Nội dung thực tập 2.2.1. Tìm hiểu về Hệ điều hành Linux 2.2.1.1. Sơ lược  Linux là một hệ thống Unix tự do được hình thành từ một đồ án giải trí của một sinh viên người Phần Lan : Linus Torvalds, lấy nguồn cảm hứng từ Minix, một hệ thống Unix nhỏ do Andy Tanenbaum thiết kế. Tháng 10/1991 Linus Torvalds công bố version chính thức đầu tiên của Linux (version 0.02).  Ngày nay, Linux là một hệ thống 32-bits, multi-tasking, multi-user, mạng nó được cài trên phần lớn máy PC (có thể chung với những hệ điều hành khác). Nó hỗ trợ đủ loại chương trình khác nhau như X Windows, TCP/IP, C/C++GNU và những công cụ khác của GNU, thư điện tử, những công cụ với LateX hoặc những tiện ích cho văn phòng (ApplixWare, StartOffice).  Sự thành công của Linux dựa vào nhiều yếu tố như : o Linux là hệ điều hành mã nguồn mở, tương thích với một số lớn các chuẩn của Unix ở mức độ mã nguồn, bao gồm những đặc tính của POSIX, system V, và BSD. o Linux là một hệ điều hành UNIX tiêu biểu với các đặc trưng là đa người dùng, đa chương trình và đa xử lý. o Linux có giao diện đồ hoạ (GUI) thừa hưởng từ hệthống X-Window. Linux hỗ trợ nhiều giao thức mạng, bắt nguồn và phát triển từ dòng BSD. Thêm vào đó, Linux còn hỗ trợ tính toán thời gian thực. o 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ổ. o 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… 4 2.2.1.2. Các thành phần của Linux Hệ thống Linux, được thi hành như một hệ điều hành UNIX truyền thống, gồm shell và ba thành phần (đã dạng mã chương trình) sau đây:  Nhân hệ điều hành chịu trách nhiệm duy trì các đối tượng trừu tượng quan trọng của hệ điều hành, bao gồm bộ nhớ ảo và quá trình. Các mô đun chương trình trong nhân được đặc quyền trong hệ thống, bao gồm đặc quyền thường trực ở bộ nhớ trong.  Thư viện hệ thống xác định một tập chuẩn các hàm để các ứng dụng tương tác với nhân, và thi hành nhiều chức năng của hệ thống nhưng không cần có các đặc quyền của mô đun thuộc nhân. Một hệ thống con điển hình được thi hành dựa trên thư viên hệ thống là hệ thống file Linux.  Tiện ích hệ thống là các chương trình thi hành các nhiệm vụ quản lý riêng rẽ, chuyên biệt. Một số tiện ích hệ thống được gọi ra chỉ một lần để khởi động và cấu hình phương tiện hệ thống, một số tiện ích khác, theo thuật ngữ UNIX được gọi là trình chạy ngầm (daemon), có thể chạy một cách thường xuyên (thường theo chu kỳ), điều khiển các bài toán như chấp nhận các kết nối mạng mới đến, tiếp nhận yêu cầu logon, hoặc cập nhật các file log…. 2.2.1.3. Giới thiệu về Shell và Shell Scripts trong Linux  Khái niệm Shell là một chương trình thông dịch lệnh của một hệ điều hành, cung cấp cho người dùng khả năng tương tác với hệ điều hành bằng cách gõ từng lệnh ở chế độ dòng lệnh, đồng thời trả lại kết quả thực hiện lệnh lại cho người sử dụng. Hiện nay có một số loại Shell trong các hệ thống Unix, trong một số trường hợp hay hệ thống nào đó có thể có một hoặc nhiều Shell khác cùng tông tại. Một số loại phỏ biến đang tồn tại như: Bourne shell, Korn shell, C shell,… Mỗi loại có sự khác nhau nhưng tất cả đều cung cấp đầy đủ công cụ để thiết lập môi trường giao tiếp giữa người dùng và Unix.  Mục đích Shell có 3 mục đích chính như sau: o Tương tác (interactive use) o Đặt biến môi trường với mỗi người sử dụng o Lập trình Trong đó, tương tác được coi là đơn giản và sử dụng nhiều nhất, shell sẽ đợi người sử dụng gõ các lệnh tạo dấu nhắc, sau đó gửi tới hệ thống yêu cầu từ lệnh nhận được. 5 Thiết lập biến môi trường: Unix shell xác định các biến để điều khiển môi trường của người sử dụng đối với mỗi phiên sử dụng. Việc đặt này sẽ xác định với hệ thống những tham số như thư mục nào sẽ được sử dụng làm thư mục chính, nơi đặt mail, những thư mục nào được sự dụng mặc định khi người dùng gọi đến các lệnh Unix,… Một số biến hệ thống có thể được đặt trong tệp khởi động (Start-up file) và được đọc khi người dùng đăng nhập. Lập trình: Shell cung cấp tập lệnh đặc biệt mà từ đó có thể tạo nên những chương trình, khi đó được gọi là Shell script. Trên thực tế hầu hết các lệnh này có thể sử dụng trong cửa sổ lệnh của Unix và ngược lại, các lệnh trong Unix đều có thể sử dụng để viết trong shell script. Shell script rất tiện lợi trong việc gộp nhiều lệnh độc lập thành một và thực hiện nhiều lần. Ngoài các lệnh đơn giản của hệ thống Linux, shell còn được bổ sung thêm các cấu trúc phức tạp như điều khiển rẽ nhánh (if/case), vòng lặp(for/while) Thông thường, các hệ thống có ít nhất một loại shell và chủ yếu Bourne shell được sử dụng để viết script Tập tin /etc/passwd sẽ xác định loại shell nào sẽ được sử dụng mặc định trong hệ thống cho mỗi phiên làm việc. Trong phần cuối của dòng lệnh chứa tên người dùng là thông tin về loại shell được sử dụng. Thông tin có thể gồm một trong các dạng sau: /bin/sh Bourne shell /bin/jsh Bourne shell kết hợp thêm module điều khiển tác vụ /bin/ksh Korn shell /bin/csh C shell Việc viết shell (hay lập trình shell scripts) cũng dựa trên các lệnh cơ bản, các quy tắc lập trình cơ bản của ngôn ngữ C. [...]...2.2.2 Compile kernel trên Linux 2.2.2.1 Tổng quan về Kernel trong Linux Kernel linux (hạt nhân hệ điều hành Linux) là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển hoạt động của toàn bộ hệ thống Hạt nhân được phát triển không ngừng, thường có 2 phiên bản mới nhất, một bản dạng phát... bảo mật cho máy chủ Linux của bạn Biên dịch kernel cho Hệ điều hành Linux Các bước thực hiện :  Bước 1:Chuẩn bị Tải bản kernel muốn compile, có thể tài về từ địa chỉ: http://www.kernel.org/pub /linux/ kernel/ Giải nén tập tin kernel vừa tải và chỉ đường dẫn tới thư mục giải nén Ví dụ: wget http://www.kernel.org/pub /linux/ kernel/v2.4 /linux- 2.4.19.tar.gz tar -zxvf linux- 2.4.19.tar.gz cd linux- 2.4.19 6 ... với các hệ điều hành khác Linux không sử dụng lãng phí bộ nhớ nhờ không tải mọi thứ lên mà không cần quan tâm nó có sử dụng không Kernel được xem là trái tim của hệ điều hành Linux, ban đầu phát triển cho các CPU Intel 80386 Điểm mạnh của loại CPU này là khả năng quản lý bộ nhớ Kernel của Linux có thể truy xuất tới toàn bộ tính năng phần cứng của máy 2.2.2.2 2.2.2.3 Tại sao phải biên dịch (compile) ... phần mềm, cho phép vận hành nhiều máy chủ ảo trên cùng một máy chủ vật lý, dùng chung các tài nguyên của một máy chủ vật lý qua nhiều môi trường khác nhau Các máy chủ ảo khác nhau có thể vận hành nhiều hệ điều hành và ứng dụng khác nhau trên cùng một máy chủ vật lý Điều này giúp khai thác triệt để hiệu năng của các máy chủ lớn  Tại sao lại thực hiện ảo hóa? Ảo hóa hạ tầng công nghệ thông tin cho phép... hàng trăm x86, máy chủ và hệ thống lưu trữ, và phạm vi rộng nhất của các ứng dụng và hỗ trợ hệ điều hành khách, bao gồm Windows , Linux, Netware, Solaris,… Xây dựng một dữ liệu tập trung động với VMware vSphere o Bằng cách cho phép quản lý tập trung, tự động cân bằng tải, quản lý điện năng và khả năng di chuyển một máy ảo đang chạy trên máy vật lý sẽ giảm thiểu sự gián đoạn dịch vụ Ảo hóa mức phần cứng... tiếp trên máy chủ vật lý và phân vùng nó vào nhiều máy tính ảo có thể chạy đồng thời, chia sẻ nguồn tài nguyên vật lý của máy chủ Mỗi máy ảo đại diện cho một hệ thống hoàn chỉnh, với bộ vi xử lý, bộ nhớ, hoạt động mạng,, lưu trữ và BIOS, và có thể chạy một hệ điều hành và các ứng dụng Đạt tiêu chuẩn công nghiệp cho độ tin cậy, hiệu suất và nền tảng hỗ trợ Khởi động đáng tin cậy nhiều hệ điều hành trên. .. thiểu sự gián đoạn dịch vụ Ảo hóa mức phần cứng - không cần đến đăng ký hệ điều hành, ESXi vẫn có thể cài đặt trên phần cứng của bạn (cài đặt trên phần cứng mới nguyên) Hệ thống file VMFS Hỗ trợ SAN - kết nối với iSCSI và kho lưu trữ Fibre Channel (FC) SAN, gồm các tính năng như khởi động từ SAN Hỗ trợ lưu trữ SATA nội bộ Hỗ trợ hệ điều hành khách 64bit Mạng ảo - switch ảo, NIC ảo, các chính sách cấu hình... http://www.openssh.com 11 2.2.3.4 Tiến hành compile và cài đặt dịch vụ OpenSSH trên Linux  Bước 1: Copy source được download về vào thư mục /var/tmp trước khi giải nén  Lệnh để thực hiện [root@deep /]#cp openssh-version.tar.gz /var/tmp/ [root@deep /]#cd /var/tmp/ [root@deep tmp]#tar xzpf openssh-version.tar.gz  Bước 2: OpenSSH cần UID và GID đúng để chạy trên hệ thống nhưng UID/GID không thể chạy... đĩa xóa các tập tin tar của chương trình và thư mục chứa source  Lệnh thực hiện [root@deep /]#cd /var/tmp/ [root@deep tmp]#rm -rf openssh-version/ [root@deep tmp]#rm -f openssh-version.tar.gz 13 Sau khi hoàn thành việc compile, tối ưu và cài đặt source ta tiến hành tạo tập tin khởi động cho OpenSSH Tiến hành tạo file script /etc/init.d/sshd để tự động khởi động và dừng server OpenSSH Tiến hành thay... Sao chép kernel và System.map Lần lượt thực hiện các lệnh sau: #cp //arch/i386/boot/bzImage /boot/bzImage-2.6.23 #cp //System.map-2.6.23 /boot/System.map-2.6.23 9 #rm -f /boot/System.map #ln -s /boot/System.map-2.6.23 /boot/System.map Hình minh họa lệnh make install 10 2.2.3 Compile một số dịch vụ trên trên Linux 2.2.3.1 2.2.3.2 Giới thiệu về dịch vụ SSH SSH (Secure Shell) là một chương . gian thực tập 2 1.3.2. Công việc thực tập 2 CHƯƠNG 2: NỘI DUNG THỰC TẬP 3 2.1. Nhiệm vụ 3 2.2. Nội dung thực tập 3 2.2.1. Tìm hiểu về Hệ điều hành Linux 3 2.2.2. Compile kernel trên Linux 6. căn bản trong Linux  Tìm hiểu về các dịch vụ trên Linux, cấu hình một số dịch vụ cơ bản (OpenSSL, OpenSSH…) trên Linux 2.2. Nội dung thực tập 2.2.1. Tìm hiểu về Hệ điều hành Linux 2.2.1.1 2.2.2. Compile kernel trên Linux 2.2.2.1. Tổng quan về Kernel trong Linux Kernel linux (hạt nhân hệ điều hành Linux) là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển

Ngày đăng: 14/04/2015, 16:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan