Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

2/17/10

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 Moblin và Netbook 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?


Có 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.





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 Moblin và Netbook 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

You would be forgiven for thinking that there are just two environments for the Linux desktop, but of course there are dozens. While a select few enjoy most of the spotlight, one very special window manager has been plodding away for over a decade. It is called Enlightenment.

Enlightenment (known simply as “E”) is more than just a window manager, it is in fact a complete suite of graphical libraries. It can be used on its own as a complete desktop environment, or in conjunction with another. The current development tree (E17) has been a work in progress since December 2000 and is a complete rewrite of the current stable release, E16. Although not yet finalised, E17 is extremely usable and as such various new distributions have been making it available.

One such distro is moonOS, an operating system originating in Cambodia and created by artist Chanrithy Thim. As such, the distribution features some amazing original artwork. E17 is not included in the official Ubuntu repositories and so moonOS is unique in that it offers this environment as well as one based on Xfce4. The distro is able to run GTK applications and comes with a carefully chosen selection of programs for every day work, such as Firefox, OpenOffice.org, Exaile music player, GIMP and Pidgin chat program.

moonOS E17 desktop and artwork
moonOS E17 desktop and artwork

moonOS show cases the outstanding work done on E17, coupled with amazing original artwork. It’s a great distribution to download and show to friends.

wattOS

Things are certainly changing in the computer industry these days. Focus has shifted from power hungry super charged CPUs to highly efficient, low power systems. While the Linux kernel has excellent power management and there are several excellent applications such as PowerTop for managing power hungry systems, how about a distribution dedicated entirely to power efficiency?

Meet wattOS. What OS? No, wattOS. A 32bit distribution devoted to being a super fast, light weight, power efficient operating system. Once again, this distribution comes with a different desktop environment, namely Openbox. Openbox is a very lightweight, highly customisable desktop environment, well suited to older machines (and therefore lower power consumption in faster processors).

It comes with the latest software from Ubuntu, but also includes various power management tools to help monitor and tweak the system’s power usage. The interface is simple to use and can be modified to suit various tastes. Extra applications are of course available, meaning wattOS can be used as great base distro to build upon.

wattOS LXDE desktop
wattOS LXDE desktop

wattOS is a great alternative to others minimal distributions such as Damn Small Linux and Tiny Core, especially for older recycled computers. Its small memory footprint for the desktop environment mean that it can run nice and lean, while still providing added flexibility of installing standard Ubuntu packages.

Open your mind

It’s easy to think that one size fits all, but that’s simply not true. The excellent base of Ubuntu, inherited from Debian, has spawned a great number of derived distributions, some generic, some highly niche.

These distributions above have all popped up in the last year or so and are true gems. They show how wide and varied the motivation for building a new distro can be, from forensics and digital media to specific desktop environments, netbooks and energy efficiency. The results speak for themselves and testifies to the flexible nature of Linux. Sometimes it pays to keep an eye out on what’s new, because you might just find the perfect little gem you’ve been longing for.





/home/zxc/Dropbox/Bai viet blog/Năm bản Linux hay dựa trên Ubuntu.odt Page10of10


2/6/10

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.

Và đâ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.

1/21/10

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 authentication - I&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.




12/21/09

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.


Có 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, Bad và Ugly. 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 SMplayer và VLC 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.




12/9/09

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.



12/4/09

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.


Có 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)







/home/zxc/DATA/Mydocuments/Dropbox/Bai viet blog/Hệ thống multimedia trong Linux.odt Page4of4




11/24/09

Đ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




11/18/09

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.