Thông báo copy blog

Do các blog WordPress, Blogspot hiện nay đều bị một số nhà cung cấp dịch vụ Internet chặn (VNPT, FPT) nên tôi copy toàn bộ blog này sang địa chỉ mới là http://zxc232.blog.com.

Địa chỉ mới này có thể vào bằng các đường truyền VNPT, FPT bình thường.

Bạn đọc dùng Viettel có thể tiếp tục vào blog cũ do không bị chặn.

Hai site wordpress.com và blog.com đều dùng phần mềm nguồn mở WordPress để quản lý blog nên việc copy khá đơn giản: từ wordpress.com xuất ra file backup của blog bằng công cụ Export; tại blog.com dùng công cụ Import để nhập file backup đó vào và ta có blog mới với các bài viết và comment giống hệt blog cũ.

Nội dung quản lý blog của hai site trên gần như giống nhau, kể cả các theme. Tuy nhiên không tránh khỏi có những điểm khác biệt, ví dụ cơ chế chặn spam comment.

Từ nay trở đi, hai blog zxc232.wordpress.com và zxc232.blog.com sẽ được cập nhật bài viết mới đồng thời như nhau.Riêng các comment mới thì chỉ xuất hiện trên blog nào bạn viết vào đó.


Về lựa chọn, ứng dụng phần mềm tự do nguồn mở trong ngành giáo dục.

Aside

Về lựa chọn, ứng dụng phần mềm tự do nguồn mở trong ngành giáo dục.

Phan Vĩnh Trị

(Viết theo đề nghị của anh Nguyễn Vũ Hưng, VietLUG theo yêu cầu của anh Quách Tuấn Ngọc).

I. Tình hình chung

Nói đến ứng dụng phần mềm tự do nguồn mở (dưới đây viết tắt là PMNM) cần phải chia thành 2 lĩnh vực: các phần mềm máy chủ và các phần mềm trên máy để bàn.

Trong lĩnh vực phần mềm máy chủ, nhất là các máy chủ trên Internet, đã từ lâu PMNM giữ địa vị thống trị. Ví dụ: các webserver, mailserver trên Internet có khoảng 70% dùng PMNM (xem); các máy chủ Facebook (với khoảng 1 tỷ người dùng), máy chủ Google, Yahoo đều dùng PMNM (tài liệu đã dẫn ở trên). Trong lĩnh vực tài chính-ngân hàng, nhất là thị trường chứng khoán, đang có xu hướng ồ ạt chuyển sang dùng Linux (xem).

Các máy chủ Internet, máy chủ dùng trong tài chính-ngân hàng có yêu cầu rất cao về tính năng, độ ổn định, khả năng chịu tải lớn, an ninh-bảo mật, v.v… Việc PMNM được dùng nhiều như vậy đủ chứng minh năng lực kỹ thuật của nó trong một môi trường khắc nghiệt nhất.

Trong lĩnh vực máy để bàn, PMNM có những bước trưởng thành vượt bậc trong khoảng 10 năm trở lại đây sau khi bản Linux Ubuntu ra đời. Trước đây 10 năm, cài được 1 bản Linux trên máy để bàn và gõ được tiếng Việt cực kỳ vất vả, các phần mềm ứng dụng phổ biến như OpenOffice cũng còn thua xa Microsoft Office. Nhưng đến hiện nay, có thể khẳng định trong phạm vi ứng dụng văn phòng, PMNM hoàn toàn có thể thay thế các loại phần mềm nguồn đóng.

Bằng chứng? Chỉ xin lấy vài ví dụ tiêu biểu:

  1. Thành phố Munich (Đức), quyết định chuyển hệ thống IT với 14.000 máy trạm sang PMNM. Đến năm 2011, đã có 9000 máy trạm được cài Linux. Thành phố quyết định bổ xung ngân sách, nâng số máy dùng Linux lên 15.000 máy vào năm 2013 (xem). Hệ thống IT của Munich rất phức tạp, ứng dụng đã đi vào chiều sâu với hơn 300 ứng dụng, chỉ riêng bộ Office có 21.000 macro, template và form nhưng vẫn chuyển đổi sang PMNM thành công. Điều đó đủ nói lên tính khả thi của việc ứng dụng PMNM trong quản lý nhà nước, nhất là khi dùng cho những nơi chỉ soạn văn bản, bảng tính, duyệt web là chính như ở nước ta hiện nay.
  2. Trong giáo dục cũng đã có những dự án lớn chuyển sang dùng PMNM. Năm 2009, 62.000 trường học tại Nga bắt đầu chuyển sang dùng Linux (xem). Cũng năm 2009, Brazin sẽ trang bị máy tính Linux tại 53.000 phòng máy tính phục vụ cho 52 triệu học sinh (xem). Hai ví dụ này cho thấy PMNM hoàn toàn có khả năng dùng được trong ngành giáo dục.

II. Chọn bản Linux nào dùng cho giáo dục?

Hiện nay, có khoảng hơn 300 bản Linux đang được phát triển (xem).

Để dùng trong giáo dục, ta chỉ xét đến các bản Linux phổ thông, dành cho quảng đại người dùng. Các bản Linux đó bao gồm hệ điều hành Linux và các phần mềm ứng dụng cơ bản (trình duyệt, thư điện tử, ứng dụng văn phòng, ….) được tích hợp sẵn.

II.1-Các đặc điểm cần lưu ý về ngành giáo dục:

  1. Đối tượng sử dụng: học sinh, sinh viên và các thầy cô giáo từ trung học đến đại học với tuổi tác, trình độ, kỹ năng, nhu cầu trải ra trên một phổ rất rộng và phân bổ trên một phạm vi địa lý rộng nhất trong các ngành: từ tỉnh thành tới các vùng sâu, vùng xa.
  2. Tình trạng trang thiết bị tin học: máy tính, máy in và các thiết bị ngoại vi khác trong các trường đa dạng, nhiều cấu hình, mẫu mã và tuổi khác nhau.
  3. Giai đoạn áp dụng: giai đoạn đầu tiên khi chuyển từ dùng các phần mềm Windows sang PMNM. Đây là đặc điểm quan trọng vì sau này khi đã quen dùng thì việc chuyển từ bản Linux nọ sang bản Linux kia không còn quá phức tạp, cũng tương tự như việc chuyển giữa các phiên bản Windows, MS Office hiện nay.

II.2-Chọn bản Linux nào?

Các bản Linux phổ thông phổ biến nhất hiện nay và miễn phí gồm: Linux Mint, Ubuntu, Fedora, OpenSUSE, Debian (theo xếp hạng trên site Distrowatch.com cho 12 tháng gần đây). Mandriva cũng là một bản Linux tốt, thân thiện, được dùng trong hai dự án giáo dục lớn đã nói ở trên, nhưng hiện nay công ty Mandriva đang gặp khó khăn, phải tái cơ cấu lớn. Debian phổ biến trong giới chuyên môn, dùng làm nền để xây dựng một số bản Linux khác (trong đó có Ubuntu), rất ít dùng trực tiếp cho người dùng cuối mặc dù rất ổn định.

Dưới góc độ người dùng cuối, các bản Linux trên đều khá giống nhau về các tính năng cơ bản. Do đó tính năng không phải là lý do chính khi lựa chọn. Nên chọn Ubuntu vì các lý do sau đây:

  1. Ubuntu phổ biến nhất tại Việt nam (vd: Viettel hiện đã dùng nó trên khoảng 10.000 máy). Do đó, sự hỗ trợ của cộng đồng người dùng là thuận lợi nhất, tài liệu hướng dẫn tiếng Việt tương đối đủ so với các bản khác, diễn đàn người dùng Việt đông và năng động. Kinh nghiệm sử dụng (nói riêng: kinh nghiệm và kỹ năng kết nối với các thiết bị ngoại vi) phong phú. Đó là những yếu tố quyết định đóng góp vào thành công khi triển khai đại trà, trên phạm vi lớn và do đó cũng là yếu tố quyết định nên chọn Ubuntu (Windows hiện nay triển khai rất thuận lợi cũng là nhờ những yếu tố này).

  2. Ubuntu cũng là bản Linux phổ biến nhất trên thế giới hiện nay mặc dù tuổi đời trẻ nhất trong các bản Linux hàng đầu. Điều này khẳng định chất lượng về nhiều mặt của nó trong đó có tính dễ sử dụng.
    Hai điểm này phù hợp với các đặc điểm của ngành giáo dục đã nói ở trên.

  3. Trong 3 sản phẩm thương mại nổi tiếng, có công ty chịu trách nhiệm (Ubuntu, Red Hat và SUSE), Ubuntu là bản duy nhất cho phép tải về dùng tự do (và cam kết luôn luôn tự do), chỉ mua dịch vụ nếu có yêu cầu.
  4. Ubuntu có một số biến thể (derivatives) với các giao diện đồ họa khác nhau (KDE, Xfce, Lxde) phù hợp với các loại cấu hình máy tính từ cao đến thấp (đáp ứng đặc điểm 2 nói trên) và có các biến thể dùng cho các mục đích sử dụng riêng biệt (Ubuntu Studio dành cho multimedia, Edubuntu dành cho giáo dục, có thể tham khảo).
  5. Các bản Linux hiện nay có chu kỳ ra phiên bản mới khoảng 6 tháng 1 lần. Riêng Ubuntu ngoài phiên bản 6 tháng, cứ 2 năm một lần có phiên bản hỗ trợ dài hạn (LTS – Long Term Support) trong 5 năm. Đây là một đặc điểm thuận lợi cho triển khai sử dụng lâu dài, sau 5 năm mới cần nâng cấp lên phiên bản mới.
  6. Fedora, OpenSUSE cũng có nhiều người dùng trên thế giới, nhưng mức độ phổ biến ở Việt nam thấp hơn Ubuntu. Ngoài ra, hai bản Linux đó do cộng đồng phát triển, hỗ trợ các bản Linux thương mại Red Hat và SUSE, không thật sự hướng người dùng cuối dùng ổn định trong công việc. Một trong những mục tiêu của Fedora là cập nhật những cái mới nhất, rất hấp dẫn với người say mê kỹ thuật nhưng lại làm cho nó có tính thử nghiệm, không ổn định. OpenSUSE có nhiều công cụ cấu hình tinh vi nhưng hơi khó dùng và không thân thiện như Ubuntu, nhất là với người mới dùng.
  7. Linux Mint là bản Linux xây dựng trên nền Ubuntu theo hướng thân thiện với người dùng hơn. Hai ưu điểm lớn làm cho Linux Mint đứng đầu bảng xếp hạng gần đây: a/Cài một lần dùng được ngay do đã bổ xung sẵn một số thứ mà Ubuntu còn thiếu, b/Menu chính thân thiện, dễ sử dụng, quen thuộc hơn Unity hoặc Gnome3 mới ra đời. Tuy nhiên hai điểm này cũng dễ dàng thực hiện trên một bản Ubuntu tùy biến (remix). Nhược điểm chính là mặc dù nó phổ biến hàng đầu ở nước ngoài nhưng lại không phổ biến ở Việt nam bằng Ubuntu.
  8. Kinh nghiệm thực tế triển khai Ubuntu tại Việt nam trước đây (các ban đảng, Vinashin,…) và hiện nay (Viettel, …) cho thấy Ubuntu hoàn toàn đáp ứng được các nhu cầu văn phòng thông thường. Kinh nghiệm thành công của Viettel trong đó ba yếu tố quyết định là quyết tâm của lãnh đạo, tính kỷ luật nội bộ cao và cách triển khai đúng là rất đáng tham khảo.

II.3-Một vài điểm lưu ý.

Không có cái gì là hoàn hảo. Nếu như trước đây nước ta toàn dùng Linux, nay chuyển sang dùng Windows cũng sẽ xuất hiện những vấn đề rất lớn (chống virus, tài liệu hướng dẫn tiếng Việt, kinh nghiệm sử dụng, đào tạo người dùng, v.v….).

Khi quyết định dùng Ubuntu (và phần mềm nguồn mở nói chung) trong giáo dục cũng còn nhiều việc phải làm, phải lưu ý:

  1. Khả năng đáp ứng của các phần mềm ứng dụng đối với giáo dục, nhất là cấp trung học cơ sở nơi trình độ sử dụng máy tính, tiếng Anh của các thầy cô và học sinh đều không cao. Một ví dụ: soạn một công thức toán học đơn lẻ trong OpenOffice tuy không trực quan bằng MS Office nhưng không khó lắm. Nhưng nếu soạn, dàn trang cả một tờ đề bài toán phổ thông gồm nhiều công thức bằng OpenOffice là cả một vấn đề với một cô giáo trung học cơ sở! Trước đây, bộ KOffice có cách soạn công thức khá trực quan. Bây giờ chuyển thành Calligra không rõ thế nào, cần tìm hiều thêm. Cũng cần quan tâm đến khả năng viết các công thức hóa học, vẽ các cấu tạo hợp chất, vẽ các mạch điện, sơ đồ vật lý v.v….
  2. Ngoài các phần mềm ứng dụng có sẵn trong Ubuntu, cần tìm thêm các phần mềm chuyên biệt cho các nhu cầu giáo dục (vd: soạn và chọn đề thi trắc nghiệm, v.v…). Thậm chí có thể cần đặt hàng các công ty phần mềm xây dựng, tích hợp: một số phần mềm nhỏ, các extension cho OpenOffice, các template, các form v.v… bổ xung các tính năng còn thiếu nhưng cần thiết và phù hợp với thực tiễn nước ta.
  3. Do tính đa dạng về cấu hình máy tính hiện có, nên có vài bản Linux với môi trường đồ họa khác nhau (KDE, GNOME, Unity, Xfce, Lxde) để cho các trường tự chọn như kinh nghiệm của Nga. Các bản Linux này cũng không phải lấy nguyên bản, cần remix lại, bỏ những cái không cần thiết, bổ xung những phần mềm còn thiếu, sửa đổi giao diện tiếng Việt, cài sẵn bộ gõ, font tiếng Việt, thậm chí cài sẵn các extension có ích vào trình duyệt, Office (tham khảo bản UberStudent), … chỉ cần cài một lần là xong. Nói cách khác là xây dựng bản Linux dành riêng cho giáo dục trên nền một bản Linux có sẵn như kinh nghiệm các nước đã nêu ở trên. Nên đặt hàng rồi đấu thầu sản phẩm của các công ty tin học trong nước.
  4. Đặc biệt quan tâm đến công tác hỗ trợ dưới ba hình thức. Thứ nhất: các tài liệu hướng dẫn sử dụng tiếng Việt (kể cả đã có sẵn) cần được biên tập lại thật đơn giản, dễ hiểu nhất là đối với cấp trung học cơ sở. Trong tài liệu này, không chỉ hướng dẫn cài đặt, sử dụng nói chung, cần tập hợp cách khắc phục một số lỗi, sự cố thường gặp, cách cài đặt một số thiết bị ngoại vi khó làm (máy in Canon, …). Thứ hai: một trung tâm hỗ trợ online mạnh, có website với mọi thông tin, dữ liệu cần thiết, một forum, công cụ chat và quan trọng nhất là một đội ngũ cán bộ kỹ thuật vững, trực gần như 24/24 trong thời gian đầu. Thứ ba: kết hợp chặt chẽ với cộng đồng PMNM Việt nam và nước ngoài. Nên có quan hệ chính thức dưới một hình thức nào đó với công ty Canonical đang quản lý và tài trợ cho Ubuntu.
  5. Phần mềm nguồn mở không thể tương thích 100% và thay thế hoàn toàn phần mềm nguồn đóng. Chủ trương hợp lý nhất là “Sử dụng cả phần mềm nguồn mở và nguồn đóng một cách hợp lý”. Cách phân loại đối tượng để cho sử dụng phần mềm nào như Viettel đã làm là một kinh nghiệm hay. Trong mỗi đơn vị, nên để lại một số ít máy Windows để xử lý các trường hợp không tương thích hoặc Ubuntu chưa đáp ứng được.
  6. Về lâu dài, để phù hợp với môi trường đa nền tàng (Windows, Mac, Linux và đủ loại OS trên các thiết bị cầm tay) các phần mềm ứng dụng chuyên ngành nên được chuyển sang dạng web-based. Đó là một hướng rất có lợi vì triển khai nhanh, sửa đổi nhanh, bảo trì dễ, thân thiện với người dùng và phù hợp với khuynh hướng điện toán đám mây trong một tương lai gần.

Tóm lại, có một khối lượng công việc khá lớn cần chuẩn bị. Tuy nhiên, nếu Linux đã có thể ứng dụng trong quản lý nhà nước và giáo dục với quy mô lớn ở các nước khác như đã nêu ở trên thì những trục trặc gặp phải là do cách triển khai của ta, không phải do bản thân Linux. Các kinh nghiệm nước ngoài đó cần được tìm hiểu kỹ, tổ chức sang tham quan, khảo sát tận nơi.

Còn một giải pháp nữa dùng PMNM trong giáo dục “siêu tiết kiệm” xem tại đây.

Trên đây là một vài ý kiến đóng góp. Do thời gian quá gấp, năng lực có hạn, kinh nghiệm cá nhân chỉ liên quan đến triển khai phần mềm nguồn mở trong doanh nghiệp nên chắc chắn còn nhiều sai sót. Một tư vấn nghiêm túc cho vấn đề này cần một thời gian dài hơn và sự đóng góp của nhiều người hơn.

Thêm tính năng cho GNOME3

GNOME3 đang còn trong giai đoạn trưởng thành, nhiều tính năng còn thiếu. Vì vậy dự án GNOME vừa cho ra đời site extensions.gnome.org.

Các extensions đặt trong site này là các tính năng bổ xung, mở rộng cho GNOME Shell (lớp vỏ giao tiếp với user của GNOME), tương tự như các add-ons của Firefox hoặc extensions của Chrome.

Để cài đặt được extension, trước tiên hệ điều hành phải dùng GNOME3. Vì vậy với Ubuntu 11.10, phải cài GNOME Shell hoặc GNOME rồi login vào khi chọn GNOME trong các options. Nếu dùng các option Ubuntu (Unity) hoặc GNOME Classic thì các extension này không có tác dụng.

Khi mở site extensions.gnome.org (tốt nhất là bằng Firefox), trên màn hình sẽ liệt kê các extension hiện có và mô tả vắn tắt. Để cài, nhấn vào tên extension chuyển đến màn hình chi tiết. Hình dưới đây cho ví dụ màn hình chi tiết của extension Applications Menu (một kiểu menu giống GNOME2)


Hình bên phải là preview của menu. Bên trái tên extension có hai ô màu đen, hiện tại có chữ OFF. Để cài extension, nhấn vào ô màu đen còn lại để bật chữ ON hiện lên. Một màn hình con xuất hiện hỏi bạn có đồng ý tải về cài không, nhấn vào nút Install để cài. Sau khi cài, thường là extension hoạt động ngay.

Chú ý là nếu bạn không phải đang chạy GNOME3 (từ 3.2 trở lên) thì cặp nút ON/OFF nói trên không hiện ra và không cài đặt extension được.

Để tắt (disable) một extension đã cài, trong màn hình site extension nói trên, nhấn vào menu Installed Extensions ở đỉnh màn hình. Một danh sách các extension đã cài xuất hiện, có nút ON màu xanh. Nhấn vào ô vuông màu đen bên cạnh cho chữ OFF xuất hiện là extension đó sẽ bị tắt (disable).

Lưu ý là site Extension này đang ở giai đoạn Alpha và số extension hiện cũng chưa nhiều. Một trong cái nên cài là Windows List.

Mọi người đều có thể viết extension và gửi lên site này. Các extension mới sẽ được xem xét, kiểm tra trước rồi mới cho xuất hiện, vì vậy có thể loại trừ mối lo malware.

Xã hội cộng sản nguồn mở

Chúng ta thường được dạy rằng xã hội cộng sản là nơi “làm theo năng lực, hưởng theo nhu cầu”. Nhiều người hoài nghi, coi đó là điều không tưởng.

Tuy nhiên, điều đó hoàn toàn hiện thực trong xã hội phần mềm nguồn mở (PMNM). Là công dân của xã hội đó, bạn hoàn toàn có quyền hưởng theo nhu cầu mà chỉ phải đóng góp đúng theo năng lực của bạn.

Mức “làm theo năng lực” thấp nhất là bạn tải về dùng thử một PMNM nào đó, kể cả chạy trên Windows. Số lượng người dùng tăng lên, sự nhận thức mới mẻ của bạn về PMNM đã là một điều đóng góp rồi.

Cao hơn một chút, bạn có thể “tuyên truyền mồm” cho bạn bè, người quen về PMNM hoặc viết bài ủng hộ nó như tôi đang làm. Năng lực của tôi chỉ đến thế.

Các mức tiếp theo thì vô cùng tùy theo năng lực của bạn. Dịch tài liệu, bản địa hóa phần mềm, thông báo lỗi, tham gia các diễn đàn, tham gia các nhóm lập trình, tự sáng lập và đứng ra làm thủ lĩnh viết một gói phần mềm, một phần mềm hoàn chỉnh, kinh doanh phần mềm v.v…. Xã hội nguồn mở không có bất kỳ một hạn chế nào đối với năng lực của bạn và cũng không ràng buộc bạn. Một xã hội tự do tuyệt đối chỉ tuân theo các loại “hiến pháp” GPL.

Đóng góp không chỉ theo năng lực mà còn theo cả hứng thú nữa. Ngày mai, bạn chia tay với người yêu, chán đời cũng chán luôn cả PMNM.

Về mặt hưởng thụ thì đúng là theo nhu cầu. Bạn có thể tự do tải về cả đống phần mềm để cài cho một dàn máy chủ mà bình thường nếu mua bản quyền sử dụng phần mềm nguồn đóng có thể tới hàng trăm nghìn đô la. Bạn có thể “chôm” một hệ điều hành có sẵn, sửa sang chút ít, đặt tên khác rồi công bố lên Internet. Sẽ không có ai thắc mắc, kiện cáo bạn miễn là bạn đã tuân theo giấy phép sử dụng hệ điều hành đó. Thậm chí bạn có thể kinh doanh các phần mềm phần mở của người khác với một số điều kiện nhất định.

Xã hội nguồn mở là một xã hội kỳ lạ nơi mọi người ra sức làm rồi cho không thành quả, thậm chí còn chào mời càng nhiều người lấy không công sức của mình càng thích.

Như vậy, xã hội nguồn mở chính là một minh chứng cụ thể rằng “làm theo năng lực, hưởng theo nhu cầu” không phải là điều không tưởng, một mô hình thu nhỏ đã thành hiện thực của xã hội cộng sản. Nhưng xã hội tương lai của loài người có đạt được đến điều đó không thì phải chờ, nếu may ra còn đủ trẻ.

Chính vì thế, những tín đồ của chủ nghĩa tư bản coi PMNM là một mối đe dọa thật sự, một kẻ thù của tư bản. Chỉ cần search cụm từ “open source vs. capitalism”, bạn sẽ thấy điều đó.

Ngược lại, đáng lẽ ra PMNM phải chiến thắng tuyệt đối từ lâu ở những nước như Trung quốc, Việt nam rồi mới phải. Hiện chỉ có Cu ba là có ý thức chính trị rõ ràng về PMNM, coi đó là một công cụ để không bị lệ thuộc vào các nước tư bản, nhất là Mỹ về mặt phần mềm.

Vậy nếu sếp của bạn, chắc chắn là đảng viên, chống PMNM, bạn hãy cho ông ta xem bài viết này. Nâng quan điểm lên, quy kết sếp “chấp nhận ăn cắp đồ của bọn tư bản dãy chết để nó coi khinh, không ủng hộ một xã hội cộng sản thu nhỏ tức là có vấn đề về tư tưởng, ý thức đảng viên”. Xem ông ta có sợ không?!

Tiếp tục du hành

Tôi đã chính thức về hưu. Tự do và cũng không phải lo toan gì về cuộc sống.

Tôi sẽ tiếp tục cuộc du hành khám phá vùng đất mới “phần mềm nguồn mở”. Đã đi vào đây, khó mà quay lại với lũy tre làng Windows. Hy vọng là sẽ có thì giờ chia sẻ với mọi người được nhiều hơn.

Còn một số ý tưởng cả về kỹ thuật lẫn kinh doanh PMNM chưa thực hiện được. Đơn vị nào ở Hà nội có cùng chí hướng xin liên hệ.

Gõ tiếng Việt bằng x-unikey trên Ubuntu 11.04 và LinuxMint 11

Tôi cài x-unikey trên Ubuntu 11.04 và Linux Mint 11 thấy khá ổn. Chia sẻ với mọi người.

Update (17/8/2011): dùng lâu mới thấy x-unikey 1.0.4 có hai lỗi: a/thỉnh thoảng bị mất tiếng Việt (lỗi này đã nói trước đây, lâu không dùng quên mất), b/Không nhấn vào tên file văn bản dài có dấu cách để mở file bằng OpenOffice được. Phải mở OpenOffice trước rồi mở file từ trong OpenOffice.

Update (8/11/2011): xem cách khắc phục lỗi thứ hai ở đây.

1- Cài đặt

Tải gói   x-unikey – 1.0.4-1~uvn3~natty về cài.

Vào Administration -> Language Support đặt Input Method là unikey . Nhấn Alt + F2 rồi chạy lệnh unikey.

Trong thư mục Home, vào View -> Show Hidden Files để cho hiện các file ẩn rồi mở file .profile và thêm vào hai dòng:

export GTK_IM_MODULE=unikey
export QT_IM_MODULE=unikey

Lưu ý là không cần sửa file options trong thư mục ẩn .unikey. Để nguyên Commit Method = Send và Xim Flow = Static.

Sau đó khởi động lại máy.

2- Thử gõ trên các ứng dụng

Đã thử gõ tiếng Việt unicode theo kiểu gõ Telex trên Firefox 5.0, LibreOffice 3.3.2, Skype 2.2.0.25, GIMP 2.6.11, Inkscape 0.48 đều ổn. Tất nhiên là mới thử gõ ít, không rõ gõ nhiều thì có lỗi gì không.

Soạn mail trong Gmail và Zoho Mail trên Firefox đều tốt. Nhưng soạn văn bản bằng Google Docs và Zoho Writer trên Firefox trong LinuxMint thì lỗi, trong Ubuntu 11.04 soạn Google Docs được, Zoho Writer lỗi.

Trong Ubuntu 11.04, biểu tượng của x-unikey xuất hiện khi khởi động vào Ubuntu Classic rồi biến mất. Nhưng khi mở một trình nào có vùng nhập liệu (Firefox, LibreOffice, …) nhấn Ctrl+Shift thì biểu tượng xuất hiện lại và không bị mất nữa.

3- Dùng Google Docs và Zoho Writer trên Chromium

Mở Google Docs và Zoho Writer trong trình duyệt Chromium thì gõ tốt tiếng Việt. Chromium có tính năng Tools -> Create Application Shortcut. Dùng tính năng này tạo được shortcut trong menu và trên Desktop, lần sau chạy nhấn vào đó để mở thẳng vào Google Docs hoặc Zoho Docs.

Tóm lại với nhu cầu của tôi thì ổn. X-unikey không gây treo bàn phím, không gạch chân từ, không cần kết thúc từ bằng chuột hay bàn phím.

4- Font Droid trong KDE và Firefox 5.0

Tiếng Việt unicode hiển thị chuẩn nhất vẫn là các font Arial, Time New Romans của Microsoft. Một số font nguồn mở như Liberation, Freefonts, … đôi khi có lỗi, nhất là trên Firefox 4.01 trở đi trong KDE 4. Freefonts (Free Sans, Free Serif) trước đây vẫn là font ưa thích của tôi trên Firefox vì nét font đậm, không bị mảnh và gai như Arial, Liberation, … Từ Firefox 4.01 trở đi trong KDE, FreeFonts bị lỗi chập ký tự khi hiển thị tiếng Việt.

Khi chạy Firefox trong KDE có thể cài thêm họ font Droid (Droid Sans, Droid Serif). Những font này hiển thị tốt tiếng Việt và nét font cũng đậm. Đây là font chuyên dùng cho các thiết bị handheld.

Riêng OpenSUSE 11.4 KDE thì Firefox 5.0 vẫn hiển thị tốt bằng Freefonts.

4- Kết luận

Với nhu cầu bình thường, dùng x-unikey chưa thấy có lỗi gì và có cảm giác rất dễ chịu so với khi dùng ibus hoặc scim.

Mốt mới: bày hàng!

Có một điều kỳ lạ là hiện nay một trong những hướng nhiều cải tiến nhất của PMNM lại là menu chính (Main menu). Gần đây một loạt bản Linux mới ra đời đều dùng màn hình Desktop để trình bày menu.

Trước đây, menu kiểu cổ điển (Classic Menu Style) của KDE có dạng đại khái như thế này:

Để chạy một phần mềm trong menu chỉ cần 2 lần kích chuột: một lần để hiện menu, sau đó rê chuột qua các cấp menu chọn cái cần chạy và kích lần thứ hai. Ngoài ra, danh sách mỗi cấp menu hiện ra rất dễ nhìn, dễ tìm.

Gnome 2 tuy chia menu làm ba vùng lớn nhưng về cơ bản vẫn theo nguyên lý menu cổ điển nói trên.

Sau này có một số hướng cải tiến như đã nói ở đây , từ dạng một cột chuyển thành dạng bảng gồm 2-3 cột.

Đến bây giờ, menu chính của Mandriva 2011.0 beta3 KDE có dạng như thế này:

Toàn bộ màn hình desktop được dùng để hiển thị menu. Các ứng dụng được bày ra thành từng hàng rất rõ ràng và đẹp. Màn hình desktop còn được chia thành 3 trang: Welcome, Applications và Time Frame, tha hồ bày biện. Toàn bộ menu này được bật tắt bằng nút Menu ở góc dưới bên trái màn hình như thông thường. Thanh panel dưới đáy màn hình có tên là Rosa panel. Nhấn vào nút ở góc trái để bật tắt menu nói trên.

Nhược điểm là hiện nay chưa tùy biến được, chắc phải đợi các phiên bản sau.

Ngoài loại menu nói trên (được gọi là Rosa Launcher), trong Mandriva và các bản Linux dùng KDE 4 khác còn có hai dạng tương tự.

Nhấn phím phải chuột vào màn hình Desktop, chọn Desktop Settings rồi chọn tiếp View -> Layout -> Search and Launche, màn hình Desktop chuyển sang dạng:

Giao diện này cũng tương tự như Rosa Launcher nhưng ít tính năng hơn một chút.

Ngoài ra, mở Cofiguration Your Desktop, chọn Workspace Behavior -> Workspace -> Workspace Type -> Netbook, màn hình Desktop sẽ có dạng:

Đây là giao diện Desktop dùng cho netbook cũng dựa trên nguyên tắc chung là bày mọi thứ ra màn hình Desktop. Mỗi icon trên màn hình ở trên là menu cấp 1, nhấn vào đó sẽ xuất hiện các menu con cấp 2, ….

Cách “bày hàng” kiểu này không phải chỉ có Mandriva. Ubuntu 11.04 cũng bỏ Gnome chuyển sang giao diện Unity, cái này chắc nhiều người biết rồi. Mới đây, Fedora 15 dùng phiên bản Gnome 3 cũng có giao diện tương tự:

Thực ra loại giao diện này không phải là mới. Trước đây, các bản Linux Jolicloud, Ubuntu Netbook đã dùng loại giao diện này.

Giao diện kiểu mới này ra sao? Khó mà kết luận ngay được.

  1. Đầu tiên là rào cản của thói quen. Không thể kết luận về một cái mới yêu cầu thay đổi thói quen nếu chỉ dùng thử nó trong một thời gian ngắn. Điều này đúng cho việc chuyển từ Windows sang Linux, từ Internet Explorer sang Firefox cũng như từ giao diện này sang giao diện khác.
  2. Thứ hai là phần mềm mới thường chưa hoàn thiện. Unity của Ubuntu đúng là còn nhiều cái phải bổ xung. KDE 4 lúc mới đầu cũng khó mà ưa được.
  3. Thứ ba là trình độ và nhu cầu người sử dụng. Một giao diện trực quan, đẹp có thể hay với người dùng bình thường chưa chắc đã là hay với người thích vọc máy tính.
  4. Một nhược điểm thấy ngay của các dạng giao diện mới nói trên là mất nhiều lần nhấn chuột mới tới được chỗ cần tìm. Bù lại nó đẹp và trực quan hơn.
  5. Cá nhân tôi nghĩ rằng Ubuntu chưa nên thay đổi giao diện. Nó vẫn còn đang trong giai đoạn thu hút người dùng. Bắt những người mới chuyển sang Linux thay đổi thói quen là một việc không hay.

Netbook Samsung và card wifi Broadcom BCM4313

Mất hai hôm loay hoay cài Linux lên con netbook Samsung N148 Plus. Vấn đề chính là card wifi Broadcom BCM4313. Card này dùng driver nguồn đóng STA wireless driver của Broadcom.

Khi cài Mandriva 2010, Ubuntu netbook 10.10 và Linux Mint 10, driver này không được tự động cài sẵn. Sau khi cài Linux xong, có thông báo trên panel, nhấn vào đó hoặc vào Administrations -> Additional Drivers  sẽ xuất hiện màn hình để người dùng tự cài.

Tuy nhiên khi cài xong, chỉ connect được vào các mạng wifi dùng security WEP. Đây là dạng security không an toàn, rất dễ bị hack.

Với mạng wifi dùng security WAP thì không kết nối được.

Tuy nhiên, khi cài Jolicloud 1.1 (dựng trên nền Ubuntu 10.10) và PCLinuxOS Minime 2010.12 thì driver tự cài sẵn và kết nối vào WAP được ngay.

Netbook không có ổ CD nên để cài phải dùng UNetBootin burn các file iso vào ổ USB. Sau đó boot máy từ USB chạy Linux dưới dạng LiveCD để xem thử trước rồi cài.

Đối với một số bản Linux trên nền Ubuntu, chuột touchpad có thể bị lỗi không cuộn được màn hình khi rê tay dọc mép bên phải touchpad. Cách sửa xem ở đây.

Ubuntu netbook và Jolicloud là hai bản Linux chuyên dùng cho netbook. Điểm khác biệt chính là cách bố trí các cửa sổ trong màn hình sao cho tận dụng tối đa diện tích màn hình chật hẹp của netbook.

Jolicloud có lẽ là bản Linux netbook tốt nhất hiện tại. Giao diện đẹp, nhẹ nên chạy nhanh, dựa trên nền Ubuntu nên các kiến thức cũ đều dùng được. Một đặc điểm nổi bật của Jolicloud là “đưa các ứng dụng web lên ngang hàng với các ứng dụng cài trên máy”. Có rất nhiều ứng dụng web (Gdocs, Gmail, YouTube, Zoho Writer, v.v…) được tạo sẵn icon. Khi nhấn vào đó một màn hình trình duyệt Google Chrome tối giản, phần diện tích ứng dụng tối đa sẽ mở ứng dụng đó ra. Đây chính là hướng đi tiến đến điện toán đám mây như cái tên của nó cho thấy (Jolicloud – đám mây xinh đẹp).

Hình trên là giao diện chính của Jolicloud. Nhấn vào các hình tròn nhỏ bên dưới màn hình sẽ chuyển tới các trang khác có các icon của các ứng dụng khác.

Với những nhu cầu sử dụng thông thường, đơn giản, không cần cài OpenOffice, chỉ dùng Zoho Office cũng hoàn toàn đủ dùng. Dưới đây là màn hình soạn văn bản Zoho Writer mở trong trình duyệt Chrome

Nhược điểm ban đầu của Jolicloud là giao diện quá khác so với các bản Linux desktop quen thuộc nên phải mất thời gian tìm hiểu. Để chạy một ứng dụng không phổ thông phải nhấn đến 3 lần chuột, lâu hơn so với các dạng menu thông thường.

Một nhược điểm chung của Ubuntu netbook và Jolicloud là khả năng tùy biến màn hình rất hạn chế, không như các bản Linux desktop.

Các bản Linux desktop thông thường đều có thể cài lên netbook. Tuy nhiên do cấu hình netbook yếu nên chú ý chọn các bản nhẹ, ví dụ PCLinuxOS Lxde mini. KDE cũng chạy được nhưng chậm hơn.

Một bản Linux an toàn của bộ Quốc phòng Mỹ

Lightweight Portable Security (LPS) là một bản Linux an toàn được xây dựng trong khuôn khổ chương trình Sáng kiến Bảo vệ phần mềm (the Software Protection Initiative) dưới sự chỉ đạo của Phòng thí nghiệm nghiên cứu không quân (the Air Force Research Laboratory) và bộ Quốc phòng Mỹ.

Các đặc điểm chính của LSP:

  • Là một bản Linux nhẹ (130MB) chạy được trên hầu hết các máy tính có bộ vi xử lý Intel (PC hoặc Mac). Chạy trực tiếp từ đĩa CD hoặc ổ USB, không cần cài đặt, không kết nối (mount) với ổ cứng của máy tính.
  • Dùng để truy cập Internet hoặc truy cập từ xa vào mạng LAN bằng trình duyệt Firefox và sử dụng các ứng dụng web. Ngoài ra, LPS cũng có trình soạn thảo văn bản, xem file PDF và xem ảnh.
  • Là bản Linux chỉ đọc (read-only), không thể ghi hoặc sửa đổi. Do đó các phần mềm độc hại (virus, spyware, trojan, keylogger, …) nếu có thâm nhập từ Internet vào LPS chỉ có thể tồn tại trong một phiên làm việc. Sau khi truy cập vào một site nghi ngờ là có malware, chỉ cần reboot lại máy tính là hệ điều hành lại sạch.
  • Cũng do tính năng chỉ đọc, các dữ liệu cá nhân nhạy cảm như lịch sử các trang web đã xem, các giao dịch ngân hàng, … không lưu lại bất cứ đâu trên máy tính đã sử dụng cũng như trên CD hoặc USB có chứa LPS.
  • Trình duyệt Firefox hỗ trợ các loại smartcard CAC và PIV để truy cập các trang web của chính phủ Mỹ yêu cầu phải có các loại smartcard đó mới truy cập được.
  • Trình duyệt Firefox có tính năng hỗ trợ mã hóa dưới dạng add-ons Encryption Wizard. Tính năng này cho phép tải về và giải mã các file mã hóa đính kèm webmail (Outlook Web Access hoặc Yahoo Mail), mã hóa các file khi đính kèm nó vào email.

Tóm lại, đây là cách dùng Linux an toàn như đã nói ở đây. Điểm khác biệt: đây là hệ điều hành chuyên dụng cho mục đích đó do chính bộ Quốc phòng Mỹ xây dựng, vì vậy mức độ an toàn, tin cậy của nó cao hơn các bản Linux khác.

Voice và video chat trong Linux

Trước đây tôi đã có vài post về các chương trình voice và video chat trong Linux. Hôm nay tổng hợp lại vài thông tin mới nhất.

1- Google voice và video chat

Google mới đây đã cho phép video chat trong Linux. Cách cài đặt và kiểm tra:

  1. Đăng nhập vào account GMail rồi vào tiếp Settings -> Chat -> Voice and Video Chat -> Learn more. Một màn hình mới xuất hiện cho tải về file google-talkplugin… để cài. Có file deb cho Ubuntu và rpm cho RedHat, Mandriva, PCLinuxOS.
  2. Sau khi cài xong, khởi động lại Firefox, đăng nhập vào GMail rồi nhấn chuột vào Settings -> Chat -> Voice and Video Chat -> Verify your settings. để kiểm tra các thiết bị. Màn hình bây giờ như sau:
  3. Nếu trong khung hình nhỏ bên phải không thấy hình từ webcam, chọn lại webcam trong mục Camera bên dưới. Di động webcam, hình trong khung hình cũng phải thay đổi.
  4. Thổi hoặc nói vào micro, thanh trạng thái bên phải mục số 2 phải hoạt động, tức là micro tốt. Nếu không, chọn lại micro trong mục Microphone bên dưới.
  5. Nhấn vào link play the test sound, loa hoặc tai nghe phải phát ra tiếng. Nếu không chọn lại trong mục Speakers bên dưới.

Tính năng kiểm tra được cả ba thiết bị: webcam, micro và speaker như trên là ưu điểm lớn nhất so với các dịch vụ chat khác trong Linux.Đối với Linux, khả năng tương thích với các thiết bị phần cứng còn kém thì đây là một tính năng rất cần.

Một trong những ưu điểm nữa là chat trong màn hình GMail, qua giao thức https nên các tín hiệu gửi đi và nhận về được mã hóa, tránh bị nghe, xem trộm.

Như vậy, trong Linux dùng được dịch vụ chat này dưới dạng web chat. Phần mềm Google Talk như của bên Windows thì chưa có.

Tuy nhiên, tính năng trên màn hình sử dụng hơi ít, kém các dịch vụ chat khác. Về chất lượng hình và tiếng tôi mới thử qua thấy cũng ổn, không hiểu dùng lâu thì thế nào.

2- Skype

Skype đã giới thiệu ở đây. Cách cài mới so với bài viết đó: trong Mandriva, add kho phần mềm MIB theo cách ở đây rồi cài từ Menu -> Install & Remove Software; trong Ubuntu 10.10, cài Skype bằng Ubuntu Software Center. Bản Skype for Linux có một nhược điểm so với bản for Windows và so với Google Talk đã nói ở trên là có kiểm tra được webcam và loa nhưng không có mục kiểm tra micro. Thực tế sử dụng thì tiếng hơi bị chậm (nói một lúc mới nghe thấy người bên kia trả lời) và có tiếng vọng (Google Talk có mục triệt tiêu tiếng vọng này).

3- Yahoo Messenger

Phần mềm Yahoo Messenger for Linux là Gyachi đã được giới thiệu ở đây. Cài cho Ubuntu 10.10 dùng ba lệnh này:

sudo add-apt-repository ppa:adilson/experimental
sudo apt-get update
sudo apt-get install gyachi

Trong Mandriva, Gyachi có trong kho phần mềm MIB đã nói ở phần Skype trên.

Gyachi hỗ trợ voice và video chat nhưng hoàn toàn không có công cụ kiểm tra thiết bị như các bản ở trên.

4- Các phần mềm khác

Trong Linux có ba phần mềm chat tương dối phổ biến là Empathy, Pidgin và Kopete.Mỗi phần mềm này đều có khả năng dùng nhiều dịch vụ chat khác nhau tùy theo account được khai báo (Yahoo Chat, Google Talk, v.v…)

Empathy được cài mặc định trong Ubuntu 10.10 nhưng tính năng cũng còn đơn giản. Empathy hỗ trợ cả voice và video chat nhưng không có công cụ kiểm tra thiết bị. Khai account Yahoo thì login được, nhưng account Gmail thì không. Empathy cũng hỗ trợ Skype nhưng nó chỉ gọi chạy Skype cài ngoài chứ không tích hợp vào trong phần mềm.

Pidgin hiện không hỗ trợ voice và video chat.

Kopete được cài sẵn trong các bản Linux KDE, nhưng cũng cài chạy được trên Ubuntu (GNOME). Kopete hỗ trợ video, voice chat nhưng cũng không có công cụ kiểm tra.

Mageia và LibreOffice

Mageia và LibreOffice

Cuộc suy thoái kinh tế thế giới vừa qua làm chao đảo nhiều công ty. Các công ty phần mềm nguồn mở cũng không ngoại lệ.

Mandriva sau một giai đoạn khủng hoảng tài chính, tìm được các nhà đầu tư mới và bước đầu đã gượng dậy được. Tuy nhiên, một nhóm trong cộng đồng các nhà phát triển Mandriva mới đây (18/9/2010) đã tuyên bố tách ra thành lập một dự án cộng đồng (community project) để phát triển một phiên bản Mandriva mới đặt tên là Mageia (website tại đây).

Tuyên bố trên website đó có những đoạn viết:

Như mọi người đã biết, tương lai của bản phân phối Mandriva Linux là không rõ ràng.

Chúng tôi không còn tin vào các kế hoạch của công ty Mandriva SA nữa và chúng tôi không nghĩ rằng công ty (hoặc bất kỳ một công ty nào khác) có thể là cơ sở an toàn cho dự án Mandriva.

Những người đã phát triển Mandriva không muốn bị phụ thuộc vào những thay đổi bất thường của nền kinh tế, vào những chuyển hướng chiến lược khó hiểu và thất thường của công ty.

Chúng tôi tin rằng việc phân nhánh (fork) là giải pháp tốt nhất và chúng tôi quyết định tạo nên một bản phân phối Linux mới: Mageia.

Mageia là một dự án của cộng đồng: nó sẽ không phụ thuộc vào số phận của một công ty nào.

Trong những ngày tới, một tổ chức phi lợi nhuận sẽ được thành lập (để phát triển Mageia).

chúng tôi muốn:

  • Làm cho mọi người có thể sử dụng Linux và phần mềm tự do một cách dễ dàng, đơn giản.
  • Cung cấp các công cụ cấu hình hệ thống tích hợp (đây vẫn là thế mạnh của Mandriva – zxc).
  • Tích hợp chặt chẽ hệ thống cơ bản, các môi trường đồ họa (KDE/GNOME) và các ứng dụng; đặc biệt là cải thiện việc tích hợp các phần mềm của bên thứ ba vào hệ thống (dù đó là phần mềm tự do hay phần mềm bản quyền)

…”

Một dự án cộng đồng là một dự án dựa trên sự tham gia, đóng góp tình nguyện của mọi người. Trong trường hợp tốt nhất, nó sẽ tìm được những nhà tài trợ nào đó. PCLinuxOS, Linux Mint hiện là các dự án như vậy.

Một dự án phần mềm nguồn mở nổi tiếng khác là OpenOffice cũng rơi vào hoàn cảnh tương tự. OpenOffice ban đầu là sản phẩm StarOffice của StarDivision. Năm 1999, Sun Microsytems mua StarDivision và đến năm 2000 thì công bố mã nguồn dưới tên OpenOffice.org. Đến 1/2010, Oracle mua lại Sun Microsytems và từ đó Oracle trở thành nhà tài trợ chính cho dự án OpenOffice.org cùng với một số nhà tài trợ khác. (Tên OpenOffice đã bị một hãng khác giữ độc quyền nên tên chính thức của bộ phần mềm nói trên là OpenOffice.org)

Do một số tranh cãi về thương hiệu và lý do gì nữa không rõ, ngày 28/9/2010, một nhóm các nhà phát triển OpenOffice tuyên bố thành lập một tổ chức mới là “The Document Foundation” để phát triển OpenOffice với tên gọi mới là LibreOffice (Libre là từ tiếng Pháp đồng nghĩa với Free tiếng Anh, có nghĩa là “tự do”). Hiện tại đã có bản LibreOffice 3.3.0 beta1 cho tải về tại site nói trên (có lẽ tương đương với bản OpenOffice 3.3 beta).

Việc thành lập hai tổ chức trên không có nghĩa là hai sản phẩm Mandriva và OpenOffice sẽ mất đi. Công ty Mandriva và Oracle có thể vẫn quyết định phát triển các sản phẩm với tên cũ. Và trước mắt, người dùng sẽ có thể thử từng cặp hai sản phẩm gần như giống hệt nhau Mandriva – Mageia và OpenOffice – LibreOffice. Người dùng cuối sẽ là người được lợi trong việc cạnh tranh của những cặp sản phẩm này.

Phần mềm nguồn mở với mã nguồn công khai, không phải sản phẩm độc quyền của ai tạo ra sự tự do ngay cả trong cách tổ chức phát triển chúng như thế.

Update: cách cài LibreOffice vào Ubuntu xem tại đây

Một Android Wallpaper có thể gửi dữ liệu của bạn về Trung quốc

Một Android Wallpaper có thể gửi dữ liệu của bạn về Trung quốc.

Hãng an ninh cho các thiết bị di động Lockout vừa phát hiện ra một ứng dụng wallpaper trong kho phần mềm Android Market có thể chứa malware.

Android là hệ điều hành Linux do Google xây dựng dành cho các smartphone. Nó dùng nhân Linux và các phần mềm nguồn mở GNU giống như các bản Linux khác. Thị trường Android hiện đang tăng trưởng rất nhanh, tới 886%, tính cho cả năm, trong quý 2 năm 2010.

Google cho biết, mỗi tháng gần đây, trung bình có 200.000 máy Android được kích hoạt.

Android hiện được dùng trong các smartphone của HTC, Motorola, Samsung, Sony Ericsson và LG.

Ứng dụng nói trên tạo ra các wallpaper “Star Wars” và “My Little Pony.” Nó thu thập số điện thoại, mã đăng ký, số voicemail và gửi về site www.imnet.us, chủ nhân của site này là một người ở Thâm quyến, Trung quốc.

Ứng dụng này đã được download về khoảng từ 1-4 triệu lần. Các chuyên gia đang tiếp tục nghiên cứu và chưa thể khẳng định đó có phải mã độc cố tình không.

Lockout xây dựng một hệ thống quét kiểm tra các kho phần mềm của Android và iPhone. Hãng cũng phát hiện được nhiều ứng dụng khác truy cập đến các dữ liệu cá nhân của chủ điện thoại. Đặc biệt, trong các ứng dụng miễn phí, có 29% ứng dụng Android và 33% ứng dụng iPhone có thể truy cập đến vị trí địa lý của người dùng.

Việc tăng trưởng mạnh của Android thu hút sự chú ý của hacker. Và như vậy, vấn đề virus trên Linux sẽ bắt đầu trở nên sôi động và cần chú ý. Có điều với sức đề kháng tự nhiên của Linux, virus có nhiều và gây tai họa được như Windows không thì phải chờ xem hồi sau sẽ rõ.

Hệ điều hành quốc gia tốn bao nhiêu tiền?

Hệ điều hành quốc gia tốn bao nhiêu tiền?

Theo tin của Thông tấn xã Việt nam:

Nga: 3,3 tỷ USD phát triển hệ điều hành máy tính

Theo hãng tin RBC (Nga), Chính phủ Liên bang Nga đã chi 100 tỷ rúp (khoảng 3,3 tỷ USD) cho dự án phát triển hệ điều hành máy tính quốc gia kéo dài 10 năm.

Thứ trưởng Bộ Truyền thông Nga, Ilia Massukh cho biết phiên bản đầu tiên hệ điều hành máy tính của Nga dự kiến sẽ ra mắt trong năm 2011.
Hệ thống này không được thiết kế bằng cách tổng hợp từ các hệ điều hành khác mà dựa trên hệ điều hành mã nguồn mở miễn phí Linux, chỉ chứa đựng 10% nội dung của Nga.

Trong năm 2011, Bộ Truyền thông Nga tuyên bố sẽ mở một cuộc thi nhằm chọn ra một hệ điều hành quốc gia hoàn chỉnh nhất và dự kiến tung ra thị trường vào năm 2013.

Tuy nhiên, một số chuyên gia về công nghệ thông tin của Nga cho rằng việc tạo ra một hệ điều hành riêng biệt sẽ không mang lại bất cứ lợi ích về kinh tế nào cho nước này.

Hệ điều hành máy tính mới của Nga sẽ được sử dụng tại các cơ quan nhà nước, mặc dù Chính phủ nước này có thể lựa chọn giữa các hệ điều hành quốc gia và hệ điều hành hiện tại./.

Trong bối cảnh chiến tranh mạng đang thực sự diễn ra hiện nay, một hệ điều hành quốc gia là cấp bách và phải có, mang lại lợi ích về an ninh quốc phòng, mặc dù không kinh tế.

Các lợi ích:

  • Có một đội ngũ chuyên gia làm chủ hoàn toàn về hệ điều hành, phần cốt lõi cho các hệ thống an ninh sống còn của quốc gia như thông tin liên lạc, điều hành mạng lưới điện, các nhà máy điện, các mạng máy tính của chính phủ, quân đội, v.v….
  • Hệ điều hành tự xây dựng sẽ đảm bảo “sạch”, không có mã độc cài cắm trong đó, không có các loại bom nổ chậm tin học, các cổng hậu cho kẻ địch xâm nhập.

Nga là nước có đội ngũ chuyên gia tin học giỏi đông đảo, hacker Nga cũng nổi tiếng thế giới nên việc xây dựng hệ điều hành quốc gia là hoàn toàn khả thi. Việt nam thì tôi e rằng không có được đội ngũ như thế.

Nhưng thời gian 10 năm và số tiền 3 tỷ USD nghe hơi choáng. Về nguyên tắc, công việc cần làm là thiết kế mới (như Google Chrome OS hiện đang làm), chọn lựa các gói phần mềm nguồn mở có sẵn, rà soát mã nguồn để đảm bảo là sạch, lắp ráp lại theo thiết kế rồi dịch ra mã máy. Chi phí chủ yếu là lương chuyên gia.

Tối thiểu nhất thì lấy mã nguồn của Ubuntu chẳng hạn, rà soát rồi dịch. Phần rà soát đó là một khối lượng công việc khổng lồ và đòi hỏi trình độ rất cao.

Giả sử mức độ tham nhũng ở Nga cũng như ở … thì chỉ 1/3 số tiền trên (1,1 tỷ USD) tới tay các chuyên gia, chia cho 10 năm, mỗi năm mất khoảng 110 triệu USD. Lương chuyên gia giả thiết 3.000USD/tháng, một năm là 36.000USD. Như vậy đội ngũ chuyên gia đã huy động là 110 triệu : 36.000 = 3.055 người!

Cộng thêm khoảng 1000 người gián tiếp thì mất 4000 người làm trong 10 năm, tức là số công bằng 40.000 người-năm!

Trong khi đó, theo thông tin tại đây, bản Red Hat Linux 7.1 (năm 2001) có trên 30 triệu dòng lệnh, sẽ cần đến 8.000 người-năm, chi phí khoảng 1 tỷ USD. Bản Debian Linux 2.2 (năm 2000) có 55 triệu dòng lệnh, cần số công 14.000 người-năm, chi phí 1,9 tỷ USD. Windows XP có 35 triệu và Vista có 50 triệu dòng lệnh.

Số dòng lệnh tăng lên rất nhanh. Đến năm 2009, Debian 5.0 đã gồm hơn 323 triệu dòng lệnh. Trong site này có nhiều số liệu thống kê về Debian.

Cần chú ý là số công và chi phí nêu trên của các bản Linux tính với giả thiết là làm theo kiểu phần mềm nguồn đóng (thuê nhân công, trả lương, và viết lại từ đầu, chứ không dựa vào đóng góp vô tư các gói phần mềm có sẵn của cộng động nguồn mở). Nếu là công rà soát các mã nguồn đã có thì sẽ thấp hơn.

Vài bản Linux …quái

Vài bản Linux … “quái”

Mỗi bản Linux dưới đây đều có link đến site gốc ở tên của nó.

1- Damn Vulnerable Linux


Đây là hệ điều hành ốm yếu nhiều lỗ hổng an ninh và dễ tấn công nhất. Nó là bản Linux chứa những thứ mà một bản Linux “tốt” không bao giờ có. Vì mục đích nó được tạo ra là để đào tạo, huấn luyện về an ninh.

Damn Vulnerable Linux còn có nhiều công cụ, các tài liệu hướng dẫn và bài tập để học về an ninh (tập tấn công, khai thác một lỗ hổng chẳng hạn).

2- Tinfoil Hat Linux

Như tên của nó cho thấy (Tinfoil Hat – mũ sắt), bản Linux này có mục đích ngược với Damn Vulnerable Linux.

Nó là một bản Linux nhỏ gọn chứa được trên một đĩa mềm, boot được và an toàn để lưu các chìa khoá mã PGP dùng mã hoá, ký chữ ký số và xoá an toàn các file (về PGP xem thêm ở đây). Tinfoil có ích khi:

  • Bạn dùng một máy tính có thể đã có một phần mềm hoặc phần cứng cài sẵn để ghi bàn phím (software or hardware keylogger. Xem tại đây để biết ví dụ về phần cứng ghi bàn phím nhỏ và lại không đắt). Những thiết bị ghi bàn phím này lưu lại mọi phím mà bạn đã gõ, từ đó có thể dò ra các password hoặc nội dung riêng tư).

  • Bạn cần dùng khoá mã cá nhân PGP tại các máy tính ở cơ quan, trường học, … là những máy chẳng có gì đáng tin tưởng.

  • Bạn có một chứng chỉ số (PGP Certificate Authority) hoặc một chữ ký số (digital signature) cần có chỗ an toàn để cất giữ chúng.

  • Bạn không muồn lưu khoá mã PGP trên ổ cứng là nơi có thể bị mất.

  • Có người đang dò xét máy tính của bạn.

Về mục đích có lẽ Tinfoil Hat Linux cũng giống Ubuntu Privacy Remix đã nói ở đây.

3- Tiny Core Linux.

Đây là bản Linux siêu nhỏ: tất cả chỉ có 10MB. Nhưng như ảnh trên cho thấy nó cũng có giao diện đồ họa như ai. Nếu bỏ giao diện đồ họa đi thì bạn sẽ có bản Linux Micro Core chỉ còn có 6MB! dùng giao diện dòng lệnh.

Tất nhiên là nó không hỗ trợ được nhiều loại phần cứng. Nhưng cũng có một kho phần mềm online. Người dùng toàn quyền lựa chọn cài đặt thêm cái gì mình thích.

4- REMnux

REMnux là bản Linux chuyên dụng (dựa trên Ubuntu) để nghiên cứu phân tích các loại malware. Nó tạo một môi trường cô lập để tìm hiểu hành vi của malware, cho lây nhiễm sang một máy khác và theo dõi. Nó cũng có thể dùng nghiên cứu các loại web-based malware viết bằng Java, Java scripts và Flash. Tác giả (Lenny Zeltser) là người giảng dạy môn Reverse-Engineering Malware tại học viện SANS (SysAdmin, Audit, Network, Security) chuyên đào tạo về an ninh máy tính.

Trên Windows cũng có các loại công cụ để nghiên cứu malware. Muốn chạy các công cụ đó trên Linux thì xem dự án Zero Wine project.

Một bản Linux đầy đủ hơn về vấn đề này là SANS Investigative Forensic Toolkit (SIFT) Workstation.

5- Zero Shell


Zero Shell là bản Linux dành cho máy chủ và các thiết bị nhúng (embedded devices) cung cấp các dịch vụ mạng LAN (xem chi tiết các dịch vụ đó trên trang chủ của Zero Shell).

Điểm đặc biệt của nó là tất cả các công tác cấu hình, quản trị thực hiện qua giao diện Web mà không dùng giao diện dòng lệnh (shell), từ đó có tên Zero Shell.

6- ULTILEX

ULTILEX (Ultimate Linux Experience) nhồi sáu bản Linux dưới đây vào trong một đĩa CD (683MB):

  • Slax version 6.1.2

  • Puppy Linux version 5.0.1

  • Tiny Core version 2.11.6

  • System Rescue CD version 1.5.8

  • Parted Magic version 4.11

  • boot.kernel.org (BKO)

Mỗi bản này bình thường cũng cỡ một đĩa CD, có lẽ ULTILEX gộp những phần chung như kernel lại mới gọn như vậy.

Khi khởi động, một boot menu xuất hiện để chọn khởi động vào bản Linux nào tùy ý.

7- MultiBootISOs

MultiBootISOs không phải là hệ điều hành. Nó là phần mềm bootloader cài vào ổ USB để tùy chọn chạy một đống các bản Linux từ file iso. Khi khởi động máy tính từ USB có cài MultiBootISOs, màn hình sau xuất hiện:

Nếu trên ổ USB đã có file iso của một trong các bản Linux có trong danh sách, có thể chọn boot vào bản Linux đó.

8- Online banking USB live Desktop

Để giao dịch ngân hàng online, ta phải có một hệ điều hành rất an toàn và Linux đã được khuyên dùng tại đây tại đây.

Thay vì chọn một bản Linux có sẵn, ghi nó vào đĩa CD để chạy trong chế độ Live CD, site này hướng dẫn cách tự tạo một bản Linux Debian cài trên ổ USB có thể customize được với các tính năng an ninh cần thiết.

Còn nhiều bản Linux quái như trên, chưa phải đã hết. Thế giới nguồn mở phong phú và tự do cho phép ta tạo ra những gì ta thích (nếu có đủ tài năng).

Mandriva thoát hiểm

Thời gian gần đây, công ty Mandriva lâm vào tình trạng rất khó khăn về tài chính. Bản Mandriva 2010.1 Spring bị hoãn vô thời hạn ngày xuất xưởng.

Tuy nhiên, một bản tin ngày 22/6/2010 vừa qua trên site LeMagIT được dẫn lại tại đây cho biết Mandriva đã thoát hiểm: có những nhà đầu tư dấu tên chấp nhận đầu tư thêm tiền vào Mandriva. Vì vậy có lẽ trong thời gian sắp tới bản Mandriva 2010.1 sẽ ra đời nhưng phải đổi tên là Mandriva Summer vì đã sang hè rồi.

Đây là một tin mừng vì hiện tại đối với tôi, Mandriva vẫn là bản Linux được ưa thích nhất. Nó là một trong những bản Linux lâu đời, có đầy đủ tiềm năng để có vị trí cao hơn hiện tại. Nhưng có lẽ những người kinh doanh nó chưa tìm ra con đường đúng.

Mark Shuttleworth (sinh năm 1973)

Ubuntu may mắn có thủ lĩnh là Mark Shuttleworth, một tỷ phú nhiều tiền đến mức có thể đi du lịch vũ trụ, một nhà lập trình tham gia xây dựng Debian Linux từ những năm 90, kinh doanh giỏi đến mức năm 1995 thành lập công ty Thawte chuyên về chữ ký số, đến năm 1999 đã bán công ty đó được 575 triệu USD. Tiền, chuyên môn về PMNM và khả năng kinh doanh đều tâp trung vào một người nên Ubuntu lên như diều gặp gió. Chiến mudịch marketing, promotion sản phẩm của Canonical phải nói là xuất sắc, nhiều người Việt nam biết đến Linux cũng là nhờ Ubuntu. Gần đây tôi có đọc ở đâu đó nói rằng từ nay Canonical mới chú trọng vào kiếm tiền, chắc là cũng được bao cấp một thời gian dài. Sau này có lãi hay không còn chưa biết được.

Mô hình kinh doanh PMNM ra sao vẫn còn là chuyện khó khăn, bàn cãi, thử nghiệm nhiều. Hai điển hình thành công, sống được bằng kinh doanh PMNM có lẽ là Novell và Red Hat. Điển hình chết yểu ở Việt nam là Vietkey Linux và CMC Linux. Hacao Linux không biết bây giờ sống ra sao? Còn cái công ty con chuyên về PMNM của đại gia FPT hình như cũng chết rồi.

Trên thương trường, những chuyện chuyển chủ, đổi tên là bình thường. Notebook Thinkpad, Compaq là những ví dụ. Hoặc bản SUSE Linux cũng chỉ mới được Novell mua lại  năm 2003 (210 triệu USD, trên 500 lập trình viên). Những cái đã thành danh khó mà chết được, nhưng những cái sai, kém về chiến lược phát triển như hệ điều hành mạng Novell Netware một thời lừng lẫy thì nay không còn nghe nhắc đến.

Ghi chép về các gói phần mềm và hệ thống quản lý gói phần mềm

1. Các gói phần mềm (Software Package)

Một gói phần mềm (Software Package) là:

  • một phần mềm đã dịch ra mã thực thi (cũng có gói chứa mã nguồn)

  • và các thông tin liên quan (meta-information): mô tả (description), phiên bản (version), danh sách các gói cần có (dependencies), file cấu hình, file hướng dẫn (man), thông tin bản quyền, số kiểm tra checksum, …

  • được đóng gói theo một định dạng đóng gói và phân phối ( software packaging and distribution archive format) nào đó (deb, rpm, v.v…)

  • để có thể tìm kiếm, cài đặt, gỡ bỏ, cập nhật được bằng một hệ thống quản lý gói phần mềm.

  • nhằm cung cấp một ứng dụng hoặc một dịch vụ, ví dụ: một thư viện (library) để xử lý dạng âm thanh mp3, một bộ font, v.v… Các ứng dụng nhỏ có thể được đóng thành một gói, nhưng các ứng dụng lớn như OpenOffice gồm rất nhiều gói.

Tên của gói (package name) không có quy định thống nhất. Xét một ví dụ:

x11-driver-video-nvidia-current-195.36.31-1mdv2010.0.x86_64.rpm

trong đó:

  • x11-driver-video-nvidia-current: tên riêng của gói (driver của card màn hình NVIDIA).

  • 195.36.31 : version chính.

  • 1mdv2010.0 : gói dùng cài cho Mandriva 2010.0, version 1. Version 1 ở đây là version của phiên bản cài cho Mandriva, khác với version chính ở trên. Gói dành cho Mandriva ký hiệu là mdv, cho Red Hat là fc, …

  • x86_64 : dùng cho các bộ vi xử lý Intel 586, 686, … 64 bit. Đây là phần chỉ ra kiến trúc bộ vi xử lý mà gói đã được dịch. Nếu là vi xử lý 32 bit thì phần này là i386, i586, i686 , … Nếu gói phần mềm có thể chạy trên bất kỳ bộ vi xử lý nào thì phần này là no_arch hoặc noarch (no architecture – không phụ thuộc kiến trúc bộ vi xử lý).

  • rpm : định dạng đóng gói và phân phối. Hai định dạng đóng gói và phân phối phổ biến nhất là rpm và deb.

Mô tả (description): mô tả vắn tắt công dụng và các đặc điểm chính của gói. Phần này rất quan trọng để tìm kiếm gói theo công dụng. Ví dụ gói wammu dùng quản lý điện thoại di động, trong phần mô tả của nó có từ khóa “mobile phone”. Nếu chỉ tìm theo từ khóa đó ở tên gói thì không tìm ra gói này.

Các gói cần có (dependencies): các gói này thường được dịch là “các gói phụ thuộc” như vậy là không chính xác về nghĩa. Dịch chính xác phải là “các gói mà gói đang xét phụ thuộc vào”. Đó là những gói mà gói đang xét cần đến để thực hiện các chức năng của nó và cũng phải được cài trên hệ thống. Khi cài đặt gói đang xét, hệ thống quản lý gói sẽ đọc danh sách các gói cần có, rà soát xem đã được cài chưa, và tự động cài các gói cần có còn thiếu.

Định dạng đóng gói và phân phối (software packaging and distribution archive format): mã thực thi cùng các meta-information nói trên được đóng gói theo một định dạng có thể phân phối đến các nơi cần cài đặt. Có hai định dạng đóng gói và phân phối phổ biến nhất là deb và rpm. Đó là các định dạng lưu trữ để cài đặt, là trường hợp riêng của các định dạng lưu trữ nói chung (vd: tar là định dạng đóng gói nhưng không cài đặt được, 7z vừa đóng gói vừa nén, Windows dùng hai định dạng đóng gói cài đặt là msi, cab …).

Các định dạng lưu trữ lại là trường hợp riêng của định dạng file nói chung (file format). Vì vậy cũng có thể gọi deb là một file format như doc và mp3 vậy.

Hệ thống quản lý các gói phần mềm

Trong một bản Linux, hệ thống quản lý các gói phần mềm ( package management system) gồm nhiều công cụ để:

  • Tìm kiếm các gói và các gói cần có của nó (dependencies) trong các kho phần mềm online hoặc trên CD, ổ cứng, …Tải các gói đó về để chuẩn bị cài, nâng cấp.
  • Kiểm tra các chữ ký số, hằng số băm để đảm bảo tính xác thực của kho phần mềm và độ trung thực của phần mềm đã tải về.
  • Tự động hóa các quá trình cài đặt, nâng cấp, cấu hình và gỡ bỏ các gói phần mềm.
  • Ngoài ra còn dùng để tìm kiếm, cung cấp thông tin về các gói phần mềm.

2. DEB và hệ thống quản lý file deb

2.1-Nội dung file deb

File deb là file phần mềm dùng để cài đặt được đóng gói theo định dạng deb và có phần đuôi file cũng là deb. Deb ra đời từ cụ tổ Linux Debian, có nguồn gốc từ tên người tình, (sau là vợ rồi hình như lại bỏ) Debra của người sáng lập ra Debian là Ian Murdock, cũng như bản thân tên Debian vậy. Nhiều bản Linux hiện nay dùng định dạng này (Ubuntu, Mint, …)

( Phần mềm nguồn mở có cái lợi thế đó. Bạn nào thích nịnh vợ hoặc người yêu, sửa sang đôi chút một bản Linux rồi đặt tên của “nàng”, post lên Internet cho nàng nổi danh toàn thế giới chắc chắn là hiệu quả cao. Nếu lập trình viên cho một công ty phần mềm nguồn đóng còn lâu mới tự do được như vậy).

Đây là một trong hai định dạng đóng gói và phân phối phổ biến nhất hiện nay. Trong Ubuntu, nhấn phím phải vào một file deb rồi chọn Open With → Archive Manager, mở file trong File Roller sẽ thấy như sau:

Trong mỗi file deb có ba file:

  • debian-binary: là file mã thực thi của gói phần mềm đó.

  • control.tar.gz: file đóng gói (tar) và nén (gz) chứa các thông tin điều khiển (file mô tả, cấu hình, md5sum, các shell script nếu có). Tức là các meta-information.

  • data.tar.gz: file đóng gói, nén chứa tên các thư mục và file sẽ cài.

Nếu định tìm hiểu kỹ, giải nén file trên rồi giải nén tiếp hai file control và data tha hồ đọc.

Mở file như trên chỉ để xem cho biết. Còn để cài chỉ việc nhấn đúp vào file hoặc nhấn phím phải rồi chọn Open with GDebi Package Installer để cài bằng GDebi.

2.2-Hệ thống quản lý file deb

  • 2.2.1- dpkg

  • dpkg là phần mềm công cụ cấp thấp để quản lý các file deb. Nó cài đặt, gỡ bỏ, cấu hình, cung cấp thông tin file deb bằng giao diện dòng lệnh. Để xem thông tin đầy đủ về dpkg, mở terminal chạy lệnh man dpkg. Dưới đây tóm tắt vài thứ hay dùng với gói xyz.deb, dùng quyền root:

    • dpkg -i xyz.deb (hoặc dpkg –install xyz.deb) cài đặt gói. Khi cài xong, thực hiện cấu hình tự động hoặc yêu cầu người cài cấu hình (nếu cần).

    • dpkg -r xyz.deb (hoặc dpkg –remove xyz.deb) gỡ bỏ (uninstall) gói đã cài. Lệnh này gỡ bỏ mọi thứ thuộc về gói trừ file cấu hình. Nếu cài lại thì không phải cấu hình lại.

    • dpkg -P xyz.deb (hoặc dpkg –purge xyz.deb). gỡ bỏ toàn bộ gói đã cài kể cả file cấu hình.

    • dpkg-reconfigure xyz.deb cấu hình lại gói xyz. Lệnh này hay được dùng để cấu hình lại màn hình, bàn phím, chuột quản lý bởi gói xserver-xorg. Hoặc khi cài, upgrade nhiều gói bị hỏng giữa chừng, dùng lệnh dpkg-reconfigure -a để cấu hình lại tất cả các gói.

    • còn nhiều nữa. Chạy lệnh man dpkg để xem.

    dpkg có thể dùng trực tiếp như trên hoặc là back-end (phần mềm nền) cho một số công cụ cao cấp hơn (front-ent) như nêu dưới đây. Các công cụ mặt tiền (front-end) bổ xung thêm các tính năng, giao diện thuận tiện cho sử dụng nhưng cuối cùng đều gọi đến back-end để thực hiện.

    2.2.2- APT

    APT ( Advanced Packaging Tool) là hệ thống quản lý gói phần mềm (management system for software packages). Ban đầu nó được xây dựng như front-end cho dpkg để quản lý các gói deb. Nhưng hiện nay đã phát triển quản lý được cả các gói rpm (PCLinuxOS hiện dùng apt), thậm chí cả các gói phần mềm của MacOS, OpenSolaris và iPhone OS.

    Apt không phải là một lệnh riêng như dpkg. Nó là một bộ các công cụ và thư viện để quản lý các gói phần mềm. Giao diện dòng lệnh là apt-get, giao diện text là aptitude và giao diện đồ họa là Synaptic, Kpackage, …

    a/ Giao diện dòng lệnh apt-get có mấy lệnh hay dùng sau:

    • apt-get install xyz Lệnh này có thể tìm gói xyz và các gói cần có (dependencies) của nó trong kho phần mềm trên Internet, tải về rồi cài. Lệnh dpkg -i chỉ cài được các gói đã tải về ổ cứng. Tên gói có thể không cần có đuôi deb.

    • apt-get remove xyz gỡ bỏ phần mềm đã cài

    • apt-get autoremove khi gỡ bỏ một gói, các phần mềm cần có của nó không được gỡ và có thể không còn gói nào cần đến chúng nữa. Lệnh này gỡ bỏ những gói không còn cần đến (gọi là gói mồ côi – orphan packages).

    • apt-get install -f chữa lỗi khi cài (f viết tắt của fix). Khi cài hoặc upgrade nhiều gói, có thể xảy ra nhiều loại lỗi: một gói không tải về được, mất điện bất ngờ hoặc máy bị treo, …. quá trình cài bị dang dở. Lệnh này chữa các lỗi đó.

    • còn nhiều nữa. Chạy lệnh man apt-get để xem.

    b/ Giao diện text aptitude:

    Mở terminal, chạy lệnh sudo aptitude, giao diện xuất hiện như sau:

    Trong giao diện này (dùng chuột được) có thể chạy các lệnh trong menu để cài, gỡ,… các gói phần mềm có trong các kho, trực quan và đỡ nhầm hơn dùng lệnh. Aptitude cũng dùng được dưới dạng lệnh, xem man aptitude để biết chi tiết.

    Còn một giao diện text nữa là dselect nhưng trong Ubuntu không cài sẵn.

    Các giao diện dòng lệnh hoặc text thuận lợi trong trường hợp bị mất màn hình đồ họa hoặc cần theo dõi chi tiết các thông báo về quá trình cài để tìm lỗi.

    c/ Giao diện đồ họa gồm có:

      • GDebidùng cài các gói lẻ.

      • Synaptic (Synaptic Package Manager) viết bằng GTK+, thường dùng trong các bản Linux GNOME.

      • KPackage là giao diện dùng trong KDE.

      • Cydia dùng cho hệ điều hành iPhone OS.

      • Wajig xem ở đây.

    Trong Ubuntu và Linux Mint còn có những phần mềm Software Center dùng để quản lý các phần mềm ứng dụng hoàn chỉnh, thuận tiện cho người dùng bình thường tìm và cài phần mềm, không chi tiết đến mức từng gói phần mềm lẻ như các phần mềm nói trên.

    3. RPM và hệ thống quản lý file RPM

    3.1-File RPM

    File rpm là file phần mềm dùng để cài đặt, được đóng gói theo định dạng rpm và có đuôi file cũng là rpm. RPM đầu tiên phát triển dành cho bản Linux Red Hat (RPM: Red Hat Package Manager), sau này phổ biến sang các bản Linux khác như Mandriva, SUSE, Fedora, PCLinuxOS, … và gần đây nhất là MeeGo (dùng cho netbook, tablet và smartphone).

    Một trong những ưu điểm của loại file này mà openSUSE hiện đang dùng là nó có thể tạo các file nâng cấp PatchRPM hoặc DeltaRPM chỉ chứa phần thay đổi để cài vá vào bản đã cài trước đó. Các file nâng cấp đó có dung lượng nhỏ nên quá trình tải về từ Internet và cài nhanh hơn kiểu tải cả file deb mới về cài thay thế file cũ như ở Ubuntu hiện nay.

    Giữa hai kiểu file deb và rpm cũng có tranh chấp hơn thua, nhưng cũng như GNOME và KDE khó mà nói cái nào hơn cái nào.

    File RPM khác file DEB là nội dung file đều đã dịch sang mã máy. Trong một file RPM có các thành phần chính sau:

    • Mã định danh file là một file RPM.

    • Chữ ký số để kiểm tra tính toàn vẹn và xác thực nguồn gốc file.

    • Phần đầu file chứa các meta-information như tên gói phần mềm, version, kiến trúc vi xử lý, danh sách các file trong gói, v.v..

    • Phần thân file lưu theo định dạng cpio và nén bằng gzip.

    3.2-Hệ thống quản lý file RPM

    3.2.1- rpm

    rpm là một công cụ cấp thấp để tìm kiếm, cài đặt, gỡ bỏ các gói rpm (tương tự như dpkg với gói deb nói ở trên). Một số lệnh hay dùng:

    • rpm -i xyz.rpm (hoặc rpm –install xyz.rpm) dùng cài đặt.

    • rpm -e xyz.rpm (hoặc rpm –erase xyz.rpm) dùng gỡ bỏ gói đã cài.

    • còn nhiều nữa. Chạy lệnh man rpm để xem.

    Cũng như dpkg, rpm thường được dùng làm back-end (phần mềm nền) cho một số công cụ quản lý gói cao cấp hơn nêu dưới đây.

    3.2.2- Hệ thống quản lý gói phần mềm của Mandriva

    a/ Giao diện dòng lệnh urpmi: urpmi là lệnh dùng tìm kiếm, tải về, cài đặt, gỡ bỏ các gói phần mềm. Một số lệnh hay dùng:

    • urpmi xyz lệnh này hoạt động tương tự như apt-get install đã nói ở trên.

    • urpme xyz gỡ bỏ gói xyz đã cài.

    • urpme – -auto-orphans tương tự apt-get autoremove.

    • urpmi – -auto-update cập nhật toàn hệ thống

    • urpmi – -clean xóa các file tải về đang lưu ở /var/cache/urpmi/rpms

    • và nhiều nữa, chạy lệnh man urpmi để xem.

    b/ Giao diện đồ họa gurpmi: gurpmi dùng cài gói lẻ (giống GDebi của Ubuntu), có ba cách chạy:

    • chạy từ dấu nhắc lệnh: gurpmi xyz, sau đó sẽ xuất hiện màn hình cài đặt gói xyz.

    • nhấn đúp chuột vào file xyz.deb, màn hình của gurpmi xuất hiện để bắt đầu quá trình cài.

    • trong quá trình cài bằng rpmdrake, những lúc cần hỏi người cài, gurpmi cũng được gọi xuất hiện.

    c/ Giao diện đồ họa rpmdrake: rpmdrake chính là phần mềm Install&Remove Software chạy từ menu hoặc các mục trong Software Management của Mandriva Control Center. Rpmdrake có nhược điểm là không tìm kiếm được trong Description của gói phần mềm. Về nhiều mặt, Rpmdrake quản lý các gói rpm tương tự như Synaptic hoặc KPackage quản lý các gói deb.

    Rpmdrake có một ưu điểm so với Synaptic, KPackage là có thể chọn một trong ba phần mềm download: curl, wget và aria2, trong đó aria2 có nhiều tính năng hay và do đó Rpmdrake có thể tự động chọn kho phần mềm nhanh nhất.

    d/ Giao diện đồ họa smart: tương tự như rpmdrake nhưng được đánh giá là “thế hệ tiếp theo” của trình quản lý gói, tức là tiên tiến hơn. Hiện chưa được Mandriva hỗ trợ chính thức, nhưng có trong kho phần mềm Contrib. Mở rpmdrake rồi tìm cài gói smart-gui, sau đó chạy từ Menu → Tools → System Tools → Smart Package Manager. Màn hình như sau:


    Smart có một số tính năng mà Rpmdrake không có: tìm kiếm được trong Description (nhưng khá chậm), Fix All Problems, Check … Chưa tìm hiểu kỹ nên không rõ có nhược điểm gì không.

    3.2.3- Hệ thống quản lý gói phần mềm RPM của các bản Linux khác

    Những bản Linux dùng định dạng RPM thì back-end đều là rpm, còn các front-end khác nhau:

    Red Hat và các bản dựa trên nó (Fedora, CentOS, …) dùng front-end là  yum.

    PCLinuxOS dùng front-end là  apt-rpm (nhánh apt hỗ trợ quản lý gói rpm có lệnh apt-get tương tự như với gói deb) và Synaptic. (như Synaptic của Ubuntu nhưng hỗ trợ định dạng RPM).

    SUSE, openSUSE dùng front-end Zypper, ZYpp

    4. Quan hệ qua lại giữa hai dạng deb và rpm

    4.1-Convert gói deb thành rpm và ngược lại

    Phần mềm alien dùng để convert qua lại giữa hai dạng gói trên. Ví dụ:

    alien -c -r xyz.deb sẽ tạo ra gói xyz.rpm. Option -c để conver các script trong gói đó nếu có.

    Tuy nhiên cần chú ý là không phải cứ convert sang là cài được.

    4.2-Các công cụ quản lý gói phần mềm

    Các công cụ quản lý như APT, Synaptic,… tuy xuất phát điểm chỉ hỗ trợ một dạng gói nhưng sau này đều phát triển tiếp hỗ trợ cả dạng kia. Điển hình là PCLinuxOS hiện dùng apt-get và Synaptic để quản các gói rpm.

    Các loại menu chính của KDE và GNOME

    Menu chính (Main Menu) là menu của toàn bộ máy tính, mở ra từ một nút ở góc bên trái panel, từ đó truy cập đến các phần mềm ứng dụng, các thư mục chính trên máy.
    KDE hiện có hai loại menu chính: classic menu và kickoff menu.
    Mandriva chọn Classic Menu làm menu mặc định. Các bản Linux KDE khác như Kubuntu, openSUSE lại chọn Kickoff Menu. Chuyển đổi qua lại giữa hai loại menu đó dễ dàng: nhấn phím phải chuột vào nút menu trên panel rồi chọn Switch to …

    Hình 1: Classic Menu

    Hình 2: Kickoff Menu

    Mỗi loại menu đều có cái hay dở riêng. Chọn dùng cái nào phụ thuộc ý thích và thói quen từng người. Kickoff Menu là loại ra đời gần đây (từ KDE4), không gian rộng hơn, hình thức đẹp hơn và có thanh Search để tìm các ứng dụng. Nhược điểm là nhiều khi phải mất nhiều lần kích chuột mới đến được nơi cần tìm. Các ưu nhược của Classic Menu ngược với trên.

    Gnome dùng phổ biến Menu Bar: một đoạn trên panel chia thành ba mục chính Applications, Places và System. Tuy nhiên, ngay trong Gnome cũng có một Main Menu gọn hơn giống như Classic Menu của KDE, chỉ tập trung vào một nút nhấn (nhấn phím phải chuột vào panel, chọn Add to Panel rồi chọn Main Menu).

    Hình 3: Main Menu

    Một trong những ưu điểm được khen của Linux Mint là nó có một loại menu riêng, hơi giống Kickoff Menu của KDE. Để cài menu này vào Ubuntu, mở terminal, lần lượt chạy hai lệnh sau (lệnh đầu add kho phần mềm cá nhân -ppa, Personal Package Archives, lệnh sau cài Mint menu):

    sudo add-apt-repository ppa:webupd8team/mintmenu && sudo apt-get update
    sudo apt-get install mintmenu

    Khi cài xong, nhấn phím phải chuột vào panel, chọn Add to Panel rồi chọn Mint Menu trong danh sách.

    Nút nhấn của Mint Menu sẽ xuất hiện trên panel có chữ Menu và logo của Mint màu xanh lá mạ ở bên trái. Logout ra rồi Login vào, nhấn vào nút đó, menu như sau:

    Hình 4: Mint Menu

    Mint Menu là một nhánh của dự án Slab, lập một menu có tên là Gnome main menu. OpenSUSE dùng Gnome main menu làm menu mặc định, nhưng Ubuntu thì không cài. Trong Ubuntu, mở Synaptic Package Manager rồi chọn cài gói gnome-main-menu. Khi cài xong, nhấn chuột phải vào panel, chọn Add to panel rồi trong danh sách các applet chọn Main Menu có biểu tượng màn hình màu tím đỏ ở bên trái (trùng tên với Main Menu đã nói ở trên). Nút nhấn của menu này xuất hiện trên panel có biểu tượng màn hình và từ “Computer”. Nhấn vào đó, menu xuất hiện như sau:

    Hình 5: GNOME Main Menu

    Menu này có nhược điểm là khi muốn tìm một phần mềm không có trong Favorite, phải nhấn vào nút More Applications, chờ một màn hình lớn mở ra để tìm.

    Cuối cùng, Gnome còn một kiểu menu nữa có màu sắc đẹp và hình thức giống kiểu menu Kickoff của KDE gọi là gnoMenu. Để cài nó vào Ubuntu, mở terminal chạy hai lệnh sau:

    sudo add-apt-repository ppa:gnomenu-team/ppa && sudo apt-get update
    sudo apt-get install gnomenu

    Sau khi cài xong, nhấn phím phải vào panel, chọn Add to panel rồi chọn GnoMenu (có thể phải logout ra hoặc reboot máy). Nút nhấn của nó trên panel có hình chữ nhật màu xanh tím.

    Hình 6: GnoMenu

    Menu này đặc biệt chú trọng hình thức. Nó có theme engine nên có thể chọn nhiều loại theme, kể cả sound theme. Nhấn phím phải chuột vào nút GnoMenu trên panel, chọn Propeties sẽ xuất hiện màn hình Settings cho thay đổi nhiều thứ.

    Hệ thống quản lý cấu hình của GNOME

    Hệ thống quản lý cấu hình của GNOME.

    Trong một bài trước, khi cần chuyển các nút điều khiển màn hình của Ubuntu 10.04 ta đã dùng đến hệ thống này và nhân tiện cũng có bạn hỏi, giờ tìm hiểu kỹ hơn một chút.

    Trong GNOME có một hệ thống gọi là GConf configuration system. Đây là một dự án con của GNOME gồm các nét chính sau đây:

    Dùng để quản lý tập trung các thiết lập (settings, options, preferencies) của bản thân GNOME và các phần mềm ứng dụng. Người dùng có thể xem, thay đổi, xóa, tạo mới các thiết lập đó từ một chỗ, không phải lần mò từng ứng dụng. Phần nào giống như Windows Registry.

    Hệ thống cấu hình được tổ chức phân cấp giống như hệ thống thư mục, gồm các key, mỗi key hoặc là một thư mục chứa nhiều key khác hoặc có một giá trị.Ví dụ trong hình trên, key exec có “đường dẫn” là /desktop/gnome/applications/browser/exec và lấy giá trị là “firefox”. Nó nói rằng khi một ứng dụng gọi đến trình duyệt thì chạy Firefox.

    Các thiết lập cấu hình quản lý tập trung nhưng lại đặt ở nhiều nơi:

    /etc/gconf/ (thiết lập chung, user không sửa được)

    $(HOME)/.gconf (thiết lập riêng của từng user)

    Các key và giá trị của nó được lưu thống nhất dưới một dạng cơ sở dữ liệu. Hiện tại dạng lưu trữ được dùng là file XML (Extensible Markup Language- ngôn ngữ đánh dấu mở rộng).

    Có hai cách truy cập đến hệ thống GConf: dùng lệnh gconftool-2 hoặc dùng phần mềm gconf-editor (nhấn Alt+F2 rồi chạy lệnh gconf-editor, màn hình như ở trên). Cách sửa một key xem ví dụ ở đây.

    Khi thay đổi thiết lập trong từng phần mềm, phải nhấn nút Apply hoặc OK sửa đổi đó mới được thực hiện. Khi thay đổi bằng GConf (ví dụ trong gconf-editor), chỉ cần gõ xong là thực hiện ngay (instant-apply).

    Không phải phần mềm nào cũng hỗ trợ GConf. Ví dụ trong màn hình của gconf-editor, vào menu Edit → Find rồi gõ từ khóa để tìm ta sẽ thấy ibus có, nhưng scim thì không.

    Cũng như Windows Registry, GConf không dành cho user bình thường chọc ngoáy, nhất là hiện tại nó không hỗ trợ việc backup các file cấu hình trước khi sửa. Cho nên nếu dùng nó phải hết sức cẩn thận.

    Nhưng có điều này user bình thường có thể làm được (mặc dù cũng nguy hiểm): dọn dẹp GConf bằng phần mềm gconf-cleaner. Mở Synaptic Package Manager, tìm cài nó vào rồi chạy từ Applications → System Tools → GConf Cleaner. Sau khi nhấn hai lần Forward, màn hình như sau:

    Màn hình trên cho biết tổng số các thư mục chứa thông số cấu hình là 812, tổng số key là 3563 và số key có thể xóa là 105. Nhấn vào dấu cộng bên trái Details để xem danh sách key xóa được và bỏ chọn không xóa một số key nếu muốn. Nhấn nút Save As để lưu các key sẽ xóa thành một file reg, sau này khôi phục nếu cần.

    Nhấn tiếp nút Forward là các key sẽ bị xóa.

    Ở trên nói nguy hiểm là vì gconf-cleaner là một dự án riêng, còn quá mới (phiên bản hiện tại là 0.0.3), mức độ tích cực hoạt động của dự án này được đánh giá là Low (xem tại đây). Nếu nó là dự án con của GConf thì tin cậy hơn và cũng không rõ nó chọn các key xóa được dựa trên tiêu chí nào.

    Cũng như trong Windows Registry, để nó chất chồng nhiều rác thì máy sẽ chậm. Mà dọn dẹp, xóa bớt đi thì chẳng may cũng chết. Giới thiệu ở đây để biết và theo dõi, nếu bạn dùng phải chấp nhận rủi ro.

    KDE hiện nay không có hệ thống này. Nhưng nó lại có System Settings khá hay (ví dụ xem trong Mandriva và PCLinuxOS)

    Vấn đề card màn hình trong Fedora 13 (tham khảo cho các bản Linux khác)

    Vấn đề card màn hình trong Fedora 13

    (Fedora 13 vừa ra đời. Tôi lược dịch dưới đây phần nói về các vấn đề card màn hình trong bản Linux này để tham khảo chung cho các bản Linux khác. Bài giới thiệu các điểm mới trong Fedora 13 này khá dài. Link gốc ở tên bài.)

    Giống như các phiên bản Fedora trước và như Ubuntu 10.04, Fedora 13 chủ yếu dùng các driver màn hình với kernel mode settings (KMS). Về một số mặt, Fedora 13 lại dẫn đầu trong việc hỗ trợ KMS cũng như hỗ trợ các driver nguồn mở “ intel” và “nouveau” của các chip đồ họa Intel và NVIDIA. Các driver này dựa trên KMS, vì vậy việc đặt thông số nomodeset cho kernel không còn giải quyết được các trục trặc do KMS gây ra mà chỉ bảo X Server dùng driver VESA với những tính năng cơ bản, không dùng bình thường được.

    ( Thảo nào mà với Ubuntu, nomodeset không có tác dụng, xem thêm ở đây)

    Tuy nhiên các driver cho chip đồ họa Intel dựa trên KMS có lẽ sẽ sớm xuất hiện trong các bản Linux khác vì nó hỗ trợ một số card màn hình hiện tại và tương lai tốt hơn các driver cũ (những driver cũ có thể làm việc theo hai chế độ: có và không KMS). Với driver Nouveau cho card NVIDIA cũng vậy. Phiên bản Nouveau trong Fedora hỗ trợ một tính năng được chờ đợi từ lâu, đặc biệt với các fan của PMNM: hỗ trợ 3D trong driver nguồn mở cho các card GeForce. Trong Fedora 13, tính năng đó chỉ được xem là thử nghiệm và chỉ có sau khi cài bằng tay gói “mesa-dri-drivers-experimental” và khởi động lại X Server. Nhưng trong các thử nghiệm bước đầu, nó không có vấn đề gì lớn và nếu tiếp tục phát triển, tính năng đó có lẽ sẽ đứng đầu danh sách “Các tính năng muốn có – Whishlist” của những bản Linux thiên về nguồn mở như Debian hoặc openSUSE.

    Hỗ trợ 3D cho các card Radeon series 2000, 3000 và 4000 trong Fedora 12 còn được xem là thử nghiệm thì trong Fedora 13 đã đủ trưởng thành và được kích hoạt mặc định. Những người có card Radeon vẫn có thể bỏ KMS nếu gặp trục trặc vì driver hiện tại vẫn có thể làm việc không cần KMS. Chip đồ họa Evergreen có trên card Radeon 5000 cũng mới được hỗ trợ ở mức cơ bản từ mùa thu vừa rồi. Các nhà phát triển Fedora nói họ sẽ cải thiện việc hỗ trợ DisplayPort trong các driver RadeonNouveau .

    X.org X Server 1.8.0 vừa ra đời đầu tháng 4 chịu trách nhiệm hiển thị giao diện đồ họa của user. Một số driver card màn hình nguồn đóng của các hãng không hợp tác với phiên bản X Server này, ví dụ NVIDIA Legacy driver cho các card màn hình Geforce đời cũ. Driver Linux NVIDIA thì tương thích với X Server 1.8.0 và có thể cài bằng tay từ các kho phần mềm add-on như RPM Fusion. Tuy nhiên với Ubuntu thì cách cài còn khá phức tạp.

    Người dùng các card Radeon đời mới có lẽ sẽ thấy X Server 1.8 đặc biệt rắc rối vì các driver Catalyst và Fglrx for Linux của AMD hiện không làm việc với X Server 1.8. Điều đó là chung cho các bản Linux dùng X Server đời mới vì AMD đôi khi mất đến hàng tháng để sửa driver nguồn đóng của họ cho phù hợp với các phiên bản X Server mới.

    Trong Fedora 13, tính trì trệ của AMD đặc biệt trầm trọng với các card HD 5000. Hiện tại các card này chỉ được hỗ trợ cơ bản như đã nói ở trên. Các tay game cũng gặp khó khăn khi muốn dùng driver của AMD cho các card 2000, 3000 và 4000 vì Catalyst hỗ trợ 3D tốt hơn nhiều so với driver nguồn mở có trong Fedora 13. Trường hợp này có lẽ dùng Fedora 12 sẽ tốt hơn, ít nhất là vào thời điểm này.

    ( Tóm lại là còn nhiều rắc rối. Nguyên nhân chính là đang vào buổi giao thời giữa công nghệ cũ và mới. Cũng như KDE4 hồi mới ra đời rất nhiều cái lủng củng, đến bây giờ mới tạm ổn.

    Một nguyên nhân nữa mà người dùng Linux cần biết và chấp nhận là các bản Fedora, openSUSE, … là những con chuột bạch thí nghiệm các tính năng mới cho các bản Red Hat, SUSE có thu phí. Về một mặt nào đó, các bản Ubuntu không phải LTS cũng vậy)

    Các máy chủ Linux tích hợp sẵn.

    Các máy chủ Linux tích hợp sẵn.

    Trong một post trước, có viết về hai hướng xây dựng một máy chủ Linux:

    1- Tự thiết kế, lắp ghép, cấu hình, tinh chỉnh, tối ưu hóa các module cần thiết với nhau. Cách này đòi hỏi trình độ cao, kiên nhẫn nhưng bù lại cho hiểu biết rất sâu về hệ thống được xây dựng. Tuy nhiên, nó khá nguy hiểm trong thực tế kể cả cho bản thân người xây dựng vì:

    • Không có gì đảm bảo hệ thống đã xây là tốt, ổn định, tối ưu. Rất dễ gặp các lỗi chết người ảnh hưởng đến công việc chung.

    • Trình độ bản thân chúng ta có hạn, lắp được một hệ thống phức tạp chỉ mới ở mức độ chạy được rất dễ dẫn đến tự mãn.

    2- Dùng một bộ phần mềm lắp ghép sẵn, ví dụ Zimbra, iRedMail, eBox, v.v… Những bộ này thường do các nhóm chuyên gia tay nghề cao thiết kế, lắp ghép, tinh chỉnh, tối ưu hóa sẵn. Việc của chúng ta chỉ là so sánh, chọn cái phù hợp, cài đặt, cấu hình tối thiểu để dùng. Đây cũng chính là hướng mà các phần mềm máy chủ Windows vẫn dùng.

    Tôi vẫn phải nhắc lại những điều trên vì bản thân đã có kinh nghiệm về những chuyện như vậy và cho đến gần đây vẫn còn thấy trong danh sách PMNM ưu tiên của bộ Thông tin Truyền thông có Postfix, Sendmail, những thành phần cơ bản nhưng chỉ mình nó không làm nên một máy chủ email được.

    TurnKey Linux, Linux chìa khóa trao tay, là một dự án rất đáng chú ý theo hướng thứ hai và còn đi xa hơn nữa. Nó xây dựng các bộ phần mềm máy chủ nguồn mở:

    • Có các bản cài đặt đầy đủ trên máy chủ vật lý, máy chủ ảo và trong môi trường điện toán đám mây. Cài đặt nhanh và hệ thống sẵn sàng hoạt động ngay.

    • An toàn và dễ bảo trì: tự động cập nhật hàng ngày các bản vá an ninh mới nhất.
    • 100% nguồn mở, không lo các vấn đề bản quyền. Dễ dàng customize và mở rộng.
    • Hệ điều hành hiện tại là Ubuntu 8.04 server (chắc là sẽ có bản cho Ubuntu 10.04).

    Mỗi bộ phần mềm TurnKey Linux được gọi là một appliance, gồm hệ điều hành Ubuntu 8.04 và các phần mềm chức năng cần thiết. Hiện tại có các bộ:

    • Quản lý nội dung (Content Management): Drupal, Joomla,  …
    • Phát triển web (web development): LAMP, Tomcat, Ruby on Rail, …
    • Tin điện tử (messaging): Zimbra (email), phpBB (forum), …
    • Cơ sở dữ liệu (database): MySQL và PostgreSQL.
    • Khác: File server, Domain Controller, ERP (OpenBravo), …

    Ví dụ phần mềm máy chủ cộng tác Zimbra Appliance có ba bộ cài đặt: một bộ cho máy ảo (file zip), một bộ cho máy chủ vật lý (file iso) và một bộ cho đám mây điện toán Amazon EC2. Nó được cấu hình sẵn cho một domain tượng trưng là example.com có thể sửa dễ dàng. File server Appliance cũng tương tự, có các trình quản lý cấu hình, quản lý file dạng web-based.

    Tôi cũng chưa kịp thử. Thấy có vẻ hay thì chia sẻ cho những bạn cùng quan tâm.

    Ghi chép về mã hóa (sửa, bổ xung)

    Ghi chép về mã hóa.

    (Mọi bản ghi chép công bố trên blog này đều là ghi chép cá nhân nhặt nhạnh trên Internet để tìm hiểu sâu hơn đôi chút một vấn đề. Thông tin trong đó có thể sai theo hiểu biết hạn chế của tác giả.)

    Mã hóa là gì

    Xét ví dụ một bảng mã hóa (mật mã) đơn giản, các chữ cái chuyển thành một cặp số cột – hàng:

    1

    2

    3

    4

    5

    1

    A

    B

    C

    D

    E

    2

    F

    G

    H

    I/J

    K

    3

    L

    M

    N

    O

    P

    4

    Q

    R

    S

    T

    U

    5

    V

    W

    X

    Y

    Z

    Theo bảng này, từ “TAN CONG” sẽ được mã hóa (encryption) là: 44 11 33 31 43 33 22. Dãy số này được gọi là mật mã của từ TAN CONG.

    Người không có bảng mã trên, đọc hàng số đó sẽ không hiểu gì. Người có bảng mã sẽ giải mã (decryption) được hàng số đó thành từ “tan cong”. Bảng mã nói trên là một dạng thuật toán mã hóa.

    Mã hóa là việc dùng một thuật toán mã hóa và một hoặc nhiều khóa mã biến đổi thông tin có nghĩa (plaintext – văn bản) thành chuỗi ký tự vô nghĩa (ciphertext – mật mã). Chỉ những người biết thuật toán và có khóa mã mới giải mã thông tin đã mã hóa thành thông tin có nghĩa.

    Hệ thống mã hóa: gồm thuật toán (hàm toán học) để mã hóa, các khóa mã và các thủ tục (protocol) để thực hiện quá trình mã hóa.

    Mã hóa “mạnh” và “yếu”: mã hóa được chia thành 2 loại. Mã hóa yếu chỉ có mục đích hạn chế người bình thường không đọc được nội dung, mã hóa mạnh thì ngay cả các siêu máy tính có thể phải mất hàng chục năm hay lâu hơn mới phá mã được nếu không có khóa mã.

    Mã hóa dùng một khóa mã bí mật (symmetric key technique)

    Trong kỹ thuật mã hóa này, người gửi và người nhận thông tin có cùng một khóa mã duy nhất. Người gửi dùng khóa mã, mã hóa thông tin rồi gửi đi. Người nhận dùng cũng khóa mã đó để giải mã thông tin và đọc.

    Vì chỉ có một khóa mã và dùng chung nên kỹ thuật mã này còn có nhiều tên khác nhau như : symmetric-key, secret-key, single-key, shared-key, one-key, và private-key. Dưới đây ta sẽ gọi là khóa chung.

    Hình 2.1: Mã hóa dùng một khóa mã bí mật

    Loại khóa này tương tự như những khóa thông thường chỉ có một chìa. Chỉ có thể đóng, mở khóa bằng những chìa giống hệt nhau.

    Chuẩn mã hóa quốc gia đầu tiên của Mỹ (và cũng được sử dụng rộng rãi trên toàn thế giới) là DES (Data Encryption Standard) dùng khóa mã đối xứng dài 56 bit. Sau khi được công bố năm 1976, đến năm 1999 mật mã này bị phá trong 22 giờ 15 phút, dùng cách vét cạn (brute force): dò thử tất cả 70,000,000,000,000,000 tổ hợp ký tự của khóa 56 bit.

    Về nguyên tắc để dò một số lượng lớn khóa mã như vậy phải có một siêu máy tính cực nhanh. Tuy nhiên năm 1997, dự án DESCHALL Project dùng thời gian rỗi của hàng nghìn máy tính trên Internet đã phá được DES, dành giải thưởng $10,000 của RSA Security .

    Hiện nay, DES được coi là không đủ an toàn và thay bằng AES (Advanced Encryption Standard) công bố năm 2002 với khóa mã dài 128, 192 hoặc 256 bit. Ngoài ra còn các chuẩn mã hóa một khóa khác như Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, IDEA.

    Ưu nhược điểm: nhanh, rất phù hợp nếu thông tin mã hóa không phải chuyển đi đâu (chỉ dùng cho một người).

    Nếu thông tin mã hóa phải chuyển qua mạng cho một người thứ hai đọc, nhất là trên khoảng cách xa, khó khăn chính là phải chuyển được khóa mã cho người nhận một cách bí mật (phân phối khóa). Nếu trong quá trình chuyển khóa mã, một bên thứ ba có thể sao chép được khóa mã đó thì họ cũng có thể chặn bắt thông tin đã mã hóa và dùng khóa mã giải mã dễ dàng.

    Mã hóa dùng hai khóa mã: khóa mã công khai và khóa mã bí mật. (asymmetric key techniques)

    Để tránh được nhược điểm về phân phối khóa nói trên người ta dùng phương thức mã hóa có hai khóa mã (còn gọi là mã hóa không đối xứng – asymmetric key techniques) mới xuất hiện năm 1975.

    Loại mã hóa này có hai khóa mã: một khóa mã công khai (public key) dùng để mã hóa và một khóa bí mật (private key) dùng giải mã.

    Xét ví dụ tương tự: A định gửi một bức thư mật cho B. Các bước tiến hành như sau:

    • A yêu cầu B gửi chìa khóa công khai của B đến cho A. Vì là chìa công khai nên B có thể gửi qua bưu điện, nhờ người khác, thậm chí treo ở một nơi công cộng v.v… mà không cần giữ bí mật.

    • A viết thư, bỏ vào một cái hòm có hai chìa khóa khác nhau. Chìa công khai của B được dùng để khóa hòm đó lại rồi hòm được gửi qua bưu điện.

    • Chìa công khai của B, ai cũng có thể có một bản sao nhưng chìa công khai chỉ dùng để khóa, không dùng mở được. Do đó trên đường vận chuyển, người thứ ba không mở được.

    • B nhận được hòm, dùng chìa khóa bí mật của B để mở hòm. Khi đã khóa bằng chìa công khai của B thì chỉ có thể mở được bằng chìa bí mật của B, người khác không có chìa bí mật này không thể mở được.

    Hình 3.1: Mã hóa dùng khóa công khai và khóa bí mật

    Điểm hay của cách làm này là cái khóa mã công khai không cần dấu diếm. Cách làm tương tự khi muốn nhận email bí mật như sau:

    • B dùng phần mềm tạo ra một bộ khóa mã riêng cho mình gồm một khóa công khai (public key) và một khóa bí mật (private key). Bộ khóa mã này gắn liền với một địa chỉ email của B.

    • Khóa bí mật được cất giữ cẩn thận trên máy tính của B. Khóa công khai có thể gửi kèm theo email cho A hoặc gửi vào một máy chủ công cộng trên Internet kèm theo địa chỉ email, bất kỳ ai muốn gửi mật thư cho B đều có thể vào máy chủ đó tải bản sao khóa công khai của B về.

    • Người gửi (A) soạn thư, dùng khóa mã công khai của B để mã hóa bức thư đó rồi gửi cho B. Trên đường truyền dù có ai chặn xem thư cũng không thể đọc được vì thư đã bị mã hóa, không có khóa bí mật không giải mã được.

    • Khi thư đến máy tính của người nhận (B), người nhận dùng khóa mã bí mật và phần mềm giải mã để giải mã bức thư.

    Cách mã hóa này có hai ưu điểm:

    • Hai người trao đổi thông tin mật cho nhau không cần có thỏa thuận trước. Nếu một người có địa chỉ email kèm một khóa công khai gửi trên một máy chủ Internet, bất kỳ người nào nếu cần đều có thể tải khóa công khai đó về tạo một mật thư gửi cho địa chỉ email đó, không cần quen biết, thỏa thuận gì trước.

    • Không cần có một phương thức phân phối khóa mã tin cậy và bí mật. Để đàm bảo bí mật, khóa mã kiểu gì cũng phải định kỳ thay đổi. Trước đây, dùng hệ thống mã hóa một khóa, các ngân hàng, bộ ngoại giao phải cử người đi khắp thế giới để giao khóa mã mới rất mất thì giờ và tốn kém.

    Thuật toán mã hóa hai khóa phổ biến hiện nay là RSA.

    Hàm băm mật mã (Cryptographic Hash function – CHF)

    Khái niệm hàm băm (hash function) khác với khái niệm hàm băm mật mã (cryptographic hash function). Dưới đây ta chỉ xét khái niệm thứ hai và gọi tắt là hàm băm.

    Định nghĩa: CHF là một thuật toán xác định, áp dụng vào một khối dữ liệu có chiều dài bất kỳ để tính ra được một một chuỗi bit có chiều dài cố định (128 bits,256 bits, …) gọi là trị số băm (hash value) sao cho khi dữ liệu thay đổi dù chỉ một bit thì khi tính lại trị số băm sẽ thay đổi và do đó, mỗi khối dữ liệu sẽ có một trị số băm duy nhất.

    Hiểu nôm na, một khối dữ liệu có một trị số băm duy nhất tương tự như số chứng minh với một người. Điểm khác biệt là khi người đó chỉ rụng một sợi tóc thì khi tính lại trị số băm cũng thay đổi.

    Tại sao lại dùng từ “băm”: để tính trị số băm, thường dữ liệu được chia nhỏ (băm) ra thành nhiều phần rồi áp dụng một thuật toán tính nào đó.

    Một hàm băm lý tưởng sẽ có các tính chất sau:

    • Dễ dàng tính trị số băm với bất kỳ khối dữ liệu nào.

    • Từ trị số băm không thể tính ngược ra khối dữ liệu (hàm một chiều).

    • Không thể thay đổi khối dữ liệu (dù chỉ một bit) mà không làm thay đổi trị số băm.

    • Không thể có hai khối dữ liệu khác nhau mà có cùng một trị số băm.

    Dùng làm gì:

    • Xác nhận tính toàn vẹn của dữ liệu sau khi truyền qua mạng: các file cài đặt một bản Linux (iso) được đặt trên Internet kèm theo trị số băm md5. Sau khi tải file về, tính lại md5 của file đã tải, nếu giống với trị số đã cho trước tức là file tải về nguyên vẹn, giống hoàn toàn như file đặt trên Internet, không bị lỗi (thiếu, sai) khi download. Một email, một file được gửi qua mạng cùng với trị số băm ban đầu của nó để người nhận kiểm tra tương tự.

    • Dùng trong chữ ký số (xem phần dưới)

    • Kiểm tra password: một phần mềm tạo ra password rồi lưu giữ không phải dưới dạng nguyên bản đọc được mà dưới dạng trị số băm của password đó (để tránh bị hacker xâm nhập lấy cắp). Khi user khai password, password đó được tính trị số băm và so sánh với trị số đã lưu.

    • ….

    Hai hàm băm hiện được dùng rộng rãi là MD5 và SHA-1. SHA-1 là chuẩn của Mỹ và được xem như an toàn hơn MD5.

    Chữ ký số (digital signatures)

    Một chữ ký số đặt vào một văn bản điện tử cũng có công dụng tương tự như một chữ ký tay vào văn bản giấy:

    • Nó xác nhận rằng văn bản đúng là do người ký phát hành.

    • Người đã ký cũng không thể phủ nhận là mình không phát hành văn bản đó vì chỉ người đó mới có chữ ký số đó. Chữ ký tay có thể bắt chước giả mạo được, nhưng chữ ký số thì không. Cũng không thể tách chữ ký số ra khỏi một văn bản và gán nó vào văn bản khác.

    • Chữ ký số còn một công dụng nữa mà chữ ký tay không có là nó xác thực văn bản gốc vẫn nguyên vẹn không bị sửa đổi trên đường truyền. Văn bản giấy mà bị cạo sửa tinh vi thì chắc phải dùng máy móc chuyên dụng mới phát hiện được.

    Hình 5.1: Chữ ký số

    Quá trình tạo và kiểm tra chữ ký số cũng dùng kỹ thuật mã hóa hai khóa nhưng ngược với cách mã hóa đã nói ở trên, gồm 3 thuật toán:

    • Một thuật toán tạo khóa tạo ra một cặp khóa bí mật và công khai theo các số ngẫu nhiên như đã mô tả ở trên.

    • Một thuật toán tạo chữ ký số: từ một văn bản và một khóa bí mật tạo ra một chữ ký số và chèn nó vào văn bản. Văn bản trở thành văn bản đã ký. Trong hình bên trái của Hình 5.1, trị số băm của văn bản được tính sau đó mã hóa bằng khóa bí mật của người ký tạo thành chữ ký số của người đó. Nếu dùng dịch vụ chữ ký số của một nhà cung cấp thì có kèm theo một giấy chứng nhận (certificate) của nhà cung cấp đó. Tất cả được chèn vào văn bản tạo thành văn bản đã ký (Digital signed data)

    • Một thuật toán kiểm tra dùng văn bản đã ký, khóa công khai của người ký để xác thực chữ ký đúng là của người ký. Trong hình bên phải của Hình 5.1, từ văn bản đã ký tách riêng phần văn bản và chữ ký. Sau đó tính trị số băm của văn bản, dùng khóa công khai của người ký để giải mã chữ ký số và tách ra trị số băm gốc đã kèm trong chữ ký đó ở bước trên. Nếu hai trị số băm trùng nhau thì chữ ký đúng. (và văn bản đúng nguyên bản gốc không bị thay đổi trên đường truyền).

    Hai hệ thống chữ ký số phổ biến hiện nay là RSADSA.


    PGP – một hệ thống mã hóa hỗn hợp.

    PGP (Pretty Good Privacy) là một hệ thống mã hóa hỗn hợp, kết hợp những ưu điểm của hai hệ thống mã hóa một khóa và hai khóa nêu trên, do Phillip Zimmermann sáng tạo ra năm 1991.

    Các bước phần mềm PGP thực hiện:

    • Nén dữ liệu chưa mã hóa lại. Việc nén này làm giảm thời gian truyền qua mạng và tiết kiệm ổ cứng nhưng tác dụng chính là tăng cường an ninh. Phần lớn các kỹ thuật phá mã (cryptanalysis) tìm kiếm các mẫu ký tự giống nhau trong dữ liệu đã mã hóa để dò ra khóa mã. Khi nén, số các mẫu giống nhau đó giảm xuống tối thiểu, sẽ khó dò hơn rất nhiều.

    • Tạo khóa mã bí mật dùng một lần (session key). Khóa mã này là một số ngẫu nhiên được tạo ra dựa trên chuyển động ngẫu nhiên của chuột và các phím ngẫu nhiên đã gõ. (TrueCryp dùng cách tạo khóa này, nhưng không phải dùng một lần, xem ở đây).

    • Mã hóa dữ liệu đã nén: Dùng khóa mã vừa tạo và một thuật toán mã hóa một khóa nhanh và tin cậy để mã hóa dữ liệu đã nén. Kết quả là dữ liệu được mã hóa (từ plaintext thành cyphertext). Để giải mã cũng vẫn dùng session key. Hai bước 2,3 dữ liệu được mã hóa bằng kỹ thuật mã hóa một khóa bí mật đã nói ở trên.

    • Mã hóa khóa mã session key: dùng khóa công khai của người nhận (public key) để mã hóa khóa bí mật dùng một lần (session key). Kết quả có được session key đã mã hóa.

    • Gửi dữ liệu đến người nhận: Gửi đồng thời cả dữ liệu đã mã hóa (cyphertext) và session key đã mã hóa cho người nhận.

    • Người nhận giải mã theo ba bước: dùng private key của mình để giải mã session key. Khi đã có session key, dùng nó để giải mã dữ liệu. Sau đó dữ liệu được giải nén để có thể đọc được. Ba bước đó phần mềm PGP tự làm. Như vậy trong các bước 4,5,6 session key được mã hóa dùng kỹ thuật mã hóa hai khóa.

    Hình 6.1: PGP mã hóa và gửi đi ở máy tính người gửi

    Hình 6.2: PGP giải mã trên máy tính người nhận

    Trên đường truyền, người thứ ba có thể chặn, sao chép được dữ liệu đã mã hóa và session key đã mã hóa. Tuy nhiên, muốn giải mã được dữ liệu phải giải mã được session key, mà session key chỉ giải mã được bằng private key lưu ở máy tính người nhận. Session key lại là số ngẫu nhiên và quá lớn nên không thể dò bằng cách vét cạn các tổ hợp ký tự được.

    Năm 1997, PGP trở thành chuẩn gọi là OpenPGP. Hầu hết các chương trình email hiện nay đều hỗ trợ chuẩn này.

    Tổ chức Phần mềm Tự do (Free Software Foundation) đã xây dựng một phần mềm tự do, nguồn mở tương thích với OpenGPG gọi là GNU Privacy Guard (viết tắt GnuPG hoặc GPG) và một số phần mềm đồ họa dùng thư viện GnuGPG để mã hóa, giải mã và ký số ( KGPG, Seahorse, MacGPG).

    Chứng chỉ số (public key certificate, digital certificate, security certificate hoặc identity certificate)

    Nếu hai người đã biết nhau thì khi trao đổi thư mật mã chỉ cần gửi cho nhau khóa mã công khai là đủ.

    Nhưng khi liên lạc với một người, một tổ chức mà mình không biết thì cần phải có một bên thứ ba tin cậy xác nhận đó đúng là người, tổ chức như họ đã xưng danh.

    Cũng tương tự như khi gặp nhau bình thường thì danh thiếp là đủ, nhưng giao dịch ngân hàng thì phải đưa chứng minh thư (do công an cấp và xác nhận).

    Chứng chỉ số là một file trong đó có:

    • Serial Number: số xác định duy nhất cho chứng chỉ.

    • Subject: tên người, tổ chức, thực thể (một địa chỉ email?) được cấp chứng chỉ.

    • Signature Algorithm: thuật toán để tạo chữ ký.

    • Issuer: tổ chức (công ty) cấp chứng chỉ (sau khi đã kiểm tra thông tin về đối tượng được cấp).

    • Valid-From: Ngày có hiệu lực của chứng chỉ.

    • Valid-To: Ngày hết hạn chứng chỉ.

    • Key-Usage: mục đích sử dụng mã khóa công khai (ví dụ để mã hóa hay để ký).

    • Public Key: mã khóa công khai của đối tượng được cấp chứng chỉ.

    • Thumbprint Algorithm: thuật toán dùng tạo trị số băm cho chứng chỉ.

    • Thumbprint: chữ ký số của tổ chức cấp chứng chỉ để kiểm tra, xác nhận rằng chứng chỉ đúng là do tổ chức đó cấp và không bị thay đổi.

    Hình dưới đây là chứng chỉ số của site mail.google.com do công ty Thawte cấp:

    Như vậy, chứng chỉ số giống chứng minh thư: có tên người được cấp và các thông tin về người đó cùng với tên, chữ ký, dấu của cơ quan cấp (công an). Tất cả những cái đó dùng để xác thực đối tượng được cấp chứng minh thư.

    Điểm khác với chứng minh thư là người (hoặc phần mềm) nhận chứng chỉ số của một người khác phải:

    • Kiểm tra chữ ký số của cơ quan cấp xem có đúng là do cơ quan đó cấp không.

    • Kiểm tra trị số băm của chứng chỉ xem chứng chỉ có bị thay đổi không.

    • Kiểm tra xem chứng chỉ còn hạn sử dụng không (cái này giống CMT).

    • Dùng khóa công khai của người có chứng chỉ để tạo văn bản mật gửi cho họ (nếu cần).

    Tất cả những việc trên do phần mềm làm và làm rất nhanh.

    Như vậy một chứng chỉ số = chứng minh thư + 1 chìa khóa.

    Hai cách cấp chứng chỉ số:

    • Chứng chỉ do một cơ quan, công ty chuyên môn, có uy tín về cấp chứng chỉ số (Thawte, Verisign, …) cấp. Mỗi chứng chỉ chỉ có một chữ ký xác nhận duy nhất của cơ quan cấp chứng chỉ (hoặc cấp dưới được ủy quyền của họ). Cách này có tên là public key infrastructure (PKI) theo chuẩn X.509. Chứng chỉ số có thể cấp có phí hoặc miễn phí.

    • Chứng chỉ do nhiều người khác đã từng giao dịch với người có chứng chỉ đó ký xác nhận. Cách này gọi là web of trust (mạng lưới tin cậy) dựa trên hệ thống mã hóa PGP, GPG hoặc các hệ thống khác dùng chuẩn OpenPGP.


    Kênh thông tin an toàn trên Internet

    Khi dùng Internet, máy tính người dùng thiết lập một kênh trao đổi thông tin với một đối tác liên lạc: một địa chỉ web, một địa chỉ email, một máy fax Internet, một nickname chat, một username để nói chuyện qua VoIP v.v…

    Khi đó xuất hiện hai vấn đề liên quan đến an ninh, bảo mật:

    • Đối tác liên lạc có đúng là người mà ta định liên lạc không?

    • Quá trình trao đổi thông tin có bị “nghe trộm” không?

    Giao thức xác thực và mã hóa SSL (Secure Socket Layer) thế hệ sau của nó là TLS (Transport Layer Security) giải quyết hai vấn đề trên.

    Hoạt động như sau (giả sử liên lạc với công ty ZXC có domain zxc.com):

    Kết nối qua cổng dành riêng: Phần mềm máy trạm (trình duyệt web, trình thư điện tử, …) kết nối với phần mềm máy chủ tương ứng (web server, mail server, …) qua cổng dành riêng cho giao dịch an toàn. Ví dụ: cổng duyệt web thường là 80 (giao thức http), cổng dành riêng là 443 (giao thức https), cổng nhận thư POP thường là 110 (giao thức POP3), cổng dành riêng là 995 (giao thức POP3S), v.v…

    Thống nhất bộ mã hóa: Phần mềm máy trạm cũng gửi tới máy chủ một danh sách các bộ mã hóa mà nó hỗ trợ. Phần mềm máy chủ chọn một bộ mã hóa mạnh nhất mà nó cũng hỗ trợ, thông báo cho máy trạm biết để thống nhất dùng trong phiên liên lạc đó.

    Xác thực đối tác liên lạc: Máy chủ sẽ gửi chứng chỉ số của công ty ZXC (trong đó có khóa mã công khai của công ty) về cho máy trạm.

    Kiểm tra chứng chỉ số:

    • Nếu chứng chỉ do một công ty cấp chứng chỉ số (ví dụ Thawte) cấp, nó được mã hóa bằng khóa bí mật của Thawte. Phần mềm máy trạm dùng khóa công khai của Thawte để giải mã được thì chứng tỏ chứng chỉ đó đúng do Thawte cấp. Sau đó có thể vào site của Thawte để kiểm tra xem trong danh sách công ty có công ty ZXC không.

    • Nếu các thông tin khác (thời hạn hiệu lực của chứng chỉ, địa chỉ domain, …) đều hợp lệ thì phiên liên lạc sẽ tiếp tục. Đến đây, vấn đề 1 nói trên được giải quyết, người dùng biết chắc là đang giao dịch với máy chủ của công ty ZXC.

    Tạo khóa mã chung: máy trạm dựa trên một số ngẫu nhiên tạo một khóa mã chung, mã hóa nó bằng khóa mã công khai của máy chủ và gửi cho máy chủ. Khóa này chỉ dùng trong một phiên kết nối, đến phiên sau lại tạo khóa khác, vì vậy nó còn được gọi là session key.

    Máy chủ dùng khóa mã bí mật của nó giải mã khóa mã chung nói trên. Từ thời điểm đó, mọi thông tin trao đổi giữa máy trạm và máy chủ được mã hóa bằng khóa mã chung đó, tức là dùng kỹ thuật mã hóa một khóa. Thông tin đã được mã hóa bằng một khóa mã chỉ có máy trạm và máy chủ biết vì vậy không thể bị đọc trộm trên đường truyền. Vấn đề 2 nói trên được giải quyết.

    Như vậy giao thức SSL và TLS giải quyết hai vấn đề: nó xác thực đối tác liên lạc và mã hóa thông tin trao đổi. Về mặt an ninh, hai giao thức này tương đương nhau (xem thêm).

    Hầu hết các dịch vụ Internet đều có thể dùng SSL/TLS: truy cập web đến các site webmail hoặc ngân hàng, mua bán trên mạng (HTTPS), gửi nhận email (POPS, IMAPS, SMTPS), v.v…

    Điều kiện để dùng được kênh an toàn là máy chủ phải được cài đặt để hỗ trợ kênh đó ở dịch vụ cần thiết và phải có chứng chỉ số hợp lệ.

    Truy cập web an toàn.

    Đây là trường hợp riêng của kênh thông tin Internet an toàn đã nói ở trên. Kênh mở trang web an toàn dùng giao thức HTTPS (Hypertext Transfer Protocol Secure) là kết hợp của giao thức mở trang web thông thường HTTP (HyperText Transfer Protocol) và giao thức xác thực, mã hóa SSL/TLS.

    Khi vào trang web bằng kênh thông thường ta gõ: http://www.zxc.com

    Khi vào trang web bằng kênh an toàn: https://www.zxc.com

    Việc đầu tiên, trang web sẽ gửi chứng chỉ số của nó (security certificate) để trình duyệt kiểm tra.

    Nếu chứng chỉ do một cơ quan cấp tin cậy mà trình duyệt biết (Thawte, Verisign, …) và các mục khác trong chứng chỉ đều hợp lệ thì kết nối an toàn được thiết lập và trang web sẽ được tải về xuất hiện trong trình duyệt.

    Nếu chứng chỉ không hợp lệ (invalid): cơ quan cấp vô danh, sai tên đối tượng (chứng chỉ cấp cho www.zxa.com), hết hạn, … trình duyệt (Firefox) sẽ cho xuất hiện thông báo kiểu như sau:

    Trong ví dụ trên, trình duyệt không biết (unknown) cơ quan cấp (issuer) chứng chỉ nên chứng chỉ bị coi là không hợp lệ (invalid).

    Khi mở một trang web trong máy chủ của mạng LAN, chứng chỉ do máy chủ cấp chứng chỉ của công ty bạn cấp thì thường gặp thông báo trên. Nhưng vì ta biết chứng chỉ đó hợp lệ nên có thể nhấn vào dòng Or you can add an exception (bạn có thể bổ xung một ngoại lệ) để bảo trình duyệt chấp nhận chứng chỉ đó.

    Khi việc xác thực đối tác liên lạc bằng trang web đã xong (chứng chỉ được xác nhận là hợp lệ), kênh kết nối an toàn giữa trình duyệt và máy chủ web được thiết lập. Mọi dữ liệu truyền qua lại trên kênh đó đều được mã hóa: trang web được mã hóa truyền xuống trình duyệt, trình duyệt giải mã và cho hiển thị; username, password và nội dung soạn thảo (email chẳng hạn) do bạn gõ vào đều được trình duyệt mã hóa trước khi chuyển cho máy chủ web. Nếu có người “xem trộm” chặn sao chép các thông tin đó trên đường truyền thì cũng không thể đọc được trừ khi phá được mật mã.

    Trong Firefox, khi đã mở một trang web bằng kênh an toàn, vd: https://mail.google.com, nhấn chuột vào biểu tượng ở bên trái thanh địa chỉ ta sẽ có màn hình thông tin sau:

    Mục đầu cho biết bạn đang kết nối với đúng google.com mà không phải một site mạo danh nào khác. Mục thứ hai cho biết chủ nhân của google.com là không rõ (unknown) vì khi xin cấp chứng chỉ, công ty Google không khai mục này, lẽ ra nó phải là Google Inc. Mục thứ ba cho biết việc xác nhận ở mục đầu do công ty Thawte thực hiện. Mục cuối cùng thông báo kết nối được mã hóa để tránh xem trộm trên đường truyền.

    Nhấn vào More Information còn nhiều thông tin khác.

    Cần nhấn mạnh là kết nối bằng kênh an toàn chỉ đảm bảo hai điều: đến đúng địa chỉ và dữ liệu truyền trên kênh được mã hóa ngăn xem trộm trên đường truyền. Password Gmail của bạn vẫn có thể bị lấy trộm bởi một mallware keylogger, bị đọc trộm nếu lưu bất cẩn trong cache trình duyệt, v.v… Tóm lại vấn đề an ninh trình duyệt còn rộng lớn hơn rất nhiều.

    Không phải website nào cũng truy cập được bằng https. Thường chỉ những site có trao đổi thông tin cá nhân (webmail) hoặc nhạy cảm (mua bán, ngân hàng) mới hỗ trợ chế độ này.

    Gửi nhận email an toàn

    Cái này để dành một bài khác.

    Phá mật mã

    Ngành mật mã học có hai nhánh: cryptographic chuyên nghiên cứu cách mã hóa, giải mã và cryptanalysis chuyên nghiên cứu cách phá mã khi không biết khóa mã và thuật toán mã.

    Một trong những cách phá mã đơn giản nhất là dò khóa mã (brute force) bằng cách thử tất cả các tổ hợp ký tự có thể (vét cạn). Với một khóa mã 128 bit, số khóa có thể là 2128 xấp xỉ bằng 3×1038 (38 số không). Nếu một máy tính có khả năng kiểm tra được 1018 khóa trong một giây thì cũng phải mất 1013 năm (gấp một nghìn lần tuổi vũ trụ!). Đấy là lý thuyết.

    Thực tế nếu password của bạn chỉ gồm toàn chữ cái, lại ngắn, trùng với tên, ngày sinh của vợ, v.v… thì việc dò nhanh hơn nhiều. Một số site sau khi nhập ba lần mật khẩu không đúng, không cho nhập nữa là để tránh những phần mềm dò mật khẩu tự động. Một số địa chỉ email bắt buộc phải có cả chữ và số là để tránh dò địa chỉ gửi thư rác.

    Ngoài cách trên còn hàng chục cách khác cùng với phần mềm, máy tính để phá mã!

    Bản thân các thuật toán, phần mềm mã hóa cũng có thể có các điểm yếu, lỗ hổng an ninh bị khai thác để phá mã. Tháng 8/2009, một lỗ hổng an ninh đã được phát hiện ra trong giao thức SSLv3 và TLS.

    Về nguyên tắc cái gì do con người tạo ra thì con người cũng có thể tìm cách phá được. Cũng như virus và các vấn đề an ninh khác, đây là cuộc rượt đuổi bất tận giữa bên xây và bên phá không bao giờ kết thúc.

    Tuy nhiên, chúng ta sống bằng niềm tin vào “an ninh tương đối”. Hệ thống cửa và khóa cửa nhà bạn “chẳng là cái đinh gì” đối với những tay trộm cao thủ. Nhưng chẳng ai vì thế mất ăn mất ngủ gia cường ba bốn lớp cửa với hàng chục cái khóa. Đơn giản là vì sác suất trộm viếng nhà bạn không cao và những tay cao thủ thì nhằm vào nhà các đại gia hoặc ngân hàng hiệu quả hơn!

    Ghi chép về mã hóa 1

    Ghi chép về mã hóa 1

    (Mọi bản ghi chép công bố trên blog này đều là ghi chép cá nhân nhặt nhạnh trên Internet để tìm hiểu sâu hơn đôi chút một vấn đề. Thông tin trong đó có thể sai theo hiểu biết hạn chế của tác giả.)

    1-Mã hóa là gì

    Xét ví dụ một bảng mã hóa (mật mã) đơn giản, các chữ cái chuyển thành một cặp số (cột,hàng):

    1

    2

    3

    4

    5

    1

    A

    B

    C

    D

    E

    2

    F

    G

    H

    I/J

    K

    3

    L

    M

    N

    O

    P

    4

    Q

    R

    S

    T

    U

    5

    V

    W

    X

    Y

    Z

    Theo bảng này, từ “TAN CONG” sẽ được mã hóa (encryption) là: 44 11 33 31 43 33 22

    Người không có bảng mã trên, đọc hàng số đó sẽ không hiểu gì. Người có bảng mã sẽ giải mã (decryption) được hàng số đó thành từ “tan cong”. Bảng mã nói trên là một dạng thuật toán mã hóa.

    Mã hóa là việc dùng một thuật toán mã hóa và một hoặc nhiều khóa mã biến đổi thông tin có nghĩa (plaintext) thành chuỗi ký tự vô nghĩa (ciphertext – mật mã). Chỉ những người biết thuật toán và có khóa mã mới giải mã thông tin đã mã hóa thành thông tin có nghĩa.

    Hệ thống mã hóa: gồm thuật toán (hàm toán học) để mã hóa, các khóa mã và các thủ tục (protocol) để thực hiện quá trình mã hóa.

    Mã hóa “mạnh” và “yếu”: mã hóa được chia thành 2 loại. Mã hóa yếu chỉ có mục đích hạn chế người bình thường không đọc được nội dung, mã hóa mạnh thì ngay cả các siêu máy tính có thể phải mất hàng chục năm hay lâu hơn mới phá mã được nếu không có khóa mã.

    2-Mã hóa dùng một khóa mã bí mật (symmetric key techniques)

    Trong kỹ thuật mã hóa này, người gửi và người nhận thông tin có cùng một khóa mã duy nhất. Người gửi dùng khóa mã, mã hóa thông tin rồi gửi đi. Người nhận dùng cũng khóa mã đó để giải mã thông tin và đọc.

    Vì chỉ có một khóa mã và dùng chung nên kỹ thuật mã này còn có nhiều tên khác nhau như : symmetric-key, secret-key, single-key, shared-key, one-key, và private-key

    Hình 2.1: Mã hóa dùng một khóa mã bí mật

    Loại khóa này tương tự như những khóa thông thường chỉ có một chìa. Chỉ có thể đóng, mở khóa bằng những chìa giống hệt nhau.

    Chuẩn mã hóa quốc gia đầu tiên của Mỹ (và cũng được sử dụng rộng rãi trên toàn thế giới) là DES (Data Encryption Standard) dùng khóa mã đối xứng dài 56 bit. Sau khi được công bố năm 1976, đến năm 1999 mật mã này bị phá trong 22 giờ 15 phút, dùng cách vét cạn (brute force): dò thử tất cả 70,000,000,000,000,000 tổ hợp ký tự của khóa 56 bit.

    Về nguyên tắc để dò một số lượng lớn khóa mã như vậy phải có một siêu máy tính cực nhanh. Tuy nhiên năm 1997, dự án DESCHALL Project dùng thời gian rỗi của hàng nghìn máy tính trên Internet đã phá được DES, dành giải thưởng $10,000 của RSA Security .

    Hiện nay, DES được coi là không đủ an toàn và thay bằng AES (Advanced Encryption Standard) công bố năm 2002 với khóa mã dài 128, 192 hoặc 256 bit. Ngoài ra còn các chuẩn mã hóa một khóa khác như Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, IDEA.

    Ưu nhược điểm: nhanh, rất phù hợp nếu thông tin mã hóa không phải chuyển đi đâu (chỉ dùng cho một người).

    Nếu thông tin mã hóa phải chuyển qua mạng cho một người thứ hai đọc, nhất là trên khoảng cách xa, khó khăn chính là phải chuyển được khóa mã cho người nhận một cách bí mật (phân phối khóa). Nếu trong quá trình chuyển khóa mã, một bên thứ ba có thể sao chép được khóa mã đó thì họ cũng có thể chặn bắt thông tin đã mã hóa và dùng khóa mã giải mã dễ dàng.

    3-Mã hóa dùng hai khóa mã: khóa mã công khai và khóa mã bí mật. (asymmetric key techniques)

    Để tránh được nhược điểm về phân phối khóa nói trên người ta dùng phương thức mã hóa có hai khóa mã (còn gọi là mã hóa không đối xứng) mới xuất hiện năm 1975.

    Loại mã hóa này có hai khóa mã: một khóa mã công khai (public key) dùng để mã hóa và một khóa bí mật (private key) dùng giải mã.

    Xét ví dụ tương tự: A định gửi một bức thư mật cho B. Các bước tiến hành như sau:

    • A yêu cầu B gửi chìa khóa công khai của B đến cho A. Vì là chìa công khai nên B có thể gửi qua bưu điện, nhờ người khác, thậm chí treo ở một nơi công cộng v.v… mà không cần giữ bí mật.

    • A viết thư, bỏ vào một cái hòm có hai chìa khóa khác nhau. Chìa công khai của B được dùng để khóa hòm đó lại rồi hòm được gửi qua bưu điện.

    • Chìa công khai của B, ai cũng có thể có một bản sao nhưng chìa công khai chỉ dùng để khóa, không dùng mở được. Do đó trên đường vận chuyển, người thứ ba không mở được.

    • B nhận được hòm, dùng chìa khóa bí mật của B để mở hòm. Khi đã khóa bằng chìa công khai của B thì chỉ có thể mở được bằng chìa bí mật của B, người khác không có chìa bí mật này không thể mở được.

    Hình 3.1: Mã hóa dùng khóa công khai và khóa bí mật

    Điểm hay của cách làm này là cái khóa mã công khai không cần dấu diếm. Cách làm tương tự khi muốn nhận email bí mật như sau:

    • B dùng phần mềm tạo ra một bộ khóa mã riêng cho mình gồm một khóa công khai (public key) và một khóa bí mật (private key). Bộ khóa mã này gắn liền với một địa chỉ email của B.

    • Khóa bí mật được cất giữ cẩn thận trên máy tính của B. Khóa công khai có thể gửi kèm theo email cho A hoặc gửi vào một máy chủ công cộng trên Internet kèm theo địa chỉ email, bất kỳ ai muốn gửi mật thư cho B đều có thể vào máy chủ đó tải bản sao khóa công khai của B về.

    • Người gửi (A) soạn thư, dùng khóa mã công khai của B để mã hóa bức thư đó rồi gửi cho B. Trên đường truyền dù có ai chặn xem thư cũng không thể đọc được vì thư đã bị mã hóa, không có khóa bí mật không giải mã được.

    • Khi thư đến máy tính của người nhận (B), người nhận dùng khóa mã bí mật và phần mềm giải mã để giải mã bức thư.

    Cách mã hóa này có hai ưu điểm:

    • Hai người trao đổi thông tin mật cho nhau không cần có thỏa thuận trước. Nếu một người có địa chỉ email kèm một khóa công khai gửi trên một máy chủ Internet, bất kỳ người nào nếu cần đều có thể tải khóa công khai đó về tạo một mật thư gửi cho địa chỉ email đó, không cần quen biết, thỏa thuận gì trước.

    • Không cần có một phương thức phân phối khóa mã tin cậy và bí mật. Để đàm bảo bí mật, khóa mã kiểu gì cũng phải định kỳ thay đổi. Trước đây, dùng hệ thống mã hóa một khóa, các ngân hàng, bộ ngoại giao phải cử người đi khắp thế giới để giao khóa mã mới rất mất thì giờ và tốn kém.

    4-Hàm băm mật mã (Cryptographic Hash function – CHF)

    Khái niệm hàm băm (hash function) khác với khái niệm hàm băm mật mã (cryptographic hash function). Dưới đây ta chỉ xét khái niệm thứ hai và gọi tắt là hàm băm.

    Định nghĩa: CHF là một thuật toán xác định, áp dụng vào một khối dữ liệu có chiều dài bất kỳ để tính ra được một một chuỗi bit có chiều dài cố định (128 bits,256 bits, …) gọi là trị số băm (hash value) sao cho khi dữ liệu thay đổi dù chỉ một bit thì khi tính lại trị số băm sẽ thay đổi và do đó, mỗi khối dữ liệu sẽ có một trị số băm duy nhất.

    Hiểu nôm na, một khối dữ liệu có một trị số băm duy nhất tương tự như số chứng minh với một người. Điểm khác biệt là khi người đó chỉ rụng một sợi tóc thì khi tính lại trị số băm cũng thay đổi.

    Tại sao lại dùng từ “băm”: để tính trị số băm, thường dữ liệu được chia nhỏ (băm) ra thành nhiều phần rồi áp dụng một thuật toán tính nào đó.

    Một hàm băm lý tưởng sẽ có các tính chất sau:

    • Dễ dàng tính trị số băm với bất kỳ khối dữ liệu nào.

    • Từ trị số băm không thể tính ngược ra khối dữ liệu (hàm một chiều).

    • Không thể thay đổi khối dữ liệu (dù chỉ một bit) mà không làm thay đổi trị số băm.

    • Không thể có hai khối dữ liệu khác nhau mà có cùng một trị số băm.

    Dùng làm gì:

    • Xác nhận tính toàn vẹn của dữ liệu sau khi truyền qua mạng: các file cài đặt một bản Linux (iso) được đặt trên Internet kèm theo trị số băm md5. Sau khi tải file về, tính lại md5 của file đã tải, nếu giống với trị số đã cho trước tức là file tải về nguyên vẹn, giống hoàn toàn như file đặt trên Internet, không bị lỗi (thiếu, sai) khi download. Một email, một file được gửi qua mạng cùng với trị số băm ban đầu của nó để người nhận kiểm tra tương tự.

    • Dùng trong chữ ký số (xem phần dưới)

    • Kiểm tra password: một phần mềm tạo ra password rồi lưu giữ không phải dưới dạng nguyên bản đọc được mà dưới dạng trị số băm của password đó (để tránh bị hacker xâm nhập lấy cắp). Khi user khai password, password đó được tính trị số băm và so sánh với trị số đã lưu.

    • ….

    5-Chữ ký số (digital signatures)

    Một chữ ký số đặt vào một văn bản điện tử cũng có công dụng tương tự như một chữ ký tay vào văn bản giấy:

    • Nó xác nhận rằng văn bản đúng là do người ký phát hành.

    • Người đã ký cũng không thể phủ nhận là mình không phát hành văn bản đó vì chỉ người đó mới có chữ ký số đó. Chữ ký tay có thể bắt chước giả mạo được, nhưng chữ ký số thì không. Cũng không thể tách chữ ký số ra khỏi một văn bản và gán nó vào văn bản khác.

    • Chữ ký số còn một công dụng nữa mà chữ ký tay không có là nó xác thực văn bản gốc vẫn nguyên vẹn không bị sửa đổi trên đường truyền. Văn bản giấy mà bị cạo sửa tinh vi thì chắc phải dùng máy móc chuyên dụng mới phát hiện được.

    Hình 5.1: Chữ ký số

    Quá trình tạo và kiểm tra chữ ký số cũng dùng kỹ thuật mã hóa hai khóa nhưng ngược với cách mã hóa đã nói ở trên, gồm 3 thuật toán:

    • Một thuật toán tạo khóa tạo ra một cặp khóa bí mật và công khai theo các số ngẫu nhiên như đã mô tả ở trên.

    • Một thuật toán tạo chữ ký số: từ một văn bản và một khóa bí mật tạo ra một chữ ký số và chèn nó vào văn bản. Văn bản trở thành văn bản đã ký.
      Trong hình bên trái của Hình 5.1, trị số băm của văn bản được tính sau đó mã hóa bằng khóa bí mật của người ký tạo thành chữ ký số của người đó. Nếu dùng dịch vụ chữ ký số của một nhà cung cấp thì có kèm theo một giấy chứng nhận (certificate) của nhà cung cấp đó. Tất cả được chèn vào văn bản tạo thành văn bản đã ký (Digital signed data)

    • Một thuật toán kiểm tra dùng văn bản đã ký, khóa công khai của người ký để xác thực chữ ký đúng là của người ký. Trong hình bên phải của Hình 5.1, từ văn bản đã ký tách riêng phần văn bản và chữ ký. Sau đó tính trị số băm của văn bản, dùng khóa công khai của người ký để giải mã chữ ký số và tách ra trị số băm gốc đã kèm trong chữ ký đó ở bước trên. Nếu hai trị số băm trùng nhau thì chữ ký đúng. (và văn bản đúng nguyên bản gốc không bị thay đổi trên đường truyền).

    Hai hệ thống chữ ký số phổ biến hiện nay là RSA DSA.


    6-PGP – một hệ thống mã hóa hỗn hợp.

    PGP (Pretty Good Privacy) là một hệ thống mã hóa hỗn hợp, kết hợp những ưu điểm của hai hệ thống mã hóa một khóa và hai khóa nêu trên, do Phillip Zimmermann sáng tạo ra năm 1991.

    Các bước phần mềm PGP thực hiện:

    • Nén dữ liệu chưa mã hóa lại. Việc nén này làm giảm thời gian truyền qua mạng và tiết kiệm ổ cứng nhưng tác dụng chính là tăng cường an ninh. Phần lớn các kỹ thuật phá mã (cryptanalysis) tìm kiếm các mẫu ký tự giống nhau trong dữ liệu đã mã hóa để dò ra khóa mã. Khi nén, số các mẫu giống nhau đó giảm xuống tối thiểu, sẽ khó dò hơn rất nhiều.

    • Tạo khóa mã bí mật dùng một lần (session key). Khóa mã này là một số ngẫu nhiên được tạo ra dựa trên chuyển động ngẫu nhiên của chuột và các phím ngẫu nhiên đã gõ. (TrueCryp dùng cách tạo khóa này, nhưng không phải dùng một lần, xem ở đây).

    • Mã hóa dữ liệu đã nén: Dùng khóa mã vừa tạo và một thuật toán mã hóa một khóa nhanh và tin cậy để mã hóa dữ liệu đã nén. Kết quả là dữ liệu được mã hóa (từ plaintext thành cyphertext). Để giải mã cũng vẫn dùng session key. Hai bước 2,3 dữ liệu được mã hóa bằng kỹ thuật mã hóa một khóa bí mật đã nói ở trên.

    • Mã hóa khóa mã session key: dùng khóa công khai của người nhận (public key) để mã hóa khóa bí mật dùng một lần (session key). Kết quả có được session key đã mã hóa.

    • Gửi dữ liệu đến người nhận: Gửi đồng thời cả dữ liệu đã mã hóa (cyphertext) và session key đã mã hóa cho người nhận.

    • Người nhận giải mã theo ba bước: dùng private key của mình để giải mã session key. Khi đã có session key, dùng nó để giải mã dữ liệu. Sau đó dữ liệu được giải nén để có thể đọc được. Ba bước đó phần mềm PGP tự làm. Như vậy trong các bước 4,5,6 session key được mã hóa dùng kỹ thuật mã hóa hai khóa.

    Hình 6.1: PGP mã hóa và gửi đi ở máy tính người gửi

    Hình 6.2: PGP giải mã trên máy tính người nhận

    Trên đường truyền, người thứ ba có thể chặn, sao chép được dữ liệu đã mã hóa và session key đã mã hóa. Muốn giải mã được dữ liệu phải giải mã được session key, mà session key chỉ giải mã được bằng private key lưu ở máy tính người nhận. Session key lại là số ngẫu nhiên và quá lớn nên không thể dò bằng cách vét cạn các tổ hợp ký tự được.

    Năm 1997, PGP trở thành chuẩn gọi là OpenPGP. Hầu hết các chương trình email hiện nay đều hỗ trợ chuẩn này.

    Tổ chức Phần mềm Tự do (Free Software Foundation) đã xây dựng một phần mềm tự do, nguồn mở tương thích với OpenGPG gọi là GNU Privacy Guard (viết tắt GnuPG hoặc GPG) và một số giao diện đồ họa dùng thư viện GnuGPG để mã hóa, giải mã và ký số ( KGPG, Seahorse, MacGPG)

    (còn tiếp)

    Phần mềm ứng dụng Windows và Linux

    Phần mềm ứng dụng Windows và Linux.

    (Rỗi việc lan man một tý)

    Khi bạn chuyển từ Windows sang Linux, bạn sẽ bị bỡ ngỡ ban đầu về cách cài đặt, các khái niệm mới (tên file, thư mục phân biệt chữ hoa chữ thường, thư mục gốc / thay cho C:\, cách cài thêm phần mềm, v.v….) – những điều này có trong các tài liệu hướng dẫn cài đặt và sử dụng (hơi cũ) tiếng Việt tải về từ các link ở góc trên bên phải màn hình blog này.

    Bước tiếp theo sẽ là những lúng túng về cách sử dụng các phần mềm ứng dụng cài sẵn hoặc đi tìm những phần mềm Linux tương đương với phần mềm đã quen dùng bên Windows. Các trở ngại chính thường gặp là:

    Sức ỳ của tâm lý và thói quen

    Điều này chung cho mọi thứ trên đời, không cứ phần mềm. Hồi tôi mới chuyển từ xe số sang xe ga cũng bị vài cú phanh gấp bằng chân, đổ xe, suýt đâm người khác rồi mới quen dần hai cái phanh tay. Cái khác là mất tiền mua xe rồi không dám kêu, ra sức luyện lại thói quen, còn với phần mềm đa số kêu toáng lên “Linux không phanh được” hoặc “Phanh của Linux không tiện bằng Windows”.

    Nếu một tính năng quen thuộc bên Windows mà chưa thấy ngay ở bên Linux thì:

    • Đọc tài liệu, hỏi han trên các forum, thậm chí mò mẫm xem nó ở đâu. Những tính năng thông thường đa phần là có nhưng không ở chỗ quen dùng, hoặc đặt tên khác. (Không có phanh chân không phải là không phanh được)
    • Tìm hiểu cách sử dụng nó. Có thể không giống cách làm bên Windows thì phải chịu khó học sử dụng. Thậm chí có thể phức tạp hơn Windows (ví dụ viết công thức toán trong OpenOffice) thì phải chấp nhận. (Dắt một cái xe ga cồng kềnh vào chỗ đỗ chật hẹp khó hơn một cái xe số gọn nhẹ, nhấc đuôi xe lên được, vậy mà chả thấy ai kêu).
    • Nếu hiện tại một tính năng nào đó không có hoặc sử dụng phức tạp thì không có nghĩa là mãi mãi nó sẽ như thế. Những phiên bản sau nó sẽ có hoặc được cải tiến. Trong những năm gần đây, phần mềm nguồn mở phát triển khá mạnh và nhanh.

    Năng lực cá nhân, cách học và sự hỗ trợ

    Đưa một cái xe tay ga cho thanh niên (bất kể nam hay nữ) thì dù chưa đi bao giờ chắc cũng lọ mọ tự tìm hiểu được. Nhưng nếu đưa cho một bà trung niên đang quen đi xe số thì không có người hướng dẫn không xong.

    Với một người có khả năng tư duy khá, tiếng Anh đọc được thì tìm hiểu cách dùng một phần mềm mới không thành vấn đề. Nhưng với người mà học Windows cũng trầy trật thì chắc chắn phải cần hỗ trợ.

    Nhưng tại sao học Windows lại dễ thế?

    Vì xung quanh bạn rất nhiều người biết Windows, các khó khăn của bạn luôn có thể tìm được người hoặc sách vở tiếng Việt chỉ bảo. Còn Linux thì số người biết, nhất là xung quanh ta, ở cơ quan hay ở nhà, đếm được trên đầu ngón tay. Tài liệu tiếng Việt càng hiếm.

    Linux và các phần mềm nguồn mở thông dụng học không khó hơn Windows nhưng cách học phải khác. Khi học Windows ta không cần biết cách học. Bài bản thì theo sách, theo lớp, mà nếu không thì nay hỏi một tý, mai hỏi một tý rồi cũng dùng tạm được. Có người dùng được Windows mà chưa đọc qua quyển sách nào, theo một lớp nào.

    Khi học PMNM bạn phải nhìn thẳng vào sự thật và xác định trước cách học. Nếu bạn tự cho là có chỉ số thông minh (IQ) khá, tiếng Anh đọc tốt, biết cách giao du với cụ Gúc, bạn có thể tự học được. Còn nếu không phải chọn bản Linux nào có nhiều tài liệu tiếng Việt, nhiều người biết, nhiều diễn đàn tiếng Việt và có người hướng dẫn thì càng tốt. Và hiện nay, Ubuntu đáp ứng được các yêu cầu đó (mặc dù cá nhân tôi thích Mandriva hơn).

    Cách học lúc đó bắt buộc phải đọc tài liệu hướng dẫn, biết đọc và hỏi han trên các diễn đàn. Đặt một câu hỏi đúng không phải ai cũng làm được. Bạn chỉ cần đọc một số câu hỏi trong các comment trên blog này cũng thấy. Nhiều câu thật không biết trả lời thế nào.

    Cái cần thiết nữa là sự kiên nhẫn, quyết tâm.

    Khi học Windows, trong thâm tâm ai cũng hiểu là bắt buộc, không học được không xong và chẳng còn đường nào khác. Vì vậy ai cũng ngậm tăm mà học, chẳng dám kêu ca, than thở gì, từ cháu học sinh đến các bậc tiền bối sắp về hưu run rẩy di từng nét chuột.

    Giả sử Chúa không tạo ra Bill Gate và thế giới chỉ toàn Linux thì thái độ mọi người học Linux cũng sẽ như thế.

    Nhưng tuyệt đại đa số người đến với Linux, kể cả tôi hồi bắt đầu, đều biết rằng có một cái cửa thoát hiểm rất to ở ngay bên cạnh. Nếu cái gì không hiểu, không làm được, ngại hỏi han tìm hiểu thì tiện nhất là kêu lên “Linux chán quá, Linux không làm được”. Thậm chí cả khi máy in chưa bật cũng “Linux không in được”! Và lập tức quay về Windows cho nhanh.

    Điều này là lẽ thường tình không phải chỉ diễn ra với Windows và Linux. Ngay cả các fan của Linux, khi đã quen một bản nào đó, cũng ứng xử với bản Linux mới y như trên: chỉ lăm lăm chê bai và nhanh chóng tìm về với cái quen thuộc.

    Nhưng kinh nghiệm cho thấy rằng nếu không còn đường quay lại Windows (cơ quan bắt buộc dùng Linux chẳng hạn) thì sau một hồi kêu ca phàn nàn, đâu cũng vào đấy. Vì quen rồi, biết cách dùng rồi và công việc cũng vẫn tốt chẳng còn vì những “yếu kém” của Linux nữa.

    Vì vậy nếu bạn quyết tâm tìm hiểu Linux, hãy cố gắng “dứt tình” với Windows, đóng sập cánh cửa thoát hiểm đó lại. Trừ một số trường hợp đặc biệt sẽ nói sau, những nhu cầu thông thường Linux đều làm được như tôi đã từng chứng kiến.

    Tìm phần mềm ứng dụng chạy trên Linux

    Nếu bạn đã quen một phần mềm Windows, muốn tìm một phần mềm Linux cùng tác dụng hãy vào một trong hai site: www.osalt.com hoặc www.linuxalt.com. Một vài ví dụ:

    1- Matlab: vào osalt.com, gõ từ matlab vào ô search ta được danh sách sau: sage 4.1, Octave 3.0, Scilab 4.1.2.

    2- Adobe Photoshop CS4: tương ứng là GIMP, Krita, Cinepaint.

    3- Adobe Premiere Pro CS4: Cinelerra, Avidemux, Kino.

    4- Game: xem bài này.

    Tuy nhiên hai site này không phải là tất cả. Ví dụ các phần mềm biên tập video PiTiVi và OpenShot không có trong danh sách trên.

    Vì vậy nên hỏi thẳng cụ Gúc “linux open soure ….” . Ví dụ “linux open source video editor” cho ra cả đống link nữa. Đặc biệt Wikipedia thường có những bài rất hay giới thiệu và liệt kê danh sách các loại phần mềm.

    Bước tiếp theo là tìm hiểu từng phần mềm xem có đáp ứng yêu cầu của mình không. Có nhiều cách tìm hiểu:

    Tự tìm hiểu: nếu có khả năng thì tải phần mềm về cài và tự mò mẫm lấy. Phải nhớ những điều đã nói ở mục 1 bên trên.

    Xem thiên hạ nói gì: hỏi cụ Gúc xem thiên hạ nói gì hoặc tự lên các diễn đàn hỏi. Một trong những từ khóa nên dùng là “pros and cons” (tạm dịch: ưu và khuyết) ví dụ “ Cinelerra pros and cons”.

    Điều này rất quan trọng vì PMNM không chỉ cùng viết phần mềm mà còn cùng học. Ví dụ nếu tôi đang là tín đồ ngoan đạo của Photoshop và Premiere và không biết rằng một số tên tuổi lớn của Hollywood hậu thuẫn cho Cinepaint (xem ở đây) và nhiều xưởng phim lớn dùng Linux (xem ở đây), sau khi tìm hiểu qua loa tôi có thể đưa ra những “nhận định” rất “ngố” tôn Adobe lên mây và hạ đám Linux xuống bùn.

    Đã có những quan chức “nhớn” của một tập đoàn kinh tế “cỡ thế giới” phán một câu xanh rờn “Linux không dùng để giao dịch quốc tế được” chỉ vì chưa đọc những cái này.

    Trong thời buổi Internet, thay cho câu “Uốn lưỡi bẩy lần trước khi nói” là câu “Gúc bẩy lần trước khi nói” nếu bạn không muốn trót “phán” ra những câu mà sau này phải đỏ mặt xấu hổ.

    Một từ khóa nữa cũng nên dùng là “vs.” (có dấu chấm ở cuối, viết tắt của versus, tạm dịch là so sánh với). Ví dụ “GIMP vs.” sẽ cho bạn cả mớ những ý kiến so sánh GIMP và Photoshop. “Dropbox vs.” cho nhiều link so sánh dịch vụ Dropbox với các dịch vụ khác tương tự, từ đó có thể tìm ra dịch vụ phù hợp với yêu cầu của bạn hơn là Dropbox.

    Nhu cầu thật sự của bạn là gì?

    Thói quen “dùng chùa” mà nói thẳng ra là “ăn cắp” phần mềm lâu năm của cả xã hội khiến chúng ta luôn có xu hướng đòi cái tốt nhất, mới nhất. Tôi đã chứng kiến những người nước ngoài “mắt tròn, mắt dẹt” khi thấy ở Việt nam đang dùng những phần mềm đời mới nhất mà họ cũng chưa được dùng.

    Tôi cũng đã dự những buổi bàn cách tiêu tiền chùa, có những quan chức cứ khăng khăng đòi mua những phần mềm “Mercedes” vì những phần mềm đó “hiện đại nhất, tốt nhất” trong khi nhu cầu thực tế và khả năng thực tế cũng chỉ để chở phân ra ruộng.

    Cùng một mục đích, có đến cả tá PMNM khác nhau với đủ loại cấp độ từ đơn giản đến phức tạp và đặc biệt là cái nào cũng có thể tải về vô tư. Vì vậy nếu không xác định nhu cầu chính xác, bạn có thể mất công vô ích học GIMP rất phức tạp chỉ để sửa ảnh nghiệp dư, trong khi dùng Krita đơn giản và nhanh hơn nhiều.

    Và khi thật sự PMNM không đáp ứng nhu cầu của bạn, thì dùng phần mềm Windows (xem ở đây). Đang bò lết theo Bill Gate mà quay ngoắt sang cun cút chạy theo Linus Torvalds cũng không phải là hay.

    (Đến giờ đi ăn cơm rồi).

    Emerald theme

    Emerald Theme

    (Viết theo yêu cầu)

    Emerald theme là một loại theme chạy trên nền Compiz. Cách cài và sử dụng hơi phức tạp hơn các theme bình thường khác.

    Cách làm dưới đây ví dụ cho Ubuntu nhưng cũng có thể dùng cho các bản Linux khác.

    1. Cài thêm phần mềm: chạy System → Administration → Synaptic Package Manager rồi tìm cài các gói compizconfig-settings-manager, emerald.

    2. Search “emerald theme” rồi tải về các emerald theme định cài, ví dụ tại đâytại đây. Các file theme này có đuôi file là .emerald.

    3. Nhấn vào System → Preferences → Emerald Theme Manager. Trong màn hình xuất hiện, mở tab Theme Settings → Theme rồi nhấn nút Import, tìm file theme vừa tải về để import.

    4. Nhấn vào System → Preferences → CompizConfig Settings Manager. Trong màn hình xuất hiện, đánh dấu chọn mục Effects → Windows Decorations.

    5. Nhấn tiếp vào chữ Windows Decorations, trong màn hình mới xuất hiện, ở mục Command, xóa lệnh cũ (/usr/bin/compiz-decorator) thay bằng lệnh emerald – – replace. (hai dấu gạch ngắn trước chữ replace). Đóng các màn hình lại.

    6. Nhấn Alt + F2 rồi chạy lệnh emerald – – replace . Các màn hình sẽ thay đổi theo theme mới. Muốn chỉnh sửa, chạy lại Emerald Theme Manager để sửa các chi tiết.

    7. Muốn tắt Emerald theme đi, nhấn Alt + F2 rồi chạy lệnh compiz – – replace. Mở CompizConfig Settings Manager ra rồi trong mục Command thay lại lệnh cũ đã xóa ở bước 5.

    8. Chi tiết về Compiz xem tại đây.

    Mười cách người khác đọc dữ liệu của bạn

    Mười cách người khác đọc dữ liệu của bạn.

    Zxc232 biên soạn (dựa theo bài này)

    Root là user cao cấp nhất, có toàn quyền với toàn bộ hệ điều hành, tương tự như Administrator của Windows. Vì vậy để an toàn (tránh dùng user root rồi xóa nhầm, sửa nhầm linh tinh trong hệ thống) và bảo mật (hạn chế hacker dùng được quyền root), các bản Linux như Mandriva, Ubuntu, … không cho log in với tên root.

    Chế độ khởi động bình thường của Linux là multiuser mode (nhiều người dùng chung một máy). Mỗi user có một thư mục Home riêng (/home/username) với toàn quyền trên đó nhưng không đọc được thư mục Home của user khác. Root đương nhiên đọc được thư mục Home của mọi user và đó chính là vấn đề của bài viết này.

    Trong chế độ multiuser, các thao tác cần đến quyền root (ví dụ cài phần mềm) đều phải nhập password của root (Mandriva) hoặc password của user thuộc nhóm sudo (Ubuntu) để thực hiện với quyền root. Khi thực hiện xong thao tác đó là hết quyền, hạn chế lạm dụng.

    Tuy nhiên, các bản Linux đều có chế độ single user mode đăng nhập vào hệ thống với tên root, thường là không cần password. Chế độ này cần thiết để thực hiện một số thao tác bảo trì, sửa chữa hệ thống nhưng nếu có người truy cập vật lý (physical access) hay nói nôm na là sờ được vào máy của bạn, họ có thể khởi động máy ở chế độ single user mode rồi đọc thoải mái các thư mục Home của mọi user (và còn một số cách khác nêu dưới đây).

    Wikipedia đánh giá trường hợp này “ is viewed as a security vulnerability” (được xem như một lỗ hổng an ninh). Hồi mới tập tọng Linux, tôi cũng phát biểu đây là một lỗ hổng an ninh, bị các bậc tiền bối đập cho tơi tả. Nhưng hồi đó mình chưa biết hỏi cụ Gúc để cãi.

    Các cách nêu dưới đây cho phép một user làm một trong các việc sau:

    • Log in vào máy ở chế độ single user mode với tên root không cần biết password của root (nếu có).

    • Tạo password mới cho root không cần biết password cũ.

    • Mount một partition trên ổ cứng từ đó đọc được dữ liệu trên partition đó

    Vì vậy nó vừa là cách để khôi phục password của root nếu quên, vừa là cách đọc dữ liệu của người khác cần phải đề phòng .

    Các vấn đề dưới đây, nếu đi sâu còn phức tạp và còn nhiều cách làm nữa. Tuy nhiên ở đây chỉ giới hạn ở mức tối thiểu phù hợp với người dùng bình thường. Có cách tôi đã thử, có cách chưa, chỉ giới thiệu để biết.

    1. Khôi phục password của root.

    1.1-Từ Grub menu, khởi động vào chế độ single user mode.

    Khi khởi động máy đến lúc Grub menu xuất hiện, chọn chế độ khởi động là recovery mode (Ubuntu) hoặc safe mode (Mandriva). Các chế độ này chính là single user mode.

    Các bản Linux khác sẽ khởi động thẳng vào dấu nhắc của root. Riêng Ubuntu và các phiên bản của nó sẽ xuất hiện một menu phụ. Chọn trong đó Drop to root shell prompt để vào dấu nhắc root.

    Tại dấu nhắc, gõ lệnh passwd rồi Enter. Tiếp theo, nhập hai lần password mới tùy chọn của root.

    1.2-Khởi động vào single user mode khi chế độ đó không có trong Grub menu

    Vì nhiều lý do (ví dụ xem phần sau), trong Grub boot có thể không có menu recovery mode hoặc safe mode nhưng vẫn khởi động vào dấu nhắc root được như sau:

    Mandriva: khi xuất hiện Grub menu, nhấn F3, chọn Safe trong menu con và Enter. Gõ thêm vào cuối hàng lệnh mới xuất hiện từ single và nhấn Enter.

    Ubuntu: khi xuất hiện Grub menu, nhấn phím E rồi dùng phím mũi tên di chuyển con trỏ đến cuối cụm từ quiet splash và gõ thêm từ single vào đó. Nhấn Ctrl+X. Khi menu con xuất hiện, chọn tiếp Drop to root shell prompt.

    Hệ thống sẽ khởi động vào chế độ single user mode và xuất hiện dấu nhắc root.

    1.3-Khởi động vào dấu nhắc root dùng shell

    Nếu single user mode bị disabled hoặc có root password bảo vệ, cũng làm tương tự như mục 1.2-. Nhưng thay cho từ single, thêm init=/bin/bash rồi nhấn phím B để khởi động.

    Khi xuất hiện dấu nhắc, gõ lệnh sau rồi Enter để mount root partition ở chế độ read/write:

    #mount -no remount,rw / (chú ý cuối lệnh có ký hiệu thư mục gốc /).

    Sau đó chạy lệnh passwd để đổi password của root như nói ở 1.1-.

    Cách này tôi chưa thử.

    1.4-Khởi động từ một hệ thống file khác

    Cách này phức tạp nhưng về nguyên tắc thực hiện được. Tải về một bản Linux tối thiểu (search “minimal linux” để tìm, chỉ dưới 50MB) rồi giải nén nó vào một thư mục bạn có quyền ghi (ví dụ /tmp). Sau đó khi khởi động, sửa option root= trỏ vào bản Linux đó. Khởi động xong thì mount partition của bản Linux cũ như nói ở trên.

    1.5-Khởi động từ một USB

    Hiện nay có rất nhiều cách để cài một bản Linux vào một USB (ví dụ xem tại đây). Ubuntu có công cụ Startup Disk Creator trong System → Administration.

    Cắm USB vào máy rồi khởi động. Đến màn hình BIOS, nhấn F12 (hoặc phím nào đó tùy loại mainboard) để chọn khởi động vào Linux cài trên USB.

    Khi xuất hiện Grub menu, chọn khởi động vào single user mode như nói ở 1.1- nhưng ở đây là single user mode của bản Linux cài trên USB. Khi xuất hiện dấu nhắc root, chạy lệnh sau để tìm các ổ cứng và partition trên đó:

    fdisk -l

    Tạo một thư mục mới trên USB (ví dụ thư mục newdir) bằng lệnh sau:

    mk /newdir

    Sau đó mount partition trên ổ cứng có bản Linux mà ta muốn sửa password của root hoặc muốn đọc vào thư mục đó (ví dụ partition /dev/hda1):

    mount -o,rw /dev/hda1 /newdir

    Chuyển thư mục newdir thành thư mục gốc bằng lệnh:

    chroot /newdir

    rồi dùng lệnh passwd để tạo password mới cho root của bản Linux trên ổ cứng như nói ở 1.1-

    Nếu chỉ cần xem nội dung các thư mục trên một partition thì có thể làm đơn giản hơn. Khởi động vào bản Linux trên USB bình thường. Sau đó (ví dụ với Ubuntu trên USB) nhấn vào menu Places → Computer rồi nhấn tiếp vào partition ở cột bên trái và đọc nội dung ở cột phải như hình sau:

    1.6-Khởi động từ CD

    Dùng một đĩa Live CD của một bản Linux nào đó. Khởi động vào bản Live CD đó giống như cách làm với USB ở trên. Sau đó làm tiếp cũng như với USB.

    1.7-Khởi động từ mạng LAN

    Cách này khó nhưng về nguyên tắc làm được nếu máy nối vào mạng LAN và trên mạng đã có một máy chủ được cấu hình như boot server.

    Trước hết phải sửa BIOS để máy boot được từ LAN. Khi đã boot được từ một hệ điều hành trên boot server thì các bước tiếp theo như mục 1.5-.

    Nếu BIOS có password bảo vệ mà bạn không biết và do đó không sửa cho máy boot từ LAN được, theo một trong các cách sau:

    • Hỏi cụ Gúc tìm master password của BIOS.

    • Rút ổ cắm nguồn của máy, tháo pin của BIOS ra chờ khoảng 120 giây rồi lắp lại, cắm nguồn khởi động lại máy và load lại default BIOS settings (không có password).

    • Một số mainboard có jumper để reset lại BIOS.

    (Chú ý là một số notebook có tính năng an ninh chống reset BIOS).

    1.8-Khởi động từ một ổ cứng khác khởi động được.

    Dùng một ổ cứng khác khởi động được vào một bản Linux mà bạn làm chủ lắp thêm vào máy, ổ cứng cũ có bản Linux mà ta muốn xem hoặc thay password của root để nguyên. Vào BIOS, đổi ổ mới thành ổ khởi động trước (hoặc nhấn F12 chọn nó khi khởi động máy). Khi khởi động được rồi thì làm tiếp như 1.5-

    1.9-Lắp ổ cứng sang một máy khác như ổ cứng phụ

    Tháo ổ cứng có Linux mà ta muốn xem hoặc đổi password của root lắp sang một máy khác đã có Linux mà ta làm chủ. Sau đó khởi động máy đó và làm tiếp như nêu ở 1.5-

    1.10-Khai thác lỗ hổng an ninh

    Nếu một máy đã cài chạy từ lâu hoặc đã lâu không chạy và không có ai bảo trì, cập nhật phần mềm thì rất có thể là nó đang có một lỗ hổng an ninh chưa được vá. Khai thác lỗ hổng đó có thể xâm nhập được hệ thống để xem dữ liệu hoặc đổi password của root.

    Cách này dành cho các cao thủ Linux nhưng về nguyên tắc là làm được.

    2. Khôi phục username, password của user.

    Nếu còn một user khác, log in vào bằng tên user đó rồi dùng User Management để khai lại password mới cho user đã quên password.

    Nếu chỉ có một user duy nhất mà quên password:

    • Khi boot máy đến Grub menu, chọn chế độ khởi động là recovery mode (Ubuntu) hoặc safe mode, (Mandriva).

    • Các bản Linux khác sẽ khởi động thẳng vào dấu nhắc của root. Riêng Ubuntu và các phiên bản của nó sẽ xuất hiện một menu phụ. Chọn trong đó Drop to root shell prompt để vào dấu nhắc root.

    • Chạy tiếp lệnh startx để vào màn hình đồ họa. Sau đó vào tiếp User Management để khai lại password.

    • Nếu quên cả username, mở thư mục /home. Tên mỗi thư mục con trong đó là username tương ứng. Ví dụ /home/zxc thì username là zxc.

    • Hoặc không cần chạy startx mà chạy ngay lệnh passwd username để khai password mới. Ví dụ username là zxc lệnh sẽ là passwd zxc.

    3. Bảo vệ máy của bạn

    Như vậy, nếu máy của bạn người khác có thể sờ vào được (truy cập vật lý) thì có nhiều cách để họ đọc dữ liệu, thay password của root, thay password của chính bạn để bạn không thể đăng nhập vào máy nữa. Đó là chưa kể đến những cách truy cập máy từ Internet không nói đến ở đây.

    Các cách bảo vệ dưới đây (cũng như các loại khóa ta dùng trong nhà) có tính tương đối và tùy hoàn cảnh mà áp dụng. Cũng như khóa, có cách dưới đây chỉ chống được trộm vặt, có cách chống được trộm cao cấp, tùy chọn theo nhu cầu của bạn.

    3.1-Bảo vệ vật lý máy

    Để máy trong tủ, trong phòng có khóa hoặc khi mang đi đâu thì giữ bên mình. Gỡ bỏ các ổ mềm, ổ CD, DVD, đổ keo vào các cổng USB. Chọn mua loại máy có thiết bị bảo vệ phụ bằng vân tay, ảnh chân dung, thẻ mã hóa, v.v….

    3.2-Khóa chế độ boot thẳng vào dấu nhắc root.

    Trong Ubuntu làm như sau:

    • Khởi động máy vào Recovery Mode rồi chọn Drop to root shell promt như nói ở trên.

    • Tại dấu nhắc lệnh, gõ lệnh passwd rồi Enter.

    • Nhập hai lần password tùy chọn cho root.

    Từ lần sau, khi boot vào Recovery mode rồi Drop to root shell promt phải nhập password của root mới vào được hệ thống.

    Với Mandriva, tôi chưa tìm ra cách.

    Còn một cách nữa là đặt password cho Grub menu (tức là cho trình grub) nhưng hơi phức tạp. Các bản Linux mới nhất có option đặt password này đơn giản hơn. Ví dụ với Mandriva 2010 mở Control Center → Boot → Set up boot system. Tuy nhiên, nếu máy dùng chung thì cách này không có tác dụng bảo vệ thư mục Home của bạn vì người dùng chung vẫn có thể boot vào Single user mode.

    Cách thứ ba là dùng quyền root mở file /boot/grub/menu.lst (với Grub1.5 trong Mandriva chẳng hạn) hoặc file /boot/grub/grub.cfg (Ubuntu từ 9.10 trở đi) rồi đánh dấu # vào đầu hàng Recovery mode hoặc safe mode để tắt nó đi. Tuy nhiên, chế độ boot đó không phải là thừa, khi cần đến nó lại phải bật lên cũng mệt.

    3.3-Mã hóa dữ liệu

    Cách này có vẻ hiệu quả nhất. Nếu dữ liệu đã được mã hóa thì các cách nêu trên có truy cập được vào thư mục cũng không đọc được dữ liệu chứa trong đó, kể cả truy cập vật lý hay truy cập từ Internet. Nhất là các loại ổ USB, ổ cứng ngoài, laptop, netbook dễ bị đánh mất hoặc ăn trộm rất nên dùng. Các công cụ mã hóa cũng rất đa dạng.

    Một số bản Linux cho phép tạo thư mục Home mã hóa ngay trong quá trình cài đặt. Trong Ubuntu, vào System → Administration → Disk Utility có thể Format rồi mã hóa cả một partition.

    Hoặc mã hóa cao cấp và kỹ lưỡng hơn bằng TrueCrypt xem ở đây.

    Tuy nhiên cái gì cũng có giá của nó. Khóa nhiều lớp quá, mật mã phức tạp quá thì khi mở đóng mất nhiều thời gian và nếu đánh mất mật mã thì chết dở.

    Phần mềm nguồn mở hoành tráng nhất và …. bí ẩn nhất Việt nam!

    Phần mềm nguồn mở hoành tráng nhất và …. bí ẩn nhất Việt nam!

    Đầu tiên xin trích dẫn báo Nhân dân số mới nhất ngày 26/3/2010 để chắc không phải tin lá cải:

    Phát biểu tại Hội thảo báo cáo kết quả dự án hợp tác Việt Nam – Nhật Bản do NISCI tổ chức chiều 26-3, Thứ trưởng Bộ TT-TT Lê Nam Thắng đánh giá,…

    TS Hoàng Lê Minh, Viện trưởng NISCI cho biết, dự án “Rồng thông minh và các dịch vụ đám mây” (iDragon – Rồng và Mây Việt Nam) … do NISCI phối hợp với Bộ Nội vụ và Truyền thông Nhật Bản thực hiện.

    Tháng 9 năm ngoái, NISCI đã ra mắt gói phần mềm nguồn mở tích hợp gọi là iDragon NetPC . Đây là gói các phần mềm nguồn mở phổ thông được NISCI đóng gói, gồm hai phiên bản: bản miễn phí dành cho người dùng cá nhân và bản thương mại dành cho doanh nghiệp, các tổ chức, giúp người dùng máy tính Việt Nam thay thế dần các hệ điều hành và phần mềm thương mại đắt tiền của Microsoft sang sử dụng phần mềm nguồn mở chi phí thấp.”

    Có cả thứ trưởng, tiến sỹ viện trưởng phát biểu, và bộ gì đó của Nhật tham gia. Như vậy xét về tầm cỡ thì gọi là PMNM hoàng tráng nhất Việt nam chắc không sai. Lễ công bố nó đây:

    Tóm lại con rồng này có thật và lại “ thông minh” nữa. Nghe mà háo hức muốn thử, liền hỏi cụ Gúc xem con rồng này nấp ở đám mây nào.

    Nếu gõ vào địa chỉ http://netpc.idragon.vn thì nó nhất định nhảy vào trang http://netpc.idragon.vn/ubuntu ! Lưu đủ loại phần mềm nhưng không có iDragon NetPC!

    Vào thẳng trang của Viện Công nghiệp Phần mềm và Nội dung số (NISCI) thuộc Bộ Thông tin – Truyền thông ( http://www.nisci.gov.vn/ ) thì được cái màn hình này:

    Nhấn hỏng cả chuột vào iDragon NetPC, con rồng này vẫn không chịu xuất hiện. Và cũng không có một tý thông tin nào về NISCI cả ngoài cái tên.

    Quay lại với cụ Gúc thì thấy các site mua bán, các site IT của các tỉnh và các diễn đàn quảng cáo phần mềm này với những lời có cánh “Phần mềm đột phá”, “Rồng Việt cạnh tranh với Microsoft”.v.v… Thậm chí trên diễn đàn của Fotec.org còn chào cả một khóa học mà vẫn không thấy bóng dáng con rồng đâu.

    Một site duy nhất có link “Download iDragon NetPC” là taiphanmen.org. Kích vào đó nó dẫn đến site idragon.vn và báo là “/Public/NetPC/netpc-1.0-community-i386.iso was not found on this server.”!

    Cuối cùng thì cũng tìm được một ít thông tin trên các forum, chắc là do thành viên nhóm phát triển post lên. Ví dụ tại đây (nằm trong mục Rao vặt!):

    Đọc những thông tin trên thì mới hiểu: b

    1- Bản Linux này có dung lượng từ 2-8GB, chạy được từ USB và phương thức phân phối là …”phát tận tay?” (giống Ubuntu, qua bưu điện?).

    2- Vì không thấy chính thức nhắc đến “bố nó là ai” (ví dụ như Ubuntu là debian based, xem tại đây), liệu có nên hiểu đây là một bản Linux được xây dựng từ đầu ( Linux from scratch) không? Nếu quả vậy thì thật đáng kính nể. Nhất là với dung lượng khủng như trên thì khối lượng công việc khỏi phải bàn.

    Vì đã quen với các sản phẩm nguồn mở, việc không có thông tin trên trang web chính thức, không có địa chỉ download, không công bố mã nguồn, không có địa chỉ support (wiki, forum, …) từ lúc công bố chính thức đến nay đã được nửa năm gợi lên nhiều thắc mắc về một cách làm rất là …. Việt nam.

    Mà đây không phải sản phẩm của một cá nhân hay nhóm tự phát nào. Sản phẩm hợp tác quốc tế Việt – Nhật của một viện chuyên ngành IT tầm cỡ thuộc một bộ rất thạo về IT cũng tầm cỡ nốt. Tiêu tiền ngân sách chắc không ít.

    Loài rồng thường được nói là loài “ chỉ thấy đầu mà không thấy đuôi, ẩn hiện khôn lường. Khi ẩn thì núp sau những đám mây, khi hiện thì nhe nanh múa vuốt”

    Ai biết con rồng này đang núp ở đâu chỉ cho tôi với.

    Tôi rất muốn chiêm ngưỡng dung nhan “ đột phá” của nó và được giải đáp những thắc mắc nho nhỏ ở trên.

    Linux kernel làm việc như thế nào?

    How the Linux kernel works

    Posted at 9:24pm on Sunday March 15th 2009

    Zxc232 lược dịch

    Nói một cách đại thể, nhân Linux (kernel) là lớp phần mềm nằm giữa phần cứng và các chương trình ứng dụng chạy trên một máy tính. Nói một cách chặt chẽ theo đúng nghĩa khoa học máy tính, danh từ “Linux” chỉ dùng để chỉ phần nhân mà Linus Torvalds đã viết đầu những năm 90.

    Tất cả các phần khác bạn thấy trong một bản Linux: Bash shell, KDE, trình duyệt, X server và nhiều cái khác là những ứng dụng chạy trên nhân. Để hình dung, một bản Red Hat Linux 5 chiếm khoảng 2,5GB ổ cứng thì trong đó phần nhân, bao gồm tất cả các module, chỉ có 47MB, tức là khoảng 2%.

    Bên trong nhân.

    Vậy thì nhân thực sự làm cái gì? Hình vẽ dưới đây cho thấy một bức tranh tổng thể. Nhân cung cấp các dịch vụ cho các phần mềm ứng dụng chạy trên nó qua một tập hợp các cổng vào (entry points) được gọi là các lời gọi hệ thống (system calls).

    Hình 1: Nhân dùng những lời gọi hệ thống như ‘read’ và ‘write’ để cung cấp một lớp trừu tượng các phần cứng cụ thể cho các ứng dụng.

    Đối với người lập trình thì lời gọi hệ thống cũng giống như các lời gọi hàm thông thường, mặc dù lời gọi hệ thống chuyển cách điều hành của bộ xử lý từ vùng user sang vùng nhân. Toàn bộ các lời gọi hệ thống tạo nên một “máy ảo Linux” là sự trừu tượng hóa các phần cứng bên dưới nó.

    Một trong những lớp trừu tượng rõ ràng nhất do nhân cung cấp là hệ thống file. Ví dụ dưới đây là một chương trình ngắn viết bằng C mở một file và copy nội dung file ra một thiết bị ra tiêu chuẩn:

    #include <fcntl.h>

    int main()

    {

    int fd, count; char buf[1000];

    fd=open(“mydata”, O_RDONLY);

    count = read(fd, buf, 1000);

    write(1, buf, count);

    close(fd);

    }

    Trong ví dụ trên có bốn lời gọi hệ thống: open, read, writeclose. Đừng quan tâm đến cú pháp của lệnh, bây giờ chưa quan trọng. Điểm quan trọng là: thông qua các lời gọi hệ thống đó, nhân Linux cung cấp hình ảnh của một file – một dãy các byte dữ liệu có tên – và tránh cho bạn khỏi phải quan tâm đến những chi tiết nằm bên dưới như track, sector, head, …của cách lưu trữ file đó trên ổ cứng mà bạn phải biết và giao tiếp nếu bạn muốn nói chuyện trực tiếp với phần cứng. Đó là cái mà ta gọi là sự trừu tượng hóa.

    Như bạn đã thấy ở hình trên, nhân phải làm rất nhiều việc để cung cấp được một hình ảnh trừu tượng của file mặc dù hệ thống file đó có thể có nhiều format khác nhau (ext3, fat, ntfs, …), nằm trên nhiều thiết bị lưu trữ như ổ cứng, CD, USB và thậm chí có thể nằm trên các máy khác trong mạng truy cập bằng các giao thức mạng như NFS hoặc CIFS (mà cuối cùng bạn vẫn chỉ truy cập đến nó bằng các lời gọi hệ thống, phần còn lại do nhân đảm nhiệm).

    Đằng sau hậu trường.

    Hệ thống file là sự trừu tượng dễ thấy nhất mà nhân cung cấp. Nhưng nhân còn có những hoạt động khác kém trực quan hơn. Ví dụ, nhân chịu trách nhiệm lập lịch xử lý. Ở mỗi thời điểm, bao giờ cũng có vài tiến trình (process) chờ để chạy. Nhân lập lịch bố trí thời gian để bộ xử lý chạy các tiến trình đó xen kẽ nhau sao cho sau một khoảng thời gian (vài giây) ta có cảm giác các tiến trình đó chạy đồng thời. Dưới đây là một chương trình ví dụ khác:

    #include <stdlib.h>

    main()

    {

    if (fork()) {

    write(1, “Parent\n”, 7);

    wait(0);

    exit(0);

    }

    else {

    write(1, “Child\n”, 6);

    exit(0);

    }

    }

    Chương trình này tạo ra hai tiến trình: một tiến trình cha và một tiến trình con, mỗi cái viết một message vào thiết bị xuất rồi kết thúc. Đừng quan tâm đến cú pháp của lệnh vội mà chỉ cần thấy rằng các lời gọi fork(), exit(), wait() tạo các tiến trình, kết thúc và đồng bộ chúng. Các lời gọi đơn giản đó che giấu cả một quá trình phức tạp của nhân để quản lý và lập lịch thực hiện các tiến trình.

    Một chức năng khác của nhân còn ít rõ ràng hơn ngay cả với nhà lập trình là quản lý bộ nhớ. Mỗi tiến trình đều ảo tưởng rằng chúng có một vùng không gian địa chỉ bộ nhớ riêng. Thực ra chúng dùng chung bộ nhớ RAM với các tiến trình khác. Và nếu RAM không đủ, một phần không gian địa chỉ còn được đưa ra vùng swap trên ổ cứng. Nhân phải điều khiển sao cho một tiến trình không xâm phạm vào vùng địa chỉ của tiến trình khác.

    Nhân cũng thực hiện các giao thức mạng như IP, TCP và UDP để liên lạc giữa máy với máy và tiến trình với tiến trình thông qua mạng. Ở đây cũng lại có các ảo tưởng. TCP tạo nên ảo tưởng rằng giữa hai tiến trình có một kết nối cố định như sợi dây đồng giữa hai máy điện thoại, thực ra thì không có kết nối cố định đó. Lưu ý rằng các giao thức ứng dụng như FTP, DNS, HTTP được thực hiện bởi các chương trình, không phải nhiệm vụ của nhân.

    Linux (cũng giống như Unix trước nó) nổi tiếng về an ninh. Chính nhân là nơi theo dõi các mã định danh của người dùng và nhóm người dùng (user ID và group ID) của mỗi tiến trình đang chạy để quyết định có cho phép hay không mỗi lần tiến trình đòi truy cập một tài nguyên (như mở file để ghi vào đó) bằng cách kiểm tra quyền truy cập của tài nguyên đó.

    Cuối cùng, nhân có rất nhiều các module. Mỗi module biết các chi tiết của phần cứng để nói chuyện với chúng: làm thế nào để đọc một sector trên ổ cứng, làm thế nào để tìm một gói dữ liệu từ card mạng, v.v và v.v. Đôi khi các module đó được gọi là các driver của thiết bị.

    Cấu trúc module của nhân.

    Các nhân Linux đời đầu có cấu trúc đơn khối (monolithic): các bộ phận của nhân liên kết cố định với nhau tạo nên một file chạy lớn.

    Nhân Linux hiện nay có cấu trúc module: mỗi module chức năng chỉ được tải vào nhân khi cần đến. Do đó nhân có kích thước nhỏ và có thể tải hoặc thay thế các module trong một nhân đang chạy mà không cần phải reboot.

    Lúc boot, phần lõi của nhân được tải vào bộ nhớ từ một file trong thư mục /boot, thường là file vmlinuz-<phiên bản của nhân> (ví dụ: vmlinuz-2.6.31.2-desktop586-0.rc1.1mnb). Các module của nhân nằm trong thư mục /lib/modules/<phiên bản của nhân>. Có thể biết phiên bản nhân bằng lệnh uname -r.

    Quản lý các module.

    Thường thì Linux tự quản lý các module. Nhưng cũng có những lệnh để xem và quản lý module nếu cần. Ví dụ lệnh lsmod cho biết danh sách các module hiện đang được tải vào bộ nhớ:

    # lsmod

    pcspkr 4224 0

    hci_usb 18204 2

    psmouse 38920 0

    bluetooth 55908 7 rfcomm,l2cap,hci_usb

    yenta_socket 27532 5

    rsrc_nonstatic 14080 1 yenta_socket

    isofs 36284 0

    Các trường trong danh sách trên gồm: tên module, kích thước, số lần dùng và danh sách các module phụ thuộc vào nó. Số lần dùng là quan trọng để ngăn việc tải ra (unload) một module hiện đang dùng. Linux chỉ tải ra được các module nào có số lần dùng =0.

    Có thể tải vào, tải ra một module bằng lệnh modprobe. Ví dụ, lệnh lsmod ở trên cho thấy module isofs có số lần dùng =0 và không có module nào phụ thuộc vào nó (isofs là module hỗ trợ các hệ thống file trên đĩa CD). Vậy có thể tải nó ra bằng lệnh sau:

    # modprobe -r isofs

    Nếu chạy lại lệnh lsmod sẽ thấy không còn module isofs nữa và tiết kiệm được 36,284 byte bộ nhớ. Nếu cho một đĩa CD vào ổ và để nó tự mount, nhân sẽ lại tải module isofs vào và số lần dùng nó được tăng lên thành 1. Nếu bây giờ ta lặp lại lệnh trên để tải nó ra thì sẽ bị báo lỗi vì nó đang được dùng:

    # modprobe -r isofs

    FATAL: Module isofs is in use.

    Trong khi lệnh lsmod chỉ liệt kê các module đang được tải, lệnh lsmod -l sẽ liệt kê tất cả các module đã được cài đặt nằm trong thư mục /lib/modules/KERNELVERSION.

    Lệnh modinfo liệt kê các thông tin về một module. Ví dụ dưới đây là thông tin về module snd-hda-intel (Intel sound driver):

    # modinfo snd-hda-intel

    filename: /lib/modules/2.6.20-16-generic/kernel/sound/pci/hda/snd-hda-intel.ko

    description: Intel HDA driver

    license: GPL

    srcversion: A3552B2DF3A932D88FFC00C

    alias: pci:v000010DEd0000055Dsv*sd*bc*sc*i*

    alias: pci:v000010DEd0000055Csv*sd*bc*sc*i*

    depends: snd-pcm,snd-page-alloc,snd-hda-codec,snd

    vermagic: 2.6.20-16-generic SMP mod_unload 586

    parm: index:Index value for Intel HD audio interface. (int)

    parm: id:ID string for Intel HD audio interface. (charp)

    parm: model:Use the given board model. (charp)

    parm: position_fix:Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size). (int)

    parm: probe_mask:Bitmask to probe codecs (default = -1). (int)

    parm: single_cmd:Use single command to communicate with codecs (for debugging only). (bool)

    parm: enable_msi:Enable Message Signaled Interrupt (MSI) (int)

    parm: enable:bool

    Các dòng bắt đầu bằng từ parm (viết tắt của parameter) là các tham số của module. Nếu muốn tìm hiểu về các tham số này, hãy cài mã nguồn của nhân. Sau đó tìm hiểu trong thư mục /usr/src/KERNELVERSION/Documentation

    Hệ thống file /proc

    Nhân Linux cũng cung cấp nhiều thông tin qua hệ thống file /proc. Để hiểu nó ta cần mở rộng khái niệm file.

    Thay cho việc nghĩ file như các thông tin tĩnh lưu trên ổ cứng, CD, … ta cần xem file như bất kỳ loại thông tin gì có thể truy cập qua các lời gọi hệ thống như open/read/write/close đã nói ở trên và như vậy nghĩa là có thể truy cập bằng các chương trình xem file thông thường như cat hoặc less.

    Các ‘file’ trong thư mục /proc là sự trừu tượng hóa ảnh của nhân, cung cấp nhiều thông tin về cấu trúc dữ liệu bên trong nhân. Ví dụ: nội dung file /proc/modules (hoặc thư mục /proc/modules) cho danh sách các module của nhân đang được tải vào bộ nhớ.

    Tương tự, nội dung file /proc/meminfo cung cấp nhiều thông tin về bộ nhớ hơn là dùng các lệnh vmstat hoặc top.

    Đặc biệt là các file nằm trong thư mục /proc/sys cho biết nhiều thông tin về hệ thống. Ví dụ dùng lệnh sau xem file ip_forward:

    # cat /proc/sys/net/ipv4/ip_forward

    0

    Kết quả ‘0’ nghĩa là chức năng gateway của nhân hiện đang tắt.

    Thú vị hơn khi biết rằng ta có thể viết vào các file đó. Lệnh sau đây sẽ bật chức năng trên lên:

    # echo 1 > /proc/sys/net/ipv4/ip_forward

    Thay cho dùng lệnh cat hoặc echo như trên để xem và thay đổi các settings trong /proc/sys, có thể dùng lệnh sysctl trực quan hơn. Hai lệnh dưới đây tương đương với hai lệnh cat và echo ở trên:

    # sysctl net.ipv4.ip_forward

    net.ipv4.ip_forward = 0

    # sysctl -w net.ipv4.ip_forward=1

    net.ipv4.ip_forward = 1

    Đường dẫn sau lệnh sysctl dùng dấu chấm (.) thay cho dấu sược trái (/) thông thường và các đường dẫn trong đó là tương đối so với /proc/sys.

    Lưu ý những thay đổi kiểu như trên chỉ có giá trị với kernel đang chạy và không được lưu lại. Khi reboot lại sẽ mất. Nếu muốn thay đổi cố định các settings, phải sửa file /etc/sysctl.conf.

    Năm bản Linux hay dựa trên Ubuntu

    Năm bản Linux hay dựa trên Ubuntu.

    Christopher Smart

    Wednesday, February 10th, 2010

    ( Linux có cái hay là có thể dựa trên một bản có sẵn, sửa đổi thành một bản mới. Ubuntu dựa trên nền Debian. Hiện có hàng chục bản Linux khác dựa trên nền Ubuntu, trong đó nổi tiếng nhất có lẽ là Linux Mint. Dưới đây là một vài bản độc đáo và mới).

    I. DEFT (Digital Evidence & Forensic Toolkit)

    DEFT là bản Linux 32bit dùng điều tra các bằng chứng pháp lý số hóa ( tương tự như CAINE đã giới thiệu ở đây)

    DEFT là bản live CD, có môi trường đồ họa dựa trên LXDE (Lightweight X11 Desktop Environment) và bộ công cụ các phần mềm nguồn mở để tìm kiếm, phân tích các bằng chứng số như DHash, Sleuthkits’s Autopsy, ophcrack, ClamAV, Wireshark, Gigolo, Nessus v.v….

    DEFT desktop
    DEFT desktop

    II. Element

    Element là bản Linux 32 bit dành cho các máy tính PC chuyên chơi các file multimedia (home theatre PC) trên màn hình TV. ( Tức là thay cho đầu đĩa CD/DVD, dùng máy tính làm đầu chơi file multimedia có trên ổ cứng, hiển thị ra màn hình TV).

    Element được thiết kế để chạy trên các máy PC đặt trong phòng khách, kết nối với màn hình TV độ phân giải cao, điều khiển bằng bộ điều khiển từ xa của TV. Điểm đặc biệt của Element là nó hỗ trợ giao diện 10 feet, ( một loại giao diện đồ họa đặc biệt trong đó font, các nút bấm, các menu hiển thị trên các màn hình TV cỡ lớn phải đủ lớn sao cho đứng cách xa 10 feet (3 mét) cũng nhìn rõ). Môi trường đồ họa của Element là Xfce4.

    Element's ten foot user interface
    Element’s ten foot user interface

    Chức năng chính là chơi nhạc, xem video, xem ảnh, xem video từ Internet, nhưng Element cũng có các phần mềm cơ bản của máy tính như trình duyệt Firefox, trình ghi đĩa CD/DVD Brasero.

    Element được cài sẵn XBMC Media Center, một phần mềm ứng dụng rất phổ biến để quản lý các file multimedia. Vì dựa trên Ubuntu nên có thể kết nối vào các kho phần mềm của Ubuntu để cài thêm các phần mềm cần thiết. Element cũng tự quảng cáo là có thể dùng như một đầu chơi game với hàng trăm game 3D và các loại game khác có sẵn.

    Element with XBMC running
    Element với XBMC đang chạy

    III. Jolicloud

    Jolicloud là một phiên bản Linux được tối ưu hóa cho netbook, tương thích với một số lớn netbook.

    Giao diện của nó nằm trung gian giữa MoblinNetbook Remix.

    Jolicloud netbook desktop
    Jolicloud netbook desktop

    Ngoài một số phần mềm ứng dụng thông thường cho máy để bàn, điểm mạnh của Jolicloud là có cài sẵn một dịch vụ điện toán đám mây: người dùng có thể backup hoặc lưu trữ dữ liệu online. Như vậy, Jolicloud cân bằng giữa hai môi trường: máy để bàn và điện toán đám mây.

    Jolicloud cloud service
    Dịch vụ điện toán đám mây của Jolicloud

    Trình cài đặt của Jolicloud chạy trong Windows ( file exe, tức là trên netbook phải có Windows đã cài). Nó sẽ tạo thêm partition và cài Jolicloud có thể boot vào Windows hay Jolicloud tùy chọn. Một trong những mục tiêu của Jolicloud là đơn giản tối đa vì vậy trình cài đặt của nó chỉ gồm 3 bước và cài xong trong 15 phút. Cũng có một option cài đặt cao cấp dành cho những người thạo Linux.

    Dù còn đang ở phiên bản beta, Jolicloud hoạt động trơn tru. Nếu bạn chưa hài lòng với bản Linux netbook hiện có, hãy thử Jolicloud.

    IV. moonOS

    Nếu bạn cho rằng Linux chỉ có hai môi trường đồ họa là Gnome và KDE thì cũng có thể tha thứ được, mặc dù thực ra có đến hơn chục cái như thế ( xem thêm tại đây). Trong số ít những cái nổi bật, một trong những cái rất đặc biệt đã được phát triển trên chục năm nay là Enlightenment.

    Enlightenment là một môi trường đồ họa đầy đủ, có thể dùng chung hoặc dùng độc lập. Phiên bản hiện tại (E17) là phiên bản được viết lại mới hoàn toàn của phiên bản ổn định E16 từ tháng 12/2000. Mặc dù còn chưa xong hẳn nhưng E17 hoàn toàn có thể dùng được và có nhiều bản Linux đã dùng nó.

    Một trong những bản Linux đó là moonOS , hệ điều hành có nguồn gốc Campuchia do nghệ sỹ Chanrithy Thim thực hiện ( may mà Việt nam còn có Hacao Linux). Bản này có nhiều trang trí nghệ thuật (atwork) độc đáo. E17 không có trong các kho phần mềm chính thức của Ubuntu, vì vậy moonOS là bản duy nhất dựa trên Ubuntu dùng E17 (và cả Xfce4). MoonOS chạy các ứng dụng GTK và có các ứng dụng cài sẵn được chọn cẩn thận như Firefox, OpenOffice.org, trình chơi nhạc Exaile, vẽ đồ họa GIMP và trình chat Pidgin.

    moonOS E17 desktop and artwork
    moonOS E17 desktop and artwork

    V. wattOS

    Nền công nghiệp máy tính đang thay đổi. Tiêu điểm đang chuyển từ các máy tính công suất lớn sang những máy tính công suất thấp, sử dụng năng lượng có hiệu quả. Trong khi nhân Linux có khả năng quản lý năng lượng rất tốt và có những trình quản lý năng lượng tuyệt vời như PowerTop, có bản Linux nào dành riêng hoàn toàn cho hiệu quả sử dụng năng lượng không?

    wattOS, một hệ điều hành Linux nhẹ, chạy rất nhanh và sử dụng năng lượng tiết kiệm. Nó dùng môi trường đồ họa Openbox, một môi trường rất nhẹ, có khả năng tùy biến cao, rất thích hợp cho các máy tính yếu và do đó tiêu thụ ít điện năng.

    WattOS có những phần mềm mới nhất của Ubuntu nhưng cũng có những công cụ quản lý năng lượng khác nhau để theo dõi và chỉnh tiêu hao công suất hệ thống. Giao diện đơn giản và có thể tùy biến theo khẩu vị.

    wattOS LXDE desktop
    wattOS LXDE desktop

    WattOS là một phương án lựa chọn cùng với các bản Linux tối thiểu khác như Damn Small Linux và Tiny Core, đặc biệt thích hợp cho các máy tính cũ tân trang lại. Nó dùng ít bộ nhớ nên có thể chạy trơn tru trong khi vẫn có thể dùng các phần mềm Ubuntu chuẩn.

    Microsoft chuẩn bị vá lỗi 17 năm tuổi trong hệ điều hành Windows

    Trong một bài viết trước Phần mềm nguồn mở có an toàn không?có nói một trong những nguyên nhân không an toàn của Windows là thiết kế của nó chuyển từ single-user sang multi-user, kế thừa nhiều điểm không an toàn của môi trường single-user.

    đây là một bằng chứng cho vấn đề đó.

    Tuy nhiên, Linux mặc dù thừa kế tính multi-user của Unix ngay từ trong thiết kế cũng chỉ an toàn hơn mà không phải an toàn tuyệt đối. Cái gì con người làm ra, con người cũng có thể phá. Hiện nay, bản Linux mới nhất đang xây dựng chưa xong là Google Chrome có nói sẽ thiết kế mới từ đầu, chú trọng đến an ninh. Chúng ta cùng chờ xem.

    Ghi chép về an ninh trong Linux

    Ghi chép về an ninh trong Linux

    I. Khái niệm chung

    Trong hoạt động của máy tính, một thực thể có thể cần phải truy cập đến một thực thể khác để thực hiện một hành động nào đó. Ví dụ: một user đọc một file, một chương trình chơi nhạc gọi một chương trình khác để phát âm ra loa, v.v..

    Các thực thể thực hiện các hành động đối với các thực thể khác được gọi là chủ thể truy cập (subject). Các thực thể được truy cập gọi là đối tượng truy cập (object). Chủ thể thường là một tiến trình (process) hoặc một mạch tiến trình (thread), đối tượng là file, thư mục, các cổng TCP, các vùng bộ nhớ dùng chung, v.v…

    Để đảm bảo an ninh cho hệ thống, việc truy cập không thể tự do, bừa bãi mà cần được kiểm soát. Hệ thống kiểm soát truy cập (Access control systems) thực hiện ba dịch vụ chính: nhận dạng và xác thực ( identification and authenticationI&A), cấp phép ( authorization), và theo dõi ( accountability)

    I.1-Xác nhận (Nhận dạng và xác thực – Identification and authentication – I&A)

    Một chủ thể truy cập trước hết phải cung cấp một dấu hiệu nhận dạng (identity) hợp lệ (vd: một cặp username và password tối thiểu 6 ký tự chẳng hạn. Nếu chỉ có username, hoặc chỉ có pasword hoặc có cả username và password nhưng password chỉ có 5 ký tự là không hợp lệ). Sau khi kiểm tra là chủ thể có dấu hiệu nhận dạng hợp lệ, quá trình xác thực sẽ so sánh dấu hiệu đó với dấu hiệu đã đăng ký để xác nhận chủ thể đó đúng là nó.

    Quá trình đó tương tự như khi ta trình giấy mời vào một cuộc họp quan trọng: đầu tiên người gác cổng phải xem giấy mời có hợp lệ không (đúng mẫu giấy mời, có chữ ký và dấu v.v…) sau đó tra xem tên ghi trên giấy và tên trên chứng minh thư có trùng nhau không và thậm chí tên đó có trong danh sách khách mời không v.v.. Nếu tất cả đều đúng thì ta được xác nhận đúng là người được mời họp và được vào.

    I.2- Cấp phép (Authorization)

    Việc cấp phép xác định chủ thể được làm những hành động gì trên đối tượng.

    Trong các hệ điều hành, quyền của chủ thể trên đối tượng là tổ hợp của ba loại quyền truy cập cơ bản sau:

    • Read (R): chủ thể có thể

      • Đọc nội dung file

      • Đọc (liệt kê) nội dung thư mục

    • Write (W): chủ thể có thể thay đổi nội dung file hoặc thư mục.

    • Execute (X): nếu file là một chương trình, chủ thể có thể chạy chương trình đó.

    Cách cấp phép cụ thể tùy theo mô hình (kỹ thuật) kiểm soát truy cập (xem dưới đây).

    I.3- Theo dõi (Accountability)

    Việc theo dõi các hành động của chủ thể được thực hiện tự động bằng các audit trails (records) và các file log. Dựa vào đó có thể:

    • Phát hiện các vi phạm quy tắc an ninh.

    • Tái tạo lại các sự cố về an ninh.

    II. Các kỹ thuật kiểm soát truy cập (Access control techniques)

    II.1-Kiểm soát truy cập tùy ý (Discretionary access control – DAC)

    Trong kỹ thuật này, mỗi đối tượng đều có một chủ nhân (owner). Chủ nhân của đối tượng có toàn quyền quyết định chính sách truy cập đối tượng: cho chủ thể nào được truy cập và được làm những hành động gì trên đối tượng. Vì thế mới có tên là “Kiểm soát truy cập tùy ý”, theo ý muốn của chủ nhân đối tượng, không có một chính sách truy cập thống nhất trong toàn hệ thống.

    Ví dụ khi một user tạo ra một file thì user đó là owner của file và có toàn quyền cho phép các user khác được truy cập vào file đó theo các mức độ khác nhau hoặc cấm hoàn toàn không cho ai ngoài mình được truy cập file.

    Đây là kỹ thuật (hoặc còn gọi là mô hinh) kiểm soát truy cập phổ biến của các hệ thống file Linux hiện nay.

    II.2-Kiểm soát truy cập bắt buộc (Mandatory access control – MAC)

    Trong kỹ thuật MAC, chính sách truy cập các đối tượng được thiết lập chung, thống nhất, bắt buộc cho toàn hệ thống bởi người quản trị an ninh hệ thống ( security policy administrator), không phải theo ý thích của các chủ nhân các đối tượng. Kỹ thuật này thường được dùng trong các hệ thống phân cấp có các dữ liệu cần bảo mật cao như các hệ thống mật của chính phủ hoặc quân đội. Có hai đặc điểm quan trọng sau:

    • Nhãn bảo mật (Security label): trong hệ thống MAC, tất cả các chủ thể và đối tượng truy cập đều có nhãn bảo mật gán cho chúng. Để truy cập vào một đối tượng, chủ thể phải có nhãn với cấp bảo mật bằng hoặc cao hơn cấp bảo mật của đối tượng.

    • Kiểm soát xuất nhập dữ liệu: một trong các chức năng tối quan trọng của hệ MAC là kiểm soát việc nhập dữ liệu từ các máy khác vào và xuất dữ liệu ra các thiết bị bên ngoài (kể cả máy in). Trong quá trình xuất nhập, nhãn bảo mật phải luôn luôn được thiết lập và bảo trì một cách thích hợp sao cho các dữ liệu mật luôn luôn được bảo vệ.

    Trong kỹ thuật DAC, chủ thể truy cập thừa kế các quyền của user khi truy cập đối tượng. Các quyền đó có thể quá rộng (ví dụ khi user là root, chương trình do root chạy sẽ có quyền truy cập như root) nên nếu chủ thể bị hacker điều khiển, tác hại sẽ lớn. MAC cho phép giới hạn quyền của chủ thể ở mức tối thiểu cần thiết, hạn chế được tác hại nói trên.

    II.3-Kiểm soát truy cập dựa trên chức danh (Role-based access control – RBAC)

    Trong kỹ thuật RBAC, hệ thống gồm nhiều chức danh khác nhau, tương tự như chức danh trong một tổ chức. Mỗi chức danh đó có quyền thực hiện các hành động khác nhau. Khác với MAC có hành động chỉ giới hạn ở các quyền đọc, viết, hành động trong RBAC từ mức đơn giản đọc, viết đến mức phức tạp là một chuỗi các hành động tạo thành một giao dịch (transaction) hoàn chỉnh. RBAC cũng giống MAC là chính sách truy cập được thiết lập tập trung bởi người quản trị an ninh mà không tùy thuộc vào chủ nhân các đối tượng như với DAC.

    Ba quy tắc cơ bản của RBAC:

    1. Gán chức danh: một chủ thể truy cập chỉ có thể thực hiện hành động nếu nó được gán một chức danh nhất định trong hệ thống.

    2. Cho phép đảm nhiệm chức danh: một chủ thể chỉ có thể được gán một số chức danh nhất định. (tương tự như một nhân viên chưa có bằng đại học thì không thể làm trưởng phòng).

    3. Cho phép thực hiện giao dịch: một chủ thể đã được gán một chức danh chỉ được thực hiện các giao dịch mà chức danh đó được phép làm.

    RBAC thường được dùng trong các phần mềm thương mại hoặc quân sự, nơi cần bảo mật các giao dịch.

    III. SELinux

    SELinux là một công nghệ tăng cường an ninh cho nhân Linux. SELinux là sản phẩm chung của cục An ninh Quốc gia Mỹ và một số công ty tin học, đã được tích hợp vào nhân Linux (Linux kernel) từ phiên bản 2.6 trở đi.

    Các bản Linux trước 2.6 chỉ dùng phương pháp quản lý truy cập tùy ý (DAC). SELinux thông qua cơ chế mô đun an ninh ( Linux Security Modules – LSM) bổ xung thêm hai phương pháp quản lý truy cập MAC và RBAC vào nhân Linux.


    Hình 1: Chính sách an ninh và các module an ninh tăng cường độc lập với nhau trong SELinux.

    Trong hình 1, người quản trị an ninh hệ thống dùng các công cụ chính sách (Policy utilities) để thiết lập chính sách an ninh (Security policy) chung cho hệ thống. Mỗi khi nhân Linux cần truy cập một đối tượng nào đó, trước tiên nó sẽ gọi (Request) hàm an ninh trong Security module, hàm này kiểm tra các điều kiện truy cập theo Security policy đã thiết lập rồi cho phép (Response) thực hiện truy cập.

    IV. AppArmor

    SELinux tuy tốt về mặt an ninh nhưng phức tạp, khó sử dụng. AppArmor là bộ phần mềm được xem là một giải pháp thay thế thân thiện, dễ sử dụng hơn. Các đặc điểm chính:

    • Cũng dựa trên cơ chế mô đun an ninh LSM như SELinux.

    • Mỗi chương trình có một security profile giới hạn quyền truy cập của chương trình ở mức tối thiểu đủ để thực hiện công việc của mình. Các profile này do người quản trị an ninh lập và như vậy áp dụng kỹ thuật MAC vào Linux. Chương trình chỉ được hoạt động trong giới hạn mà security profile của nó cho phép.

    • Ngoài các profile lập bằng tay, AppArmor còn có mode tự học: các hoạt động của chương trình được lưu lại trong log, các log này có thể chuyển thành profile.

    • SELinux dùng secutity label do đó đòi hỏi hệ thống file phải hỗ trợ dạng label đó. AppArmor không dùng secutity label nên áp dụng với hệ thống file nào cũng được.

    • SELinux truy cập file dựa trên số inode (inode number), AppArmor truy cập file bằng đường dẫn (path). Cách nào hay hơn thì còn đang cãi nhau. Một trong những phần mềm an ninh mới nhất dùng kỹ thuật MAC nhưng truy cập file bằng đường dẫn là Tomoyo.

    V. Ứng dụng

    Các máy để bàn thường chỉ kiểm soát truy cập theo kỹ thuật DAC. Vì vậy các bản Linux desktop không cài sẵn SELinux hoặc AppArmor. OpenSUSE là bản Linux desktop có đầy đủ giao diện đồ họa nhất để thiết lập và quản trị AppArmor (có cả wizard) nhưng mặc định cũng không kích hoạt (enable) AppArmor. Mandriva có các gói phần mềm SELinux và AppArmor trong kho nhưng không cài có lẽ vì đã có Msec. Linux Mint có cài một vài thư viện của hai phần mềm trên nhưng không đầy đủ.

    Trong một thế giới kết nối Internet, các máy để bàn đều bị nhòm ngó và có nguy cơ bị biến thành máy tính âm binh (zombie) trong một mạng máy tính ma (botnet) thì có lẽ tăng cường an ninh bằng SELinux hoặc AppArmor vẫn tốt hơn mặc dù như vậy sẽ gây phức tạp hơn cho việc cài thêm các phần mềm mới.

    Còn với các máy chủ thì tăng cường an ninh bằng SELinux hoặc AppArmor là đương nhiên.

    VI. Ảo hóa hệ điều hành

    Một trong những giải pháp nữa để tăng cường an ninh là dùng các máy chủ ảo. Trên một máy chủ vật lý chạy một hệ điều hành chủ, trong hệ điều hành chủ dùng phần mềm ảo hóa để tạo nên một số máy chủ ảo. Mỗi máy chủ ảo chạy một hệ điều hành và chương trình ứng dụng riêng. Các máy chủ ảo cô lập so với nhau và với máy chủ chính. Như vậy khi một máy ảo bị tấn công không ảnh hưởng tới các máy khác.

    Multimedia trong Linux (sửa, bổ xung và hết)

    Hệ thống multimedia trong Linux.

    Multimedia trong Linux khá rắc rối. Bài này ghi lại vài khái niệm tìm hiểu được để đỡ lúng túng khi sử dụng.

    I. Một vài khái niệm

    Multimedia là từ chung để chỉ các dạng dữ liệu: văn bản (text), âm thanh (audio), ảnh tĩnh (still image), hoạt hình (animation) và phim (video).

    Các dữ liệu audio, video được tạo ra (bằng máy ảnh, máy quay video) hoặc được chơi lại (playback, bằng loa, đèn hình TV hay màn hình máy tính) dưới dạng các sóng điện tử liên tục. Các sóng đó phải được chuyển thành dữ liệu số ( encoder, mã hóa: từ sóng thành các dãy số 0,1) rồi nén hoặc không nén để có thể lưu trữ, biên tập, truyền đi trên máy tính. Khi encoder, dữ liệu có thể để nguyên (lossless, không mất) hoặc bỏ đi các phần thừa mà con người không cảm nhận được để giảm dung lượng dữ liệu tiện cho lưu trữ hoặc truyền trên mạng (lossy, có mất dữ liệu).

    Để con người có thể thưởng thức được (nghe, xem), các dữ liệu số multimedia nói trên lại được chuyển đổi ngược lại từ các dãy số 0,1 thành sóng điện từ làm kêu loa hoặc vẽ hình lên màn hình. Quá trình chuyển đổi ngược đó gọi là decoder, giải mã.

    Một bài hát, khi ghi vào băng từ hoặc đĩa than vẫn ở dạng các sóng âm, khi ghi thành file MP3 là đã được mã hóa sang dạng số. Tương tự, một bức ảnh chụp lên phim được lưu dưới dạng các phổ màu liên tục, khi lưu thành file JPEG, PNG, … là đã mã hóa sang dạng số.

    Codec (viết tắt của en coder/ decoder)là các phần mềm/thuật toán/công nghệ dùng để mã và giải mã (có nén hoặc không) dữ liệu multimedia như nói trên.

    hàng nghìn codec nhằm vào các mục tiêu khác nhau: codec cho điện thoại phải có độ trễ thấp, chất lượng âm không cần cao; ngược lại, codec để chơi nhạc chất lượng âm phải cao nhưng độ trễ không quan trọng, v.v….

    Multimedia Format: sau khi mã hóa, dữ liệu multimedia được lưu thành các file có định dạng (format) khác nhau. Một file ảnh có thể lưu dưới dạng file jpg, png, bmp, … Một đoạn phim thường gồm ba loại dữ liệu: video, audio và metadata để đồng bộ hình với tiếng. Ba loại dữ liệu đó được lưu chung trong một loại format gọi là media container format (ví dụ avi). Nhiều loại codec khác nhau có thể lưu file cùng một format avi, tất nhiên là chất lượng phim tùy theo codec.

    Một vài codec và format chính (có hàng nghìn codec và hàng trăm format):

    Microsoft: Microsoft có hai hệ codec phổ biến là Windows Media Audio (WMA) và Windows Media Video (WMV). Mỗi hệ gồm một số codec. Các file được mã hóa bằng hai codec trên được lưu theo media container format ASF (Advanced System Format). Tuy nhiên phần đuôi file (extension) thì tùy: file audio có đuôi là .wma, file video: .wmv nhưng nếu muốn cả hai loại file trên có thể có đuôi là .asf.

    Microsoft còn có một container format cổ hơn là AVI (Audio Video Interleave), đuôi file .avi. Cả hai loại format ASF và AVI có thể chứa được nhiều loại codec khác, không bắt buộc phải là WMA và WMV.

    MPEG: là tên tắt của Nhóm chuyên gia về ảnh động (Moving Picture Experts Group) chuyên thiết lập các chuẩn ISO về nén và truyền audio, video. MPEG-1 là chuẩn đầu tiên trong đó có MPEG-1 Audio Layer 3 ( MP3) vẫn còn rất phổ biến hiện nay. MP4 (viết tắt của MPEG-4 Part14) là một loại media container format, đuôi file cũng là .mp4.

    DivX: là một video codec nổi tiếng vì có khả năng nén các file video lớn xuống dung lượng thấp nhưng vẫn giữ được chất lượng hình khá. Từ DivX 6 có thêm một media container format DivX Media Format (DMF), đuôi file là .divx, dành cho DVD-Video. DivX là một sản phẩm nguồn đóng.

    Xvid: một video codec cạnh tranh với DivX, nguồn mở.

    RealAudio/RealVideo: là các format của công ty RealNetwork cho file audio và video. Mỗi format này có thể dùng các codec khác nhau. Đuôi file tương ứng là .ra và .rv. Ngoài ra còn có một format tổ hợp cho cả audio và video gọi là Real Media Format có đuôi file là .rm. Các file .ram và .smil dùng cho các link từ website để chạy các file tải về từ Internet (streaming).

    FFmpeg: là một dự án nguồn mở xây dựng các phần mềm và thư viện để ghi, chuyển đổi và truyền dẫn audio/video. Thư viện libavcodec cung cấp codec cho hàng chục loại format audio/video khác nhau.

    Ogg: là media container format nguồn mở dành cho audio/video chất lượng cao. Trong đó, Ogg Theora là video codec, Ogg Vorbis là audio codec. Trước đây, file .ogg gồm cả audio và/hoặc video. Từ 2007, file .ogg chỉ còn là file audio, file .oga là file audio, file .ogv là file video.

    Flash Video: là một media container format dùng chơi video trên các trang web bằng Adobe Flash Player. Có hai format là FLV và F4V, trong đó F4V mới hơn tuân theo chuẩn ISO. Đuôi file .f4v dành cho file video mp4, đuôi .f4a dành cho audio mp4. Nội dung trong file có thể dùng các codec khác nhau: H264, mp3, …

    Adobe còn một format nữa là SWF (đuôi file .swf ) chuyên dùng cho đồ họa vector động trên web.

    QuickTime: là một media container format độc quyền của Apple Inc. Đuôi file là .mov hoặc .qt. Mỗi loại dữ liệu: video, audio, text, … được lưu thành một track.

    II. Driver cho sound card: ALSA

    ALSA (Advanced Linux Sound Architecture) là một hệ thống con của nhân Linux gồm các driver cho sound card và dụng cụ nhạc điện tử (MIDI), các thư viện để lập trình giao tiếp với các thiết bị nói trên và một số công cụ cần thiết (mixer,…). Hiểu đơn giản ALSA tức là driver cho sound card.

    Các driver đều dưới dạng module để có thể nạp khi cần. ALSA hiện nay thay thế cho hệ thống cũ OSS (Open Sound System) nhưng vẫn tương thích với các phần mềm OSS. OSS cũng là giao diện với các soundcard nhưng có nhiều hạn chế nên bị thay thế.

    Ví dụ trong Mandriva, khi mở Control Center > Hardware > Sound Configuration, ta thấy màn hình sau:

    Sound card đang dùng là Intel 82801G, driver là snd_hda_intel.

    III. Sound Server

    Nếu sử dụng âm thanh đơn giản thì chỉ cần sound driver (alsa, oss, …) là đủ. Nhưng trong những trường hợp phức tạp hơn thì phải có hẳn một máy chủ âm thanh Sound Server trong hệ điều hành làm các nhiệm vụ sau:

    • Nhận các luồng âm thanh từ nhiều nguồn khác nhau (micro hoặc các phần mềm chơi nhạc, phát âm, các luồng âm streaming tải về từ Internet,…).

    • Hòa trộn (mix) các luồng âm đó thành một rồi chuyển đến các thiết bị phát âm (các sound card trên máy, các sound server trên các máy khác trên mạng để phát âm tại đó,…). Tóm lại là tiếp nhận và điều phối các luồng âm thanh trong hệ thống.

    • Thực hiện một số chức năng khác mà sound driver không có.

    Một vài sound server phổ biến:

    aRts ( analog Real time synthesizer ): một cơ chế xử lý (framework) các luồng âm thanh theo thời gian thực, trong đó có một sound server (artsd), dùng phổ biến cho KDE2, 3, hiện ngừng phát triển. KDE4 chuyển sang dùng PulseAudio và Phonon.

    JACK ( JACK Audio Connection Kit ): một sound server nguồn mở cạnh tranh với aRts, chạy được trên Linux, Mac, Windows. Nhiệm vụ chính là tạo kết nối âm độ trễ thấp giữa ứng dụng và thiết bị phát âm. Một số ứng dụng như Audacity, XMMS dùng sound server này.

    ESD hoặc EsounD ( Enlightened Sound Daemon ): sound server dành riêng cho môi trường đồ họa Enlightenment và GNOME. Đây là sound server lâu đời thuộc dự án GNOME nên hầu hết các ứng dụng âm thanh đều hỗ trợ nó. Tuy nhiên từ tháng 4/2009, các module của nó chuyển vào thư viện libcanberra hoặc GStreame, PulseAudio.

    PulseAudio : sound server nguồn mở chạy trên Windows và Linux, hiện đang được đưa vào thay cho ESD. Các bản Linux gần đây (Ubuntu, Fedora, Mandriva, openSUSE,…) đều dùng PulseAudio, ví dụ Ubuntu từ bản 8.04.

    Cơ chế hoạt động của PulseAudio theo hình trên:

    • Các ứng dụng (Mplayer, Xine,…) chuyển âm thanh cho PulseAudio trực tiếp hoặc qua các thư viện trung gian. Các module tương ứng của PulseAudio được nạp khi cần để tiếp nhận các nguồn âm đó.

    • Các nguồn âm khác (từ micro nối với sound card, từ một máy khác trên mạng, …) cũng chuyển âm cho các driver ALSA/OSS hardware drivers hoặc các Network stack. Các driver đó lại chuyển tiếp âm cho PulseAudio thông qua các card ảo ALSA source, OSS source, RTP source, … là các cổng nhận âm ( source ) của PulseAudio.

    • PulseAudio server core tiếp nhận các nguồn âm từ các cổng nhận, xử lý (mix) rồi chuyển ra các cổng phát gọi là sink . Âm từ ví dụ ALSA sink sẽ chuyển cho ALSA driver để chuyển vào sound card và phát ra loa nối với sound card. Âm để phát trên máy khác trong mạng sẽ đi từ ví dụ RTP sink, qua các network stack ra network card để theo dây mạng đến các máy khác.

    Như vậy, PulseAudio đóng vai trò điều hành trung gian, nhờ có nó:

    • Chỉnh được âm lượng cho từng ứng dụng thông qua phần mềm PulseAudio Volume Control.

    • Các nguồn phát âm (phần mềm chơi nhạc, micro, các máy khác trên mạng, …) chỉ cần giao tiếp với PulseAudio như với một sound card ảo, không cần hỗ trợ nhiều cơ chế xử lý âm, nhiều giao thức, … Các driver của thiết bị phát âm cũng chỉ cần giao tiếp với PulseAudio.

    Nếu không dùng đến, có thể disable hoặc gỡ bỏ PulseAudio.

    IV. Driver cho graphic card và Xorg server

    Các loại ảnh, video, hoạt hình hiển thị trên màn hình phụ thuộc vào các driver của card màn hình (graphic card) và phần mềm Xorg server. Một vài thông tin liên quan xem tại đây.

    V. Cơ chế xử lý dữ liệu multimedia (Multimedia framework)

    Một cơ chế xử lý dữ liệu multimedia (Multimedia framework – MMF) là một hệ thống phần mềm xử lý các dữ liệu multimedia trên máy tính hoặc mạng máy tính theo một cơ chế nào đó. Hệ thống gồm một giao diện lập trình ứng dụng API, các module hỗ trợ các loại codecs, container formats và hỗ trợ các giao thức truyền dẫn luồng âm thanh, video (streaming media) qua mạng.

    MMF dùng làm hệ thống nền (back-end) cho các ứng dụng chơi nhạc, video, các phần mềm biên tập âm thanh và video, các ứng dụng videoconferencing và các phần mềm multimedia khác.

    Một vài MMF phổ biến:

    GStreamer: một MMF nguồn mở chạy được trên Linux, Solaris, Mac, Windows.

    GStreamer chia các công đoạn xử lý thành các bộ phận (element). Các bộ phận nối với nhau bằng các đường ống (pipeline) có đầu ra (source pad) và đầu vào (sink pad). Trong hình trên là ví dụ chơi một file MP3: bộ phận File đọc file từ ổ cứng rồi chuyển cho bộ phận giải mã (Decoder). Decoder chuyển dữ liệu số thành mã xung (Pulse-code Modulation). Mã xung theo đường ống chuyển cho bộ phận ALSA driver để từ đó đưa ra loa.

    Mỗi bộ phận (chức năng) của GStreamer được lập trình dưới dạng plugin (phần mềm bổ xung) tạo nên các thư viện dùng chung. Hiện tại có ba bộ plugin là Good, BadUgly. Good plugins gồm các plugin chất lượng cao, tuân theo giấy phép nguồn mở LGPL, đã được kiểm định đầy đủ. Bad plugins gồm các plugin chưa hoàn chỉnh về mặt nào đó như Good (chất lượng chưa cao, hoặc chất lượng cao nhưng còn thiếu một cái gì đó, …). Ugly plugins là các plugins chất lượng tốt nhưng có vấn đề về bản quyền.

    GNOME là nơi đầu tiên dùng công nghệ này. Ví dụ trình Totem (trên menu là Movie Player) hỗ trợ GStreamer. Một số điện thoại Nokia cũng dùng GStreamer.

    DirectShow: MMF của Microsoft (hiện được thay bằng Media Foundation trong Windows Vista và Windows 7).

    Tương tự như trên, DirectShow chia các công đoạn xử lý media thành các filter, mỗi filter có đầu vào (input pin) và đầu ra (output pin) để kết nối với nhau. Các luồng dữ liệu media được chuyển qua từng filter tương tự như sơ đồ trên của GStreamer. Nhược điểm của DirectShow là số codec được hỗ trợ rất hạn chế.

    FFmpeg: là một dự án nguồn mở xây dựng các phần mềm và thư viện để ghi, chuyển đổi và truyền dẫn audio/video. Thư viện libavcodec cung cấp codec cho hàng chục loại format audio/video khác nhau. Thư viện libavformat có các công cụ để dồn/tách kênh (mux/demux) truyền dẫn media.

    Trình media player Mplayer (và giao diện Smplayer) dùng backend là FFmpeg.

    VLC: VLC vừa là tên của một media player, vừa là một MMF, nguồn mở. VLC hỗ trợ khá nhiều codec (dùng cả libavcodec và có các codec không có trong libavcodec), về mặt này nó khá hơn Mplayer. VLC chạy được trên nhiều hệ điều hành (Windows, Mac, Linux, Solaris, …). VLC chơi được các DVD mã hóa, chơi DVD không cần biết mã vùng. Đặc biệt nó có thể chơi các file video còn đang download dở hoặc bị hỏng.

    Xine: một máy chơi video và nhạc (multimedia playback engine) nguồn mở, chạy được trên nhiều hệ điều hành. Thư viện xine-lib có thể decoder nhiều loại codec khác nhau. Xine cũng dùng các thư viện của các dự án khác như FFmpeg, libmpeg2, …

    Phonon: Phonon được xếp vào loại MMF nhưng thực ra nó chỉ là một giao diện lập trình ứng dụng (API – Application Programming Interface) dành riêng cho môi trường đồ họa KDE4. KDE4 dùng Phonon làm trung gian để giao tiếp với nhiều MMF, backend khác nhau (Xine, GStreamer, ….).

    Phonon cho phép cấu hình tập trung (hiện nay mới chỉ là audio, chưa có video). Ví dụ trong Mandriva KDE4, mở mục Multimedia trong System Settings (Configure Your Desktop) ta có:

    Trong hình trên, về nguyên tắc có thể chọn các audio output (cột bên phải) cho các hệ thống âm thanh ở cột bên trái. Nhấn vào tab Backend:


    Như vậy trên máy này đã cài hai backend và GStreamer là ưu tiên.

    VI. Vài vấn đề khác

    Như vậy rắc rối chính khi chơi multimedia trên Linux là ở hai vấn đề:

    1. Có quá nhiều codecs, trong đó có nhiều cái không phải nguồn mở hoặc không miễn phí. Do đó các bản Linux “lớn” như Ubuntu, openSUSE, Mandriva mặc định sẽ không cài sẵn để tránh rắc rối. Người dùng phải tự cài và tự chịu trách nhiệm. Các bản Linux “ nhỏ” như Linux Mint, PCLinuxOS thì cài sẵn để tạo thuận lợi cho người dùng.

    2. Có nhiều backend khác nhau, mỗi cái đều có cái hay dở riêng và cũng chưa có cái nào thật hoàn chỉnh. Hiện cũng đang có những dự án nhằm mục tiêu thống nhất backend cho Linux.

    Theo kinh nghiệm cá nhân thì hai trình SMplayerVLC hiện nay tương đối đáp ứng được nhu cầu hơn cả. Khi cài SMplayer xong, lưu ý vào Options → Preferences → General → Video → Output driver (và Audio → Output driver) chọn các driver thích hợp là có thể chơi được hầu hết các định dạng multimedia phổ biến như với Windows Media Player.

    Khi dùng Windows Media Player để nghe nhạc, plugin DFX cho các hiệu ứng âm thanh như 3D sourround, ambien, hyperbass, … Trong Linux, bật các hiệu ứng 3D âm thanh như sau:

    Với các bản Linux KDE, mở Menu – Sound&Video – KMix (Sound Mixer) ta có:


    Trong hình trên có ba mục: 3D Control-Switch, 3D Control-Depth và 3D Control-Center (nếu chưa có thì vào Settings – Configure Channels để add nó vào. Bỏ chọn mục Mute của 3D Control-Switch để bật hiệu ứng 3D rồi chỉnh hai cái còn lại. Chú ý là các mục trên phụ thuộc tính năng sound card, có sound card không có ba mục trên nhưng lại có Surround.

    Với các bản Linux Gnome (Ubuntu, …), cần cài thêm ALSA Mixer hoặc GNOME ALSA Mixer rồi mở ra cũng có màn hình tương tự như trên.

    Nghe nhạc trong Windows mà không bật DFX, trong Linux không bật các hiệu ứng 3D nói trên thì chán hẳn.

    Malware trốn trong Screensaver tải về từ Gnome-Look.org

    Malware trốn trong Screensaver tải về từ

    Gnome-Look.org

    Malware Hidden Inside Screensaver On Gnome-Look

    Tuesday, December 08, 2009

    Trên diễn đàn Ubuntu vừa thông báo phát hiện trong gói .deb cài đặt screensaver “WaterFall” tải về từ site gnome-look.org có một malware.

    Khi cài gói trên, một script được cài vào máy và thực hiện tấn công DDoS bằng cách ping đến một địa chỉ định trước. Script này cũng có thể tự cập nhật bằng cách tự tải bản mới từ Internet.

    Gói cài đặt nói trên đã được xóa khỏi site gnome-look.org. Mặc dù malware này khá thô sơ nhưng cũng là một cảnh báo để mọi người lưu ý khi tải các phần mềm từ Internet tại các địa chỉ không tin cậy.

    Khắc phục

    Nếu bạn đã tải hoặc cài gói nói trên, chạy lệnh sau từ terminal:
    ĐỪNG CHẠY LỆNH NÀY NẾU BẠN KHÔNG CÀI GÓI DEB NÓI TRÊN.

    sudo rm -f /usr/bin/Auto.bash /usr/bin/run.bash /etc/profile.d/gnome.sh index.php run.bash && sudo dpkg -r app5552

    Chi tiết xem thêm tại đây.

    Multimedia trong Linux

    Hệ thống multimedia trong Linux.

    Multimedia trong Linux khá rắc rối. Bài này ghi lại vài khái niệm tìm hiểu được để đỡ lúng túng khi sử dụng.

    I. Một vài khái niệm

    Multimedia là từ chung để chỉ các dạng dữ liệu: văn bản (text), âm thanh (audio), ảnh tĩnh (still image), hoạt hình (animation) và phim (video).

    Các dữ liệu audio, video được tạo ra (bằng máy ảnh, máy quay video) hoặc được chơi lại (playback, bằng loa, đèn hình TV hay màn hình máy tính) dưới dạng các sóng điện tử liên tục. Các sóng đó phải được chuyển thành dữ liệu số ( encoder, mã hóa: từ sóng thành các dãy số 0,1) rồi nén hoặc không nén để có thể lưu trữ, biên tập, truyền đi trên máy tính. Khi encoder, dữ liệu có thể để nguyên (lossless, không mất) hoặc bỏ đi các phần thừa mà con người không cảm nhận được để giảm dung lượng dữ liệu tiện cho lưu trữ hoặc truyền trên mạng (lossy, có mất dữ liệu).

    Để con người có thể thưởng thức được (nghe, xem), các dữ liệu số multimedia nói trên lại được chuyển đổi ngược lại từ các dãy số 0,1 thành sóng điện từ làm kêu loa hoặc vẽ hình lên màn hình. Quá trình chuyển đổi ngược đó gọi là decoder, giải mã.

    Một bài hát, khi ghi vào băng từ hoặc đĩa than vẫn ở dạng các sóng âm, khi ghi thành file MP3 là đã được mã hóa sang dạng số. Tương tự, một bức ảnh chụp lên phim được lưu dưới dạng các phổ màu liên tục, khi lưu thành file JPEG, PNG, … là đã mã hóa sang dạng số.

    Codec (viết tắt của en coder/ decoder)là các phần mềm/thuật toán/công nghệ dùng để mã và giải mã (có nén hoặc không) dữ liệu multimedia như nói trên.

    hàng nghìn codec nhằm vào các mục tiêu khác nhau: codec cho điện thoại phải có độ trễ thấp, chất lượng âm không cần cao; ngược lại, codec để chơi nhạc chất lượng âm phải cao nhưng độ trễ không quan trọng, v.v….

    Multimedia Format: sau khi mã hóa, dữ liệu multimedia được lưu thành các file có định dạng (format) khác nhau. Một file ảnh có thể lưu dưới dạng file jpg, png, bmp, … Một đoạn phim thường gồm ba loại dữ liệu: video, audio và metadata để đồng bộ hình với tiếng. Ba loại dữ liệu đó được lưu chung trong một loại format gọi là media container format (ví dụ avi). Nhiều loại codec khác nhau có thể lưu file cùng một format avi, tất nhiên là chất lượng phim tùy theo codec.

    Một vài codec và format chính (có hàng nghìn codec và hàng trăm format):

    Microsoft: Microsoft có hai hệ codec phổ biến là Windows Media Audio (WMA) và Windows Media Video (WMV). Mỗi hệ gồm một số codec. Các file được mã hóa bằng hai codec trên được lưu theo media container format ASF (Advanced System Format). Tuy nhiên phần đuôi file (extension) thì tùy: file audio có đuôi là .wma, file video: .wmv nhưng nếu muốn cả hai loại file trên có thể có đuôi là .asf.

    Microsoft còn có một container format cổ hơn là AVI (Audio Video Interleave), đuôi file .avi. Cả hai loại format ASF và AVI có thể chứa được nhiều loại codec khác, không bắt buộc phải là WMA và WMV.

    MPEG: là tên tắt của Nhóm chuyên gia về ảnh động (Moving Picture Experts Group) chuyên thiết lập các chuẩn ISO về nén và truyền audio, video. MPEG-1 là chuẩn đầu tiên trong đó có MPEG-1 Audio Layer 3 ( MP3) vẫn còn rất phổ biến hiện nay. MP4 (viết tắt của MPEG-4 Part14) là một loại media container format, đuôi file cũng là .mp4.

    DivX: DivX codec nổi tiếng vì có khả năng nén các file video lớn xuống dung lượng thấp nhưng vẫn giữ được chất lượng hình khá. Từ DivX 6 có thêm một media container format DivX Media Format (DMF), đuôi file là .divx, dành cho DVD-Video.

    RealAudio/RealVideo: là các format của công ty RealNetwork cho file audio và video. Mỗi format này có thể dùng các codec khác nhau. Đuôi file tương ứng là .ra và .rv. Ngoài ra còn có một format tổ hợp cho cả audio và video gọi là Real Media Format có đuôi file là .rm. Các file .ram và .smil dùng cho các link từ website để chạy các file tải về từ Internet (streaming).

    FFmpeg: là một dự án nguồn mở xây dựng các phần mềm và thư viện để ghi, chuyển đổi và truyền dẫn audio/video. Thư viện libavcodec cung cấp codec cho hàng chục loại format audio/video khác nhau.

    Ogg: là media container format nguồn mở dành cho audio/video chất lượng cao. Trong đó, Ogg Theora là video codec, Ogg Vorbis là audio codec. Trước đây, file .ogg gồm cả audio và/hoặc video. Từ 2007, file .ogg chỉ còn là file audio, file .oga là file audio, file .ogv là file video.

    Flash Video: là một media container format dùng chơi video trên các trang web bằng Adobe Flash Player. Có hai format là FLV và F4V, trong đó F4V mới hơn tuân theo chuẩn ISO. Đuôi file .f4v dành cho file video mp4, đuôi .f4a dành cho audio mp4. Nội dung trong file có thể dùng các codec khác nhau: H264, mp3, …

    Adobe còn một format nữa là SWF (đuôi file .swf ) chuyên dùng cho đồ họa vector động trên web.

    II. ALSA

    ALSA (Advanced Linux Sound Architecture) là một hệ thống con của nhân Linux gồm các driver cho sound card và dụng cụ nhạc điện tử (MIDI), các thư viện để lập trình giao tiếp với các thiết bị nói trên và một số công cụ cần thiết (mixer,…). Hiểu đơn giản ALSA tức là driver cho sound card.

    Các driver đều dưới dạng module để có thể nạp khi cần. ALSA hiện nay thay thế cho hệ thống cũ OSS (Open Sound System) nhưng vẫn tương thích với các phần mềm OSS. OSS cũng là giao diện với các soundcard nhưng có nhiều hạn chế nên bị thay thế.

    Ví dụ trong Mandriva, khi mở Control Center > Hardware > Sound Configuration, ta thấy màn hình sau:

    Sound card đang dùng là Intel 82801G, driver là snd_hda_intel.

    III. Sound Server

    Nếu sử dụng âm thanh đơn giản thì chỉ cần sound driver (alsa, oss, …) là đủ. Nhưng trong những trường hợp phức tạp hơn thì phải có hẳn một máy chủ âm thanh Sound Server trong hệ điều hành làm các nhiệm vụ sau:

    • Nhận các luồng âm thanh từ nhiều nguồn khác nhau (micro hoặc các phần mềm chơi nhạc, phát âm, …).

    • Chuyển các luồng âm đó đến các thiết bị phát âm (các sound card trên máy, các sound server trên các máy khác trên mạng để phát âm tại đó,…).

    • Thực hiện một số chức năng khác mà sound driver không có.

    (còn tiếp tại đây)

    /home/zxc/DATA/Mydocuments/Dropbox/Bai viet blog/Hệ thống multimedia trong Linux.odt Page4of4

    Điểm nhanh vài bản Linux gần đây (tháng 10,11/2009)

    Điểm nhanh vài bản Linux gần đây (tháng 10,11/2009).

    1- IBM Client for Smart Work (ICSW)

    Như đã nói trong một post trước, ICSW là bản Linux liên kết giữa hai công ty Canonical và IBM được tung ra ở thị trường Mỹ hôm 20/10/2009 (và trước đó tại thị trường châu Phi) để cạnh tranh với Windows 7.

    Khi cài thử thì thấy:

    • Về cơ bản, ICSW là toàn bộ bản Ubuntu 8.04 của Canonical, có cài sẵn bộ Lotus Symphony và Notes của IBM. Sở dĩ chọn Ubuntu 8.04 vì đó là bản hỗ trợ dài hạn (Long Term Support – LTS) đến tận năm 2011.

    • Giao diện và các phần mềm giữ nguyên của Ubuntu 8.04. Riêng giao diện Lotus của IBM như sau:


    Bộ Lotus Symphony Office của IBM xây dựng trên nền OpenOffice nhưng thay giao diện khác như hình trên.

    Ngoài cột Propeties ở bên phải như trên hình, IBM tập hợp tất cả các phần mềm khác (bảng tính, trình diễn, email, address book,… thậm chí cả trình duyệt) vào một màn hình và mở trong các tab khác nhau (xem hình dưới). Cách tổ chức này khá hay và tiện.


    Xem qua bản này và bản tính giá của IBM thì thấy đối tượng nhắm đến là khách hàng doanh nghiệp với ưu thế chính là tiết kiệm chi phí:

    • Không cần nâng cấp phần cứng, Ubuntu (và Xubuntu) chạy được trên các máy cấu hình thấp hiện có.

    • Tính tổng chi phí phần mềm, kể cả phần mềm máy chủ cộng tác (Domino) và các dịch vụ khác của IBM thì rẻ hơn Microsoft Windows 7+ Exchange (và các phần mềm máy chủ khác) + Outlook, …

    Đối với chúng ta thì vấp ngay phải vấn đề bộ gõ tiếng Việt. Tôi chưa tìm được, hoặc chưa biết cách làm thế nào để gõ được tiếng Việt trong Symphony.

    2- OpenSUSE 11.2:

    Novell công bố bản này hôm 12/11/2009. Ban đầu, openSUSE dùng KDE là giao diện mặc định (default), một số phiên bản gần đây chuyển sang GNOME, nhưng do yêu cầu người dùng bản 11.2 này lại quay về với KDE (tất nhiên là vẫn có bản GNOME riêng).

    Cũng như với Mandriva, KDE 4.3 trên openSUSE đã khá nhuyễn. Tuy nhiên, font chữ trong OpenOffice thì hơi gai, không đẹp bằng Mandriva. Trình tìm kiếm Strigi có tích hợp Nepomuk nhưng lại bị lỗi cài đặt không chạy được. Nepomuk cũng mới chỉ ở mức file, chưa sang đến email và web như Mandriva.

    OpenSUSE có kiểu bổ xung phần mềm restricted (dùng từ của Ubuntu) khá “cưỡng bức”. Sau khi cài xong, nếu cài thêm bất kỳ phần mềm nào, một lô phần mềm khác như các codecs, font của Microsoft, giải nén zip, … cũng được tự động cài.

    Bộ gõ tiếng Việt scim-unikey cũng có vấn đề. Nếu dùng Unikey, gõ trong OpenOffice rất chậm và phải có phím kết thúc từ. Dùng Unikey Classic thì gõ được nhưng thường xuyên bị mất tiếng Việt, phải Ctrl+Space để bật lại. Và cũng như trên các bản Linux khác gần đây, icon của scim-unikey không hiển thị được trên system tray. Có lẽ phải dùng scim gốc hoặc ibus-unikey, chấp nhận phím kết thúc từ vậy.

    3- Fedora 12.

    Fedora 12 được công bố ngày 17/11/2009. Bản này ngay khi cài đã thấy “khệnh” rồi. Grub boot loader của nó không nhận được bản Linux nào đã có trên ổ cứng ngoài chính nó và Windows. Khi add bằng tay các bản Linux khác cũng không boot được.

    Fedora Live là bản kém thân thiện nhất với người dùng mà tôi đã thử. Bản KDE không có Firefox và OpenOffice. Bản GNOME cũng không có OpenOffice và các trình ứng dụng khác cũng rất ít. Trình quản lý phần mềm không cho biết dung lượng sắp cài là bao nhiêu, các thông số theo dõi quá trình download và cài cũng rất ít. Chỉ có hai kho phần mềm mặc định, không có kho các phần mềm “ngoài luồng” và cũng không có giao diện để bổ xung kho (chắc là phải thêm vào file cấu hình).

    Bản KDE không cho cài thêm các phần mềm phụ như nautilus-dropbox, scim-unikey với thông báo cụt lủn “có lỗi bất ngờ”. Điều cũng bất ngờ là gõ tiếng Việt scim không phải kết thúc từ. KOffice vẫn là 1.6 mặc dù hiện đã có 2.1 (Sorry, KOffice 2.1 hiện vẫn là bản đang test, chưa dành cho sử dụng đại trà). Đây là bản Office đang lên, có phần soạn công thức KFormula khá trực quan (giống MS Office) và nhiều trình tiện ích hơn OpenOffice.

    Gần đây, nghe nói có một hội nghị phần mềm nguồn mở phát đĩa Ubuntu và Fedora để phổ biến. Fedora có lịch sử lâu đời, phần mềm dịch sẵn cho nó nhiều, có Red Hat đứng đằng sau, đội fan “già” ở Việt nam chắc cũng đông. Nhưng người mới làm quen với Linux thì không nên dùng.

    4- Google Chrome OS.

    Google Chrome OS chỉ mới công bố mã nguồn hôm 19/11/2009 (bản mã máy tới cuối năm 2010 mới có) đã gây ầm ĩ trên các phương tiện truyền thông chủ yếu là vì tầm vóc khổng lồ của Google. Tôi đã có một bài điểm qua về nó tại đây và về hạ tầng mà nó phục vụ tại đây. và đây.

    Đây là hệ điều hành dùng nhân Linux (Linux kernel), dựa trên nền Debian và giao diện là web browser. Điểm đáng chú ý của nó là thiết kế an ninh (security) mới hoàn toàn, có dịp sẽ tìm hiểu trong một post khác.

    Hiện tại nó mới chạy trên netbook và tập hợp được nhiều đại công ty tin học ủng hộ. Nhưng Chrome OS chưa thể thành công trong một vài năm tới vì hạ tầng điện toán đám mây, nhất là các ứng dụng, chưa đủ độ chín.

    /home/zxc/DATA/Mydocuments/Dropbox/Bai viet blog/Điểm qua vài bản Linux gần đây.odt Page 1 of4

    Làm gì sau khi cài Ubuntu 9.10 (tiếp theo)

    Vài thủ thuật dùng Ubuntu.

    ZXC232 biên soạn, dựa trên bản gốc có link ở trên.

    Cài codecs để chạy các file media và hỗ trợ DVD

    1- Bổ xung kho phần mềm Mediabuntu.

    Medibuntu (Multimedia, Entertainment & Distractions In Ubuntu) là một kho các gói phần mềm không có trong Ubuntu vì các lý do pháp lý (bản quyền, bằng phát minh, giấy phép, …). Bản Ubuntu gốc chỉ gồm các phần mềm tự do (free software).

    Danh sách các phần mềm trong Medibuntu xem tại đây.

    Mở Terminal, chạy các lệnh sau (copy rồi paste vào terminal) để bổ xung kho Medibuntu vào Ubuntu:

    sudo wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list –output-document=/etc/apt/sources.list.d/medibuntu.list &&

    sudo apt-get -q update &&

    sudo apt-get –yes -q –allow-unauthenticated install medibuntu-keyring &&

    sudo apt-get -q update

    2- Cài gói non-free-codecs

    Sau khi add kho Medibuntu, mở Synaptic và tìm cài gói non-free-codecs. Đây là gói tổng hợp (meta-package) gồm cả ubuntu-restricted-extras và một số thứ khác. Dưới đây là danh sách chi tiết:

    cabextract freepats gsfonts-x11 gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse java-common liba52-0.7.4 libamrnb3 libamrwb3 libass3 libavcodec52 libavformat52 libavutil49 libcdaudio1 libcelt0 libdc1394-22 libdca0 libdirac0c2a libdvdnav4 libdvdread4 libenca0 libfaac0 libfaad0 libffado1 libfftw3-3 libfreebob0 libgsm1 libid3tag0 libiptcdata0 libjack0 libkate1 libmad0 libmimic0 libmjpegtools-1.9 libmms0 libmodplug0c2 libmp3lame0 libmp4v2-0 libmpcdec3 libmpeg2-4 libofa0 libpostproc51 libquicktime1 libschroedinger-1.0-0 libsidplay1 libsoundtouch1c2 libswscale0 libtwolame0 libwildmidi0 libx264-67 libxml++2.6-2 libxvidcore4 non-free-codecs odbcinst1debian1 sun-java6-bin sun-java6-jre sun-java6-plugin ttf-liberation ttf-mscorefonts-installer ubuntu-restricted-extras unixodbc unrar w64codecs (Total about 170 MB)

    CHÚ Ý: hai mục trên cũng đã có trong perfectbuntu, chỉ thiếu libamrnb3 và libamrwb3. Do đó nếu đã chạy perfectbuntu rồi thì không cần làm như trên nữa.

    3-  Thêm một số codecs, DVD và trình mediaplayer VLC và Mplayer

    Để chơi DVD mã hóa, phải có libdvdcss2. Trình VLC và Mplayer là hai trong số những trình chơi media tốt nhất hiện nay. Cài bằng Synaptic hoặc bằng dòng lệnh các gói sau:

    sudo apt-get install libdvdcss2 gxine libxine1-ffmpeg vlc mplayer mencoder (khoảng 80MB).

    Dùng Gnome Control Center

    Gnome Control Center tập hợp các mục trong System vào một màn hình. Dùng nó đỡ phải dò tìm trong các menu Preferences và Administration. Mặc định nó bị tắt. Để bật lên, nhấn vào System > Preferences > Main menu. Trong màn hình Main Menu, chọn System ở cột bên trái rồi đánh dấu chọn Control Center ở cột bên phải. Sau đó, Control Center sẽ xuất hiện ở menu System.

    Thiết lập profile chung của Firefox và Thunderbird

    Mọi thiết lập của Firefox hoặc Thunderbird đều nằm trong một thư mục ẩn. Ví dụ với Firefox là /home//.mozilla/firefox/ckwzugd4.default. (tên của thư mục cuối có thể khác). Trong đó có bookmarks, histories, các extensions, cache, email, v.v… Các nội dung trong các thư mục đó tạo nên profile của Firefox hoặc Thunderbird.

    Nếu trên máy cài từ hai hệ điều hành trở lên (Windows, Linux) và đều dùng Firefox, Thunderbird, có thể tạo một profile chung để dù chạy hệ điều hành nào thì Firefox và Thunderbird cũng vẫn giống nhau về mọi thứ. Cách làm như sau:

    Mở terminal, chạy lệnh:

    firefox   -P     hoặc

    thunderbird    -P

    Màn hình sau xuất hiện:

    Trong lần chạy đầu, chỉ có một profile default trong danh sách. Đó chính là profile mặc định nằm trong thư mục ẩn nói trên.

    Nhấn vào Create Profile, tạo một profile khác ở thư mục dùng chung cho các hệ điều hành, My Documents chẳng hạn.

    Sau đó, dù đang ở hệ điều hành nào, Firefox cũng dùng một profile chung. Với Thunderbird, trong profile có các thư mục email, nên ở hệ điều hành nào email cũng như nhau.

    Quản lý hệ thống

    1- StartUp Manager

    Chương trình này dùng quản lý, thay đổi màn hình khởi động và boot menu, tìm cài từ Ubuntu Software Center (gõ từ Boot vào ô tìm kiếm). Sau khi cài, chạy từ System > Administration > StartUp-Manager.

    2- BootUp-Manager:

    Chương trình này cũng tìm cài từ Ubuntu Software Center như trên. Sau khi cài, chạy từ System > Administration > BootUp-Manager.

    Trong màn hình trên, các dịch vụ tự động chạy khi boot máy được đánh dấu chọn ở cột Activate. Có thể bỏ bớt một số không cần thiết để tiết kiệm bộ nhớ và giảm tải cho CPU:

    Common Interface to speech synthesizers: bộ tổng hợp tiếng nói.

    Samba nameservice …. : nếu không nối mạng Windows.

    Bluetooth services: nếu không dùng thiết bị bluetooth.

    Fast remote file …: nếu không cần đồng bộ file với máy khác.

    Scanner services: nếu không dùng scanner.

    v.v…..

    3-Bỏ khởi động các chương trình không cần thiết

    Vào System > Preferences > Startup Applications. Một số chương trình trong đó có thể không cần khởi động (Bluetooth Manager, Visual Assistances,…).

    4- Thiết lập tường lửa

    Ubuntu có tường lửa (ufw – Uncomplicated Firewall) cài sẵn nhưng không kích hoạt. Mở Ubuntu Software Center, search từ “gufw” rồi cài Firewall Configuration là giao diện của ufw. Chạy từ System > Administration > Firewall Configuration.

    Đánh dấu mục Enabled để kích hoạt tường lửa. Nhấn nút Add để lập các quy tắc.

    5- Cài chương trình chống virus

    Nếu hay giao dịch file với các máy Windows thì nên cài một chương trình antivirus để quét virus hộ các máy đó. Mở Ubuntu Software Center, search từ “virus” rồi chọn cài, ví dụ Virus Scanner. Cài xong chạy từ Applications > System Tools > Virus Scanner.

    6- Vài thứ khác:

    Nautilus-scripts và Ubuntu Tweak xem ở đây.

    7- Gỡ các gói phần mềm mồ côi.

    Khi cài một phần mềm mới, các phần mềm phụ thuộc (dependency) cần thiết để chạy phần mềm đó cũng được cài theo. Nhưng khi gỡ bỏ (remove) phần mềm chính, các phần mềm phụ thuộc lại không được gỡ và trở thành phần mềm thừa, “mồ côi”, không liên quan đến phần mềm nào cả.

    Dùng lệnh: sudo apt-get autoremove

    Hoặc cài phần mềm gtkorphan (từ Synaptic Package Manager).

    Trong các bản Ubuntu trước, các phần mềm tải về từ Internet để cài hoặc update được lưu trong thư mục /var/cache/apt. Khi cài xong, các gói cài đặt đó cũng không cần nữa. Xóa nó đi bằng lệnh:

    sudo apt-get clean

    Ubuntu 9.10 hình như cài xong là xóa luôn nên có thể không cần đến lệnh trên.

    8- Bổ xung font

    Khi chạy perfectbuntu hoặc ubuntu-restricted-extra hoặc non-free-codecs đã nói ở trên, một số font Windows như Arial, Time New Romans, … cũng được cài.

    Nếu muốn bổ xung thêm các font khác cho hệ thống (user nào đăng nhập vào máy cũng dùng được):

    Nhấn Alt+F2 để mở hộp thoại Run Command.

    Chạy lệnh gksu nautilus để mở Nautilus bằng quyền root.

    Copy các file font thêm (hoặc thư mục font thêm) vào /usr/share/fonts.

    Để bổ xung font cho riêng user đang đăng nhập:

    Nhấn vào menu Places > Home Folder, trong màn hình Nautilus nhấn vào menu View > Show Hidden Files.

    Nhấn tiếp menu File > Create Folder . Đặt tên folder mới là .fonts (có dấu chấm đằng trước để chỉ đó là folder ẩn).

    Copy các font thêm vào thư mục đó.

    9- Chỉnh sửa menu và phím tắt để mở menu

    Menu mặc định của Ubuntu là dạng menu bar gồm ba mục: Applications, Places và System. Có thể làm cho gọn hơn và quen thuộc hơn như sau:

    Nhấn phím phải chuột vào menu bar nói trên, chọn Remove from panel.

    Nhấn tiếp phím phải chuột vào panel, chọn Add to Panel.

    Trong danh sách hiện lên, chọn Main Menu rồi nhấn nút Add. Menu bây giờ xuất hiện trên panel chỉ còn một icon . Nhấn vào đó menu hiện lên giống kiểu Windows.

    Trong Windows, phím Start trên bàn phím là phím tắt để bật menu chính Start. Trong Ubuntu, mở terminal chạy lệnh sau:

    gconftool-2 –set /apps/metacity/global_keybindings/panel_main_menu –type string “Super_L”

    Từ nay, nhấn phím Start, menu chính sẽ hiện lên. Nếu vẫn dùng menu bar mặc định thì menu Applications sẽ xuất hiện.

    Lỗi “UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY”

    LỖI “UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY”

    Trong quá trình khởi động Linux, màn hình đang ở chế độ đồ họa chuyển sang chế độ text đen trắng và có thông báo lỗi như thế này:

    /dev/sda4: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
    (i.e., withou -a or -p options)

    (/dev/sda4 có thể thay đổi tùy từng máy: /dev/sda2, /dev/hda5, v.v…).

    Thông báo trên có nghĩa là “Hệ thống file trên partition /dev/sda4 có lỗi không tương thích; chạy lệnh fsck bằng tay để chữa”.

    Lỗi không tương thích của hệ thống file thường là do máy bị shutdown không sạch (unclean – do tắt điện bất thình lình, do máy bị treo rồi tắt điện cưỡng bức) hoặc do ổ cứng có bad block.

    Khi đó, dữ liệu file lưu khác với dữ liệu trong nhật ký, và như thế là lỗi (xem thêm về hệ thống file nhật ký tại đây). Khi khởi động, Linux tự phát hiện ra lỗi đó và cho chạy fsck để tự chữa lỗi. Chỉ khi nào không chữa được mới có thông báo trên yêu cầu người dùng chạy fsck bằng tay.

    Cần nhớ: để an toàn, chỉ được dùng fsck kiểm tra các partition không mount.

    Có hai trường hợp xảy ra tiếp theo:

    a/ Nếu partition sda4 đang cài Linux (mount vào thư mục gốc /) thì lỗi nằm ở các file hệ thống và Linux sẽ ngừng khởi động chở xử lý.

    b/Nếu partition sda4 không mount vào thư mục gốc, mà chỉ là partition phụ để chứa dữ liệu (như ổ D trong Windows) thì Linux vẫn khởi động tiếp nhưng partition đó không được mount.

    Nếu là trường hợp b/ thì cách chữa đơn giản hơn:

    1- Mở kiểm tra thư mục dùng mount sda4 (ví dụ /mnt/data, …) để chắc chắn là đã không mount: trong thư mục đó không có dữ liệu chứa trên sda4.

    2- Mở terminal và chạy các lệnh sau:

    sudo fsck -c /dev/sda4 (với Ubuntu)

    hoặc với Mandriva chạy hai lệnh:

    su (để chuyển sang root)

    fsck -c /dev/sda4

    Option -c để chương trình kiểm tra và đánh dấu các bad block nếu có.

    Nếu trên máy có cài Gparted có thể dùng Gparted để kiểm tra như đã nói ở đây. mà không dùng lệnh. Tuy nhiên, không rõ lệnh check của Gparted có kiểm tra và đánh dấu các bad block không?

    Nếu là trường hợp a/ thì an toàn nhất là khởi động lại máy từ một đĩa Linux LiveCD (đĩa nào cũng được, không nhất thiết phải trùng với bộ Linux đã cài trên ổ cứng). Khi khởi động như vậy, các partition đều không được mount. Khi đã vào chế độ LiveCD, mở terminal hoặc chạy Gparted để kiểm tra giống như trên.

    Ngoài các bộ Linux thông thường, có hai bộ Linux chuyên dùng để sửa chữa là SystemRescueCDGpartedLive. có thể tải về ghi thành đĩa Live CD hoặc ổ Live USB. Khi cần boot máy từ đó để sửa. SystemRescueCD nhiều công cụ hơn, GpartedLive chỉ có Gparted nên dung lượng chỉ có 100MB.

    Làm cho Linux nhanh hơn, nhẹ hơn và mạnh hơn

    Làm cho Linux nhanh hơn, nhẹ hơn và mạnh hơn

    (Tối ưu hóa quá trình boot, KDE, GNOME, kết nối mạng và nhiều thứ khác)

    By Bob Moss   8/10/2009 at 14:15 BST                                                              ZXC232 lược dịch và bổ xung

    ( Một số chiêu thức dưới đây, nếu công lực chưa đủ thì đừng nên thực hiện. Một số trường hợp cách làm có thể khác nhau trên các bản Linux khác nhau, tác giả viết trên cơ sở openSUSE)

    1- CHO LINUX KHỞI ĐỘNG NHANH HƠN.

    Bỏ thời gian timeout:

    Dùng quyền root mở file /boot/grub/menu.lst trong một trình soạn text và tìm dòng sau đây (thường ở ngay đầu file):

    timeout=3

    Đây là thời gian chờ để các phần cứng cũ có thể tải các module driver. Đổi timeout=0 sẽ khởi động nhanh hơn được 3 giây.

    CHÚ Ý: điều nói trên chỉ đúng nếu trên ổ cứng chỉ cài một hệ điều hành duy nhất là Linux. Khi có từ hai hệ trở lên, thường timeout=10 (giây) là thời gian boot menu chờ người dùng chọn khởi động hệ điều hành nào. Nếu không chọn, hệ điều hành default sẽ được khởi động. Đặt timeout=0 sẽ làm cho bootmenu không xuất hiện nữa, sẽ không chọn khởi động được các hệ điều hành khác).

    Tăng tốc ổ cứng.

    Nếu ổ cứng có tính năng DMA (Direct Memory Access), có thể tăng tốc đọc dữ liệu bằng lệnh hdparm chạy trong terminal như sau (với quyền root):

    hdparm -d1 /dev/hda1

    trong đó /dev/hda1 là boot partition của bản Linux đang xét. Tùy máy và cách cài, có thể là hda2, sda5, …

    Trong Gnome có thể cho chạy tự động lệnh này tại System > Administration > Services. Thêm dòng lệnh trên với gksudo ở đầu.

    Chi tiết hơn về lệnh này xem tại đây.

    Chạy song song các tiến trình khi boot

    Dùng quyền root mở file /etc/init.d/rc trong một trình soạn text (gedit hoặc kwrite) rồi tìm dòng sau:

    CONCURRENCY=none

    Thay none bằng shell, thời gian boot có thể giảm được 1-2 giây.

    Tối ưu hóa bộ nhớ

    Một cách tốt để tăng tốc Linux là quy định việc sử dụng swap. Swap partition là nơi Linux dùng làm bộ nhớ ảo, lưu các dữ liệu tạm để có thể nạp nhanh vào RAM khi cần. Nếu RAM đủ lớn ( 1GB) thì nên giảm việc dùng swap và tốc độ sẽ tăng đáng kể.

    Cách thay đổi mức độ swap xem tại đây.

    CHÚ Ý: các cách tăng tốc boot nói trên có lẽ chỉ đúng cho các bản Linux cũ. Các phiên bản Linux gần đây đều cố gắng giảm thời gian boot xuống dưới 10 giây nên các cách trên không giúp được nhiều.

    2- GNOME

    Dùng preload

    Preload là một trình thường trú (daemon) theo dõi các hoạt động hàng ngày để lúc khởi động tải trước các chương trình, file thường dùng nhằm tăng tốc hệ thống.

    Trước hết kiểm tra trong danh sách các processes xem preload đã chạy chưa. Nếu không thấy, kiểm tra xem đã cài chưa (Ubuntu thường chưa cài), rồi kích hoạt bằng lệnh:

    service preload on

    Automatic login

    Máy dùng chung thì không nên kích hoạt tính năng này. Nhưng máy cá nhân và không sợ người khác tò mò thì Automatic login đỡ mất thời gian chờ gõ username và password.

    Chọn lần lượt System > Administration > Login Window > Security > Enable Automatic Login.

    Dùng khung cửa sổ thay cho ảnh cửa sổ

    Khi nhấn chuột vào thanh tiêu đề rồi rê một cửa sổ (window) từ chỗ này sang chỗ khác, trong quá trình rê, toàn bộ ảnh cửa sổ vẫn giữ nguyên. Để đỡ cho Gnome khỏi phải làm việc đó (tốc độ sẽ giảm), mở terminal gõ vào lệnh sau:

    gconftool-2 –type bool –set /apps/metacity/general/ reduced_resources true

    Bây giờ khi rê cửa sổ sẽ chỉ có hình khung rê theo. Chú ý thủ thuật này chỉ có tác dụng nếu không dùng Compiz hoặc các hiệu ứng màn hình.

    Làm menu hiện nhanh hơn.

    Khi mở các menu Gnome lần đầu, các ảnh của icon được tải từ file nguồn, menu có thể không xuất hiện ngay. Nếu máy đủ mạnh, mở thư mục Home, tạo một file ẩn mới .gtkrc-2.0 (chú ý đầu tên file ẩn có dấu chấm). Sau đó mở file nói trên bằng trình soạn text (gedit) rồi thêm dòng sau:

    gtk-menu-popup-delay=0

    Save rồi đóng file lại. Log out ra rồi log in lại, menu sẽ xuất hiện nhanh hơn.

    3- KDE

    Tăng tốc ext3

    Có thể tăng tốc đáng kể bằng cách dùng kiểu ghi ổ cứng write-back của hệ thống file ext3. ( ext3 có ba kiểu ghi dữ liệu lên ổ cứng, xem tại đây). Thủ thuật này không chỉ áp dụng cho KDE, mà dùng được cho hầu hết các bản Linux hiện nay không dùng kiểu ghi này ( kiểu ghi mặc định của ext3 là ordered).

    Nguyên nhân chính là do các ổ cứng kiểu cũ không hỗ trợ kiểu ghi này. Hiệu quả không rõ lắm trên một máy dùng ở nhà, nhưng sẽ thấy rõ trong những máy ghi ổ cứng nhiều, ví dụ các máy chủ. ( Lưu ý: được cái nọ thì mất cái kia, write-back ghi nhanh nhất nhưng có thể mất dữ liệu, data chậm nhất nhưng an toàn nhất)

    Backup file /etc/fstab rồi dùng quyền root mở nó trong một trình soạn text và tìm đoạn sau:

    relatime,errors=remount-ro

    thay nó bằng đoạn này:

    noatime,nodiratime,errors=remount-ro,data=writeback

    Dùng quyền root mở file /boot/grub/menu.lst trong một trình soạn text rồi tìm các dòng sau:

    # defoptions quiet splash
    #altoptions=(recoverymode) single

    Thêm đoạn dưới đây vào cuối hai dòng đó:

    rootflags=data=writeback

    Save file và đóng lại. Mở terminal chạy lệnh update grub.

    Tắt IPv6

    Hiện IPv6 chưa phổ biến, trình duyệt web Konqueror phải chuyển đổi giữa IPv4 và Ipv6. Có thể tắt IPv6 đi. Cách làm tùy từng bản Linux.

    Trong Kubuntu, dùng quyền root mở file /etc/environment và thêm dòng sau:

    KDE_NO_IPV6=True

    Trong openSUSE, dùng quyền root mở file /etc/sysconfig/windowmanager tìm dòng sau:

    KDE_USE_IPV6=”yes”

    thay yes bằng no.

    Automatic login

    Vào System Settings, nhấn Advanced tab, nhấn tiếp vào Login Manager > Convenience rồi kích hoạt Auto Login.

    Bắt đầu một phiên làm việc trống (empty session)

    Khi kết thúc một phiên làm việc (log out hoặc shutdown, restart), KDE4 ghi lại trạng thái phiên đó (các cửa sổ đang mở, các tiến trình đang chạy, …) và trong phiên tới, nó mở lại đúng phiên cũ.

    Nếu không cần điều đó, hãy mở System Settings > Advanced > Session Manager, chọn mục Start with an empty session rồi nhấn nút Apply.

    4- NETWORK

    Dùng hostname là ‘localhost’

    Dùng quyền root mở file /etc/hosts trong một trình soạn text và thay hai dòng đầu thành như sau:

    127.0.0.1 localhost
    yourhost 127.0.1.1 yourhost

    trong đó yourhost là tên đặt cho máy (ví dụ: zxcdesktop). Nhớ sao lưu file /etc/hosts trước khi sửa vì không phải bản Linux nào cũng tương thích với cách làm trên!

    Tối ưu hóa các thiết lập của TCP

    Dùng quyền root, mở file /etc/sysctl.conf trong một trình soạn text và thêm các dòng sau:

    net.ipv4.tcp_timestamps = 0
    net.ipv4.tcp_sack = 1

    Dòng đầu bỏ các dữ liệu thời gian, bớt được 12k cho mỗi gói tin. Dòng thứ hai kích hoạt việc xác nhận chọn lọc, bớt được các công đoạn kiểm tra mỗi gói tin do đó lưu thông sẽ nhanh hơn.

    Metrics và backlogs

    Có thể tiếp tục tối ưu hóa TCP bằng cách thêm hai dòng sau vào file nói trên:

    net.ipv4.tcp_no_metrics_save = 1
    net.core.netdev_max_backlog = 2500

    Dòng trên tăng tốc kết nối bằng cách tránh không save TCP metric cho từng gói tin. Dòng thứ hai quy định kích thước backlog cho phép.

    Với kết nối không dây hoặc Ethernet cũ, backlog khoảng 2000, kết nối cáp 1GB backlog khoảng 5000.

    TCP window scaling

    Thiết lập này của TCP quy định kích thước gói tin tối thiểu và tối đa có thể gửi và nhận. Kết nối dial-up sẽ nhanh hơn khi kích thước gói nhỏ hơn, ngược lại kết nối băng rộng sẽ nhanh khi kích thước gói tin lớn.

    Dùng quyền root mở file /etc/sysctl.conf và thêm vào đó:

    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_wmem = 10240 87380 16777216
    net.ipv4.tcp_rmem = 10240 87380 16777216
    net.ipv4.tcp_mem = 16777216 16777216 16777216
    net.core.rmem_max = 16777216
    net.core wmem_max = 16777216

    Các số trên tối ưu cho kết nối 2Mbps, nói chung kích thước gói tối ưu tính bằng cách lấy băng thông lớn nhất (maximum bandwidth) chia cho độ trễ (latency). Hai số đó có thể xác định từ www.speedtest.net và kết quả thay đổi thế nào xác định theo www.speedguide.net:8080

    ( Trong Network Center của Mandriva có mục Advanced Settings cho phép disable Ipv6, TCP Windows Scanling và TCP Timestamps)

    5- FIREFOX

    Tắt IPv6

    Gõ vào thanh địa chỉ: about:config rồi Enter. Xuất hiện màn hình cảnh báo, nhấn tiếp vào nút I’ll be carefull.

    Trong màn hình mới, gõ vào ô Filter dòng sau:

    network.dns.disableIPv6

    Chỉ cần gõ vài từ đầu là thông số trên đã hiện lên ở dưới. Kích đúp chuột vào đó để đổi mục Value từ “False” thành “True”. Đóng màn hình config lại.

    Hiển thị trang web nhanh hơn

    Trong màn hình about:config, nhấn phím phải chuột, chọn New > Interger. Trong màn hình con xuất hiện gõ vào content.notify.backoffcount rồi OK. Trong màn hình con tiếp theo nhập vào số 5 rồi OK. Thiết lập này bảo Firefox không cần chờ cả trang web tải về mới hiển thị.

    Tương tự như trên, tạo thông số nglayout.initialpaint.delay rồi gán giá trị bằng 0 (số không). Thông số này quy định Firefox không cần chờ toàn bộ thông tin kết cấu trang tải về xong mới hiển thị trang.

    Tối ưu hóa lịch sử duyệt web.

    Nếu giảm khối lượng lịch sử duyệt web mà Firefox phải lưu thì nó sẽ xuất hiện nhanh hơn và tiết kiệm ổ cứng. Trong màn hình about:config, gõ vào ô Filter:

    browser.history

    rồi nhấn đúp chuột vào các thông số browser.history_expires_daysbrowser.history_expires_days_min đổi chúng về giá trị nhỏ hơn.

    Tiếp tục chỉnh các thiết lập của TCP

    Vẫn trong màn hình about:config , chỉnh các thông số network.http.pipeliningnetwork.http.proxy.pipelining từ “False” thành “True”. Đổi giá trị của network. http.pipelining.maxrequests từ 4. thành 8.

    (Firefox 3.5 đã đặt sẵn các thông số này giống như trên)

    Hiển thị menu nhanh hơn

    Trong màn hình about:config, nhấn phím phải chuột chọn New > Integer. Nhập tên thông số mới là ui.submenuDelay và đặt giá trị của nó bằng 0 (số không).

    Khi khởi động lại Firefox sẽ thấy menu xuất hiện nhanh hơn đáng kể.

    6-PHẦN MỀM.

    Truy cập các kho phần mềm

    Khi cài đặt, Ubuntu mặc định chọn kho phần mềm dành cho Việt nam (Server for Vietnam) nhưng kho đó ở Mỹ và không nhanh. Nhấn vào Other > Select Best Server, chương trình sẽ test khoảng 300 máy chủ trên toàn thế giới để chọn máy nhanh nhất. Tuy nhiên có điều lạ là mặc dù máy chủ của FPT được đăng ký chính thức trong danh sách đó nhưng thường không được chọn theo cách test trên. Thực tế sử dụng thì kho của FPT là nhanh nhất. Vì vậy không cần test, cuốn danh sách xuống dưới cùng đến mục Vietnam để chọn kho mirror-fpt-telecom.fpt.net.

    Mandriva từ bản 2009 không cho chọn kho phần mềm riêng biệt mà theo một mirror list chung. Về nguyên tắc khi download, chương trình sẽ tự chọn kho nhanh nhất. Tuy nhiên, nếu đang download mà kho đó treo phải tắt chương trình cài phần mềm Software Management rồi bật lại để chương trình chọn sang kho khác.

    Mandriva có cái dở là thông tin mô tả phần mềm khi cần mới tải về và quá trình tải cũng lâu. Vì vậy tốt nhất là tắt tính năng đó đi ( Control Center > Install & Remove Software > Options > Media Manager > Options > Global Options rồi chọn XML meta-data download policy là never).

    Mandriva cho chọn ba chương trình download khác nhau. Vì vậy khi trục trặc có thể chuyển sang chọn chương trình khác, về nguyên tắc aria2 là hay nhất. Thực tế sử dụng thì aria2 chập chờn, lúc rất tốt, lúc lại tịt. Khi đó phải chọn chương trình download khác (curl hoặc wget) cũng ở cùng màn hình Global Options như trên.

    Dọn phần mềm thừa

    Khi tải phần mềm về cài, Ubuntu lưu các gói cài đặt trong thư mục /var/cache/apt. Khi cài xong, để xóa các gói lưu đó, mở terminal chạy lệnh:

    sudo apt-get clean

    Xóa các file “mồ côi” bằng lệnh:

    sudo apt-get autoremove

    Mandriva khi cài xong tự xóa cache. Thỉnh thoảng xóa file “mồ côi” bằng các lệnh:

    su

    urpme –auto-orphans

    OpenOffice.org chạy nhanh hơn

    Trong màn hình OpenOffice.org, nhấn vào Tools > Options > Memory:

    • Giảm số bước undo (Number of steps) xuống khoảng 20.
    • Tăng lượng lượng cache dành cho các đối tượng đồ họa trong file (Graphic cache) lên khoảng 128MB (hoặc hơn tùy theo RAM của máy).
    • Đánh dấu chọn mục Enable systray Quickstarter để khởi động trước một phần OpenOffice khi khởi động máy (sẽ xuất hiện một icon trên System Tray).
    • Trong mục Java ở cột bên trái, bỏ chọn mục Use a Java runtime environment (nếu không dùng các tính năng cao cấp của OpenOffice).

    7- DÙNG MỘT “BỘ ÁO” NHẸ HƠN.

    Ngoài các môi trường đồ họa có sẵn khi cài đặt (KDE hoặc GNOME), Linux còn nhiều “bộ áo” khác (xem thêm ở đây).

    Nếu cần nhanh, có thể sắm thêm một bộ áo thể thao, xfce chẳng hạn, để dùng khi cần. Khi không cần lại khoác áo dạ hội KDE4 hoặc áo đi làm GNOME.

    Trong Ubuntu, Kubuntu, cài thêm gói phần mềm xubuntu-desktop.(có trong kho phần mềm).

    Trong Mandriva, vào Menu > Install & Remove Software:

    Ở ô trên cùng chọn Meta packages như trong hình trên. Chọn tiếp mục Xfce ở cột bên trái rồi chọn cài task-xfce-minimal ở cột bên phải.

    Trong màn hình Login của Ubuntu, Kubuntu từ 9.04 về trước, chọn Options > Sessions rồi chọn Xfce. Ubuntu, Kubuntu 9.10: nhập username, password rồi chọn Xfce ở đáy màn hình.

    Trong màn hình Login của Mandriva, nhấn vào biểu tượng quyển sổ+bút chì để chọn Xfce.

    IBM và Canonical tuyên chiến với Windows 7

    IBM VÀ CANONICAL TUYÊN CHIẾN VỚI WINDOWS 7

    Ngày 20/10/2009 vừa qua, IBM và Canonical tuyên bố tung ra thị trường Mỹ bộ phần mềm IBM Client for Smart Work (ICSW) cạnh tranh trực tiếp với Windows 7.

    Bộ phần mềm này dành cho một dải rộng cấu hình máy (máy để bàn, laptop và netbook), gồm có:

    • Hệ điều hành Linux Ubuntu 8.04.1. Bản này là bản hỗ trợ dài hạn (LTS) đến tháng 4/2011

    • Bộ phần mềm văn phòng Lotus Symphony của IBM dựa trên nền OpenOffice.

    • Bộ phần mềm cộng tác (mail, calendar, task,…) Lotus Note/Domino, Domino Web Access, iNotes của IBM. (mail của đám mây điện toán LotusLive iNotes có giá $3/user/tháng).

    • Dịch vụ cộng tác online Lotus Online Collaboration Services dùng dịch vụ đám mây điện toán LotusLive.com ($10/user/tháng)

    • Tích hợp sẵn một loạt chức năng: chia sẻ file, quản lý văn bản, chat, web conferencing, điện thoại IP, blog, wikis,…

    • Có thể chọn nhiều dạng client từ nặng đến nhẹ tùy cấu hình máy. Đây là ưu điểm của Ubuntu.

    Đây là một cuộc đấu hay. Lần đầu tiên, Microsoft bị thách thức bởi một đại gia trong làng tin học tại ngay thị trường Mỹ. Bộ sản phẩm Lotus Notes/Domino của IBM cũng là sản phẩm nổi tiếng lâu đời ngang ngửa với Microsoft Exchange/Outlook, kết hợp với Ubuntu là bộ Linux đang lên như diều và phổ biến nhất hiện nay.

    Điểm mạnh của giải pháp này là: kết hợp các công nghệ mới nhất (Ubuntu, nguồn mở, đám mây điện toán) với các công nghệ lâu năm, ổn định (Lotus Notes/Domino), có support từ các hãng lớn, giá rẻ, dùng được máy hiện có không phải nâng cấp phần cứng.

    Riêng Lotus Symphony thì hơi nghi ngờ: giao diện mới, hiện đại nhưng phần lõi lại dựa trên những phiên bản OpenOffice cũ (xem thêm tại đây).

    Thị trường Mỹ là thị trường tuân thủ nghiêm ngặt luật bản quyền. Vì vậy các tổ chức hiện đang dùng Windows XP đứng trước những lựa chọn khó khăn khi Windows 7 ra đời và Windows XP không còn được hỗ trợ nữa. Nếu tiếp tục dùng Windows, họ buộc phải nâng cấp phần mềm và cả phần cứng để chạy được phần mềm đó. Theo IBM, các nhà nghiên cứu thị trường độc lập đã ước tính để chuyển sang Windows 7, mỗi user phải mất tới 2000 USD ?!

    Theo IBM, tổng chi phí sở hữu ICSW (tính cả phần máy chủ cho các phần mềm cộng tác) chỉ bằng một nửa phần mềm Microsoft và không phải nâng cấp máy. IBM có đưa ra một bảng tính chi tiết tổng chi phí sở hữu (phải đăng ký mới đọc được), sau 5 năm, số tiền tiết kiệm được lên tới hơn 2 triệu USD! (cách tính chưa tìm hiểu được).

    File cài đặt (Ubuntu 8.04 + các phần mềm của IBM nói trên) có thể tải về từ đây. File này lớn tới 1,08GB nên phải burn vào đĩa DVD.

    Tôi sẽ cài thử và review sau. (xem thêm ở đây)

    Để tránh mã độc Windows: giao dịch ngân hàng bằng LiveCD Linux

    Avoid Windows Malware: Bank on a Live CD

    krebs_lol_624.gif

    (Sau một loạt bài về các vụ ăn trộm tiền trên mạng đăng trong chuyên mục Security Fix , phóng viên Brian Krebs đề xuất một giải pháp chống trộm hiệu quả và rẻ tiền. Bài đăng trên một trong những tờ báo hàng đầu thế giới: Washington Post)

    Loạt phóng sự điều tra tôi viết về các tổ chức tội phạm trên mạng ăn trộm hàng triệu đô la của các doanh nghiệp vừa và nhỏ đã tạo ra nhiều câu hỏi của các chủ doanh nghiệp muốn biết làm thế nào để tự bảo vệ trước dạng tội phạm như thế.

    Tôi biết một cách đơn giản nhất, hiệu quả nhất: đừng dùng Windows khi truy cập vào tài khoản ngân hàng trên mạng.

    Tôi không đưa ra lời khuyên đó một cách dễ dàng. Tôi đã phỏng vấn hàng chục công ty nạn nhân mất từ $10,000 đến $500,000 chỉ vì bị nhiễm một phần mềm mã độc. Tôi đã nghe nhiều câu chuyện đáng tin cậy về vô số cách mà bọn tội phạm dùng để qua mặt gần như mọi hàng rào an ninh mà các ngân hàng dựng nên.

    Nhưng dù cho các ngân hàng hoặc bọn tội phạm dùng cách gì, tất cả các cuộc tấn công đều có một mẫu số chung duy nhất không thể phủ nhận được: chúng thành công vì bọn tội phạm có thể cài được một phần mềm mã độc cho phép chúng dành được quyền kiểm soát các máy tính Windows

    Tại sao hệ điều hành lại quan trọng như vậy? Hầu như tất cả các phần mềm ăn trộm dữ liệu hiện nay đều được viết để tấn công Windows và sẽ không thể chạy được trên một hệ điều hành không phải Windows. Các mã độc chạy trên Windows hiện tinh vi đến mức mà ngân hàng rất khó phân biệt được đâu là giao dịch của khách hàng và đâu là của hacker.

    Cuộc tấn công nổi tiếng ăn trộm tiền của quận Bullit, Kentucky cho thấy bọn trộm đã dùng mã độc làm thất bại hai tuyến phòng thủ chủ yếu của ngân hàng như thế nào. Nhiều ngân hàng có chế độ “kiểm soát kép”: phải có ít nhất hai người có thẩm quyền cùng ký một lệnh chuyển tiền. Trong cuộc tấn công nói trên, bọn trộm cấy phần mềm mã độc vào máy tính của kho bạc, từ đó đăng ký được chính chúng là người có thẩm quyền cho chuyển tiền.

    Ngân hàng cũng thường đăng ký các địa chỉ IP của khách hàng và có các biện pháp an ninh phụ khi khách hàng truy cập vào tài khoản nhưng không dùng địa chỉ IP đó. Trong trường hợp quận Bullit và ít nhất ba nạn nhân khác mà tôi đã phỏng vấn trong ba tháng qua, bọn hacker dùng phần mềm mã độc để chuyển hướng kết nối của chúng vào site của ngân hàng đi qua chính máy tính và địa chỉ IP của nạn nhân (do đó đối với ngân hàng, kết nối đến từ IP đã đăng ký).

    Phần mềm mã độc cũng giúp bọn trộm làm thất bại hệ thống xác thực hai yếu tố, yêu cầu khách hàng ngoài username và password phải cung cấp thêm một mã xác thực phụ nữa ví dụ mã sáu ký tự do một thẻ tạo mã bỏ túi tạo ra và thay cái khác 30 giây một lần.

    Trong hai tháng qua, tôi đã viết về cảnh ngộ khốn khổ của hai công ty nạn nhân mặc dù ngân hàng của họ đã yêu cầu dùng các mã an ninh phụ đó.

    David Johnston, chủ công ty Sign Designs, California, mất gần $100,000 ngày 23/7 do một phần mềm mã độc Windows. Ngân hàng của Johston cũng yêu cầu khách hàng ngoài username và password phải nhập mã do thẻ an ninh Vasco tạo ra. Nhưng bọn trộm cài được mã độc vào máy tính của người quản lý và bắt được một mã an ninh khi người đó log in. Sau đó chúng làm chậm quá trình log in của người quản lý đó lại để chúng có thời gian hoạt động.

    Cũng bằng cách đó, bọn trộm đã lấy được $447,000 của công ty Ferma.

    Tôi không phải người duy nhất khuyên các khách hàng giao dịch ngân hàng qua mạng nên truy cập vào tài khoản từ các máy tính không Windows. Trung tâm Phân tích và Chia sẻ thông tin dịch vụ tài chính (Financial Services Information Sharing and Analysis Center, FS-ISAC), một nhóm các nhà công nghiệp được một số các ngân hàng lớn nhất thế giới hỗ trợ, vừa mới ban hành bản hướng dẫn khuyến nghị các doanh nghiệp thực hiện các giao dịch ngân hàng qua mạng “bằng một máy tính không nối mạng LAN, được bảo mật và khóa hoàn toàn sao cho các hoạt động duyệt Web và gửi email thông thường không thực hiện được”.

    Đáp lại loạt bài phóng sự được công bố trên chuyên mục Security Fix của Washington Post, học viện công nghệ SANS, một tổ chức đào tạo và nghiên cứu về an ninh mạng đã treo giải cho sinh viên viết báo cáo về các phương pháp hiệu quả nhất để các doanh nghiệp vừa và nhỏ phòng chống tội phạm trên mạng. Kết quả? Có rất nhiều cách, nhưng cách rẻ nhất và hiển nhiên nhất là dùng một đĩa CD chỉ đọc (read-only), boot được có một hệ điều hành như Knoppix hoặc Ubuntu. Báo cáo của SANS có thể xem ở đây.

    Được gọi là “Live CD”, những hệ điều hành này có thể tải miễn phí từ mạng và ghi vào đĩa CDROM. Cái hay của những đĩa này là nó có thể biến một máy tính Windows tạm thời thành máy Linux mà không phải cài bất kỳ cái gì vào ổ cứng. Các chương trình từ Live CD được tải vào bộ nhớ RAM của máy và mọi dữ liệu như lịch sử các trang web đã duyệt hoặc các hoạt động khác sẽ bị xóa hoàn toàn khi tắt máy. Để quay lại Windows chỉ cần khởi động lại và lấy đĩa CD ra khỏi ổ.

    Điểm quan trọng hơn là những phần mềm mã độc dùng ăn trộm dữ liệu trong Windows không thể tải hoặc hoạt động được trong Linux. Ngay cả nếu máy Windows đã nhiễm mã độc trong ổ cứng, khi boot máy bằng Live CD, các mã độc đó không hoạt động được.

    Arc of Steuben, một tổ chức phi lợi nhuận chăm sóc những người khuyết tật đã theo đúng lời khuyên trên. Tháng 9/2009 tôi có viết bài về bọn trộm đã dùng mã độc để ăn trộm gần $200,000 của họ như thế nào. Kể từ đó, họ đã giới hạn chỉ cho phép dùng các máy Linux trong mạng của họ để giao dịch ngân hàng theo một báo cáo tại đây cho biết.

    Tất nhiên một máy tính Mac cũng có thể tránh được mã độc Windows. Nhưng dùng Live CD Linux là cách rẻ nhất. Nếu bạn muốn làm quen xin xem hướng dẫn tại đây.

    Xem mặt Moblin.

    Moblin (viết tắt của Mobile Linux) là hệ điều hành Linux do Intel chủ xướng chuyên dụng cho các netbook dùng chip Atom của Intel (và một số chip khác dùng bộ lệnh SSSE3). Ngoài netbook, Moblin cũng nhằm vào các thiết bị Mobile Internet Device và các thiết bị nhúng như hệ thống thông tin trên ôtô.

    Ngoài việc chuyên hỗ trợ các chip trên, Moblin có mục tiêu khởi động nhanh và ít tốn pin. Sau khi công bố năm 2007, Moblin được môt loạt các nhà sản xuất netbook (Dell, Acer, …) và nhà sản xuất Linux (Ubuntu, Mandriva, …) ủng hộ.

    Trong phiên bản Mandriva 2010.0 RC2 vừa công bố ngày 10/10/09 có một bản Moblin riêng. (ví dụ tải về tại đây). Nhưng cũng có thể xem mặt Moblin từ các bản Mandriva KDE hoặc GNOME.

    Vào Menu -> Install & Remove Software. Trong màn hình mới, chọn Meta Package -> Graphical Desktop -> Other rồi chọn cài task-moblin. Sau khi cài xong, logout ra. Trong màn hình Log in, nhấn vào icon hình quyển sổ và cái bút, đánh dấu Moblin rồi đăng nhập.

    Màn hình chính như thế này:
    snapshot1
    Màn hình này có một thanh panel ở trên cùng và tự ẩn khi không dùng. Di chuột lên mép trên màn hình để panel xuất hiện rồi nhấn vào biểu tượng Application thì màn hình như sau:

    snapshot2
    Trong màn hình này có thể truy cập và mở các ứng dụng đã cài trong Mandriva. Moblin có một trình duyệt web riêng, giao diện giống Google Chrome và IE7.
    Giao diện Moblin khác hẳn các loại giao diện cũ nên phải học cách dùng.

    Ngoài Moblin, trong mục Graphical Desktop nói trên còn có thể cài thêm nhiều “bộ áo” khác: KDE4, Gnome, Enlightenment, Xfce, Ede, Lxde, Sugar. Chọn bộ áo nào từ màn hình Log in như đã nói ở trên.
    Ubuntu cũng có một bản Ubuntu Moblin Remix, phiên bản mới nhất là mobile-karmic-mobline-remix nhưng không rõ cách cài như thế nào.

    Linux đã cứu hệ thống điện Australia

    Linux saves Aussie electrical grid

    By Nick Farrell

    Thursday, 1 October 2009, 09:52

    (Đây là một vấn đề nghiêm trọng. Không biết các hệ thống điều khiển của Việt nam nghĩ sao về chuyện này)

    Những người yêu phần mềm nguồn mở đã có phản ứng nhanh cứu được hệ thống phân phối điện Australia sau khi mạng máy tính của phòng điều khiển trung tâm bị nhiễm virus.

    Một con virus Windows W32.Virus.CF đã nhiễm vào mạng của hệ thống Năng lượng tích hợp (Integral Energy) và lan ra các máy tính trong phòng điều khiển.

    Những kỹ thuật viên của phòng đã thay các máy Windows bị nhiễm virus bằng các máy Linux đang dùng để viết phần mềm. Nhờ thế, virus đã không lan được sang các máy điều khiển còn lại.

    Đã có nhiều các cuộc điều tra của các chính phủ trên toàn cầu về an ninh của các công ty điện lực vì sợ rằng các hacker, các tên khủng bố hoặc các chiến binh mạng của các nước thù địch có thể chiếm quyền kiểm soát mạng lưới điện quốc gia. Nay điều lo lắng đó có vẻ đã thành sự thật.

    Theo báo Sydney Morning Herald, nhiều máy Windows khác trong hệ thống Năng lượng tích hợp cũng bị nhiễm virus và hơn 1000 máy phải cài đặt lại.

    Hệ thống được bảo vệ bởi phần mềm của Symantec và virus W32.Virus.CF đã được đăng ký trong cơ sở dữ liệu của hãng từ tháng hai. Website của Symantec mô tả con virus này là đặc biệt độc hại (particularly sinister), lây nhiễm nhanh và khó tiêu diệt. Nó thiết lập một cổng hậu (back door) trên máy bị nhiễm, cho phép hacker phát lệnh điều khiển máy qua kênh Internet Relay Chat (IRC). (và như vậy, hacker có thể điều khiển được hệ thống truyền tải và phân phối điện).

    Chris Gatford, một chuyên gia an ninh mạng của Hacklabs cho rằng sự cố trên xảy ra có thể do một số máy đã không được cập nhật virus hoặc phần mềm của Symantec đã không phát hiện ra do kỹ thuật che dấu của virus.

    zxc232

    Trục trặc với Ubuntu 9.10 Beta

    Vừa thử cài Ubuntu 9.10 Beta, gặp một số trục trặc:

    1. Trình cài đặt đã được viết lại một phần, trong quá trình cài có màn hình giới thiệu các tính năng chính (giống Windows) xem đỡ sốt ruột khi chờ đợi. Tuy nhiên, màn hình hiển thị các partition vẫn bị lỗi tràn ra ngoài màn hình do đó không nhìn thấy phím Next, phải dùng phím Tab để chuyển focus rồi Enter mò, không dùng chuột được (giống lỗi trong Ubuntu 9.04).
    2. Trình Network Manager không cài đặt được card mạng theo kiểu manual (đặt IP tĩnh bằng tay). Phải mở file /etc/network/interfaces để cài đặt card mạng. Lỗi này trong Ubuntu 9.04 và openSUSE cũng bị.
    3. Kết nối được Internet xong, cài được phần mềm từ repositories nhưng Firefox lại không vào các trang web được.
    4. Điểm dở nhất (đối với tôi) là Ubuntu 9.10 dùng trình bootloader Grub version 2 (Grub 2) thay cho Grub 1 mà các bản Linux hiện đang dùng (kể cả Ubuntu 9.04). Trình này nhận biết các bản Linux khác ngoài dòng Ubuntu (như Mandriva, PCLinuxOS, …) rất kém, do đó boot menu do nó tạo ra không boot được các bản Linux nói trên. Thay cho file /boot/grub/menu.lst sửa rất dễ của Grub 1, Grub 2 dùng file /boot/grub/grub.cfg khá phức tạp, không cho sửa kể cả với quyền root.
    5. Khi khởi động, Grub 2 tải lâu hơn hẳn Grub 1, mặc dù sau đó quá trình khởi động của Ubuntu khá nhanh.

    Vì đây chỉ là bản beta nên hy vọng là khoảng 20 ngày nữa sẽ khá hơn. Tôi thường cài vài bản Linux trên máy nên lỗi trên là khá khó chịu vì sau khi cài Ubuntu không boot được vào các bản khác.

    Rắc rối vì một cái link!

    Cuối cùng thì sự cố blog zxc232.wordpress.com của tôi bị khóa bất thình lình cũng kết thúc tốt đẹp, blog được mở lại. Chia sẻ với mọi người nguyên nhân để cùng rút kinh nghiệm:
    Sau khi blog bị khóa, tôi cũng tìm được chỗ gửi mail cho bộ phận support của WordPress tại đây. Khoảng một ngày sau thì nhận được mail “Sorry for that” và cho biết nguyên nhân vì trong một bài viết tôi có dẫn link của một công ty phần mềm có nhiều rắc rối gì đó với wordpress.com: “That site has caused us many problems in the past”. Sau khi tôi đề nghị xóa hộ link đó thì mọi việc OK.
    Như vậy theo tôi hiểu thì trên wordpress.com có một phần mềm kiểm duyệt tự động dò tìm theo một danh sách đen (blacklist). Blog nào có dẫn link trong danh sách đen đó là tự động bị khóa!
    Nếu trong danh sách đen đó có các site sex hoặc spam comments hoặc phát tán malware … thì còn hiểu được. Cái site tôi dẫn link là của một công ty phần mềm không hiểu có ân oán giang hồ gì với WordPress? Mà các blogger làm sao biết được điều đó? Tôi không dám viết lại cả tên công ty đó ở đây, sợ cái phần mềm cảnh sát kia nó lại cho mình tiêu lần nữa, bạn nào quan tâm có thể xem ở đây (nó là cái link … Linux Data Recovery ở gần cuối bài).
    Cũng vì thế nên khi tôi tạo blog mới tại WordPress rồi import các posts từ Blogger sang (trong đó có bài chứa cái link nói trên) là bị phần mềm cảnh sát tự động khóa luôn, không phải lỗi khi import Blogger nói chung.
    May mà trước dó ít lâu tôi đã phòng ngừa theo cách ở đây., giả sử có bị khóa hẳn thì cũng không đến nỗi mất hết.
    Xét cho cùng thì cũng tại mình ngu. Suốt ngày đi dạy bảo mọi người là dùng máy tính thì phải nhớ sao lưu dữ liệu mà lại quên là trên Internet cũng phải thế! Bài học Yahoo 360 là điển hình, may mà tôi không lâp blog trên đó.
    Cách làm nói trên chỉ dự phòng được blog nhưng địa chỉ blog thì chưa. Vì vậy tôi đăng ký cái http://zxc232.tk , bạn hãy vào blog của tôi theo địa chỉ đó. Hiện tại nó dẫn đến zxc232.wordpress.com, nếu trục trặc thì nó sẽ trỏ sang blog mirror.
    Nhưng nếu site dot.tk cũng chết thì sao? Cách chắc nhất là bỏ tiền đăng ký hẳn một địa chỉ Internet, nhưng blogger hình như mới có nhà báo Osin làm việc đó.

    Vài ấn tượng ban đầu với Mandriva 2010.0 KDE RC1 và Kubuntu 9.10 Beta

    Cuối tháng 10 hai bản Linux mà tôi quan tâm sẽ ra đời phiên bản mới: Ubuntu 9.10 và Mandriva 2010.0. Sau đó ít lâu sẽ là các bản Linux Mint 8 (dựa trên Ubuntu) và PCLinuxOS 2010 (dựa trên Mandriva).
    Mandriva 2010.0 RC1: hiện đã có bản RC1, đến 3/11 là bản chính thức.

    • Cài đặt trơn tru, không gặp trục trặc gì về nhận biết phần cứng (đã cài thử trên vài máy).
    • Dùng các phần mềm mới nhất: kernel 2.6.31, KDE 4.3, OpenOffice 3.1, Firefox 3.5.3. Đặc biệt, làm việc tốt với card màn hình Intel, không bị lỗi như bản 2009.1. KDE 4.3 đẹp, chạy nhanh, và nhiều tính năng hơn bản 4.2. KDE4 hiện có vẻ đã đủ độ chín.
    • Kernel 2.6.31 đã hỗ trợ chuẩn USB 3.0 tốc độ 5Gbits/s nhanh hơn 10 lần USB 2.0 hiện nay. Thiết bị hình như cũng đã bắt đầu có. Hiện tại, Linux là hệ điều hành đầu tiên hỗ trợ chuẩn này.
    • Gõ tiếng Việt tốt với scim-unikey 0.3.1 nhưng cài scim thì hơi trục trặc, không trơn tru như các bản Mandriva cũ. Hy vọng lỗi này sẽ hết trong bản chính thức.
    • Từ bản 2009.1, Mandriva có chế độ ghi file iso vào USB để cài, không cần burn vào đĩa CD nữa. Download file mandriva-seeds.sh tại đây (ở cuối danh sách), sau đó chạy file trong terminal và theo hướng dẫn. Khi cài chọn chế độ boot từ USB.
    • Vẫn như cũ, Mandriva ưu tiên cho các phần mềm khác đưa vào file cài đặt, nên muốn cài máy in phải tải về khoảng 280MB phần mềm nữa.
    • Dùng thử khoảng 1 tuần, chạy khá ổn, nhưng không nhận được máy in Canon 1210 (các đời trước nhận ngon kể cả khi chưa có driver CAPT).

    Kubuntu 9.10 Beta:

    • Trình cài đặt mới, đẹp hơn và dễ nhìn các partition hơn bản cũ.
    • Cũng dùng các phần mềm mới nhất KDE 4.3.1, OpenOffice 3.1.1. Riêng trình duyệt mặc định vẫn là Konqueror, nhưng có thể cài thêm Firefox. KDE4.3 chạy khá nhuyễn không như các bản Kubuntu trước. Đặc biệt có sẵn một số Plasma Widget kết nối với Google Calendar, Flick, Facbook, Twitter,…
    • Tích hợp với bộ công cụ GTK+ nên các ứng dụng GNOME có giao diện giống KDE hơn và tùy biến được.
    • Thử cài trên notebook được, nhưng trên hai máy để bàn thì thua: một máy không boot được vào chế độ LiveCD, một máy thì ngừng ở chổ copy package list. Hai máy này cài Mandriva 2010.0 RC1 đều được. Để khi có bản chính thức thử lại xem sao.

    Mã độc nguồn mở!

    Why malware writers are turning to open source

    Nick Heath – 2009/09/21 11:19:02

    Những kẻ viết mã độc (malware) đang nguồn mở hóa sản phẩm của mình để cải tiến nó tốt hơn.

    Bằng cách cho người khác truy cập tự do vào mã nguồn của các loại mã độc (malware) chuyên ăn trộm thông tin cá nhân và thông tin tài chính, các tác giả của những mã độc đó hy vọng sẽ mở rộng được tính năng của nó so với các loại trojan thông thường.

    Theo Candid Wuest, nhà nghiên cứu của Symantec, khoảng 10% thị trường trojan hiện nay được nguồn mở hóa. Việc chuyển sang mô hình nguồn mở cho phép các kẻ tội phạm bổ xung được tính năng cho các mã độc của chúng.

    "Ưu điểm là có nhiều người tham gia vào phát triển một mã độc hơn là chỉ có tác giả, nếu người đó chuyên về mã hóa, họ sẽ bổ xung tính năng mã hóa (để tránh bị các chương trình diệt virus phát hiện), kẻ chuyên về video streaming có thể bổ xung tính năng streaming từ xa," Wuest nói.

    Việc nguồn mở hóa các trojan bắt đầu từ năm 1999 khi nhóm Dead Cow công bố mã nguồn của trojan Back Orifice. Gần đây, những tác giả của Limbo Trojan cũng công bố mã nguồn để đẩy nhanh việc sử dụng nó bởi những kẻ lừa đảo trên mạng.

    Sau khi ra đời năm 2007, Limbo Trojan trở thành trojan được sử dụng rộng rãi nhất thế giới nhưng tới năm 2008 thì mất ngôi vị đó sau khi Zeus Trojan tinh vi hơn xuất hiện. Trở thành trojan thống trị trên thị trường đem lại cho tác giả của chúng rất nhiều tiền: các máy bị nhiễm và các thông tin cá nhân, tài chính mà trojan đánh cắp được trị giá hàng triệu đô la trên thị trường đen. Limbo Trojan trước đây được bán cho những kẻ lừa đảo trên mạng với giá 350USD, trong khi Zeus Trojan hiện nay có giá từ 1000 đến 3000USD.

    Tuy nhiên người đứng đầu bộ phận công nghệ mới của hãng an ninh mạng RSA là Uri Rivner cho biết việc nguồn mở hóa không cứu vãn được vị trí suy đồi của Limbo Trojan.

    "Chúng chuyển sang mô hình kinh doanh hệt như các dự án phần mềm nguồn mở khác: cho không phiên bản cơ bản, bán phiên bản tiên tiến hơn hoặc dịch vụ hỗ trợ chuyên nghiệp hoặc dịch vụ cá biệt hóa theo yêu cầu khách hàng. Lúc mới nguồn mở hóa thì đó là tin nóng, nhưng từ đó "khách hàng" ngừng mua nó. Nó không còn là trojan tốt nhất nữa, nhưng vì nó là phần mềm nguồn mở nên những kẻ tội phạm trên mạng có thể thử dùng nó như công cụ đầu tay"

    Tính phổ biến của Limbo tiếp tục giảm mặc dù có nhiều tính năng mới được bổ xung cho phép kẻ tội phạm có thể thêm các trường phụ vào mã PIN để đánh lừa các website của ngân hàng, thu thập danh sách các phím đã gõ và các file đã lưu trên máy tính bị nhiễm trojan.

    Và trong khi việc nguồn mở hóa không mang lại may mắn cho Limbo, nó còn tạo ra thêm vấn đề cho những kẻ lừa đảo trên mạng: các công ty an ninh mạng cũng có mã nguồn của nó.

    Đại đa số trojan lây nhiễm bằng con đường download: nó tự động được tải về máy khi bạn mở một website đã nhiễm độc, hoặc một thông báo của một mạng xã hội thúc dục mọi người tải về một bản cập nhật an ninh nhưng thực ra đó là một trojan.
    Các phương pháp lây nhiễm đó tỏ ra hiệu quả hơn các kỹ thuật trước đây như gửi một email có link đến file đã nhiễm hoặc có file đính kèm chứa trojan.
    Các nhà phân tích của RSA nói phương pháp mới đã tăng số lần lây nhiễm theo cấp số nhân: tháng 8/2008 hãng chỉ phát hiện được 613 lần lây nhiễm, tháng 8/2009 là 19.102

    Thiết kế kiến trúc hệ thống mở

    Đọc hai bài báo gần đây (bài 1bài 2) cũng thấy mừng cho ngành Công nghệ Thông tin nước nhà bắt đầu đi vào nề nếp. Đây cũng là vấn đề tôi ấp ủ nhưng chưa làm được, xả ra trên blog vậy.

    Cách đây khoảng 3 năm, đặt vấn đề với FIS về “Thiết kế kiến trúc hệ thống” theo một framework có sẵn còn thấy ngơ ngác, đưa cho cái link TOGAF thì tấm tắc khen hay. Vậy mà bây giờ đã có người đỗ chứng chỉ! Tuy nhiên đây là một công việc khá khó, khối lượng lớn, một người e rằng quá ít.

    Ngay cả việc bộ Ngoại giao giao cho Microsoft thiết kế kiến trúc chuẩn cũng là việc đáng bàn. Nhưng cái đó để sau.

    Vậy thì “Kiến trúc hệ thống” hoặc “Kiến trúc doanh nghiệp”, rộng hơn là “Kiến trúc một tổ chức” tạm dịch từ “Enterprise Architecture” là cái gì?

    Khi xây một cái nhà, bước đầu tiên là thiết kế kiến trúc (nếu cả một khu nhà lớn thì trước đó còn có cả quy hoạch nữa). Thiết kế kiến trúc xong mới đến thiết kế xây dựng, thiết kế thi công và thiết kế hoàn công.

    Xây một hệ thống thông tin lớn cũng vậy. Kiến trúc của một tổ chức được định nghĩa theo ISO/IEC 42010:2007 là:

    Tổ chức cơ bản của một hệ thống thể hiện trong các bộ phận cấu thành, quan hệ giữa các bộ phận với nhau và với môi trường ngoài và trong các nguyên tắc chỉ đạo việc thiết kế và phát triển các bộ phận đó

    The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.”

    Qua định nghĩa này, kiến trúc hệ thống liên quan đến toàn bộ các mặt hoạt động của một tổ chức mà trong đó, hệ thống tin học chỉ là một bộ phận công cụ.

    Kiến trúc hệ thống đại thể có các thành phần lớn sau:

    1. Kiến trúc nghiệp vụ (Business Architecture): xác định chiến lược hoạt động của tổ chức, cách quản lý, hệ thống tổ chức và các hoạt động nghiệp vụ chính.
    2. Kiến trúc ứng dụng (Application Architecture): là bản thiết kế (đến mức nào?) các ứng dụng, tương tác giữa chúng với nhau và quan hệ của chúng với các hoạt động nghiệp vụ chính của tổ chức.
    3. Kiến trúc dữ liệu (Data Architecture): mô tả cấu trúc các kho dữ liệu logic và vật lý của tổ chức và các tài nguyên dùng quản lý dữ liệu.
    4. Kiến trúc công nghệ (Technology Architecture): mô tả hạ tầng phần mềm để khai triển các ứng dụng quan trọng, cốt lõi của hệ thống.

    Mục 1 là trách nhiệm các nhà lãnh đạo, mục 2 và 3 có khi được gọi chung là Kiến trúc hệ thống thông tin (Information System Architecture).

    Khối lượng công việc thiết kế như trên rất lớn và rất phức tạp. Vì vậy cần phải có một quy trình thiết kế tiêu chuẩn và vô số công cụ hỗ trợ gọi chung là Phương pháp kiến trúc hoặc Khung kiến trúc (Achitecture Framework).

    Phương pháp kiến trúc là một công cụ dùng để phát triển các kiến trúc bao gồm:

    • một phương pháp thiết kế hệ thống thông tin gồm nhiều bộ phận có tương tác với nhau
    • một bộ các công cụ thiết kế và một từ điển thuật ngữ thống nhất.
    • một danh sách các tiêu chuẩn nên dùng
    • một danh sách các sản phẩm thoả mãn chuẩn có thể dùng để xây dựng nên các bộ phận của hệ thống thông tin.

    Nói nôm na nó là bản hướng dẫn từng bước thiết kế kiến trúc như thế nào.

    Cái framework này rất quan trọng để có được một thiết kế đúng, hợp lý, thống nhất chung cho toàn hệ thống. Vì vậy chính phủ một số nước cũng như các bộ quốc phòng Anh, Mỹ và thậm chí NATO đều ban hành framework chuẩn cho hệ thống của mình (xem thêm). Các công ty và các loại tổ chức khác thì có thể chọn một trong các frameworks phổ biến để áp dụng.

    TOGAF (The Open Group Architecture Framework) là một framework do tổ chức Open Group xây dựng. Open Group là một consortium độc lập với công nghệ và nhà cung cấp có mục tiêu hỗ trợ truy cập thông tin tích hợp bên trong và giữa các tổ chức dựa trên các chuẩn mở và tính tương tác toàn cầu (The Open Group is a vendor- and technology-neutral consortium, whose vision of Boundaryless Information Flow™ will enable access to integrated information within and between enterprises based on open standards and global interoperability.) Thành viên của Open Group có các đại công ty như HP, IBM, HSBC, các trường, viện, và các tổ chức, cá nhân khác.

    Phiên bản 1 của TOGAF ra đời năm 1995 trên cơ sở framework TAFIM của bộ quốc phòng Mỹ. Phiên bản 9 là mới nhất hiện nay. Tài liệu được công bố công khai trên mạng và có thể tải về dùng nội bộ miễn phí (dùng thương mại, thiết kế kiếm tiền thì phải trả tiền).

    Mỗi bản TOGAF là một tài liệu dài cỡ 300 trang mô tả rất chi tiết các khái niệm, các bước thiết kế cụ thể, các tiêu chuẩn, form mẫu, các công cụ hỗ trợ. Xem thoáng qua thì rất hay và rất thích nhưng hiểu được thì … chết liền, mất khá nhiều thời gian và nơ ron thần kinh mà cũng chưa chắc đã hiểu, chưa nói đến ứng dụng!

    Điểm hay của TOGAF là nó vô tư (độc lập với công nghệ và nhà cung cấp, dựa trên các chuẩn mở), tài liệu hướng dẫn từng bước rất chi tiết, có diễn đàn hỗ trợ, nói tóm lại là nó mở. Ai đã từng làm thiết kế đều biết cửa ăn hoa hồng dễ nhất là trói thiết kế vào vật tư, sản phẩm cụ thể. Nhược điểm là nó không định ra tiêu chí thế nào là một kiến trúc tốt.

    Bởi vậy, tôi mới thấy băn khoăn về cái thiết kế của bộ Ngoại giao. Có nên tin vào tính vô tư của Microsoft hay không?

    Hãng phim DreamWorks dùng đám mây điện toán của Red Hat để giảm chi phí làm phim.

    DreamWorks uses Red Hat cloud to cut filmmaking costs

    spacer.gif By Pam Derringer, News Contributor
    10 Sep 2009 | SearchEnterpriseLinux.com spacer.gif

    zxc232 lược dịch

    (Làm phim hoạt hình tốn công suất máy tính dễ sợ. Xem thêm về Hollywood dùng Linux tại đây)

    Công ty phần mềm nguồn mở Red Hat đang thảo luận với hãng phim DreamWorks về việc dùng đám mây điện toán chạy trên Red Hat Linux để sản xuất bộ phim hoạt hình nổi, ba chiều đầu tiên trên thế giới trong năm nay.

    Đám mây điện toán của Red Hat cùng với các phần mềm dựng phim mới nhất sẽ giúp dựng bộ phim hoạt hình “Cuộc chiến giữa các con quỷ và người ngoài hành tinh” có những cảnh hoàng tráng như cảnh sụp đổ của cầu treo Cổng Vàng tại San Francisco.

    Các hiệu ứng đặc biệt sẽ làm cho dự án phim này tốn đến 40 triệu giờ công, chi phí gấp 8 lần bộ phim Shrek nổi tiếng và hoàn thành trong 2 năm.

    Linh hoạt hơn.

    Điện toán đám mây là yếu tố then chốt để làm phim nhanh hơn và hiệu quả hơn, cho phép DreamWorks có được năng lực máy tính phù hợp lúc ổn định cũng như lúc cao điểm, giảm yêu cầu nhân vi xử lý (core) từ 21.000 xuống 16.000. Điện toán đám mây cung cấp dịch vụ linh hoạt hơn các dàn máy chủ, cho phép chia nhỏ các đoạn phim gửi đồng thời cho 40 nhân xử lý, tự động hóa được một số công việc trước đây phải làm thủ công, giảm thời gian quay vòng từ 4 giờ xuống còn vài phút.

    Ứng dụng ảo hóa trong đám mây điện toán cũng cho phép DreamWorks xử lý tách biệt các công việc, đo lường được mức độ sử dụng tài nguyên tính toán và kiểm tra được trạng thái từng việc, do đó giảm thời gian dựng phim.

    Cơ sở máy tính của DreamWorks là một mạng lưới máy chủ xây dựng đã 10 năm gồm hơn 20.000 nhân vi xử lý phân bổ trong 4 trung tâm dữ liệu nối với nhau bằng hơn 20.000 km cáp đôi gigabit (trừ trung tâm đặt tại Bangalor, Ấn độ). Mặc dù vậy, DreamWorks luôn phải đối mặt với những “thách thức khó chịu” về thiếu băng thông và mật độ I/O cao khi chuyển dữ liệu vào ra mạng lưới điện toán của họ.

    Red Hat đã giải quyết được các khó khăn đó bằng việc ảo hóa nhân hệ điều hành, quản lý ảo hóa, phối hợp các ứng dụng và tạo các lớp đám mây trừu tượng (kernel virtualization, virtualization management, the application orchestration and cloud abstraction layers).

    Tủ áo của Linux

    8 Great Alternative Desktop Managers For Linux

    Nov. 17th, 2008 By Damien Oh
    Lược dịch Zxc232 (chữ nghiêng là lời người dịch)

    Trong một post trước đã giới thiệu hai bộ áo thông dụng nhất của Linux: KDE và GNOME. KDE4 (bản mới nhất là 4.3 vừa ra đời) là bộ áo dạ hội, lộng lẫy, màu sắc và cũng lỉnh kỉnh nhiều phụ tùng. Một trong những tính năng hay của KDE4, nhất là ở bản 4.3, là notification (thông báo): di chuột vào đâu cũng có màn hình thông báo xuất hiện, mạng bị đứt hay nối lại đều có thông báo nhanh với đầy đủ thông tin. KDE3 và GNOME là bộ áo đi làm, đủ tính năng và chạy nhanh trên các máy tính thông dụng hiện thời.

    Nhưng nếu máy cấu hình yếu hoặc muốn nhanh hơn thì hãy thử một trong các bộ áo dưới đây.

    1. XFCE

    xfce- desktop manager linux

    Xfce là môi trường đồ họa nhẹ cho các hệ điều hành kiểu unix. Nó nhằm vào mục tiêu nhẹ và nhanh nhưng vẫn đủ trực quan và dễ sử dụng. Xfce viết bằng bộ công cụ GTK2+ cũng như GNOME, vì vậy ai quen GNOME sẽ thấy Xfce thân thuộc.

    Xfce có điểm hay là tùy biến được toàn bộ như KDE và GNOME. Toàn bộ gói Xfce được chia thành nhiều dự án cho từng phần khác nhau của màn hình desktop. Vì vậy có thể cài đặt toàn bộ hoặc chỉ cài những phần tùy chọn và tùy biến theo ý thích.

    Các bản Linux phổ biến hầu như đều có một phiên bản riêng dùng Xfce, ví dụ Xubuntu. Bản Xubuntu 9.04 chạy nhanh và cũng khá đẹp.

    2. Enlightenment

    enlightenment linux

    Enlightenment là bản đồ họa desktop nhẹ mà tôi thích nhất. Nó có tính cách mạng, nhìn hấp dẫn và cực dễ dùng. Trong khi hầu hết các bản đồ họa desktop khác bỏ các hiệu ứng đồ họa để giảm yêu cầu về phần cứng, Enlightenment làm ngược lại. Bạn sẽ ngạc nhiên thấy nó có thể chạy trơn tru, đẹp đẽ ngay cả trên các máy cấu hình thấp.

    Khi lần đầu log in vào, bạn sẽ ngạc nhiên vì không thấy menubar, panel hoặc icon trên màn hình, tất cả chỉ có một màn hình màu đen và một pager ở đáy màn hình. Kích vào chỗ bất kỳ trên màn hình sẽ có menu xuất hiện. Di chuyển chuột hoặc cuộn bánh xe sẽ thấy các cửa sổ đã thu nhỏ trong pager hiện lên với hiệu ứng đồ họa. Lúc đầu giao diện kiểu này hơi khó dùng nhưng nếu bạn đã quen thì sẽ không muốn dùng các loại đồ họa desktop khác nữa.

    3. FVWM-Crystal

    fvwm-crystal

    Nếu bạn thích các eye-candy, bạn sẽ thích FVWM-Crystal. FVWM-Crystal dựa trên trình quản lý cửa sổ FVWM. Nó giữ nguyên tính linh hoạt và khả năng tùy biến cao của FVWM, bổ xung nhiều cải tiến vào giao diện. Kết quả là có một giao diện đẹp, các cửa sổ nửa trong suốt và nhiều eye-candy.

    Trong số các bản đồ họa desktop, FVWM-Crystal có tốc độ nhanh nhất khi khởi động hoặc mở ứng dụng. Nó tích hợp tốt với XMMS, XMMS2, MPD, Quod Libet và cdcd. Nếu bạn tìm một bản đồ họa desktop đẹp có thể link với music server dễ dàng thì FVWM-Crystal đúng là cái bạn cần.

    4. LXDE

    LXDE

    Là một người đã có kinh nghiệm với GNOME và KDE, tôi thấy LXDE rất dễ dùng. Lý do là vì LXDE là phiên bản nhẹ của GNOME và KDE tổ hợp với nhau. Đáy màn hình có panel giống KDE và giao diện thì theo kiểu GNOME nên không có gì mới phải học. Nếu bạn có máy tính cấu hình yếu và không muốn xa rời KDE hoặc GNOME thì LXDE là lựa chọn tốt.

    Ai muốn xem LXDE có các hiệu ứng Compiz, cửa sổ bay tá lả có thể thử bản Linux Knoppix.

    5. IceWM

    icewm

    IceWM đơn giản và có khả năng tùy biến cao (mới nhìn thì xấu). Tất cả các thiết lập lưu trong một file text đặt trong thư mục home của user nên dễ cấu hình và sửa.

    Nếu thích một giao diện giống Windows 95, có thể tạo nó trên IceWM. Cũng có thể dùng các theme khác để làm nó giống Windows Vista, Mac OS hoặc bất kỳ thứ gì bạn muốn.

    6. Fluxbox

    fluxbox

    Fluxbox là môi trường đồ họa cực tiểu vì nó hỗ trợ tối thiểu đồ họa và chỉ có một taskbar. Muốn cho hiện menu thì kích phím phải chuột. Giao diện có thể thay bằng các theme khác được, phần lớn settings đặt trong các file text có thể sửa dễ dàng.

    7. Window Maker

    windowmaker

    Window Maker là một trong số ít bản đồ họa desktop có công cụ đồ họa để cấu hình các thiết lập hệ thống. Công cụ đó (Wprefs) dễ dùng, tránh việc sửa file cấu hình và giúp cho user (dù là người mới hay đã có kinh nghiệm) dễ dàng cấu hình và chỉnh sửa được các thiết lập hệ thống.

    Cũng như Fluxbox, Window Maker là bản đồ họa desktop tối thiểu. Trên cả màn hình chỉ có 4 icons trong đó một cái để mở terminal, một cái để chạy Wprefs. Nhấn phím phải chuột, menu chính sẽ xuất hiện.

    8. AfterStep

    afterstep

    Ban đầu dựa trên giao diện NeXTStep, AfterStep là một bản đồ họa desktop nhất quán, thoáng và đẹp có thể chạy trên các máy cấu hình thấp. Cũng như các bản đồ họa desktop nhẹ khác, nó nhanh, ổn định, dễ dùng và dễ cấu hình.

    Ngoài những cái nêu trên, còn nhiều nữa. Xem thêm tại đây.

    Cài đặt:

    Để dễ phổ biến (lưu được trong một đĩa CD), các bản Linux gốc chỉ có một môi trường đồ họa (Ubuntu dùng GNOME, Kubuntu dùng KDE, Xubuntu dùng Xfce, v.v…..). Có thể cài thêm các bản đồ họa desktop khác mà không ảnh hưởng gì đến bản gốc cả, trừ việc menu có thể nhiều chương trình hơn. Nếu có sẵn trong kho phần mềm (thường là dưới dạng meta package) thì cài dễ nhất. Kho của Mandriva có nhiều graphical desktop nhất. Còn nếu không phải hỏi cụ Gúc tìm đến site gốc tải về cài.

    KDE 4.3 có thể cài lên Ubuntu theo các hướng dẫn ở đây. hoặc ở đây.

    Sau khi cài xong, log out ra rồi chọn theo hướng dẫn ở đây.

    Không quân Úc đào tạo phi công bằng thiết bị nguồn mở

    Không quân Úc chi 1,7 triệu USD cho thiết bị mô phỏng bay dùng Linux

    Đăng trên itnews.com.au
    By Munir Kotadia
    Aug 31, 2009 6:08 AM
    Tags: defence | linux | opteron | flight | simulator

    Nền đồ họa cũng là nguồn mở

    Lực lượng quốc phòng Úc (The Australian Defence Force-ADF) đã tiết lộ thiết bị mô phỏng bay mới nhất chạy trên cụm máy chủ (clusters) dùng bộ xử lý Operon của AMD, hệ điều hành Suse Linux và một môi trường đồ họa nguồn mở.

    Thiết bị này tạo nên một thế giới ảo cho phép các phi công trải nghiệm các tình huống chiến đấu thực mà không phải rời mặt đất.

    Greg Combet, bộ trưởng Quân lực, Vật tư và Khoa học Quốc phòng nói thiết bị mới sẽ tạo ra “những kinh nghiệm thực và ảo cho các phi công và nhân viên điều hành bay”.

    “Bằng cách tái tạo các hoàn cảnh thực tế trong một môi trường ảo, thiết bị cho phép diễn tập và đánh giá các hoạt động không chiến với chi phí giảm đi rất nhiều và không đặt các phi công vào những tình huống nguy hiểm”

    Người phát ngôn bộ Quốc phòng cho biết thiết bị sẽ khởi động trong 30 giây, dùng cụm máy chủ Opteron 2218 4 lõi, card màn hình nVidia Quadro FX 5600G. Các bộ mô phỏng bay và khí động học chạy trên nhiều máy chủ dùng bộ xử lý Opteron 8 lõi.

    Tất cả các máy chủ trong cụm (cluster) chạy hệ điều hành Suse Linux. Khác với các cụm máy chủ Linux truyền thống tập trung vào thông lượng dữ liệu, cụm máy chủ này chú trọng đến tốc độ đáp ứng theo thời gian thực bằng cách dùng các tính năng của nhân Linux như khóa bộ nhớ (memory locking), lập lịch thời gian thực (real-time scheduling) và truyền dữ liệu có độ trễ thấp (low-delay communication).

    Phần mềm quan sát được viết trong OpenGL dùng các engine đồ họa nguồn mở và đóng, dựa rất nhiều vào các chương trình OpenGL Shader Language để tạo các hiệu ứng như các đám mây, khói và cây cối.

    OpenDiscovery- bản Linux dành cho sinh học phân tử

    Open Discovery là một bản Linux dựa trên nền Fedora dành riêng cho sinh học phân tử. Nó có các công cụ phần mềm để phân tích chuỗi DNA, xem cấu trúc protein và cấu trúc hóa học, mô hình hóa phân tử, động học phân tử, v.v.. (chi tiết xem thêm và tải về tại đây). OpenDiscovery hỗ trợ các máy tính nhiều processors để tăng tốc các quá trình tính toán và hỗ trợ các ngôn ngữ lập trình phổ biến trong lĩnh vực sinh học phân tử như PERL và PYTHON.

    screenshot-5

    Những ai hay chống Linux nhất?

    Nếu bạn chỉ vọc Linux cho riêng mình thì thôi. Nếu bạn lại muốn phổ biến tuyên truyền điều mình ham thích thì dưới đây là những đối tượng bạn nên tránh.

    Chống lại Linux mạnh nhất, kiên quyết nhất lại chính là dân tin học. Các giám đốc công ty tin học lớn nhỏ, các “chuyên gia” tin học kỳ cựu, các “cử nhân” tin học vất vả mãi mới tốt nghiệp được đều nhìn Linux với con mắt đầy căm thù, hằn học và sợ hãi.

    Vì Linux đe dọa cái cần câu cơm của họ! Điều đó hoàn toàn có thể hiểu và thông cảm được.

    Và sự chống đối của họ thường có hiệu quả cao đối với những người ngoại đạo do cái “mác” mà họ có và những lời lẽ “uyên bác” đầy những từ ngữ kỹ thuật. Tôi đã từng được đọc những bản tư vấn chống lại opensource của các “chuyên gia” VNPT thuộc loại này, từng được nhận những cái bĩu môi khinh bỉ kèm theo những lời vàng ngọc của các cây đại thụ trong hội Tin học đất nước và thủ đô!. Những chuyên gia của văn phòng đại diện Microsoft thì phản ứng khá hơn nhưng cũng là nông nổi.
    Tất cả đều có một điểm chung là không ai hiểu gì về Linux, opensource cả! Trước nguy cơ đe dọa, họ vội vã thu góp các thông tin thậm chí chỉ là nghe thoáng qua không thèm hỏi lại cụ Gúc nữa để tung ra phản công.

    Và những lý lẽ của họ thật khôi hài!

    Trong hàng ngũ những người sử dụng, chống Linux hăng nhất là những người trước đây bắt buộc phải học Windows, trầy trật mãi mới tạm biết sử dụng, tiếng Anh cũng không thạo. Bây giờ lại phải chuyển qua Linux thì thật kinh hoàng! Thuộc loại này thường là lớp cán bộ già và cũng có cả cán bộ trẻ nhưng IQ thấp (chú ý là tôi không vơ đũa cả nắm, “thường là” thôi nhé).

    Cán bộ già mà chống thì thật đáng sợ vì thường có chức, có quyền, học hàm, học vị đầy người, ăn nói có gang có thép. Những ý kiến quý báu như thế này : “Kubuntu không dùng giao dịch quốc tế được”, “Phần mềm nguồn mở rất kém an toàn, chẳng có ai chịu trách nhiệm cả”, “Thì giờ đi học Linux để làm những cái cần thiết hơn” v.v. và v.v không phải là hiếm. Đụng phải đối tượng này, bạn là nhân viên dưới quyền có thể thân bại, danh liệt.

    Trước đây dùng Windows, nếu gặp lỗi hoặc không biết làm thì tự biết là mình kém không dám đổ cho ai. Nhưng nếu dùng Linux, bất kỳ trục trặc lớn nhỏ là đổ hết lên đầu Linux, khi kiểm tra ra mới biết là không thạo sử dụng máy tính nói chung, nếu dùng Windows thì cũng trục trặc như thế. Đường Internet đứt, không vào được mạng, tại Ubuntu; bảng tính sai kết quả do chính công thức sai, cũng tại Ubuntu nốt. Thậm chí máy in chưa bật, không in ra được cũng tại Ubuntu luôn cho tiện!

    Có những cán bộ già vẫn mang đầy hoài niệm về thời trẻ oai hùng là học sinh chuyên toán mà bây giờ cũng nhìn Linux đầy ngần ngại. Chẳng ai chống được tuổi tác và ông Trời!
    Khác với lớp người trên, những người này chống không phải vì sợ mất cần câu cơm mà xuất phát từ bản năng “tiết kiệm năng lượng” hay nói một cách thô thiển là bản năng “lười” của con người. Đối với một số người là ám ảnh của ký ức đầy gian khổ của thời buộc phải học Windows nữa. Đang yên ổn, chẳng ai muốn thay đổi.
    Nhưng các cụ đã dạy rằng “Biết thì thưa thốt, không biết thì dựa cột mà nghe” mà nhiều người không chịu theo.

    Nhưng cũng có một phần là do thiếu thông tin.
    Chính bản thân tôi ban đầu lao vào Linux là do “ham của lạ”. Chỉ sau này tìm hiểu kỹ hơn mới giật mình là trước đây mình ngu quá. Ngay bộ ngoại giao Mỹ mà còn cho rằng Dùng Firefox tốn kém lắm thì còn trách ai được. Trên các phương tiện truyền thông chỉ lơ thơ vài ba tin. Ngay cái site “Phần mềm tự do nguồn mở” của bộ Khoa học Công nghệ có nội dung thật đáng thất vọng.
    Lớp người tiếp thu nhanh nhất là lớp trẻ có chỉ số IQ khá, tư duy thoáng và cởi mở, không ngại những cái mới nói chung (trừ loại có IQ thấp, lười và mua bằng ra nhé). Để tự tìm hiểu và sử dụng được Linux cho những nhu cầu thông thường, lớp người này thường chỉ cần mất vài ngày. Và đấy là lực lượng bạn nên dựa vào nếu muốn tuyên truyền phổ biến về Linux.
    Chia sẻ những kinh nghiệm trên để bạn tránh, không phải để bi quan. Nếu như gần đây chính Microsoft còn phải công khai nhìn nhận sự đe dọa của Linux thì không ai có thể cản bánh xe lịch sử được. Bạn không phải Đông Ki sốt mà là Kim Ngọc của một trào lưu mới.

    Zimbra – bộ phần mềm cộng tác nguồn mở

    Zimbra nguyên là một công ty độc lập về phần mềm nguồn mở được Yahoo mua lại năm 2007.  Điều đó cũng chứng tỏ sản phẩm của công ty được đánh giá cao. Theo quảng cáo trên site của hãng thì hiện có 60.000 tổ chức và 40 triệu mailbox đang dùng Zimbra.

    Screenshot-1

    Zimbra Collaboration Suite là bộ phần mềm cộng tác gồm cả phần mềm chạy trên máy chủ và máy trạm có các đặc điểm, tính năng chính sau:

    • Thư điện tử: một hệ thống thư điện tử hoàn chỉnh gồm Mail server (SMTP, POP3, IMAP, antivirus, antispam, openLDAP, backup, …, có đầy đủ các tính năng như auto-reply, auto-forward, mail filter, …) và Mail client (Zimbra desktop và Zimbra Web Client).
    • Lịch công tác (calendar): lịch cá nhân và lịch nhóm, tự động gửi mail mời họp,…
    • Sổ địa chỉ (Contacts): sổ cá nhân và sổ chung của nhóm
    • Danh mục công việc (Task): của cá nhân và nhóm.
    • Tài liệu (Documents): tài liệu dưới dạng wiki của cá nhân hoặc soạn tập thể
    • Cặp hồ sơ (Briefcase): lưu file dùng riêng hoặc chung.
    • Chat: chat nội bộ trong mạng LAN hoặc trên Internet.
    • Tất cả các mục trên đều có phần chạy trên máy chủ (nằm trong Zimbra Server), lưu trên máy chủ để có thể dùng chung được truy cập được từ bất kỳ đâu có Internet. (nếu cài trên máy chủ có Internet). Các mục đó đều có khả năng share (kể cả các thư mục email: Inbox, Sent) cho người khác dùng chung.
    • Zimbra có hai phần mềm client: Zimbra desktop và Zimbra Web client là giao diện với người dùng. Zimbra desktop (tương tự như Outlook, KMail,…) cài được trên Windows, Mac, Linux. Ngoài ra có thể dùng các mail client khác như Outlook, Evolution, KMail, Thunderbird, … Hai loại mail client trên ứng với hai cách làm việc:
      • Làm việc online, dùng Zimbra web client. Mọi thông tin sẽ lưu trên máy chủ Zimbra. Zimbra Web Client có hai giao diện: dạng html thông thường, nhanh nhưng ít tính năng và dạng Ajax (tương tự Yahoo Mail). Zimbra Web Client là một trong những Web Client hoàn chỉnh nhất hiện nay (hỗ trợ hầu hết tính năng của Zimbra Server, kể cả chat).
      • Làm việc offline, dùng các mail client còn lại. Riêng Outlook, Apple Desktop và Evolution có thể đồng bộ email, calendar, contacts và task với máy chủ Zimbra, các mail clien khác chỉ dùng đọc và gửi email.
    • Zimbra cũng hỗ trợ làm việc với các điện thoại di động iPhone, Blackberry, …
    • Zimbra có một kho các Zimlet (một thứ tương tự các extensions của Firefox) mà các quản trị mạng có thể chọn cài để bổ xung tính năng. Mọi người có thể tự viết các Zimlet để kết nối hệ thống Zimbra với các hệ thống thông tin khác hoặc mở rộng tính năng. Đây có lẽ là một trong những điểm mạnh nhất và sẽ gây nghiện cho người dùng giống như các extensions của Firefox vậy.
    • Quản trị hệ thống qua giao diện web khá đầy đủ và chi tiết với nhiều tiện ích. Ví dụ có thể tạo hàng trăm account trong vài phút.

    Zimbra có một bản opensource miễn phí và ba bản khác có thu phí. Bản đắt nhất là 35USD/user/năm cho 25 user đầu. Bản opensource có các tính năng sử dụng giống bản có phí, chỉ kém một số tính năng quản trị nhưng có thể bù đắp  bằng cách tự cài bổ xung và hoàn toàn có thể dùng bản opensource vào các hệ thống thật được.

    Về kiến trúc bên trong, Zimbra vẫn sử dụng các bộ phần mềm chức năng (nguồn mở) phổ biến như OpenLDAP, Postfix, SpamAssassin, Amavisd, Tomcat, … cùng với một số phần mềm riêng tạo nên một hệ thống tích hợp chặt chẽ. Có thể không dùng OpenLDAP mà dùng Windows Active Directory, hoặc import user từ một máy chủ Exchange sang.

    Hiện tại, Zimbra Server có các bản cài trên Red Hat, Fedora, CentOS, Debian, SUSE, Ubuntu và MacOS. Nếu chỉ cài trên một máy chủ độc lập thì cách cài đặt khá đơn giản và nhanh.

    Zimbra có thể cài theo nhiều cấu hình khác nhau từ một hệ thống nhỏ vài chục account trên một máy chủ duy nhất cho đến hệ thống rất lớn hàng nghìn account trên nhiều máy chủ có các chức năng khác nhau. Có khả năng mở rộng (scalability) bằng cách thêm máy chủ dễ dàng.

    Hiện đang chạy thử trên một cặp máy chủ clustering bằng drbd và heartbeat và chưa chê được điểm gì. Hoàn toàn có thể thay được cặp Exchange + Outlook (nhất là với trình độ sử dụng như hiện nay). Phải chạy thật và sau một thời gian mới có thể phát hiện xem có lỗi gì không.

    gOS – một bản Linux nhẹ và đẹp

    gOS là một bản Linux được xếp thứ 19/310 về mức độ quan tâm của người dùng trong 12 tháng qua tại site Distrowatch. Vì vậy tôi cũng thử qua xem thế nào.

    Screenshot

    gOS là sản phẩm của công ty Mỹ và Đài loan Good OS mới thành lập đầu năm 2007 mà nhiệm vụ chính là dựng các phần mềm cho điện toán đám mây (cloud computing). Hệ điều hành này đã được chọn cài trên netbook Everex gPC 199 USD bán trong chuỗi cửa hàng Wal-Mart tại Mỹ.

    gOS dựng trên nền Ubuntu Hardy 8.04, phiên bản hiện tại là gOS 3.0 Gadgets. Bên trong thì không biết thế nào nhưng nhìn bên ngoài thì chủ yếu là sửa sang hình thức và cài thêm một số phần mềm (tự làm trên Ubuntu hoặc các bản Linux khác cũng được):

    • Hình thức sáng sủa và đẹp, sử dụng một theme riêng là gOS3_theme. Đáy màn hình có cài sẵn một docking bar là Wbar. Nhìn chung hình thức hơi “teen”.
    • Trên desktop có cài sẵn một số Google Desktop Gadgets. Cái này tự cài lên Ubuntu được và có thể chọn bổ xung ở đây. Ưu điểm của Google Desktop Gadgets là số lượng gadgets nhiều và phong phú.
    • Tích hợp với các sản phẩm của Google: GMail, Google Docs, Google Calendar, Google Finance, v.v… bằng cách dùng công nghệ Mozilla Prism để chạy các ứng dụng nói trên trong các cửa sổ Firefox riêng biệt, độc lập với nhau, không mở chung thành từng tab trong một trình duyệt. Do đó có thể: dành nhiều chỗ cho ứng dụng hơn trong một cửa sổ, tạo các shortcut riêng trong menu hoặc docking bar, khi một ứng dụng treo không ảnh hưởng đến cái khác. Trên Windows có thể cài Prism như một add-ons của Firefox dễ dàng, nhưng chưa có Prism for Linux. Có lẽ gOS dùng Prism qua wine.
    • Các thứ khác: cách cài đặt, phần mềm cài sẵn, kho phần mềm, tiện ích, … hệt như Ubuntu Hardy 8.04. Vẫn phải cài ubuntu-restricted-extra hoặc perfecbuntu (xem tại đây) để có đủ các thứ cần thiết khác. OpenOffice vẫn là bản 2.4. Bộ gõ tiếng Việt scim-unikey 0.3 cho Ubuntu 8.04 dùng tốt trên gOS.
    • Có cảm giác là nhẹ, chạy nhanh (có lẽ vì hướng vào netbook).

    Hiện nay, Good OS đang xây dựng một hệ điều hành hơi đặc biệt là Cloud: hệ điều hành + trình duyệt web để hướng vào điện toán đám mây như đã nói trong một post trước.

    Linux ảnh viện

    Tại đây là nơi trưng bày ảnh chụp màn hình (screenshot) của một số khá lớn các bản Linux, kể cả các bản alpha, beta thường không có ảnh trên site chính thức. Có thể ngắm nghía trước khi quyết định tải về thử. Nếu theo ảnh ở đó thì bản Ubuntu 9.10 sắp tới không thay đổi gì về hình thức màn hình.

    Còn đây là một bức chân dung của bản Ubuntu Thiên Chúa giáo (Ubuntu Chritian Editor 5.0). Tính chất Thiên Chúa giáo không chỉ ở ảnh nền desktop mà còn cả ở trong nội dung một số phần mềm chuyên biệt (học kinh, các lời răn,…).

    desktop

    Còn dưới đây là bản Ubuntu Hồi giáo (Ubuntu Muslim Edition 8.04.1)

    screenshots

    Trong đó có lịch cầu kinh Coran (hình như tới 6 lần một ngày mà phải quỳ hướng đúng về Thánh địa Mecca!):

    screenshots2

    Mà hình như không thấy … à có đây rồi. Search “ubuntu buddhism” thì lần ra một bản Ubuntu Phật giáo (Ubuntu-budha)  ở đây và cái hình này:

    screenshots1

    Cuối cùng để cân bằng với tất cả những cái trên là bản Ubuntu Quỷ Satan (Ubuntu Satanic Edition):

    SE-Skulls-1

    Không hiểu trong đó có cái quái gì.

    Hậu cung của nhà vua

    (Nghỉ cuối tuần mà trời nóng quá, ngại ra đường nên ngồi nhà nổi máu văn chương)

    Sau khi đã lập xong hậu cung và trở thành một cao thủ trong tình trường Linux, đức Hoàng thượng rùng mình nghĩ lại thời mình còn lẽo đẽo đi theo bà Hoàng hậu già Windows khó tính, bệnh tật virus đầy người, hơi một tý lại lăn ra ngất. Nói cho công bằng, không có bà dìu dắt, Người cũng chẳng có ngày hôm nay. Bây giờ, Người ngạc nhiên nhìn lũ trai trẻ trong vương quốc cam tâm cúc cung tận tụy với Windows mà không biết rằng cả một chân trời mới đang ở ngay bên cạnh. Bởi vậy, Người mới quyết định giới thiệu hậu cung của mình để làm gương.

    Và cũng bởi Người bắt đầu thấy nhàm rồi, đang tiến quân đi chinh phục những vùng đất mới.

    Nước nhỏ và nghèo nên hậu cung xây trên một miếng đất khá chật: notebook Dell INSPIRON 700m với CPU Pentium M 1.6MHz, 1.256 GB RAM, 40 GB HDD, 82852/855GM Intel Integrated Graphics Device.

    Đất hẹp nên mỗi quý phi chỉ được có khoảng 4-5 GB ext3 partition và có một phòng sinh hoạt chung My Documents (ntfs partition, 10 GB) thừa hưởng lại của hoàng hậu Windows XP đã quá cố (xóa sạch rồi chỉ còn lại có My Documents) và cái sảnh swap partition 500 MB cũng dùng chung nốt. Menu list là cái danh sách quyết định cô nào được ân sủng vua vời sẽ nói sau.

    Mandriva 2009.1 KDE

    snapshot1

    Cô này vốn xuất thân từ một dòng họ quý tộc lâu đời (Mandrake 1.0, 7/1998). Cái tính quý tộc thể hiện từ hình thức đến nội dung. Mọi sinh hoạt đều tuân thủ theo nề nếp gia phong của Control Center và System Settings rất đầy đủ, chặt chẽ, rõ ràng, có lớp có lang từng bước một (wizard). Riêng cái nề nếp đó chưa có cô nào theo kịp, kể cả openSUSE. Bảo cô làm việc gì cũng dễ dàng và ngoan ngoãn.

    Bộ áo KDE 4.2 cô đang diện vốn là một bộ áo thời thượng nhất, đẹp nhất hiện nay nhưng cũng khó mặc nhất. Nhiều cô khác cũng cố khoác nó lên người nhưng rồi phải bỏ hoặc lụng thụng trông chẳng ra sao (Kubuntu chẳng hạn). Mandriva hòa nhập với KDE4 nhuần nhuyễn và có bản sắc riêng từ cái màn hình khởi động (splash) đến screensaver và nhiều tiểu tiết khác được may cắt riêng chứ không dùng cái có sẵn của KDE.

    Nhìn sâu hơn thì cô thuộc loại quý tộc không nghèo nhưng cũng không phải là giầu. Các kho của hồi môn (repositories) khá lớn nhưng chưa bằng được một số cô khác. Và bố trí bên trong cũng hơi lộn xộn.

    Tuy dòng dõi cao sang nhưng Mandriva nổi tiếng bình dân. Đặt vào đâu cô cũng hòa nhập rất tốt, không kén cá chọn canh gì (tương thích phần cứng tốt). Chỉ có đến đời 2009.1 này là thấy có chuyện. Cô sống rất thoải mái, nhanh nhạy với cái card màn hình Intel 82852/855GM, nhưng đưa sang chỗ khác có card  82G33/G31 cũng của Intel là chậm chạp hẳn. Đời trước 2009.0 thì lại không sao. Nguyên nhân có lẽ do cái driver Intel mới nhất hiện còn chưa ổn như đã nói trong một post trước.

    Mandriva còn có một cô em diện áo GNOME, không xinh bằng chị nhưng nhìn thoáng hơn, nhanh nhẹn hơn vì bớt cầu kỳ. Hoa thơm đánh cả cụm nhưng đất chật đành cho hai cô ở chung một phòng (Install & Remove sofware -> Meta package -> GNOME -> task-gnome-minimal thế là xong). Thích ngắm cô nào thì ở cửa ra vào (màn hình Log in), nhấn vào hình quyển sổ bút chì đăng ký gặp cô đó. Hình cô em đây:

    snapshot

    Nếu để ý trên hình sẽ thấy, mặc dù cô em khoác áo GNOME nhưng vẫn dùng được đồ KDE của chị (Kontact) và ngược lại. Như thế hay hơn là chỉ có một thứ.

    Đức vua hiện nay sủng ái cô chị Mandriva nhất. Hồi mới lập hậu cung, nghe thiên hạ đồn thổi người vời Ubuntu đầu tiên nhưng rồi chê vì hình thức màu mè xấu quá (hồi đó bản lĩnh người còn thấp chưa biết mua sắm trang điểm cho quý phi). Tiếp sau, có thời người sủng ái Kubuntu vì có nhiều nét hao hao giống hoàng hậu Windows. Bây giờ Mandriva với nền nếp gia phong dễ bảo lại xinh đẹp thì vượt lên không có gì là lạ.

    Còn sau này thì chưa biết.

    Ubuntu 9.04

    snapshot1

    Ubuntu là con gái nhà giàu mới nổi. Bố cô sau khi quăng một đống tiền đi du lịch vũ trụ về mới sinh ra cô. Tài kinh doanh, tổ chức của bố, tiền của bố và một chiến dịch lăng xê ngoạn mục đã làm cho Ubuntu nhanh chóng nổi như cồn. Chính nhà vua khi mới lập hậu cung cũng nghe đến tên Ubuntu đầu tiên. Đến bây giờ những kẻ chết mê chết mệt cô đông vô kể và đó chính là sức mạnh vô địch của cô. KDE 4.3 mới ra đời có mấy hôm đã có kẻ dâng lên cô rồi là một ví dụ. Đội ngũ fan người Việt cũng khá đông đảo và có một diễn đàn riêng (www.ubuntu-vn.org), cần gì lên đấy mà hỏi. Đó cũng là thế mạnh của Ubuntu ở cái xứ sở còn sơ khai về opensource này.

    Kho của hồi môn (repositories) của Ubuntu thừa kế từ cụ bà Debian và bổ xung liên tục đứng vào hàng nhất nhì thiên hạ. Ngay kho Việt nam cũng được chăm sóc cẩn thận hơn các cô khác. Khi đức vua nổi máu phiêu lưu muốn thử cái mới, bao giờ người cũng dùng Ubuntu. Gia đình giàu có, đội ngũ fan đông đảo, thông tin tràn lan trên Internet, Ubuntu dễ dàng giải quyết được những việc mới đề ra.

    Con gái nhà giàu mới lớn nên hơi khó bảo so với Mandriva. Có nhiều việc tề gia nội trợ bình thường, Mandriva có sẵn công cụ làm êm ru thì Ubuntu phải tìm kiếm cách làm, cài thêm công cụ,… hết hơi. Mặt khác vì là tầng lớp thượng lưu nên hay sợ điều tiếng, những cái gì không phải opensource là không dùng, báo hại người dùng phải tự bổ xung hơi bị mệt. Nhưng về lâu dài, tiềm năng của Ubuntu là vô địch và tương lai chắc còn sáng lạn.

    Cô em Kubuntu khoác bộ cánh KDE4 lộng lẫy cũng được cho ở chung với chị (System -> Administration -> Synaptic Package Manage rồi tìm cài kubuntu-desktop). Nếu muốn diện bộ áo mới nhất KDE 4.3 (vừa may xong hôm 4/8/2009) thì theo hướng dẫn ở đây. hoặc ở đây. Mặc áo xong, ra khỏi phòng (log out) rồi trước khi vào lại, ở màn hình Log in nhấn vào Options -> Sessions để chọn. Kubuntu mặc áo KDE4 không được nhuyễn như Mandriva. Dung nhan Kubuntu 9.04 với KDE 4.3 như thế này:

    snapshot2

    Sống chung nên hai cô có thể dùng lẫn đồ của nhau. Ubuntu có thể dùng Kontact viết cho KDE và ngược lại Kubuntu cũng dùng được Brasero vốn viết cho GNOME. Thực ra cái đó không phải là mới. Thời các cụ tổ Red Hat (còn miễn phí) và Mandrake, bộ CD cài có 5-6 đĩa, cài xong là có cả KDE và GNOME cùng một đống phần mềm hỗn hợp. Bắt đầu từ Ubuntu nhằm mục đích phổ biến cho nhanh, mọi thứ được co gọn lại về bộ cài một đĩa CD mới có sự phân biệt như ngày nay.

    Linux Mint 7

    Screenshot

    Trong 12 tháng qua (và kể cả trước đây), Linux Mint luôn đứng trong TOP 5 Người đẹp Linux Hoàn vũ. Về cô này đã có bài chi tiết trước đây. Khi cần giới thiệu người đẹp Linux với một người mới (bạn bè, người thân) đưa cô này ra là tiện nhất vì các lý do sau:

    • Mất độ 20 phút cài vào ổ cứng là xong. Hầu như không phải cài thêm gì (trừ bộ gõ tiếng Việt). Ubuntu và Mandriva phải cài bổ xung nhiều. Linux Mint con nhà bình dân không thượng lưu như Mandriva và Ubuntu nên không câu nệ tiểu tiết hay nói đúng hơn là không sợ điều tiếng. Cái gì cần là có không phân biệt cái đó có thuộc đẳng cấp mình (opensource) hay đẳng cấp khác (proprietary).
    • Giao diện nhẹ (GNOME) phù hợp với mọi cấu hình máy, thoáng, đẹp và menu dễ dùng.
    • Linux Mint cũng họ nhà Ubuntu. Do đó thừa hưởng được mọi ưu thế (và cả nhược điểm) của Ubuntu như đã nêu ở trên, nhất là phần hướng dẫn tiếng Việt cho người mới học. Mặt khác vì sinh sau nên Linux Mint có những phần bổ xung mà Ubuntu không có.

    PCLinuxOS 2009.2

    PCLinuxOS năm ngoái liên tục đứng trong TOP 5 Người đẹp Linux Hoàn vũ. Năm nay thì tụt hạng còn có thứ 7 nhưng vẫn còn có hạng. Con nhà nghèo (nhóm phát triển hoàn toàn là tình nguyện), bố mẹ lại lục đục nên cô chịu nhiều thiệt thòi. PCLinuxOS thuộc họ nhà Mandriva nên cũng thừa hưởng được nền nếp gia phong vốn có (Administration Center).

    snapshot1

    PCLinuxOS 2009.2 vẫn giữ nguyên bộ áo KDE3. KDE3 nhẹ hơn KDE4 dù không lộng lẫy bằng nhưng phát triển lâu nên khá chín, nhiều công cụ tiện ích bổ xung và chạy cũng nhanh hơn. PCLinuxOS cũng như Linux Mint có tính thực dụng cao nên cái gì cần là có và có khá nhiều tiện ích.

    PCLinuxOS có một bộ cánh GNOME khá độc đáo như thế này (cái theme này chắc cài được lên các bản GNOME khác):

    Screenshot

    Tuy nhiên hai cô này hơi khó ghép ở chung với nhau.

    Một trong những điểm chơi trội gần đây của PCLinuxOS là bản Firefox 3.5 vừa ra đời chỉ ít lâu sau đã được chính thức đươưa vào kho và tự động upgrade được. Các cô khác còn đang ngắm nghía, thử nên nếu muốn phải tự cài riêng từ ngoài vào.

    Thực tình trước đây openSUSE, Fedora, Debian, Mepis, DreamLinux, Knopix,… và thậm chí cả openSolaris cũng đã lần luợt đi qua hậu cung này. openSUSE dung nhan không có gì đặc biệt, nề nếp gia phong rất bài bản nhưng lại quá rắc rối khắt khe, Fedora và Debian dòng dõi lâu đời nhưng không có gì nổi bật đối với người dùng bình thường, Solaris là một nhánh trực hệ của cụ cố Unix, khó tính khó nết không chịu sống chung với các cô khác nên đều bị loại. Bởi vì mục đích lập hậu cung là thực dụng, không phải nghiên cứu.

    Những lúc vui đùa với đám mỹ nữ này, coi khinh các loại virus, nghĩ đến những kẻ đang mê muội bám đuôi bà lão Window mà thấy thương và ái ngại.

    (còn tiếp, nếu trời còn nóng).

    Lại mấy người khổng lồ chuyển sang dùng Linux

    Hệ thống phối hợp hỗ trợ chiến đấu của quân đội Mỹ (the Global Combat Support System-Joint GCSS-J)

    Cục Hệ thống thông tin Quốc phòng của quân đội Mỹ (The Defense Information Systems Agency DISA) chịu trách nhiệm về lập kế hoạch, phát triển, thử nghiệm, triển khai và hỗ trợ các hệ thống thông tin, viễn thông chỉ huy và điều khiển phục vụ cho Tổng thống, Phó tổng thống, bộ trưởng Quốc phòng, Tổng tham mưu trưởng liên quân, các tư lệnh chiến trường và các đơn vị khác của quân đội Mỹ trong mọi điều kiện thời chiến cũng như thời bình.

    Hệ thống phối hợp hỗ trợ chiến đấu GCSS-J do DISA phát triển là hệ thống tích hợp các nguồn thông tin hậu cần (logistics information) khác nhau. GCSS-J có khả năng cung cấp cho các tư lệnh chiến trường thông tin theo thời gian thực về vận tải, tiếp liệu, quân lực, bảo trì, y tế, tài chính và các hệ thống kỹ thuật phục vụ chiến đấu. Chi tiết xem tại đây.

    DISA đã chọn MetaMatrix Enterprise Data Services Platform của Red Hat làm hệ thống nền cho GCSS-J. Đây là một giải pháp của Red Hat cung cấp dịch vụ truy cập các nguồn dữ liệu đa dạng khác nhau cho phần mềm xây dựng theo kiến trúc hướng dịch vụ.

    Hãng bán lẻ khổng lồ Gap Inc.

    Gap Inc. là công ty đứng thứ 144 trong danh sách Fortune 500 năm 2007, sử dụng 150’000 nhân công tại 3100 chi nhánh trên toàn cầu. Để tân trang lại hạ tầng công nghệ thông tin, công ty đã tiến hành xem xét, thử nghiệm cả Unix, Windows và Linux. Kết quả Linux Red Hat được chọn như hệ điều hành nền cho toàn hệ thống.

    Tuy nhiên, để quản lý user trong hệ thống toàn cầu của mình, Gap dùng Active Directory của Microsoft (giống cách làm của ngân hàng HSBC, xem tại đây). Likewise, một giải pháp nguồn mở khác cho phép các user trên máy Linux, Unix,.. xác thực trong Active Directory, đã được sử dụng làm cầu nối giữa các hệ điều hành này.

    Như vậy cùng với WallMart, hãng bán lẻ lớn nhất và cũng là hãng đứng đầu Forune 500 2008 dùng SUSE Linux Enterprise (xem thêm tại đây) lại thêm một hãng trong Fortune 500 chuyển sang dùng Linux. Thông tin thêm về các hãng trong Fortune 500 dùng Linux xem tại đây. SUSE Linux Enterprise còn có một khách hàng lớn trong các hãng bán lẻ là Office Depot (xem tại đây)

    Hãng sản xuất thép Posco

    Posco là một trong những hãng sản xuất thép lớn nhất thế giới (30 triệu tấn/năm) có hơn 20’000 công nhân. Trước đây, hãng dùng các máy chủ Unix lớn và đắt tiền. Trong giai đoạn từ 2004-2009, hãng quyết định thay thế các máy chủ đã cũ đó bằng các máy chủ thương mại thông thường của IBM và HP. Hệ điều hành được chọn cho các máy chủ mới là Red Hat Enterprise Linux.

    Còn nữa, nhưng tạm thế đã.

    Netbook Việt nam chạy Linux song ngữ (Hacao Netbook)

    Site DesktopLinux.com vừa có bài giới thiệu Hacao Netbook. Tôi dịch lại để ủng hộ hàng nội và Hacao Linux. Trước đây có lần thử qua Hacao, ấn tượng nhất là chạy rất nhanh (bản thân Puppy vốn đã nhẹ chạy nhanh rồi). Lâu nay tưởng dự án Hacao tiêu rồi không ngờ vẫn sống và lại gắn được với netbook. Hacao netbook giá 5.5 triệu không phải là đắt nhưng hãng gốc Axioo hơi vô danh không rõ chất lượng, tuổi thọ thế nào. Để lúc nào rỗi điểm qua bản Hacao Linux 2009.

    Công ty công nghệ Linux Việt nam Hacao vừa cho ra đời netbook chạy phiên bản Hacao Linux 2009 CE song ngữ (Anh/Việt). Hacao Netbook dùng chip Atom của Intel, có màn hình 10 inch và ổ cứng 160GB.

    Được giới thiệu tại triển lãm Vietnam Computer Electronics World Expo 2009, Hacao netbook là một phiên bản của Pico netbook do hãng Axioo, Singapore chế tạo. Pico netbook lại là phiên bản có sửa đổi, không có Bluetooth của MSI Wind netbook.


    Hacao Classmate PC
    (Click for details)

    Năm 2007, Hacao đã tung ra phiên bản Việt nam hóa của Intel Classmate PC, mini-laptop dành cho giáo dục, là netbook sớm nhất trên thị trường. Hacao Classmate PC (xem ảnh bên phải) dùng chip Celeron 900MHz, màn hình 7 inch, chạy Hacao Linux, được chính phủ Việt nam đồng ý cho dùng trong nhà trường, theo công ty cho biết.


    Hacao Netbook có đối tượng rộng hơn, gồm cả doanh nghiệp và người tiêu dùng. Hacao cho biết tương đối ít thông tin chi tiết về netbook, nhưng có thể cho rằng nó không khác nhiều Pico netbook, dùng chip Intel Atom 1,6GHz có lẽ là model N270, 1GB RAM và có WiFi, Ethernet và camera.


    Hacao Netbook
    Một tính năng tiêu chuẩn của Axioo Pico không liệt kê dưới đây là có ba cổng USB, một đầu đọc flash card và một moden quay số. Điểm khác biệt lớn nhất là giá: Pico netbook cài Windows có giá trên 500USD trong khi Hacao netbook chỉ có 240USD.

    Các tính năng chính của Hacao netbook:

    • Processor — Intel Atom 1.6GHz
    • Memory — 1GB DDR2
    • Display — 10-inch WXGA screen; VGA port
    • Storage — 160GB SATA hard disk drive
    • Networking — 10/100 Ethernet
    • WiFi — Type not specified
    • Camera — 1.3-megapixel
    • Weight — 2.6 lbs. (1.2 kg)
    • Operating system — Hacao Linux 2009 CE

    Hacao Linux 2009 CE

    Hacao Linux 2009 CE là bản update lớn của Hacao 4.21 Pro. Cũng như Hacao Linux 2.01 ra đời năm 2006, Hacao Linux 2009 CE dựa trên Puppy Linux, nhưng có tổng dung lượng file 321MB, và nhiều tính năng hơn.



    Màn hình chính của Hacao Linux 2009 CE
    (Click to enlarge)

    Bổ xung chính là tích hợp đầy đủ hơn hai ngôn ngữ, chỉ một cú nhấn chuột là chuyển giữa bản tiếng Việt và bản tiếng Anh. Trong cả hai bản Việt và Anh, hỗ trợ toàn phần unicode trong các ứng dụng OpenOffice (có kiểm tra chính tả), Skype, Yahoo Chat, Gimp, Wine và Stardict.


    Menu cấu hình của Hacao Linux 2009 CE
    (Click to enlarge)

    Một nét đặc trưng khác của Hacao Linux 2009 CE là dễ kết nối với mạng Windows, cải thiện hỗ trợ WiFi và các tính năng tăng cường cho duyệt web, chat, thoại có hình.


    Các màn hình OpenOffice của Hacao Linux 2009 CE
    (Click to enlarge)

    Availability

    Hacao Netbook hiện có bán với giá $240 U.S. Nhiều thông tin hơn xem tại Hacao web page. Về netbook Axioo Pico xem tại  đây.

    Bản cài đặt Hacao Linux 2009 CE có thể download tại các site mirror của Puppy Linux (username là “puppy”, password là “linux”)  tại đây. Thông tin về bản linux này (có các ảnh màn hình -ND) xem tại đây.

    Eric Brown

    Điểm tin PMNM (22/7/2009)

    Microsoft liên tiếp nguồn mở hóa một số phần mềm

    Thứ hai, 20/7 vừa qua, Microsoft đã nguồn mở hóa 20 000 dòng mã lệnh của ba Linux driver thiết bị của hãng cho cộng đồng phát triển nhân Linux. Các driver này sẽ được tích hợp vào Linux kernel 2.6.32 giúp cho Linux OS chạy nhanh hơn trong máy ảo Hyper-V Server 2008 hoặc Windows Server 2008 R2 Hyper-V. Các driver này được nguồn mở hóa theo giấy phép GPL2 và đây là lần đầu Microsoft dùng giấy phép này.

    Sam Ramji, giám đốc chiến lược công nghệ nguồn mở của Microsoft gọi hành động trên là cam kết quan trọng nhất chưa từng có của công ty đối với Linux và phần mềm nguồn mở.

    Động thái này tạo nên hy vọng là các công ty khác cũng theo gương Microsoft nguồn mở hóa các driver của họ.

    Tiếp theo, thứ ba 21/7, Microsoft lại nguồn mở hóa tiếp Live Services Plug-in cho phần mềm quản lý giảng dạy nguồn mở Moodle. Moodle dùng tổ chức các website học online trên Internet và hiện có khoảng 30 triệu người dùng.

    Adobe nguồn mở hóa các công cụ phát triển ứng dụng cho Flash.

    Adobe đang lập kế hoạch để nguồn mở hóa hai sản phẩm : OSMF (Open Source Media Framework) và Text Layout Framework. OSMF cho phép xây dựng các trình chơi multimedia (media player) trên nền Flash. Các cá nhân cũng có thể bổ xung các tính năng mới vào Flash Player. Text Layout Framework cho phép người dùng “làm mọi thứ mình muốn với text để cho nó thực sự cool hơn trên nền Flash”.

    Đây được đánh giá là một đòn tấn công của Adobe nhằm giành ưu thế cho Flash trước đối thủ cạnh tranh là Microsoft Silverlight.

    Trước đây, Adobe đã nguồn mở hóa một số công nghệ Flash: Flex và bộ dịch, máy ảo Tamarin.

    Bang Connecticut xây dựng hệ thống thông  tin y tế dựa trên một phần nguồn mở.

    Công ty dịch vụ y tế Hartford Healthcare tuyên bố sẽ tổ hợp công nghệ kết nối nguồn mở của Misys với hệ thống lưu trữ hồ sơ y tế Allscripts để tạo nên hệ thống Transforming Healthcare In Connecticut Communities (THICC), một hệ thống kết nối các bệnh viện, phòng khám và các cơ sở y tế khác trong toàn bang Connecticut.

    THICC được kết nối vào hệ thống Thông tin Y tế Quốc gia, xây dựng trên nền phần mềm của Sun.

    Các module điều khiển tàu vũ trụ Apollo 11 được nguồn mở hóa

    Các phần mềm đã giúp con người đổ bộ lên Mặt trăng đã được trao cho cộng đồng nguồn mở để kỷ niệm 40 năm sứ mệnh Apollo 11.

    Apollo 11 command module is released to open source

    Chương trình Apollo 11 gồm có hai tàu vũ trụ: module chỉ huy ( Command Module (CM)) dùng đưa ba nhà du hành vũ trụ lên mặt trăng rồi quay về và module mặt trăng ( Lunar Module (LM), dùng chở hai nhà du hành vũ trụ đổ bộ xuống mặt trăng.

    Trên mỗi con tàu trên có một máy tính  Apollo guidance computer (AGC) . Phần mềm khác với ngày nay được ghi trên băng đục lỗ và bìa đục lỗ.

    Các nhà lập trình của dự án AGC ảo scan các băng và bìa đục lỗ được lưu tại bảo tàng MIT rồi tạo nên một phần mềm mô phỏng AGC, phần mềm này có thể chạy trên Linux. Windows XP và Mac OS.

    Mã nguồn hiện được đặt tại Google Code. Nó tái tạo lại bảng điều khiển mà các nhà du hành vũ trụ đã dùng để bay và hạ cánh xuống mặt trăng.

    //

    Hệ điều hành Google Chrome, một bước tiến dần đến điện toán đám mây

    Ngày 7/7/2009, Google công bố trên blog chính thức của hãng về kế hoạch xây dựng hệ điều hành nguồn mở Google Chrome OS trước mắt dành cho netbook vào cuối năm 2010. Tin này lập tức gây nên một trận động đất trên các phương tiện truyền thông vì đây là lần đầu tiên một người khổng lồ tin học công khai lấn sân của Microsoft trong lĩnh vực hệ điều hành. Mới có 3 hôm nhưng gúc cụm từ “Chrome OS” cho 21 triệu kết quả!

    Ngoài khía cạnh kinh doanh nói trên, đây là một bước nữa tiến dần đến thời đại điện toán đám mây đã được trình bày trong một post trước. Dưới đây điểm qua vài nét, tất cả đều xoay quanh việc vào Internet không chỉ để “lướt web” mà để kết nối vào một rừng máy chủ, làm việc thật sự.

    Theo công bố trong blog nói trên, Google Chrome OS là một hệ điều hành nguồn mở, nhẹ (lightweigh) sẽ có mặt trên các netbook vào nửa sau năm 2010 và sau này là trên các máy PC. Ba đặc điểm chính là nhanh, đơn giản và an toàn (Speed, simplicity and security).

    Đơn giản bởi vì nền tảng chạy ứng dụng đã chuyển chỗ. Cho đến hiện nay, các ứng dụng chạy trên nền hệ điều hành của máy trạm. Vì vậy, hệ điều hành càng ngày càng phức tạp để có thể cung cấp được nhiều dịch vụ cho các ứng dụng. Trong tương lai, các ứng dụng chạy trên các máy chủ Internet và giao diện với người dùng qua trình duyệt (web-based), hệ điều hành trên máy trạm chỉ còn cần chủ yếu để chạy trình duyệt và các công nghệ bên dưới nó. Phần ứng dụng chạy trên máy trạm là chạy trên nền web. Những giao diện đẹp và nặng nề hiện nay cũng không còn cần thiết nữa vì giao diện của ứng dụng sẽ được cung cấp từ Internet. Giao diện của hệ điều hành bây giờ sẽ là trình duyệt web. Google Chrome OS không phải để cài các bộ Office nặng nề, những bộ Office đó đã có sẵn trên Internet (Google Docs, Zoho Office, Thinkfree Office, v.v…). Điều đó cũng sẽ đúng cho các ứng dụng khác: Chỉnh sửa ảnh, Quản lý dự án, Kế toán, v.v..

    Cũng vì đơn giản nên tất nhiên là sẽ nhanh. Thời gian khởi động và tắt hệ điều hành chỉ còn vài giây như bật tắt Tivi.

    Với một công dụng mới như vậy, đương nhiên hệ điều hành cần phải được thiết kế lại từ đầu. Google nói rằng khi thiết kế mới, họ sẽ chú ý đến kiến trúc an ninh nền tảng bên dưới. Ta có thể hy vọng rằng trước mắt, số lượng khổng lồ các malware chạy trên Windows sẽ không còn đất dụng võ. Còn về lâu dài, cái gì con người làm ra, con người cũng phá được. Nhưng có lẽ sẽ khó hơn và không tồi tệ như đại dịch virus hiện nay.

    Google nói rằng họ lắng nghe và đáp ứng ý kiến người dùng. Người dùng muốn:

    • Bật máy tính lên là có email ngay, không phải chờ khởi động lâu: Điều này dĩ nhiên vì với hệ điều hành khởi động chỉ có vài giây, giao diện là trình duyệt lại đặt trang chủ là Gmail chẳng hạn thì không khó khăn gì.
    • Máy tính lúc nào cũng chạy nhanh như lúc mới mua: Điều này cũng hiển nhiên vì mọi thứ đều lưu trên máy chủ Internet, hầu như chẳng có dữ liệu gì lưu lại trên ổ cứng. Ổ sẽ không bị phân mảnh, không có hàng đống file rác, không có các registries ngày càng phình to, tìm kiếm mất thì giờ. Chỉ còn cache trình duyệt tự động xóa sau mỗi lần tắt máy và một số nội dung offline.
    • Dữ liệu có thể truy cập được từ bất cứ đâu, không phải lo lắng mất máy tính, hỏng ổ cứng hoặc quên backup: Dữ liệu lưu trên các máy chủ Internet đáp ứng yêu cầu đó.
    • Không mất thì giờ cấu hình máy và cập nhật phần mềm.

    Thực ra ý tưởng hệ điều hành web không phải mới. Trong post này có giới thiệu một sản phẩm của Asus đi theo hướng đó dùng công nghệ Splashtop. Google gây được tiếng vang lớn vì cái tầm vóc khổng lồ của họ.

    Nhưng Google Chrome OS không thể thành công riêng lẻ. Nó chỉ là một khâu trong điện toán đám mây. Thành công của nó còn phụ thuộc vào:

    • Hạ tầng Internet: các công nghệ truyền dẫn mới tốc độ cao, các điểm truy cập Internet nhanh, ổn định, giá rẻ hoặc miễn phí có ở khắp nơi.
    • Các công nghệ nền và công cụ để phát triển ứng dụng web nhanh, dễ. Số lượng các ứng dụng web lớn và có tính năng đủ đáp ứng người dùng thay thế được cho các ứng dụng chạy trên PC hiện tại.
    • Thói quen và niềm tin của người dùng khi “dựa” toàn bộ vào Internet. Ví dụ: soạn văn bản là nghĩ ngay tới Zoho Writer.

    Với hiện trạng của ba yếu tố trên, Chrome OS chưa thể thành công trong một vài năm tới.