Tải bản đầy đủ (.pdf) (89 trang)

bài giảng mã nguồn mở

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (16.51 MB, 89 trang )

10/8/2014

Tiêu chí đánh giá

MÃ NGUỒN MỞ

 Hoàn thành các bài tập là tiêu chí tự
đánh giá
 Thời lượng:

GIỚI THIỆU PHẦN MỀM NGUỒN MỞ
Đoàn Duy Bình

 45 tiết (3 tín chỉ)

Khoa Tin học, Trường Đại Học Sư Phạm, Đại Học Đà Nẵng
Địa chỉ: 459 Tôn Đức Thắng – Đà Nẵng, Tầng 1 – Nhà A5

 30 lý thuyết
 15 thực hành (làm bài tập nhóm)

Điện thoại: (+84)511-3733293 E-Mail:
--Điện thoại: 0914025264 – 0935222304
Email: ,

Giới thiệu PMNM

 Đánh giá:
 40% giữa kỳ (Kiểm tra tự luận;2228/10/14)
 60% cuối kỳ (Báo cáo bài tập nhóm; 8/1211/01/15/14)
1



Giới thiệu PMNM

2

Nội dung chương trình học





Giới thiệu chung
Hệ điều hành Linux
Giới thiều về phần mềm nguồn mở
Lập trình nguồn mở

Giới thiệu PMNM

Chúc các bạn một
năm học mới và năm
cuối có kết quả tốt!

3

4

1


10/8/2014


Nội dung phần giới thiệu
1.
2.
3.
4.
5.

Mục tiêu
 Cung cấp cho sinh viên kiến thức thế
nào là phần mềm nguồn mở.
 Khi phát triển phần mềm nguồn mở
thì cần phải tuân theo nguyên tắc
nào.
 Biết một số giấy phép về nguồn mở.

Khái niệm về PMNM
Các học thuyết PMNM
Lịch sử PMNM
Ưu và nhược điểm PMNM
Các giấy phép PMNM

5

Khái niệm về phần mềm

6

Các kiểu biên dịch


 Các nhà phát triển phần mềm tạo ra
các chương trình bằng việc viết text,
gọi là “Source Code” hay “Mã nguồn”,
theo một ngôn ngữ nhất định
 Souce Code này thường được biên
dịch thành một định dạng mà máy
tính có thể chạy được.

7

8

2


10/8/2014

Source Code

Cơ sở về phần mềm

 Tạo bởi các ngôn ngữ lập trình
 Java, C#, Prolog
 C, C++, Delphi, Visual Basic, Pascal

 Source Code:
 Là các chỉ dẫn, các câu lệnh mà chương
trình phải làm.

 Miễn là chương trình không cần phải thay

đổi (để trợ giúp cho các yêu cầu mới hoặc
được sử dụng trên một máy tính mới hơn),
người sử dụng không cần thiết Source Code
 Thay đổi chương trình thông thường yêu
cầu quyền sở hữu và sự cho phép để thay
đổi mã nguồn
 Bất kỳ ai mà kiểm soát mã nguồn hợp pháp
thì họ có thể được làm và không làm cái gì.
 Những người sử dụng không có mã nguồn
thường không thể thay đổi được chương
trình để làm cái họ muốn hay chuyển sang
một loại máy tính khác

9

Phần mềm nguồn mở

10

OSS/FS

 Ý tưởng cơ bản đằng sau nguồn mở rất đơn
giản: Các lập trình viên có thể đọc, phân
phối lại, và điều chỉnh mã nguồn một phần
của phần mềm, hay gọi là phần mềm tiến
hóa hay phẩn mềm mở
 Mọi người cải thiện, điều chỉnh, sửa lỗi nó.

 Quá trình tiến hóa nhanh tức là sản xuất ra
phần mềm tốt hơn so với mô hình phần

mềm “đóng” truyền thống, mà chỉ một ít
lập trình viên có thể nhìn thấy mã nguồn,
mọi người khác thì chỉ biết sử dụng.
 Tổ chức Open Source Initiative sáng lập
nhằm thực hiện mục tiêu trên.
11

 Hai định nghĩa chính được sử dụng là
“free software” và “open source
software”
 Phần mềm là loại nào thì phải tuân
theo các điều kiện khác nhau
 Thuật ngữ “free software” xuất hiện
đầu tiên

12

3


10/8/2014

Free and Open Source Software
(FOSS)

Khái niệm PMNM
 Định nghĩa (David Wheeler)
Các chương trình OSS/FS là những chương
trình mà quy trình cấp phép sẽ cho người
dùng quyền tự do chạy chương trình theo bất

kỳ mục đích nào, quyền nghiên cứu và sửa
đổi chương trình, quyền sao chép và tái phát
hành phần mềm gốc hoặc phần mềm đã sửa
đổi (mà không phải trả tiền bản quyền cho
những ngườI lập trình trước)

 Sự bùng nổ về số lượng triển khai các
hệ thống phần mềm nguồn mở đã
làm thay đổi thế giới công nghệ thông
tin.
 Khi những hệ thống FOSS đầu tiên
được phát triển, nhiều người sớm sử
dụng các hệ thống này như là các
chuyên gia về công nghệ.

13

Các học thuyết về PMNM

14

Các học thuyết về PMNM (tt)
Học thuyết FSF

Hai học thuyết PMNM chủ đạo
 Tổ chức phần mềm tự do FSF (Free Software
Foundation)
 Chương trình Sáng kiến nguồn mở OSI (Open
Source Initiative)


15

Phần mềm miễn phí nhằm mục đích bảo vệ
4 quyền tự do của người dùng:
1. Quyền tự do chạy một chương trình với bất kỳ mục đích
nào
2. Quyền tự do nghiên cứu cách thức vận hành của một
chương trình và thích ứng nó cho phù hợp với nhu cầu
của mình.
3. Quyền tự do phân phát các phiên bản của phần mềm để
giúp đỡ những người xung quanh
4. Quyền tự do thêm mới các chức năng cho một chương
trình và công bố những tính năng mới đó đến công
chúng để toàn cộng đồng được hưởng lợi.
16

4


10/8/2014

Các học thuyết về PMNM (tt)

Học thuyết FSF
 Một chương trình là phần mềm tự do nếu người
sử dụng có tất cả tự do. Việc tự do để làm
những thứ có nghĩa là bạn không phải hỏi hay
trả tiền để được cho phép. Có tự do để làm
những sự cải tiến và sử dụng riêng tư trong
công việc riêng mình hoặc chơi, thậm chí

không đề cập những cái đã tồn tại. Nếu bạn
xuất bản những cái thay đổi, bạn không cần
phải thông báo bất cứ ai nói riêng, hay trong
bất kỳ trường hợp đặc biệt nào.
 Free Software không có nghĩa là không thương
mại

Học thuyết OSI
Chú trọng giá trị kỹ thuật của việc tạo ra
những phần mềm mạnh, có độ tin cậy
cao và phù hợp với giới kinh doanh, đặc
biệt là lợi ích thực tiễn của phương
pháp xây dựng và quảng bá PMNM

 Một chương trình free phải có sẵn cho sử dụng, triển
khai và phân phối thương mại.
17

18

1. Free Redistribution – Miễn phí
phân phối lại

Học thuyết OSI
 Open Source không chỉ có nghĩa là truy cập
vào source code.
 Các điều khoản phân phối phần mềm
nguồn mở phải tuân theo các tiêu trí sau:

 Việc cấp giấy phép sẽ không hạn chế

bất kỳ ai từ việc bán hoặc cho theo
các cách khác nhau phần mềm
 Việc cấp giấy phép sẽ không đòi hỏi
phải có trả tiền hoặc các chi phí khác.

19

20

5


10/8/2014

3. Derived Works – Các sản phẩm dẫn
xuất

2. Source code
 Chương trình phải bao gồm Source Code, và
phải cho phép phân phối source code cũng như
các hình thức biên soạn.
 Trong trường hợp một số sản phẩm không
được phân phối với mã nguồn, thì phải công bố
trên các phương tiện đại chúng hoặc download
từ Internet mà không có phí.
 Source code phải được ưu tiên trong trường
hợp lập trình viên sẽ chỉnh sửa chương trình.
 Cố ý làm rối Source code là không được phép
 Các sản phẩm trung gian như đầu ra của một
tiền sử lý hoặc dịch là không cho phép.


 Giấy phép phải cho phép sửa đổi, bổ
sung và các sản phẩm dẫn xuất phải
cho phép họ được phân phối theo
cùng một điều khoản như giấy phép
của phần mềm gốc.

21

22

4. Integrity of The Author's Source Code –
Sự toàn vẹn Source code của tác giả
 Giấy phép có thể hạn chế mã nguồn từ bản đã
được phân phối dưới hình thức sửa đổi chỉ

khi cấp giấy phép cho phép phân phối "các
miếng vá" với mã nguồn cho mục đích của
việc sửa đổi chương trình tại thời điểm xây
dựng.

5. No Discrimination Against Persons or
Groups - Không phân biệt đối xử với cá nhân
hoặc nhóm

 Giấy phép không được phân biệt đối
xử đối với bất kỳ người nào hoặc
nhóm người

 Giấy phép phải rõ ràng cho phép phân phối

phần mềm được xây dựng từ sửa đổi mã
nguồn.
 Giấy phép có thể yêu cầu các sản phẩm dẫn
xuất mang một tên khác hay phiên bản khác từ
phần mềm ban đầu
23

24

6


10/8/2014

6. No Discrimination Against Fields of Endeavor
– Chống lại phân biệt sự cố gắng của các thành
viên

 Giấy phép không được giới hạn từ bất
cứ ai làm việc sử dụng chương
trình trong một lĩnh vực cụ thể
 Ví dụ
 Trong thương mại
 Trong nghiên cứu di truyền

25

8. License Must Not Be Specific to a Product Giấy phép không được cụ thể cho một sản phẩm

 Các quyền kèm theo các chương

trình không phải phụ thuộc vào một
phần bản phân phối đặc biệt.
 Nếu chương trình được trích xuất từ
bản phân phối đó và được sử dụng
hoặc được phân phối trong các điều
khoản của các chương trình cấp phép,
tất cả các bên tham gia vào chương trình
phân phối nên có cùng quyền lợi như
những người được cấp cùng với bản gốc
phần
mềm
phân
phối.
27

7. Distribution of License – Phân phối
giấy phép

 Các quyền kèm theo các chương
trình cần phải áp dụng cho tất cả
các chương trình được phân phối,
mà không cần thực hiện thêm một
giấy phép giữa các bên.

26

9. License Must Not Restrict Other Software –
Giấy phép phải không hạn chế phần mềm khác

 Giấy phép không được đưa ra các

hạn chế về phần mềm khác mà được
phân phối cùng với các phần mềm đã
được cấp phép.
 Ví dụ, giấy phép không được đòi rằng tất
cả các chương trình khác được phân phối
trên cùng môi trường phải là phần mềm
mã nguồn mở

28

7


10/8/2014

Ưu điểm của phương pháp xây
dựng PMNM

10. License Must Be Technology-Neutral –
Giấy phép phải trung lập về công nghệ

 Không cung cấp giấy phép mà phải
xác định dựa theo bất kỳ công nghệ
nào hoặc theo kiểu giao diện nào

1.
2.
3.
4.


Giảm sự trùng lặp nguồn lực
Tiếp thu kế thừa
Quản lý chất lượng tốt hơn
Giảm chi phí duy trì

29

30

Lịch sử của PMNM

Lợi ích của PMNM
1.
2.
3.
4.
5.
6.
7.

Các cột mốc đáng nhớ
1984: Richard Stallman sáng lập dự án GNU (GNU Not Unix)
1991: Linus Tovards viết thành công lõi Linux
1997: GNU/Linux chiếm 25% thị trường máy chủ
1998: Netscape công bố mã nguồn Navigator
Thuật ngữ “Nguồn mở” ra đời
Thành lập Sáng kiến nguồn mở OSI

31


Tính kinh tế
Tính an toàn
Tính ổn định
Sử dụng chuẩn mở
Giảm phụ thuộc vào nhập khẩu
Phát triển năng lực ngành CNPM địa phương
Giảm tình trạng vi phạm bản quyền

32

8


10/8/2014

Hạn chế của PMNM

Ví dụ về tính kinh tế

1. Thiếu các ứng dụng kinh doanh đặc thù
2. Tính tương hỗ với các phần mềm đóng kém
3. Giao diện người dùng chưa tốt

33

Những dự án PMNM thành
công
1.
2.
3.

4.
5.

34

Hệ điều hành GNU/Linux

BIND (máy chủ tên miền DNS)
Apache (máy chủ Web)
Sendmail (máy chủ thư điện tử)
OpenSSH(Công cụ quản trị bảo mật mạng)
Open Office (bộ ứng dụng văn phòng)

35

1. Được tạo thành bởi sự kết hợp những thành
phần trong dự án GNU và lõi Linux
2. Phát hành dưới các bản được đóng gói bởi
các Distro: Red Hat, Debian, SuSE,
Mandriva…
3. Nguồn mở và miễn phí
4. Phù hợp cho mục đích sử dụng làm máy chủ
trong môi trường Internet

36

9


10/8/2014


Các loại giấy phép PMNM

Các loại giấy phép PMNM (tt)

Giấp phép đại chúng GNU (General Public
License)






Người phổ biến một chương trình đã được cấp phép
đại chúng phải đồng thời phổ biến luôn cả mã nguồn
cho người nhận
Nếu người phổ biến chương trình đã thực hiện một
sửa đổi gì đó cho phần mềm thì những sửa đổi đó
cũng phải được cấp phép theo chế độ giấy phép đại
chúng
Người phổ biến chương trình không áp dụng với
người nhận bất cứ hạn chế nào không thuộc phạm vi
giấy phép đại chúng
Người nhận một phần mềm đã cấp phép đại chúng
sẽ được trao y nguyên mọi quyền như người phổ biến
gốc, tức là quyền sao chép, chỉnh sửa và phổ biến
phần mềm

Giấp phép BSD (Berkeley System Distribution)
 Ghi nhận công lao của tác giả đầu tiên làm

ra phần mềm bằng cách đưa vào file mã
nguồn các thông tin bản quyền gốc, và
 Người phát hành ban đầu sẽ không chịu
trách nhiệm trước pháp luật về bất cứ thiệt
hại nào phát sinh do sử dụng những phần
mềm nguồn mở đã được chỉnh sửa

37

38

Các loại giấy phép PMNM (tt)
Giấp phép
đại chúng

Giấp phép
BSD

Phải phổ biến mã nguồn gốc



Không

Phải phổ biến mã nguồn người
dùng tạo mới



Không


Mã nguồn tạo mới phải được cấp
phép đại chúng



Không

Các giấy phép PMNM khác















39

Academic Free License
Adaptive Public License
Apache Software License
Apache License, 2.0

Apple Public Source License
Artistic license
Attribution Assurance
Licenses
New BSD license
Computer Associates
Trusted
Open Source License 1.1
Common Development and
Distribution License
Common Public License 1.0
CUA Office Public License
Version 1.0















EU DataGrid Software
License

Eclipse Public License
Educational Community
License
Eiffel Forum License
Eiffel Forum License V2.0
Entessa Public License
Fair License
Frameworx License
GNU General Public License
(GPL)
GNU Library or "Lesser"
General Public License
(LGPL)
Historical Permission Notice
and
Disclaimer
40

10


10/8/2014

Các giấy phép PMNM khác












IBM Public License
Intel Open Source License
Jabber Open Source License
Lucent Public License
(Plan9)
Lucent Public License
Version
1.02
MIT license
MITRE Collaborative Virtual
Workspace License (CVW
License)
Motosoto License
Mozilla Public License 1.0
(MPL)
Mozilla Public License 1.1
(MPL)










Các giấy phép PMNM khác



NASA Open Source
Agreement 1.3
Naumen Public License
Nethack General Public
License
Nokia Open Source
License
OCLC Research Public
License
2.0
Open Group Test Suite
License
Open Software License









PHP License
Python license (CNRI
Python

License)
Python Software
Foundation
License
Qt Public License (QPL)
RealNetworks Public
Source
License V1.0
Reciprocal Public License
Ricoh Source Code Public
License
Sleepycat License
Sun Industry Standards
Source License (SISSL)










Sun Public License
Sybase Open Watcom
Public
License 1.0
University of Illinois/NCSA
Open Source License

Vovida Software License v.
1.0 W3C License
wxWindows Library
License
X.Net License
Zope Public License
zlib/libpng license

41

Thực trạng nguồn mở

42

Mốc son của LTV mã Mở

 Mã nguồn Mở đạt đuợc nhiều thành
công ở các nuớc tiên tiến nhu Anh,
Đức, Pháp, Hà lan v.v..
 Việt Nam, Hội thảo Quốc gia về Phần
mềm mã Mở lần thứ IV một lần nữa
khẳng định vai trò quan trọng của Mã
nguồn Mở trong chiến luợc phát triển
CNTT của nuớc ta
 Sử dụng các sản phẩm mã Mở trong các
cơ quan nhà nuớc, đưa Mã nguồn Mở vào
trung tâm đào tạo CNTT.
43

 Hàng loạt các diễn đàn thảo luận,

hàng loạt các bài viết về Mã nguồn
Mở như:
 “Liệu Mã nguồn Mở có thể trợ giúp nền
Kinh tế”
 “Phần mềm mã Mở, chìa khóa tương lai
của CNTT”
 Hàng ngàn tuyền dụng LTV Mã nguồn Mở
trong năm 2008 (nguồn Internet)

44

11


10/8/2014

Cơ hội và thách thức PMNM
 Nhu cầu nhân lực Mã nguồn Mở, được
đào tạo bài bản, chuyên nghiệp là rất
lớn và là thách thức cho các đơn vị
đào tạo CNTT.
 Đây cũng là cơ hội vàng cho các bạn
theo đuổi nghề IT có thể nắm bắt và
thực hiện một cuộc bứt phá cho chình
mình và cho đất nước.

45

12



10/8/2014

Nội dung chính

MÃ NGUỒN MỞ
PHẦN II – KHAI THÁC PHẦN MỀM NGUỒN MỞ
Đoàn Duy Bình
Khoa Tin học, Trường Đại Học Sư Phạm, Đại Học Đà Nẵng
Địa chỉ: 459 Tôn Đức Thắng – Đà Nẵng, Tầng 1 – Nhà A5

Điện thoại: (+84)511-3733293 EMail:
--Điện thoại: 0914025264 – 0935222304
Email: ,

Phần II - Khai thác PMNM

1

Giới thiệu lịch sử phát triển của Unix

1. Giới thiệu các hệ điều hành nguồn
mở
2. Phần mềm dịch vụ cho máy chủ
Linux
3. Phần mềm ứng dụng nguồn mở trên
Linux

Phần II - Khai thác PMNM


2

Các phiên bản chính UNIX

 Vài dòng về lịch sử UNIX:

Giữa năm 1960, AT&T Bell Laboratories và một số trung tâm






khác  Multics (Multiplexed Information and Computing
Service)  Không khả thi
Ken Thompson, Dennis Ritchie … thuộc Bell Labs đã không
bỏ cuộc. Thay vì xây dựng một HĐH làm nhiều việc một lúc như
Multics, họ quyết định phát triển một HĐH đơn giản chỉ làm tốt
một việc là chạy chương trình (run program)
Peter Neumann đặt tên cho HĐH “đơn giản” này là Unix
Khoảng 1977 bản quyền của UNIX được giải phóng và HDH
UNIX trở thành một thương phẩm.
Hai dòng UNIX : System V của AT&T , Novell và Berkeley
Software Distribution (BSD) của Đại học Berkeley.
Phần II - Khai thác PMNM

3

Phần II - Khai thác PMNM


4

1


10/8/2014

Các phiên bản chính UNIX

Giới thiệu lịch sử phát triển của Linux

 Hai nhánh chính UNIX: một nhánh từ AT&T và một
nhánh từ AT&T thông qua University of California tại
Berkeley.
 Các nhánh chính ngày nay là AIX từ IBM, HP-UX từ HP
và Solaris từ Sun.
 Một định nghĩa UNIX: Open Group, nhóm sở hữu
thương hiệu Unix đã định nghĩa Unix là tất cả các hệ
điều hành được cấp chứng chỉ nhờ phù hợp với Single
Unix Specification (SUS)
 Một định nghĩa rộng đối với Unix bao gồm cả các hệ
điều hành giống Unix – đôi khi được gọi là Unix "nhái"
hoặc trông giống – mà đã copy các ý tưởng từ Unix
nhưng không trực tiếp cộng tác mã từ Unix. Một phân
phối trong đó là Linux.

Phần II - Khai thác PMNM

5


Lịch sử phát triển của Linux





IEEE đã thiết lập chuẩn "An Industry-Recognized
Operating Systems Interface Standard based on the
UNIX Operating System." Kết quả cho ra đời POSIX.1
(cho giao diện C ) và POSIX.2 (cho hệ thống lệnh
trên Unix)
Linux là một HDH dạng UNIX (Unix-like Operating
System) chạy trên PC với CPU Intel 80386 trở lên,
hay các bộ vi xử lý trung tâm tương thích AMD, Cyrix.
Linux ngày nay còn có thể chạy trên các máy
Macintosh hoặc SUN Sparc . Linux thỏa mãn chuẩn
POSIX.1.
Phần II - Khai thác PMNM

6

Lịch sử phát triển của Linux

•Năm 1991 Linus Torvalds bắt đầu xem xét Minix, một
phiên bản của Unix với mục đích nghiên cứu cách tạo ra
một hệ điều hành Unix chạy trên máy PC với bộ vi xử lý
Intel 80386.

Quá trình phát triển của Linux được tăng tốc
bởi sự giúp đỡ của chương trình GNU (GNU’s

Not Unix), đó là chương trình phát triển các
Unix có khả năng chạy trên nhiều platform.
Đến cuối 2001, phiên bản mới nhất của Linux
kernel là 2.4.2-2, có khả năng điều khiển các
máy đa bộ vi xử lý và rất nhiều các tính năng
khác.

•Ngày 25/8/1991, Linus cho ra version 0.01 và thông báo
trên comp.os.minix của Internet về dự định của mình về
Linux.
•1/1992, Linus cho ra version 0.12 với shell và C
compiler. Linus không cần Minix nữa để recompile HDH
của mình. Linus đặt tên HDH của mình là Linux.
•1994, phiên bản chính thức 1.0 được phát hành.
Phần II - Khai thác PMNM

7

Phần II - Khai thác PMNM

8

2


10/8/2014

Vấn đề bản quyền của GNU Project
 Các chương trình tuân theo GNU Copyleft or
GPL (General Public License) có bản quyền

như sau :
 1. Tác giả vẫn là sở hữu của chương trình
của mình.
 2. Ai cũng được quyền bán copy của
chương trình với giá bất kỳ mà không phải
trả cho tác giả ban đầu.
 3. Người sở hữu chương trình tạo điều kiện
cho người khác sao chép chương trình
nguồn để phát triển tiếp chương trình
Phần II - Khai thác PMNM

9

Tại sao lại sử dụng Linux ?

Tại sao lại sử dụng Linux ?
 Linux là miễn phí (free).
 Linux rất ổn định. Trái với suy nghĩ “của rẻ
là của ôi“, Linux từ những phiên bản đầu tiên
cách đây 5-6 năm đã rất ổn định. Ngay cả server
Linux phục vụ những mạng lớn (hàng trăm máy
trạm) cũng hoạt động rất ổn định.
 Linux đầy đủ. Tất cả những gì bạn thấy ở
IBM, SCO, Sun … đều có ở Linux. C
compiler, perl interpeter, shell , TCP/IP,
proxy, firewall, tài liệu hướng dẫn ... đều rất
đầy đủ và có chất lượng. Hệ thống các
chương trình tiện ích cũng rất đầy đủ .
Phần II - Khai thác PMNM


10

Các phiên bản của Linux.

 Linux rất mềm dẻo trong cấu hình. Linux cho
người sử dụng cấu hình rất linh động, ví dụ như độ
phân dải màn hình Xwindow tùy ý, dễ dàng sửa
đổi ngay cả kernel …Linux chạy trên nhiều máy
khác nhau từ PC 386, 486 tự lắp cho đến SUN
Sparc.
 Linux được trợ giúp. Tài liệu giới thiệu Linux
ngày càng nhiều, không thua kém bất cứ một HDH
nào khác
 Linux là HDH hoàn toàn 32-bit. Như các Unix
khác, ngay từ đầu, Linux đã là một HDH 32 bits.
Hiện nay đã có những phiên bản Linux 64 bits
chạy trên máy Alpha Digital hay Ultra Sparc.

 Các phiên bản của HDH Linux được xác
định bởi hệ thống số dạng X.YY.ZZ. Nếu YY
là số chẵn => phiên bản ổn định. YY là số lẻ =>
phiên bản thử nghiệm .
 Các phân phối (distribution) của Linux quen
biết là RedHat, Debian, SUSE, Slakware,
Caldera …
 Chú ý phân biệt số phiên bản của hệ điều hành
(Linux kernel) với phiên bản của các phân phối
(ví dụ RedHat 9.0 với kernel Linux 2.4.5-15).

Phần II - Khai thác PMNM


Phần II - Khai thác PMNM

11

12

3


10/8/2014

Phần mềm dịch vụ cho máy chủ
Linux






Phần mềm máy chủ Web
(Apache)

Phần mềm máy chủ Web (Apache)
Phần mềm cơ sở dữ liệu (MySQL)
Phần mềm máy chủ tên miền (BIND)
Phần mềm máy chủ email (Sendmail)
Phần mềm quản trị bảo mật mạng
(OpenSSH)










Phần II - Khai thác PMNM

13

Ưu điểm Apache







Phần II - Khai thác PMNM

14

Phần mềm cơ sở dữ liệu (MySQL)
 MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở
phổ biến nhất thế giới và được các nhà phát triển
rất ưa chuộng trong quá trình phát triển ứng
dụng.
 Ưu điểm:

 Tốc độ rất nhanh
 Mạnh mẽ
 Hỗ trợ CSDL quan hệ
 Đa người dùng, đa tiểu trình
 Giấy phép mã mở (GPL)
 MySQL được sử dụng cho việc bổ trợ PHP, Perl,
và nhiều ngôn ngữ khác, nó làm nơi lưu trữ
những thông tin trên các trang web viết bằng
PHP hay Perl

Thiết kế linh hoạt theo module
Ổn định
Bảo mật
Tốc độ nhanh
Đa nền
Mã nguồn mở (BSD)

Phần II - Khai thác PMNM

Chức năng: đảm nhiệm việc nhận và thực hiện các
yêu cầu từ các trình duyệt web
Apache sử dụng giao thức HTTP
Apache chạy trên các hệ điều hành Unix, Microsoft
Windows, Novell Netware và các hệ điều hành
khác
Máy chủ web Apache là đóng vai trò quan trọng
trong quá trình phát triển WWW mà chúng ta biết
ngày nay.
Apache là web server số một từ năm 1996 đến
nay, hiện nay chiếm 62.53% tổng thị trường web

server, hơn gấp đôi đối thủ cạnh tranh MS IIS
Server (27.17%)

15

Phần II - Khai thác PMNM

16

4


10/8/2014

Sự kết hợp Apache,
MySQL, PHP

PHP
 PHP(Personal Home Page) là một ngôn ngữ
lập trình kịch bản hay một loại mã lệnh chủ
yếu được dùng để phát triển các ứng dụng
viết cho máy chủ, mã nguồn mở
 Ưu điểm









Hiệu năng cao
Giao tiếp nhiều CSDL
Có sẵn nhiều thư viện hỗ trợ Web
Giá thành thấp
Dễ học và sử dụng
Khả chuyển
Mã nguồn mở (giấy phép PHP)
Phần II - Khai thác PMNM

17

Miễn phí
Hỗ trợ đa nền
Được thiết kế tối ưu cho nhau
Mã nguồn mở

Phần II - Khai thác PMNM

18

Phần mềm máy chủ tên miền
(BIND)

Cài đặt và cấu hình XAMPP

 Địa chỉ Internet như yahoo.com … không
có chức năng gì nếu không có DNS
(Domain Name System)
 Chúng làm nhiêm vụ chuyển đổi các tên

dễ nhớ thành các địa chỉ số và ngược lại
 Berkeley Internet Name Domain (BIND)
chiếm 95% của tất cả các DNS Server.
 BIND là một chương trình FOSS với giấy
phép BSD

 Linux: Apache, PHP, MySQL (xampp)
 Môi trường phát triển tích hợp:
• Zend Studio
• Macromedia DreamWeaver

Phần II - Khai thác PMNM






19

Phần II - Khai thác PMNM

20

5


10/8/2014

Phần mềm máy chủ email

(Sendmail)

Phần mềm quản trị bảo mật mạng
(OpenSSH)

 Internet không thể thiếu email
 Chức năng Email Server: phân phát
người email người sử dụng tới các đích.
 Email Server làm rất nhiều nhiệm vụ
phức tạp hơn bất kỳ hệ thống nào như
forward mail, gửi lại, loại bỏ mail, điều
hướng.
 Sendmail chiếm 42% thị trường mail
server, MS Exchange 18%, Unix qmail
17%

 Một người dùng kết nối vào một máy chủ từ
xa, an ninh là một mối quan tâm lớn.
 Giao thức SSH(Secure Shell) cho phép
người quản trị hệ thống điều khiển server
từ xa, an toàn trong việc chặn và giải mã
các thông tin truyền đi.
 OpenSSH là một FOSS theo giao thức SSH,
chỉ chiếm 5% thị trường năm 2000, nhưng
T4, 2002 chiếm 66.8%

Phần II - Khai thác PMNM

Phần II - Khai thác PMNM


21

Phần mềm ứng dụng nguồn mở
trên Linux





Phần mềm văn phòng (Open
Office)
 Trong khi phần mềm FOSS dùng cho máy chủ
phát triển mạnh, thì các ứng dụng cho máy
tính để bàn tương đối mới. Open Office dựa
trên source code của Star Office trước đây sở
hữu, là một FOSS với các tính năng tương
đương MS Office.
 Có đầy đủ chức năng về xử lý, bảng tính và
trình chiếu.
 Ưu điểm: đọc được nhiều tài liệu của MS
Office.
 Mặc dù chưa có thị phần lớn trên thị trường
nhưng nó được hy vọng nhiều tổ chức sẽ sử
dụng nhờ có đầy đủ tính năng, giá thành thấp

Phần mềm văn phòng (Open Office)
Phần mềm khoa học
Một số ứng dụng khác
Một số vấn đề chuyển đổi sang môi
trường nguồn mở


Phần II - Khai thác PMNM

22

23

Phần II - Khai thác PMNM

24

6


10/8/2014

Nội dung

MÃ NGUỒN MỞ
PHẦN III – CÀI ĐẶT LINUX
Đoàn Duy Bình

 Cài đặt Linux
 Giới thiệu 1 số chương trình thường
dùng

Khoa Tin học, Trường Đại Học Sư Phạm, Đại Học Đà Nẵng
Địa chỉ: 459 Tôn Đức Thắng – Đà Nẵng, Tầng 1 – Nhà A5

Điện thoại: (+84)511-3733293 EMail:

--Điện thoại: 0914025264 – 0935222304
Email: ,

Phần III – Cài đặt LINUX

1

Các phương thức cài đặt
Linux có thể được cài đặt bởi nhiều
nguồn:
 Từ CD-ROM
 Thông qua mạng (network)
 Thông qua các giao thức như ftp và
http

 Trước khi bắt đầu cài đặt, chúng ta
phải quan tâm đến một số vấn đề:
 Loại Linux (type of Linux system) sẽ cài
đặt
 Cấu hình phần cứng trên máy
 Các thông số network

1


10/8/2014

 Hầu hết các phiên bản sẽ tự động nhận biết
các thông số hardware hiện có.
 Tuy nhiên, đôi khi chúng ta phải có một số điều

chỉnh hoặc drivers đối với các thiết bị riêng
biệt:








PCMCIA
CD-ROM
Harddrive(s)
NIC
Modem
SCSI adaptor


Các bước cài đặt
 Thông thường, các phiên bản Linux sẽ cho lựa
chọn cài đặt mới hoặc nâng cấp (upgrade).
 Các bước thông thường gồm có:
 Chọn intall hoặc update
 Phân hoạch đĩa:
 Chúng ta có thể tạo ra các phân vùng (partition) mới
hoặc dùng lại các partition Linux sẵn có
 Chọn phân vùng swap
 Chọn kiểu file system sử dụng
 Format các phân vùng


 Tùy chọn các thông số software, hardware

Phân vùng đĩa
 Phân vùng đĩa (disk partitioning) là công
việc phân chia ổ đĩa cứng thành các vùng
nhỏ khác nhau.
 Có ba loại phân vùng: primary, extended và
logical
 Có thể có tối đa 4 primary partitions trên
đĩa
 Các phân vùng extended được tạo ra để
chứa logical partitions
 Phân vùng chứa /boot phải năm trong
khoảng 1024 cylinder đều tiên đối với một
số hệ máy cũ

2


10/8/2014

Swap Space
 Swap space là một partition trên ổ cứng.
 Linux sử dụng swap space làm bộ nhớ
ảo (tương tự như pagefile trên windows)
 Cài đặt Linux không có swap space sẽ
làm giảm rõ rệt hiệu năng của hệ thống
 Có thể phân chia nhiều swap space cho
một hệ thống Linux
 Thông số được khuyên dùng: swap = 2

* RAM

File system types
 Linux hỗ trợ khá nhiều định dạng file
system khác nhau:
 Ext2fs: được hỗ trợ từ phiên bản kernel 2.2
trở lên, không support journaling
 Ext3fs: mạnh mẽ hơn phiên bản ext2, hỗ trợ
journaling
 XFS: được phát triển bởi SGI cho dòng vi xử
lý 64 bit, hỗ trợ file có kích thước 8129
petabytes
 JFS: phát triển bởi IBM, hỗ trợ journaling

3


10/8/2014

Qui tắt đặt tên partition
 Các thiết bị trên Linux được đặt tên
theo thứ tự:

Boot Loader
 Boot Loader là công cụ giúp lựa chọn
phiên bản hệ điều hành nào được khởi
động.
 Linux hỗ trợ khá nhiều boot loader khác
nhau:







LILO
GRUB
Choose-OS
System Commander
SYSLINUX

 Hai phiên bản thông dụng nhất là LILO
và GRUB

Download Linux

Màn hình khởi động Fedora

 Fedora:
/> Ubuntu:
 Download:
/>nload
 Request CD:
/>
4


10/8/2014

Giới thiệu một số tiện ích






Open Office
Web Browser
Các giao diện setting
Các IDE lập trình

Writer

Open Office
 Hỗ trợ các tính năng tương tự như bộ
Microsoft Office. Với những phiên bản
mới nhất, có thể đọc được file của MS
Office 2007

Calc

5


10/8/2014

Presentation

Browser _ Instant Messaging

Các cửa sổ setting


Lập trình C++, Java
 Eclipse
 NetBeans
 KDevelop

6


10/8/2014

Cấu trúc các thư mục

MÃ NGUỒN MỞ
PHẦN IV – CÁC CÂU LỆNH CƠ BẢN
Đoàn Duy Bình
Khoa Tin học, Trường Đại Học Sư Phạm, Đại Học Đà Nẵng
Địa chỉ: 459 Tôn Đức Thắng – Đà Nẵng, Tầng 1 – Nhà A5

Điện thoại: (+84)511-3733293 EMail:
--Điện thoại: 0914025264 – 0935222304
Email: ,

Phần IV – LỆNH CỦA LINUX















1

/boot : kernel và cấu hình boot
/bin : các lệnh cơ bản
/dev : các khai báo về thiết bị
/etc : cấu hình hệ thống và ứng dụng
/home : thư mục người dùng
/lib : thư viện dùng chung
/mnt : thư mục mount
/proc : thông tin process
/sbin : các lệnh quản trị
/tmp : dữ liệu tạm
/usr : ứng dụng và thư viện
/var : dữ liệu tạm và biến động
Phần IV – LỆNH CỦA LINUX

Phần IV – LỆNH CỦA LINUX

2

Qui ước đặt tên file
 Tối đa 255 kí tự, dùng bất kì ký tự nào, kể cả các ký tự đặc biệt

 File/thư mục ẩn được bắt đầu bằng dấu chấm “.”, ví dụ
“.bash_history”
 Đường dẫn tuyệt đối: bắt đầu bằng “/”

/ /bin /usr /usr/bin
 Đường dẫn tương đối:không bắt đầu bằng “/”
Đường dẫn đặt biệt

.. - thư mục cha

. - thư mục đang làm việc
Ví dụ: Nếu người dùng đang ở thư mục /etc, muốn tham chiếu đến

.

tập tin /etc/vsftp.conf thì đường dẫn tương đối sẽ là /vsftp.conf

3

Phần IV – LỆNH CỦA LINUX

4

1


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×