Quản trị cao cấp GNU/Linux (FTA)

1,658 views
1,590 views

Published on

Quản trị cao cấp GNU/Linux (Tiếng Việt)

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,658
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
195
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Quản trị cao cấp GNU/Linux (FTA)

  1. 1. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Quản trị cao cấp GNU/Linux Josep Jorba Esteve (người điều phối) Remo Suppi Boldrito XP07/M2103/02279 GNU/Linux advanced administration Josep Jorba Esteve (coordinador) Remo Suppi Boldrito XP07/M2103/02279 Trang 2/471
  2. 2. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Josep Jorba Esteve Remo Suppi Boldrito Kỹ sư cao cấp và Tiến sĩ về công nghệ thông tin của Đại học Tự trị Barcelona (UAB). Giáo sư về công nghệ thông tin, các nghiên cứu về đa phương tiện và truyền thông của Đại học mở Catalonia (UOC). Kỹ sư về truyền thông, Tiến sĩ về công nghệ thông tin của UAB. Giáo sư của Phòng Kiến trúc máy tính và các Hệ điều hành của UAB. Xuất bản lần thứ 1: Tháng 09/2007 © Josep Jorba Esteve, Remo Suppi Boldrito Mọi quyền được giữ © đối với xuất bản phẩm này, FUOC, 2009 Đường Tibidabo, 39-43, 08035 Barcelona Thiết kế: Manel Andreu Xuất bản: Eureca Media, SL First edition: September 2007 © Josep Jorba Esteve, Remo Suppi Boldrito All rights reserved © of this edition, FUOC, 2009 Av. Tibidabo, 39-43, 08035 Barcelona /Design: Manel Andreu Publishing: Eureca Media, SL Bản quyền © 2010, FUOC. Quyền được trao để sao chép, phân phối và/hoặc sửa đổi tài liệu này theo những điều khoản của Giấy phép Tài liệu Tự do GNU, Phiên bản 1.2 hoặc bất kỳ phiên bản nào sau đó được xuất bản bởi Quỹ Phần mềm Tự do, không có những phần không đổi, không có các văn bản bìa trước và bìa sau. Một bản sao của các giấy phép này được đưa vào phần có đầu đề “Giấy phép Tài liệu Tự do GNU” của tài liệu này. Copyright © 2010, FUOC. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation Licence, Version 1.2 or any later version published by the Free Software Foundation, with no Invariant Sections, no Front-Cover, and no Back-Cover Texts. A copy of these license is included in the section entitled “GNU Free Documentation License”. Trang 3/471
  3. 3. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Lời người dịch Trong bối cảnh khi mà các Công nghệ tự do và mở đang ngày càng trở thành một xu thế không thể tránh khỏi trên toàn thế giới, tài liệu “Quản trị cao cấp GNU/Linux” của các tác giả: Remo Suppi Boldrito và người điều phối Josep Jorba Esteve đã ra đời. Tài liệu này lần đầu xuất hiện vào tháng 09/2007, được dịch sang tiếng Anh vào năm 2008 và được Viện Hàn lâm Công nghệ Tự do FTA (Free Technology Academy) cải tiến vào năm 2009, là tài liệu được sử dụng trong chương trình đào tạo trực tuyến cho các giáo viên theo các module của khóa học về các Công nghệ tự do tại một số trường đại học châu Âu có liên kết với Viện như: Đại học Mở Hà Lan (Open Universiteit Nederland), Đại học Oberta de Catalunya của Tây Ban Nha (Universitat Oberta de Catalunya) và Đại học Agder của Nauy (University of Agder). Bản dịch sang tiếng Việt được thực hiện từ bản gốc tiếng Anh với cùng tên, được đưa lên trực tuyến trên website của Viện vào tháng 01/2010 tại địa chỉ: http://ftacademy.org/materials, hầu như không có sự sửa đổi nào. Tuân thủ theo các điều khoản của giấy phép được giới thiệu trong tài liệu gốc tiếng Anh, trong phần phụ lục ở cuối tài liệu này, tại nơi có giới thiệu giấy phép tài liệu tự do GFDL v.1.2, dù có cả bản dịch sang tiếng Việt đi cùng, thì bản dịch chỉ để tham khảo, bản gốc bằng tiếng Anh mới là bản có giá trị pháp lý cao nhất. Các trang có những lưu ý về bản quyền của bản gốc tiếng Anh được giữ nguyên không thay đổi, dù có các phần dịch tương ứng sang tiếng Việt nằm trên cùng các trang đó. Tài liệu này được cấp phép theo giấy phép GFDL v1.2 và các phiên bản tương ứng sau này. Tài liệu “Quản trị cao cấp GNU/Linux”, cùng với 2 tài liệu khác cũng đã được dịch sang tiếng Việt và xuất bản trên mạng gồm: “Giới thiệu Phần mềm Tự do” và “Hệ điều hành GNU/Linux cơ bản” đều nằm trong cùng bộ sách đào tạo về các công nghệ tự do của Viện Hàn lâm Công nghệ Mở. Những nội dung của tài liệu này là những kiến thức nâng cao đối với bất kỳ người quản trị hệ thống GNU/Linux nào. Mọi thông tin đóng góp cho bản dịch tiếng Việt, xin gửi vào địa chỉ thư: letrungnghia.foss@gmail.com Chúc các độc giả thành công! Hà Nội, tháng 09 năm 2012 Lê Trung Nghĩa Trang 4/471
  4. 4. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Lời nói đầu Phần mềm đã trở thành một tài nguyên của xã hội manh tính chiến lược trong vài thập kỷ gần đây. Sự nổi lên của Phần mềm Tự do (PMTD), đã thâm nhập vào các khu vực chủ chốt của thị trường công nghệ thông tin và truyền thông (ICT), đang thay đổi một cách mạnh mẽ nền kinh tế của việc sử dụng và phát triển phần mềm. PMTD - đôi khi còn được gọi như là “Nguồn mở” hoặc “Phần mềm Tự do” - có thể được sử dụng, sao chép, sửa đổi và phân phối một cách tự do. Nó đưa ra sự tự do để học và dạy mà không có việc lôi kéo vào những sự phụ thuộc vào bất kỳ nhà cung cấp công nghệ duy nhất nào. Những quyền tự do này được xem xét như là điều kiện cơ bản tiên quyết cho sự phát triển bền vững và tổng thể của một xã hội thông tin. Dù có một mối quan tâm đang gia tăng trong các công nghệ tự do (PMTD và các Chuẩn Mở), thì vẫn có một số lượng hạn chế những người có đủ tri thức và sự tinh thông trong các lĩnh vực này. FTA cố gắng đáp ứng yêu cầu này. Giới thiệu về FTA (Viện hàn lâm Công nghệ tự do - Free Technology Academy) Viện Hàn lâm Công nghệ Tự do (FTA) là một sáng kiến liên kết từ vài trường đại học tại một vài quốc gia. Nó hướng tới việc đóng góp cho một xã hội mà cho phép tất cả mọi người sử dụng nghiên cứu, tham gia và xây dựng dựa trên tri thức sẵn có mà không có hạn chế nào. FTA đưa ra những thứ gì? FTA đưa ra một chương trình trực tuyến mức giáo viên với các module khóa học về các Công nghệ Tự do. Những học viên có thể chọn tham gia trong một khóa học độc lập hoặc đăng ký vào toàn bộ chương trình. Việc giảng dạy diễn ra trực tuyến trong khu trường ảo của FTA và được thực hiện bằng việc đào tạo nhân viên từ các các trường đại học là các đối tác. Uy tín đạt được trong chương trình của FTA được thừa nhận bởi các trường đại học này. Ai đứng đằng sau FTA? FTA đã được bắt đầu trong năm 2008 được Chương trình Học tập Suốt đời (LLP) của Ủy ban châu Âu, dưới sự điều phối của Viện Tri thức Tự do (Free Knowledge Institute) và trong mối quan hệ đối tác với 3 trường đại học của châu Âu: Đại học Mở Hà Lan (Open Universiteit Nederland), Đại học Oberta de Catalunya của Tây Ban Nha (Universitat Oberta de Catalunya) và Đại học Agder của Nauy (University of Agder) hỗ trợ. FTA là vì ai? Viện Hàn lâm Công nghệ tự do đặc biệt chú trọng vào những người chuyên nghiệp, các nhà giáo dục, sinh viên và những người ra quyết định về công nghệ thông tin. Thế còn về việc cấp phép thì sao? Tất cả các tư liệu học tập được sử dụng và được FTA phát triển đều là các Tài nguyên Giáo dục Mở, được xuất bản theo các giấy phép tự do copyleft, cho phép mọi người được tự do sử dụng, sửa đổi và phân phối lại. Tương tự, các phần mềm được sử dụng trong khu trường ảo của FTA là các PMTD và được xây dựng dựa trên khung công việc của các Chuẩn Mở. Trang 5/471
  5. 5. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Sự tiến hóa của cuốn sách này FTA đã sử dụng lại các tư liệu của các khóa học hiện hành từ Đại học Oberta de Catalunya và chúng đã được phát triển cùng với các nhân viên của LibreSoft từ Đại học Rey Juan Carlos. Vào năm 2008 cuốn sách này đã được dịch sang tiếng Anh với sự trợ giúp của Dự án Khoa học, Giáo dục và Học tập Tự do (SELF), được Chương trình Khung lần thứ 6 của Ủy ban châu Âu hỗ trợ. Vào năm 2009, tư liệu này đã được FTA cải tiến. Hơn nữa FTA đã phát triển một chỉ dẫn nghiên cứu và các hoạt động đào tạo sẵn sàng cho các học viên tham gia trong khu trường của FTA. Sự tham gia Người sử dụng các tư liệu học tập của FTA được khuyến khích để cung cấp các ý kiến phản hồi và đưa ra những gợi ý để cải tiến. Một không gian đặc biệt cho những ý kiến phản hồi này được thiết lập trên website của FTA. Những đóng góp đó sẽ được tính tới cho các phiên bản tiếp sau. Hơn nữa, FTA chào mừng bất kỳ ai sử dụng và phân phối tư liệu này cũng như tiến hành các phiên bản và bản dịch mới. Xem các thông tin cụ thể và cập nhật về cuốn sách này, bao gồm cả các bản dịch và các định dạng khác tại http://ftacademy.org/materials/fsm/2. Để có thêm thông tin và sự tham gia trong chương trình các khóa học trực tuyến của FTA, xin hãy viếng thăm website của FTA tại: http://ftacademy.org/. Tôi chân thành hy vọng cuốn sách về khóa học này sẽ giúp bạn trong quá trình học tập cá nhân của bạn và giúp bạn giúp được những người khác nữa. Hy vọng được gặp bạn trong các phong trào về tri thức tự do và công nghệ tự do! Chúc bạn học hạnh phúc! Wouter Tebbens Chủ tịch của Viện Tri thức Tự do Giám đốc của Viện hàn lâm Công nghệ Tự do Trang 6/471
  6. 6. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Các tác giả muốn cảm ơn Quỹ của Đại học Oberta de Catalunya về việc cung cấp tài chính cho lần xuất bản đầu tiên của tác phẩm này, và một sự chia sẻ rộng rãi của những cải tiến dẫn tới lần xuất bản thứ 2, như một phần của Chương trình Giáo viên trong PMTD được đưa ra theo yêu cầu của Đại học này, nơi mà nó được sử dụng như là tư liệu cho một trong những môn học. Việc dịch tài liệu này sang tiếng Anh đã được thực hiện với sự hỗ trợ từ Dự án SELF, Nền tảng SELF, chương trình của Ủy ban châu Âu về các Công nghệ của Xã hội Thông tin và Đại học Oberta de Catalunya. Chúng tôi muốn được cảm ơn việc dịch tư liệu này sang tiếng Anh do lexia:park thực hiện. Phiên bản hiện hành của các tư liệu tiếng Anh đã được mở rộng với việc cung cấp tài chính của dự án này của FTA. Dự án của FTA đã được tài trợ bằng sự hỗ trợ từ Ủy ban châu Âu (tham chiếu số 142706-LLP-1-2008-1-NL-ERASMUS-EVC của Chương trình Học tập Suốt đời). Xuất bản phẩm này chỉ phản ánh các quan điểm của các tác giả, và Ủy ban không thể chịu trách nhiệm về bất kỳ sự sử dụng nào mà nó có thể được làm từ những thông tin có chứa trong nó. Trang 7/471
  7. 7. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Các nội dung Module 1 Giới thiệu hệ điều hành GNU/Linux Josep Jorba Esteve 1. Phần mềm tự do và nguồn mở 2. UNIX. Một chút về lịch sử 3. Các hệ thống GNU/Linux 4. Hồ sơ của quản trị hệ thống 5. Các nhiệm vụ của quản trị hệ thống 6. Các phát tán GNU/Linux 7. Những gì chúng ta sẽ xem xét... Module 2 Chuyển đổi và cùng tồn tại với các hệ thống phi Linux Josep Jorba Esteve 1. Các hệ thống máy tính: các môi trường 2. Các dịch vụ của GNU/Linux 3. Các dạng sử dụng 4. Chuyển đổi và cùng tồn tại 5. Công việc chuyển đổi: phân tích trường hợp điển hình Module 3 Các công cụ cơ bản cho người quản trị Josep Jorba Esteve 1. Các công cụ đồ họa và dòng lệnh 2. Các chuẩn 3. Tài liệu hệ thống Trang 8/471
  8. 8. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 4. Viết thành bó lệnh (Shell scripting) 5. Các công cụ quản lý gói 6. Các công cụ quản trị chung 7. Các công cụ khác Module 4 Nhân (kernel) Josep Jorba Esteve 1. Nhân của hệ thống GNU/Linux 2. Cấu hình hoặc cập nhật cho nhân 3. Qui trình cấu hình và biên dịch 4. Việc vá nhân 5. Các module của nhân 6. Tương lai của nhân và các giải pháp thay thế 7. Chỉ dẫn: việc thiết lập cấu hình nhân cho các yêu cầu của người sử dụng Module 5 Quản trị cục bộ Josep Jorba Esteve 1. Các phát tán: các tính năng đặc biệt 2. Chạy các mức và các dịch vụ 3. Giám sát tình trạng hệ thống 4. Các hệ thống tệp 5. Người sử dụng và các nhóm 6. Các dịch vụ in 7. Quản trị đĩa và hệ thống tệp 8. Việc cập nhật phần mềm 9. Các công việc đóng bó Trang 9/471
  9. 9. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 10. Chỉ dẫn: thực tế kết hợp các phần khác nhau Module 6 Quản trị mạng Remo Suppi Boldrito 1. Giới thiệu về TCP/IP (bộ TCP/IP) 2. Các khái niệm về TCP/IP 3. Cách chỉ định một địa chỉ Internet 4. Cách thiết lập cấu hình cho mạng 5. Thiết lập cấu hình DHCP 6. Bí danh của IP 7. Giả trang của IP 8. NET với nhân 2.2 hoặc cao hơn 9. Cách để thiết lập cấu hình cho một kết nối Dial-up và PPP 10. Thiết lập cấu hình mạng thông qua hotplug (cắm nóng) 11. Mạng riêng ảo (VPN) 12. Các thiết lập cấu hình và các công cụ cao cấp Module 7 Quản trị máy chủ Remo Suppi Boldrito 1. Hệ thống tên miền (DNS) 2. NIS (YP) 3. Các dịch vụ kết nối từ xa: telnet và ssh 4. Các dịch vụ truyền tệp: FTP 5. Các dịch vụ trao đổi thông tin ở mức người sử dụng 6. Dịch vụ ủy quyền: Squid 7. OpenLDAP (Ldap) Trang 10/471
  10. 10. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 8. Các dịch vụ tệp (NFS) Module 8 Quản trị dữ liệu Remo Suppi Boldrito 1. PostgreSQL 2. MySQL 3. Các hệ thống quản trị mã nguồn 4. Phiên bản phụ Module 9 Quản trị an ninh Josep Jorba Esteve 1. Các dạng và các phương pháp tấn công 2. An ninh hệ thống 3. An ninh cục bộ 4. SELinux 5. An ninh mạng 6. Dò tìm thâm nhập trái phép 7. Bảo vệ bằng lọc thông qua tường lửa và bao gói 8. Các công cụ an ninh 9. Phân tích ghi lưu ký (Logs) 10. Chỉ dẫn: Cách sử dụng các công cụ phân tích an ninh Module 10 Cấu hình, tinh chỉnh và tối ưu hóa Remo Suppi Boldrito 1. Những khía cạnh cơ bản Trang 11/471
  11. 11. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Module 11 Kỹ thuật bó máy (Clustering) Remo Suppi Boldrito 1. Giới thiệu về Điện toán Hiệu năng Cao (HPC) 2. OpenMosix 3. Siêu máy tính, điện toán lưới Trang 12/471
  12. 12. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Mục lục 1 Giới thiệu hệ điều hành GNU/Linux....................................................................................................19 Giới thiệu.............................................................................................................................................20 1.1. Phần mềm tự do và nguồn mở......................................................................................................21 1.2. Unix. Một chút về lịch sử.............................................................................................................26 1.3. Hệ điều hành GNU/Linux............................................................................................................33 1.4. Hồ sơ của quản trị hệ thống..........................................................................................................36 1.5. Các nhiệm vụ của người quản trị..................................................................................................40 1.6. Các phát tán GNU/Linux..............................................................................................................44 1.6.1. Debian...................................................................................................................................47 1.6.2. Fedora Core..........................................................................................................................51 1.7. Chúng ta sẽ nhìn vào những gì.....................................................................................................55 Các hoạt động......................................................................................................................................57 Thư mục tham khảo.............................................................................................................................58 2 Chuyển đổi và cùng tồn tại với các hệ thống không Linux..................................................................59 Giới thiệu.............................................................................................................................................60 2.1. Các hệ thống máy tính: các môi trường.......................................................................................61 2.2. Các dịch vụ của GNU/Linux........................................................................................................64 2.3. Các dạng sử dụng.........................................................................................................................66 2.4. Chuyển đổi hoặc cùng tồn tại.......................................................................................................68 2.4.1. Xác định các yêu cầu dịch vụ...............................................................................................69 2.4.2. Qui trình chuyển đổi.............................................................................................................70 2.5. Hội thảo về chuyển đổi: phân tích các trường hợp điển hình.......................................................75 2.5.1. Chuyển đổi cá nhân của một người sử dụng máy có môi trường đồ họa Windows sang một hệ điều hành GNU/Linux................................................................................................................75 2.5.2. Chuyển đổi của một tổ chức nhỏ với các hệ thống Windows và một ít UNIX....................78 2.5.3. Chuyển đổi một máy chủ Windows đứng một mình sang một máy chủ Samba chạy GNU/Linux.....................................................................................................................................80 Các hoạt động......................................................................................................................................85 Thư mục tham khảo.............................................................................................................................86 3 Các công cụ cơ bản cho người quản trị................................................................................................87 Giới thiệu.............................................................................................................................................88 3.1. Các công cụ đồ họa và dòng lệnh.................................................................................................89 3.2. Các chuẩn.....................................................................................................................................91 3.3. Tài liệu hệ thống...........................................................................................................................93 3.4. Viết bó script.................................................................................................................................94 3.4.1. Các trình biên dịch lệnh tương tác........................................................................................94 3.4.2. Các trình biên dịch lệnh (shells)...........................................................................................97 3.4.3 Các biến hệ thống................................................................................................................100 3.4.4. Lập trình scripts trong Bash................................................................................................101 3.5. Các công cụ quản lý gói.............................................................................................................106 3.5.1. Gói TGZ..............................................................................................................................106 Trang 13/471
  13. 13. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 3.5.2 Fedora/Red Hat: Các gói RPM............................................................................................108 3.5.3. Debian: Các gói DEB.........................................................................................................112 3.6. Các công cụ quản trị chung........................................................................................................116 3.7. Các công cụ khác........................................................................................................................118 Các hoạt động....................................................................................................................................119 Thư mục tham khảo...........................................................................................................................120 4 Nhân Linux .......................................................................................................................................121 Giới thiệu...........................................................................................................................................122 4.1. Nhân của hệ điều hành GNU/Linux...........................................................................................123 4.2. Thiết lập cấu hình hoặc cập nhật nhân.......................................................................................130 4.3. Quá trình cấu hình và biên dịch..................................................................................................132 4.3.1 Biên dịch nhân 2.4.x............................................................................................................132 4.3.2. Chuyển đổi sang nhân 2.6.x................................................................................................137 4.3.3. Biên dịch các phiên bản nhân 2.6.x....................................................................................138 4.3.4. Biên dịch nhân trong Debian (cách của Debian)................................................................139 4.4. Vá nhân.......................................................................................................................................142 4.5. Các module của nhân.................................................................................................................144 4.6. Tương lai của nhân và những lựa chọn......................................................................................146 4.7. Sách chỉ dẫn: Việc cấu hình nhân cho những yêu cầu của người sử dụng.................................149 4.7.1. Thiết lập cấu hình cho nhân trong Debian..........................................................................149 4.7.2. Cấu hình cho nhân trong Fedora/Red Hat..........................................................................151 4.7.3. Cấu hình một nhân chung...................................................................................................152 Các hoạt động....................................................................................................................................155 Thư mục tham khảo...........................................................................................................................156 5 Quản trị cục bộ...................................................................................................................................157 Giới thiệu...........................................................................................................................................158 5.1. Các phát tán: các tính năng đặc biệt...........................................................................................159 5.2. Các mức khởi động và chạy.......................................................................................................161 5.3. Việc giám sát tình trạng hệ thống...............................................................................................164 5.3.1. Khởi động hệ thống............................................................................................................164 5.3.2. Nhân: thư mục /proc...........................................................................................................164 5.3.3. Nhân: /sys...........................................................................................................................166 5.3.4. Các tiến trình.......................................................................................................................166 5.3.5 Lưu ký hệ thống...................................................................................................................167 5.3.6. Bộ nhớ................................................................................................................................168 5.3.7. Đĩa và các hệ thống tệp ......................................................................................................169 5.4. Các hệ thống tệp.........................................................................................................................172 5.4.1. Điểm kích hoạt ...................................................................................................................173 5.4.2. Các quyền...........................................................................................................................176 5.5. Người sử dụng và nhóm.............................................................................................................177 5.6. Các dịch vụ in ấn........................................................................................................................181 5.6.1. BSD LPD............................................................................................................................184 5.6.2. LPRng.................................................................................................................................185 Trang 14/471
  14. 14. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 5.6.3 CUPS...................................................................................................................................187 5.7. Quản trị đĩa.................................................................................................................................190 5.7.1 Phần mềm RAID.................................................................................................................191 5.7.2. Quản trị khối logic (LVM)..................................................................................................195 5.8. Cập nhật phần mềm....................................................................................................................199 5.9. Các công việc về bó....................................................................................................................201 5.10. Sách chỉ dẫn: những thực tế được kết hợp của các phần khác nhau........................................203 Các hoạt động....................................................................................................................................213 Thư mục tham khảo...........................................................................................................................214 6 Quản trị mạng.....................................................................................................................................215 Giới thiệu...........................................................................................................................................216 6.1. Giới thiệu về TCP/IP (bộ TCP/IP)..............................................................................................217 6.1.1 Các dịch vụ trên TCP/IP......................................................................................................217 6.1.2 TCP/IP là gì?........................................................................................................................219 6.1.3. Các thiết bị mạng vật lý (phần cứng)..................................................................................220 6.2. Các khái niệm về TCP/IP...........................................................................................................222 6.3. Làm thế nào để chỉ định một địa chỉ Internet.............................................................................225 6.4. Cấu hình mạng như thế nào........................................................................................................229 6.4.1 Cấu hình của kiểm soát giao diện mạng (NIC)....................................................................229 6.4.2. Cấu hình của trình giải tên .................................................................................................233 6.4.3. Cấu hình cho việc định tuyến.............................................................................................235 6.4.4. Cấu hình của inetd..............................................................................................................237 6.4.5. Cấu hình bổ sung: các giao thức và các mạng....................................................................239 6.4.6. Các khía cạnh an ninh.........................................................................................................240 6.4.7. Các lựa chọn IP...................................................................................................................241 6.5. Cấu hình DHCP..........................................................................................................................242 6.6. Việc đặt bí danh cho IP ..............................................................................................................244 6.7. Đắp mặt nạ IP.............................................................................................................................245 6.8. NAT với nhân 2.2 hoặc cao hơn.................................................................................................246 6.9. Cách cấu hình một kết nối quay số Dial-up và PPP...................................................................247 6.10. Việc cấu hình mạng thông qua cắm nóng (hotplug).................................................................249 6.11. Mạng riêng ảo (VPN)...............................................................................................................250 6.11.1 Ví dụ đơn giản...................................................................................................................250 6.12. Những cấu hình và công cụ tiên tiến........................................................................................253 Các hoạt động....................................................................................................................................261 Phụ lục. Kiểm soát các dịch vụ được liên kết tới một mạng FC6.....................................................262 7 Quản trị máy chủ................................................................................................................................264 Giới thiệu...........................................................................................................................................265 7.1. Hệ thống tên miền (DNS)...........................................................................................................266 7.1.1. Máy chủ tên Cache.............................................................................................................266 7.1.2. Trình chuyển tiếp (forwarders)...........................................................................................270 7.1.3. Cấu hình một miền của riêng..............................................................................................270 7.2. NIS (YP).....................................................................................................................................274 Trang 15/471
  15. 15. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 7.2.1. Làm thế nào để khởi tạo một máy trạm NIS cục bộ trong Debian?...................................274 7.2.2. Những tài nguyên nào phải được chỉ định để sử dụng NIS?..............................................275 7.2.3. Nên chạy một máy chủ chính NIS như thế nào?................................................................276 7.2.4. Làm thế nào để cấu hình cho một máy chủ?......................................................................277 7.3. Các dịch vụ kết nối ở xa: telnet và ssh.......................................................................................279 7.3.1. Telnet và telnetd..................................................................................................................279 7.3.2 Trình biên dịch lệnh (shell) an ninh và SSH........................................................................280 7.4. Các dịch vụ truyền tệp: FTP ......................................................................................................283 7.4.1. Máy trạm FTP (thông thường)............................................................................................283 7.4.2. Các máy chủ FTP ...............................................................................................................284 7.5. Các dịch vụ trao đổi thông tin ở mức của người sử dụng..........................................................286 7.5.1. Đại lý chuyển thư MTA (Mail Transport Agent)................................................................286 7.5.2. Giao thức truy cập thông điệp Internet (IMAP).................................................................287 7.5.3. Tin tức.................................................................................................................................291 7.5.4. Word Wide Web (httpd)......................................................................................................292 7.6. Dịch vụ ủy quyền proxy: Squid..................................................................................................298 7.6.1. Squid như một bộ tăng tốc cho http ...................................................................................298 7.6.2. Squid như việc lưu trữ ủy quyền - (proxy - caching).........................................................299 7.7. OpenLDAP (LDAP)...................................................................................................................301 7.7.1. Việc tạo và duy trì cơ sở dữ liệu.........................................................................................303 7.8. Các dịch vụ tệp (NFS)................................................................................................................305 7.8.1. Máy chủ Wiki.....................................................................................................................306 Các hoạt động....................................................................................................................................308 Thư mục tham khảo...........................................................................................................................309 8 Quản trị dữ liệu..................................................................................................................................310 Giới thiệu...........................................................................................................................................311 8.1. PostgreSQL................................................................................................................................312 8.1.1. Nên tạo DB như thế nào?....................................................................................................312 8.1.2. Truy cập một DB như thế nào?...........................................................................................313 8.1.3. Ngôn ngữ SQL....................................................................................................................313 8.1.4. Cài đặt PostgreSQL............................................................................................................315 8.1.5. Duy trì.................................................................................................................................318 8.1.6. Pgaccess..............................................................................................................................320 8.2. MySQL.......................................................................................................................................322 8.2.1. Cài đặt.................................................................................................................................322 8.2.2. Sau cài đặt và xác minh......................................................................................................323 8.2.3. Chương trình giám sát MySQL (máy trạm).......................................................................324 8.2.4. Quản trị...............................................................................................................................326 8.2.5. Các giao diện đồ họa...........................................................................................................327 8.3. Các hệ thống quản lý mã nguồn.................................................................................................328 8.3.1. Hệ thống kiểm soát rà soát lại (RCS).................................................................................328 8.3.2. Hệ thống phiên bản hiện hành (CVS).................................................................................329 8.3.3. Các giao diện đồ họa...........................................................................................................333 Trang 16/471
  16. 16. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 8.4. Subversion..................................................................................................................................335 Các hoạt động....................................................................................................................................339 Thư mục tham khảo...........................................................................................................................340 9 Quản trị an ninh..................................................................................................................................341 Giới thiệu...........................................................................................................................................342 9.1. Các dạng và các phương pháp tấn công.....................................................................................343 9.1.1. Các kỹ thuật được sử dụng trong các cuộc tấn công..........................................................345 9.1.2. Các biện pháp đối phó........................................................................................................352 9.2. An ninh hệ thống........................................................................................................................356 9.3. An ninh cục bộ............................................................................................................................357 9.3.1. Các trình khởi động (Bootloaders).....................................................................................357 9.3.2. Mật khẩu và bóng (shadows)..............................................................................................358 9.3.3. Suid và những bits gây khó...............................................................................................359 9.3.4. Cho phép các máy chủ hosts ..............................................................................................359 9.3.5. Các module PAM................................................................................................................360 9.3.6. Những sửa đổi hệ thống......................................................................................................362 9.4. SELinux......................................................................................................................................363 9.4.1. Kiến trúc.............................................................................................................................366 9.4.2. Chỉ trích..............................................................................................................................369 9.5. An ninh mạng.............................................................................................................................370 9.5.1. Máy trạm dịch vụ................................................................................................................370 9.5.2. Máy chủ: inetd và xinetd....................................................................................................370 9.6. Dò tìm thâm nhập trái phép........................................................................................................373 9.7. Bảo vệ bằng các trình lọc thông qua các trình bao bọc và các tường lửa..................................374 9.7.1. Các tường lửa......................................................................................................................375 9.7.2. Bộ lọc mạng: IPtables (bảng IP).........................................................................................376 9.7.3. Các gói và các tường lửa trong các phát tán.......................................................................379 9.7.4. Những xem xét cuối cùng...................................................................................................379 9.8. Các công cụ an ninh...................................................................................................................381 9.9. Phân tích các lưu ký logs............................................................................................................384 9.10. Sách chỉ dẫn: các công cụ cho việc phân tích an ninh.............................................................386 Các hoạt động....................................................................................................................................392 Thư mục tham khảo...........................................................................................................................393 10 Cấu hình, tinh chỉnh và tối ưu hóa...................................................................................................394 Giới thiệu...........................................................................................................................................395 10.1. Những khía cạnh cơ bản...........................................................................................................396 10.1.1. Việc giám sát trên một UNIX System V...........................................................................397 10.1.2. Tối ưu hóa hệ thống..........................................................................................................404 10.1.3. Những tối ưu hóa chung...................................................................................................408 10.1.4. Các cấu hình bổ sung........................................................................................................408 10.1.5. Giám sát............................................................................................................................411 Các hoạt động ...................................................................................................................................419 Thư mục tham chiếu..........................................................................................................................420 Trang 17/471
  17. 17. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 11 Bó máy.............................................................................................................................................421 Giới thiệu...........................................................................................................................................422 11.1. Giới thiệu về Điện toán Hiệu năng Cao (HPC)........................................................................423 11.1.1. Beowulf.............................................................................................................................424 11.1.2. Nên lập trình thế nào để tận dụng được điện toán đồng thời?..........................................427 11.2. OpenMosix...............................................................................................................................439 11.3. Các siêu máy tính, điện toán lưới.............................................................................................441 11.3.1. Các kiến trúc điện toán khác nhau....................................................................................441 11.3.2. Globus...............................................................................................................................443 11.3.3. Phần mềm, cài đặt và quản trị Globus..............................................................................444 Các hoạt động ...................................................................................................................................446 Thư mục tham khảo...........................................................................................................................447 Giấy phép tài liệu tự do GNU................................................................................................................456 Trang 18/471
  18. 18. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 1 Giới thiệu hệ điều hành GNU/Linux Josep Jorba Esteve PID_00148470 Introduction to the GNU/Linux operating system Josep Jorba Esteve PID_00148470 Trang 19/471
  19. 19. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Giới thiệu Các hệ điều hành GNU/Linux [Joh98] không còn là thứ mới mẻ nữa; chúng có một dải rộng lớn người sử dụng và chúng được sử dụng trong hầu hết các môi trường. Thủa ban đầu của chúng là vào tháng 08/1991, khi một sinh viên người Phần Lan tên là Linus Torvalds đã công bố trong một danh sách thư điện tử rằng anh ta đã tạo ra hệ điều hành riêng của mình và anh ta đã đưa nó ra cộng đồng các lập trình viên để thử nghiệm và gợi ý cho những cải tiến để làm cho nó có khả năng sử dụng được nhiều hơn. Đây là gốc khởi thủy của nhân (kernel) của hệ điều hành mà sau này đã trở thành nổi tiếng là Linux. Một cách riêng rẽ, Quỹ Phần mềm Tự do (FSF), thông qua dự án GNU của mình, đã làm ra những phần mềm có thể được sử dụng một cách tự do kể từ năm 1984. Richard Stallman (thành viên của FSF) đã coi phần mềm tự do (PMTD) mà mã nguồn của nó chúng ta có thể có được, nghiên cứu, sửa đổi và phân phối lại mà không có bổn phận phải trả tiền cho nó. Theo mô hình này, doanh nghiệp không phải dấu đi mã nguồn, mà có thể đưa vào các phần mềm bổ sung phụ thêm, chỉnh sửa phần mềm cho các khách hàng và các dịch vụ được bổ sung, như việc duy trì và huấn luyện người sử dụng (sự hỗ trợ mà chúng ta trao) hoặc ở dạng các tư liệu, những cuốn sách và các sách chỉ dẫn, hoặc các khóa huấn luyện. Sự kết hợp của các phần mềm GNU và nhân Linux, là những gì đã mang lại cho chúng ta các hệ điều hành GNU/Linux ngày nay. Hiện tại, các phong trào nguồn mở, thông qua một loạt các tổ chức, như FSF, và các công ty đã tạo ra những phát tán Linux khác nhau (Red hat, Mandrake, SuSE...), bao gồm cả các công ty lớn mà họ đưa ra sự hỗ trợ, như HP, IBM hoặc Sun, đã thúc đẩy mạnh mẽ các hệ điều hành GNU/Linux và đặt chúng vào mức độ có khả năng cạnh tranh và vượt qua nhiều giải pháp đóng, sở hữu độc quyền hiện đang tồn tại. Các hệ điều hành GNU/Linux không còn là mới mẻ nữa. Các phần mềm GNU đã bắt đầu từ giữa những năm 80, còn nhân Linux, vào đầu những năm 90. Và Linux dựa trên công nghệ được thử nghiệm với hơn 30 năm lịch sử của UNIX. Trong phần giới thiệu chúng ta sẽ xem lại một số ý tưởng chung của các phong trào Phần mềm Nguồn mở (PMNM) và Phần mềm Tự do (PMTD), cũng như một chút về lịch sử của Linux và gốc gác chia sẻ ban đầu của nó với UNIX, từ đó nó đã hưởng lợi từ hơn 30 năm nghiên cứu qua các hệ điều hành. Trang 20/471
  20. 20. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 1.1. Phần mềm tự do và nguồn mở Theo các phong trào của PMTD và PMNM [OSIc] [OSIb] (còn được biết như là mã mở hoặc phần mềm mở), chúng ta thấy một loạt các dạng khác nhau của phần mềm mà chúng chia sẻ nhiều ý tưởng chung. Một sản phẩm phần mềm được coi là nguồn mở hàm ý khi ý tưởng chính là có khả năng truy cập được mã nguồn của nó, và để sửa đổi nó và phân phối lại nó như là đối tượng thích hợp cho một giấy phép nguồn mở để xác định ngữ cảnh pháp lý. Ngược lại với một mã nguồn dạng sở hữu độc quyền, nơi mà nhà sản xuất (công ty phần mềm) sẽ khóa mã nguồn, dấu nó và hạn chế các quyền truy cập tới bản thân nó, không cho phép có khả năng có bất kỳ sửa đổi hay thay đổi nào mà không được nhà sản xuất thực hiện từ trước, thì nguồn mở đưa ra: a) Sự truy cập tới mã nguồn, hoặc để nghiên cứu nó (ý tưởng cho các mục đích giáo dục) hoặc để sửa đổi nó, để sửa các lỗi, để thích nghi nó hoặc bổ sung thêm nhiều hơn các tính năng; b) Phần mềm là miễn phí: thông thường, phần mềm này, hoặc ở dạng nhị phân hoặc dạng mã nguồn, có thể có được một cách miễn phí hoặc bằng một số tiền tượng trưng để bù đắp cho giá thành đóng gói và phần phối và giá trị gia tăng; c) Các chuẩn mà ngăn cản các phần mềm độc quyền và sở hữu độc quyền, tránh sự phụ thuộc vào chỉ một sự lựa chọn nhà sản xuất phần mềm; điều này là quan trọng cho một tổ chức lớn, hoặc một công ty hoặc một nhà nước, mà không thể (hoặc không nên) đặt bản thân mình vào trong tay của một giải pháp đặc thù duy nhất và phụ thuộc hoàn toàn vào nó; d) Một mô hình tiến bộ không dựa vào thông tin ẩn dấu mà vào việc chia sẻ kiến thức (như cộng đồng khoa học) sao cho sự tiến bộ là nhanh hơn, và với chất lượng là tốt hơn vì các quyết định sẽ được dựa trên sự đồng thuận của cộng đồng và không dựa vào những ý thích nhất thời của các công ty mà phát triển các phần mềm sở hữu độc quyền (PMSHĐQ). Việc tạo ra các chương trình và phân phối chúng cùng với mã nguồn là không có gì mới. Kể từ thời kỳ đầu của công nghệ thông tin (CNTT) và Internet, mọi thứ đã được thực hiện theo cách này. Tuy nhiên, khái niệm của bản thân nguồn mở, định nghĩa của nó và việc phác thảo những điều kiện phải đáp ứng mới có từ giữa năm 1997. Eric Raymond và Bruce Perens đã khuyến khích ý tưởng này. Raymond [Ray98] là tác giả của một bài luận có tên là Nhà thờ lớn và cái Chợ, thảo luận về các kỹ thuật phát triển phần mềm mà cộng đồng Linux sử dụng, được Linus Torvalds và cộng đồng GNU của FSF do Richard Stallman cầm đầu, dẫn dắt. Bruce Perens là người dẫn dắt dự án Debian, người đã làm việc để tạo ra một phát tán GNU/Linux mà đã hợp thành một thể thống nhất hoàn toàn với PMTD. Trang 21/471 Lưu ý Nhà thờ lớn và cái Chợ: http://www.catb.org/~esr/wri tings/cathedral- bazaar/cathedral-bazaar/.
  21. 21. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Lưu ý Hai trong số các cộng đồng quan trọng nhất là FSF, với dự án phần mềm GNU, và cộng đồng Nguồn Mở, với Linux như là dự án chủ chốt, thì GNU/Linux là kết quả của công việc kết hợp của chúng. Sự phân biệt quan trọng giữa các cộng đồng này nằm ở các định nghĩa của PMNM và PMTD. [Deba] [PS02]. FSF là một tổ chức phi lợi nhuận được Richard Stallman thành lập, ông tin tưởng rằng việc nên đảm bảo các chương trình ai cũng có thể có được một cách miễn phí, truycập được một cách tự do để sử dụng sao cho mỗi cá nhân cảm thấy phù hợp. Khái niệm tự do đã gây ra một số dè dặt trong các công ty. Trong tiếng Anh, từ này có thể có nghĩa là “không có giá thành hoặc miễn phí” hoặc “không theo sự kiểm soát hoặc theo sức mạnh của người khác”. FSF đã thấy cả 2 vấn đề này, nhưng khó để bán 2 ý tưởng này cho các doanh nghiệp; câu hỏi chính là: “Chúng tôi có thể kiếm tiền với thứ này như thế nào?” Câu trả lời tới từ cộng đồng Linux (được Linus Torvalds dẫn dắt), khi họ muốn có thứ gì đó mà cộng động GNU và FSF còn chưa đạt được: một hệ điều hành tự do với mã nguồn sẵn sàng. Tại thời điểm đó cộng đồng này đã quyết định thống nhất một loạt các hoạt động trong phong trào PMTD theo một cái tên mới: PMNM. Nguồn Mở đã được đăng ký như một giấy chứng nhận, mà các sản phẩm phần mềm nào tuân thủ với các đặc tả của giấy chứng nhận đó đều có thể gắn vào. Điều này đã không làm vui lòng tất cả mọi người và có những xu thế chia rẽ hoặc gây tranh cãi nhất định giữa 2 nhóm Nguồn Mở và FSF (với GNU), dù thực tế thì họ có nhiều thứ chung hơn là không. Ở một mức độ nào đó, đối với những người bảo vệ PMTD (như FSF), thì nguồn mở là một bước sai lầm, vì nó có nghĩa là bán đi những lý tưởng của mình cho thị trường, để lại cánh cửa mở cho phần mềm đã từng là tự do sẽ trở thành sở hữu độc quyền. Những người ủng hộ nguồn mở thì thấy đây như một cơ hội để khuyến khích phần mềm mà nếu khác đi thì chỉ có thể được sử dụng với một thiểu số, mà qua sự chia sẻ và thăng hoa toàn cầu của nó, bao gồm cả những công ty mong muốn tham gia vào nguồn mở, họ tìm được sức mạnh đáng kể để thách thức phần mềm sở hữu độc quyền. Tuy nhiên, ý tưởng được cả 2 phong trào theo đuổi là để gia tăng sử dụng PMTD, vì thế đều đưa ra giải pháp thay thế cho những giải pháp duy nhất mà các công ty lớn muốn áp đặt. Những khác biệt này là thực tế hơn nhiều. Được thiết lập dựa trên các ý tưởng của cộng đồng nguồn mở, chúng ta đã đạt được tới điểm nơi mà chúng ta đã cần phải làm sáng tỏ những tiêu chí mà một sản phẩm phần mềm nên đáp ứng để đủ khả năng như một phần mềm nguồn mở. Chúng ta đã phải đặt nó vào định nghĩa của nguồn mở [OSIb], ban đầu đã được Bruce Perens viết vào tháng 06/1997 khi đáp lại các bình luận của các lập trình viên của phát tán Debian Linux, sau đó tổ chức Sáng kiến Nguồn Mở (OSI) đã sửa đổi lại (với những thay đổi nhỏ). OSI có trách nhiệm về việc kiểm soát định nghĩa và các giấy phép nguồn mở. Lưu ý Trang 22/471 Lưu ý Xem định nghĩa ban đầu về Nguồn Mở tại: http://www.opensource.org/d ocs/definition.php, còn bản sửa lại tại: http://www.opensource.org/.
  22. 22. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux Nguồn mở được điều chỉnh bằng một định nghĩa, được sử dụng như là nền tảng cho việc phác thảo các giấy phép phần mềm nguồn mở. Một tóm tắt nhỏ (diễn giải) của định nghĩa này: PMNM [OSIb], hoặc phần mềm với mã nguồn mở, phải thỏa mãn các yêu cầu sau đây: 1) Phần mềm có thể sao chép được, cho hoặc bán được cho các bên thứ ba, mà không đòi hỏi bất kỳ một sự trả công nào cho nó. 2) Chương trình phải bao gồm mã nguồn và phải cho phép phân phối ở dạng mã nguồn cũng như ở dạng được biên dịch. Hoặc trong mọi sự việc, phải có một phương tiện được xuất bản tốt cho việc có được mã nguồn (như việc tải về thông qua Internet, ví dụ thế). Các dạng vật trung gian hoặc gây bối rối có chủ tâm đối với mã nguồn là không được phép. Giấy phép này đảm bảo rằng những thay đổi có thể được thực hiện. 3) Giấy phép phần mềm này cho phép những sửa đổi và các công việc dẫn xuất, và phải cho phép chúng được phân phối theo cùng những điều khoản như giấy phép của phần mềm ban đầu. Nó cho phép mã nguồn ban đầu được sử dụng lại. 4) Tính toàn vẹn của mã nguồn của tác giả có thể được yêu cầu, nói cách khác, những sửa đổi có thể được trình bày ở dạng các bản vá đối với mã nguồn ban đầu, hoặc có thể được yêu cầu mang một cái tên khác hoặc số phiên bản khác so với bản gốc ban đầu. Điều này bảo vệ cho những sửa đổi nào đó có thể được cho là của tác giả. Điểm này phụ thuộc vào những gì giấy phép phần mềm yêu cầu. 5) Giấy phép này phải không phân biệt đối với bất kỳ người hoặc nhóm người nào. Việc truy cập tới phần mềm phải không bị hạn chế. Trong một số trường hợp có thể có những hạn chế hợp pháp, như trong trường hợp nước Mỹ đối với việc xuất khẩu công nghệ cho các quốc gia của thế giới thứ 3. Nếu có những hạn chế dạng này, thì chúng phải được nêu ra. 6) Không có sự phân biệt đối xử đối với những lĩnh vực nỗ lực. Phần mềm có thể được sử dụng trong bất kỳ lĩnh vực nỗ lực nào, ngay cả nếu nó không được thiết kế cho lĩnh vực đó. Sử dụng theo cách thương mại là được phép; không ai có thể ngăn cản được phần mềm khỏi được sử dụng cho các mục đích thương mại. 7) Giấy phép áp dụng cho mỗi người nhận được chương trình. 8) Nếu phần mềm này tạo nên một phần của một sản phẩm lớn hơn, thì sản phẩm lớn hơn phải duy trì giấy phép y hệt này. Điều này làm cho chắc chắn là các phần đó không bị tách biệt ra để tạo thành PMSHĐQ (theo một cách thức không thể kiểm soát được). Trong trường hợp của PMSHĐQ, nó phải thông báo rằng nó chứa các phần (tuyên bố các phần nào) của PMNM. 9) Giấy phép này phải không hạn chế bất kỳ phần mềm được kết hợp hoặc được phân phối theo một cách kết hợp nào, nói cách khác, sự kết hợp của nó sẽ không hành động như một rào cản cho sản phẩm phần mềm được phân phối một cách phối hợp khác. Đây là một vấn đề còn gây tranh cãi vì nó dường như đối nghịch với điểm trước, cơ bản nó nói rằng bất kỳ ai cũng có thể lấy PMNM và bổ sung nó vào phần mềm của riêng họ mà điều này không ảnh hưởng tới các điều kiện giấy phép của nó (ví dụ sở hữu độc quyền), dù, theo điểm trước, có thể phải thông báo rằng có những phần của nguồn mở. 10) Giấy phép phải là trung lập về công nghệ, nghĩa là không hạn chế đối với những thiết bị hoặc hệ điều hành nhất định nào đó. Không được phép nhắc tới những phương tiện phân phối độc nhất hoặc Trang 23/471
  23. 23. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux những khả năng loại trừ nào đó. Ví dụ, theo giấy phép nguồn mở, không được phép hạn chế phân phối tới CD, FTP hoặc dạng web. Định nghĩa này của nguồn mở bản thân nó không phải là một giấy phép phần mềm, mà là một đặc tả của những yêu cầu mà một giấy phép PMNM phải thỏa mãn. Để được coi là một chương trình nguồn mở, thì giấy phép của chương trình phải tuân thủ với những đặc tả bên trên. OSI có trách nhiệm kiểm tra các giấy phép đáp ứng các đặc tả này. Trên trang web về Giấy phép Nguồn Mở bạn có thể thấy danh sách các giấy phép [OSIa], trong đó một trong những giấy phép được sử dụng rộng rãi nhất là GPL (Giấy phép Công cộng Chung GNU). Theo GPL, phần mềm có thể được sao chép và sửa đổi, nhưng những sửa đổi phải được công khai theo cùng giấy phép này, và nó ngăn cản mã nguồn trở thành trộn được với mã nguồn sở hữu độc quyền để tránh việc mã nguồn sở hữu độc quyền chiếm lấy các phần của nguồn mở. Có giấy phép LGPL, thực tế là tương tự ngoại trừ việc phần mềm với giấy phép này có thể được tích hợp vào trong PMSHĐQ. Ví dụ kinh điển là thư viện C của Linux (với giấy phép LGPL); nếu nó là GPL, thì chỉ PMTD có thể được phát triển, với LGPL thì nó có thể được sử dụng cho việc phát triển PMSHĐQ. Nhiều dự án PMTD, hoặc với một phần mã nguồn của PMNM và một phần của PMSHĐQ, có giấy phép của riêng nó: Apache (dựa trên BSD), Mozilla (MPL và NPL của Netscape)... Về cơ bản, khi nói tới việc xác định phần mềm như là nguồn mở thì có thể tạo ra giấy phép của riêng mình mà tuân thủ với định nghĩa ở trên (của nguồn mở) hoặc có thể chọn để cấp phép cho phần mềm theo một giấy phép đã được thiết lập, hoặc trong trường hợp của GPL, chúng ta có bổn phận đối với giấy phép của chúng ta cũng phải là GPL. Đã nghiên cứu những khái niệm của nguồn mở và các giấy phép của nó, cần xem ở mức độ nào nó có thể có lợi nhuận cho một công ty để làm việc hoặc sản xuất nguồn mở. Nếu nó không lôi cuốn đối với các công ty, thì chúng ta có thể đánh mất cả một khách hàng tiềm năng và một trong những nhà sản xuất phần mềm hàng đầu cùng một lúc. Nguồn mở cũng lôi cuốn đối với các công ty, với một mô hình kinh doanh nhấn mạnh tới giá trị gia tăng của sản phẩm. Nguồn mở đưa ra một loạt lợi ích lôi cuốn mà các công ty có quan tâm: a) Đối với các công ty phát triển phần mềm, nó đặt ra một vấn đề: làm thế nào để kiếm tiền mà không có việc bán một sản phẩm. Nhiều tiền được chi cho việc phát triển một chương trình và sau đó lợi nhuận phải được thực hiện ở trên đỉnh. Vâng, có một câu trả lời không đơn giản, không có khả năng với bất kỳ dạng phần mềm nào, sự hoàn vốn nằm ở dạng phần mềm có thể tạo nên lợi nhuận nằm ngoài việc chỉ bán hàng. Thông thường, một nghiên cứu sẽ được thực hiện như đối với việc liệu ứng dụng này sẽ có trở thành có thể kiếm được lợi nhuận hay không nếu được phát triển như nguồn mở (hầu hết sẽ), dựa trên những tiền đề rằng chúng ta sẽ có một giá thành phát triển được giảm (cộng đồng có thể giúp với điều này rất nhanh chóng) và tính tới số lượng những người sử dụng mà nguồn mở sẽ cung cấp, cũng như những nhu cầu mà họ sẽ có cho những dịch vụ hỗ trợ hoặc tài liệu của chúng ta. Nếu cán cân là dương, thì nó sẽ là có thể trụ vững được để làm mà không có doanh số từ bán hàng. Trang 24/471 Lưu ý Các giấy phép nguồn mở: http://www.opensource.org/li censes.html
  24. 24. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux b) Gia tăng số lượng người sử dụng c) Có được tính mềm dẻo phát triển lớn hơn, càng nhiều người hơn mà họ tham gia vào, thì càng nhiều người hơn có khả năng dò tìm ra các lỗi. d) Doanh số sẽ hầu như tới từ sự hỗ trợ, huấn luyện người sử dụng và duy trì. e) Các công ty sử dụng phần mềm cần nắm lấy nhiều thuộc tính để xem xét trước khi chọn một phần mềm cho việc quản lý những nhiệm vụ, như là sự thực thi, độ tin cậy, an ninh, tính có thể mở rộng phạm vi và giá thành tài chính. Và dù có vẻ như là nguồn mở đã là một sự lựa chọn được minh chứng trên nền tảng giá thành, thì phải nói rằng có PMNM có khả năng cạnh tranh với (hoặc ngay cả vượt trội) PMSHĐQ về bất kỳ thuộc tính nào. Hơn nữa, cần cẩn thận với việc chọn những lựa chọn hoặc những hệ thống sở hữu độc quyền của một nhà cung cấp duy nhất; không thể chỉ tựa vào họ (có thể nhớ tới trường hợp như định dạng beta của Sony cho video chống lại VHS, hoặc kiến trúc MicroChannel của IBM cho các máy tính cá nhân PC). Cần tránh sử dụng những độc quyền với những rủi ro có liên quan của chúng: thiếu cạnh tranh về giá thành, các dịch vụ đắt giá, sự duy trì đắt giá, ít (hoặc không có) cơ hội lựa chọn... f) Đối với những người sử dụng cá nhân nó đưa ra một loạt lớn các phần mềm được áp dụng cho việc sử dụng chung thông thường, khi mà nhiều phần mềm đã được hiểu và được triển khai với những người mà họ đã muốn thực hiện các nhiệm vụ y hệt nhưng không thể tìm thấy các phần mềm phù hợp. Thông thường, trong trường hợp của một người sử dụng ở nhà, một tham số rất quan trọng là giá thành phần mềm; những thống kê gần đây chỉ ra những mức 60-70% các bản sao bất hợp pháp là ở nhà. Người sử dụng cảm thấy rằng chỉ bằng việc sở hữu một máy tính cá nhân ở nhà mà họ được quyền sử dụng các phần mềm tại một số quốc gia cho nó. Trong những trường hợp này, chúng ta đang làm việc với những tình huống bất hợp pháp, mà dù chúng có thể không bị kết án, thì có thể một ngày nào đó, hoặc được toan tính sẽ bị kiểm soát thông qua các hệ thống giấy phép (hoặc những kích hoạt sản phẩm). Hơn nữa, điều này có những ảnh hưởng tiêu cực không trực tiếp lên PMTD, vì nếu người sử dụng đang sử dụng PMSHĐQ ở khắp mọi nơi, thì nó ép từng người mà muốn giao tiếp với họ, hoặc các ngân hàng, các công ty hoặc các cơ quan hành chính nhà nước, cũng phải sử dụng các PMSHĐQ y hệt như vậy, và họ sẽ phải trả tiền cho các giấy phép sản phẩm. Một trong những cuộc chiến quan trọng nhất của PMTD là nắm bắt được những người sử dụng ở gia đình. g) Cuối cùng, các quốc gia, như một trường hợp đặc biệt, có thể giành được những lợi ích quan trọng từ PMNM, vì nó đưa ra cho họ những phần mềm có chất lượng với các giá thành nực cười so với giá thành khổng lồ của các giấy phép cho các PMSHĐQ. Hơn nữa, PMNM có thể dễ dàng tích hợp những khía cạnh văn hóa (của mỗi quốc gia) như là ngôn ngữ, ví dụ thế. Trường hợp cuối là khá có vấn đề, vì các nhà sản xuất PMSHĐQ từ chối thích nghi những ứng dụng của họ tại một số khu vực - các quốc gia nhỏ với ngôn ngữ riêng của họ - hoặc yêu cầu phải trả tiền để làm việc đó. Trang 25/471 Lưu ý Các bản sao nội bộ bất hợp pháp đôi khi cũng được biết tới như là các bản sao ăn cắp.
  25. 25. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux 1.2. Unix. Một chút về lịch sử Như một người tiền nhiệm đối với các hệ điều hành GNU/Linux của chúng ta [Sta02], hãy nhớ lại một chút về lịch sử của UNIX [Sal94]. Ban đầu, Linux đã được thừa nhận như một bản nhái của Minix (một triển khai cài đặt hàn lâm của UNIX trên máy tính cá nhân) và đã sử dụng một số ý tưởng được phát triển trong UNIX sở hữu độc quyền; nhưng, đổi lại, nó đã được phát triển theo nguồn mở, và với sự tập trung vào các máy tính cá nhân ở nhà. Trong phần nói về UNIX và trong phần tiếp theo nói về các hệ điều hành GNU/Linux, chúng ta sẽ thấy cách mà sự tiến hóa này đã mang tới cho chúng ta các hệ điều hành GNU/Linux hiện nay, mà các hệ thống này có khả năng cạnh tranh được với bất kỳ UNIX sở hữu độc quyền nào và chúng luôn sẵn sàng với một số lượng lớn các kiến trúc phần cứng, từ máy tính cá nhân đơn giản cho tới các siêu máy tính. Linux có thể được sử dụng trên một dải lớn các máy tính. Trong danh sách TOP500, có thể thấy một vài siêu máy tính với GNU/Linux (xem danh sách trên trang web top500.org): ví dụ, MareNostrum, tại Trung tâm Siêu máy tính của Barcelona, một bó máy, được IBM thiết kế, với 10240 CPU PowerPC và với hệ điều hành GNU/Linux (được thích nghi theo những yêu cầu của các máy tính này). Từ danh sách chúng ta có thể thấy rằng tổng số các siêu máy tính với GNU/Linux chiếm tới 75%. UNIX đã bắt đầu vào năm 1969 (chúng ta bây giờ hầu như có 40 năm lịch sử) tại Bell Telephone Labs (BTL) của AT&T. Những thứ này đã chỉ rút lui khỏi một dự án có tên là MULTICS, đã được thiết kế để tạo ra một hệ điều hành sao cho một máy tính lớn có thể hỗ trợ hàng ngàn người sử dụng cùng một lúc. BTL, General Electric, và MIT đã tham gia vào dự án này. Nhưng nó đã thất bại, một phần, vì đã quá tham vọng khi đó. Trong khi dự án này đang triển khai, thì 2 kỹ sư của BTL từng tham gia vào MULTICS: Ken Thompson và Dennis Ritchie, đã tạo ra máy tính DEC PDP7 chưa ai từng sử dụng, chỉ có một trình dịch mã và chương trình tải. Thompson và Richie đã phát triển như những phần thử nghiệm (và thường trong thời gian rỗi của họ) của UNIX, một trình dịch mã (của mã máy) và nhân phôi thai của hệ điều hành. Cùng năm đó, 1969, Thompson đã có ý tưởng viết một hệ thống tệp cho nhân được tạo ra, theo cách mà các tệp có thể được lưu trữ ở một dạng có trật tự trong một hệ thống các thư mục có tôn ti trật tự. Tiếp sau hàng loạt những tranh luận lý thuyết (đã diễn ra khoảng hơn 2 tháng) thì hệ thống này đã được triển khai chỉ trong một vài ngày. Như là sự tiến bộ đã được thực hiện trên thiết kế của hệ thống, và một ít các kỹ sư nữa của BTL đã tham gia vào, máy ban đầu đã trở nên quá nhỏ, và họ đã nghĩ tới việc yêu cầu cho ra một cái mới (trong những ngày đó chúng có giá khoảng 100,000 USD, là một sự đầu tư đáng kể). Họ đã phải xin lỗi (vì hệ thống UNIX này là sự phát triển trong thời gian rỗi) và họ đã nói họ muốn tạo ra một bộ xử lý văn bản mới (một ứng dụng đã tạo ra tiền khi đó), nên họ đã được chấp nhận đề nghị mua một chiếc PDP11. UNIX đã có từ năm 1969, với hơn 30 năm các công nghệ được phát triển và sử dụng trên tất cả Trang 26/471 Lưu ý Chúng ta có thể thấy danh sách TOP500 của những siêu máy tính nhanh nhất tại: http://www.top500.org
  26. 26. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux các dạng hệ thống. Khi máy tính tới, chúng đã chỉ đưa ra CPU và bộ nhớ, mà không có đĩa hoặc hệ điều hành. Thompson, không thể chờ đợi, đã thiết kế một đĩa RAM trong bộ nhớ và đã sử dụng một nửa bộ nhớ này như một cái đĩa và nửa khác cho hệ điều hành mà ông đã thiết kế. Một khi đĩa đã có, họ đã tiếp tục làm việc trên cả UNIX và đã hứa hẹn cho trình xử lý văn bản (sự xin lỗi). Trình xử lý văn bản từng là một thành công (nó là Troff, một ngôn ngữ soạn thảo sau này được sử dụng cho việc tạo ra các trang chính của UNIX), và BTL đã bắt đầu trở thành nơi sử dụng đầu tiên đối với UNIX. Vào lúc đó, triết lý của UNIX đã bắt đầu nổi lên [Ray02a]: • Viết các chương trình làm một thứ gì đó và làm thứ đó tốt được. • Viết các chương trình để làm việc cùng nhau được. • Viết các chương trình để quản lý được các dòng văn bản. Đặc tính quan trọng khác, UNIX là một trong những hệ thống đầu tiên được thừa nhận là độc lập với kiến trúc phần cứng, và điều này đã cho phép nó được tải lên một số lượng lớn các kiến trúc phần cứng khác nhau. Vào tháng 11/1971, vì có những người sử dụng bên ngoài, nên nhu cầu viết tài liệu những gì đã được thực hiện xong trong Sách chỉ dẫn của Lập trình viên UNIX đã được Thompson và Richie ký duyệt. Trong lần xuất bản thứ 2 (tháng 06/1972), được biết như là V2 (xuất bản của các sách chỉ dẫn này đã được thực hiện để tương đồng với số phiên bản của UNIX), biết rằng số các cài đặt triển khai UNIX đã đạt con số 10. Và con số này đã tiếp tục gia tăng tới khoảng 50 trong V5. Rồi, cuối năm 1973, được quyết định cho trình bày các kết quả tại một hội nghị về các hệ điều hành. Tiếp sau đó, một loạt các trung tâm CNTT và các trường đại học đã yêu cầu các bản sao của UNIX. AT&T đã không đưa ra được sự hỗ trợ hoặc duy trì cho UNIX, có nghĩa là những người sử dụng đã phải tập hợp lại và chia sẻ kiến thức của họ bằng việc hình thành ra các cộng đồng những người sử dụng UNIX. AT&T đã quyết định nhượng lại UNIX cho các trường đại học, nhưng không đưa ra cho họ sự hỗ trợ hoặc sửa các lỗi cho họ. Những người sử dụng đã bắt đầu chia sẻ những ý tưởng, thông tin về chương trình, các lỗi ... của họ. Họ đã tạo ra một hội gọi là USENIX, nghĩa là những người sử dụng UNIX. Cuộc gặp mặt lần đầu tiên của họ vào tháng 05/1974 có khoảng 1 tá người tham dự. Một trong những đại học đã có một giấy phép UNIX là Đại học Berkeley, California, nơi mà Ken Thompson đã nghiên cứu. Trong năm 1975, Thompson đã trở lại Berkeley như một giáo viên mang theo cùng với ông là phiên bản mới nhất của UNIX. Hai sinh viên mới tốt nghiệp, Chuck Haley và Bill Joy (bây giờ là một trong những phó chủ tịch của Sun Microsystems), đã tham gia cùng với ông và đã bắt đầu làm việc cùng nhau trên một triển khai cài đặt UNIX. Một trong những thứ đầu tiên mà họ đã thất vọng là các trình soạn thảo; Joy đã làm ra một trình soạn thảo gọi là EX, cho tới khi chuyển nó sang VI, một trình soạn thảo trực quan toàn màn hình. Và 2 người đã phát triển một trình biên dịch của ngôn ngữ Pascal, họ đã bổ sung vào UNIX. Đã có một số Trang 27/471 Lưu ý Xem: http://www.usenix.org/
  27. 27. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux lượng nhất định nào đó đòi hỏi sự triển khai cài đặt UNIX này, và Joy đã bắt đầu sản xuất nó như là BSD (Berkeley Software Distribution), Phát tán Phần mềm của Berkeley. BSD (trong năm 1978) đã có một giấy phép đặc biệt về giá thành của nó: được nói rằng nó đã tương ứng với giá thành của vật trung chuyển và phân phối đã có tại thời điểm đó. Vì thế, những người sử dụng mới đã dừng tiến hành một số thay đổi hoặc kết hợp thêm những tính năng, bán những bản sao làm lại của họ và sau một khoảng thời gian nào đó, những thay đổi đã được kết hợp vào phiên bản sau của BSD. Joy cũng đã đóng góp thêm một ít vào công việc của ông trên trình soạn thảo vi, như việc quản lý các máy gõ văn bản đầu cuối theo một cách mà trình soạn thảo từng là độc lập với máy đầu cuối nơi mà nó đang được sử dụng; ông đã tạo ra hệ thống TERMCAP như một giao diện máy đầu cuối chung với các trình điều khiển cho từng máy đầu cuối đặc thù, sao cho các chương trình có thể chạy được dù các máy đầu cuối sử dụng giao diện này. Bước tiếp sau là thích nghi nó cho các kiến trúc khác nhau. Cho tới năm 1977, chỉ có thể chạy được trên các máy PDP; Những thích nghi của năm đó đã được thực hiện cho các máy khi đó như là Interdata và IBM, UNIX phiên bản 7 (V7 vào tháng 06/1979) là phiên bản khả chuyển đầu tiên. Phiên bản này đã đưa ra nhiều cải tiến, vì nó đã đưa vào: awk, lint, make, uucp; sách chỉ dẫn đã có 400 trang (cộng với 2 phụ lục mỗi phụ lục 400 trang). Nó cũng đã đưa vào trình biên dịch C được thiết kế tại BTL từ Kernighan và Ritchie, đã được tạo ra để viết lại hầu hết cho UNIX, ban đầu trong assembler và sau đó trong C với các phần của assembler mà chỉ phụ thuộc vào kiến trúc. Cũng được đưa vào là một bó được cải tiến (bó Bourrne) và các lệnh như là: find, cpio và expr. Nền công nghiệp UNIX cũng đã bắt đầu tăng trưởng, và các phiên bản UNIX (các triển khai cài đặt) đã bắt đầu xuất hiện từ các công ty như: Xenix, một sự hợp tác giữa Microsoft - trong những ngày đầu của hãng cũng đã làm việc với các phiên bản UNIX - với SCO cho các máy Intel 8086 (máy tính cá nhân PC IBM đầu tiên); những phiên bản mới của BSD từ Berkeley... Tuy nhiên, một vấn đề mới đã xuất hiện khi AT&T đã cho rằng UNIX là một sản phẩm thương mại có giá trị, giấy phép V7 đã cấm nghiên cứu nó trong các cơ quan hàn lâm để bảo vệ bí mật thương mại của nó. Cho tới thời điểm đó nhiều trường đại học đã sử dụng mã nguồn của UNIX để dạy về các hệ điều hành, và họ đã dừng sử dụng nó để chỉ dạy lý thuyết. Tuy nhiên, mọi người đã tìm ra cách của riêng họ để giải quyết vấn đề này. Tại Amsterdam, Andrew Tanenbaum (tác giả nổi tiếng của các sách lý thuyết về các hệ điều hành) đã quyết định viết một hệ điều hành mới tương thích UNIX mà không sử dụng một dòng mã lệnh nào của AT&T; ông đã gọi hệ điều hành mới này là Minix. Đây là những gì có thể sau này được một sinh viên người Phần Lan sử dụng trong năm 1991 để tạo ra phiên bản UNIX riêng của anh ta, mà anh ta đã gọi nó là Linux. Bill Joy, người vẫn còn phát triển BSD tại Berkeley (đã ở phiên bản 4.1), đã quyết định chuyển tới một công ty mới là Sun Microsystems, nơi ông đã hoàn tất công việc trên BSD 4.2, có thể sau này được sửa đổi để tạo ra UNIX của Sun, SunOS (khoảng năm 1983). Mỗi công ty đã bắt đầu phát triển các phiên bản riêng của mình: IBM đã phát triển AIX, DEC – Ultrix, HP – HPUX, Microsoft/SCO – Xenix, … Tới năm 1980, UNIX đã bắt đầu như một đầu tư thương mại, AT&T đã tung ra một phiên bản mới nhất gọi là UNIX System V (SV), trên đó cũng như trên BSD 4.x, UNIX hiện hành được dựa vào, hoặc trên BSD hoặc nhánh của System V. SV đã được làm lại vài lần, và, ví dụ, SV phiên bản 4 từng là một trong Trang 28/471
  28. 28. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux những phiên bản quan trọng nhất. Kết quả của những phiên bản mới nhất này tất cả ít nhiều là những hệ thống UNIX đang tồn tại đã được thích nghi cho nhau; trong thực tế chúng là những phiên bản của Hệ thống V R4 của AT&T hoặc BSD của Berkeley, được từng nhà sản xuất thích nghi. Một số nhà sản xuất chỉ định hoặc UNIX của họ như một BSD hoặc dạng SV, nhưng trong thực tế tất cả họ có một chút của nhau, vì sau này một số chuẩn của UNIX đã được thiết kế để cố gắng hài hòa chúng; trong số chúng, chúng ta thấy IEEE POSIX, UNIX97, FHS... Qua thời gian, hệ thống UNIX chia thành vài nhánh, trong đó có 2 nhánh chính là UNIX của AT&T và hệ thống V (System V), và BSD của Đại học Berkeley, California. Hầu hết các hệ thống UNIX hiện hành là được dựa trên một trong hai thứ này, hoặc là sự pha trộn giữa 2 thứ này. Hình 1. Tóm tắt lịch sử những phiên bản khác nhau của UNIX. Tuy nhiên, khi đó, AT&T (SVR4) đang trải qua việc kiện tụng pháp lý như một nhà độc quyền về điện thoại (nó là công ty dẫn đầu, nếu không nói là duy nhất, công ty điện thoại tại Mỹ), bị ép phải chia thành vài công ty nhỏ hơn, thì các quyền cho UNIX bắt đầu nhảy giữa những người chủ: năm 1990 nó đã được chia sẻ các quyền 50/50 với Quỹ Phần mềm Mở (OSF) và UNIX Quốc tế (UI), sau đó, các Phòng thí nghiệm Hệ thống UNIX (USL), đã tố cáo Đại học Berkeley về những bản sao BSD của nó, nhưng đã thất bại, vì giấy phép gốc ban đầu đã không áp đặt bất kỳ quyền sở hữu nào lên mã nguồn UNIX. Sau này, các quyền đối với UNIX đã được bán cho Novell, nó đã nhượng lại một phần cho SCO, và như hôm nay còn chưa rõ ai sở hữu chúng: họ bị kêu thông qua các mặt trận khác nhau với Novell, OSF và SCO. Một ví dụ gần đây về vấn đề này là trường hợp của SCO, đã khởi xướng một vụ kiện chống lại IBM vì theo SCO, nó đã nhượng lại các phần của mã nguồn UNIX cho các phiên bản Trang 29/471
  29. 29. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux của nhân Linux, được cho là đưa vào một số mã nguồn UNIX gốc. Kết quả như hôm nay là vấn đề vẫn ở tòa, với SCO đã biến thành một kẻ hạ đẳng của nền công nghiệp CNTT đe dọa Linux, IBM và những người sử dụng UNIX khác, với sự khẳng định rằng họ sở hữu các quyền gốc đối với UNIX và rằng mỗi người đều phải trả tiền cho họ. Chúng ta sẽ phải xem vụ kiện này tiến hóa thế nào, và vấn đề về các quyền của UNIX cùng với nó. Kịch bản hiện hành với UNIX đã thay đổi nhiều kể từ khi Linux xuất hiện vào năm 1991, khi từ những năm 1995-1999 nó đã trở thành một giải pháp thay thế nghiêm chỉnh cho các hệ thống UNIX sở hữu độc quyền, nhờ vào số lượng lớn các nền tảng phần cứng mà nó hỗ trợ và sự hỗ trợ mạnh mẽ cho sự tiến bộ của nó từ cộng đồng quốc tế và các công ty. Những phiên bản sở hữu độc quyền khác nhau của UNIX tiếp tục sống sót được trong thị trường, vì sự thích nghi của chúng đối với các môi trường công nghiệp hoặc vì nó đang là hệ điều hành tốt nhất trong thị trường, hoặc vì có những nhu cầu có thể chỉ được bao trùm với UNIX và phần cứng tương ứng. Hơn nữa, một số UNIX sở hữu độc quyền còn tốt hơn cả GNU/Linux về độ tin cậy và tốc độ thực thi dù khoảng cách là nhỏ mọi lúc, vì các công ty với các hệ thống UNIX sở hữu độc quyền của riêng họ đang chỉ ra sự quan tâm ngày càng lớn trong GNU/Linux và đưa ra một số phát triển của riêng họ để đưa vào trong Linux. Chúng ta có thể mong đợi ít nhiều sự tuyệt chủng chậm chạp của các phiên bản UNIX sở hữu độc quyền hướng tới những phát tán dựa trên Linux từ các nhà sản xuất được thích nghi cho trang thiết bị của họ. Xem qua các công ty này: • Sun: hãng đưa ra một triển khai cài đặt UNIX là Solaris (tiến hóa của SunOS). Nó đã bắt đầu như một hệ thống BSD, nhưng bây giờ nó hầu như là System V với những phần của BSD; thường được sử dụng trong các máy của Sun với một kiến trúc SPARC, và trong các máy tính có nhiều vi xử lý (tới 64 vi xử lý). Chúng khuyến khích GNU/Linux như là một môi trường phát triển Java và có một phát tán GNU/Linux được biết tới là Java Desktop System (Hệ thống máy để bàn Java), đã được chấp nhận một cách rộng rãi ở một số quốc gia. Hơn nữa, nó đã bắt đầu sử dụng GNOME như là một môi trường đồ họa, và đưa ra sự hỗ trợ tài chính cho một loạt các dự án như Mozilla, GNOME và OpenOffice. Cũng nên nhắc tới sáng kiến của hãng với phiên bản mới nhất của hãng về Solaris UNIX, hầu như giải phóng toàn bộ mã nguồn của nó trong phiên bản Solaris 10. Việc tạo ra một cộng đồng cho các kiến trúc của Intel và SPARC, gọi là OpenSolaris, đã làm cho có thể tạo ra những phát tán Solaris tự do. Trong một lưu ý riêng rẽ, chúng ta nên nhắc tới những sáng kiến gần đây (2006) giải phóng nền tảng Java theo các giấy phép GPL, như dự án OpenJDK. • IBM: Hãng có phiên bản UNIX sở hữu độc quyền của mình là AIX, mà sống sót được trong một số phân khúc máy trạm và máy chủ của hãng. Cùng lúc, hãng chắc chắn hỗ trợ cộng đồng nguồn mở, bằng việc khuyến khích phát triển các môi trường tự do (eclipse.org) và các công nghệ Java cho Linux, hãng tích hợp Linux vào trong các máy tính lớn của hãng và thiết kế các chiến dịch marketing để thúc đẩy Linux. Hãng cũng có ảnh hưởng trong cộng đồng vì sự bảo vệ về pháp lý của hãng chống lại SCO, mà tố cáo hãng vi phạm sở hữu trí tuệ khi viện lý rằng hãng đã kết hợp những yếu tố của UNIX vào trong GNU/Linux. Trang 30/471 Lưu ý Nhiều công ty với UNIX sở hữu độc quyền tham gia vào GNU/Linux và đưa ra một số phát triển của họ cho cộng đồng.
  30. 30. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux • HP: hãng có HPUX UNIX của riêng mình, nhưng đưa ra sự hỗ trợ mạnh mẽ cho Linux, cả ở dạng mã nguồn mở và bằng việc cài đặt Linux lên các máy tính. Được cho là công ty đã kiếm được nhiều tiền nhất với Linux. • SGI: Silicon Graphics có một hệ thống UNIX được biết tới là IRIX cho các máy đồ họa của mình, nhưng sau này có xu hướng bán các máy này với Windows, và có lẽ một số với Linux. Hãng này từng trải qua những khó khăn và suýt phá sản. Hãng đưa ra sự hỗ trợ cho cộng đồng Linux trong OpenGL (công nghệ đồ họa 3D), những hệ thống tệp và kiểm soát thiết bị ngoại vi khác. • Apple: đã ra nhập thế giới UNIX gần đây (trong giữa những năm 90), khi hãng đã quyết định thay thế hệ điều hành của hãng bằng một phương án UNIX. Nhân được biết như là Darwin có xuất xứ từ BSD 4.4; nhân nguồn mở này cùng với một số giao diện đồ họa rất mạnh là những gì mà hệ điều hành Mac OS X của Apple có. Ngày nay được xem là một trong những UNIX tốt nhất và, ít nhất, một trong những sự quyến rũ nhất về khía cạnh đồ họa của nó. Hãng cũng sử dụng số lượng lớn các phần mềm GNU như những tiện ích hệ thống. • Các nhà phân phối Linux: cả thương mại và hàn lâm, chúng ta sẽ nhắc tới các công ty như Red Hat, SuSE, Mandriva (trước kia là Mandrake), và những tổ chức phi thương mại như Debian … Chúng (các phát tán GNU/Linux hầu như phổ biến nhất), với sự hỗ trợ của cộng đồng Linux và FSF với phần mềm GNU, cộng với việc nhận được những đóng góp từ các công ty nêu ở trên. • BSD: dù nó không là một công ty, thì các phiên bản BSD cũng tiếp tục phát triển, cũng như các dự án nhái BSD khác như là FreeBSD, NetBSD, OpenBSD (UNIX được cho là an ninh nhất), TrustedBSD... Sớm muộn gì thì những hệ điều hành này cũng sẽ tạo ra trong những cải tiến hoặc kết hợp về phần mềm với Linux. Hơn nữa, một đóng góp quan trọng là nhân Darwin có xuất xứ từ BSD 4.4, mà Apple đã phát triển như là nhân Nguồn Mở của hệ điều hành Mac OS X của hãng Apple. • Microsoft: bỏ qua việc ngăn trở sự phát triển của UNIX và GNU/Linux, bằng việc thiết lập những trở ngại thông qua tính không tương thích giữa các công nghệ khác nhau, hãng không có sự tham gia trực tiếp nào trong thế giới của UNIX/Linux. Tuy nhiên, trong những ngày đầu hãng đã phát triển Xenix (1980) cho các máy tính cá nhân PC, dựa trên một giấy phép UNIX của AT&T, mà mặc dù không được bán trực tiếp thì cũng được bán thông qua các trung gian, như SCO, mà đã bị kiểm soát vào năm 1987, và đã đổi tên thành SCO UNIX (1989). Như một lưu ý bên lề, sau này hãng đã mua các quyền cho giấy phép UNIX từ SCO (mà tới lượt mình đã có được chúng từ Novell). Những động thái của Microsoft đối với sự mua sắm này là không rõ, nhưng một số phỏng đoán rằng có một sự liên hệ với thực tế rằng hãng ủng hộ SCO trong vụ kiện chống lại IBM. Hơn nữa, gần đây (2006), Microsoft đã đạt được những thỏa thuận với Novell (nhà cung cấp hiện hành của phát tán SuSE và cộng đồng OpenSuSE), trong một số các quyết định song phương cho sự khuyến khích kinh doanh cho cả 2 nền tảng. Nhưng một phần của cộng đồng GNU/Linux vẫn nghi ngờ về những ảnh hưởng tiềm tàng đối với sở hữu trí tuệ và các vấn đề pháp lý có liên quan tới việc sử dụng các bằng Trang 31/471 Lưu ý Bức thư ngỏ từ Novell cho cộng đồng GNU/Linux http://www.novell.com/linux /microsoft/community_open _letter.html
  31. 31. FUOC • PID_00148358 Quản trị cao cấp GNU/Linux sáng chế. Một chuyện tiếu lâm lịch sử thú vị khác là việc cùng với một công ty có tên là UniSys, họ đã tung ra một chiến dịch marketing về cách để chuyển các hệ thống UNIX sang Windows; và dù mục tiêu của nó có thể ít nhiều bình luận được, thì một thực tế tò mò là việc máy chủ web gốc ban đầu của doanh nghiệp này là trên một máy FreeBSD với Apache. Một cách tình cờ, nó cũng trả cho các công ty “độc lập” (một số có thể nói họ là rất không độc lập) để tiến hành những phân tích về tốc độ thực thi có thể so sánh được giữa UNIX/Linux và Windows. Như một tóm tắt chung, một số bình luận có xu hướng sẽ xuất hiện trong tiểu sử của UNIX chỉ ra thực tế rằng UNIX về mặt kỹ thuật là một hệ thống đơn giản và mạch lạc được thiết kế với những ý tưởng tốt, đã đưa được vào thực tế, nhưng chúng ta không nên quên rằng một số ý tưởng đã có được nhờ vào sự hỗ trợ tích cực từ một cộng đồng rộng lớn những người sử dụng và các lập trình viên đã cộng tác bằng việc chia sẻ công nghệ và quản lý sự tiến hóa của nó. Và vì lịch sử có xu hướng tự mình lặp lại, hiện hành thì sự tiến bộ và sự hăm hở nhiệt tình vẫn tiếp tục với các hệ điều hành GNU/Linux. Trang 32/471

×