tài liệu về phần mềm nguồn mở

Chia sẻ: Nguyen Hong Quan | Ngày: | Loại File: DOC | Số trang:38

0
70
lượt xem
23
download

tài liệu về phần mềm nguồn mở

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Quay lại thời điểm năm 1997, Bruce Perens, một lập trình viên hệ điều hành Linux, đã có một bài viết liên quan đến việc phân phối và phát triển phầm mềm Linux Debian. Sau đó ông không sử dụng Debian làm nguồn tham chiếu nữa và ông chính là người đưa ra khái niệm nguồn mở.

Chủ đề:
Lưu

Nội dung Text: tài liệu về phần mềm nguồn mở

  1. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - Chương 1: Tổng quan về phần mềm nguồn mở 1, Định nghĩa phần mềm nguồn mở 1.1, Lịch sử hình thành Quay lại thời điểm năm 1997, Bruce Perens, một lập trình viên hệ điều hành Linux, đã có một bài viết liên quan đến việc phân phối và phát triển phầm mềm Linux Debian. Sau đó ông không sử dụng Debian làm nguồn tham chiếu nữa và ông chính là người đưa ra khái niệm nguồn mở. Trong khái niệm này, phần mềm nguồn mở được phân phối miễn phí, không mất tiền bản quyền, mã nguồn của các phầm mềm phải được công bố và những bổ sung thêm vào mã nguồn từ phía người dùng cũng s ẽ đ ược công bố. Nguồn mở có thể nói với phong trào phần mềm miễn phí do Richard Stallman phát động năm 1983 nhằm cổ động việc tự do phân phối phần mềm không bị ràng buộc bởi những quy định phân phối độc quyền. Những quy định phầm mềm miễn phí đã được hệ thống hóa trong giấy phép công cộng GPL từ 10/2006 phiên bản thứ 3 đang được sửa đổi. Hiện nay có rất nhiều giấy phép chứng nhận sáng kiến nguồn mở (Open Source Initiative), mỗi giấy phép lại có những quy định riêng yêu cầu các công ty phải kiểm tra kỹ càng trước khi sử dụng phầm mềm nguồn mở. Những quy định này rất thoải mái đôi với người dùng chỉ có ý định sử dụng phầm mềm nguồn mở còn ngoài ra nếu dùng đ ể phân phối lại thì các quy định lại rất chặt chẽ nhằm tránh các vấn đề vi phạm bản quyền có thể xảy ra. 1.2, Định nghĩa phần mềm nguồn mở: Phầm mềm mã nguồn mở (PMMNM) là phần mềm cho phép người dùng có thể down-load mã nguồn kèm theo sản phẩm sử dụng. Dựa vào mã nguồn này, người dùng co thể xây dựng lại sản phẩm từ mả nguồn có sẵn. Ứng dụng nổi tiếng nhất của mã nguồn mở là Linux, người dùng có thể lấy về mã nguồn, biên dịch hay tinh chỉnh l ại thành hệ đều hành của riêng mình. 2, Giới thiệu môn học Phần mềm nguồn mở 3, Ưu nhược điểm khi sử dụng phần mềm nguồn mở 3.1, Ưu điểm Lợi ích của PMNM thể hiện rõ nhất ở tính kinh tế của nó, sử dụng PMNM thực sự đã tiết kiệm được khoản tiền khổng lồ. Song đó không phải là tất cả, bởi đôi khi --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -1-
  2. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - lựa chọn phần mềm, người ta không quá chú trọng duy nhất vào vấn đề kinh phí, cái mà họ quan tâm là tiện ích sử dụng, chất lượng phần mềm. Xét về mặt này PMNM có những ưu việt đáng kể như: Tính an toàn; Tính ổn định/ đáng tin cậy; Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp; Giảm phụ thuộc vào nhập khẩu; Phát triển năng lực ngành công nghiệp địa phương; Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ; tính tuân thủ WTO; Nội địa hoá. Về tính an toàn: Thực tế cho thấy không hề tồn tại một hệ điều hành nào mà tính an toàn của nó được hoàn hảo. Song, so với PMNĐ thì PMNM ưu việt hơn hẳn về độ an toàn, bởi vì: Thứ nhất, mã nguồn được phổ biến rộng rãi giúp người lập trình và người sử dụng dễ phát hiện và khắc phục những lỗ hổng an toàn trước khi chúng bị lợi dụng. Các PMNM thường có quy trình rà soát chủ động chứ không phải rà soát đối phó. Thứ hai, ưu tiên tính an toàn đặt trên tiêu chí tiện dụng. Trước khi thêm bất cứ tính năng nào vào ứng dụng PMNM, bao giờ người ta cũng cân nhắc đến khía cạnh an toàn và tính năng đó sẽ chỉ được đưa vào nếu không làm yếu đi tính an toàn của hệ thống. Thứ ba, các hệ thống PMNM chủ yếu dựa trên mô hình của Unix, nhiều người sử dụng, thuận tiện cho kết nối mạng. Vì vậy, chúng được thiết kế với một cấu trúc an toàn bảo mật cao, để một người sử dụng bất kỳ không thể đột nhập vào máy chủ, ăn trộm dữ liệu cá nhân của người khác hoặc làm cho mọi người không thể tiếp cận được với các dịch vụ do hệ thống cung cấp. Về tính ổn định / đáng tin cậy: Các PMNM nổi tiếng là ổn định và đáng tin cậy. Đây là kết luận rút ra sau khi các nhà nghiên cứu đã tiến hành thử nghiệm so sánh với các PMNĐ khác. Các chuẩn mở và việc không phải lệ thuộc vào nhà cung cấp : PMNM thực chất dựa trên ba trụ cột “mở”: Nguồn mở, chuẩn mở, nội dung mở. PMNM luôn sử dụng các chuẩn mở bởi hai lý do sau : Một là sẵn có mã nguồn. Với mã nguồn phổ biến công khai, người ta lúc nào cũng có thể tái thiết kế và tích hợp lại bộ chuẩn của một ứng dụng. Mọi khả năng tùy biến đều đã thể hiện rõ trong mã nguồn, khiến không ai có thể dấu một chuẩn riêng trong một hệ thống PMNM. Hai là chủ động tương thích chuẩn. Khi đã có những chuẩn đã được thừa nhận rộng rãi thì các dự án PMNM luôn chủ động bám sát những chuẩn này. Đặc biệt, khi sử dụng các sản phẩm PMNM, người sử dụng không còn phải lệ thuộc vào nhà cung cấp nữa. Giảm lệ thuộc vào xuất khẩu: Trước kia, mỗi quốc gia đang phát triển muốn có một phần mềm đóng thì họ phải trả chi phí khổng lồ để có được giấy phép sử dụng --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -2-
  3. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - chúng. Điều này làm tiêu hao quỹ dự trữ ngoại tệ quốc gia. Giải pháp PMNM ra đời đã giúp các quốc gia này dễ dàng giải quyết khó khăn vừa nêu. Phát triển năng lực ngành công nghiệp phần mềm địa phương : Phát triển PMNM tạo năng lực đổi mới của một nền kinh tế. Bởi vì PMNM, theo nguyên lý khuyến khích sửa đổi và lưu hành tự do, rất dễ tìm, dễ sử dụng và dễ học hỏi. PMNM cho phép các nhà lập trình phát huy kiến thức và những nhân tố hiện có để tiếp tục sáng tạo nên những phần mềm mới, giống như phương pháp tiến hành nghiên cứu cơ bản. Bản chất mở và tính phối hợp cao của quy trình phát triển PMNM cho phép người học có thể tìm hiểu và thí nghiệm với các khái niệm phần mềm mà hầu như không gây tốn kém trực tiếp cho xã hội. Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ và tính tuân thủ WTO : Tỷ lệ sao chép phần mềm trên thế giới nói chung là rất cao, ngay cả ở những nước phát triển cũng vậy, như Mỹ là 24%, châu Âu là 35%. Nạn sao chép phần mềm này làm thiệt hại cho các quốc gia trên nhiều phương diện. PMNM ra đời là giải pháp hữu ích cho vấn đề này. Bản địa hoá: Đây là lĩnh vực mà PMNM tỏ rõ nhất ưu thế của mình. Người sử dụng PMNM có thể tự do sửa đổi để phần mềm trở nên thích ứng với những nhu c ầu riêng biệt của một khu vực văn hoá đặc thù, bất kể quy mô kinh tế của khu vực đó. Chỉ cần một nhóm nhỏ những người có trình độ kỹ thuật là đã có thể tạo ra một phiên bản nội địa ở mức thấp cho bất cứ PMNM nào. 3.2, Nhược điểm Không tồn tại phần mềm nào hoàn hảo và thích hợp cho mọi tình huống, PMNM cũng còn những hạn chế nhất định, đó là : Thiếu các ứng dụng kinh doanh đặc thù: Mặc dù có rất nhiều dự án PMNM đang được tiến hành, vẫn còn nhiều lĩnh vực chưa có một sản phẩm phần mềm hoàn thiện, đặc biệt là trong kinh doanh. Đó là do thiếu những người vừa giỏi về kỹ thuật lại vừa thạo về kinh doanh. Tính tương hỗ với các phần mềm đóng: Các PMNM nhất là khi cài trên máy để bàn, thường không hoàn toàn tương thích với PMNĐ. Đến lúc nào đó, khi các công ty đã chuyển từ hệ thống chuẩn đóng sang chuẩn mở thì vấn đề này sẽ được khắc phục. PMNM thiếu mất tính tiện dụng vốn là đặc trưng của phần mềm thương mại. Ngoài việc thiếu vắng một hệ thống hỗ trợ có chất lượng cao thì giao diện đồ họa với người sử dụng (GUI – Graphical User Interface) của PMNM cũng không thân thiện. Vì giao diện đồ họa trong đa số các hệ thống PMNM không phải là một nhân tố riêng lẻ --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -3-
  4. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - mà là một tập hợp kết quả từ nhiều dự án khác nhau, các yếu tố của giao diện thường hoạt động theo trình tự rất khác nhau. Chỉ riêng lệnh “lưu dữ liệu” của chương trình này cũng đã khác chương trình kia, đây là điểm khác biệt so với các hệ điều hành nguồn đóng như Microsoft Windows. Mặc dù khá nhiều công sức đang được bỏ ra để thống nhất giao diện cho các chức năng cấu thành nhưng hệ điều hành PMNM có thể sẽ vẫn ở tình trạng thiếu đồng bộ trong một thời gian nữa. Phần mềm nguồn mở bạn phải tự xử lý. Bạn có thể tải về, sử dụng phầm mềm miễn phí nhưng chi phí đào tạo sử dụng cũng như bảo trì thường tốn kém hơn so với các phầm mềm thương mại khác. Sẽ không có sự hỗ trợ. Ở thời kỳ đầu của nguồn mở, khi chỉ có một nhóm các tình nguyện viên hay “các cộng đồng” đảm nhiệm việc hỗ trợ và phát triển nguồn mở, việc nhận được sự hỗ trợ đầy đủ là một khó khăn. Tuy nhiên khi hiện nay cộng đồng các lâp trình viên nguồn mở đã rất đông đảo kể cả những công ty như HP hay IBM cũng có hỗ trợ cho các dự án nguồn mở lớn, liệu những hỗ trợ này cho các doanh nghiệp có là đủ. Phát triển các tính năng mới của phầm mềm nguồn mở lâu hơn so với phần mềm thương mại. Điều này phụ thuộc phần lớn vào loại phần mềm bạn đang sử dụng. Như trình duyệt Firefox là một ví dụ về tốc độ phát triển của phần mềm nguồn mở để đáp ứng nhu cầu của người sử dụng. Nhưng việc Linux đi sau Windows trong hỗ trợ các công nghệ USB lại là một ví dụ khác. Các vấn đề pháp lý không rõ ràng. Quá nhiều giấy phép nguồn mở cũng như thực tế là mã nguồn mở do người dùng cuối các sản phẩm đóng góp khiến các công ty e ngại khi sử dụng trong doanh nghiệp. Để giải quyết phần nào lo lắng này, các công ty có thể cùng đại diện pháp lý của mình xem xét kỹ càng các giấy phép nguồn mở. Một số nhà cung ứng nguồn mở và các bên thứ ba cũng đưa ra các giải pháp bồi thường thiệt hại, liệu phần mềm nguồn mở bạn đang dùng có liên quan đến vụ kiện nào không. Tuy nhiên, cùng với sự phát triển của PMNM, tất cả những hạn chế này sẽ dần được khắc phục. 4, PMNM Việt Nam: 4.1, Hiện trạng sử dụng PMNM ở Việt Nam hiện nay: Trong những năm qua, Chính phủ Việt Nam đã chủ trương tích cực tham gia các hoạt động về PMNM trong khu vực và trên thế giới. Cụ thể đã triển khai tổ chức rất nhiều cuộc hội thảo, toạ đàm, đối thoại về PMNM trong nước, tham gia diễn đàn châu Á về PMNM…. Điều này giúp chúng ta tranh thủ tiếp cận và tận dụng được tri thức và --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -4-
  5. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - tài sản trí tuệ cộng đồng PMNM trên thế giới một cách nhanh chóng, hiệu quả, đ ồng thời có thể thừa hưởng và học tập kinh nghiệm của các nước. Kết quả là PMNM ở Việt Nam cũng tương đối phát triển. Sự phát triển này thể hiện ở việc Bộ Khoa học và Công nghệ (KH&CN) bắt đầu cho triển khai thực hiện dự án tổng thể “Ứng dụng và phát triển PMNM ở Việt Nam giai đoạn 2004 - 2008”. Bộ Giáo dục và Đào tạo đã ký thoả thuận với Sun về sử dụng Star Office là bước đệm quan trọng trong việc chuyển sang các ứng dụng nguồn mở trong ngành Giáo dục. Một số trường đã có kế hoạch sử dụng hệ điều hành Linux trong công tác giảng dạy và học tập như: Đại học Quốc gia Hà Nội, Đại học Cần Thơ, Đại học Huế. Ngày 17-1-2006, tại trường Đại học Bách Khoa Hà Nội đã diễn ra lễ ký kết biên bản ghi nhớ Hợp tác giữa Bộ KH&CN và Trường Đại học Bách Khoa Hà Nội về việc hợp tác thành lập Trung tâm nguồn lực về PMNM Việt Nam. Một số tổ chức như Văn phòng Trung ương Đảng, Trung tâm APTECH, một số công ty cũng đã có những định hướng và cam kết tham gia vào phát triển các ứng dụng PMNM, trong đó nổi bật có công ty Vietsoftware đã ứng dụng “Cổng thông tin điện tử” trên nền nguồn mở, bắt đầu ở Hà Nội, nay đã nhân rộng cho hơn 10 tỉnh, thành trên cả nước. Từ năm 2005, Bộ Giáo dục và Đào tạo đã đưa nội dung thi về PMNM thành nội dung chính trong cuộc thi Olimpic tin học sinh viên Việt Nam được tổ chức hàng năm. Đây cũng là dấu ấn quan trọng trong phát triển PMNM ở Việt Nam. Tuy nhiên trên thực tế, việc phát triển PMNM tại các công ty máy tính ở nước ta còn gặp rất nhiều khó khăn. Một trong những nguyên nhân là do sức ép bản quyền chưa đủ mạnh để PMNM phát triển. Hiện nay, tỉ lệ vi phạm bản quyền phần mềm của Việt Nam được cảnh báo ở mức cao nhất thế giới. Việc dễ dàng mua một PMNĐ cần thiết chứa trong đĩa CD chỉ với giá 10.000đ làm cho PMNM hầu như không được người dùng quan tâm. 4.2, Giải pháp cho PMNM Việt Nam: Thấy rõ những tiện ích của việc sử dụng PMNM, Quyết định của Thủ tướng chính phủ Phê duyệt Dự án tổng thể “Ứng dụng và phát triển PMNM ở Việt Nam giai đoạn 2004 – 2008” đã đề ra các giải pháp cụ thể cho vấn đề này như sau: 1. Nâng cao nhận thức trong cộng đồng về bảo vệ bản quyền phần mềm và ích lợi của PMNM trong việc phát triển công nghệ thông tin ở nước ta nói chung và công nghiệp phần mềm nói riêng. 2. Thực thi nghiêm ngặt việc thực hiện bản quyền phần mềm. 3. Tổ chức đánh giá mức độ ảnh hưởng, giải pháp liên quan đến việc chuyển đổi sang sử dụng PMNM trong khu vực Nhà nước cũng như tính tương thích của các ứng --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -5-
  6. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - dụng PMNM với các sản phẩm phần mềm thương mại. Tổ chức nghiên cứu, thực nghiệm và nhân rộng ứng dụng một số PMNM. 4. Đào tạo về PMNM trong hệ thống giáo dục và các cơ sở đào tạo. 5. Phát triển và duy trì các PMNM cốt lõi có lợi ích chung cho cộng đồng và hình thành các tiêu chuẩn quốc gia về PMNM. 6. Phát triển mô hình kinh doanh PMNM, đặc biệt là các hoạt động dịch vụ chuyên nghiệp hỗ trợ PMNM. 7. Kinh phí phục vụ cho ứng dụng và phát triển PMNM nói chung và các tiểu dự án được huy động từ các nguồn khác nhau của các doanh nghiệp, cá nhân, tổ chức quốc tế, ODA và ngân sách nhà nước. 4.3, Sử dụng PMNM ở trong lĩnh vực thông tin - thư viện ở Việt Nam: Thực hiện Quyết định của Thủ tướng Chính phủ, Trung tâm Thông tin KH&CN Quốc gia thuộc Bộ KH&CN đã triển khai nghiên cứu và sử dụng PMNM phục vụ cho vấn đề tin học hoá trong lĩnh vực thông tin thư viện. Trong năm 2004, 2005 Trung tâm đã phối hợp với Ban quản lý dự án PMNM thuộc Bộ KH&CN tổ chức các l ớp học về PMNM, cụ thể là hướng dẫn cài đặt và sử dụng hệ điều hành Linux, Openoffice. Trong tương lai, có thể Trung tâm sẽ khuyến khích sử dụng Openoffice thay cho Microsoft Word trong toàn bộ hệ thống máy tính của các phòng làm việc trong cơ quan. Nghiên cứu, ứng dụng và đưa vào nội dung giảng dạy các PMNM đang là một trong những hướng đi quan trọng của Trung tâm. Trong thời gian qua, Trung tâm đã nghiên cứu, phổ biến hai PMNM ứng dụng trong hoạt động thông tin thư viện: đó là phần mềm Zope và Greenstone. Phần mềm quản lý thư viện điện tử Greenstone (Greenstone Digital Library) có thể tải từ địa chỉ http://www.greenstone.org và sử dụng theo các điều khoản quy định trong giấy phép (General Public Licence – GPL). Tuy nhiên, để có thể Việt hoá và xây dựng được các modun liên hoàn trong phần mềm này ở Việt Nam còn cần phải có thời gian cho nghiên cứu và thử nghiệm. PMNM ZOP (Z object Publishing Environment) là phần mềm dùng trong môi trường xuất bản điện tử. Phần mềm này có thể lấy từ địa chỉ: http://www.zope.org. Các cán bộ Phòng Tin học của Trung tâm đã nghiên cứu và ứng dụng phần mềm ZOP cho việc xuất bản các ấn phẩm điện tử và xây dựng CSDL toàn văn, nhằm đáp ứng kịp thời nhu cầu truy cập và cung cấp thông tin KH&CN dưới dạng điện tử của người dùng tin trong cả nước. 5, Thắc mắc liên quan đến phần mềm nguồn mở --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -6-
  7. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - 5.1, Tôi nên bắt đầu như thế nào với nguồn mở? Ngày nay, hầu như mọi loại phần mềm doanh nghiệp từ e-mail server đến các công cụ ERP, VoIP đều có dạng nguồn mở. Nhưng nhiều công ty bắt đầu sử dụng nguồn mở trên các trang web của doanh nghiệp với nhiều ứng dụng mạnh. Những công cụ này thường được gọi là gói LAMP (gồm có Linux, Apache, MySQL, PHP). Linux là một hệ điều hành giống Unix khá nổi tiếng và phổ biến hiện nay. Apache là server web phổ biến hiện nay. MySQL là hệ quản trị cơ sở dữ liệu, đối thủ nặng ký của các phần mềm quản trị cơ sở dữ liệu thương mại đắt tiền hiện nay. PHP, Perl và Python là ngôn ngữ lập trình được dùng nhiều trong phát triển web nguồn mở. Các trang web nguồn mở sử dụng Java cũng thường sử dụng Jboss Java. Một khi bạn đã quen thuộc với các công cụ nguồn mở, nắm được điểm khác biệt cũng như điểm giống nhau giữa phần mềm nguồn mở và phần mềm thương mại, bạn có thể sẽ có những lựa chọn khác. 5.2, Các ứng dụng server hoạt động ổn định, nhưng còn nguồn mở trên desktop thì sao? Người sử dụng cuối thường sử dụng các công cụ nguồn mở trên desktop như trình duyệt web Firefox. Bộ phần mềm văn phòng OpenOffice của Sun hiện cũng đang được một số công ty và cơ quan chính phủ sử dụng thay thế cho Office của Microsoft. Tuy một số doanh nghiệp đã chuyển sang sử dụng hệ điều hành nguồn mở trên desktop như Linux nhưng Microsoft vẫn đang độc chiếm thị trường này. Phiên bản thân thiện với người dùng của Linux như LinSpire vẫn chưa thể đánh bật được các hệ điều hành của Microsoft với nguyên nhân thường là do những lo lắng về thời gian và chi phí đào tạo người sử dụng cuối cũng như thực tế là hầu hết các gói phần mềm thương mại mà các công ty sử dụng đều được phát triển tương thích với Windows trước, sau đó mới là đến Linux. 5.3, Tôi có thể bán các sản phẩm nguồn mở được không? Dĩ nhiên là có nhưng trong sáng kiến nguồn mở đã nói rõ: “Bạn không thể cấm người khác bán mã của bạn được.” Nhiều công ty đã kinh doanh với mã nguồn mở. Một số đưa thêm các dịch vụ vào mã nguồn, đưa thêm tùy chọn hỗ trợ cấp doanh nghiệp để các doanh nghiệp sẵn sàng bỏ tiền mua sản phẩm. Một số khác giữ nguyên 2 phiên bản mã: một là mã nguồn mở, một là phiên bản nâng cao có bổ sung thêm một s ố tính năng cao cấp hơn. Mô hình kết hợp này ngày càng trở nên phổ biến, nhiều công ty như SourceFire, SugerCRM, Alfresco hay nhiều công ty khác cũng đang áp dụng mô hình này. 5.4, Các sản phẩm mã nguồn mở là miễn phí Khái niệm miễn phí trong PMMNM có thể là: --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -7-
  8. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - Miễn phí sử dụng (cho mục đích lợi nhuận hay phi lợi nhuận) Miễn phí đóng gói chung với các sản phẩm khác Miễn phí hòan tòan (người sử dụng có thể đem bán sản phẩm, sử dùng mã nguồn cho các mục đích của mình v.v.) PMMNM có rất nhiều lọai giấy phép khác nhau như GPL (version 2, 3), LGPL, Mozilla, MIT, BSD, Creative Common License hay các giấy phép mà tổ chức hay cá nhân người sở hữu qui định. Đối với người dùng cuối, mục đích của họ không phải là PMMNM hay phầm mềm thương mại mà họ quan tâm đến giá thành sản phẩm cũng như sự tiện dụng của phần mềm. Đối với các nhà phát triển phần mềm , khi đã quy ết định sài PMMNM thì điều trước tiên phải xem xét là mục đích sử dụng của bạn có vi phạm giấy phép sử dụng 5.5, Thời gian để sữa lỗi của mã mở nhanh hơn các sản phẩm thương mại Đây là lý luận của những "suy diễn" gia, những người chưa từng sài nhiều PMMNM trong phát triển. Lý luận của họ là "khi phần mềm của bạn có lỗi thì sẽ có hàng ngàn lập trình viên trên thế giới sẽ giúp bạn sữa lỗi đó", cũng như họ lấy s ố liệu điển hình của các tổ chức open source như Red-Hat etc để chứng minh thời gian sữa lỗi của mã mở rất nhanh. Thực tế là với những PMMNM có các tổ chức thương mại đứng sau thì chất lượng và thời gian sữa lỗi nhanh nhưng không phải tất cả đ ều nh ư vậy. Đối với các PMMNM do những lập trình viên tự nguyện phát triển thỉ thời gian sữa lỗi tùy thuộc vào những lập trình viên đó (thời gian, hứng thú etc). Đối với kích cỡ của phần mềm ngày càng lớn thì việc nhà phát triển hiểu và sữa lỗi là cả 1 vấn đề lớn cho nên: 'Lỗi của PMMNM hầu hết chỉ được sữa bởi chính những tổ chức/cá nhân phát triển phần mềm đó' 5.6, Phần mềm mã mở kém chất lượng hơn phần mềm mã đóng Người viết bài bài từng sử dụng nhiều phầm mềm thương mại với chất l ượng thấp hơn PMMNM. Lý luận của những người cho lý luận này là 'Không ai cho không ai cái gì'. Ai làm cũng có mục đích của họ, sau đây là một số động lực của các cá nhân/tổ chức phát triển PMMNM: Sở thích cá nhân: thường rất ít và các phần này tương đối đơn giản, đa số chúng không phải là 1 phần mềm hòan thiện mà chỉ là 1 thànnh tố (component) đ ược tích hợp với các phần mềm khác. Phục vụ cho bản thân họ trước tiên: một vài cá nhân, tổ chức viết phần mềm cho nhu cầu công việc của chính họ và họ cung cấp người khác giải pháp phần mềm của họ.Quảng cáo: cá nhân viết PMMNM phổ biến dược cộng đồng LTV biết đê1n, --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -8-
  9. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - kiếm việc dễ hơn hay có những cơ hội khác trong kinh doanh. Đối với các tổ chức, PMMNM cũng có thể là phương tiện quảng cáo hữu hiệu, hay PMMNM là một thành phần tích hợp với phần mềm thương mại nhằm "dụ" khách hàng mua sản phẩm chính của công ty. Thu phí từ dịch vụ, tư vấn và đào tạo: 1 PMMNM phổ biến thì vấn đề đào tạo người dùng sử dụng phần mềm đó cũng như tư vấn doanh nghiệp cách sử dụng phần mềm đó hiệu quả là nguồn lợi rất lớn cho các tổ chức phần mềm. Các dịch vụ gia tăng: dựa vào bản quyền của PMMNM, 1 PMMNM có thể thu phí từ các nhà cung cấp dịch vụ sài phần mềm của họ (MySQL là 1 ví dụ) cho mục đích thương mại Dựa vào động lực trên, ngòai các cá nhân làm PMMNM theo sở thích, cách động lực còn lại là nguyên nhân khiến nhiều PMMNM có chất lượng rất cao, một số tổ chức phát triển PMMNM đang dẫn đầu về mặt công nghệ và buộc các sản phẩm thương mại phải hỗ trợ như Apache Group, Spring Source etc. Các công ty lớn như Sun, Oracle, Bea, JBoss, Adobe, Google etc cũng chọn giải pháp cung cấp cho người dùng những PMMNM chất lượng cao (xem thêm phần 3 về PMMNM thương mại sẽ bàn tại sao có những công ty lớn lại hỗ trợ PMMNM). Cho nên tiêu chí chất lượng của PMMNM và phần mềm thương mại tùy thuộc vào từng sản phẩm cụ thể. Đối với các công ty, tổ chức việc họ "cho không" sản phẩm ban đầu chỉ là cách thức kinh doanh của họ mà thôi, không có nghĩa là "free" gắn liền với chất lượng kém. --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -9-
  10. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - Chương 2: Tổng quan về Ubuntu 1, Khái niệm Ubuntu là một hệ điều hành hoàn toàn mở, được xây dựng dưạ trên nhân (kernel) Linux. Cộng đồng người dùng Ubuntu được hình thành bởi những lý tưởng đã gắn kèm theo triết lý Ubuntu (Ubuntu Philosophy) là : người dùng được sử dụng phần mềm miễn phí, mỗi một phần mềm đều có thể sử dụng dưới giao diện ngôn ngữ bản đ ịa c ủa người dùng và quan trọng nhất là người dùng hoàn toàn tự do chỉnh sửa và thay đ ổi phần mềm để phù hợp với nhu cầu sử dụng của mình. Vì những lý do đã nêu trên đây : * Ubuntu sẽ được luôn luôn phân phối miễn phí và cũng chẳng thêm phí nào cho phiên bản dành cho các công ty * Ubuntu sẽ luôn luôn bao gồm các bản phiên dịch tốt nhất và sẽ luôn luôn tạo ra một cơ cấu truy cập tốt nhất theo khả năng cung cấp của cộng đồng lập trình phần mềm tự do, nhằm mục đích cho phép càng nhiều người càng có thể sử dụng Ubuntu. * Các phiên bản Ubuntu được công bố đều đặn, với tần xuất định trước; mỗi 6 tháng sẽ ra một phiên bản mới. Bạn có thể dùng phiên bản Ubuntu ổn định hoặc dùng phiên bản đang phát triển, tùy ý của bạn. Mỗi phiên bản sẽ được hỗ trợ tối thiểu trong vòng 18 tháng. * Ubuntu hoàn toàn tuân theo những nguyên tắc phát triển phần mềm mã nguồn mở và khuyến khích mọi người dùng phần mềm mã nguồn mở, cải thiện chúng và phân phối lại cho những người khác. (trang web của Ubuntu : http://www.ubuntu.com/.) Về tên của Ubuntu --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -10-
  11. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - Ubuntu là tên của một lý tưởng đạo đức Nam phi tập trung vào các quan hệ và sự gắn kết giữa con người. Từ Ubuntu xuất phát từ ngôn ngữ thổ dân Zulu và Xhosa. Ubuntu được coi như một khái niệm truyền thống của Châu phi, là một cơ sở cho sự hình thành của tân Cộng hoà Nam phi và có gắn liền với sự Phục hưng Châu Phi. Dịch và tóm lại ý nghiã của từ Ubuntu ta có thể ghi tạm “tính loài người cho mọi người” (humanity towards others), hoặc “đức tin vào một quan hệ toàn cầu để chia sẻ tất cả những gì là chung của loài người” (the belief in a universal bond of sharing that connects all humanity).« Một người có tính ubuntu là một người cởi mở, sẵn sàng giúp người khác trở nên vững chắc hơn, không sợ bị đe doạ khi nào người khác trở nên giởi hơn, bởi vì bản thân người đó có ý thức rằng người đó là thành phần của cả một thế giới và sẽ bị thiệt khi nào những người khác bị nhục, bị hạn chế, bị đàn áp hoặc bị tra tấn. » -Trích lời ông Linh mục Desmond Tutu- Vậy, dựa trên GNU/Linux, hệ điều hành (HĐH) Ubuntu mang theo tư tượng đã ẩn sâu trong từ ubuntu cho cả thế giới phần mềm. Phần mềm phân phối theo giấy phép bản quyển tự do GNU/GPL (Phần mềm tự do) Dự án Ubuntu hoàn toàn tuân theo những nguyên tắc phát triển phần mềm mã nguồn mở; mỗi người được khuyến khích dùng phần mềm mã nguồn mở, cải thiện và phân phối lại chúng. Ý nghiã ở đây là Ubuntu luôn luôn sẽ là một phần mềm miễn phí. Tuy nhiên, không chỉ có ý nghiã là dùng Ubuntu sẽ không phải mất một đ ồng xu nào hết. Thiên hướng của Phần mềm tự do là mỗi người đều phải có tự do dùng phần mềm theo mọi cách “có ích cho xã hội”. " Phần mềm tự do" không chỉ có ý nghiã là không phải mất tiền để dùng chúng, chúng còn có ý nghiã là mỗi người có thể dùng chúng theo mọi yêu cầu : Phần mềm tự do có mã nguồn mở, cho phép mỗi người khả năng tải mã nguồn về, sửa đổi lại mã nguồn gốc, phù hợp cho bất kỳ yêu cầu chính đáng. Vì vậy, ngoài ra sự thuận lợi do đa số các phần mềm tự do là miễn phí, còn có thêm những ưu điểm về mặt kỹ thuật : khi cần phát triển phần mềm, chúng ta có thể tái sử dụng các công trình chăm chỉ cưả những lập trình viên khác. Điều đó không thể nào có đối với các phần mềm có mã nguồn đóng : mỗi lần cần phát triển một phần mềm phải bắt đầu từ số không. Vì sự khác nhau đó, việc phát triển Phần mềm tự do vừa nhanh, vừa có hiệu quả cao và mang tính kích thích ! Nếu bạn muốn tìm hiểu thêm về tính triết học của Phần mềm tự do, mời bạn truy cập trang web --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -11-
  12. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - Sự khác nhau Có rất nhiều hệ điều hành máy tính dựa trên nhân GNU/Linux : ví dụ như Debian, SuSE, Gentoo, RedHat, và Mandriva. Ubuntu cũng chỉ là một đối thủ mới đến trong một thế giới đầy cạnh tranh. Vậy cái gì gây nên sự khác biệt cho Ubuntu ? Dựa trên Debian, một trong những bản phân phối Linux được ca ngợi nhiều nhất, có tính kỹ thuật tiên tiến và được hỗ trợ tốt, Ubuntu nhằm tạo ra một bản phân phối Linux cập nhật và vững chắc dành cho cả máy cá nhân ( desktop) và máy chủ (server). Ubuntu bao gồm các gói phần mềm đã được chọn rất kỹ trong kho các gói phần mềm của bản phân phối Debian và giữ lại hệ thống quản lý gói phần mềm mạnh mẽ c ủa Debian, cho phép cài đặt và gỡ bỏ các phần mềm ứng dụng một cách dễ dàng và s ạch sẽ. Không giống các bản phân phối Linux khác đi kèm theo một số lượng rất l ớn các phần mềm có thể dùng có ích hay không có ích, danh mục các gói phần mềm c ủa Ubuntu chỉ bao gồm những phần mềm ứng dụng quan trọng và có chất lượng cao.Nhờ sự tập trung vào chất lượng, Ubuntu tạo ra một môi trường tính toán vững chắc và nhiều tính năng, thích hợp cho cả môi trường làm việc ở nhà cũng như ở nơi công sở. Dự án Ubuntu tập trung các nỗ lực để hoàn chỉnh mọi chi tiết phần mềm, cho phép công bố một phiên bản mới, mỗi 6 tháng, kèm theo phiên bản mới nhất của các phần mềm ứng dụng nổi tiếng. Ubuntu dược phát triển để dùng cùng các cấu hình máy tính d ựa trên các dòng CPU i386 (386/486/Pentium(II/III/IV) và dòng Athlon/Duron/Sempron), AMD64 (Athlon64, Opteron, và dòng CPU 64-bit Intel mới), và PowerPC (iBook/Powerbook, G4 and G5). Sự hỗ trợ dài hạn Mỗi phiên bản Ubuntu được hỗ trợ tối thiểu 18 tháng bởi những gói cập nhật và các gói vá các lỗ hỏng về an toàn phần mềm. Phiên bản Ubuntu 6.06.1 LTS là một phiên bản đặc biệt hướng về các công ty, được hỗ trợ trong thời gian 3 năm đối với phiên bản dùng cho máy tính để bàn, và 5 năm cho phiên bản dùng cho máy chủ. Tuy nhiên, quá trình phát triển và hoàn chỉnh phiên bản Ubuntu 6.06.1 LTS đã tốn nhiều thời gian hơn bình thường để bảo đảm : * Một chất lượng hoàn hảo * Sự bản điạ hoá, * Sự chứng nhận. Kết quả cuối cùng là mọi người có thể dùng Ubuntu 6.06.1 LTS trong một thời gian dài hơn bình thường. Đó là lý do phiên bản Ubuntu này được gắn thêm ký hiệu "LTS", có --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -12-
  13. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - nghiã là Long-Term Support (“sự hỗ trợ dài hạn”). Môi trường làm việc cho máy tính để bàn (Desktop) Môi trường làm việc đồ hoạ (được gọi là Desktop) mặc định của Ubuntu là GNOME (http://www.gnome.org/), một bộ phần mềm desktop dẫn đầu ở các hệ điều hành UNIX và Linux. Một môi trường làm việc đồ hoạ nổi tiếng khác ở các HĐH UNIX và Linux mang tên KDE (http://www.kde.org/). Dự án Kubuntu (http://www.kubuntu.org/) cho phép những người dùng Ubuntu được chọn một môi trường làm việc đồ hoạ khác môi trường làm việc đồ hoạ mặc định GNOME. Nhờ các nỗ lực của dự án Kubuntu, nay những người dùng Ubuntu có khả năng cài đ ặt môi trường làm việc đồ hoạ KDE một cách rất dễ dàng. Vậy muốn được thêm Kubuntu trên nền cài đặt Ubuntu, chỉ cần cài đặt gói phần mềm mang tên kubuntu-desktop. Sau đó, người dùng sẽ có khả năng chọn GNOME hoặc KDE để làm việc. Phương thức đặt số cho các phiên bản Ubuntu Cơ chế đánh số cho các phiên bản dựa trên thời điểm chúng tôi công bố phiên bản của bản phân phối. Số phiên bản xuất phát từ năm và tháng của bản phân phối chứ không phải là phiên bản thật của phần mềm. Phiên bản Ubuntu đầu tiên, mang tên Warty Warthog, được công bố vào tháng 10 năm 2004, do đó được đặt phiên bản số “4.10”. Phiên bản Ubuntu này (Dapper Drake) được công bố vào tháng 06 năm 2006, do đó được mang số “6.06 LTS”. Tuy nhiên, giữa hai nhiệm kỳ công bố cũng có thể có một phiên bản cập nhật phụ, lúc đó sẽ được gắn thêm một chữ số, ví dụ như phiên bản “6.06.1 LTS” này. Nguồn gốc và hỗ trợ Ubuntu được duy trì bởi một cộng đồng đang tăng trưởng nhanh chóng. Dự án Ubuntu được công ty Canonical Ltd. tài trợ. Công ty này, do ông Mark Shuttleworth thành lập, là chủ của hạt nhân người phát triển Ubuntu, hỗ trợ cho dự án và cung cấp các dịch vụ liên quan đến Ubuntu. Đồng thời, Canonical Ltd cũng tài trợ một số dự án phần mềm mã nguồn mở khác. Nếu bạn quan tâm, bạn sẽ có thêm thông tin trên trang web của công ty Canonical Ltd : http://www.canonical.com/. Linux là gì? Nhân phần mềm Linux (Linux kernel, http://www.kernel.org/), là trái tim của hề điều hành Ubuntu. Nhân phần mềm là một bộ phận quan trọng của bất kỳ hệ điều hành, nó cung cấp cầu nối giữa phần cứng và phần mềm ứng dụng. Linux được ra đời năm 1991 do một sinh viên Phần Lan mang tên Linus Torvalds. Lúc đó Linux chỉ hoạt động với các máy tính có hệ thống CPU i386 và chủ yếu được coi như một bản chép lại độc lập của --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -13-
  14. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - nhân UNIX, nhằm khai thác thế mạnh của kiến trúc i386 mới ra đời khi đó. Bây giờ, nhờ các nỗ lực của rất nhiều người trên thế giới, Linux hầu như là có thể hoạt động với tất cả các cấu hình máy tính hiện đại.Thêm nữa, nhân Linux đã đạt tới tầm quan trọng về ý thức hệ cũng như về kỹ thuật. Có cả một cộng đ ồng đang tin vào các lý tưởng của Phần mềm tự do và đang tích cực công hiến thời gian và trí tuệ để hằng ngày cải tiến các phần mềm mã nguồn mở. Chính là những người thuộc cộng đồng nói trên đã là cơ sở cho sự hình thành của các dự án như dự án Ubuntu, các ủy ban chuẩn hoá đã định hình sự phát triển của Internet, các tổ chức như Mozilla Foundation, đã cho ra đời trình duyệt web Mozilla Firefox, và hàng loạt dự án phát triển phần mềm khác mà có lẽ bạn đã được thừa hưởng lợi ích từ chúng trước đây. Tư tưởng mã nguồn mở, thường được gắn cùng với Linux, đang tác động đến những người lập trình viên và những người dùng phần mềm, tạo ra các cộng đ ồng cùng mục đích khắp nơi. GNU là cái gì ? Dự án GNU Project, phát âm “ghư-nu”, được ra đời năm 1984 với mục đích phát triển một hệ điều hành tương thích UNIX, chỉ bao gồm các phầm mềm tự do : hệ điều hành GNU. Hiện nay, có rất nhiều hệ điều hành xuất phát từ hệ điều hành GNU, dựa trên nhân Linux kernel, đều được chỉ dưới tên các hệ điều hành “Linux,”. Tuy nhiên, muốn chính xác, ta phải gọi chúng nó là các hệ điều hành GNU/Linux. Dự án GNU được gắn một cách chặt chẽ với thiên hướng của các phần mềm tự do, là trọng tâm của các dự án xuất phát từ dự án GNU, như dự án Ubuntu. Khái niệm và giải thích Phần mềm tự do là gì được trình bày ở trang web Ubuntu mang tên “Free Software”. Làm thế nào để có Ubuntu ? Trên trang tải Ubuntu, bạn sẽ thấy có nhiều cách để nhận dược một bản của Ubuntu : http://www.ubuntu.com/download. Cách thứ nhất là tải xuống một tập tin hình điã CD (ISO image) từ máy chủ gần nhất nơi của bạn để ghi nó thành một điã CD dùng để cài đặt Ubuntu. Có hai lo ại điã CD chủ yếu : * Desktop CD – Loại điã CD này cho phép thử Ubuntu không cần cài đặt và hoàn toàn không đụng độ đến máy tính của bạn. Đồng thời, sau này, nếu bạn thích, bạn cũng có thể dùng điã CD này để cài đặt Ubuntu trên máy tính của bạn. Loại CD này là lựa chọn thích hợp nhật cho đa số người dùng. --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -14-
  15. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - * Text-mode install CD hoặc Alternate CD – Loại CD này cho phép cài đặt Ubuntu trong một số trường hợp cụ thể : khi cài đặt một loặt máy tính như nhau (dạng OEM) ; bán tự động hoá việc cài đặt Ubuntu ; cài đặt Ubuntu cho các máy tính có cầu hình thấp (ví dụ các máy tương đối cũ hoặc có ít hơn 192 MB RAM). Nếu bạn không có ổ ghi CD hoặc nếu bạn không nối được Internet với tốc dộ cao, bạn có thể liên hệ với dự án Ubuntu để xin nhận miễn phí một số CD qua đường bưu điện thông qua hệ thống phân phối CD của dự án Ubuntu tại trang web http://shipit.ubuntu.com/. Chú ý : bạn có thể phải chờ một vài tuần trước khi nhận các điã CD qua đ ường b ưu điện. Bạn có thể liên hệ với nhóm người dùng Ubuntu của địa phương, gọi là Ubuntu Local Community Team (LoCoTeam), gần nhất. Đây là nhóm những người nhiệt tình dùng Ubuntu đã tự nguyện tập hợp để tạo ra một cộng đồng những người dùng Ubuntu ở điạ phương. Đa số các LoCoTeams có một số điã CD Ubuntu để phân phối miến phí. Bạn có thể tham khảo danh sách các Ubuntu LoCoTeams đang có tại trang web wiki của Ubuntu : https://wiki.ubuntu.com/LoCoTeamList. Một giải pháp khác để nhận một điã CD Ubuntu là liên hệ đến nhóm người dùng Linux (Linux Users Group - LUG) gần nhất và hỏi xem có ai có thể sao chép hộ một bản CD hay không. Thông thường bạn có thể phải trả các chi phí sao chép CD và gửi CD đến nhà của bạn. Bạn có thể tham khảo danh sách các nhóm LUG ở trang web Linux Users Group Worldwide (http://lugww.counter.li.org/). Tại Hà Nội, có nhóm người dùng Linux : Hanoilug (http://www.hanoilug.org/). Linux căn bản Linux lấy nguồn sáng tạo từ hệ điều hành Unix, đã xuất hiện đầu tiên vào năm 1969, và đã được dùng và phát triển liên tục từ lúc ra đời. Phần lớn các nguyên tắc thiết kế Unix cũng được áp dụng cho Linux, cho nên chúng rất quan trọng để hiểu cấu trúc cơ bản của hệ điều hành. Unix được thiết kế chủ yếu để dùng giao diện « dòng lệnh » (command line)và Linux cũng thừa kế được đặc tính đấy. Thực tế giao diện đồ hoạ, tức là môi trường làm việc đồ hoạ bao gồm các cửa sổ, các biểu tượng và thực đơn, được xây dựng trên nền của giao diện làm việc theo dòng lệnh. Cái này có ý nghiã là hệ thống tập tin Linux được cấu tạo ra để quản lý một cách dễ dàng qua các dòng lệnh. Các thư mục và hệ thống tập tin --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -15-
  16. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - Hệ thống tập tin của Linux và Unix được tổ chức theo một hệ thống phân bậc tương tự cấu trúc của một cây, bao gồm 1 thân thẳng đứng và các cành lớn chiã ra. Bậc cao nhất của hệ thống tập tin là thư mục gốc, được ký hiệu bằng vạch chéo “/” ( root directory). Đối với các hệ điều hành Unix và Linux tất các thiết bị kết nối vào máy tính đều được nhận ra như các tập tin, kể cả những linh kiện như ổ điã cứng, các phân vùng điã cứng và các ổ USB, chẳn hạn. Cái này có nghiã là tất cả các tập tin và thư mục đ ều n ằm dưới thư mục gốc, ngay cả những tập tin biểu tượng cho các ổ điã cứng. Ví dụ: /home/nguyen/dauphu.odt chỉ toàn bộ đường dẫn đến tập tin dauphu.odt có trong thư mục nguyen là thư mục phụ nằm trong thư mục home, ngay dưới thư mục gốc (/). Nằm dưới thư mục gốc (/) có một loạt các thư mục quan trọng của hệ thống tập tin được công nhận ở tất cả các bản phân phối Linux khác nhau. Sau đây là danh sách các thư mục thông thường được nhìn thấy dưới thư mục gốc (/) : * /bin – chứa các ứng dụng quan trọng (binary applications), * /boot – các tập tin cấu hình cho quá trình khởi động hệ thống ( boot configuration files), * /dev – chứa các tập tin là chứng nhận cho các thiết bị của hệ thống (device files), * /etc – chứa các tập tin cấu hình của hệ thống, các tập tin lệnh để khởi động các dịch vụ của hệ thống, etc... * /home – thư mục này chứa các thư mục cá nhân của những người có quy ền truy cập vào hệ thống (local users' home directories), * /lib – thư mục này lưu các thư viện chia sẻ của hệ thống (system libraries) * /lost+found – thư mục này được dùng để lưu các tập tin không có thư mục mẹ mà được tìm thấy dưới thư mục gốc (/) sau khi thực hiện lệnh kiểm tra hệ thống tập tin (fsck), * /media – thư mục này được dùng để tạo ra các tập tin gắn tạm thời vào hệ thống tập tin, được hệ điều hành tạo ra khi một thiết bị lưu động (removable media) được cắm vào, như điã CD, máy ảnh kỹ thuật số, ổ USB, etc., * /mnt – thư mục này được dùng để tự gắn các hệ thống tập tin tạm thời ( mounted filesystems), * /opt – thư mục dùng dể chứa các phần mềm ứng dụng ( optional applications) đã được cài đặt thêm, * /proc – đây là một thư mục đặc biệt linh động để lưu các thông tin về tình trạng c ủa hệ thống, đặc biệt về các tiến trình (processes) đang hoạt động, * /root – đây là thư mục nhà của “người siêu dùng” (super user, root), --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -16-
  17. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - * /sbin – thư mục này lưu lại các tập tin thực thi của hệ thống (system binaries) * /sys – thư mục này lưu các tập tin của hệ thống (system files), * /tmp – thư mục này lưu lại các tập tin được tạo ra tạm thời (temporary files), * /usr – thư mục này lưu và chứa những tập tin của các ứng dụng chính đã được cài đặt cho mọi người (all users) dùng, * /var – thư mục này lưu lại các tập tin ghi các số liệu biến đổi ( variable files) như các tập tin dữ liệu và các tập tin bản ghi (logs and databases). Các quyền truy cập Tất cả các tập tin của một hệ thống tâp tin Linux được gắn các quy ền truy cập khác nhau theo từng người dùng của hệ thống, liên quan đến các phép đọc, viết và thực hiên. Người siêu dùng (super user "root") có phép truy cập bất kỳ tập tin của hệ thống. Mỗi tập tin là sở hữu của một người nhất định và được gắn những hạn chế truy cập tùy theo người dùng và được gắn một nhóm người dùng. Vậy mỗi tập tin được bảo đảm an toàn bởi 3 bộ quyền truy cập được gắn theo 3 nhóm người dùng như sau, theo thứ tự từ cao đến thấp : * user (người dùng) những quyền truy cập của nhóm này áp dụng cho người sở hữu tập tin, * group (nhóm người dùng) những quyền truy cập của nhóm này áp dụng cho nhóm đã được gắn với tập tin, * other (những người khác) những quyền truy cập của nhóm này áp dụng cho tất cả những người còn lại. Mỗi bộ quyền truy cập sẽ xác định cụ thể các quyền truy cập thực tế đ ối với các t ập tin và các thư mục như sau : * read (đọc) quyền xem nội dung tập tin hoặc mở tập tin quyền xem nội dung của tập tin thư mục * write (ghi, viết) quyền ghi và sửa lại nội dung tập tin hoặc xoá tập tin, quyền sửa lại nội dung của tập tin thư muc. * execute (thực hiện) quyền này được gắn với các tập tin lệnh, nhóm người dùng đã nhận được quyền này có thể thực hiện các tập tin lệnh quyền vào các thư mục . Để xem và sửa đổi các quyền truy cập đã được gắn với các tập tin thư mục và các tập tin, bạn thao tác ấn vào thực đơn. Nơi (Places), rồi chọn Thư mục cá nhân (Home Folder) và ấn với nút phải con chuột --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -17-
  18. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - vào biểu tượng của một tập tin, hoặc vào một thư mục, rồi chọn đơn Thuộc tính (Properties). Các quyền truy cập được cất vào thanh tab Permissions ; nếu bạn là người sở hữu tập tin, bạn sẽ có quyền thay đổi các quyền truy cập của tập tin. Bạn có thể tìm hiểu thêm về các quyền truy cập tập tin trong Linux ở trang wiki của Ubuntu : https://wiki.ubuntu.com/FilePermissions. Root và Sudo Người dùng cao cấp nhất (root user) ở GNU/Linux là người siêu dùng, có quyển quản trị hệ thống máy tính. Những người dùng bình thường không có quyền quản tr ị máy vì lý do an toàn. Tuy nhiên, trong quá trình cài đặt Ubuntu không dùng người dùng cao cấp root, mà thay vào lại giao quyền quản trị hệ thống cho những người dùng cá nhân có quyền dùng lệnh sudo để thực hiện những công việc quản trị hệ thống. Tài khoản người dùng đầu tiên, trong quá trình cài đặt Ubuntu, sẽ đương nhiên được gắn quy ền sudo. Người cài đặt hệ thống Ubuntu sẽ có khả năng tạo ra tài khoản người dùng mới, cũng như giao quyền sudo thông qua ứng dụng quản lý người dùng và nhóm người dùng Users and Groups (xem thêm phần có tên “Người dùng và Nhóm người dùng”). Mỗi khi bạn cần thực hiện một chương trình yêu cầu phải có quyền root, chương trình sudo sẽ hỏi mật mã của bạn và sẽ kiểm tra bạn đã được giao quyền chạy chương trình sudo hay không. Cách làm như vậy của Ubuntu sẽ bảo đảm các phần mềm lạ sẽ không phá hoại hệ thống lúc cài đặt và sẽ nhắc lại bạn sắp thực hiện một lệnh quản trị hệ thống, cho nên phải rất cẩn thận ! Đê dùng chương trình sudo trong terminal chỉ cần gõ “sudo” trước câu lệnh mà bạn định thực hiện. Sau khi nhấn phím “Enter”, sudo sẽ hỏi mật mã của bạn. Sudo sẽ nhớ lại mật mã của bạn trong một thời gian nhất định. Chức năng này cho phép những người dùng có quyền sudo đỡ phải gõ mật mã của mình nhiều lần khi phải thực hiện một loạt câu lệnh quản trị hệ thống một cách liên tiếp. Bạn phải chú ý : mỗi lần bạn thực hiện các công việc quản tr ị hệ thống, bạn có nguy cơ phá hỏng hệ thống nếu làm sai ! Một số thủ thuật khi dùng sudo : * Để dùng một Terminal dưới quyền của người root, gõ lệnh "sudo -i" trong Terminal. * Tất cả những công cụ để cấu hình lại hệ thống trong môi trường đồ hoạ của Ubuntu đều được gắn với chương trình sudo, do đó mỗi lần bạn cần dùng một công cụ đồ hoạ, hệ thống sẽ hỏi mật mã của bạn khi nào cần thiết. --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -18-
  19. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - * Nếu muốn tìm hiểu thêm về chương trình sudo và tại sao không có sẵn người root ở Ubuntu, bạn có thể đọc thêm trang trên Ubuntu wiki : https://wiki.ubuntu.com/RootSudo. Thiết bị cuối (Terminal) Dùng các câu lệnh không phải khó như bạn có thể nghĩ đâu! Bạn không cần phải có một kiến thức đặc biệt để dùng các câu lệnh của hệ thống, các câu lệnh chỉ là những chương trình phần mềm đơn giản. Khi bạn dùng Linux, bạn có thể quản trị toàn bộ hệ thống chỉ qua các câu lệnh. Tuy rằng có rất nhiều tiện ích theo dạng đồ hoạ, nhưng chúng không thể đáp ứng cho tất cả các yêu cầu được đưa ra, lúc đó mới cần đ ến các câu lệnh Linux. Công cụ mang tên Thiết bị cuối, dịch của tiếng Anh là Terminal, còn được gọi command prompt hoặc hệ vỏ (shell). Ngày xửa ngày xưa, đó là phương tiện chủ yếu cho người muốn ra lệnh cho máy tính. Tuy nhiên, bây giờ những người dùng Linux vẫn thấy dùng shell có thể giải quyết công việc nhanh hơn là qua các công cụ đồ hoạ. Vì vậy, chúng tôi sẽ chỉ dẫn cho bạn cách dùng Terminal sau đây. Nhiệm vụ ban đầu của Terminal là tra cứu nội dung của các tập tin và đây cũng sẽ là mục đích dùng nó mỗi khi các công cụ đồ hoạ không th ực hi ện được một công việc nhất định. Bạn có thể dùng Terminal để lượt qua các tập tin và thư mục để chỉnh lại các sửa đổi đã làm. Khởi động Thiết bị cuối Terminal Để khởi động thiết bị cuối Terminal ấn chuột một lần vào thực đơn Applications, rồi chọn thực đơn phụ ->Accessories-> để tìm đến chương trình Terminal . --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -19-
  20. Gi¸o tr×nh m«n häc Gi¸o viªn gi¶ng d¹y PhÇn MÒm Nguån Më NguyÔn C«ng B»ng -------------------------------------------------------------------------------------------------------------------- - Chương 3: Các lệnh cơ bản Nhũng câu lệnh thông thường Xem nội dung các thư mục : - ls Lệnh ls (LiSt) liệt kê tên đầy đủ của các tập tin và thư mục với các chữ màu khác nhau Tạo thư mục : - mkdir (tên thư mục) Lệnh mkdir (MaKeDIRectory) sẽ tạo ra một thư mục mới. Chuyển thư mục : - cd (/thư_mục/điạ_điểm) Lệnh cd (ChangeDirectory) cho phép chuyển từ thư mục thực tế đến bất kỳ thư mục đã được chỉ định. Chép tập tin và thư mục : - cp (tên tập tin hoặc thư mục gốc) (tên tấp tin hoặc thư mục đích) --------------------------------------------------------------------------------------------------------------------- Khoa C«ng nghÖ Bé m«n: C«ng NghÖ Th«ng Tin -20-
Đồng bộ tài khoản