ipridian_elf
<b><color=6F1E7F>Voyage perdu</color></b>
Giới thiệu
Bạn nghĩ rằng bạn đã hiểu hết về Linux sau khi cài và dùng Ubuntu 1-2 tháng?
Bạn muốn tìm hiểu thêm về Linux, cách hoạt động cũng như sâu thẳm trong "bộ máy" cốt lõi của Linux?
Bạn cần 1 Linux để làm những việc như tạo dựng server riêng? Bạn cần tìm hiểu cách điều hành 1 dedicated server chạy Linux?
Vậy thì bạn hãy gỡ bỏ cái bloated distro Ubuntu ra, và xắn tay áo lên để cài Gentoo hoặc LFS. Đảm bảo sẽ có nhiều điều làm bạn hứng thú hơn với hệ điều hành mang mascot con chim cánh cụt này :
Đôi điều về mục đích của topic này
Phần lớn những ai đã sử dụng Linux đều cho rằng nó chỉ là 1 hệ điều hành "mới mẻ", mang tính cách "khác" so với Windows "bình dân". Họ cần 1 thứ khác người, nhưng Mac thì đắt quá không kham nổi, sửa theme Windows XP thì nhàm quá rồi, Vista hay Windows 7 mới ra thì buggy. Nghe nói có chú "Ubuntu" có vẻ có giao diện bắt mắt & đủ cool để phô trương được, cho nên thử qua..
Có thể bạn đã yêu ngay Ubuntu từ lần sử dụng đầu tiên. Nó có khác Windows nhưng không phải khó mò lắm, 4-5 ngày sau là quen. Hơn nữa, có 1 đống tool như Blender, GIMP, etc chạy trên Linux/Ubuntu cho nên nếu bạn không phải hardcore PC gamer, thì bạn vẫn bỏ qua được Win 1 thời gian.
Nhưng đừng phạm sai lầm nhiều người mắc phải! Ubuntu chỉ là 1 distro Linux, và nó thực sự là để thu hút beginner, những người chỉ muốn thử qua thứ mới mẻ chứ không có ý muốn tìm hiểu sâu. Phần lớn các distro Linux khác cũng theo xu hướng này - openSUSE, Freespire, etc...
Linux thực ra ẩn chứa 1 tiềm năng mạnh hơn Windows rất nhiều trong cốt lõi của nó, và bạn cần phải dùng 1 distro cho phép bạn xây dựng hệ điều hành Linux từ gốc đi lên mới hiểu hết được cách sử dụng Linux thành thạo. Phần lớn sức mạnh này nằm trong Terminal & bash (phần gõ lệnh của Linux) và các "nền tảng" của 1 hệ thống Linux: glibc, gcc, baselayout, initrd, sysklogd/syslog-ng, make, etc và dĩ nhiên không thể thiếu phần lõi kernel của linux.
Mình lập ra topic này mong những ai muốn khám phá sẽ đi sâu hơn vào trong các ngóc ngách của Linux nói chung, mò mẫm tới các phần gây thích thú, và cuối cùng bước ra khỏi cuộc hành trình với 1 kho kiến thức rộng hơn sâu hơn về Linux.
Vì sao Gentoo/LFS?
Hai distro này có 1 đặc điểm chung, đấy là khi cài nó, bạn không có sự giúp đỡ của 1 trình GUI (graphical user interface) nào hết, mà bạn phải gõ lệnh từ 1 LiveCD (tức là cài Linux từ 1 hệ điều hành Linux có sẵn!) để xây dựng nên nền tảng của hệ điều hành của bạn.
Việc này có nhiều điểm rất có lợi: trong quá trình cài Linux, bạn sẽ phải đọc 1 quyển documentation online - quyển này (nhất là quyển của LFS) không những chỉ bạn phải cài gì, làm gì, mà còn hướng dẫn bạn vì sao bạn đang gõ những lệnh kia, giúp bạn hiểu ra được các mảnh puzzle của cả hệ điều hành Linux mà bạn đang xây dựng lên.
Hơn nữa, bạn sẽ làm quen được với cách dùng bash (hoặc 1 shell nào khác) - nó là thứ hiệu quả nhất trong công việc maintain hàng ngày 1 hệ thống Linux nói chung và server nói riêng. Nếu bạn đi tìm việc về quản trị mạng trong đó có hệ thống Linux mà chỉ biết dùng GUI thế nào thì bạn chắc chắn ..rớt!
Ngoài ra, cả Gentoo lẫn LFS đều là distro hoạt động source-based - khác với Debian, Ubuntu, etc. Thay vì download 1 cục file binary (giống như dùng Windows, download 1 file setup.exe có sẵn các file .exe với .dll cần thiết vậy!), bạn sẽ download 1 bộ source, tức mã nguồn. Sau đó, với sự giúp đỡ của distro (trong trường hợp Gentoo, sẽ dùng Portage) hoặc với sự giúp đỡ của kiến thức mà bạn học được sau khi cài (trường hợp LFS), bạn sẽ compile bộ mã nguồn đó ra thành file binary - và rồi mới cài vào. Hệ thống thực sự là "của riêng bạn", vì bạn có thể sửa bất cứ thứ gì trong mã nguồn trước khi cài vào.
Một điều đáng nói nữa là các hệ điều hành khác thường sẽ configure linux kernel cho bạn. Nhưng nếu bạn muốn tìm hiểu thêm về lõi linux hoặc muốn tự cài đặt lõi hợp với máy tính & linh kiện máy tính của riêng bạn, thì bạn phải tự cài đặt linux kernel.
Một ví dụ nhỏ: bạn có biết rằng Linux kernel có thể hoạt động với nhiều chỉ số preemption khác nhau không? Bạn có thể đặt nó là 250 Hz, 300 Hz, 1000 Hz... việc này khá là quan trọng! Nếu bạn chạy desktop, thì hiển nhiên bạn sẽ muốn kernel preempt với tần số 1000 Hz, vì bạn cần sử dụng nhiều chương trình cùng 1 lúc và sẽ multitask khá nhiều. Nhưng nếu bạn chạy server, nhiều khi bạn cần để cho 1 chương trình như MySQL hay Apache chạy hết công suất, như thế bạn sẽ cần đặt tần số thấp hơn, để các chương trình không bị ngưng nhiều quá..
Một ví dụ khác nữa là trong việc "harden" hệ thống của bạn. Harden ở đây tức là tạo 1 môi trường bảo mật tuyệt đối. Có thể bạn đã biết tới Buffer Overflow - một cách chiếm dụng máy tính khá phổ biến, cho phép người tấn công chạy thẳng bất cứ code gì nếu có thể exploit được thành công. Việc phòng chống attack này khá là quan trọng nếu bạn chạy server.. Bạn có thể dùng SSP - stack smashing protector của gcc (tóm tắt lại là gcc sẽ compile các binary với 1 "canary value" ngẫu nhiên trong phần stack frame, nếu sau khi execute mà check lại thấy là canary value này đã bị overwrite thì tức là ta có buffer overflow)
Phần lớn các kiến thức này chỉ có được nếu bạn thực sự mò vào sâu trong Linux... và không gì tốt hơn việc cài thử Gentoo hay LFS! Mình khuyên bạn nên bắt đầu bằng Gentoo và xài nó (yên tâm, có thể cài tiếp Xorg để có GUI sau này với Gentoo.. khá đơn giản).
Và nếu bạn thích eyecandy hay desktop cool, bạn cần biết rằng nếu cài Gentoo, vì đó sẽ là hệ thống của chính bạn, cho nên bạn có thể dùng KDE, Gnome, XFCE hay bất cứ Window Manager (WM) nào khác tùy ý!
Có khá nhiều các distro khác xuất phát ra từ Gentoo, như SabayonLinux, bạn có thể tham khảo để xem originality của từng Gentoo user tới mức nào.
Khởi hành
Đã đọc tới đây rồi thì còn chờ gì nữa
Đây là link tới Gentoo trước: http://www.gentoo.org
Và đây là LFS (for hardcore geeks only!) : http://www.linuxfromscratch.org/
Bạn nên download LiveDVD iso của Gentoo về (vào phần Handbook ở mục Get started bên trái để bắt đầu hành trình). Link nằm ở trong Downloads phía bên trái - nhớ chọn x86 trừ phi bạn muốn có 1 hệ điều hành 64bit.
Nghĩ rồi bạn sẽ thấy thích Gentoo
Mình hồi xưa có lập 1 topic khá dài bên Phần Mềm về Gentoo, có thu hút được 1 vài member, có viết khá nhiều thông tin bên đó... giờ lười viết lại nhưng có gì cứ hỏi tại đây, sẽ cố gắng trả lời!
Bạn nghĩ rằng bạn đã hiểu hết về Linux sau khi cài và dùng Ubuntu 1-2 tháng?
Bạn muốn tìm hiểu thêm về Linux, cách hoạt động cũng như sâu thẳm trong "bộ máy" cốt lõi của Linux?
Bạn cần 1 Linux để làm những việc như tạo dựng server riêng? Bạn cần tìm hiểu cách điều hành 1 dedicated server chạy Linux?
Vậy thì bạn hãy gỡ bỏ cái bloated distro Ubuntu ra, và xắn tay áo lên để cài Gentoo hoặc LFS. Đảm bảo sẽ có nhiều điều làm bạn hứng thú hơn với hệ điều hành mang mascot con chim cánh cụt này :
Đôi điều về mục đích của topic này
Phần lớn những ai đã sử dụng Linux đều cho rằng nó chỉ là 1 hệ điều hành "mới mẻ", mang tính cách "khác" so với Windows "bình dân". Họ cần 1 thứ khác người, nhưng Mac thì đắt quá không kham nổi, sửa theme Windows XP thì nhàm quá rồi, Vista hay Windows 7 mới ra thì buggy. Nghe nói có chú "Ubuntu" có vẻ có giao diện bắt mắt & đủ cool để phô trương được, cho nên thử qua..
Có thể bạn đã yêu ngay Ubuntu từ lần sử dụng đầu tiên. Nó có khác Windows nhưng không phải khó mò lắm, 4-5 ngày sau là quen. Hơn nữa, có 1 đống tool như Blender, GIMP, etc chạy trên Linux/Ubuntu cho nên nếu bạn không phải hardcore PC gamer, thì bạn vẫn bỏ qua được Win 1 thời gian.
Nhưng đừng phạm sai lầm nhiều người mắc phải! Ubuntu chỉ là 1 distro Linux, và nó thực sự là để thu hút beginner, những người chỉ muốn thử qua thứ mới mẻ chứ không có ý muốn tìm hiểu sâu. Phần lớn các distro Linux khác cũng theo xu hướng này - openSUSE, Freespire, etc...
Linux thực ra ẩn chứa 1 tiềm năng mạnh hơn Windows rất nhiều trong cốt lõi của nó, và bạn cần phải dùng 1 distro cho phép bạn xây dựng hệ điều hành Linux từ gốc đi lên mới hiểu hết được cách sử dụng Linux thành thạo. Phần lớn sức mạnh này nằm trong Terminal & bash (phần gõ lệnh của Linux) và các "nền tảng" của 1 hệ thống Linux: glibc, gcc, baselayout, initrd, sysklogd/syslog-ng, make, etc và dĩ nhiên không thể thiếu phần lõi kernel của linux.
Mình lập ra topic này mong những ai muốn khám phá sẽ đi sâu hơn vào trong các ngóc ngách của Linux nói chung, mò mẫm tới các phần gây thích thú, và cuối cùng bước ra khỏi cuộc hành trình với 1 kho kiến thức rộng hơn sâu hơn về Linux.
Vì sao Gentoo/LFS?
Hai distro này có 1 đặc điểm chung, đấy là khi cài nó, bạn không có sự giúp đỡ của 1 trình GUI (graphical user interface) nào hết, mà bạn phải gõ lệnh từ 1 LiveCD (tức là cài Linux từ 1 hệ điều hành Linux có sẵn!) để xây dựng nên nền tảng của hệ điều hành của bạn.
Việc này có nhiều điểm rất có lợi: trong quá trình cài Linux, bạn sẽ phải đọc 1 quyển documentation online - quyển này (nhất là quyển của LFS) không những chỉ bạn phải cài gì, làm gì, mà còn hướng dẫn bạn vì sao bạn đang gõ những lệnh kia, giúp bạn hiểu ra được các mảnh puzzle của cả hệ điều hành Linux mà bạn đang xây dựng lên.
Hơn nữa, bạn sẽ làm quen được với cách dùng bash (hoặc 1 shell nào khác) - nó là thứ hiệu quả nhất trong công việc maintain hàng ngày 1 hệ thống Linux nói chung và server nói riêng. Nếu bạn đi tìm việc về quản trị mạng trong đó có hệ thống Linux mà chỉ biết dùng GUI thế nào thì bạn chắc chắn ..rớt!
Ngoài ra, cả Gentoo lẫn LFS đều là distro hoạt động source-based - khác với Debian, Ubuntu, etc. Thay vì download 1 cục file binary (giống như dùng Windows, download 1 file setup.exe có sẵn các file .exe với .dll cần thiết vậy!), bạn sẽ download 1 bộ source, tức mã nguồn. Sau đó, với sự giúp đỡ của distro (trong trường hợp Gentoo, sẽ dùng Portage) hoặc với sự giúp đỡ của kiến thức mà bạn học được sau khi cài (trường hợp LFS), bạn sẽ compile bộ mã nguồn đó ra thành file binary - và rồi mới cài vào. Hệ thống thực sự là "của riêng bạn", vì bạn có thể sửa bất cứ thứ gì trong mã nguồn trước khi cài vào.
Một điều đáng nói nữa là các hệ điều hành khác thường sẽ configure linux kernel cho bạn. Nhưng nếu bạn muốn tìm hiểu thêm về lõi linux hoặc muốn tự cài đặt lõi hợp với máy tính & linh kiện máy tính của riêng bạn, thì bạn phải tự cài đặt linux kernel.
Một ví dụ nhỏ: bạn có biết rằng Linux kernel có thể hoạt động với nhiều chỉ số preemption khác nhau không? Bạn có thể đặt nó là 250 Hz, 300 Hz, 1000 Hz... việc này khá là quan trọng! Nếu bạn chạy desktop, thì hiển nhiên bạn sẽ muốn kernel preempt với tần số 1000 Hz, vì bạn cần sử dụng nhiều chương trình cùng 1 lúc và sẽ multitask khá nhiều. Nhưng nếu bạn chạy server, nhiều khi bạn cần để cho 1 chương trình như MySQL hay Apache chạy hết công suất, như thế bạn sẽ cần đặt tần số thấp hơn, để các chương trình không bị ngưng nhiều quá..
Một ví dụ khác nữa là trong việc "harden" hệ thống của bạn. Harden ở đây tức là tạo 1 môi trường bảo mật tuyệt đối. Có thể bạn đã biết tới Buffer Overflow - một cách chiếm dụng máy tính khá phổ biến, cho phép người tấn công chạy thẳng bất cứ code gì nếu có thể exploit được thành công. Việc phòng chống attack này khá là quan trọng nếu bạn chạy server.. Bạn có thể dùng SSP - stack smashing protector của gcc (tóm tắt lại là gcc sẽ compile các binary với 1 "canary value" ngẫu nhiên trong phần stack frame, nếu sau khi execute mà check lại thấy là canary value này đã bị overwrite thì tức là ta có buffer overflow)
Phần lớn các kiến thức này chỉ có được nếu bạn thực sự mò vào sâu trong Linux... và không gì tốt hơn việc cài thử Gentoo hay LFS! Mình khuyên bạn nên bắt đầu bằng Gentoo và xài nó (yên tâm, có thể cài tiếp Xorg để có GUI sau này với Gentoo.. khá đơn giản).
Và nếu bạn thích eyecandy hay desktop cool, bạn cần biết rằng nếu cài Gentoo, vì đó sẽ là hệ thống của chính bạn, cho nên bạn có thể dùng KDE, Gnome, XFCE hay bất cứ Window Manager (WM) nào khác tùy ý!
Có khá nhiều các distro khác xuất phát ra từ Gentoo, như SabayonLinux, bạn có thể tham khảo để xem originality của từng Gentoo user tới mức nào.
Khởi hành
Đã đọc tới đây rồi thì còn chờ gì nữa
Và đây là LFS (for hardcore geeks only!) : http://www.linuxfromscratch.org/
Bạn nên download LiveDVD iso của Gentoo về (vào phần Handbook ở mục Get started bên trái để bắt đầu hành trình). Link nằm ở trong Downloads phía bên trái - nhớ chọn x86 trừ phi bạn muốn có 1 hệ điều hành 64bit.
Nghĩ rồi bạn sẽ thấy thích Gentoo
Mình hồi xưa có lập 1 topic khá dài bên Phần Mềm về Gentoo, có thu hút được 1 vài member, có viết khá nhiều thông tin bên đó... giờ lười viết lại nhưng có gì cứ hỏi tại đây, sẽ cố gắng trả lời!
nếu nhớ không nhầm thì cái HAL là cái để xem xem hardware như thế nào để cái Xorg nó tự configure..với 1 vài service khác rely vào cái đấy..