Không giống như các bản phân phối Linux phổ biến khác như Ubuntu, Fedora, Mint, Debian, OpenSuse … dễ dàng cài đặt và sử dụng, để bắt đầu cài đặt ArchLinux lên máy tính và sử dụng cho công việc, giải trí … một cách ổn định bạn cần tự trang bị một lượng kiến thức nhất định về môi trường Linux.
Trong bài viết này, tôi sẽ đề cập đến một vài thông tin cần có trước khi tiến hành cài đặt và sử dụng bản phân phối ArchLinux
Tác động tới hệ thống bằng dòng lệnh
Do đặc thù triết lý của Arch Linux “Đơn giản, Tinh tế, Tùy biến và Hiệu quả”, bắt đầu từ quá trình cài đặt, bạn đã can thiệp vào hệ thống bằng dòng lệnh để thiết lập các cấu hình cần thiết cho hệ điều hành sắp sử dụng. Mặc dù Linux có rất nhiều lệnh nhưng thực tế bạn chỉ thường dùng khoảng 10 lệnh phổ biến để tinh chỉnh hệ thống của mình. Về sau, khi đã thành thạo và có kiến thức sâu về Linux, bạn cũng chỉ sử dụng khoảng 10 – 20 lệnh thường dùng mà thôi.
- Những lệnh cơ bản thường dùng: cp, mv, nano (hoặc vi), su (sudo), exit, ls, rm, cd, touch, cat (more), rename…
- Một số tổ hợp phím bấm hay dùng:
- Sử dụng nút lên, xuống để chọn lại lệnh đã sử dụng.
- Ctrl + C: để hủy lệnh đang thực hiện
- Ctrl + A: Đưa con trỏ về vị trí đầu tiên của dòng lệnh
- Ctrl + U: Xóa toàn bộ nội dung từ vị trí con trỏ đến đầu dòng lệnh
- Shift + PgUp và Shift + PgDn để cuộn lên và cuộn xuống cửa sổ dòng lệnh
Tìm hiểu thêm về các lệnh trên Linux tại đây
Lời khuyên: Đừng ngại sử dụng các công cụ dòng lệnh, nó cho phép bạn can thiệp rất sâu vào hệ thống một cách đơn giản và trực tiếp. Nếu phụ thuộc vào các công cụ sử dụng giao diện đồ họa trực quan, bạn sẽ không nắm bắt được cách thức hoạt động của hệ thống và quá trình hệ thống xử lý yêu cầu của bạn.
Cấu trúc hệ điều hành
Cấu trúc thư mục của môi trường Linux hoàn toàn khác so với môi trường Windows. Khác với hệ điều hành Windows, các hệ điều hành họ Linux được cấu trúc thống nhất theo cây thư mục, tất cả các vị trí, tập tin, thư mục … đều có một đường dẫn tuyệt đối từ thư mục gốc (root folder) được kí hiệu là “/”.
Ban đầu, bạn cần nắm được một số thông tin như sau:
- /home/user: thư mục người dùng, nơi chứa tài liệu, cấu hình cá nhân, dữ liệu của người dùng.
- /boot: thông tin khởi động hệ thống, rất hiếm khi bạn cần can thiệp vào đây.
- /etc: đây là nơi chứa các thiết lập, cấu hình của hê thống, tùy chọn khởi động, các dịch vụ hệ thống … tóm lại là có vị trí rất quan trọng, việc can thiệp vào đây cần hết sức cẩn thận và kiểm tra kỹ trước khi thuực hiện.
- /media, /mnt, /run: hệ thống tự nhận các phân vùng của ổ cứng và gắn các thiết bị gắn ngoài, các thiết bị plug & play, các phân vùng chưa gán vị trí …
- /usr: nơi chứa các phần mềm đã được cài đặt, các tài nguyên, biểu tượng, thư viện cần thiết để vận hành hệ thống.
- /var: bao gồm các tập tin nhật ký, dữ liệu bổ xung của phần mềm tạo ra trong quá trình thực thi…
- Ngoài ra còn một số thư mục khác trên thư mục gốc như các định danh về phần cứng, các tập tin lưu tạm… trong quá trình sử dụng bạn sẽ tìm hiểu thêm
Lời khuyên: Nắm bắt được cấu trúc thư mục và tập tin của hệ thống giúp hiểu hơn về cách thức hoạt động của nó cũng như kiểm soát được các sự kiện, vấn đề xảy ra trong quá trình vận hành để có phương án xử lý thích hợp.
Tìm hiểu thêm về cấu trúc tập tin và thư mục hệ thống trên Linux tại đây
Định dạng các phân vùng ổ cứng
Khác với Windows chỉ hỗ trợ một vài định dạng đĩa cứng phát triển riêng, trên Linux bạn có rất nhiều kiểu định dạng khác nhau cho từng yêu cầu của hệ thống, quan trọng nhất là các bản phân phối Linux hỗ trợ tốt việc đọc/ghi dữ liệu đối với các kiểu định dạng FAT, NTFS của Windows nên người dùng có thể yên tâm khi chuyển sang môi trường mới mà vẫn sử dụng được dữ liệu cũ của mình.
Các định dạng chính được hỗ trợ:
- Ext (Extended file system): là định dạng file hệ thống đầu tiên được thiết kế dành riêng cho Linux. Có tổng cộng 4 phiên bản, phiên bản mới nhất là Ext4 với rất nhiều ưu điểm và được khuyến cáo sử dụng cho hệ thống Linux.
- ReiserFS: có thể coi là một trong những bước tiến lớn nhất của phương pháp định dạng đĩa cứng trên Linux, lần đầu được công bố vào năm 2001 với nhiều tính năng mới mà Ext khó có thể đạt được. Nhưng đến năm 2004, ReiserFS đã được thay thế bởi Reiser4 với nhiều cải tiến hơn nữa. Tuy nhiên, quá trình nghiên cứu, phát triển của Reiser4 khá “chậm chạp” và vẫn không hỗ trợ đầy đủ các tính năng của nhân Linux. ReiserFS đạt hiệu suất hoạt động rất cao đối với những file nhỏ như tập tin log, các hệ dữ liệu sử dụng các tập tin nhỏ như email, CSDL.
- BtrFS (thường đọc là Butter hoặc Better FS): hiện tại vẫn đang trong giai đoạn phát triển bởi Oracle và có nhiều tính năng giống với ReiserFS. Nó hỗ trợ tính năng pool trên ổ cứng, tạo và lưu trữ snapshot, nén dữ liệu ở mức độ cao, chống phân mảnh dữ liệu nhanh chóng… được thiết kế riêng biệt dành cho các doanh nghiệp có quy mô lớn. Qua thực tế áp dụng và kiểm nghiệm cho thấy BtrFS chỉ đứng sau Ext4 đối với các hệ thống cá nhân nhưng có hiệu năng đặc biệt vượt trội trong các hệ thống lớn, nhất là các máy chủ lưu trữ và các hệ thống của doanh nghiệp
- XFS: được phát triển bởi Silicon Graphics từ năm 1994 để hoạt động với hệ điều hành riêng biệt của họ, và sau đó chuyển sang Linux trong năm 2001. Khá tương đồng với Ext4 về một số mặt nào đó, chẳng hạn như hạn chế được tình trạng phân mảnh dữ liệu, không cho phép các snapshot tự động kết hợp với nhau, hỗ trợ nhiều tập tin dung lượng lớn, có thể thay đổi kích thước tập tin dữ liệu… nhưng không thể tự chia nhỏ phân vùng khi đang hoạt động (shrink). Với những đặc điểm như vậy thì XFS khá phù hợp với việc áp dụng vào mô hình server media vì khả năng truyền tải file video rất tốt. Tuy nhiên, nhiều phiên bản distributor yêu cầu phân vùng /boot riêng biệt, hiệu suất hoạt động với các file dung lượng nhỏ không bằng được khi so với các định dạng file hệ thống khác, do vậy sẽ không thể áp dụng với mô hình database, email và một vài loại server có nhiều file log. Nếu dùng với máy tính cá nhân, thì đây cũng không phải là sự lựa chọn tốt nên so sánh với Ext, vì hiệu suất hoạt động không khả thi, ngoài ra cũng không có gì nổi trội về hiệu năng, quản lý so với Ext3/4.
- ZFS: hiện tại vẫn đang trong giai đoạn phát triển bởi Oracle với nhiều tính năng tương tự như Btrfs và ReiserFS. ZFS không tương thích với hệ thống nhân kernel của Linux, tuy nhiên vẫn hỗ trợ toàn bộ Linux’s Filesystem in Userspace – FUSE để có thể sử dụng được ZFS. Người sử dụng có thể gặp khó khăn khi cài đặt hệ điều hành Linux vì có yêu cầu FUSE và có thể không được hỗ trợ sẵn.
- JFS được IBM phát triển lần đầu tiên năm 1990, sau đó chuyển sang Linux. Điểm mạnh rất dễ nhận thấy của JFS là tiêu tốn ít tài nguyên hệ thống, đạt hiệu suất hoạt động tốt với nhiều file dung lượng lớn và nhỏ khác nhau. Các phân vùng JFS có thể thay đổi kích thước được nhưng lại không thể chia nhỏ phân vùng khi đang hoạt động (shrink)như ReiserFS và XFS, tuy nhiên nó lại có tốc độ kiểm tra ổ đĩa nhanh nhất so với các phiên bản Ext.
- Swap: có cơ chế hoạt động khá khác biệt với các định dạng khác, thay vì sử dụng để lưu trữ dữ liệu, nó được sử dụng dưới một dạng bộ nhớ ảo và không có cấu trúc file hệ thống cụ thể. Không thể kết hợp và đọc dữ liệu được, nhưng lại chỉ có thể được dùng bởi nhân của hệ điều hành để ghi thay đổi vào ổ cứng. Thông thường, nó chỉ được sử dụng khi hệ thống thiếu hụt bộ nhớ RAM hoặc chuyển trạng thái của máy tính về chế độ Ngủ đông (Hibernate).
Như bạn đã thấy, đối với các hệ thống cá nhân thì định dạng Ext4 gần như là sự lựa chọn tối ưu nhất. Thông thường chúng ta không thể có được một hệ thống tối ưu ngay từ lần cài đặt đầu tiên, ban đầu bạn nên lựa chọn định dạng Ext4 cho toàn bộ hệ điều hành để có một hệ thống hoạt động ổn định, tránh mất dữ liệu.
Lời khuyên: Kết hợp các định dạng khác nhau cho từng tác vụ và theo cấu trúc thư mục hệ thống sẽ nâng cao hiệu suất của hệ thống một cách đáng kể bằng cách tận dụng các lợi thế của từng loại định dạng dữ liệu một cách tối ưu.
Các môi trường đồ họa
Trên Linux có rất nhiều môi trường đồ họa khác nhau, từ đơn giản tới đồ sộ và phức tạp tương ứng với yêu cầu về phần cứng và hiệu năng hoạt động. Không có tiêu chi nào để đánh giá và đề nghị người dùng nên sử dụng một môi trường đồ họa nào đó bởi vì nó mang tính cá nhân rất nhiều, bạn có thể thể thấy thích giao diện và cách thức xử lý sự kiện của một môi trường đồ họa nào đó không có nghĩa là người khác cũng thích giống bạn. Bản thân một một bản phân phối Linux đều sử dụng một môi trường đồ họa đặc trưng hoặc có các phiên bản riêng như Ubuntu sử dụng Unity, Xubuntu sử dụng XFCE, Kubuntu sử dụng KDE, Fedora sử dụng Gnome3, … riêng đối với ArchLinux bạn phải tự chọn một môi trường đồ họa cho riêng mình. Vấn đề này gây khó khăn rất nhiều cho những mới bắt đầu với Arch Linux bởi nhiều nguyên nhân khác nhau như: chưa có cái nhìn tổng thể về các môi trường đồ họa, yêu cầu về hệ điều hành bao gồm cả công việc và giải trí, phần cứng không phù hợp hoặc không đáp ứng được … Để có thể lựa chọn đúng môi trường đồ họa cho mình bạn cần phải có các trải nghiệm nhất định về các môi trường đồ họa nói trên bằng cách dùng thử, đọc các tài liệu đánh giá về chúng …
Lời khuyên: Hãy cài đặt các phân nhánh của Ubuntu trên máy ảo bao gồm Ubuntu, Xubuntu, Lubuntu, Kubuntu và Fedora để trải nghiệm bốn môi trường đồ họa phổ biến nhất, ngoài ra bạn nên thử nghiệm với Openbox, Fluxbox, E17… để có thêm cái nhìn tổng quan và phong cách cũng như triết lý hoạt động của chúng. Đối với các môi trường đồ họa ít gặp bạn có thể tìm các bản phân phối trên trang http://distrowatch.org. Đừng ngại thay đổi nếu môi trường đồ họa đang dùng khiến bạn khó chịu hoặc cảm thấy không phù hợp, hãy thử nghiệm với một môi trường đồ họa khác tốt hơn.
Trong một bài trước đây, tôi có đề cập tới sự lựa chọn của tôi là XFCE bởi vì so với các môi trường đồ họa đầy đủ khác như Gnome, KDE, Unity nó có giao diện truyền thống thay vì hệ thống HUB như Unity, cơ chế “Ứng dụng trung tâm” như GNOME3…, XFCE yêu cầu phần cứng vừa phải, có khả năng can thiệp và tùy biến sâu, các tính năng chính được xây dựng như các thành phần mở rộng, dễ dàng loại bỏ để thay thế bằng các phần mềm riêng biệt có nhiều tính năng hơn.
Tổng kết
Các thông tin tôi đề cập trong bài viết này cần (không đủ) để bạn có thể bắt đầu với ArchLinux, từ khâu cài đặt đến quá trình sử dụng, mặc dù ban đầu sẽ tương đối khó khăn nhưng sau một vài lần thử nghiệm và tìm hiểu tôi tin rằng bạn sẽ nhận ra rằng “Linux không hề phức tạp“.
Nên thử nghiệm trên máy ảo và sao lưu các dữ liệu quan trọng trước khi bắt đầu quá trình thay đổi, nên để lại Windows để có thể dễ dàng quay lại, tất cả các bản phân phối của Linux đề hỗ trợ khởi động song song với Windows, thậm chí có thể cài đặt bên trong Windows như một phần mềm.
Bài hay và chi tiết quá. Thanks tác giả!
cám ơn anh về bài viết … hiện tại em đang làm đồ án thực tập tốt nghiệp về arch linux , mong anh giúp đỡ em 😀
em là newbie arch linux 😀