CÀI ĐẶT VÀ CẤU HÌNH LINUX SONG SONG VỚI WINDOWS
Được viết bởi: Mr.Khoai
Copyright © 2007 Mr.Khoai.
“You have the rights to copy”
Mở đầu:
Dạo gần đây khoai có nhận được rất nhiều câu hỏi về vấn đề cài đặt và sử dụng song song hai hệ điều hành linux và windows. Một số bạn gặp khó khăn, một số khác lại chả biết bắt đầu từ đâu. Thật tình mà nói, chịu khó google một chút các bạn sẽ tìm ra không ít tài liệu về vấn đề dual-boot widows và linux. Tuy vậy, để tiện việc tham khảo cho mọi người, khoai xin viết một bài về các bước cần và nên làm để chuẩn bị cài đặt và sử dụng song song linux và windows. Bài này sẽ chú trọng việc cấu hình và cài đặt hệ điều hành linux sao cho thích hợp với một hệ thống dùng để học tập và nghiên cứu thêm về IT. Song song với đó là việc dual-boot linux và windows. Bài viết chủ yếu dựa vào kinh nghiệm nhiều lần “re-format”, “re-install”, và “re-build” lại hệ thống của khoai. Do đó, nếu có điểm gì sơ sót, khoai rất mong nhận được góp ý của mọi người.
I. Các bước chuẩn bị
“If you fail to plan, plan to fail” -- by some one who planned and failed.
1. Backup
Backup dữ liệu là bước đầu tiên phải làm trước khi tiến hành bất cứ thay đổi nào trên hệ thống. Không có gì đảm bảo bạn sẽ thành công hoàn toàn, và lại càng không có gì đảm bảo sẽ không có lỗi xảy ra. Do đó, mọi dữ liệu quan trọng trên hệ thống của bạn cần được backup lại.
Điểm đáng lưu ý khi backup là không nên backup dữ liệu lên một phân vùng khác của cùng một ổ cứng. Bạn đang chuẩn bị cài đặt lại hệ thống của mình. Tất nhiên bạn cũng sẽ phải phân vùng lại ổ cứng. Nếu có sai sót gì, toàn bộ dữ liệu trên master boot record [1] có thể bị mất. Dẫn đến dữ liệu trên máy có thể sẽ rất khó được phục hồi.
2. Lựa chọn hệ điều hành
Bạn đã backup dữ liệu của mình, bây giờ bạn có thể tiến hành lựa chọn một hệ điều hành thích hợp với nhu cầu cá nhân. Trên windows, đa phần các hệ thống thông thường sử dụng Windows XP Home Edition, hoặc Professional Edition. Ngoài ra còn có Windows Media Center, hoặc mới hơn nữa là Windows Vista. khoai chưa có dịp sử dụng Windows Vista, và cũng chưa hề thử cài Vista song song với linux. Do đó, bài viết này sẽ không đề cập gì đến Vista cả.
Về phần linux, hiện nay có hàng trăm linux distribution[2] khác nhau. Việc lựa chọn distro (viết tắt cho linux distribution) nào là tuỳ vào nhu cầu cá nhân của bạn. Mọi linux distro đều dựa vào một linux kernel. Một số distro có thêm một vài công cụ do các nhà phát triển distro tạo ra để giúp đỡ cho việc cấu hình hệ thống linux được dễ dàng hơn. Trong bài này, khoai sẽ sử dụng 2 distro là Slackware 11.0 và Fedora Core 6 để minh họa nếu cần thiết. Lý do sử dụng 2 distro này thay vì các distro khác là vì 2 distro này có khác nhiều điểm khác nhau. Ví dụ, Slackware chỉ sử dụng text mode để install trong khi Fedora Core dùng GUI; Slackware có một package manager rất đơn giản, còn Fedora Core dùng Redhat Package Manager (rpm) có kiểm tra dependency; Slackware dùng lilo làm boot loader trong khi Fedora Core sử dụng GRUB làm boot loader mặc định.
Các linux distribution thường được cung cấp miễn phí, và bạn hoàn toàn có quyền download tại website của distro đó. Các distro thường được cung cấp dưới dạng iso và có thể được burn ra CD hoặc DVD dễ dàng.
3. Tính toán phân chia ổ cứng
Bước tính toán để phân vùng ổ cứng là một bước rất quan trọng mà rất nhiều người khi mới tiến hành cài đặt linux thường xem nhẹ và bỏ qua. Bước này đòi hỏi bạn phải tính trước hệ thống của bạn sẽ được sử dụng như thế nào. Bạn muốn linux và windows hoàn toàn tách biệt? Hay muốn có một số phân vùng được dùng để chứa dữ liệu và chia sẽ cho cả hai? Hay là bạn lại muốn cả 2 hệ thống hoàn toàn có thể truy cập dữ liệu của nhau dễ dàng? Trước khi tiến hành tính toán để phân chia ổ cứng cho linux và windows, khoai sẽ giới thiệu một số thư mục quan trọng và cơ bản cho hệ thống linux, cũng như một số chi tiết về việc phân vùng cho thư mục đó.
a. Thư mục /:
Đây thường được gọi với tên “root directory”--nghĩa là thư mục gốc. Đây là nơi sẽ chứ mọi thư mục con khác. Đây là thư mục bắt buộc phải có cho bất cứ một hệ thống linux nào.
Nếu bạn không quan tâm đến việc tối ưu bước phân vùng, bạn chỉ cần tạo một phân vùng khoảng 5Gb và mount [3] vào / là hoàn toàn có thể cài đặt và sử dụng linux một cách hiệu quả. Tuy nhiên, trong bài này, khoai đề nghị phân vùng dành cho / chỉ cần 1Gb là đã khá rộng rãi.
b. Thư mục /boot:
Thư mục /boot thường được dùng để chứa kernel, và các cấu hình để boot hệ thống.
Có rất nhiều tài liệu khuyên nên tạo một partition riêng cho /boot. khoai nhận thấy việc này là không cần thiết. Bạn có thể để trực tiếp /boot trong phân vùng dành cho /. /boot chỉ cần thiết khi bạn có ý định sử dụng nhiều linux distro khác nhau trên cùng một hệ thống. Khi đó, bạn có thể đặt tất cả các kernel, các options và các cấu hình vào một phân vùng, và mount vào /boot cho mỗi distro.
c. Thư mục /home
/home là nơi chứa tất cả các dữ liệu cá nhân cho từng user trên hệ thống (ngoại trừ user root). Việc tính toán chính xác bạn cần bao nhiêu chỗ trống cho /home là điều rất khó khăn; trừ khi bạn tiến hành giới hạn tài nguyên cho từng account trên hệ thống và bạn biết rõ sẽ có bao nhiêu account. Do đó, khoai thường phân chia các phân vùng khác trước, và phần còn dư lại được dành cho /home.
d. Thư mục /tmp
/tmp là thư mục dùng để chứa các file tạm. Các file này thường được xóa sau khi chương trình đã hoàn tất và thoát. Nhiều người không tạo thêm một phân vùng riêng cho /tmp mà để /tmp như một thư mục trong /. Điều này hoàn toàn vô hại đối với một hệ thống cá nhân.
Một điểm lưu ý là các users đều phải có quyền write và read trên /tmp. Một user bình thường hoàn toàn cần có /tmp để chứa các file tạm khi user đó sử dụng hệ thống. Một user hoàn toàn có khả năng tạo ra hàng loạt các file có kích thước lớn trong /tmp để làm đầy partition /, và tình trạng này hoàn toàn có khả năng DoS [4] và làm ảnh hưởng đến hệ thống của bạn. Ngoài ra, còn có một số trường hợp tấn công trực tiếp sử dụng /tmp vì user hoàn toàn có lý khi có toàn quyền read, write trên /tmp. Do đó, nên tạo một partition riêng, dành cho /tmp. Partition này có thể được mount thêm với option noexec để không cho bất cứ user nào có quyền execute file trên /tmp, hạn chế tối đa khả năng một user lợi dụng /tmp làm nơi chứa các file thực thi mà bạn không xác định rõ chức năng. Một partition dành cho tmp cần khoảng 500Mb. Nhưng nếu ổ cứng của bạn rộng rãi, bạn nên để khoảng 1Gb dành cho /tmp. Nếu không đủ, tất nhiên chúng ta hoàn toàn có thể “gia tăng thêm” kích thước cho /tmp.
e. Thư mục /var
/var thường được gọi là “kho chứa log” cho cả hệ thống. Mặc định, rất nhiều chương trình sẽ có log ở một trong các thư mục nằm trong /var. /var có thể không cần riêng một partition cho nó, nhưng nên để thêm 500Mb vào partition / khi bạn quyết định đặt /var nằm trong partition /.
Tương tự với /tmp, các file log trong /var có khả năng làm ngập partition root. Nếu có thể, bạn nên tạo một partition riêng cho /var. Nếu bạn có ý định sẽ sử dụng hệ thống này như một web server, một IDS [5], hay bất cứ một dịch vụ hoặc chương trình nào đòi hỏi bạn sẽ cần có rất nhiều log thì bạn nên tạo một partition riêng cho /var. Khi đó, kích thước của var nên gia tăng tuỳ theo nhu cầu của bạn.
f. Thư mục /usr
/usr là nơi chứa rất nhiều các chương trình được cài đặt trên hệ thống. Ngoài ra, /user còn dùng để chứa các library, các file include, các manual pages vân vân. Với một hệ thống cá nhân nho nhỏ, /usr cần khoảng 3Gb đến 4Gb. Tuy vậy, sau khi cài đặt hệ thống, kích thước của /usr ít khi có thay đổi đáng kể. Thường sau khi cài đặt, một hệ thống dùng khoảng 80% chỗ trống được dành cho /usr, và con số này thường không thay đổi. /usr có thể được đặt trong partition dành cho / (nhưng phải gia tăng kích thước partition này thêm 3,4 Gb) hoặc cũng có thể được dành riêng một phân vùng.
[*] Ngoài các thư mục chính kể trên, linux còn các thư mục khác nằm ngay trong /. Các thư mục này thông thường không đòi hỏi phải có riêng một partition. Linux còn cần có một partition swap để làm vùng nhớ tạm khi RAM không đủ. swap thường chiếm khoảng 2 lần kích thước của RAM. Nếu có điều kiện, tốt nhất là nên mua thêm một ổ cứng nho nhỏ, dùng để chứa swap và /tmp. Do swap và /tmp thường được truy xuất nhiều và liên tục, tách chúng ra lên một ổ cứng khác sẽ giúp ổ cứng chính của bạn sống lâu hơn :~)
Nếu bạn có nhu cầu chia sẽ một số dữ liệu cho cả hai hệ thống linux và windows, khoai đề nghị tạo thêm một phân vùng lớn để chứa dữ liệu. Phân vùng này sẽ được format dạng fat, để windows và linux có thể dễ dàng sử dụng dữ liệu bên trong. Linux có hỗ trợ đầy đủ cho cả ntfs và fat, nhưng windows thì lại không thể nhận ra các filesystem như ext2, ext3 hay reiserfs. Trên windows, để truy xuất một phân vùng định dạng khác ntfs và fat, bạn phải cần có một chương trình khác để làm việc đó.
Còn tiếp...
khoai
[1]-Master Boot Record là phần dữ liệu nằm ở đầu của một ổ cứng. Phần này chứa tất cả thông tin về các partition, và các phân chia sector, cylinders vân vân. Một partition table trong master boot record chỉ có thể chứa tối đa 4 partitions. Nhưng một trong số đó có thể là địa chỉ trỏ đến một extended partition table. Trong extended partition table, số lượng partition sẽ nhiều hơn. Các partition nằm trên partition table chính thường được gọi là các primary partition. Trong khi các partition nằm trong extended partition table thường được gọi là logical partition hoặc extended partition.
[2]-Linux distribution là các bản phân phối linux. Tất cả các bản đều sử dụng chung một linux kernel (cho dù thường thì khác version). Điểm khác biệt cơ bản của các distro với nhau là ở mặt cấu trúc thư mục, cấu hình, library, và các hỗ trợ cho người dùng. Nếu bạn có thể dùng một distro, bạn hoàn toàn có khả năng sử dụng một distro khác. Để cài đặt bất cứ distro nào, xin mời tham khảo thêm tài liệu của cụ thể distro đó.
[3]-mount: Trên một hệ thống linux, hoặc các hệ thống “giốn Unix” nói chung, một phân vùng cần được mount trước khi sử dụng. Một phân vùng sẽ được mount vào một thư mục, và tất cả dữ liệu ghi vào thư mục đó sẽ được ghi lên phân vùng đã mount. ví dụ: phân vùng số 1 được mount tại /, và phân vùng số 2 được dành để mount tại /tmp. Nếu ta không mount phân vùng số 2 tại /tmp mà tiến hành ghi một file lên /tmp, file đó sẽ nằm trong phân vùng số 1. Nếu ta mount phân vùng 2 tại /tmp, và ghi một file khác lên /tmp, file này sẽ được nằm trong phân vùng số 2. Trên hệ thống windows cũng có khái niệm mount ổ cứng, ổ CD, USB vân vân, nhưng khái niệm mount này thường được hiển thị cho người dùng ở dạng “ổ đĩa” C, D, vân vân. Do đó, khái niệm mount trên hệ thống windows ít được biết đến và sử dụng.
[4]-DoS là từ viết tắt của Denial of Service(s). Đây là một kiểu tấn công làm cho một hệ thống không thể cung cấp một hoặc một vài dịch vụ nào đó. Một hình thức tấn công DoS đơn giản là cắt dây điện để hệ thống không thể hoạt động, hoặc phức tạp hơn có thể dùng một số công cụ tự động làm ngập đường truyền mạng. Ngoài ra còn có một số hình thức tấn công khác như DDoS hoặc RDDoS. Các vấn đề về DoS sẽ không được đề cập quá chi tiết trong bài viết này.
[5]-IDS là từ viết tắt của Intrusion Detection System. Đây là một hệ thống dùng để quản lý và kiểm tra xem hệ thống của bạn có dấu hiệu bị tấn công hay không.
|