Làm quen hệ điều hành linux

Mở đầu

Linux là tên gọi chung các biến thể hệ điều hành [distros] sử dụng nhân [kernel] Linux do Linus Torvalds cải tiến từ Unix. Đã có thời kỳ 1995 - 2012: Linux và Windows đối đầu nhau rất dữ dội. Steve Ballmer từng nói rằng "Linux như bệnh ung thư". Đối với thị phần máy chủ Internet, thì Linux phát triển nhanh và chưa có dấu hiệu dừng lại. Bài viết này sơ qua chút xíu về Linux và cách thức làm quen - thực hành Linux.
Linus Torvalds

Những distros nổi tiếng gồm có:

  • Ubuntu: ngon bổ rẻ, dễ học, dễ dùng, số lượng ứng dụng desktop cực lớn. Chạy khá ổn định, cập nhật phiên bản rất nhanh. Ubuntu có công nghệ Advanced Packaging Tool [apt] để quản lý thư viện, phần mềm... Từ Ubuntu lại phái sinh ra nhiều biến thể như Ubuntu Server, Ubuntu Desktop, Xbuntu, Kbuntu
  • RedHat: dành cho doanh nghiệp, có thu phí bảo trì, hỗ trợ.
  • CentOS: bản clone của RedHat nhưng đóng gói lại và mở mã nguồn
  • Linux Mint biến thể từ Ubuntu, bỏ giao diện Unity, thêm gói hỗ trợ mp3, video decoding. 
  • Debian: ổn định.
  • Open Suse: hệ điều hành Linux do người Đức phát triển, ổn định tốt đã từng được Novell mua lại, sau thấy khó kiếm tiền quá lại bán cho Attachmate.
  • Arch: nhỏ gọn, tốn ít tài nguyên
  • Elementary OS: biến thể rút gọn từ Ubuntu, giao diện trong sáng, đẹp. Elementary dùng làm hệ điều hành desktop rất tốt. 

Nguồn "Linux Command Line and Shell Scripting Bible 3rd"

Cấu trúc một hệ điều hành Linux
Linux gồm có :

  1. Phần lõi / nhân [Linux Kernel]. Lõi có thêm các thư viện thiết bị [device driver]. Có 2 cách để bổ xung device driver: một là nhúng luôn và biên dịch cùng với lõi, hai là biên dịch device driver rồi nạp nó khi cần thiết. Cách 2 ngày càng phổ biến. Trong khi cách 1 thích hợp khi tạo ra các hệ Linux nhúng rất nhỏ gọn chạy trên phần cứng hết sức đặc thù.
     
  2. GNU System Utilities gồm nhiều phần mềm nhỏ khác nhau để xử lý file/folder, soạn thảo văn bản text, quản lý tiến trình [process]... Shell là một utility cực kỳ quan trọng để thực thi hoặc dịch đoạn mã shell script tự động hóa nhiều công việc quản lý Linux. Phổ biến nhất là Bash shell [hay Bourne shell]. Mã viết trên Bash sẽ gọi là Bash script. Có rất nhiều phần mềm máy chủ phục vụ mục đích cụ thể  như web server, mail server, ftp server, database server. Người quản trị sẽ phải tự cài đặt, cấu hình, nâng cấp. Việc cấu hình thường sử dụng file config chứ không dùng giao diện, ban đầu khá phức tạp rối rắm, khiến nhiều người nản.
     
  3. Windows Management Software: là những thư viện, phần mềm đồ họa. Khác với Windows hay MacOSX luôn chỉ có một hệ thống đồ họa thống nhất, thư viện giao diện đồ họa trên Linux rất đa dạng và tùy biến. Căn bản nhất là X Windows là thư viện quản lý, vẽ giao diện cửa sổ. Trên X Windows có các thư viện đồ họa có nhưng triết lý, phong cách khác nhau là GNOME, KDE. Tiếp theo là những biến thể: đơn giản, thậm chí là tối giản như XCFE, FluxBox, một số thì màu mè Ubuntu Unity, Cinamon [GTK+]... Về cơ bản thì mình không mấy quan tâm đến những thứ giao diện màu mè này. Trải nghiệm của Linux Desktop đều không thể bằng MacOSX hay Windows 7. Nhất là đối với người dùng cuối, không phải dân chuyên máy tính. Hơn nữa hệ điều hành khi khởi động giao diện sẽ mất ngay vài trăm Mb bộ nhớ, và tốn khoảng 2 - 10% tài nguyên CPU để vẽ, cập nhật giao diện. 

    Elementary OS: giao diện dễ dùng

     
  4. Application Software trên Linux rất đa dạng: trình duyệt Internet, công cụ văn phòng.... 

Dùng Linux vào việc gì?

  1. Để học và hiểu sâu về hệ điều hành. Windows thì quá đóng, và giao diện của nó đã che hết những thứ hay ho trong hệ điều hành. Muốn thực sự trở thành một lập trình viên chuyên nghiệp, hãy dành thời gian hiểu bản chất hệ điều hành vận hành như thế nào? Kernet, boot, process, thread, memory [heap, stack, swap memory], file, folder security, networking...
  2. Nếu bạn học lập trình Java, C/C++, Node.js, PHP, Rails tôi nghĩ rằng Linux là hệ điều hành bạn nên thử nghiệm, bạn sẽ học hỏi được nhiều và dễ dàng chuyển từ môi trường phát triển sang môi trường thật hơn.
  3. Dùng làm máy chủ. Theo Netcraft trên 55% máy chủ trên thế giới sử dụng Linux. Hiện nay máy chủ ảo cá nhân [Virtual Private Server] phí thuê tháng rất rẻ, chỉ 5-10$ bạn đã có một máy cấu hình 1 core CPU, 1 GRAM, 30G ổ cứng SSD.
  4. Để vọc vạch chơi: cài Linux Mint làm HTPC [Home Theater PC], chỉ cần 2GRAM, CPU Inten Core i3 là xem phim HD khá tốt. Thậm chí làm một máy tính tý hon sử dụng Raspberry PI 2, xem phim, tải film qua Torrent vừa tiết kiệm không gian, tiết kiệm điện, mà lại rẻ.
    Raspery PI trong vỏ nhôm tản nhiệt

Làm quen và thực hành Linux sao cho hiệu quả?

  1. Chơi đã. Đừng đặt nặng các mục tiêu gì to tát. Đầu tiên cài được Linux ảo hóa trong hệ điều hành bạn vẫn dùng. Cài VirtualBox hoặc VMWare Workstation [trên Windows] hay VMWare Fusion [trên Mac] để chạy máy ảo. 
  2. Nghịch giao diện của nó trong vài hôm, đảm bảo bạn sẽ chán, rồi chuyển qua học lệnh Bash. Hãy dùng Terminal trên hệ điều hành chính kết nối SSH vào máy chủ Linux ảo hóa. Như vậy bạn không phải chuyển đổi màn hình giữa hệ điều hành chính và hệ Linux ảo hóa. Bạn sẽ bỏ dần phụ thuộc vào giao diện, chuyển sang dùng lệnh Bash.
  3. Kiếm một quyển sách tốt về Linux để học. Tôi chọn 2 quyển "Linux Bible 2nd" của Christopher Negus  và quyển "Linux Command Line and Shell Scripting Bible 3rd" của Richard Blum and Christine Bresnahan.
  4. Book mark vài trang web tips tricks hay về Linux như //www.cyberciti.biz/.
  5. Thực hành mỗi ngày một ít. Thay vì đọc lý thuyết, dùng ngay vào thực tế: dựng một web server, một file server, hệ thống quan sát camera rồi streaming qua Internet..
  6. Viết blog chia sẻ lại kinh nghiệm khi làm việc với Linux

Bài Viết Liên Quan

Chủ Đề