Tiểu luận Quản trị mạng Linux
Bạn đang xem 20 trang mẫu của tài liệu "Tiểu luận Quản trị mạng Linux", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- tieu_luan_quan_tri_mang_linux.doc
Nội dung text: Tiểu luận Quản trị mạng Linux
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Tiểu luận Quản trị mạng Linux MỤC LỤC 1
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái 1. Giới thiệu Gentoo 3 a. Lịch sử ra đời 3 b. Gentoo Linux trên quảng cáo. 4 c. Gentoo Linux trên văn bản 4 d. Portage là gì? 4 2. Chọn cấu hình cài đặt phù hợp 5 3. Cấu hình mạng 5 a.Các Module mạng 5 b.Bộ xử lý giao tiếp mạng 5 c. Cài đặt iproute2 5 d. DHCP 6 e.Cấu hình mạng bằng tay 6 4. Chuẩn bị phân vùng ổ đĩa 7 a. Block device 7 b. Các loại phân vùng Partition: Primary, Extended logical 7 c. Phân vùng đĩa cứng bằng fdisk 8 d. Tạo phân vùng khởi động 9 e. Tạo phân vùng Swap 9 f. Tạo phân vùng gốc 9 5. Cài đặt các tập tin cài đặt Gentoo 9 a.Cài đặt Stage Tarball 9 b. Cài đặt Portage 10 c. Cấu hình tùy chọn biên dịch 10 6. Cấu hình hệ thống Gentoo 10 a. Cài đặt hệ thống nền gentoo 10 b. Thông tin hệ tập tin: 12 7. Cài đặt các công cụ cần thiết 13 a.Quản Lý thiết bị 13 b.System Logger 13 c.Cron Deamon 13 d.Công cụ cho hệ tập tin 13 8. Cấu hình Kernel 14 9. Cấu hình bootloader 16 a.Tùy chọn: Frame buffer 17 b.Dùng GRUB 17 10. Hoàn tất cài đặt Gentoo 18 a. Quản lý user 18 b. Các tính năng của Portage 19 c. Caching Compilation 19 d. Tập tin và Thư mục 20 e. Thông tin đặc trưng của profile 20 1. Giới thiệu Gentoo a. Lịch sử ra đời 2
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Mọi chuyện bắt đầu bằng thời gian ngoài giờ. Thời gian để khám phá, để thử nghiệm. Đó là cách người tạo ra Gentoo, Daniel Robbins, bước vào thế giới Linux. Ông đã bắt đầu bằng Debian Linux, thiết lập một vài ứng dụng, họ8c cài vào và ra Linux, và như hầu hết người dùng Linux, thử một vài bản phân phối khác nhau. Ông đã giúp đỡ một bản phân phối tên là Stampede Linux. Không lâu sau, ông cùng phát triển Stampede và làm việc với hệ thống quản lý gói của nó. Sau một khoảng thời gian, do một số vấn đề, ông rời bỏ và quyết định tạo một bản phân phối của riêng mình. Vậy là Enoch được sinh ra. Daniel muốn Enoch là một bản phân phối nhanh như chớp với những tính năng tự động hóa hoàn toàn việc tạo và nâng cấp gói. Không lâu sau, #enoch trên irc.freenode.net được hình thành với 10 thành viên giúp phát triển bản phân phối này. Sau một khoảng thời gian, Enoch bắt đầu cải tiến, họ người cần đặt một tên mới. Họ gọi nó là Gentoo Linux. Vào khoảng thời gian Gentoo chuẩn bị ra bản 1.0, Daniel mua được một máy mới và nhanh. Kiểu bo mạch chủ mới có faulty chip, làm Linux bị khóa khi rảnh và vì thế, sự phát triển Gentoo Linux bị ngừng hoàn toàn. Vì không có gì xảy ra với Gentoo Linux, Daniel chuyển sang FreeBSD. Ông thích cái ông đã thấy, đặc biệt là hệ thống "Ports". Và khi quay về Linux, cùng với những người phát triển khác như Achim Gottinger, Gentoo tiếp tục được phát triển. Toàn bộ thệ thống quản lý gói được thiết kế lại và được đặt tên là Portage. Gentoo đã phát triển mạnh kể từ đó, với vô số tính năng mới liên tục được thêm vào theo năm tháng. Đội tình nguyện giúp Gentoo luôn luôn có những phần mềm mới nhất và an toàn bảo mật cũng như ổn định cao nhất. Mô hình phát triển Gentoo được mở rộng với một cách tiếp cận dựa hoàn toàn trên dự án, mỗi dự án phát triển độc lập và hợp tác với các dự án Gentoo khác. Các cuộc gặp định kỳ giữa các trưởng dự án giúp đảm bảo tiến độ phát triển. Tổ chức Gentoo Foundation được hình thành để duy trì quỹ tài chính, bảo vệ về phá lý và định hướng sự phát triển của Gentoo để nó tuân theo Cam kết Cộng đồng. Vào tháng tư năm 2004, Daniel quyết định rời khỏi Gentoo. Chúng ta vô cùng cảm ơn Daniel vì những gì ông đã làm cho Gentoo và chúc ông điều tốt lành nhất. Gentoo vẫn tiếp tục phát triển và tự cải tiến - những dự án mới được hình thành, nhiều người phát triển mới tham gia, những gói mới được thêm từng ngày. Những người phát triển Gentoo và cộng đồng người dùng là những giá trị to lớn nhất của Gentoo b. Gentoo Linux trên quảng cáo. 3
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái c. Gentoo Linux trên văn bản Gentoo Linux là một phiên bản đặc biệt của Linux, có thể được tự động tối ưu và tùy biến cho bất cứ ứng dụng hoặc nhu cầu nào. Khả năng cấu hình cực kỳ, hiệu năng và lực lượng phát triển cũng như người dùng ưu tú dấu xác nhận tiêu chuẩn của Gentoo. Xin cảm ơn công nghệ Portage, nhờ đó Gentoo Linux có thể trở nên một server bảo mật lý tưởng, một máy trạm dùng để phát triển, một hệ để bàn chuyên nghiệp, một hệ thống game, giải pháp nhúng hoặc những thứ khác bất cứ thứ gì bạn cần. Vì khả năng thích ứng gần như không giới hạn, chúng tôi gọi Gentoo Linux là metadistribution. d. Portage là gì? Portage là trái tim của Gentoo Linux, và thực hiện nhiều tính năng quan trọng. Một mặt, Portage là hệ thống phân phối phần mềm cho Gentoo Linux. Để có phần mềm mới nhất cho Gentoo Linux, chỉ cần gõ lệnh: emerge sync. Lệnh này sẽ ra lệnh Portage cập nhật "cây Portage" cục bộ từ Internet. Cây Portage của bạn chứa một tập hợp hoàn chỉnh các script dùng bởi Portage để tạo và cài đặt các gói phần mềm mới nhất. Hiện nay, chúng tôi có hơn 10000 gói trong cây Portage, và các gói mới được thêm liên tục. Portage còn là hệ thống xây dựng và cài đặt gói phần mềm. Khi bạn muốn cài đặt một gói, bạn gõ emerge tên-gói để Portage tự động tạo phiên bản riêng cho gói phần mềm theo chính xác yêu cầu của bạn, tối ưu nó theo phần cứng của bạn và đảm bảo các tính năng bổ sung bạn cần đều được bật những tính năng không cần bị loại bỏ. 4
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Portage còn giúp hệ thống luôn cập nhật. Gõ emerge -u world một lệnh sẽ bảo đảm mọi gói mà bạn muốn có trên hệ thống được cập nhật tự động. 2. Chọn cấu hình cài đặt phù hợp Cấu hình tối thiểu của máy là CPU i486 hoặc mới hơn, bộ nhớ 128MB HDD 2GB Ram 256MB. Tải đỉa CD Gentoo Universal Installation CD download tại 3. Cấu hình mạng a.Các Module mạng Module mặc định được nạp nếu gói nó cần được cài đặt. Nếu bạn xác định một module mà gói của nó chưa cài thì bạn sẽ nhận được lỗi thông báo gói cần cài đặt. Về nguyên tắc, bạn chỉ cần điều chỉnh thiết lập module khi bạn cài đặt hai gói hoặc nhiều hơn cung cấp cùng dịch vụ và bạn cần chọn dùng cái nào Tùy chọn module #module= ( ‘iproute2’ ) Hoặc #modules_eth0=( ‘udhcp’ ) Hoặc dùng supplicant hoặc linux-wlan-ng để điểu khiển cấu hình không dây nhưng bạn vẫn muốn cấu hình mạng theo ESSID #module=( ‘!iwconfig’ ) b.Bộ xử lý giao tiếp mạng If config là cấu hình Gentoo mặc định và nó nằm trong system profile. Iproute2 mạnh hơn và uyển chuyển hơn nhưng không phải la mặc định. c. Cài đặt iproute2 #emerge sys-apps/iproute2 Vì ifconfig và iproute2 làm những việc rất giống nhau, nêu dùng chung cấu hình cho cả hai. #config-eth0=(‘192.168.0.2/24’ ) #config eth0= ( 192.168.0.2 netmask 255.255.255.0 ; ) d. DHCP DHCP nghĩa là lấy thông tin mạng (địa chỉ IP, máy chủ DNS, gateway ) từ DHCP server. Nghĩa là cần có một DHCP server trong mạng, chỉ cần cho client biết cần dùng DHCP và nó sẽ tự động lập cấu hình mạng. Sẽ phải cấu hình những thứ khác như ppp, mạng không dây nếu có trước khi bạn có thể dùng DHC. 5
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Ưu điểm và khuyết điểm DHCP Gói Ưu điểm Khuyết điểm module Dhclient Net— Tạo bởi ISC, những Cấu hình quá phức tạp, khá misc/dhcp người đã tạo ra phần cồng kềnh, không thể lấy mềm BIND DNS. Rát NTP server từ DHCP, mặc mạnh về cấu hình định không gửi tên máy dhcpcd net- Mặc định của Gentoo Không còn được phát triển misc/dhcpcd trong thời gian dài, nữa, có thể chậm, không thể không phụ thuộc vào chạy daemon khi lease là vô những công cụ khác tận pump net-misc/pump Nhẹ, không phụ Không còn được phát triển, thuộc vào công cụ không đáng tin cậy, đặc biệt khác khi dùng qua modem, không thể lấy NIS server từ DHCP udhcpc net- Nhẹ - DHCP client Chưa được chứng minh - misc/udhcp nhẹ nhất, dùng cho hệ chưa distro nào dùng làm thống nhúng mặc định, không thể định nghĩa timeout lớn hơn 3 giây Để gửi tùy chọn xác định cho dhcp module, dùng module_eth0=" " e.Cấu hình mạng bằng tay Khi CD Cài đặt khởi động, nó sẽ cố gắng dò tìm mọi thiết bị phần cứng trên máy bạn và nạp các kernel module (trình điều khiển) liên quan để hỗ trợ phần cứng đó. Trong hầu hết trường hợp, nó hoạt động rất tốt. Tuy nhiên, trong vài trường hợp, nó không thể tự động nạp các kernel module bạn cần. Để tìm ra kernel module nào chúng tôi cung cấp, hãy dùng ls: #ls /lip/modules/’uname –r’/kernel/drivers/net Dùng Modprobe để cài kernel module #modprobe tên module muốn cài. Để kiểm tra Card mạng đã nhận được chưa dung ifconfig. #ifconfig eth0 Nếu card mạng nhận thì nó sẽ hiện ra thông báo sau eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 6
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Card mạng bị lỗi thì nó hiện thông báo: # ifconfig eth0 eth0: error fetching interface information: Device not found Nếu có nhiều card mạng thì sẽ đặt tên cho từng cái là eth0, eth1 Card mạng đã nhận thì cấu hình Net setup hoặc ADSL setup. Dùng DHCP: #dhcpcd eth0 Nếu hoạt động thì ping tới google :D đã hoàn tất cài đặt mạng. 4. Chuẩn bị phân vùng ổ đĩa. a. Block device Block device đại diện cho ổ đĩa IDE thứ nhất trong hệ thống có tên là /dev/hda. Nếu hệ thống là SCSI hoặc SATA thì ổ đĩa đầu tiên sẽ là dev/sda. Các block device kể trên được dùng để giao tiếp với đĩa. Các chương trình có thể dùng các block device này để thao tác với đĩa mà không cần biết bạn dùng IDE SCSI hay cái gì khác. Chương trình chỉ cần xem đĩa như một loạt các khối lien tục, mỗi khối 512 byte, có thể truy cập ngẫu nhiên. b. Các loại phân vùng Partition: Primary, Extended logical. Primary là phân vùng mà thông tin của nó được lưu trong Master boot record (MBR). Do MBR rất nhỏ (512 byte) nên chỉ có thể chứa bốn phân vùng primary (ví dụ, /dev/hda1 đến /dev/hda4). Phân vùng extended là phân vùng primary đặc biệt (nghĩa là phân vùng extended là một trong bốn phân vùng primary) chứa các phân vùng khác bên trong. Lẽ ra phân vùng extended không tồn tại, nhưng vì bốn phân vùng là quá ít, nên phân vùng loại này xuất hiện để tăng số lượng phân vùng mà vẫn giữ tính tương thích. Phân vùng luận lý là phân vùng nằm bên trong phân vùng mở rộng. Các thông số xác định phân vùng luận lý không được lưu trong MBR mà thay vào đó chúng được khai báo trong phân vùng mở rộng. Số lượng phân vùng phụ thuộc nhiều vào môi trường. Ví dụ, nếu có rất nhiều người dùng, thì sẽ dùng một phân vùng riêng cho /home để tăng cường an ninh và dễ sao lưu. Nếu cài đặt Gentoo làm mail server, thì nên dùng phân vùng riêng cho /var vì thư từ được lưu trong /var. Một lựa chọn hệ tập tin đúng sẽ tăng cường hiệu năng của hệ thống. Game server thường dùng phân vùng riêng cho /opt vì hầu hết các game server được cài vào đây. Lý do tách riêng phân vùng cũng tương tự như 7
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái với /home: an toàn và sao lưu. Chắc chắn sẽ cần một /usr to: nó không chỉ chứa một lượng lớn các ứng dụng, cây Portage chiếm gần 500 MB, không tính mà nguồn cũng được lưu trong đó. c. Phân vùng đĩa cứng bằng fdisk Phân Vùng Mô tả /dev/hda1 Phân vùng khởi động /dev/hda2 Phân vùng swap /dev/hda3 Phân vùng gốc Fdisk là công cụ mạnh và phổ biến dùng để chia đĩa thành các phân vùng. Ví dụ #fdisk /dev/hda Command: p để hiển thị cấu hình phân vùng hiện đĩa hiện tại Device Start End Blocks ID System Boot /dev/hda1 1 14 105808+ 83 Linux /dev/hda2 15 49 264600 82 Linux swap /dev/hda3 50 70 15876 83 Linux /dev/hda4 71 2184 15981840 5 Extended /dev/hda5 71 209 1050808+ 83 Linux /dev/hda6 210 348 1050808+ 83 Linux /dev/hda7 349 626 2101648+ 83 Linux /dev/hda8 627 904 2101648+ 83 Linux /dev/hda9 905 2184 9676768+ 83 Linux Đĩa này được cấu hình để chứa bảy hệ tập tin ( mỗi cái tương ứng với một phân vùng). Xóa mọi phân vùng. Trước hết ta sẽ xóa mọi phân vùng khỏi đĩa. Nhập d để xóa một phân vùng. Ví dụ để xóa /dev/ hda1 Command (m for help): d Partition number (1-4): 1 Phân vùng đã được lên kế hoạch xóa. Nó sẽ không còn hiện lên khi bạn gõ p, nhưng nó sẽ chưa bị xóa chừng nào bạn chưa lưu lại các thiết lập của mình. Nếu bạn phạm sai lầm hoặc muốn ngừng không lưu, hãy gõ q ngay lập tức và nhấn Enter, các phân vùng của bạn sẽ không bị xóa. 8
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Giờ giả định rằng bạn thực sự muốn xóa mọi phân vùng trên đĩa, hãy lặp đi lặp lại p để xem mô hình và d kèm số của phân vùng cần xóa. Sau cùng, bạn sẽ kết thúc khi bảng phân vùng chẳng còn gì trong đó: d. Tạo phân vùng khởi động Đầu tiên chúng ta tạo phân vùng khởi động (boot). Hãy gõ n để tạo phân vùng primary, theo sau là 1 để chọn phân vùng primary đầu tiên. Khi được hỏi cylinder đầu tiên, hãy nhấn enter. Khi được hỏi cylinder cuối cùng, hãy nhập +32M để tạo phân vùng có kích thước 32 MB e. Tạo phân vùng Swap Nào hãy tạo phân vùng swap. Để thực hiện, hãy gõ n để tạo phân vùng mới, gõ p để cho fdisk biết bạn muốn tạo phân vùng primary. Sau đó gõ 2 để tạo phân vùng primary thứ hai, /dev/hda2 trong trường hợp này. Khi được hỏi cylinder đầu tiên, hãy nhấn enter. Khi được hỏi cylinder cuối cùng, nhấn +512M để tạo phân vùng 512MB. Sau khi hoàn thành, hãy gõ t để đặt kiểu phân vùng, 2 để chọn phân vùng vừa mới tạo và gõ 82 để đặt loại phân vùng là "Linux Swap". f. Tạo phân vùng gốc Sau cùng, hãy tạo phân vùng gốc. Để thực hiện, hãy gõ n để tạo phân vùng mới, sau đó p để tạo phân vùng primary. Nhập 3 để tạo phân vùng primary thứ ba, /dev/hda3. Nhấn enter khi được hỏi cylinder đầu tiên. Nhấn enter khi được hỏi cylinder cuối cùng để sử dụng toàn bộ vùng đĩa còn lại 5. Cài đặt các tập tin cài đặt Gentoo a.Cài đặt Stage Tarball Trước khi tiếp tục, bạn cần kiểm tra lại ngày giờ trên máy và cập nhật lại nó nếu cần thiết. Ngày giờ sai trên máy có thể dẫn đến những hiện tượng lạ lùng trong tương lai Để kiểm tra lại ngày giờ dùng lệnh #date Bung Stage Tarball Các tập tin stage nằm trong CD ở thư mục /mnt/cdrom/stages. Để xem danh sách các stage hiện có. #mount /dev/cdroms/cdrom0 /mnt/cdrom #ls /mnt/cdrom/stages. Chuyển sang thư mục /mnt/gentoo #cd /mnt/gentoo Chúng ta sẽ bung stage tarball đã chọn. Chúng ta thực hiện bằng lệnh tar. Chú ý dùng chính xác các tùy chọn (xvjpf)! x nghĩa là Extract (Bung), v là Verbose (chi tiết) để xem những gì xảy ra khi bung (tùy chọn), j là Giải nén bzip2, p là Preserve permissions (Bảo toàn quyền) và f là tập tin cần bung, không phải standard input. 9
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Trong ví dụ kế, chúng ta sẽ bung stage tarball stage3- -2005.1-r1.tar.bz2. Nhớ thay cho đúng tên stage tarball đã chọn. #tar xvjpf /mnt/cdrom/stages/stage3- -2005.1-r1.tar.bz2\ b. Cài đặt Portage Bung Portage Snapshot, bởi vì đó là một tệp các tập tin dùng để cho Portage biết những chương trình nào có thế cài đặt, những profile nào hiện có #tar xvjf /mnt/gentoo/portage- .tar.bz2 -C /mnt/gentoo/usr c. Cấu hình tùy chọn biên dịch Có thể đặt một số biến để tác động đến cách hoạt động của Portage. Tất cả các biến này là biến môi trường (dùng export) nhưng không phải là biến tồn tại bền vững. Để lưu các thiết lập của bạn, Portage cung cấp cho bạn /etc/make.conf để chứa cấu hình cho Portage. Đây là lúc để mở và điều chỉnh tập tin này. Mở chương trình soạn thảo văn bản #vi /mnt/gentoo/etc/make.conf 6. Cấu hình hệ thống Gentoo a. Cài đặt hệ thống nền gentoo * Chroot Đầu tiên chép thông tin DNS Đó là chép thông tin DNS vào /etc/resolv.conf. Bạn cần làm điều này để đảm bảo mạng sẽ vẫn hoạt động kể cả khi đã vào môi trường mới. /etc/resolv.conf chứa nameserver của mạng bạn đang dùng. #cp –l /etc/rosolv.conf /mnt/gentoo/etc/resolv.conf Mount hệ tập tin /proc và /dev: mount hệ tập tin /proc vào /mnt/gentoo/proc để đảm bảo những thông tin do kernel cung cấp vẫn có thể được dùng trong môi trường chroot, sau đó mount-bind hệ tập tin /dev #mount –t proc none /mnt/gentoo/proc #mount –o bind /dev /mnt/gentoo/dev Giờ mọi phân vùng đã được khởi động và môi trường nền đã được cài đặt, đã đến lúc chuyển sang môi trường mới bằng cách chroot vào nó. Điều này nghĩa là bạn thay đổi từ môi trường cài đặt hiện thời (CD Cài đặt hoặc phương tiện cài đặt khác) sang hệ thống được cài đặt (gồm các phân vùng đã được khởi động). Chroot được thực hiện qua ba bước. Đầu tiên chúng ta sẽ thay đổi thư mục gốc từ / (trên phương tiện cài đặt) sang /mnt/gentoo (phân vùng của bạn) bằng chroot. Sau đó chúng ta sẽ tạo môi trường mới bằng env-update (tạo các biến môi trường). Cuối cùng, chúng ta nạp các biến môi trường này vào bằng lệnh source. Chroot vào môi trường mới #chroot /mnt/gentoo /bin/bash #env-update 10
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái * Caching service dependencies # source /etc/profile # export PS1="(chroot) $PS1" Cấu Hình biến USE USE là một trong những biến mạnh nhất mà Gentoo cung cấp cho người dùng. Vài chương trình có thể được biên dịch với một vài tính năng. Ví dụ, vài chương trình có thể được biên dịch để hỗ trợ gtk, hoặc qt. Vài chương trình khác có thể được biên dịch để hỗ trợ hoặc không hỗ trợ SSL. Vài chương trình có thể được biên dịch để hỗ trợ framebuffer. Thiết lập USE mặc định được đặt trong make.defaults của profile của bạn. Bạn sẽ tìm make.defaults trong thư mục mà /etc/make.profile trỏ đến và mọi thư mục cha của nó. Thiết lập USE mặc định là tổng hợp của mọi thiết lập USE trong mọi tập tin make.defaults. Những gì bạn lưu trong /etc/make.conf sẽ được tính toán dựa trên các thiết lập mặc định. Nếu bạn thêm vài thứ vào USE, nó sẽ được thêm vào danh sách mặc định. Nếu bạn loại bỏ vài thứ khỏi USE (bằng cách đặt dấu trừ trước từ khóa), nó sẽ bị loại bỏ khỏi danh sách mặc định (nếu nó có trong danh sách mặc định). Không bao giờ thay thế bất cứ gì bên trong thư mục /etc/make.profile; nội dung thư mục này luôn luôn được ghi đè khi cập nhật Portage! Mô tả đầy đủ về USE nằm trong phần hai của tài liệu này, USE flag. Mô tả về các USE flag nằm trên hệ thống bạn, tại /usr/portage/profiles/use.desc. Xem các USE flag hiện có #less /usr/portage/profiles/use.desc Mở /etc/make.conf và thiết lập USE #nano –w /etc/make.conf USE ="-gtk -gnome qt kde dvd alsa cdr" b. Thông tin hệ tập tin: Trong Linux, mọi phân vùng được hệ thống sử dụng phải được liệt kê trong /etc/fstab. Tập tin này chứa những mountpoint của các phân vùng đó (vị trí của phân vùng đó trong cấu trúc hệ tập tin), mount các phân vùng đó vào như thế nào, với những tùy chọn đặc biệt gì (mount tự động hay không, người dùng bình thường có thể mount hay không, v.v ) Tạo /etc/fstab /etc/fstab dùng một cú pháp đặc biệt. Mỗi dòng bao gồm sáu trường, cách nhau bằng khoảng trắng (phím khoảng trắng hoặc tab, hoặc trộn lẫn với nhau). Mỗi trường có ý nghĩa riêng của nó: Trường đầu tiên cho biết phân vùng được sử dụng (đường dẫn đến tập tin device của phân vùng đó) 11
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Trường thứ hai cho biết mountpoint, nơi phân vùng đó được gắn vào hệ tập tin Trường thứ ba cho biết loại hệ tập tin của phân vùng Trường thứ tư cho biết tùy chọn mount được dùng bởi lệnh mount để gắn phân vùng vào hệ thống. Mỗi loại hệ tập tin có những tùy chọn mount riêng, đọc man page của lệnh mount (man mount) để có danh sách đầy đủ. Các tùy chọn mount cách nhau bằng dấu phẩy. Trường thứ năm được dùng bởi lệnh dump để xác định xem phân vùng này có cần dump hay không. Thông thường có thể để cho trường này là 0. Trường thứ sáu được dùng bởi lệnh fsck để xác định thứ tự kiểm tra các phân vùng nếu hệ thống không được tắt một cách đúng đắn. Hệ thống tập tin gốc nên đặt giá trị là 1 trong khi phần còn lại nên đặt giá trị là 2 (hoặc 0 nếu không cần thiết kiểm tra phân vùng). Tập tin /etc/fstab mặc định được Gentoo cung cấp không phải là tập tin fstab hợp lệ, vì thế hãy khởi động và tạo /etc/fstab: Thông tin mạng Host name, Domainname Đặt tên cho host: #nano –w /etc/conf.d/hostname Đặt tên cho domain: #nano –w /etc/conf.d/domainname 7. Cài đặt các công cụ cần thiết a.Quản Lý thiết bị Nếu bạn dùng kernel 2.4 và cài đặt Gentoo từ stage 3, có vài thứ bạn cần phải làm. Vì Gentoo mặc định dùng udev, và udev không được kernel 2.4 hỗ trợ, bạn sẽ cần dùng devfsd và loại bỏ udev. #emerge –unmerge udev #emerge devfsd b.System Logger Vài công cụ không nằm trong stage3 vì có vài gói cung cấp cùng tính năng. Công cụ đầu tiên bạn cần quyết định cài đặt là chương trình log cho hệ thống. Unix và Linux có một lịch sử xuất sắc về khả năng log nếu bạn muốn, bạn có thể log mọi thứ diễn ra trên hệ thống vào logfile. Việc này được thực hiện thông qua system logger. Gentoo cung cấp vài logger cho bạn chọn. Chúng ta có sysklogd, system log daemon truyền thống, syslog-ng, system logger cao cấp, và metalog, system loger với khả năng tùy biến cao. Có thể còn có một số khác trong Portage vì số lượng gói phần mềm tăng từng ngày. 12
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái #emerge syslog-ng #rc-update add syslog-ng default c.Cron Deamon Là chương trình thực hiện lệnh theo lịch hẹn trước. Nó rất tiện dụng khi cần thực hiện vài lệnh theo chu kỳ ( ngày, tuần, tháng ) #emerge slocate d.Công cụ cho hệ tập tin Tùy vào hệ tập tin bạn dùng, bạn cần cài đặt các tiện ích liên quan dành cho hệ tập tin đó (để kiểm tra tính toàn vẹn của hệ tập tin, tạo hệ tập tin bổ sung ). Bảng sau liệt kê các công cụ bạn cần khi bạn dùng một hệ tập tin sau. Tuy nhiên không phải hệ tập tin nào cũng được hỗ trợ trên mọi kiến trúc. Hệ tập tin Công cụ Lệnh cài đặt XFS Xfsprogs Merge xfprogs ReiserFS Reiserfsprogs Emerge reiserfprogs JFS Jfsutils Emerger jfsutils 8. Cấu hình Kernel Linux Kernel là lõi của mọi bản phân phối. Trước hết bạn cần chọn múi giờ để hệ thống của bạn biết nó nằm ở nơi nào. Hãy tìm múi giờ của bạn trong /usr/share/zoneinfo, sau đó chép thành /etc/localtime. #ls /usr/share/zoneinfo #cp /usr/share/zoneinfo/Asia/Saigon /etc/localtime Cài đặt từ mả nguồn Với HPPA chúng tôi có hppa-sources. Mặc định đây là kernel dựa trên kernel 2.6. Nếu bạn muốn dùng kernel 2.4, bạn cần cài đặt Gentoo bằng Internet vì chúng tôi không cung cấp kernel source trong CD Cài đặt. Dùng USE="-doc" nếu cần để tránh phụ thuộc vào gói xorg-x11 và các phụ thuộc khác lúc này. USE="symlink" không cần cho cài đặt mới, nhưng bảo đảm sẽ tạo đúng symlink /usr/src/linux. #USE=”-doc symlink” emerge hppa-sources Xem trong /usr/src, bạn sẽ thấy một link tên là linux trỏ đến nguồn kernel của bạn. #ls –l /user/src/linux lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux- 2.6.12.2-pa2 Mặc định: Cấu hình bằng tay Phải hiểu hệ thống trước khi bạn cấu hình kernel bằng tay. Hầu hết các thông tin có thể được thu thập bằng cách emerge pciutils emerge pciutils), chứa lspci. Bạn sẽ có thể dùng lspci bên trong môi trường chroot. Bạn cũng có thể an tâm bỏ qua 13
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái những cảnh báo pcilib (như: cannot open /sys/bus/pci/devices) mà lspci hiện ra. Bạn cũng có thể chạy lspci từ môi trường không chroot. Kết quả cũng như nhau. Bạn còn có thể chạy lsmod để xem những module kernel nào CD Cài đặt dùng (có thể là gợi ý tốt cho những module cần dùng) Chuyển vào thư mục mã nguồn kernel và chạy make menuconfig. No sẽ khởi động menu cấu hình kernel. #cd /usr/src/linux #make menuconfig Kích hoạt các tùy chọn bắt buộc Đầu tiên hãy cho phép sử dụng Code/driver thử nghiệm. Nếu không vài code/driver quan trọng sẽ không xuất hiện. Chọn code/driver thử nghiệm, Generral setup: Code matyrity level options- - -> [*] Prompt for develovement and/or incomplete code drivers General setup - - - > [*] Support for hot-pluggable devices Giờ vào phần File Systems và chọn những loại hệ tập tin bạn dùng. Đừng biên dịch chúng là module, nếu không hệ thống Gentoo sẽ không thể mount các phân vùng của bạn. Ngoài ra hãy chọn Virtual memory và /proc file system: Chọn các hệ tập tin cần thiết File systems > Pseudo Filesystems > [*] /proc file system support [*] Virtual memory file system support (former shm fs) (Chọn những tùy chọn sau tùy theo hệ thống của bạn) Reiserfs support Ext3 journalling file system support JFS filesystem support Second extended fs support XFS filesystem support Nếu bạn dùng PPPoE để kết nối internet hoặc dùng modem quay số, bạn sẽ cần những tùy chọn sau trong kernel: Device Drivers > Networking support > PPP (point-to-point protocol) support PPP support for async serial ports PPP support for sync tty ports Hai tùy chọn nén không phương hại nhưng không phải nhất thiết không cần, cũng như thế với tùy chọn PPP over Ethernet, nó có thể chỉ cần bởi rp-pppoe khi cấu hình để dùng PPPoE kernel mode. Nếu bạn cần nó, đừng quên thêm hỗ trợ card mạng vào kernel. 14
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Nếu bạn có chuột hoặc bàn phím HIL, đừng quên bật tùy chọn hỗ trợ nó. Input core support > [*] Keyboard support [*] Mouse support [*] Event interface support Ngoài ra nên kích hoạt hỗ trợ driver hiển thị: Graphics support > [*] Support for frame buffer devices [*] HP STI frame buffer device support Console display driver support > [*] STI text console Biên dịch Kernel # make && make modules_install Khi đã biên dịch kernel xong, hãy chép nó vào /boot. Dùng tên nào là tuỳ ý bạn. Bạn cần nhớ tên mình chọn để cấu bootloader trong phần sau. Nhớ thay với tên và phiên bản kernel của bạn. #cp vmlinux /boot/ Dùng genkernel để biên dịch tự động. Trước hết dùng emerge kernel #emerge kernel Sau đó chạy genkernel all. #genkernel all # genkernel all (Loại bỏ bớt kết quả để dễ đọc) * Kernel compiled successfully! * Required Kernel Params: * root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT * where $ROOT is the devicenode for your root partition as * you should have specified in /etc/fstab * * You MUST tell your bootloader to use the generated initrd * * Recommended Kernel Params: * vga=0x317 splash=verbose * * Do NOT report kernel bugs (configs included) as genkernel bugs. * Make sure you have the latest genkernel before reporting bugs * * For more info see /usr/share/genkernel/README Khi genkernel chạy xong, một kernel và một tập các module và initial root disk (initrd) đã được tạo. Bạn sẽ dùng kernel và initrd này khi cấu hình bootloader 15
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Kiểm tra kernel image và initrd image đã tạo #ls /boot/kernel* /boot/initramfs* Thực hiện một trong những bước sau để làm cho hệ thống giống với Live CD hơn hãy emerge coldplug. Trong khi initrd tự động dò tìm phần cứng cần để khởi động hệ thống, coldplug tự động dò tìm mọi thứ còn lại. Để emerge và bật coldplug. #emerge coldplug #rc-update add coldplug default 9. Cấu hình bootloader Kernel của bạn đã được cấu hình, biên dịch và các tập tin cấu hình cần thiết đã sẵn sàng. Giờ là lúc để cài đặt chương trình để khởi động kernel khi bạn khởi động hệ thống. Chương trình đó gọi là bootloader. Với x86, Gentoo Linux cung cấp GRUB và LILO. Nhưng trước khi bắt đầu cài đặt một trong hai bootloader, chúng tôi sẽ cho bạn biết cách cấu hình framebuffer (dĩ nhiên giả định rằng bạn muốn có framebuffer). Với framebuffer, bạn có thể chạy lệnh Linux với một số tính năng đồ hoạ (giới hạn) (như bootsplash). a.Tùy chọn: Frame buffer Nếu bạn đã cấu hình kernel hỗ trợ framebuffer (hoặc dùng cấu hình mặc định của genkernel), bạn có thể kích hoạt nó bằng cách thêm lệnh vga và/hoặc video vào tập tin cấu hình bootloader. Trước hết bạn cần biết loại framebuffer đang dùng. Nếu bạn dùng kernel của Gentoo (vd, gentoo-sources), bạn có thể chọn vesafb-tng (Driver VESA, mặc định cho những kernel này). Nếu bạn rơi vào trường hợp này, bạn đang dùng vesafb-tng và không cần đặt lệnh vga. Nếu không, bạn đang dùng vesafb và cần đặt vga. Lệnh vga điều khiển độ phân giải và số lượng màu của framebuffer vesafb. Như đề cập trong /usr/src/linux/Documentation/fb/vesafb.txt (nằm trong gói kernel source), bạn cần truyền số VESA tương ứng với độ phân giải và số lượng màu bạn chọn. Bảng sau liệt kê nhưng độ phân giải và số lượng màu kèm theo con số cần truyền cùng với lệnh vga. 640x480 800x600 1024x768 1280x1024 256 0x301 0x303 0x305 0x307 32K 0x310 0x313 0x316 0x319 64K 0z311 0x314 0x317 0x31A 16M 0x312 0x312 0x318 0x31B 16
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Lệnh video điều khiển các tùy chọn framebuffer. Nó cần framebuffer driver (vesafb cho kernel 2.6, vesa cho kernel 2.4) theo sau bởi những lệnh bạn muốn bật. Mọi biến được liệt kê trong /usr/src/linux/Documentation/fb/vesafb.txt b.Dùng GRUB Phần quan trọng nhất để có thể dùng GRUB là làm quen với cách GRUB đặt tên cho các ổ cứng và các phân vùng ổ đĩa. Phân vùng Linux của bạn /dev/hda1 được gọi là (hd0,0) trong GRUB. Chú ý dấu ngoặc vòng quanh hd0,0 - chúng bắt buộc phải có. Ổ cứng được đếm từ không thay vì "a" và các phân vùng được đếm từ không thay vì một. Chú ý rằng với các thiết bị hd, chỉ có ổ cứng là được đếm, không có các thiết bị atapi-ide như cdrom hay cd-burner. Ngoài ra, các thiết bị scsi cũng dùng theo cùng cách đặt tên như vậy. (Bình thường chúng có số lớn hơn số các ổ ide trừ khi cấu hình bios để khởi động từ thiết bị scsi.) Khi bạn yêu cầu BIOS khởi động từ một ổ cứng khác (ví dụ, ổ slave), ổ cứng đó được xem là hd0. Giả sử bạn có ổ cứng /dev/hda, ổ cdrom /dev/hdb, cd-burner /dev/hdc, một ổ cứng phụ /dev/hdd và không có ổ cứng SCSI, /dev/hdd7 là (hd1,6). Nó có vẻ phức tạp, và thực sự là nó phức tạp. Nhưng bạn sẽ thấy, GRUB cung cấp tính năng tab completion nhờ đó bạn có thể dễ dàng tìm ra các ổ đĩa và phân vùng ổ đĩa. Sau khi đã làm quen với điều này, đã đến lúc cài đặt GRUB. Để cài đặt GRUB, bạn cần gọi lệnh grub-install. Tuy nhiên, grub-install sẽ không hoạt động nếu bạn nằm trong môi trường chroot. Trước hết chúng ta cần cập nhật /etc/mtab (tập tin chứa thông tin về các hệ tập tin được mount): rất dễ dàng để làm điều này, chỉ cần chép /proc/mounts sang /etc/mtab, loại bỏ dòng rootfs nếu bạn không tạo một phân vùng riêng cho phân vùng khởi động. Lệnh sau sẽ hoạt động trong mọi trường hợp: #grep –v rootfs /proc/mounts > /etc/mtab Giờ có thể cài grub bằng grub-install: #group-install /dev/hda 10. Hoàn tất cài đặt Gentoo a. Quản lý user Thêm người dùng để sử dụng hằng ngày. Làm việc bằng root trên hệ thống Unix/Linux là rất nguy hiểm và nên tránh tối đa. Vì thế nên tạo một user khác để sử dụng hằng ngày. Group mà user là thành viên 17
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái xác định những hoạt động được phép. Bảng sau liệt kê một group mà bạn có thể sữ dụng =)) Group Mô tả Audio Được phép truy cập audio device Cdrom Được phép truy cập trực tiếp cdrom Floppy Được phép truy cập trực tiếp đĩa mềm Games Được phép chơi game Portage Được phép dùng emerge –pretend ở mức người dùng bình thường USB Được phép truy cập USB device Video Được phép truy cập phần cứng để thu hình và để tăng tốc đồ họa Wheel Được phép dùng lệnh su Ví dụ để tạo user có tên là gentoo là thành viên của group wheel, users và audio Login vào root : #useradd –m –g user,wheel,audio –s /bin/bash gentoo #passwd gentoo Nhap pass Nhap lai pass b. Các tính năng của Portage Portage có một số tính năng bổ sung giúp bạn sử dụng Gentoo tốt hơn. Nhiều tính năng dựa trên một số công cụ để cải thiện hiệu năng, tính ổn định, bảo mật Để bật hoặc tắt một số tính năng nhất định của Portage, bạn cần hiệu chỉnh biến FEATURES trong /etc/make.conf, chứa các từ khóa tính năng khác nhau, cách nhau bằng khoảng trắng. Trong vài trường hợp, bạn còn cần cài đặt công cụ bổ sung mà những tính năng này cần. Để có cái nhìn hoàn thiện tham khảo man page cảu make.conf $man make.conf Để biết được những tính năng nào được kích hoạt, chạy Emerge –info và tìm biến FEATURES hoặc grep nó $emerge –info |grep FEATURES c. Caching Compilation 18
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Ccache là cache cho trinh2 biên dịch. Khi biên dịch chương trình nó sẽ lưu lại kết quả trung gian khi biên dịch cùng một chương trình đó, thời gian biên dịch sẽ giảm đáng kể. Đối với thao tác biên dịch thông thường, điều này có thể tăng tốc từ 5 đến 10 lần thơi gian biên dịch. Để cài đặt cache #emerge ccache Kích hoạt hỗ trợ Portage Hãy mở /etc/make.conf và thêm ccache vào biến FEATURES. Sau đó thêm biến mới tên là CCACHE-SIZE và đặt tên nó là « 2g» Xem thống kê ccache #ccache_dir= ‘/var/tmp/ccache’ ccache –s Vị trí /var/tmp/ccache là vị trí thư mục home ccache mặc định của Portage. Nếu muốn thay đổi hay điểu chỉnh CCACHE-DIR trong /etc/make.conf. Tuy nhiên nếu chạy ccache nó sẽ dùng thư mục mặc định ${HOME}/ .ccache. Đó là lý do tại sao phải đặt biến CCACHE _DIR khi tính thống kê ccache cho Portage . d. Tập tin và Thư mục Chỉ dẫn cáu hình Các tập tin của Portage Portage đi kèm với ca6i1 hình mặc định trpng /etc/make.globals. Khi bạn xem thử, bạn sẽ thấy mọi cấu hình Portage đểu được thực hiện thông qua biến. Biến nào được sử dụng và ý nghĩa của chúng sẽ được mô tả bên dưới. Vì nhiều chỉ dẫn cấu hình khác nhau cho từng kiến trúc máy tính, Portage dùng những tập tin cấu hình thuộc profile của bạn. Profile của bạn được trỏ đến bởi /etc/make.profile; Cấu hình Portage nằm trong tập tin make.defaults của profile của bạn và các profile cha của nó. Nếu bạn định thay đổi biến cấu hình, đừng thay đổi trong /etc/make.globals hoặc make.defaults. Thay vào đó, hãy dùng /etc/make.conf vì nó được ưu tiên hơn những tập tin khác. Bạn cũng sẽ tìm thấy tập tin /etc/make.conf.example. e. Thông tin đặc trưng của profile Chúng ta đã gặp thư mục /etc/make.profile. Nó thật sự không phải là thư mục mà là một symbolic link trỏ đến một profile, mặc định nằm trong /usr/portage/profiles mặc dù bạn có thể tạo profile riêng của bạn và trỏ đến đó. Profile symlink này trỏ đến là profile mà hệ thống sử dụng. Profile chứa thông tin Portage đặc trưng cho từng kiến trúc máy tính, như danh sách các gói hệ thống, danh sách các gói không hoạt động (hoặc bị masked) đối với profile, f. Cấu hình đặc trưng người dùng Khi bạn cần thay đổi hành vi Portage về cách cài đặt phần mềm, bạn sẽ tiến hành sửa chữa trong /etc/portage. Bạn được khuyến khích dùng những tập tin bên trong 19
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái /etc/portage và được khuyến khích không thay đổi hành vi Portage thông qua biến môi trường! Trong /etc/portage bạn có thể tạo những tập tin sau: package.mask liệt kê danh sách những gói bạn không bao giờ muốn Portage cài đặt package.unmask liệt kê danh sách những gói có thể cài đặt kể cả khi Gentoo developer không khuyến khích dùng những gói này package.keywords liệt kê danh sách các gói bạn muốn có thể cài đặt ngay cả khi gói đó chưa sẵn sàng cho kiến trúc của bạn hoặc cho hệ thống của bạn package.use liệt kê những USE flag bạn muốn dùng với một số gói nhất định mà không muốn đặt USE flag đó cho toàn hệ thống. Thông tin chi tiết về thư mục /etc/portage và danh sách tập tin đầy đủ nằm trong man page của Portage: #man portage Lưu tập tin Cây Portage mặc định nằm ở /usr/portage. Điều này được định nghĩa trong biến PORTDIR. Khi bạn lưu cây Portage ở một nơi khác (bằng cách thay đổi biến này), đừng quên thay đổi /etc/make.profile để trỏ đến profile tương ứng. Nếu bạn thay đổi biến PORTDIR, bạn có thể muốn thay đổi những biến sau luôn vì chúng sẽ không thay đổi theo PORTDIR. Đó là cách Portage xử lý biến. Những biến đó là PKGDIR, DISTDIR, RPMDIR. Mã Nguồn ứng dụng mặc định được lưu trong /usr/portage/distfiles. Nó được định nghĩa trong biến DISTDIR. Tập tin RPM có vị trí mặc định là /usr/portage/rpm, được định nghĩa trong biến RPMDIR. Cơ sở dữ liệu Portage lưu lại trạng thái hệ thống của bạn (những gói nào đã cài đặt, gói đó chứa tập tin nào, ) trong /var/db/pkg. Đừng thay đổi những tập tin này bằng tay! Bạn có thể làm hỏng kiến thức của Portage về hệ thống. g. Quản lý mạng Nếu bạn và máy của bạn luôn di chuyển, bạn có thể không phải lúc nào cũng có mạng để dùng. Nhưng bạn vẫn muốn mạng tự động hoạt động khi có cắm cáp mạng hoặc có access point. Ifplugd là một daemon bật và tắt card mạng khi cáp mạng được cắm vào hoặc bị gỡ ra. Nó có thể dò tìm access point và kết nối với access point đó. Cài đặt ifplugd #emerge sys-apps/ifplugd Tập tin cấu hình nằm là /etc/conf.d/ifplugd. Chạy man ifplugd để biết chi tiết nội dung của các biến.Cấu hình ifplud mẩu: # Định nghĩa interface cần theo giõi INTERFACES="eth0" AUTO="no" 20
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái BEEP="yes" IGNORE_FAIL="yes" IGNORE_FAIL_POSITIVE="no" IGNORE_RETVAL="yes" POLL_TIME="1" DELAY_UP="0" DELAY_DOWN="0" API_MODE="auto" SHUTDOWN="no" WAIT_ON_FORK="no" MONITOR="no" ARGS="" # Các tham số bổ sung cho ifplugd cho interface trên. Chú ý # rằng biến toàn cục bị bỏ qua, khi một biến như thế này được dùng cho # một interface. MONITOR_wlan0="yes" DELAY_UP_wlan0="5" DELAY_DOWN_wlan0="5" 11. Giao diện Gentoo lúc khởi động xong 21
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Góc phải bên dưới hiện giờ, loa Góc bên trái hiện thanh start, 4 màn hình desktop. Trên màn hình thì hiện ra các ứng dụng như Internet, Bug Tracker . Và các ASS Feed:D Chuột phải vào màn hình thì hiện ra các thanh công cụ: 22
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Khi vào nút start sẽ hiện lên toàn bộ các thanh công cụ Khi vào tool Internet sẽ hiện ra các công cụ vào web: 23
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Khi vào office thì hiện ra những chương trình soạn thảo văn bản: Khi vào system thì sẽ hiên ra những tool hệ thống: 24
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái Khi vào Utilties thì sẽ hiện ra những ứng dụng của Gentoo 25
- Tiểu Luận Quản Trị Mạng Linux GVHD: Nguyễn Thành Thái 26