Introduction to Linux

Download Report

Transcript Introduction to Linux

INTRODUCTION TO
GNU/LINUX
357362 – Special Problems in Electronics
Asst. Prof. Dr. Choopan Rattanapoka
Plan












Introduction to Linux
Installation
BASH
Client/Host Configuration
Data Storage Management
User Management
Package Management
Network Security
Network Service
Open Source Database (MYSQL)
Linux Web Services (Apache)
File Sharing Services
เกณฑ์การให้คะแนน





เวลาเข้าเรียน
งานในห้อง
สอบกลางภาค
สอบปลายภาค
เกรด
10 คะแนน
20 คะแนน
35 คะแนน
35 คะแนน

A
>= 85

B+
>= 75

B
>= 65

C+
>= 55

C
>= 50

D+
>= 45

D
>= 35
หนังสืออ้างอิง
Linux

Linux สามารถอ่านออกเสียงได้ 2 แบบ

ลีนิกซ์ ออกเสียงแบบคนอเมริกา
 ลีนุกซ์ ออกเสียงแบบคนแคนนาดาและยุโรป


Linux เป็ นระบบปฏิบตั ิการที่มีลกั ษณะคล้ายคลึงกับ Unix แต่ฟรี และ
Opensource
Linux สามารถติดตั้งบนฮาร์ดแวร์ที่หลากหลาย ตั้งแต่
มือถือ (android),
 tablet PC (android),
 เครื่องเกม Console (ลงบน PS3 ได้)
 Mainframe
 Supercomputer

OS market share
Linux กับ Server

Linux เป็ นระบบปฏิบตั ิที่ใช้กนั ทัว่ ไปสาหรับเครื่อง supercomputer โดยเครื่องที่มี
ประสิทธิภาพ top 500 ของโลก ทั้งหมด 459 (91.8%) ใช้ Linux
Blue Gene/Q




CPU: 64-bit PowerPC A2 (18 cores
ให้ผใู้ ช้ ใช้งานแค่ 16 cores)
1 ชั้นมี 32 Compute cards (CPU +
16GB Ram)
1 ตู้ (Rack) มี 32 ชั้น ดังนั้นมีจานวน core
= 16*32*32 = 16384
Sequoia
 ใช้สถาปั ตยกรรม Blue Gene/Q
 ประกอบด้วยจานวนตูท
้ ้งั หมด 96 ตู้
 มี Compute cards ทั้งหมด = 96 * 32 * 32 = 98304
 ดังนั้ นมีจานวน core ทั้งหมด = 98304 * 16 = 1,572,864 cores
Multics

ในปี 1960






MIT (Massachusetts Institute of Technology)
AT&T Bell Labs
General Electric
ได้ร่วมมือกันพัฒนาระบบปฎิบตั ิการชื่อว่า Multics (Multiplexed
Information and Computing Service) ซึ่งเป็ นระบบปฎิบตั ิการแบบ
time-sharing
แต่เนื่ องจากเป็ นระบบที่ซบั ซ้อนและมีขนาดใหญ่ และการจัดการโครงการไปเป็ นอย่างช้า
มาก ระบบที่ได้ทางานช้าและไม่มีประสิทธิภาพ
ทาให้นักวิจยั 4 คนออกจากโครงการนี้ และมาทาระบบปฎิบตั ิการใหม่เอง โดยเน้นระบบ
ขนาดเล็ก และตั้งชื่อระบบปฎิบตั ิการใหม่ลอ้ ชื่อเดิมของ Multics คือ Unics
(Uniplexed Information and Computing Service) ต่อมาเขียนสั้นลง
คือ UNIX
UNIX

Unix ถูกพัฒนาขึ้ นในปี 1969 ที่ AT&T’s Bell Lab โดย
Ken Thompson
Dennis Ritchie
Douglas McIlroy
Joe Ossanna
ผูพ้ ฒ
ั นาภาษา B
ผูร้ ่วมสร้างภาษา Go ของ Google
ผูพ้ ฒ
ั นาภาษา C
ผูพ้ ฒ
ั นา Unix Pipeline
ผูร้ ิเริ่มพัฒนา Troff


มีการใช้งานครั้งแรกในปี 1971, Unix ถูกเขียนด้วยภาษา
assembly ใข้งานบนเครื่อง PDP-11/20
ในปี 1973, Dennis ได้แก้ไข Unix ใหม่เกือบทั้งหมดด้วย
ภาษาซี
(1972, Dennis สร้างภาษาซีขนมา
ึ้
ก็เพื่อ Unix โดยเฉพาะ)
GNU
ในปี 1983 นาย Richard Stallman ได้ริเริ่มโครงการ
GNU ย่อมาจาก (GNU is Not Unix)
 เป้าหมายคือต้องการพัฒนาระบบปฎิบต
ั ิการที่ทางานได้
เหมือน UNIX แต่ฟรี
 แต่ GNU ได้เริ่มต้นจากพัฒนา application ต่างๆ ที่ทางานบน UNIX
ได้เหมือน application ต้นแบบ (Compiler, text editor, UNIX
shell)
 ในปี 1990, application ต่างๆสามารถทางานและใช้งานได้อย่างสมบูรณ์
แต่ device drivers, daemons และ kernel ยังไม่สมบูรณ์และไม่มี
คนพัฒนาต่อ (GNU/hurd project)

MINIX




MINIX(Minimal Unix) ถูกเขียนขึ้ นโดย Andrew Tanenbaum
เป็ นระบบปฏิบตั ิการขนาดเล็ก ที่เลียนแบบการทางานบางส่วนของ UNIX
ถูกใช้ในการสถาบันการศึกษาเพื่อเรียนรูเ้ กี่ยวกับระบบปฎิบตั ิการ
ถูกเผยแพร่ครั้งแรกในปี 1987 พร้อมทั้ง source code ที่สมบูรณ์ ซึ่งจะ
ฟรีถา้ ใช้สาหรับการศึกษา แต่ไม่ฟรีถา้ ใช้ในด้านธุรกิจ
Andrew S. Tanenbaum
ได้พฒ
ั นา MINIX ขึ้ นในมหาวิทยาลัย Vrije,
Amsterdam. เพื่อใช้ค่กู บั หนังสือที่เขาเขียน
คือ Operating System: Design
and Implementation
GNU/Linux




ในปี 1991, Linus Torvalds ได้เรียนรูร้ ะบบปฎิบตั ิการ MINIX จาก
หนังสือของ Tanenbaum และมีความสนใจเป็ นพิเศษ
จึงได้คิดจะพัฒนาระบบปฎิบตั ิการขึ้ นมาเองโดยได้แรงบันดาลใจมาจาก
MINIX
Torvalds ได้เริ่มต้นแก้ไขโค้ดของ MINIX และสร้าง Linux Kernel
Application ต่างๆ ของ MINIX ได้ถกู แทนที่ดว้ ย Application
ของ GNU
ถ้า GNU ทา
Kernel เสร็จก่อน
1990 ผมก็คงไม่พฒ
ั นา
Linux หรอก!!
Linux Distributions (Linux Distro)
ประเภทของ Linux

Consumer Grade

เน้นการใช้งานกับผูใ้ ช้ทวั ่ ไป
 มีการ update ซอฟต์แวร์ version ใหม่ๆ บ่อยครั้ง
 ไม่เหมาะกับเครื่องเซิฟเวอร์เนื่ องจากการ update อาจทาให้มีช่องโหว่ใหม่ๆ
ตลอดเวลา
 ตัวอย่างของ Consumer-Grade Linux คือ Fedora, Ubuntu,
OpenSUSE, Gentoo

Enterprise Grade

เน้นกับการใช้งานระดับองค์กร
 มีการปรับปรุงซอฟต์แวร์เก่าๆ แม้วา่ จะผ่านมานานแล้ว
 ตัวอย่าง เช่น CentOS, RHEL, SUSE enterprise, Ubuntu TLS
Enterprise Linux (1)

คุณสมบัติของ Enterprise Linux

Extended support
ปกติแล้วซอฟต์แวร์ open source จะมีการ support ที่ส้นั ตัวอย่าง Fedora หลังจาก 2
ปี แล้วจะหยุดการ support ทันที
 สาหรับ Enterprise Linux ผูผ้ ลิตจะให้การ support ที่ยาวนานมากขึ้ น


Low-Risk Security update
ปกติการ update จะเป็ นการปิ ดช่องโหว่ของ application เก่าๆ แทนที่จะเปลี่ยน
version ของ application
 การ update ส่วนใหญ่ของ EL จะไม่จาเป็ นต้อง reboot เครื่อง


ABI/API stability

Application Binary Interface(ABI), Application Programming
Interface(API) จะไม่มีการเปลี่ยนแปลงทาให้ 3-rd party สามารถเขียนโปรแกรมบน
ระบบได้ง่าย
Enterprise Linux (2)

คุณสมบัติของ Enterprise Linux ต่อ
 Regular
update and bug fixes
 มีระยะเวลาที่แน่ นอนในการ update
และ patch เพื่อแก้ไข bug ทาให้องค์กร
สามารถวางแผนการ update ระบบได้
 Certificates
 EL
จะได้รบั การ certificate ในการติดตั้งลงมาพร้อมกับเครื่องเซิฟเวอร์ เพื่อรองรับ
การทางานของอุปกรณ์ในเครื่องเซิฟเวอร์ได้อย่างสมบูรณ์แบบABI/API stability
CentOS

ย่อมาจาก Community ENTerprise Operation System
 เป็ นระบบปฎิบต
ั ิการระดับ
Enterprise
 ฟรี
 Open
source
 นาเอา source code ของ Red hat enterprise มาใช้งาน
 http://www.centos.org
CentOS และ RHEL


ถึงแม้วา่ CentOS จะนาเอา source code ของ RHEL มาใช้แต่ก็มีขอ้ แตกต่างกัน
RHEL มี 2 version คือ

Red Hat Enterprise Linux


Red Hat Enterprise Linux Advanced Platform





รองรับ 2 CPU, 4 virtual machines(Xen-based)
รองรับ CPU และ virtual machine ไม่จากัด
มีการรองรับ storage virtualization และ high available capability
CentOS รองรับการทางานได้เหมือน RHEL AP แต่ฟรี
การ update ของ CentOS จะช้ากว่า RHEL เนื่ องจากต้องรอให้ RHEL
update ก่อนแล้วค่อยนา source code มาปรับปรุงสาหรับ CentOS
Certificate ของ CentOS ไม่แพร่หลายเหมือน RHEL เนื่ องจากจาเป็ นต้องใช้
เงินและเวลาในการ test