Saturday, December 24, 2016

Vì sao tôi sử dụng Macbook?

Việc lựa chọn hệ điều hành nào để phục vụ công việc và giải trí tuỳ thuộc vào sở thích và đặc thù công việc của mỗi người. Bài viết dựa trên quan điểm cá nhân của một người làm trong lĩnh vực An ninh thông tin(ANTT), đã từng xài qua Window(XP, Vista, 7, 8), Linux(Ubuntu, Arch Linux), và sau cùng là Mac OSX.

0x01 Windows

Thời còn sinh viên thì tôi thích tìm tòi học hỏi, nên những thứ bó buộc của Microsoft(M$) tôi rất bất bình, từ ngày "mặt trời chân lý chói qua tim"(GNU-OSS) thì lúc đó mở ra cho tôi một cánh cửa với rất nhiều thứ mới lạ => Từ đó tôi bắt đầu thích những thứ minh bạch và rõ ràng 😁.

Một sự thật không thể chối bỏ rằng hầu hết mọi người tiếp xúc với IT ở Việt Nam từ những năm 2000 đều bắt đầu từ hệ điều hành Windows - Cá nhân tôi thì bắt đầu từ game Counter Strike 1.3 và Warcraft III(và các custom map).

Sự phổ cập của hệ điều hành(OS) Window là cơ hội cho hầu hết mọi người trên thế giới tiếp cận với máy tính. Và OS mang lại thành công nhất cho M$ hiện nay vẫn là Windows XP.

  • Mặc dù Windows XP đã hết hạn hỗ trợ kỹ thuật từ ngày 8/8/2014 nhưng những hệ thống máy tính của các doanh nghiệp trên thế giới(đặc biệt ở Việt Nam) vẫn chiếm một tỷ lệ lớn.  
  • Hầu hết các phiên bản Windows được cài đặt trên máy tính ở Việt Nam(VN) thời kỳ đầu đều là bản lậu. Đôi khi các bản windows lậu trên thị trường thường được khuyến mãi thêm backdoor 
  • Sự bền bỉ và ổn định và không đòi hỏi cấu hình phần cứng cao của Windows XP luôn là một điều doanh nghiệp và các cá nhân đánh giá cao. 
Thực sự đối với tôi Windows Vista một thất hại thảm bại của M$, vì nó quá nặng nề không tương thích nhiều phầm mềm phổ biến => Đối với enduser hay là gamer thì điều này cực kỳ tồi tệ. Khi Windows 7 được ra mắt thì có rất nhiều điểm cải thiện như: Hiệu năng, tương thích phần mềm, nhưng nó vẫn còn nhiều vấn đề chưa được giải quyết triệt để.
  • Ưu điểm: 
    • Phổ biến và nhiều ứng dụng
    • Dễ dàng sử dụng phần mềm lậu với key hoặc keygen :D => Cá nhân tôi rất hiếm khi xài patch
    • Dễ dàng build một laptop hay PC với các cấu hình tuỳ theo nhu cầu với mức giá tốt. 
    • Ngày càng hoàn thiện và gia tăng độ bảo mật
  • Khuyết điểm: 
    • Thời gian update quá lâu và dễ bị lỗi => Ai mà đang có việc gấp mà cần tắt laptop, nhưng bất chợt Windows hiện cái bảng update thì đúng là một cực hình. 
    • Sau một thời gian sử dụng thì tốc độ xử lý chậm đi rõ rệt(trước đây thì khoảng 3 tháng thì tôi lại phải cài mới Windows) Đồng thời khi cài đặt lại thì tôi mất khá nhiều thời gian để cài đặt một máy tính hoàn chỉnh(Cài các app mới nhất, crack các app ...) để làm việc. 
    • Yêu cầu phần cứng khá cao đặc biệt là các ứng dụng cho doanh nghiệp 
    • Các malware từ trước tới nay hầu hết đều nhắm vào nền tảng này. 
    • Mã nguồn đóng và phải trả phí. 
  • Các phần mềm cài đặt thêm: Thông thường sau khi cài đặt Windows xong tôi thường gỡ bỏ các thành phần mặc định không sử dụng(Game, IE, Gadgets ...) sau đó mới cài đặt các phần mềm cần thiết. 
    • Ccleaner => Phần mềm dọn dẹp rác trên windows và sửa lỗi registry. Ngoài ra tôi thấy Kaspersky PC Cleaner cũng là một tool hay. 
    • LibreOffice => Bộ phần mềm văn phòng mã nguồn mở và miễn phí. Dĩ nhiên là LibreOffice không thể so sánh với M$ Office về mặt tính năng nhưng nó đáp ứng được hết nhu cầu văn phòng thông thường.  
    • ChromeFirefox => Mỗi trình duyệt đều có ưu điểm riêng nên tôi dùng cả 2 cho các mục đích khác nhau. 
    • Unikey => Chương trình gõ tiếng việt miễn phí - Tôi thấy hiện nay hầu hết các bản unikey được cài đặt thì đều đã được mod lại hoặc tải từ nguồn không chính thống, điều này gây ra rất nhiều rủi ro cho máy tính của người dùng.  Ngoài ra các bạn có thể chọn GoTiengViet nếu thích. 
    • VLC hoặc K-lite mega codec => Chương trình xem phim mọi định dạng. 
    • Skype => Chương trình chat chit, call meeting. 
    • 7-zip => Chương trình giải nén các loại file phổ biến(miễn phí và mã nguồn mở)
    • Ngoài ra còn nhiều phần mềm khác nhưng tôi thích xài mặc định của Windows hoặc add-on của các phần mềm(Antivirus, PDF, ...)

0x2 Linux 

Lý do tôi sử dụng hệ điều hành này vì nghe nói "Linux là hệ điều hành dành cho hacker" và cái giá phải trả khi lần đầu cài đặt linux là toàn bộ dữ liệu bị xoá xạch - vì hồi đó không biết khái niệm "Định dạng ổ cứng" chính là format 😓
Có rất nhiều bản phân phối(distro) linux được xây dựng cho từng đối tượng với nhu cầu khác nhau. Tôi tạm chia ra làm 3 dạng bản phân phối đó là: 
Linux là một hệ điều hành vô cùng mạnh mẽ và linh hoạt không những cho server mà còn cho cả enduser. Dĩ nhiên tuỳ theo trình độ và ý tưởng của người dùng mà tận dụng các sức mạnh của linux sẽ khác nhau. Cá nhân tôi thì tôi thích nhất trên linux là command line, secure connect(SSH, VPN) và firewall mặc định(iptables/netfilter). 

Command line trên Linux mạnh mẽ và dễ dùng đến mức M$ phải đưa nó lên linux - Mặc dù trước đó M$ cũng đã xây dựng Power Shell nhưng nó quá phức tạp và khó sử dụng.   

Thường thì mọi người hay nghĩ iptables chỉ dành cho môi trường doanh nghiệp nhưng nếu biết sử dụng cho nhu cầu cá nhân thì đây là một firewall cực tốt(Tôi sẽ hướng dẫn viết rule sau 😁). VD: Tôi có thể dễ dàng điều chỉnh các kết nối email đều phải đi qua VPN, Chặn hết các kết nối gửi dữ liệu ra bên ngoài quá nhiều(Trường hợp máy tính bị dính malware đánh cắp thông tin hoặc là zombie), Tự động ngắt kết nối đến tuoitre.vn, twitter.com, youtube.com ... nếu truy cập liên tục trong 2 tiếng(bớt thời gian xem mấy thứ linh tinh) ... 

  • Ưu điểm: 
    • Compiz => Giao diện đẹp lung linh của Linux 
    • Cơ chế phân quyền chặt chẽ và ít nguy cơ nhiễm malware 
    • Dễ dàng cấu hình, biên dịch các phần mềm cần thiết phù hợp với nhu cầu cá nhân. 
    • Rất nhiều phần mềm hỗ trợ các công việc trong mảng an ninh thông tin và quản trị server 
    • Mã nguồn mở và miễn phí => Mọi người có thể đọc hoặc điều chỉnh code của các ứng dụng theo nhu cầu cá nhân. 
    • Dễ dàng tự động hoá công việc với cronscript 
    • Log rất chi tiết và đầy đủ => Dễ dàng debug và tìm nguyên nhân khi có sự cố. 
  • Khuyết điểm: 
    • Phần đồ hoạ đẹp đẽ không tương thích với phần command line mạnh mẽ 
    • Dễ bị treo và update quá nhiều
    • Có quá nhiều phiên bản với các nhu cầu khác nhau => khó để lựa chọn sao cho phù hợp. 
    • Số lượng game và ứng dụng đặc thù cho một số lĩnh vực khá hiếm. 
    • Khi cài đặt một phần mềm thì các gói phần mềm yêu cầu khác nhiều và dễ gây lỗi. 
  • Các phần mềm cài đặt thêm: Thông thường thì khi cài đặt các bản linux đã đầy đủ hết các phần mềm. Thông thường tôi sẽ cài các phần mềm tối thiểu, sau đó cần cài thêm gì thì chỉ cần gõ vài dòng lệnh. 
    • Chrome
    • Skype 
    • VLC 
    • 7-zip 
    • Virtual Box => Phần mềm tạo máy ảo để thử nghiệm malware hoặc cài OS khác 
    • ClamAV hoặc AVG Anti-Virus

0x3 MacOS

macOS được xây dựng trên nền unix nên nếu bạn đã quen với linux thì hoàn toàn sử dụng thành thạo macOS. Và do Apple vừa thiết kế phần cứng và phát triển OS nên các máy tính chạy MacOS khá ổn định(không tính trường hợp hackintosh). Điểm khác biệt trên Mac OSX so với Linux là firewall sử dụng pf (trước đây là ipfw) thay cho iptables/netfilter. Đây cũng là loại firewall mặc định của bản phân phối linux firewall chuyên dụng pfSense. Cách sử dụng PF dạng command line cũng tương tự như iptables. 
Mặc dù thời gian gần đây Apple có public source của macOS cho cộng đồng nhưng macOS vẫn chưa hoàn toàn trở thành Open Source đúng nghĩa. 
  • Ưu điểm: 
    • Hệ điều hành ổn định dễ dàng "reset to factory" và viết script tự động cài đặt các tool cần thiết. 
    • Có đồng bộ hoá hình ảnh, danh bạ, mật khẩu, cài đặt, ... Và backup đầy đủ
    • Nhiều phần mềm cực kỳ hữu ích và đồng bộ với *nix
    • Có thể tuỳ biến nhiều ứng dụng theo ý thích 
    • Cơ chế phân quyền chặt chẽ và ít bị nhiễm malware
    • Thời lượng pin khá tốt
    • Phần cứng thiết kế đẹp và bền bỉ. 
  • Khuyết điểm: 
    • Càng ngày giao diện càng "gay hoá"
    • Các hiệu ứng chuyển đổi khá ít 
    • Các phụ kiện dễ hư hỏng và chi phí để thay thế quá mắc 
    • Ngày càng rời xa nhu cầu của người dùng 
    • Một số ứng dụng viết không tốt sẽ chiếm dung lượng RAM sau đó là tạo file swap đến khi đầy ổ cứng thì thì sẽ crash luôn cả OS(Tiêu biểu có safari).   
  • Các phần mềm cài thêm:

0x04 Tổng kết 

Tóm lại tiêu chí khi lựa chọn một máy tính để làm việc và sử dụng hàng ngày phải có các tiêu chí sau: 
  • OS Hoạt động ổn định và giao diện đẹp
  • Cấu hình mạnh mẽ, thiết kế đẹp và thời lượng pin tốt 
  • Dễ dàng cấu hình và điều chỉnh các thành phần của hệ thống 
  • Command line
  • Log đầy đủ 
  • Hỗ trợ backup cloud và tự động hoá công việc với script => Khi máy tính gặp sự cố có thể nhanh chóng restore hoặc chuyển sang một máy tính mới tiếp tục làm việc. 
  • Đầy đủ các phần mềm hỗ trợ công việc. 
Xét trên các khía cạnh đó thì đối với tôi Macbook với macOS đi kèm thoả mãn nhiều yêu cầu nhất nên tôi lựa chọn - Có thể các lập trình viên lại có lý do khác. Tuy nhiên khi ra mắt Macbook Pro mới đợt vừa rồi thì tôi cảm thấy Apple càng ngày càng đánh mất sự sáng tạo và dần trở thành những "thương lái bất lương". Thế nên trong các năm tới MacOS chưa chắc đã là sự lựa chọn thông minh. Khi mà M$ ngày càng sáng tạo và hoàn thiện các sản phẩm của mình như: Surface Book hay Surface Studio. Và Linux đang phát triển thân thiện với Enduser hơn.