You are on page 1of 492

I HC QUC GIA TP.

H CH MINH
TRNG I HC CNG NGH THNG TIN

Mn hc:
CNG NGH LINUX
Qun tr mng LINUX
Lp trnh trn LINUX

Ging Vin : L MNH


Mail : manhle@uit.edu.vn
GII THIU HC PHN
 Mc tiu mn hc
- Nm c cc khi nim v nhng k nng qun tr HH Linux, c kh nng lp trnh c bn
trong mi trng Linux.
 Hnh thc nh gi hc vin
 Thc hin n mn hc, thuyt trnh trn lp, 40% (Ti liu khng qu 50 trang
+ a CD), thay thi gia k.
Vit thu hoch Mn LINUX cc ti lin quan n SoftWare v Mng . . Trong
LINUX (Thay cho n)
 Thi kt thc mn: 60% Trc nghim v t lun(c dng ti liu, Khng dng
my tnh)


Son tho TS L MNH (manhle@uit.edu.vn)


2
 Ti liu tham kho chnh
Nguyn Phng Lan, Hong c Hi. Lp trnh Linux - Tp 1,
NXB Gio dc, 2001.
VN-Guide : LINUX Ton Tp (NXB Thng k ,2002
RedHat,Ch bin Nguyn Minh Hong. Linux (GT l thuyt v Thc
hnh) NXB Lao ng-X Hi,2003.
VN-Guide :Bo mt trn Mng (B quyt v Gii php)2003.
GT Mng my tnh- Trng H CNTT

Son tho TS L MNH (manhle@uit.edu.vn)


3
cng : mn hc
Cng ngh Linux( Qun tr mng v lp trinh )
Chng 0: Gii thiu , lch s ca HH LINUX
S lc lch s UNIX.
Lch s v qu trnh pht trin LINUX.
Cc u v nhc ca LINUX.
Chng 1:Ci t, qun l cc Files System trong
LINUX
Chun b trc khi ci t LINUX.
a cng v phn vng a cng.
Quy trnh ci t LINUX.
Qun l cc Files System trong LINUX.
Son tho TS L MNH (manhle@uit.edu.vn)
4
Chng 2. Cc cu lnh v mt vi trnh
tin ich trong LINUX.
So snh DOS/Windows v Linux
Kin trc Linux
H thng th mc
Phn quyn bo v v truy xut tp tin
Qun
Qu n l tin
ti n trnh
Tp lnh c bn
Trnh qun l th mc (MC)
Cc tp tin khi ng.
Tham kho thm WIN,UNIX
Son tho TS L MNH (manhle@uit.edu.vn)
5
Chng 3: Qun tr mng LINUX.
Cc vn IP Trong LINUX v WINDOWS
NIS Kt ni mng.
FTP cho h thng
SAMBA (Qun l cc thit b)
NFS (Qun l, chia s Files h thng,d liu)
NetWoking trong LINUX
DNS Trong Mng
Security in Linux (Fire Wall, Security, m ha, chng
thc. .) Tham kho thm An Ninh Mng Internet
Mail v qun l Mail
Web v nguyn l xy dng WEB.
Lp trnh SOCKET trong LINUX.
Son tho TS L MNH (manhle@uit.edu.vn)
6
Chng 4: Lp trnh Shell (v ) trong
LINUX.
Linux v Shell
S dng Shell nh ngn ng lp trnh
C php ngn ng Shell
D li (Debug) ca Script
Hin th mu sc
Xy dng ng dng bng ngn ng
Script
Son tho TS L MNH (manhle@uit.edu.vn)
7
Chng 5: Lp trnh trong LINUX.

Linux v Unix
Cng ng GNU v General Public
License
Lp trnh trn Linux
Chng
Ch ng trnh Unix v Linux
Chng trnh Linux u tay helloworld.c
Tm tr gip v trnh bin dch
Pht trin chng trnh vi ngn ng C
Th vin lin kt trn Linux
Son tho TS L MNH (manhle@uit.edu.vn)
8
Chng 6: X l tp tin v Th mc trong LINUX.
H thng tp tin trong Linux
Cc cch x l tp tin trong Linux
Th vin xut nhp chun (Standard I/O Library)
Hm truy xut cp thp
X l th mc
Chng 7 : X l tin trnh trong LINUX
Khi qut v tin trnh trong Linux
Cch hot ng ca tin trnh
Cu trc tin trnh
To lp tin trnh
c thng tin v cc tin trnh

KT THC MN HC
Son tho TS L MNH (manhle@uit.edu.vn)
9
Chng 0: M u
CITD - VNUHCM

Bao gm cc phn sau:

1. Lich s h iu hnh Unix


2. Lch s h iu hnh Linux
3. T i sao phi
Ti ph i s
s dng
d ng Linux ?
4. M hnh pht trin
5. Giy php GNU - GPL (General Public License)
6. Cch pht m ng chun
7. Cc bn phn phi ca Linux
8. Ci t HH Linux

Son tho TS L MNH (manhle@uit.edu.vn)


10
0.1. Lch s h iu hnh Unix
- Gia nhng nm 60, General Electric, Massachusetts Institute for
Technology v Bell Laboratories (AT&T) cng phi hp trong mt c
gng to ra mt HH mi gi l Multics (MULTiplexed Information and
Computing System). n nm 1969, chng trnh Multics b bi b.
- Sau , Kenneth Thomson, mt ngi rt thch cc tnh nng ca
Multics, nhng nhn thy n qu phc tp v tm cch t cc mc tiu
c bn ca Multics nhng bng con ng n gin hn. Nm 1969,
phin bn u tin ca Unix gi l Unics (Uniplexed Information and
Computing System) c xc tin xy dng.
- Nm 1973, h thng c vit li bng ngn ng C. K t , Unix tr
thnh h iu hnh c s dng rng ri nht c tnh kh chuyn cao.
Nm 1979, phin bn 7 ca Unix c pht hnh v l h iu hnh gc
cho tt c cc h thng kiu Unix sau ny.

Son tho TS L MNH (manhle@uit.edu.vn)


11
- Vo thi im trn, cng ng cc trng i hc v hc vin, ng
u l Berkeley, pht trin mt nhnh khc gi l Berkeley Software
Distribution (BSD), trong khi AT&T tip tc pht trin Unix di tn gi
l System III, System V, System VII.
- Trn th trng, System V l phin bn thnh cng v nhiu nh cung
cp phn cng hng ti sn phm ny ca AT&T.
- Hu ht cc phin bn Unix u thuc quyn s hu v c bo v
bi tng nh cung cp phn cng tng ng, v d Sun Solaris l mt
phin bn ca System V. Trong khi, ba phin bn ca BSD cui cng
tr thnh m ngun m: FreeBSD (d ci cho PC), NetBSD (a nn
tng) v OpenBSD (c tnh bo mt cao).

Son tho TS L MNH (manhle@uit.edu.vn)


12
.: TM TT LCH S PHT TRIN HH UNIX:.
--------------------
1969 The Beginning Kenneth Thompson, Dennis Ritchie khi cng "little-
used PDP-7 in a corner" ti Bell Labs (AT&T), tin
thn ca UNIX sau ny.

1971 First Edition Assembler cho PDP-11/20, File system, fork() v ed.

1973 Fourth Edition c vit li bng C. C tnh kh chuyn (Portable).


Nhng thay i c tnh cch mng i vi ton
lch s pht trin h iu hnh.

1975 Sixth Edition Unix ln u l din ngoi khun kh Bell Labs.

1979 Seventh Unix c hon thin ng k. Thm Bourne shell.


Edition
Chuyn sang h my VAX vi nhn khong 40 KB.

1980 Xenix Xenix ca Microsoft.

Son tho TS L MNH (manhle@uit.edu.vn)


13
.: TM TT LCH S PHT TRIN HH UNIX:.
--------------------
1982 System III AT&T's UNIX System Group (USG) a ra System III.

SunOS 1.0, HP-UX, Ultrix-11.

1983 System V Computer Research Group (CRG), UNIX System Group


(USG) hp nht thnh UNIX System Development Lab.

AT&T cng b System V, phin bn u tin c h tr.

Hn 45.000 bn Unix.

1984 4.2BSD University of California at Berkeley a ra 4.2BSD.

X/Open thnh lp.

1984 SVR2 System V Release 2.

Hn 100.000 bn UNIX c ci trn ton th gii.

Son tho TS L MNH (manhle@uit.edu.vn)


14
.: TM TT LCH S PHT TRIN HH UNIX:.
--------------------

1986 4.3BSD NFS (Network File System). AIX c pht hnh. Hn 250.000
bn Unix.

1987 SVR3 System V Release 3.

Hn 750.000 bn Unix.

1988 Chun POSIX.1 (Portable Operating System Interface for Unix).

Open Software Foundation (OSF) v UNIX International (UI)


thnh lp.

1989 SVR4 UNIX System V Release 4 thng nht System V, BSD v Xenix.

Hn 1.2 triu bn Unix.

Son tho TS L MNH (manhle@uit.edu.vn)


15
.: TM TT LCH S PHT TRIN HH UNIX:.
--------------------
1991 UNIX System Laboratories (USL) tr thnh cng ty
do AT&T lm s hu chnh.

Linus Torvalds bt u pht trin Linux.

Solaris 1.0.

1992 SVR4.2 USL pht hnh UNIX System V Release 4.2.


Solaris 2.0.
1993 4.4BSD 4.4BSD phin bn cui cng ca Berkeley.
Thng 6, Novell mua USL.

Late SVR4.2MP Novell chuyn thng hiu "UNIX" v Single UNIX


1993 Specification cho X/Open.

Thng 12, Novell a ra SVR4.2MP.

1994 Single UNIX X/Open cng b Single UNIX Specification nhm tch
Specification thng hiu UNIX khi cc m ngun.

Son tho TS L MNH (manhle@uit.edu.vn)


16
.: TM TT LCH S PHT TRIN HH UNIX:.
--------------------

1995 UNIX 95 X/Open a ra UNIX 95 thc thi Single UNIX Specification.

1997 Single UNIX Version 2 of the Single UNIX Specification bao gm h tr


Specificatio Thi gian thc (realtime), a lung v b x l t 64-bit
n, Version 2 tr ln.

IRIX 6.4, AIX 4.3 v HP-UX 11.

1998 UNIX 98 The Open Group cng b UNIX 98.

Son tho TS L MNH (manhle@uit.edu.vn)


17
.: TM TT LCH S PHT TRIN HH UNIX:.
--------------------
1999 UNIX at 30 UNIX trn 30 tui. Linux 2.2 kernel.

The Open Group cng IEEE cng xem xt li POSIX v


Single UNIX Specification.

Nhng hi tho u tin ca LinuxWorld.

Tru64 UNIX

2001 Single UNIX Version 3 ca Single UNIX Specification l kt qu hp


Specification, nht vi POSIX ca IEEE.
Version 3
Linux 2.4 kernel. AIX 5L.

Tng gi tr lin quan n dng Unix vt 25 t USD.

2003 ISO/IEC Ni dung ca Version 3 of the Single UNIX Specification


9945:2003 tr thnh chun quc t.

Solaris 9.0.

Linux 2.6 kernel.


Son tho TS L MNH (manhle@uit.edu.vn)
18
.: CY TIN HA CA HH UNIX :.
--------------------

Son tho TS L MNH (manhle@uit.edu.vn)


19
0.2. Lch s h iu hnh Linux
- Nm 1991, Linus Torvalds bt u pht trin mt Kernel HH c
tn l Linux.
- Trong cng ng Linux, nhiu t chc khc nhau kt hp cc
thnh phn khc c sn thnh bn phn phi (distribution). l cc
nh phn phi (distributors).
- Cc bn phn phi thng dng gm c Linux ca Red Hat,
Mandrake, SuSE, Caldera, Corel v Debian. Vit Nam c Linux
VN v VietKey Linux.
- C nhng s khc nhau gia cc bn phn phi , nhng tt c
cc bn phn phi u da trn cng nn tng: Kernel ca Linux
v cc th vin ca GNU (http://www.gnu.org/)

Son tho TS L MNH (manhle@uit.edu.vn)


20
- Kernel ca Linux c phn phi di giy php GNU GPL
(General Public License) v m ngun ca n c phn phi t do
ti mi ngi.
- Phin bn Kernel cui hin nay l 2.6 (2.6.19 phn phi ngy
26/11/2006 ti trang Web:
http://www.kernel.org/pub/linux/kernel/v2.6/)
- Ngoi Kernel, c nhiu phn mm v dch v c xy dng
chy trn Linux (Software Packages)
- Ngi dng c xu th la chn Linux Kernel vi mt s ng dng
cn thit cho mnh v l ngun gc ca cc Linux Distribution.

Son tho TS L MNH (manhle@uit.edu.vn)


21
Linus Torvalds
1969
Sinh ti Helsinki, Phn Lan.

1983
Richard Stallman sng lp the Free Software Foundation (GNU project).

1986
Thit k The Unix Operating System ca Marice J. Bach c cng b.

1988.
Vo i hc . Nhng tng ban u ca Minix.

1990
Nhng bi hc u tin v lp trnh C.

1991
Bt u pht trin Linux.
Tham kho thit k ca Marice J Bach.
Thng 10, cng b bn chnh thc ca Linux (bn 0.02) mi ch c Bash Shell v
GCC.

1992
Thng 1, Linux 0.12. Chuyn sang dng General Public License.
Son tho TS L MNH (manhle@uit.edu.vn)
Thng 3, Linux 0.95. 22
Linus Torvalds
1994
Version 0.99 sau l Version 1.0 c cng b trn Internet.
Cuc cch mng WEB i cng vi Linux.

1995
Thng 1, FreeBSD 2.0.
Red Hat c gim c iu hnh mi l Robert Yong (ngi
sng lp Linux Journal).

1996
Con gi u lng ca Linus ra i. S pht trin ca Linux c
chm li.

Thng 12, Linux 2.0.

1997
Linus tip xc vi Microsoft: Kt thc gian on hn lm ti
Phn Lan (t 1988-1997, ng 10 nm hc tp v nghin cu
ti University of Helsinki). Nay v Bay Area (Santa Clara)
lm vic vi Transmeta (Paul Allen ca Microsoft l mt trong
nhng ngi sng lp chnh).

Son tho TS L MNH (manhle@uit.edu.vn)


23
0.3. Ti sao phi s dng Linux?
- Linux l mt HH min ph (tnh min ph, tnh t do). Mi ngi
u c th truy cp v thay i Linux.
- Linux l mt h iu hnh mnh v tin cy (tnh n nh)
- Trong thc t, Linux c th d dng ly v v nng cp, sa i cho
ph hp (tnh mm do). Ti liu v HH ny c sn nhiu trn
mng.
- Ngi s dng khng cn b l thuc Windows hay nhng sn
phm Microsoft khc vn hnh my tnh. Thay vo , c th
chn bt k mt chng trnh ngun m no (tnh linh hot). iu
ny m bo cho ngi dng Linux duy tr h thng ca h v
nhng ci tin s khng ngng c pht trin.

Son tho TS L MNH (manhle@uit.edu.vn)


24
- Linux l mt HH 32-bit, thm ch ti 64-bit (tnh tng thch).
Cng ng trn mng hin nay s dng HH ny nhiu, do c
th yn tm rng chng ta lun c hu phng ng o v vng
mnh sn sng tr gip trong khong thi gian sm nht (tnh nhn
vn)

 Linux thch hp cho nhng ngi mun i vo


nghin cu HH chuyn nghip v l cng c tt cho
vic o to ti cc trng i hc.
hc.

Son tho TS L MNH (manhle@uit.edu.vn)


25
0.4. M hnh pht trin

Son tho TS L MNH (manhle@uit.edu.vn)


26
5. Cc c tnh c bn ca Linux.

a tin trnh.
Tc cao.
B nh o (Partition Swap).
S dng chung th vin.
S dng cc chng trnh x l vn bn.
S dng giao din ca s.
Samba.
Network Information Service (NIS).

Son tho TS L MNH (manhle@uit.edu.vn)


27
Cc phn mm h tr
Internet:Apache, Sendmail, BIND, Squid, Wu-ftp, Inn
Database :Postgresql,mySQL,Litle SQL, SQL Server.
Desktop : KDE, GNOME
Office : OpenOffice, KOffice, Abiwor
Graphics : GIMP
Development : KDevelop, Anjuta
Cc ti nguyn trn mng
m ng :
1. http://vnlinux.org ,http://xvnkb.sf.net , http://vnlug.org
,http://freshmeat.net, http://www. istrowatch.com
,http://www.osnews.com, http://www.linuxto ay.com

Son tho TS L MNH (manhle@uit.edu.vn)


28
Cc c tnh c bn (tt)
Lp lch hot ng.
Sao lu d liu.
H tr nhiu ngn ng lp trnh.
a ngi dng (multiuser)
a nhim (multitasking)
H thng file phn cp (hierarchical)
Xut nhp (I/O) c lp thit b
c lp kin trc v trong sut vi ngi dng
Bo mt
M ngun m

Son tho TS L MNH (manhle@uit.edu.vn)


29
6. Cc khuyt im ca Linux.

Thiu tr gip k thut. t c cng ty no chu trch


nhim pht trin h iu hnh Linux ny, Thiu h tr
phn cng
Cc vn v phn cng. Linux khng d ci t v rt
nhiu khi khng tng thch vi mt vi phn cng no
, Cha thn thin vi ngi dng
Ci t cn phc tp
Phn mm ng dng cn kh thao tc
Cn da nhiu vo giao tip dng lnh

Son tho TS L MNH (manhle@uit.edu.vn)


30
7. Kin trc ca Linux.

NGI DNG

Son tho TS L MNH (manhle@uit.edu.vn)


31
8. Linux khc UNIX nh th no?

UNIX c pht trin vi mt chnh sch nghim ngt.


Mi ngi u c th tham gia pht trin Linux.
Khng c t chc no chu trch nhim v cc phin bn
ca Linux.

Son tho TS L MNH (manhle@uit.edu.vn)


32
9. So snh Linux vi Windows .

Kernel v mi trng.
Kh nng tng thch.
H tr.
Gi thnh.
Kh nng pht trin cc ng dng mng.
Tnh m trong pht trin cng ng cng ngh.
Kh nng pht trin h thng trn nhiu mi trng ng
dng

Son tho TS L MNH (manhle@uit.edu.vn)


33
0.11. Giy php GNU GPL (General Public License)
- Giy php phn mm m ngun m (Open Source OS) cho php
ngi dng c, truy cp, thay i v lm li m ngun ca mt sn
phm phn mm (theo t chc OSI Open Source Initiative). Cc giy
php phn mm c OSI ph chun v qun l ti
http://www.opensource.org. Xem thm chi tit trong
http://www.opensource.org/docs/osd-vietnamese.php/
- Open Source mang ngha t do nhiu hn l min ph.
- Mi loi giy php c nhng iu khon quy nh ring. V d: BSD
Licensing ch di 1 trang vi 3 iu khon cn phi tun th nhng trong
khi th Mozilla Public License 1.1 di n 12 trang cp mi th t
vic nh ngha thut ng n cch thc p dng giy php cho chnh
ph.

Son tho TS L MNH (manhle@uit.edu.vn)


34
- Mt trong nhng iu khon quan trng l: Nu ta thay i m ngun
th phi lp li ti liu v cc thay i v nh km m ngun theo phn
mm.
- Khng c thng bo bn quyn ca mnh (copyright) mc d thay
i m ngun ca chng trnh.
- Xem thm thng tin ti http://www.linux.org/info/gnu.html
- Ngi ta cn ni GNU GPL l Copyleft thay cho khi nim
Copyright.

Son tho TS L MNH (manhle@uit.edu.vn)


35
Ni dung chnh ca GNU GPL

Tc gi vn gi bn quyn i vi vi phn mm gc.


Ngi s dng c th sao chp v phn phi chng
trnh di bt c hnh thc no v gi c ty .
Ngi s dng c th thay i mt phn ca chng
trnh v phn phi thay i ca mnh cng ton b
phn mm cho ngi khc, vi iu kin ni r phn
mnh thay i.
Nu nhng thay i khng th tch ri ton b phn
mm th GNU GPL s m rng sang nhng thay i .
Ngi s dng khng c thng bo bn quyn.
Phi m bo cung cp m ngun khi bn mt sn phm
theo GNU GPL ngi khc c th s dng v/hoc
bn tip. Ngi dng k tip c y quyn li nh
ca ngi trc.
Son tho TS L MNH (manhle@uit.edu.vn)
36
TH MC THAM KHO

Son tho TS L MNH (manhle@uit.edu.vn)


37
0.12 Cch pht m ng chun
Linux thng c pht m vi i ngn ging mi v trng m ti
nguyn m u tin: LIH nucks Tc gi Linus Torvalds pht m t
LIH--nucks.
ny nh sau:

 Bng ting Thy in:


http://www.linux.org/info/sounds/swedish.au
-Nghe c: SWEDISH 
 Bng ting Anh: http://www.linux.org/info/sounds/english.au
-Nghe c: ENGLISH 
- Xem thm thng tin ti: http://www.linux.org/info/gnu.html

Son tho TS L MNH (manhle@uit.edu.vn)


38
0.12. Cc bn phn phi ca HH Linux
- Cc bn phn phi ca Linux bao gm:
 Tp hp cc phn mm (Software Packages)
 Chng trnh ci t (Installer)
 Cc cu hnh ca ring nh sn xut (Re-configure)
 Trnh qun l v cp nht gi phn mm (Update/Patch)
 Cc phn mm thng mi khc (Commercial Software)
 Ti liu hng dn, h tr ngi dng (User Guide)

Son tho TS L MNH (manhle@uit.edu.vn)


39
- Mt s Linux Distro chnh (thng dng - c nhiu ngi dng v h
tr):
 RedHat
 Mandrake
 SuSE
 Debian
 Slackware
 Knoppix
 Lindows
 v.v
 Trong c mt vi Linux Distro thuc dng LiveCD, ngha l
chy trc tip trn a CD-ROM m khng cn thng qua qu
trnh ci t vo my tnh (k thut ny s dng b nh RAM
phc v trong qu trnh thc thi. V d Knoppix l mt Linux
LiveCD n nh v c nhiu ngi dng, thch hp cho qu trnh
ging dy Linux).
Son tho TS L MNH (manhle@uit.edu.vn)
40
FEDORA CORE LINUX

 D n m ngun m c Red Hat ti tr, cng b thng 9/2003


 Nhng thnh qu cu cng ng c th c dng cho Red Hat
Enterprise Linux
 Cc phin bn ph bin: 4, 5, 6
 Tham kho: http://fedora.redhat.com

Son tho TS L MNH (manhle@uit.edu.vn)


41
0.13. Ci t HH Linux
 Giai on chun b trc khi ci t
- Mc tiu: Nm c mt s yu cu cn thit nhm phc v tt trong qu trnh ci
t.

Yu cu phn cng: (Ti thiu)


CPU 386 hoc mi hn.
Dung lng b nh: 16MB
Dung lng cng:
~ 100MB nu ch s dng Console Mode (~1000MB nu ci RedHat 9.0)
~ 500MB nu s dng Graphic Mode (~1500MB nu ci RedHat 9.0)
CD-ROM
a mm 1.44MB

Yu cu phn mm:


B ci t RED HAT Linux 9.0 (6 disks: CD1-CD6)
a mm khi ng Linux

Son tho TS L MNH (manhle@uit.edu.vn)


42
0.13. Cch ci t HH Linux (tip
(tip theo)
theo)
 To a mm khi ng
- Mc tiu: To a mm khi ng Linux trong trng hp khng th khi ng t a
CD-ROM hoc ROM-BIOS khng h tr khi ng t CD-ROM.

 Cc bc tin hnh:
Kim tra c tp tin boot.img trong th mc Images ca CD1 khng?
Thc thi rawrite.exe ghi boot.img ny ra a mm.
Tin hnh khi ng t a mm va to.

 c nhng thng tin hng dn chi tit


hn  tham kho Readme trong CD1
hoc vo trang ch ca RedHat ti
a ch: http://www.redhat.com/ c
nhng ch dn c th hn trong qu trnh
ti nh a (Disk Image).

Son tho TS L MNH (manhle@uit.edu.vn)


43
Cch ci t HH Linux (tip
(tip theo)
theo)
 Cc bc ci t chnh
 Sau khi khi ng t Floppy Disk hoc CD Disk, mn hnh ci t
s hin ra mt bng thng bo yu cu chn MODE ci t. Nhn
ENTER chn MODE mc nh l ha)

 Language: Chn English  Next

 Keyboard: Chn loi bn phm hin c

 Mouse: Tng t nh mc Keyboard  Next

Son tho TS L MNH (manhle@uit.edu.vn)


44
Cch ci t HH Linux (tip
(tip theo)
theo)
Install Type:Chn loi ci t
Workstation: Loi ci t cho my trm v PC thng thng
Server System: Ci t cho my ch dch v (Web, Mail, )
Laptop: Loi ci t dnh cho my tnh xch tay
Custom System: Kiu ci t cho php la chn.

Disk Partition: C ba la chn:


Automatically: Qu trnh ci t hon ton t ng
Manually partition with Disk Druid: S dng trnh phn hoch a
dng Graphic Mode (nh Partition Magic)
Manually partition with FDISK: S dng trnh chia a dng Text
Mode (Nh FDISK ca MS-DOS)

Son tho TS L MNH (manhle@uit.edu.vn)


45
Cch ci t HH Linux (tip
(tip theo)
theo)
LILO (Linux Loader): mc nh hoc chn GRUB (GRand
Unified Bootloader)
 Network Card: Khai bo cc thng s cho NIC
 Firewall: mc nh (c th chn HIGH tng cng tnh nng
bo mt)
 Language Section: Chn loi ngn ng th hin (ENGLISH)
 Time Zone: Chn Vit Nam (hoc vng khc)
 Account Information: Nhp mt khu cho root (user c quyn cao
nht trn h thng). Sau Add thm vi user khc
 Authentication Configuration: Chn kiu xc thc  Nn mc
nh

Son tho TS L MNH (manhle@uit.edu.vn)


46
Cch ci t HH Linux (tip
(tip theo)
theo)
 Package Group Selection: chn cc gi phn mm cn ci t.
 X Configuration: Chn loi video card. Thng thng RED HAT
s t ng d tm.
 Monitor Configuration: Tng t nh video card
 Customize Graphic Configuration: Chn loi giao din mc
nh lc ng nhp (mc nh l Graphic) tuy nhin nu RED HAT
khng nhn din c Video Card th bn nn chn Text Mode.
Driver thch hp s ci sau.
 About to install: Nhn Next
 Installing Packages: i qu trnh ci t hon tt
 Boot Disk Creation: To a mm cu h trong trng hp Linux
b li khng boot c
 Exit: Kt thc qu trnh Install. My tnh s t khi ng li (Phi
rt cc da hin ang c trong cc a ra)

Son tho TS L MNH (manhle@uit.edu.vn)


47
Kt thc chng 0

Chn thnh cm n
Cc anh/
anh/ch tham d bi ging
ging..

B phn Multi-
Multi-media h tr chng
ti trong qu trnh thuyt ging
ging..

Son tho TS L MNH (manhle@uit.edu.vn)


48
Chng 1: C bn v h thng Linux
CITD - VNUHCM

Bao gm cc phn sau:

1. Chun b trc khi ci t


2. a cng v phn vng a
3. Qui tc kim sot a ca Linux
4. Tm hiu qu trnh khi ng ca Linux vi cc HH khc
5. ng dn v cch truy xut a
6. Tng tc h thng v c ch ng nhp

Son tho TS L MNH (manhle@uit.edu.vn)


49
1.1. Chun b trc khi ci t
- Linux l mt HH c tnh mm do, khng i hi cu hnh phn cng
cao. Tuy nhin, cho hot ng c tt th cn phi c mt s yu cu
ti thiu nh sau:
 B X L INTEL PENTIUM II OR III
 32MB RAM
 CNG CN TRNG 2 GB 10 GB
 DISPLAY ADAPTER C DUNG LNG B NH 2 MB 4 MB.

- Hin nay c nhiu bn phn phi khc nhau nh:


 RedHat
 Mandrake
 SuSE
 Debian
 v.v...
Son tho TS L MNH (manhle@uit.edu.vn)
50
1.2. a cng v phn vng a
1.2.1. a cng v phn vng a
- a cng c thit k c nhiu HH cng tn ti.
- a cng c th c chia lm nhiu phn vng (thng gi l
partition).

- Mi HH s c ci trn mt phn vng ring bit v c ton quyn


(Full Control) nh dng h thng lu tr (File System) do HH quy
nh. Hnh 1-1 di y l phn vng a cng ci t cc HH khc
nhau:

Son tho TS L MNH (manhle@uit.edu.vn)


51
10GB 3GB 3GB
10GB DOS/WIN98
DOS/WIN98 DOS/WIN98

7GB 2GB LINUX


Hnh 1.1
Phn vng a v HH
5GB
WinNT/2000

A B C D

A. a cng 10GB, cha ci HH no


B. a cng gm 1 vng 10GB ci ton b HH DOS/Win98
C. a cng gm 1 vng 3GB ci HH DOS/Win98 v 7GB cn li
cha dng
D. a cng gm 1 vng 3GB ci HH DOS/Win98, mt vng 2GB ci
HH Linux v 5Gb cn li ci HH Windows NT/2000/XP

Son tho TS L MNH (manhle@uit.edu.vn)


52
- V mt vt l th ta ch c th phn chia a cng thnh 4 phn vng
chnh (gi l Primary Partition). Do vy, nu s dng phn vng chnh
th cao nht l ta ch c th ci c 4 HH ln trn cng mt a cng
(gii hn ny do sector khi ng MBR - Master Boot Record quy nh).
- khc phc gii hn k trn co th dng Extended Partition. Thc ra,
phn vng m rng ny cng l phn vng chnh nhng vi tnh nng c
th m rng cho php chia tip thnh nhiu phn vng con bn trong.
Mi phn vng con nh vy c gi l Logic Partition. Hnh 1.2 cho
thy s khc bit gia Primary Partition v Extended Partition.
- Do vy, nu c nhu cu nhiu hn 4 partition, c th to ra phn vng
EXTENDED

Son tho TS L MNH (manhle@uit.edu.vn)


53
3GB
DOS/Win
Primary Partition (3GB)

2GB

Extended Partition (5GB)

Logical
Partition

1GB 1.5GB 0.5GB Cha phn vng

1.5GB Primary Partition (1.5GB)

0.5GB Cha phn vng

Hnh 1.2
Phn vng trn cng 10 GB
Son tho TS L MNH (manhle@uit.edu.vn)
54
1.2.2. Phn vng ca DOS v Windows
- Trn HH thng dng nh DOS v Windows th khi nim tn a
c t bng cc k t ch ci thng dng nh: C:, D:, E:, F:, v.v...
Trong a C: chnh l Primary Partition (v thng thng th ngi
ta thng ly tn a chnh ci t HH)
- Thng thng, nhng a khc C: nh D:, E:, F: u l tn a gn
cho phn vng Logic
- Hnh 1.3 di y l m hnh phn vng thng thy trn cc my ci
Windows
C: 2GB Primary Partition C: 2GB C: 2GB
Windows 98 Windows 98 Windows 98

D: D: WinNT
Extended
Partition
E: F: E: F:

G: G:

Hnh 1.3
A B C
Phn vng ca HH Windows
Son tho TS L MNH (manhle@uit.edu.vn)
55
- Nu my ch c a C: th c th l ch c mt phn vng Primary.
- Nu my c thm D:, E:, F:, th c ngha l bn c phn vng
Extended v bn trong cc a D:, E:, F: l nhng phn vng Logic ca
Extended Partition.
- xem c cu hnh phn vng trn a cng vt l, s dng lnh
FDISK ca MS-DOS.

Son tho TS L MNH (manhle@uit.edu.vn)


56
1.2.3. Phn vng ca Linux
- Trn HH Windows th yu cu ci t th ch cn c 1 Primary
Partition. Tuy nhin, trn HH Linux th yu cu ti thiu l hai phn
vng (Primary Partition hoc Logic Partition):
 Phn vng gc cha nhn (kernel) v h thng file gi l root
partition (hay cn gi l Linux Native Partition).  Bt buc
phi c khi ci t
 Phn vng tm gi l swap partition dng l khng gian hon
i khi b nh vt l y
 Windows s dng tp tin (.swp, .tmp hay pagefile.sys) lu tr b
nh o, trong khi Linux s dng nguyn hn 1 phn vng ... Kch thc
ca phn vng SWAP ny c nn bng 2 ln dung lng b nh vt l


Son tho TS L MNH (manhle@uit.edu.vn)


57
- Windows s dng k t C gn cho phn vng chnh trong DOS, thay
vo Linux s dng k t / gn cho phn vng gc ni Linux c ci
t v lu tr file.

C:\\ ~ /
C:

Son tho TS L MNH (manhle@uit.edu.vn)


58
1.2.4. Ci t Linux chung vi Windows

Windows

Windows

Linux

A. a cng vi d liu b phn tn B. a cng vi d liu c sp xp li v chia vng

Hnh 1.5
Sp xp d liu cho vic ci t

Son tho TS L MNH (manhle@uit.edu.vn)


59
- Yu cu: Phi gim phn mnh trn a cng d nh s ci t
Windows (bng trnh Defragment ca Windows hoc SpeedDisk ca
Norton) nhm mc ch sp xp d liu li thnh mt nhm (gim phn
mnh).
- Nu phn vng cha Linux cn qu t m trong khi phn vng cha
Windows hin ti li qu nhiu (ch l Linux khi ci t phi c t nht
2 phn vng) th ta tin hnh thay i kch thc ca phn vng cha
Windows bng trnh Partition Magic ca hng PowerQuest (chng
trnh ny c nh gi l tt v khng lm mt d liu khi Phn hoch
li a)

Son tho TS L MNH (manhle@uit.edu.vn)


60
1.3. Quy tc kim sot a ca Linux
- Ht nhn (kernel) ca Linux xy dng c ch truy xut tt c cc loi
a v thit b u dng tp tin.
 a mm l fd ( a mm th 1 {A:} l fd0; a mm th 2
{B:} l fd1, )
 a cng vt l th nht hda (theo chun SCSI c gi l sda)
 a cng vt l th hai hdb (theo chun SCSI c gi l sdb)
 a cng vt l th ba hdc (theo chun SCSI c gi l sdc)
- Cc phn vng Primary (k c Extended) c nh s t 1  4. Cc
phn vng Logic (bn trong Extended) c nh s bt u t s 5 tr
i.
- Nhng thng tin v phn vng v cch truy xut c Linux to
thnh 1 tp tin lu trong th mc /dev. Hnh 1.6 cho thy cch t
tn phn vng trong Linux

Son tho TS L MNH (manhle@uit.edu.vn)


61
/dev/hda1  Phn vng chnh cha DOS/Windows
/dev/hda2  Phn vng m rng (cha cc phn vng logic)
/dev/hda5  Phn vng logic
/dev/hda6  Phn vng logic
/dev/hda7  Phn vng logic
 Ci t v kt gn phn vng, tham kho trong hnh 1.7 v hnh 1.8.
hda1

hda5
Linux

hda2
hda6 hda7
swap

Hnh 1.6
Phn vng v cch t tn ca Linux
Son tho TS L MNH (manhle@uit.edu.vn)
62
.: MT S MN HNH DEMO VIC GN CC K HIU PHN VNG :.

Hnh 1.7 - Hnh 1.8


Ci t v kt gn phn vng

Son tho TS L MNH (manhle@uit.edu.vn)


63
1.4. Qu trnh khi ng ca Linux vi cc HH khc
- Mc tiu: Tm hiu qu trnh khi ng ca mt HH mc tng qut
v mc vt l trn a cng v a mm.
1.4.1. a mm v qu trnh khi ng
- a l tp hp cc cung t (sector) c to ra trong qu trnh nh
dng (FORMAT). Thng thng, mi sector s c dung lng l 512
bytes.
- on trnh khi ng HH c t sector u tin (c gi l
BOOT SECTOR)
- Mt s HH thng dng hin nay hin thc c trn a mm l MS-
DOS, MENUOS (UNIX-based)

Son tho TS L MNH (manhle@uit.edu.vn)


64
- Mi HH c cch ring t on khi ng vo Boot sector. V d,
MS-DOS dng lnh nh sau:
Boot sector

FORMAT A: /S

SYS A: a mm

Son tho TS L MNH (manhle@uit.edu.vn)


Hnh 1.9
Boot Sector ca a mm 65
1.4.2. Qu trnh khi ng t a cng
- Nh a mm, khi khi ng t a cng th BIOS (Basic Input /
Output System) s tm n sector u tin ca a cng np on trnh s
khi ng my tip theo.
- Sector u tin ca a cng gi l MBR (Master Boot Record). Khc
vi Boot Sector trn a mm, MBR cha thc s np HH no c, u
tin n s xc nh bn trong cng hin ti c bao nhiu phn vng v
h iu hnh no ang chim gi phn vng . Mi phn vng s c
mt c hiu (Flag) cho bit phn vng c c u tin kch hot
(Active) khi khi ng hay khng. Ch c phn vng chnh (Primary)
mi c nh du kch hot v trn ton b a cng th ch c duy nht
mt phn vng c nh du l c kch hot trong cng mt thi
im (trng hp c nhiu HH trn cng 1 cng).

Son tho TS L MNH (manhle@uit.edu.vn)


66
- Hnh 1.10 di y s cho thy HH Windows v Linux c ci t
hai phn vng khc nhau.

MBR MBR

Boot Sector Boot Sector

Windows Windows

Boot Sector

Active
Linux

Son tho TS L1.10


Hnh MNH (manhle@uit.edu.vn)
Boot Sector khi ng ca tng phn vng 67
- Nh vy th vi nhiu HH c ci t trn cng mt cng th lm
th no nh du (Active) cho mi phn vng m mnh mun khi
ng? N GIN nht l s dng cng c sn c nh FDISK cho vic
chuyn i trng thi ny, ...
- C mt s chng trnh chim gi MBR (thng gi l Boot
Manager/Boot Loader). Nhng chng trnh ny s hin th menu cho
php ngi dng chn la gia cc HH  trnh Boot Loader ny s
np Boot Sector tng ng vi phn vng cha HH c chn.
- Cc bn ci t Linux u cung cp sn cc trnh Boot Loader c tn l
LILO (The Linux boot Loader) hoc GRUB (GRand Unified Boot
loader). C mt s la chn sau:

Son tho TS L MNH (manhle@uit.edu.vn)


68
 Install Boot Loader record on Floppy: y c xem l
trng hp an ton v LILO s ci ln Sector u tin ca a mm
khng nh hng g n MBR ca a cng. Boot Loader s c khi
ng t a mm, tip theo c thng tin v phn vng ca Linux v cui
cng l np ht nhn cha HH (Hnh 1.10.1)
 Install Boot Loader record on MBR: LILO chim ton quyn
iu khin khi khi ng t cng v xc nh danh sch cc HH hin
c trong cc phn vng ngi dng la chn (Hnh 1.10.2)
 Install Boot Loader record on first sector of boot partition:
Cho php trnh LILO ci vo Boot sector ca phn vng cha HH khi
ng (v d Linux). Nu c trnh qun l nh Boot Magic hay
System Commander, nn chn chc nng ny bo tn cc trnh qun
l trn (Hnh 1.10.3)
 Install Boot Loader record on Extended partition: LILO
c ci vo sector u tin ca phn vng m rng (khng ci vo
sector u tin ca phn vng Logic)
Son tho TS L MNH (manhle@uit.edu.vn)
69
.: MT S MN HNH DEMO VIC CI T BOOT LOADER:.

Hnh 1.10.1
Son tho TS L MNH (manhle@uit.edu.vn)
Install Boot Loader record on Floppy 70
.: MT S MN HNH DEMO VIC CI T BOOT LOADER:.

Hnh 1.10.2
Son tho TS L MNH (manhle@uit.edu.vn)
Install Boot Loader record on MBR 71
.: MT S MN HNH DEMO VIC CI T BOOT LOADER:.

Hnh 1.10.3
Son tho TS L MNH (manhle@uit.edu.vn)
Install Boot Loader record on first sector of boot partition 72
1.5. ng dn v cch truy xut a trong Linux
- Trn DOS/Windows, cc a C:, D:, E:,... lm gc cho mi ng
dn truy xut cc tp tin:
C:\documents\myletter.txt
Din gii: C:\documents\myletter.txt l ng dn tuyt i n tp tin
myletter.txt trong th mc documents ca a C:
- Trn Unix/Linux, k hiu / lm k t i din cho th mc gc, ng
thi l k t lm du phn cch th mc:
/documents/myletter.txt
Din gii: /documents/myletter.txt l ng dn tuyt i n tp tin
myletter.txt trong th mc documents ca th mc gc /

Son tho TS L MNH (manhle@uit.edu.vn)


73
 Linux khng c khi nim a nh trong DOS/Windows m s dng
php kt gn (mount) phn vng (thit b) vi mt th mc bt k (Hnh
1.11)
 DOS/Windows khng c c h tp tin ca Linux nn khng gn
cho phn vng ny k hiu a no (C mt s driver b sung dng
truy cp Linux Partition t Windows)
A:

DOS Primary
C:

Linux

D: E:

Hnh 1.11
Son tho TS L MNH (manhle@uit.edu.vn)
Phn vng v k hiu a trong DOS 74
.: QUY TRNH KT GN A V PHN VNG TRONG LINUX :.
- Hnh 1.12 A l danh sch cc phn vng v a c Linux lu thnh cng dng
file trong th mc /dev/fd0, /dev/had1,...

A. Cc phn vng cha c B. Cc phn vng sau khi


kt gn vi th mc gc sau c kt gn vi th mc gc
khi Linux khi ng
Son tho TS L MNH (manhle@uit.edu.vn)
Hnh 1.12. Kt gn a v phn vng trong Linux 75
- Nu mun truy xut cc phn vng hda1, hda5, hda6 , hda7 hay a mm fd0 (nhng phn
vng ny khng phi thuc dng Linux Partition), phi thc hin bc KT GN bng lnh
mount
V d: (c thc hin di quyn root - ngi dng c quyn cao nht)
#mount /dev/fd0 /a_drive  Kt gn a mm ( a mm c i din bng
tp tin /dev/fd0) v cho php truy xut nh vi th mc/a_drive
#mount /dev/hda1 /mydos  Kt gn phn vng th 1 ca a cng u tin v cho php
truy xut nh vi th mc /mydos
#mount /dev/hda6 /data  Kt gn v cho php truy xut phn vng hda6 nh truy xut
th mc /data
#mount /dev/hda7 /programs  Kt gn v cho php truy xut phn vng hda7 nh truy xut
th mc /programs
- Khi khng mun s dng thit b (c gn bng lnh mount), c th tho kt gn bng lnh
umount
V d: (c thc hin di quyn root)
#umount /a_drive
#umount /data

Son tho TS L MNH (manhle@uit.edu.vn)


76
1.6. Tng tc vi h thng v c ch ng nhp
1.6.1. Tng tc vi h thng
- C hai la chn khi tng tc vi h thng Linux:
Giao din dng lnh (Console - Command Line).
- Tng t nh DOS Prompt/Command Prompt
- Shell l mt chng trnh thng dch chu trch nhim tip nhn lnh do ngi dng a
vo t bn phm. C nhiu dng Shell nhng thng dng l C Shell, Korn Shell v Bash
Shell. Hnh 1.12.1 cho thy mt s giao din Shell thng dng ca Linux
Giao din ho (GUI - Graphic User Interface).
- Tng t nh trong Windows
- c m trch bi X-Window vi GUI dng GNOME v KDE
Hnh 1.12.2 gii thiu mt s giao din GUI ca Linux

Son tho TS L MNH (manhle@uit.edu.vn)


77
.: MT S MN HNH GIAO DIN :.

Hnh 1.12.1
Son tho TS L MNH (manhle@uit.edu.vn)
Giao tip bng console trong Linux 78
.: MT S MN HNH GIAO DIN :.

Hnh 1.12.2
Son tho TS L MNH (manhle@uit.edu.vn)
Giao tip bng graphic trong Linux 79
1.6.2. ng nhp
- Yu cu phi c USERNAME v PASSWORD (c cp bi root -
ngi qun tr h thng)
- Du hiu phn loi ti khon ngi dng:
 root (super-user)  du nhc c dng # - ton quyn
 username (normal-user)du nhc c dng $ - gii hn quyn
- Linux l HH a chng, a nhim, a ngi dng
Trn cng mt my, c th ng nhp vi nhiu ti khon khc nhau (c
ti 7 console o phc v cho qu trnh ng nhp v lm vic).
S dng t hp phm Alt + F1
 Alt + F7 hon chuyn gia cc
console.

Son tho TS L MNH (manhle@uit.edu.vn)


80
- Hnh 1.13 s cho thy mn hnh ng nhp dng Console Mode.
- Hnh 1.14 s cho thy mn hnh ng nhp dng Graphic Mode.
- Do tnh a nhim, Linux c th chy nhiu chng trnh cng lc ngay
t dng lnh.

Son tho TS L MNH (manhle@uit.edu.vn)


81
.: MN HNH NG NHP GIAO DIN CONSOLE :.

Hnh 1.13
Son tho TS L MNH (manhle@uit.edu.vn)
ng nhp t dng lnh 82
.: MN HNH NG NHP GIAO DIN GRAPHIC :.

Hnh 1.14
Son tho TS L MNH (manhle@uit.edu.vn)
ng nhp qua GUI 83
.: MINH HA CHC NNG MULTI-
MULTI-USER :.

Hnh 1.15
Son tho TS L MNH
Cc (manhle@uit.edu.vn)
console o - Chc nng multi-user 84
H THNG TP TIN
1. Filesystem l g?

L cch t chc d liu trn thit b lu tr.


H thng tp tin l mt phn c bn ca h iu hnh
Linux.
Mt h thng tp tin l mt thit b m n c nh
dng lu tr tp tin v th mc.
H thng tp tin Linux bao gm: a mm, CD-ROM,
nhng partition ca a cng. Nhng h thng tp tin
thng c to trong qu trnh ci t h iu hnh.

Son tho TS L MNH (manhle@uit.edu.vn)


86
Filesystem l g?
Linux h tr rt nhiu loi h thng tp tin nh: ext2,
ext3, MS-DOS, proc. H thng tp tin c bn ca Linux
l ext2 v ext3 (hin ti l ext3).
H thng tp tin ny cho php t tn tp tin ti a 256
k t v kch thc ti a l 4terabytes.
MS-DOS dng truy cp trc tip nhng tp tin MS-
DOS.
Proc l mt h thng tp tin o (/proc) ngha l khng
dnh dung lng a phn phi cho n.

Son tho TS L MNH (manhle@uit.edu.vn)


87
2. Nhng khi nim c bn v
filesystem.
a) Trong Linux xem file nh l mt inode, th mc l mt
file cha nhng entry.
b) Khi to mt filesystem, nhng loi khc c to trong
filesystem, gm 3 phn :
- Superblock
- Inode
- Storageblock

Son tho TS L MNH (manhle@uit.edu.vn)


88
Nhng khi nim (tt)
Superblock l cu trc c to ti v tr bt
u filesystem. Lu tr cc thng tin :
- Kch thc v cu trc filesystem.
- Thi gian cp nht filesystem cui cng.
- Thng tin trng thi.
Inode lu nhng thng tin v tp tin v th mc
c to trong filesystem. Mi tp tin to ra s
c phn b mt inode lu thng tin sau :
- Loi tp tin v quyn hn truy cp.
- Ngi s hu tp tin.
Son tho TS L MNH (manhle@uit.edu.vn)
89
Nhng khi nim (tt)
- Kch thc v s hard link n tp tin.
- Ngy v gi chnh sa tp tin ln cui cng.
- V tr lu ni dung tp tin trong filesystem.
Storageblock l vng lu d liu thc s ca tp
tin v th mc. N chia thnh nhng datablock.
Mi block cha 1024 k t.
- Datablock ca tp tin thng lu inode ca tp
tin v ni dung ca tp tin.
- Datablock ca th mc lu danh sch nhng
entry gm inode number, tn tp tin v nhng
th mc con.
Son tho TS L MNH (manhle@uit.edu.vn)
90
Nhng khi nim (tt)
c) Cc loi tp tin : trong Linux tp tin dng lu tr
d liu, bao gm th mc v thit b lu tr. Cc
tp tin trong Linux c chia lm 3 loi chnh :
- Tp tin d liu : l d liu lu tr trn cc thit
b nh a cng, cdrom.
- Th mc : cha cc thng tin ca nhng tp tin
v th mc con trong n.
- Tp tin thit b : H thng Linux xem cc thit
b nh l cc tp tin. Ra vo d liu trn cc tp
tin ny chnh l ra vo d liu cho thit b.

Son tho TS L MNH (manhle@uit.edu.vn)


91
Nhng khi nim (tt)

- Link (Lin kt) mt lin kt, l to ra mt tp


tin th hai cho mt tp tin.
C php : #ln [-s] <source> <destination>
V d : #ln /usr/bill/testfile /usr/tim/testfile
+ Hard Link l mt lin kt trong cng h thng
tp tin vi hai inode entry tng ng tr n
cng mt ni dung vt l.
+ Symbolic Link l mt lin kt khc m khng s
dng inode entry cho vic lin kt. Ty chn s
ca lnh ln cho php to mt symbolic link.
Son tho TS L MNH (manhle@uit.edu.vn)
92
Nhng khi nim (tt)

Son tho TS L MNH (manhle@uit.edu.vn)


93
Nhng khi nim (tt)

Son tho TS L MNH (manhle@uit.edu.vn)


94
3.Khi nim v thit b.
C 2 loi thit b: block device v character device.
Block device: c gi l Random Access Device nh a
cng.
Character device: keyboard, audio device.
Master Boot Record (MBR) cha Bootloader code v
partition table.
Mi thit b trong Linux c xem l mt tp tin lu
trong th mc /dev.

Son tho TS L MNH (manhle@uit.edu.vn)


95
Khi nim v thit b (tt)
a cng SCSI, USB : sda, sdb
a cng IDE : hda, hdb
a mm : fd0, fd1
a CDROM : cdrom

V d: tp tin ch n cc thit b :
+ mm th nht : /dev/fd0
+ partition th nht ca a cng u tin :
/dev/hda1
+ partition th 3 ca a cng th 2 :
/dev/hdb3.
Son tho TS L MNH (manhle@uit.edu.vn)
96
4. Cu trc cy th mc.
/ /

bin /

usr
/usr
home etc usr

local

share /home

etc
local bin
/usr/local

var

log
a vt l Cu trc logic h thng tp tin
spool

Son tho TS L MNH (manhle@uit.edu.vn)


97
Cc th mc c bn trn
Linux

Son tho TS L MNH (manhle@uit.edu.vn)


98
5. Mount filesystem.
Mount h thng tp tin :
C php :
#mount [ t ] <device_name> <mount_point>
L thit b vt l nh L v tr th mc trong cy
/dev/cdrom, /dev/fd0 th mc.
Mt s ty chn :
-f : lm cho tt c mi th u hin ra, song n ch gy ra ng tc gi.
-v : ch chi tit, cung cp thng tin v nhng g mount nh thc hin.
-w : mount h thng tp tin vi quyn c v ghi.
-r : mount h thng tp tin vi quyn c.
-t loai-fs : xc nh h thng tp tin ang c mount : ext2, ext3,vfat
...
-a : mount tt c nhng h thng tp tin c khai bo trong /etc/fstab.
-o remount <fs> : ch nh vic mount li 1 filesystem no .
Son tho TS L MNH (manhle@uit.edu.vn)
99
5. Mount filesystem (tt)

Umount h thng tp tin :


C php :
#umount <device_name> <mount_point>
#umount -a
#umount -t loai-fs
Lu : Lnh umount khng umount nhng h
thng tp tin ang s dng.

Son tho TS L MNH (manhle@uit.edu.vn)


100
5. Mount filesystem (tt)
Tp tin /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 1
None /dev/pts devpts gid=5,mode=620 0 0
...

ct 1: ch ra thit b hoc h thng tp tin cn mount.


ct 2: xc nh mount point (ch none s dng cho cc
h thng tp tin c bit nh swap).
ct 3: ch ra loi filesystem nh : vfat, ext2
ct 4: cc ty chn phn cch nhau bi du phy.
ct 5: xc nh thi gian lnh dump sao chp (backup)
h thng tp tin.
ct 6: khai bo cho lnh fsck bit th t kim tra cc h
thng tp tin khi khi ng h thng.
Son tho TS L MNH (manhle@uit.edu.vn)
101
6. Partition.
Linux h tr 4 primary partition.
MI partition l mt thit b c mt tp tin tng ng
trong /dev.
Tn gi ca chng bt ngun t tn a v s th t t
1. Primary c s th t t 1 ->4, logical t 5 tr i.
Lnh fdisk < a>dng to partition.

Son tho TS L MNH (manhle@uit.edu.vn)


102
Partition (tt)
V d v cch to mi mt partition.

Son tho TS L MNH (manhle@uit.edu.vn)


103
Partition (tt)

Son tho TS L MNH (manhle@uit.edu.vn)


104
6. nh dng partition.
C Php :
#mkfs t <fstype> <filesystem>

V d : #mkfs t ext2 /dev/hda1

Son tho TS L MNH (manhle@uit.edu.vn)


105
7. Nhng filesystem c sn trong
Linux.
VFS
Ext2
Ext3
Vfat
iso9660

Son tho TS L MNH (manhle@uit.edu.vn)


106
8. QUN L DUNG LNG A
qun l v theo di dung lng a ta c th s
dng nhiu cch khc nhau nh dng hai lnh df v
fdisk
C Php :
# df <option>
# fdisk <option> <parameters>
V d:
# df -H
# fdisk -l

Son tho TS L MNH (manhle@uit.edu.vn)


107
9. Sa filesystem.

Khi filesystem b li dng lnh sau sa li :


C php : #fsck <option> <partition>
V d :
#fsck V a /

Son tho TS L MNH (manhle@uit.edu.vn)


108
9. Sa filesystem (tt).
Bng m t cc ty chn :

Ty chn M t

-A Duyt khp tp tin /etc/fstab v c gng kim tra tt c cc h


thng tp tin ch trong mt ln duyt.
-V Ch chi tit. Cho bit lnh fsck ang lm g.

-t loai-fs Xc nh loi h thng tp tin cn kim tra.

-a T ng sa cha nhng hng hc trong h thng tp tin m


khng cn hi.
-l Lit k tt c cc tn tp tin trong h thng tp tin.

-r Hi trc khi sa cha h thng tp tin.

-s Lit k cc superblock trc khi kim tra h thng tp tin.


10. Di chuyn filesystem.
Gn a vt l. to partition.
Khi ng li my.
nh dng partition.
#mkfs t ext2 /dev/hda4
To mt th mc newpartition trong /mnt. Mount
partition vo th mc ny.
#mkdir /mnt/newpartition
#mount /dev/hda4 /mnt/newpartition

Son tho TS L MNH (manhle@uit.edu.vn)


110
10. Di chuyn filesystem (tt)
Copy tt c d liu vo th mc ny
#cp a /home/* /mnt/newpartiton
nh ngha mount partition va to vo th mc /home
mt cch t ng (/etc/fstab).
Mount partiton
#umount /mnt/newpartition
#mount /dev/hda4 /home

Son tho TS L MNH (manhle@uit.edu.vn)


111
11. Tp hp thng tin v filesystem
Lnh df
C php : #df <option>
-l : Lit k filesystem.
System monitor -h : In theo dng MB, GB.

Lnh du

Son tho TS L MNH (manhle@uit.edu.vn)


112
12. Cc thao tc trn tp tin v
th mc.
ng dn tng i.
ng dn tuyt i.
Cc thao tc trn th mc.
pwd : Xc nh v tr th mc hin hnh.
C php : #pwd
cd : Thay i th mc hin hnh.
C php : #cd [directory]
ls : Lit k ni dung th mc.
C php : #ls [option] [directory]
mkdir : To th mc.
C php : #mkdir <directory>

Son tho TS L MNH (manhle@uit.edu.vn)


113
12. Cc thao tc (tt)
rmdir : Xa th mc rng.
C php : #rmdir <directory>
Cc thao tc trn tp tin :
cat : Dng hin th ni dung tp tin.
C php : #cat <filename1> [filename2]
L nh cat cn dng
Lnh to
t o tp
t p tin. Ta c th
th dng du
d u>
hoc >> (du > s to mi, du >> s ni tip vo ni dung
c sn). Nhn CTRL-d kt thc.
more : Xem ni dung tp tin theo tng trang.
C php : #more <filename>

Son tho TS L MNH (manhle@uit.edu.vn)


114
12. Cc thao tc (tt)
cp : Sao chp tp tin.
C php : #cp <source> <destination>
mv : Di chuyn v i tn tp tin.
C php : #mv <source> <destination>
rm : Xa tp tin, th mc.
C php : #rm [option] <filename/directory>
-r : xa th mc.
-i : xc nhn trc khi xa.

find : Tm kim tp tin.


C php : #find [path-list] [expression]
Son tho TS L MNH (manhle@uit.edu.vn)
115
12. Cc thao tc (tt)
Mt s cc chui tm kim :
-name <file> : tm tp tin.
-size n<bck> : tm theo kch thc tp tin.
-user uname : tm cc tp tin c s hu bi uname.
grep : Tm mt chui trong ni dung tp tin.
C php : #grep [expression] [filename]
touch : To v thay i ni dung tp tin.
C php : #touch <option> <filename>
dd : Sao chp v chuyn i tp tin.
C php : #dd if=<file> of=<device>

if l input file of l output file


Son tho TS L MNH (manhle@uit.edu.vn)
116
13. Cc tp tin chun trong Linux.
C 3 loi :
Nhp chun : D liu c nhp t bn phm.
Xut chun : D liu xut ra mn hnh.
Li chun : Lung d liu thng bo li.
Chuyn hng :
Chuyn hng nhp : #command < file
Chuyn hng xut : #command > file
ng ng (Pipe) : hng xut ca lnh ny l hng
nhp ca lnh kia.
C php : #command1 | command2 |

Son tho TS L MNH (manhle@uit.edu.vn)


117
Kt thc chng 1

Chn thnh cm n
Cc anh/
anh/ch tham d bi ging
ging..

B phn Multi-
Multi-media h tr chng
ti trong qu trnh thuyt ging
ging..

Son tho TS L MNH (manhle@uit.edu.vn)


118
Chng 2: Cc tp lnh Linux
CITD - VNUHCM

Bao gm cc phn sau:

1. So snh DOS/Windows v Linux


2. Kin trc Linux
3. H thng th mc
4. Phn quyn bo v v truy xut tp tin
5. Qun l tin trnh
6. Tp lnh c bn
7. Trnh qun l th mc (MC)
8. Cc tp tin khi ng

Son tho TS L MNH (manhle@uit.edu.vn)


119
2.1. So snh DOS/Windows v Linux
2.1.1. Ging nhau

 Giao din ngi dng thn thin


 a chng, a nhim, a ngi dng
 Cu trc th bc ca th mc
 Khi ng chng trnh t dng lnh hoc GUI

Son tho TS L MNH (manhle@uit.edu.vn)


120
2.1.2. Khc nhau
 Linux l HH m ngun m
 Linux phn bit ch HOA/thng
 C ch Shell Command Line thng thng khng thng bo g mi khi
thc thi xong lnh
 Du phn cch v ng dn th mc (/ thay cho \ trong
DOS/Windows)
 Linux yu cu phi t thuc tnh x (eXecute) cho tp tin thc thi

Son tho TS L MNH (manhle@uit.edu.vn)


121
2.2. Kin trc Linux
2.2.1. H thng tp tin

Son tho TS L MNH (manhle@uit.edu.vn)


122
- Trn DOS/Windows, nh dng v to h tp tin:
C:\>format a: /s
- Trn Linux, nh dng v to h tp tin cn 3 bc:
+ Lnh nh dng: #fdformat /dev/fd0
+ Lnh to h thng file: #mkfs /dev/fd0
+ Lnh to a khi ng: #mkbootdisk /dev/fd0

Son tho TS L MNH (manhle@uit.edu.vn)


123
- Cc lnh thng dng ca Linux:

- V d:
1. #ls la /home  Lit k y ni dung th mc /home #cat test.txt
 Hin th ni dung tp tin test.txt trong th
mc hin hnh

Son tho TS L MNH (manhle@uit.edu.vn)


124
2.2.2. Tin trnh (Process)
- L chung trnh trong thi gian vn hnh.
- Cc tin trnh ng hnh, dng chung CPU:

Hnh 2.1
Son
Htho TShnh
iu L MNH
phn(manhle@uit.edu.vn)
chia thi gian kim sot cc tin trnh 125
- V d trong mi trng ho (Graphic Mode), va
c th nghe nhc li va c th son tho vn bn.
Trong ch Console Mode, va c th chy chng
trnh x l thut ton nn file li va c th ra lnh in
vn bn ra my in.
- Thc t, cc tin trnh c thc thi mt cch tun
t ch khng song song. Mi thi im, CPU ch c
kh nng x l c mt ch th lnh duy nht.

Son tho TS L MNH (manhle@uit.edu.vn)


126
- Hu ht cc HH u m phng kh nng x l
song song (Parallel Processing) bng k thut iu
phi tin trnh (Time Schedule). CPU s c iu
phi xoay vng, mi tin trnh chim gi mt thi gian
ca CPU rt ngn sau HH s can thip v tm
dng CPU c kh nng lm vic vi tin trnh khc.
- DOS l loi HH n nhim v khng c kh nng
iu phi tin trnh.

Son tho TS L MNH (manhle@uit.edu.vn)


127
- Mc d dng k thut thng tr (TSR), DOS khng c xem l HH a nhim, a tin
trnh.

Son tho TS L MNH (manhle@uit.edu.vn)


128
2.3. H thng th mc
- Cc th mc chnh ca Linux:

Son tho TS L MNH (manhle@uit.edu.vn)


129
2.4. Phn quyn bo v v truy xut tp tin
2.4.1. Cc quyn truy xut trn tp tin
- Do Linux l HH a nhim, a ngi dng, cng mt thi im khi ang son tho tp tin hay
thc thi mt chng trnh, c th ngi khc t xa kt ni qua h thng mng tm cch truy xut
tp tin ang s dng.
- Quyn thao tc tp tin v th mc c quy nh vi nhng thuc tnh sau:

Son tho TS L MNH (manhle@uit.edu.vn)


130

r: Read Only Thuc tnh ch c (khng c quyn ghi/xa)

w: Write Thuc tnh ghi (hiu chnh ni dung)

x: Execute Thuc tnh thc thi (chy chng trnh)

-: None Khng c quyn trn i tng
Hnh di trnh by ni dung cc th mc v tp tin c thit lp quyn (set permission)
trong th mc c nhn (Home Directory) ca ngi dng tn l nev

Son tho TS L MNH (manhle@uit.edu.vn)


131
- Ch n cc thuc tnh sau:

- C u tin ch du hiu. Nu l - c ngha y l tp tin thng thng. Cn nu d


th y l mt Directory (th mc).
Mt s trng hp khc nh pipe l p, cn socket l s.
- C 3 i tng chnh l owner, group, other v mi i tng ng vi 3 quyn c th read,
write, execute
- Thit lp (thay i) thuc tnh bo mt cho tp tin v th mc bng lnh CHMOD  Phi thc
hin bng quyn ca ROOT ACCOUNT

Son tho TS L MNH (manhle@uit.edu.vn)


132
- V d sau s tin hnh thay i quyn sn c ca tp tin apple.txt:
# chmod u+rw-x apple.txt
# chmod g+r-wx apple.txt
# chmod o+r-wx apple.txt

Son tho TS L MNH (manhle@uit.edu.vn)


133
2.4.2. Cc i tng c truy xut
- Khi to ra mt th mc (hoc tp tin)  bn thn ta l ngi s hu (Owner)
- Mc nh quyn c thit lp l read - write ~ rw
- Da vo quyn ngi s hu thi khng  Trng hp mun chia s vi ngi khc, cn
thit lp quyn cho nhm (Group)
V d: (Gi s tp tin testfile nm trong th mc hin hnh)
#ls -l testfile
rwx rw- --- 1 root books 444 Feb 14 22:24 testfile
Nhm books c quyn c, ghi (rw), nhng khng c quyn thc thi (x)
- Mt s lnh lin quan n ng nhp v ti khon:

Son tho TS L MNH (manhle@uit.edu.vn)


134
USER ACCOUNT COMMAND LINES
==
== -----
----- -----
-----==

Son tho TS L MNH (manhle@uit.edu.vn)


135
To nhm books:
# groupadd books
To ti khon ngi dng mk:
# useradd mk g books d /home/mk p 1234mk
# su mk
$pwd
/home/mk

Son tho TS L MNH (manhle@uit.edu.vn)


136
2.4.3. Quyn c ghi v thc thi
- Nu khng c quyn x (execute), th khng th chuyn vo th mc ny bng lnh CD, cng
khng c quyn chuyn vo cc th mc con bn di.

Son tho TS L MNH (manhle@uit.edu.vn)


137
2.4.4. Thay i quyn truy xut vi lnh CHMOD
- Qua lnh chmod ta c th thay i quyn r-w-x ca i tng nh user (cn gi l owner),
group (nhm) hay other (ngi dng khc) i vi tp tin (hoc th mc).
- Quyn truy xut tp tin cn ph thuc vo th mc cha n.n V d nh ta c mt tp tin info
trong th mc VIDU. Nu thit lp quyn vi tp tin cho other l --x (ch execute) nhng vi th
mc VIDU ta li thit lp cho other l --- (khng c tnh nng execute) th tp tin info i vi
ngi dng khng phi owner v group th KHNG c quyn thc thi.
- S dng tin t + hay - thm hoc bt quyn trn i tng c th (V d 1)
- C th tin hnh thay i quyn da trn cc gi tr s (V d 2)

Son tho TS L MNH (manhle@uit.edu.vn)


138
- V d 1:
Thc hin lnh lit k th mc hin ti
#ls l
-rwx rwx r-x 4 root mk 4096 May 2 15 : 07 testfile
y root v mk c ton quyn trn testfile. Tuy nhin other ch c quyn Read v
Execute
Tin hnh thit lp vic g b quyn Execute v Write ca owner (hay cn gi l user)
#chmod u-xw testfile
#ls l
-r-- rwx r-x 4 root mk 4096 May 2 15 : 07 testfile

Son tho TS L MNH (manhle@uit.edu.vn)


139
- V d 2: Da theo bng sau:

 Nu tp tin info cn thit lp quyn {r-x r-- -w-} ng vi nhng m s tnh theo cch sau:
 r-x owner {r = 4; w = 0; x = 1} 4+0+1=5
 r-- group {r = 4; w = 0; x = 0} 4+0+0=4
 -w- other {r = 0; w = 2; x = 0} 0+2+0=2
Vy gi tr cn t cho info l 542
Dng lnh: #chmod 542 info

Son tho TS L MNH (manhle@uit.edu.vn)


140
2.5. Qun l tin trnh
2.5.1. nh hng xut nhp
- Cc tin trnh thng nhn d liu u vo  X L v GHI kt xut ra mt thit b (mn
hnh, tp tin, my in,)
* Linux quy nh c bn u vo l bn phm stdin
* Linux quy nh c bn u ra l mn hnh stdout
V d: Lnh ls l a kt qu ra mn hnh:
#ls l
- rwx rwx r-x 4 root mk 4096 May 2 15 : 07 testfile

Son tho TS L MNH (manhle@uit.edu.vn)


141
- Thay v kt xut ra mn hnh  c th a kt xut ra tp tin d qun l sau ny.
- C ch chuyn hng xut nhp:
* Du chuyn hng > cho kt xut u ra
* Du chuyn hng < cho kt xut u vo

Son tho TS L MNH (manhle@uit.edu.vn)


142
- V d:
S dng lnh ls lit k ni dung th mc hin hnh tp tin c ch nh trc l data.txt
#ls l > data.txt
S dng lnh more hin th d liu ca u vo theo tng trang mn hnh (trng hp
s trang hin th qu nhiu)
#more < bigfile.txt
- C th s dng du >> ni thm d liu vo cui tp tin hin c
V d:
#ls l >> data.txt

Son tho TS L MNH (manhle@uit.edu.vn)


143
2.5.2. Kim sot tin trnh
2.5.2.1. Xem thng tin v tin trnh
- Cn kim sot c cng vic cc tin trnh.
- Mun xem tin trnh ang chy, s dng lnh ps
- Lnh ps c rt nhiu ty chn, trong tu chn a l yu cu lit k ht tt c cc tin trnh.
#ps -a
- Hnh 2.5.2.1.a v Hnh 2.5.2.1.b cho thy tt c cc tin trnh ang vn hnh (dng Background
hoc Foreground - Hu cnh hoc Tin cnh)
- th hin dng cy cc tin trnh ang hin c trn h thng, ta s dng lnh pstree

Son tho TS L MNH (manhle@uit.edu.vn)


144
TASK MANAGER AND PROCESS VIEWER

Hnh 2.5.2.1.a Hnh 2.5.2.1.b


Mn hnh th hin cc Process Ca s Windows Task Manager
trong HH Linux trong HH MS Windows
Son tho TS L MNH (manhle@uit.edu.vn)
145
- Ct thng tin bn tri PID do lnh ps hin th (hoc trn Windows l ct th hai t tri sang bn
cnh ct Image Name)  L s nh danh cho mi tin trnh.
- Mi tin trnh u c HH cung cp mt m s duy nht l PID (Process Identifier)
- Cc lnh x l tin trnh trong Linux u da vo s PID ny tng tc v iu khin cc
tin trnh ang chy.

Son tho TS L MNH (manhle@uit.edu.vn)


146
2.5.2.2. Tin trnh tin cnh
- M t: Khi ang trn du nhc ca h thng (# hay $) v gi thc thi mt chng trnh v
chng trnh ny s tr thnh tin trnh i vo hot ng di s kim sot ca h thng.
- Du nhc h thng s khng hin th trong khi tin trnh ang chy.Ch khi no tin trnh hon
thnh tc v v chm dt th HH (Shell) s tr li du nhc ngi dng tip tc thc thi cc
tc v khc.
 y l c ch ca tin trnh hot ng ch TIN CNH
- V d:
#ls R /
Lnh s thc thi cng vic lit k ton b tp tin v th mc (tham s R-Recursive) ca
HH bt u t th mc gc /
- Qu trnh lit k ny din ra c th lu v hin ra trc tip trn mn hnh. Sau khi lnh trn thc
hin xong th HH lc ny mi tr li du nhc cho ngi dng  Cn n kh nng HU
CNH ca HH.

Son tho TS L MNH (manhle@uit.edu.vn)


147
2.5.2.3. Tin trnh hu cnh
- M t: Nhm mc ch a nhng tin trnh chim nhiu thi gian (hoc t tng tc vi ngi
dng) ra hot ng hu cnh (chy ngm bn trong h thng khng cn xut hin)
- Thao tc n gin: Ta ch cn cho du & sau mi cu lnh
- Du nhc ca h thng hin th sn sng triu gi mt chng trnh khc (tin trnh trc vn
ang chy)
- V d:
#ls -R / > allfiles.txt &
[1] 23978
Tin trnh c a vo hu cnh (th 1) vi m s PID l 23978

Son tho TS L MNH (manhle@uit.edu.vn)


148
2.5.2.4. Tm dng tin trnh
- Nu tin trnh no ang chy v cn a vo hu cnh (do phi ch i vic kt thc ca tin
trnh y lu v khi thc thi lnh khng dng du &)  Bm Ctrl + Z
- Khi mt chng trnh ang chy v nhn c tn hiu ngt do bm t hp phm Ctrl + Z, tin
trnh c tm dng v a vo hu cnh. Tuy hu cnh, nhng tin trnh ny ang trong tnh
trng PAUSE v n ch thc thi tip khi cho php.
V d:
#ls -R / > allfiles.txt
^Z
[1]+ Stopped ls -R / > allfiles.txt
#
- Lnh ps -af xem y thng tin v cc tin trnh ang chy.

Son tho TS L MNH (manhle@uit.edu.vn)


149
2.5.2.5. nh thc tin trnh
- Dng lnh jobs hin th trng thi cc tin trnh trong hu cnh:
#jobs
[1] + Stopped ls R / > allfiles.txt
- Kt qu cho thy tc v [1] ang trng thi dng. tin trnh trn tip tc hot ng hu
cnh, s dng lnh bg:
#bg 1
ls R / > allfiles.txt
#jobs
[1] + Running ls R / > allfiles.txt

Son tho TS L MNH (manhle@uit.edu.vn)


150
2.5.2.6. Hy tin trnh
- C nhng trng hp nh: Tin trnh b treo hoc lp trong mt vng lp v tn  Cn phi
Hy tin trnh
- Nu khng hy kp thi  Chim ti nguyn h thng v ch (chm h thng)
- S dng lnh kill tin hnh hy b tin trnh. Lnh kill i sau vi tham s l s hiu ca tin
trnh (PID)
- Lnh kill thng hay i chung vi lnh ps af

Son tho TS L MNH (manhle@uit.edu.vn)


151
- V d:
#ls R / > allfiles.txt
^Z
#ps af
UID PID PPID C STIME TTY TIME CMD
root 3822 3821 0 Arp19 tty1 00:00:00 [bash]
root 2453 2452 30 11:03 pts/3 00:00:01 ls R /
root 2458 2459 10 11:03 pts/3 00:00:00 ps af
#kill 2453
#ps af
UID PID PPID C STIME TTY TIME CMD
root 3822 3821 0 Arp19 tty1 00:00:00 [bash]
root 2458 2459 10 11:03 pts/3 00:00:00 ps af
- i vi mt s tin trnh c cp u tin cao (High Priority), khng th s dng lnh kill mc
nh c th dng tin trnh c  S dng thm tham s -9 c th hy c tin trnh
c cp u tin cao #kill 9 2453

Son tho TS L MNH (manhle@uit.edu.vn)


152
2.5.2.7. Giao tip gia cc tin trnh
- Cc tin trnh cn phi giao tip vi nhau trao i thng tin.
- Nh lnh ls dng lit k v thng tin ca tp tin v th mc ra mn hnh nhng lng ls trn
khng c tnh nng dng mn hnh (nu s dng vt qu 25 dng). Tuy nhin, lnh more li c
th lm c iu ny  C th kt hp hai lnh ny li thng qua ch th | thc thi c ch
ng ng.
- V d sau minh ha qu trnh chuyn d liu do lnh ls xut ra sang cho lnh more x l v
phn trang bng ng ng
#ls R | more
/
bin
boot 25 dng t ng ngt - s dng phm
dev SpaceBar tip tc
etc
--More--

Son tho TS L MNH (manhle@uit.edu.vn)


153
2.6. Tp lnh c bn
2.6.1. Nhm lnh h thng
- Bao gm mt s lnh nh sau:

- Thng tin chi tit v mi lnh, s dng lnh man <tn lnh>

Son tho TS L MNH (manhle@uit.edu.vn)


154
2.6.2. Nhm lnh qun l ti khon ng nhp
- Bao gm mt s lnh nh sau:

- Thng tin chi tit v mi lnh, s dng lnh man <tn lnh>

Son tho TS L MNH (manhle@uit.edu.vn)


155
2.6.3. S dng ti liu hng dn man
- Ti liu hng dn man s a ra nhng tr gip cn thit v lnh cng nh chc nng cc tp
tin cu hnh h thng.
- S dng lnh man bng cch: #man <session> <keyword>
 Trong session l phn on chc nng c HH chia ra vi nhiu ch khc
nhau, session c th khng c vn c (mc nh s tm t kho trong phn on 1)

Son tho TS L MNH (manhle@uit.edu.vn)


156
.: S dng ti liu hng dn man trong Console mode :.

Hnh 2.2
Son tho TS L MNH (manhle@uit.edu.vn)
Hng dn s dng lnh ch console 157
.: S dng ti liu hng dn man trong Graphic mode :.
(GNOME MODE)

Hnh 2.3
Son tho TS L MNH (manhle@uit.edu.vn)
Hng dn s dng lnh ch Graphic GNOME MODE158
.: S dng ti liu hng dn man trong Graphic mode :.
(KDE MODE)

Hnh 2.4
Hng dn s dng lnh ch Graphic KDE MODE
Son tho TS L MNH (manhle@uit.edu.vn)
159
2.6.4. Cc lnh x l tp tin v th mc
Tp tin v th mc l hai i tng c cp nhiu nht trong th gii UNIX/Linux.
2.6.4.1. Kt gn a v th mc
- Lnh mount gip cc kt gn phn vng hay nhng thit b vt l thnh mt th mc trong cy
th mc thng nht ca HH bt u t gc / (thng thng trong th mc /mnt)

Son tho TS L MNH (manhle@uit.edu.vn)


160
- C php lnh:
#mount t vfstype <devicefile> <directory>
Trong :
devicefile: ng dn n tp tin thit b (nh a mm l /dev/fd0, a CD-ROM l
/dev/cdrom v cc phn vng /dev/hda1, /dev/hda2,)
directory: th mc c kt gn
vfstype: Cc kiu h thng tp tin

- V d: #mount t iso9660 /dev/cdrom /mnt/cdrom


- g kt gn trc  #umount <directory>

Son tho TS L MNH (manhle@uit.edu.vn)


161
2.6.4.2. Sao chp v xa tp tin
SAO CHP TP TIN
- S dng lnh cp
- Lnh cp ny tng ng vi lnh copy ca MS-DOS
- C php lnh:
#cp <a ch ngun> <a ch ch>
- Ghi ch: Lnh ny c th sao chp nhn bn mt file trong th mc hin hnh.
XO TP TIN
- S dng lnh rm
- Lnh rm ny tng ng vi lnh del ca MS-DOS
- C php lnh:
#rm <tn file>

Son tho TS L MNH (manhle@uit.edu.vn)


162
2.6.4.3. Di chuyn v i tn tp tin (hoc th mc)
DI CHUYN TP TIN (HOC TH MC)
- S dng lnh mv
- Lnh mv ny tng ng vi lnh move ca MS-DOS
- C php lnh:
#mv <a ch ngun> <a ch ch>
I TN TP TIN (HOC TH MC)
- S dng lnh rename (hoc lnh mv)
- C php lnh:
#mv <tn 1> <tn 2>

Son tho TS L MNH (manhle@uit.edu.vn)


163
2.6.4.4. To tp tin v th mc
TO TP TIN
- S dng lnh cat (hoc touch)
- Lnh cat ny tng ng vi lnh copy con ca MS-DOS
- C php lnh:
#cat > <tn tp tin> (ch c du >)
kt thc qu trnh nhp  Nhn phm Ctrl + D hoc Ctrl + ]
TO TH MC
- S dng lnh mkdir
- Lnh mkdir ny tng ng vi lnh md ca MS-DOS
- C php lnh:
#mkdir <tn th mc>

Son tho TS L MNH (manhle@uit.edu.vn)


164
2.6.4.5. Xem v chnh sa ni dung tp tin
XEM TP TIN
- S dng lnh cat (hoc vi)
- Lnh cat ny tng ng vi lnh type ca MS-DOS
- C php lnh:
#cat <tn tp tin>
CHNH SA NI DUNG TP TIN
- S dng lnh vi
- Lnh vi ny tng ng vi lnh edit ca MS-DOS
- C php lnh:
#vi <tn tp tin>

Son tho TS L MNH (manhle@uit.edu.vn)


165
2.6.4.6. To lin kt tt
LIN KT MM
- S dng lnh ln -s
- Cha thng tin tr n tp tin vt l. C chc nng chnh l truy xut nhanh tp tin m khng
cn phi vo ni cha tp tin y
- C php lnh:
#ln -s <tp tin/th mc cn c tr n > <tn tp tin lin kt>
-V d: To tp tin mybin tr n th mc /bin nh sau:
#ln s /bin mybin
- S dng lnh ls l xem li:
#ls l mybin
lrwxrwxrwx 1 mk books 4 May 3 16:41 mybin  /bin

Son tho TS L MNH (manhle@uit.edu.vn)


166
LIN KT CNG
- S dng lnh ln
- Chc nng l to phin bn mi ca tp tin vt l ban u. Tp tin mi v tp tin vt l ban u
thc cht l mt. Nu xa tp tin vt l ban u  d liu s khng b mt, ch mt khi khng
cn lin kt cng no tham chiu n ni dung chung na.
#ls l test*
-rw-rw-r--1 mk books 20 May 3 18:41 testfile
#ln testfile test1
#ls l test*
-rw-rw-r--2 mk books 20 May 3 20:41 test1
-rw-rw-r--2 mk books 20 May 3 18:41 testfile

Son tho TS L MNH (manhle@uit.edu.vn)


167
2.7. Trnh qun l th mc (MC)

Son tho TS L MNH (manhle@uit.edu.vn)


Hnh 2.5.a
Trnh qun l file mc (Midnight Commander)168
Midnight Commander

Son tho TS L MNH (manhle@uit.edu.vn)


Hnh 2.5.b
Trnh qun l file mc trong X-Window 169
2.8. Cc tp tin khi ng
- HH MS-DOS/Windows c hai tp tin autoexec.bat v config.sys dng thc thi mt s
chng trnh t ng v thit lp cu hnh.
- HH Linux cng c chc nng nh vy.
-Tin trnh u tin c khi ng l init (vi PID l 1). Tin trnh ny gi tip cc tin trnh
con khc.
- Tp tin cu hnh ca init c tn /etc/inittab cha dng sau:
inid : 3 : initdefault :
- Cp 3 m bo ch a ngi dng vi giao din dng lnh. Cp 5 dng X-Window.

Son tho TS L MNH (manhle@uit.edu.vn)


170
- Tp tin th hai l .bash_profile
- Thng thng tp tin ny thng t trong Home Directory ca mi user (trong th mc
/home/<username>). Hoc i vi user root th c t ti th mc /root
- Ni dung ca tp tin .bash_profile:
#.bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
~/.bashrc
fi
# User specific environment and startup programs
PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH:$HOME/
bin
BASH_ENV=$HOME/.bashrc
USERNAME=root
export USERNAME BASH_ENV PATH

Son tho TS L MNH (manhle@uit.edu.vn)


171
Kt thc chng 2

Chn thnh cm n

Son tho TS L MNH (manhle@uit.edu.vn)


172
Chng 3:Qun tr Mng LINUX
Cc vn IP Trong LINUX v WINDOWS
DNS Trong Mng
FTP cho h thng
NetWoking trong LINUX
SAMBA (Qun l cc thit b)
NFS (Qun l, chia s Files h thng,d liu)
Security trong Linux
Mail v qun l Mail
Web v nguyn l xy dng WEB.
Lp trnh SOCKET trong LINUX.

Son tho TS L MNH (manhle@uit.edu.vn)


173
Son tho TS L MNH (manhle@uit.edu.vn)
174
TCP/IP

Khi nim v TCP/IP

M hnh tham chiu TCP/IP

Cc giao thc trong m hnh TCP/IP

Son tho TS L MNH (manhle@uit.edu.vn)


175
KHI NIM V TCP/IP

Ni
chuyn
OK OK
nha

Son tho TS L MNH (manhle@uit.edu.vn)


176
KHI NIM V TCP/IP

 TCP/IP l mt h thng giao thc - mt


tp hp cc giao thc h tr vic lu
truyn trn mng
 TCP/IP l t vit tt ca Transfer Control
Protocol (giao thc iu khin giao vn ) /
Internet Protocol ( giao thc lin mng)
 C kh nng lin kt nhiu loi my tnh
khc nhau

Son tho TS L MNH (manhle@uit.edu.vn)


177
KHI NIM V TCP/IP
 Giao thc TCP/IP c vai tr xc nh qu
trnh lin lc trong mng ca mt n v d
liu v nhng thng tin cha trong n
my tnh ch c th dch thng tin mt
cch chnh xc
 TCP/IP v cc giao thc lin quan to ra
mt h thng hon chnh qun l qu trnh
d liu c x l, chuyn v nhn trn
mt mng s dng TCP/IP

Son tho TS L MNH (manhle@uit.edu.vn)


178
M HNH THAM CHIU TCP/IP

 cho cc my tnh trao i vi nhau


TCP/IP s dng m hnh truyn thng 4
tng hay cn gi l m hnh DoD (m hnh
ca b Quc Phng M)

Son tho TS L MNH (manhle@uit.edu.vn)


179
M HNH THAM CHIU TCP/IP

Transport Network
access

Application

Internet

Son tho TS L MNH (manhle@uit.edu.vn)


180
S TNG TC GIA OSI V TCP/IP

Son tho TS L MNH (manhle@uit.edu.vn)


181
M HNH THAM CHIU TCP/IP

 Nhng tng gn trn nc gn vi ngi s dng hn, cn nhng tng gn y gn vi


thit b truyn thng d liu. Mi tng c mt giao thc phc v tng trn n, v
mt giao thc phc v tng di n

Son tho TS L MNH (manhle@uit.edu.vn)


182
C TNH
APPLICATION CA TNG TNG

Cung cp cc ng dng gii quyt


File Transfer
APPLICATION s c mng, vn chuyn file, iu
APPLICATION
 TFTP APPLICATION
khin t xa, v cc hot ng Internet.
 FTP
ng thi h tr Giao din Lp trnh
 NFS
ng dng (API) mng, cho php cc
E-mail
TRANSPORT chng trnh c TRANSPORT
TRANSPORT thit k cho mt h
 SMTP
iu hnh c th truy cp mng.
Remote Login
 Telnet
 Riogin
INTERNET INTERNET
Network Management INTERNET
 SNMP
Name Management
 DNS
NETWORK NETWORK NETWORK
ACCESS ACCESS ACCESS

Son tho TS L MNH (manhle@uit.edu.vn)


183
TRANSPORT

APPLICATION APPLICATION APPLICATION


Gip kim sot lung d liu, kim
Transmission tra li v xc nhn cc dch v cho
lin mng. ng vai tr giao din cho
Control Protocol cc ng dng mng.TRANSPORT
TRANSPORT TRANSPORT

(TCP)
User Datagram
INTERNET INTERNET
Protocol (UDP) INTERNET

NETWORK NETWORK NETWORK


ACCESS ACCESS ACCESS

Son tho TS L MNH (manhle@uit.edu.vn)


184
INTERNET

APPLICATION Cung cp a ch logic,


APPLICATION
Internet Protocol (IP) c lp vi
APPLICATION
Internet Control Message phn cng, d liu c th lt qua
Protocol (ICMP) cc tiu mng c cu trc vt l khc
Address Resolution Protocolnhau. Cung cp chc nng nh tuyn
TRANSPORT
(ARP) TRANSPORT
h tr vic vn TRANSPORT
chuyn lin mng.
Reverse Address Resolution
Protocol (RARP)

INTERNET INTERNET INTERNET

NETWORK NETWORK NETWORK


ACCESS ACCESS ACCESS

Son tho TS L MNH (manhle@uit.edu.vn)


185
NETWORK ACCESS

Cung cp giao din tng tc vi


APPLICATION
 Ethernet APPLICATION APPLICATION
mng vt l. Format d liu cho b
 Fast Ethernet
phn truyn ti trung gian v to a
 SLIP &PPP
ch d liu cho cc tiu mng da trn
 FDDI
a ch phn cng vt l. Cung cp
TRANSPORT TRANSPORT
 ATM, Frame Relay TRANSPORT
vic kim tra li trong qu trnh
 ARP
truyn d liu.
 Proxy ARP
 RARP
INTERNET INTERNET INTERNET

NETWORK NETWORK NETWORK


ACCESS ACCESS ACCESS

Son tho TS L MNH (manhle@uit.edu.vn)


186
M HNH HOT NG CA TCP/IP

My My
name name
Data Data
My My
APPLICATION
name APPLICATION
name
Packet Packet
TRANSPORTTCP/UDP TRANSPORT
Header

INTERNET
My name IP Header INTERNET OK
172.16.
dy cc bit
NETWORK NETWORK
ACCESS ACCESS

Son tho TS L MNH (manhle@uit.edu.vn)


187
GIAO THC TRONG M HNH
TCP/IP
(Transmission Control Protocol)
 TCP(Transmission
TCP (Transmission Control Protocol) l mt giao thc c lin kt (connection -
oriented)
TCP cung cp kh nng truyn d liu mt cch an ton gia cc my trm trong h
thng cc mng. N cung cp thm cc chc nng nhm kim tra tnh chnh xc ca d
liu khi n v bao gm c vic gi li d liu khi c li xy ra.

TCP cung cp cc chc nng chnh sau:

Son tho TS L MNH (manhle@uit.edu.vn)


188
TCP cung cp cc chc nng chnh sau:

Thit lp, duy tr, kt thc lin kt gia hai qu trnh.

Phn pht gi tin mt cch tin cy.

nh s th t cc gi d
liu nhm truyn d liu
Truyn d liu s dng c TCP mt cch tin cy
ch full-duplex

Cung cp kh nng a kt ni vi Cho php iu khin li.


cc qu trnh khc nhau gia trm
ngun v trm ch nht nh thng
qua vic s dng cc cng.
Son tho TS L MNH (manhle@uit.edu.vn)
189
GIAO THC TRONG M HNH
TCP/IP
(Transmission Control Protocol)
 TCP(Transmission
TCP (Transmission Control Protocol) l mt giao thc c lin kt (connection -
oriented)
TCP cung cp kh nng truyn d liu mt cch an ton gia cc my trm trong h
thng cc mng. N cung cp thm cc chc nng nhm kim tra tnh chnh xc ca d
liu khi n v bao gm c vic gi li d liu khi c li xy ra.
TCP cung cp cc chc nng chnh sau:

(Use Datagram Protocol)


 UDP(Use
o Giao thc truyn khng kt ni, khng m bo tin cy, nhng tit kim
chi ph truyn
o UDP c thit k chuyn giao d liu theo thi gian thc nh m
thanh, videotrc tip t im ny n im khc trn internet
o Vi UDP ng dng c th gi data n 1 my khc m khng cn yu cu
kt ni, i vi TCP ththo
Son cnTS
phi c (manhle@uit.edu.vn)
L MNH

190
SO SNH TCP V UDP

TCP UDP
Kch thc: 20byte Kch thc: 8byte
Dng cho mng WAN Dng cho mng LAN
Text Cho php mt d liu
Khng cho php mt

gi tin Khng m bo.

m bo vic truyn d
Text Tc truyn cao, VolP

liu truyn tt qua UDP


Tc truyn thp hn Text
UDP

Son tho TS L MNH (manhle@uit.edu.vn)


191
GIAO THC TRONG M HNH
TCP/IP
 IP (Internet Protocol)
o Giao thc Internet chuyn giao cc gi tin qua cc my tnh n ch.
o IP l giao thc vn chuyn c bn cho cc gi tin trn mng Internet v cc mng
dng giao thc TCP/IP.
o IP dng xy dng 1 giao tip mng v cc a ch my tnh trong giao tip mng

Son tho TS L MNH (manhle@uit.edu.vn)


192
Son tho TS L MNH (manhle@uit.edu.vn)
193
T IP CHO NIC

Cch xem a ch IP

Cu hnh a ch IP

To nhiu a ch IP trn card mng

Son tho TS L MNH (manhle@uit.edu.vn)


194
CCH XEM A CH IP TRONG
LINUX
 xem a ch IP, ta dng cu lnh Ifconfig
Thay i a ch IP: c 3 cch

Son tho TS L MNH (manhle@uit.edu.vn)


195
Thay i a ch IP: c 3 cch

1 2 3

DEVICE=eth0
Thay i thng tin
# ifconfig BOOTPROTO=none
cu hnh mng T du nhc lnh ta
<interface_name> HWADDR=52:24:ff:ff:ff:04 enter vo lnh setup
trong tp tin
ONBOOT=yes
<IP_address> /etc/sysconfig/net
TYPE=Ethernet -> Network
netmask IPADDR=192.168.255.103
work-scripts/ifcfg- Configuration ->
<netmask_address> NETMASK=255.255.255.0
eth0 Run Tool.
up

Son tho TS L MNH (manhle@uit.edu.vn)


196
CC FILE CU HNH MNG
 etc/init.d/network: Bt/tt/khi ng li dch v mng.

 /etc/sysconfig/network :
o Cu hnh IP tnh
NETWORKING=yes
HOSTNAME=my-hostname
FORWARD_IPV4=true
GATEWAY="XXX.XXX.XXX.YYY"
o Cu hnh IP ng
NETWORKING=yes
HOSTNAME=my-hostname

 /etc/resolv.conf:
o Ch ra cc my ch DNS s phn gii tn min
search name-of-domain.com
nameserver XXX.XXX.XXX.XXX
nameserver XXX.XXX.XXX.XXX

Son tho TS L MNH (manhle@uit.edu.vn)


197
TO NHIU A CH IP TRN CARD
MNG
 Thng thng phng thc to nhiu a ch IP trn card mng c gi l IP alias.

 Alias ny phi c tn dng: parent-interface-name:X, trong X l ch s ca


subinterface
 to Alias IP ta dng hai cch sau:

 Cch 1:

Son tho TS L MNH (manhle@uit.edu.vn)


198
 Cch 1:

BC 1 BC 2 BC 3 BC 4

m bo rng To Virtual Bt v tt alias Kim tra thng tin


tn interface interface interface thng cu hnh alias
tht phi tn dng lnh qua lnh ifconfig interface dng
ti, v kim tra ifconfig #ifup eth0:0 lnh ifconfig
cc Ip Alias # ifconfig ifcfg- #ifdown eth0:0 #ifconfig
trong h thng eth0:0 [IP]
c tn ti hay netmask [mask ]
khng up

Son tho TS L MNH (manhle@uit.edu.vn)


199
CC FILE CU HNH MNG
 Thng thng phng thc to nhiu a ch IP trn card mng c gi l IP alias.

 Alias ny phi c tn dng: parent-interface-name:X, trong X l ch s ca


subinterface
 to Alias IP ta dng hai cch sau:

 Cch 1:
 Cch 2:To tp tin /etc/sysconfig/network-scirpts/ifcfg-eth0:X bng cch copy file
/etc/sysconfig/network-scripts/ifcfg-eth0 ( trong X l s k t ca subinterface

DEVICE=eth0:0 Dng lnh service network restart


ONBOOT=yes
BOOTPROTO=static
IPADDR=172.29.14.151
NETMASK=255.255.255.224
GATEWAY=172.29.129
Son tho TS L MNH (manhle@uit.edu.vn)
200
Son tho TS L MNH (manhle@uit.edu.vn)
201
Mt vi dch v Trong LINUX

Network Information Service Operation (NIS)


Very Secured FTP (VSFTP)
Dch v Samba
Network File System (NFS)

Your Logo
Network Information Service
Operation (NIS)

Tng quan v NIS


NIS (Network Information System) l mt ng
dng cung cp cc tin ch truy nhp c s d liu
phn phi thng tin, chng hn nh d liu
trong /etc/passwd v /etc/group cho tt c cc my
trm trn mng. iu ny lm cho mng tr nn
mt h thng duy nht. NIS c xy dng
trn vic s dng dch v RPC (Remote
Procedure Call).
Your Logo
u im

Mt li th ca NIS l ngi s dng cn


phi thay i mt khu ca mnh duy nht trn
my ch ca NIS, thay v mi h thng trn mng.
iu ny lm cho NIS ph bin trong cc phng
th nghim o to my tnh, cc d n pht trin
phn mm hoc l gii php cho nhm ngi
chia s nhiu my tnh khc nhau.

Your Logo
Nhc im

NIS khng m ha cc thng tin tn ngi


dng v mt khu khi cc my client ng nhp v
tt c ngi dng c th truy cp cc mt khu
m ha c lu tr trn my ch ca NIS.

Your Logo
NIS c xy dng trn m hnh client-
server. Mt server NIS l mt host m cha cc
file d liu NIS, gi l maps. Client l nhng host
truy vn thng tin t cc maps ny. Server phi
phn chia nhiu hn na qun l v phc v
tch cc. Cc my ch (master server) l ch thc
s ca cc maps d liu.

Your Logo
Slave NIS x l cc yu cu ca client, nhng
chng khng thay i cc NIS maps. Cc my ch
chu trch nhim tng th cho tt c cc map bo
dng v phn phi n cc my ch slaver ca
n. Khi mt NIS map c xy dng trn my ch
c 1 s thay i, cc tp tin map mi ny c
phn phi cho cc my slave server.

Your Logo
Mi quan h gia cc my slave, master v
client:

Your Logo
Very Secured FTP (VSFTP)

FTP (vit tt ca ting Anh File Transfer


Protocol, Giao thc truyn tp tin) thng c
dng trao i tp tin qua mng li truyn
thng dng giao thc TCP/IP (chng hn nh
Internet mng ngoi b hoc intranet mng
ni b). Hot ng ca FTP cn c hai my tnh,
mt my ch v mt my khch).

Your Logo
My ch FTP, dng chy phn mm cung
cp dch v FTP, gi l trnh ch, lng nghe yu
cu v dch v ca cc my tnh khc trn mng
li. My khch chy phn mm FTP dnh cho
ngi s dng dch v, gi l trnh khch, th khi
u mt lin kt vi my ch.

Your Logo
M hnh FTP

Your Logo
Dch v Samba

Samba l chng trnh tin ch h tr vic


chia s ti nguyn t h thng Linux vi cc h
thng khc (Linux, Windows), n h tr tnh nng
gia nhp (join) Linux vi Windows nh gia nhp
Linux vo PDC trn Windows, gia nhp vo
Windows Workgroup,

Your Logo
B Samba gm nhiu thnh phn:
- Daemon mang tn smbd cung cp dch v in n v
tp tin. Tp tin cu hnh ca Daemon ny l smb.conf.

Your Logo
- Daemon nmbd th h tr dch v tn NETBIOS, cho
php cc my tnh khc truy cp v s dng cc ti
nguyn c cp bi my ch Samba. Trnh smbclient,
mt thnh phn khc ca b Samba, hot ng nh mt
client bnh thng ging nh ftp. Trnh tin ch ny dng
khi bn truy cp nhng ti nguyn trn cc server tng
thch khc.

Your Logo
M hnh

Your Logo
Network File System (NFS)

Tng quan v NFS


Lch s NFS
Kin trc ca NFS
Truyn thng gia server client trong NFS
M hnh h thng file NFS
Cc thuc tnh ca file ca NFS
L thuyt ci t v cu hnh NFS

Your Logo
Network File System (NFS)
Tng quan v NFS

Network File System (NFS) ban u c


pht trin bi Sun dnh cho cc my trm UNIX,
sau l cho c LINUX, tuy nhin n cng c th
chy tt trn cc h iu hnh khc. tng c
bn ca NFS l mi file server (my ch file) cung
cp mt khung nhn c chun ha v h
thng file cc b ca n.

Your Logo
Kin trc ca NFS

Trong m hnh dch v file t xa (Remote File


Service), cc client truy cp mt cch trong sut
n h thng file c qun l bi mt server
xa. V th, thng thng cc client khng bit v
tr thc s ca cc file. Thay vo , chng
c cung cp mt giao din n h thng file,
tng t nh giao din ca cc h thng file cc
b thng thng.

Your Logo
Trong trng hp ring, client ch c cung
cp 1 giao din cha nhiu cc thao tc file
khc nhau, server ch c nhim v thc thi cc
thao tc file .Chnh v vy m hnh ny cn
c gi l M hnh truy cp t xa (Remote
Access Model).

Your Logo
M hnh truy nhp t xa

Your Logo
Truyn thng gia server client trong NFS

Trong NFS, tt c truyn thng gia client v


server u theo giao thc Open Network
Computing RPC (ONC RPC). Ni chung th ONC
RPC hon ton tng t vi cc h thng RPC
khc. Mi thao tc NFS u c th thi hnh khi
mt th tc n t xa gi n mt file server.

Your Logo
Cc thuc tnh ca file ca NFS

Mt tp cc thuc tnh bt buc (mandatory


attributes) - mi s thc thi u phi h tr.
Mt tp cc thuc tnh c ngh
(recommended attributes) - nn c h tr l
tt nht.
Thm mt tp cc thuc tnh c nh danh
(named attributes).

Your Logo
Cc thuc tnh ca file ca NFS (Cont.)

Cc thuc tnh c nh danh (named


attributes) c m ho thnh mt mng ca
cc cp (thuc tnh, gi tr), trong thuc tnh
c biu din l mt chui (string) v gi tr
ca n l mt dy cc byte. Chng c lu tr
cng vi file (hoc th mc) v NFS s cung
cp cc thao tc c v ghi cc gi tr thuc
tnh

Your Logo
C tng cng 12 thuc tnh file bt buc:

Your Logo
Ci t v cu hnh NFS

ci t dch v ny ta cn chun b mt
package l nfs-utils-xxx.rpm trong xxx l s
hiu phin bn. ng nhp vi quyn root v s
dng lnh:
# rpm ivh nfs-utils-xxx.rpm
Nu khng c li thng bo li th vic ci t thnh
cng.

Your Logo
Ta c th kim tra cc thng tin v cc dch v
NFS bng lnh:
#rpcinfo p

Your Logo
Khi ng v dng NFS

Vic khi ng dch v NFS cng kh n gin


bng cch dng lnh:
# service nfs start
hoc
#/etc/init.d/nfs start

Your Logo
Vic dng (tt) dch v ny, ta dng lnh sau:
#service nfs stop
hoc
#/etc/init.d/nfs stop

Your Logo
Cu hnh NFS Server v Client

Cu hnh NFS ta ch cn sa file /etc/exports,


y l file cha danh sch cc th mc c
chia s cho cc my khc. N cng ng thi
cha danh sch cc my trm c quyn c
truy cp v quyn truy cp ca cc my trm
ny.

Your Logo
Cu hnh NFS Server v Client (Cont.)

Cu trc ca mi dng khai bo trong file ny nh


sau:
/ten_thu_muc
Dia_chi_may_tram(quyen)
- ten_thu_muc l ng dn n th mc ta
mun chia s cho cc my khc.
- Dia_chi_may_tram c th l a ch IP hoc tn
my (c lit k trong file /etc/hosts).
Your Logo
Cu hnh NFS Server v Client (Cont.)

c d liu trn cc th mc c chia


s ny ta c th dng cch sau:
#mount <tn_my_ch:/tn_th_mc_chia_s>
</tn_th_mc_cn_nh_x>
VD: mount 192.168.1.1:/root/sharedata /mnt/project
By gi th mc /mnt/project trn my hin ti s bnh
ng nh cc th mc khc trn my. Ta c th sao chp,
c cc file trn th mc ny.

Your Logo
Cu hnh NFS Server v Client (Cont.)

Sau khi thc hin xong cc thao tc cn thit,


ta c th hy b nh x ny bng lnh umount

# unmounts /thu_muc_anh_xa
VD: unmounts /mnt/project

Your Logo
Ci t Mng Trong Linux

GIAO
THC
TCP/IP
CU
HNH A
DHCP CH IP
CHO NIC

CI
T
SOURCE MNG
REMOT TRONG THIT
ER B
ACCESS
LINUX MNG
-SSH

CNG
TELN C CU
ET HNH
MNG

Son tho TS L MNH (manhle@uit.edu.vn)


233
3. Thit B Mng

1 Card mng

2 Router
Son tho TS L MNH (manhle@uit.edu.vn)
234
 Cc mng: hay cc giao tip mng (Network Interface Card),
l mt bn mch cung cp kh nng truyn thng mng cho
mt my tnh. N cn c gi l b thch nghi LAN (LAN
adapter), c cm trong mt khe (slot) ca bn mch chnh
v cung cp mt giao tip kt ni n mi trng mng.

 Cc mng l thit b chu trch nhim:


Chuyn i cc tn hiu my tnh ra cc tn hiu trn phng tin truyn dn v
ngc li.
Gi/nhn v kim sot lung d liu c truyn.

Son tho TS L MNH (manhle@uit.edu.vn)


235
 Cc thnh phn trong card mng:

 I/O Address: a ch b nh chnh ca my tnh, c dng trao i d liu gia


my tnh vi thit b (cc mng)
 Memory Address: a ch b nh chnh ca my tnh, l ni bt u vng m dnh
cho cc x l ca cc mng
 DMA Channel: Cho php thit b (cc mng) lm vic trc tip vi b nh my tnh
m khng cn thng qua CPU
 Boot PROM: Cho php khi ng h thng v kt ni vo mng
 MAC Address: a ch nh danh duy nht c IEEE cp cho mi cc mng

Son tho TS L MNH (manhle@uit.edu.vn)


236
 u ni BNC: Ni card mng vi cp qua u ni ch T
(10BASE2)
 u ni RJ-45: Ni card mng vi cp qua u ni RJ-45
(10BASE-T/100BASE-T)
 u ni AUI: Ni card mng vi cp (10BASE5)
Khe cm m rng: ni cho php gn cc mng vo my tnh, c
nhiu chun: ISA, EISA, PCI, MCA, ...
IRQ (Interrupt Request): Ch s ngt. Mi thit b trn my tnh,
k c card mng, u c n nh mt ch s ngt duy nht yu
cu CPU phc v
Trong Linux kim tra trng thi ca tt c c card mng ta dng
lnh: #netstat in

Son tho TS L MNH (manhle@uit.edu.vn)


237
Router: l thit b nh tuyn hoc b nh tuyn, l mt thit b mng my tnh
dng chuyn cc gi d liu qua mt lin mng v n cc u cui, thng qua
mt tin trnh c gi l nh tuyn. Boot PROM: Cho php khi ng h thng v
kt ni vo mng

Router l thit b chu trch nhim:


Mt router hot ng nh mt lin kt gia hai hoc nhiu mng v chuyn cc gi
d liu gia chng. Router a vo bng nh tuyn (routing table) tm ng i
cho gi d liu.

Son tho TS L MNH (manhle@uit.edu.vn)


238
Bng nh tuyn c qun tr mng cu hnh tnh (static), ngha l c thit lp 1
ln v thng do qun tr mng nhp bng tay, hoc ng (dynamic), ngha l bng t
hc ng i v ni dung t ng thay i theo s thay i tplogy mng

Router khng phi mt thit b chuyn mch (network switch).

Thng thng trong Linux chng ta khng nh ngha route static trong file mc d
bn c th nh ngha c nhng n khng linh ng nh cch trn.

Son tho TS L MNH (manhle@uit.edu.vn)


239
Cu hnh nh tuyn trong Linux:
 Ta c th m t ng i hoc xa ng i trong bn nh tuyn router
 Bn c to ra mt tp tin trong / etc / sysconfig / network-scripts cho mi giao
din Ethernet bn mun to cc tuyn tnh. thm mt m t ng i ta dung
lnh:

route add -net 10.10.98.0 netmask 255.255.255.0 gw 10.164.234.132 dev eth1

 xa m t ng i ta dng lnh:

route del -net 10.10.98.0 netmask 255.255.255.0 gw 10.164.234.132 dev eth1

Son tho TS L MNH (manhle@uit.edu.vn)


240
Ngy nay c rt nhiu cng c cu hnh mng. l:
 Netconf mt giao din tng tc giao din c sn
trn Redhat 6.1
 Linuxconf mt giao din tng tc giao din c sn
trn Redhat 6,1 bao gm cu hnh netconf. netconfig
mt bc giao din bi giao din bc ifconfig mt
chng trnh vn bn da trn cu hnh giao din
mng.
Lnh ifconfig: cu lnh ifconfig c rt nhiu ty chn
cu hnh, iu chnh v d li trn cc giao din
mng h thng

Son tho TS L MNH (manhle@uit.edu.vn)


242
 Lnh hostname: dng t tn my:
#hostname DHCPserver
 Ta c th cu hnh mng bng cch trc tip vo cc tp
tin v chnh sa ni dung bn trong
/etc/hosts
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-ethx
DEVICE=eth0
ONBOOT=yes
BOOPROTO=static
BROADCAST=172.29.14.159
IPADDR=172.29.14.150
NETMASK=255.255.255.224
NETWORK=172.29.14.128
TYPE=Ethernet
Son tho TS L MNH (manhle@uit.edu.vn)
243
setup -> network configuration: ci t a ch IP

Son tho TS L MNH (manhle@uit.edu.vn)


244
linuxconf: l mt cu hnh cho h iu hnh Linux. N c tnh
nng giao din ngi dng khc nhau nh: giao din vn bn,
giao din web v giao din GTK.

Son tho TS L MNH (manhle@uit.edu.vn)


245
 Cu lnh ifdown v ifup ging nh ifconfig up hay ifconfig
down. Hai cu lnh thchin bt hoc tt giao din ch nh. iu
ny yu cu quyn qun tr nn bn phi dng thm t kha sudo
trn Ubuntu.
sudo ifdown eth0
sudo ifup eth0
 Lnh dhclient gip lm mi a ch IP trn my bng cch gii
phng a ch IP c v nhn mt a ch mi t DHCP server.
Cng vic ny yu cu quyn qun tr, v vy phi dng thm t
kha sudo trn Ubuntu. Chy dhclient nhn a ch IP mi hoc
s dng ty chn r gii phng a ch IP hin ti.
sudo dhclient r
sudo dhclient
 Cu lnh netstat a ra cc thng k khc nhau cho giao din, bao
gm cc socket m v cc bng nh tuyn. S dng cu lnh
netstat p xem cc chng trnh i km vi cc socket m.
Son tho TS L MNH (manhle@uit.edu.vn)
246
5. Telnet trong Linux
 TELNET (vit tt ca TErminaL NETwork) l mt giao
thc mng (network protocol) c dng trn cc kt ni
vi Internet hoc cc kt ni ti mng my tnh cc b
LAN.
 TELNET thng c dng cung cp nhng phin giao
dch ng nhp, gia cc my trn mng Internet, dng
dng lnh c tnh nh hng ngi dng. chng trnh
phn mm c thit k, to cm gic nh mt thit b
cui c gn vo mt my tnh khc.
 TELNET vn c ci t sn trong hu ht cc h iu
hnh Unix

Son tho TS L MNH (manhle@uit.edu.vn)


247
5.1 Ci t telnet
Trc khi ci t telnet, chng ta cn phi ci t gi ncurses v trong qu
trnh bin dch chng trnh s s dng th vin v cc tp tin header ca
gi ny. S dng Buildroot ci t gi ncurses vo root filesystem ca
n, vo menu Package Selection for the target  chn mc ncurses v
ncurses headers in target. Tip theo, make Buildroot cu hnh v ci
t gi ncurses.
Gi ci t telnet: netkit-telnet-0.17.tar.gz
Cc bc thc hin:
~ # tar zxvf netkit-telnet-0.17.tar.gz
~ # cd netkit-telnet-0.17/
~/ netkit-telnet-0.17 # ./configure --prefix=/usr
Thi hnh dng lnh trn s to ra li sau:
Directories: /usr/bin /usr/sbin /usr/man
Looking for a C compiler... gcc
Checking for BSD signal semantics... yes
Checking for ncurses... no
Checking for traditional termcap... not found
Son tho TS L MNH (manhle@uit.edu.vn)
This package needs termcap to run. 248
5.1 Ci t telnet

 Li xy ra l do thiu tp tin ncurses_dll.h. khc phc li ny cn phi


chp tp tin ny trong th mc buildroot/build_i686/staging_dir/include/
vo th mc buildroot/build_i686/root/usr/include. Sau , thc hin li
lnh trn v tip tc:
~/ netkit-telnet-0.17 # cd telnetd/
~/ netkit-telnet-0.17/telnetd # make
 Chp cc tp tin cn thit vo minimal system:
[root@localhost ~]# cd buildroot/build_i686/root/root/netkit-telnet-0.17/telnetd
[root@localhost telnetd]# cp telnetd /mnt/minimalSystem/usr/sbin/in.telnetd
[root@localhost ~]# mkdir /mnt/minimalSystem/etc/xinetd.d
[root@localhost ~]# cp /etc/xinetd.d/telnet /mnt/minimalSystem/etc/xinetd.d/
 Chp tp tin xinetd trong th mc /etc/init.d ca h thng chun vo
/etc/init.d ca minimal system.
 Script ny c chc nng khi ng, khi ng li hoc tt dch v xinetd.
Son tho TS L MNH (manhle@uit.edu.vn)
249
5.2 Bo mt telnet

 Bc1: M tp tin /etc/services v thm dng telnet


7777/tcp #secure telnet.
Bc2: Chp tp tin telnet thnh Stelnet.
Bc3: i thng tin trong tp tin Stelnet.
Bc4: Kch hot Stelnet bng lnh chkconfig.
Bc5: Kim tra hot ng ca telnet.
Mun cho php mt s a ch truy xut telnet ta
dng: only_from=<ip_address>
Son tho TS L MNH (manhle@uit.edu.vn)
250
6. Secoure Remote Access- SSH

1. Khi nim,chc nng


SSH (Secure Shell) l mt giao thc mng dng thit
lp kt ni mng mt cch bo mt. SSH hot ng lp
trn trong m hnh phn lp TCP/IP. Cc cng c SSH
(nh l OpenSSH, ...) cung cp cho ngi dng cch thc
thit lp kt ni mng c m ho to mt knh kt
ni ring tH tr BOOTP client
Hn na tnh nng tunneling ca cc cng c ny
cho php chuyn ti cc giao vn theo cc giao thc
khc. Do vy c th thy khi xy dng mt h thng
mng da trn SSH, chng ta s c mt h thng
mng ring o VPN n gin.DHCP l mt dch v ph
thng nn c
Son tho TS L MNH (manhle@uit.edu.vn)
251
6. Secoure Remote Access- SSH(cont.)

1. Khi nim,chc nng


SH l mt chng trnh tng tc gia my ch v my khch c s dng c
ch m ho mnh nhm ngn chn cc hin tng nghe trm, nh cp
thng tin trn ng truyn. Cc chng trnh trc y: telnet, rlogin khng
s dng phng php m ho. V th bt c ai cng c th nghe trm thm ch
c c ton b ni dung ca phin lm vic bng cch s dng mt s cng
c n gin.
S dng SSH l bin php hu hiu bo mt d liu trn ng truyn t h
thng ny n h thng khc.

Son tho TS L MNH (manhle@uit.edu.vn)


252
6. Secoure Remote Access- SSH (cont.)

2. Ci t ssh
Trong RedHat v Fedora:
- Nu c sn gi SSH Server
# rpm ivh openssh-server-rpm
- Nu cha c sn:
#yum install openssh-server ( lnh ny ch thc hin c trn
Fedora v bt buc phi c kt ni n Internet )
Trong Ubuntu/Debian
- Nu c gi .deb sn
#dpkg openssh-server-.deb
- Nu cha c .deb
#apt-get update
#apt-get install openssh-server

Son tho TS L MNH (manhle@uit.edu.vn)


253
6. Secoure Remote Access- SSH

2. Ci t ssh

*Sau khi ci t xong th khi ng dch v SSH bn lnh:


#service sshd start
#/etc/initd.d/sshd start

*SSH s dng port 22 v file cu hnh l :


/etc/ssh/sshd_config

Son tho TS L MNH (manhle@uit.edu.vn)


254
6. Secoure Remote Access- SSH

2. Cu hnh bo mt cho ssh

1. Thay i port SSH , khng s dng port mc nh 22


Trong file /etc/ssh/sshd_config trng:Port 22
2. S dng SSH2 thay v SSH1. SSH 1 thng gp phi vn
bo mt vi kiu tn cng man-in-the-middle v insertion.
M file /etc/ssh/sshd_config v tm dng sau:
Protocol 2,1
Thay i dng thnh protocol 2.

Son tho TS L MNH (manhle@uit.edu.vn)


255
6. Secoure Remote Access- SSH

2. Cu hnh bo mt cho ssh


3. Gii hn ch cho php 1 s i tng vo SSH, khng cho root ng nhp
v root c rt nhiu t quyn v d b tn cng
- Khng cho root ng nhp : M file /etc/ssh/sshd_config v tm dng sau:
PermitRootLogin yes v sa yes thnh no cm root
- To danh sch ch cho php cc ngi dng trong danh sch truy xut: cui
file sshd_config thm vo dng sau:
AllowUsers anze dasa kimy .. ( cc user cch nhau bng space )
4. Thay v s dng tn v mt khu th s dng kho DSA:
S dng c ch thm nh kho cng cng DSA cho php h thng ngn
chn c kiu tn cng theo sch v, v bn c th ng nhp vo dch v
SSH m khng cn dng n tn v mt khu. Thay vo , bn cn mt cp
kho DSA: mt kho chung (public) v mt kho ring (private). Kho ring
c gi trn my ca bn, cn kho chung c a ln server. Khi mun
ng nhp vo mt phin SSH, server s kim tra kho. Nu tt c thng s
u khp, bn c a
Son vo
tho TS h thng.(manhle@uit.edu.vn)
L MNH Nu kho khng khp, kt ni b ngt.
256
7. DHCP trong Linux

1. Khi nim

- DHCP ( Dynamic Host Configuration Protocol ) l mt


giao thc c s dng vi muc ch qun l v cp pht IP
ng cho cc my client, gip ngi qun tr tit km thi
gian trong vic bo tr v ci t mt h thng mng.

- DHCP l mt dch v ph thng nn c sn trn mi


distro Linux nn bn khng cn n vic ci t n.

Son tho TS L MNH (manhle@uit.edu.vn)


257
7. DHCP trong Linux
2. Chc nng
Qun l vic cp pht a ch Ipcho cc
my client khi c yu cu.

Cung cp nhng thng tin cu hnh mng


nh subnet mask, default router,
DNS Server.
DHCP
DHCP chy trn giao thc TCP/IP

Cc gi tin c s dng trong DHCP l:


Lease request, Ip lease offer, Lease selection,
Lease renew.

Son tho TS L MNH (manhle@uit.edu.vn)


258
7. DHCP trong Linux
2. c dim

a ch ip ch c cp pht trong mt khong thi


gian nht nh, nhng a ch ip khng s dng na s
b thu hi li.
H tr BOOTP client
s dng DHCP bn cn phi c mt DHCP Server
p ng cc yu cu t cc my DHCP client gi
ti v ngc li trn cc my client cung cn phi c
DHCP client gi cc request.
DHCP l mt dch v ph thng nn c sn trn
mi distro Linux nn bn khng cn n vic ci
t n.
Son tho TS L MNH (manhle@uit.edu.vn)
259
7. DHCP trong Linux
3. C ch hot ng ca DHCP:

1. Lease request: dhcp client gi broadcast gi tin dhcp request,


gi tin ny c gi ti DHCP Server yu cu c cp
ip.
2. Ip lease offer: DHCP Server n nh cho client a ch ip,
subnet mask, domain name, a ch name server, khong thi
gian m client c php s dng hp l v gi tin ny s
c gi ngc li cho client.

Son tho TS L MNH (manhle@uit.edu.vn)


260
7. DHCP trong Linux
3. C ch hot ng ca DHCP:

3. Lease selection: client chp nhn nhng thng tin cu hnh


c cung cp v n gi s gi mt gi tin broadcast
thng bo vi cc DHCP Server khng cn gi cc thng
tin cu hnh khc cho n na.
4. DHCP Server gi n client mt gi tin ACK v khi
client c cu hnh TCP/IP v hot ng bnh thng
5. Lease renew: khi s dng nhng thng tin cu hnh c
cung cp n mt na khong thi gian c php (
default-lease-time ) DHCP client nu mun tip tc s dng
s gi mt request mi ti DHCP Server.
Son tho TS L MNH (manhle@uit.edu.vn)
261
7. DHCP trong Linux
3. Ci t v cu DHCP:

Ta dng gi ci t: #rpm ivh packagename.rpm


To tp tin cu hnh /etc/dhcpd.conf v chnh sa n dung tp tin nh
sau:
Default-lease-time 600 ;
Max-lease-time 7200 ;
Option subnet-mask 255.255.255.0 ;
Option broadcast-address 192.168.1.255 ;
Option router 192.168.1.254 ;
Option domain-name-servers 192.168.1.1, 192.168.1.2 ;
Option domain-name example.com ;
Sebnet 192.168.1.0 netmask 255.255.255.0
{ range 192.168.1.10 192.168.0.100;}
Tp tin /var/lib/dhcp/dhcpd.leases lu nhng thng tin v a ch IP
c cp pht.
khi ng DHCP ta dng lnh: #etc/init.d/dhcpd start|stop|restart
kim tra trn Linux ta g ln ifconfig -a
Son tho TS L MNH (manhle@uit.edu.vn)
262
So snh Windows v Linux

Son tho TS L MNH (manhle@uit.edu.vn)


263
So snh Windows v Linux

WINDOWS NT l h iu hnh LINUX l HH a nhim, h


(HH) cao cp ca Microsoft, tr 32 bit chy c trn nhiu
cung cp mi trng hon ton nn tng phn cng.
32-bit trn cc h thng n hay HH ny min ph v cho php
a x. sao chp m ngun.Nhn Linux
ng thi HH Windows NT phin bn 2.0 h tr nhiu nn
c thit k t bit phc v tng h thng. Nhn 64 bit h tr
nhu cu ca ngi s dng mng SMP (symmetrical
v cho hiu nng lm vic cng ultiprocessing a x l i
vi an ton cao. xng).
t im quan trng ca Linux ph hp vi nhng tiu
WindowsNT : kin trc 32-bit chun X/Open v POSIX cho
,h tr nhiu b x l (4 v c HH tng t Unix,chy c
kh nng nng cp ln 32), a x nhng chng trnh dung cho
l v a lung (multithreading). SCO v h thng Unix SVR4.

Son tho TS L MNH (manhle@uit.edu.vn)


264
So snh Windows v Linux

Cu trc file trong Windown

Registry trong Windows l mt c s d liu ch cho ton b cc thit lp nm trn


my tnh. N nm gi thng tin ng dng, mt khu ngi dng, thng tin thit b
Linux khng c registry. Cc ng dng trn Linux lu thit lp ca mnh trn c s
chng trnh di s phn cp ngi dng

Son tho TS L MNH (manhle@uit.edu.vn)


265
So snh Windows v Linux

Cu trc file trong linux

Son tho TS L MNH (manhle@uit.edu.vn)


266
So snh Windows v Linux

Giao din ha v giao


Giao din ha din text mod
Giao din
Khng thay i trong thi
Giao din c th thay i
gian di
Tnh t do

M ngun khng th thay i M ngun m

H tr k thut khng c i ng k thut


C i ng k thut h tr
thut h tr

Son tho TS L MNH (manhle@uit.edu.vn)


267
Qun tr mng LINUX

CHIA S TI NGUYN
TRONG MNG LINUX

Son tho TS L MNH (manhle@uit.edu.vn)


268
Ni dung

1. Gii thiu v chia s ti nguyn

2. Network File System (NFS)

3. SAMBA

Son tho TS L MNH (manhle@uit.edu.vn)


269
1. Gii thiu

Chia s ti nguyn vi mi trng linux


gm 2 mc tiu chnh:

Gia cc my cng chy linux

Gia linux v cc my chy h iu hnh


khc nh Window, FreeBSD,
Machitoch,

Son
Khoa mng my tnh v truyn thong tho TS L MNH (manhle@uit.edu.vn)
270
1. Gii thiu

Mt s tool h tr cho vic chia s ti


nguyn:
NFS (network file system)

Samba (http://www.samba.org)

Adrew File System (http://www.openafs.org)

Coda File System (http://www.coda.cs.cmu.edu/)

Bi thuyt trnh i trng tm vo NFS v Samba

Son tho TS L MNH (manhle@uit.edu.vn)


271
2. Network File System

Gii thiu
NFS l mt dch v chia s file trn mng my
tnh linux. N cho php gn cc th mc/ partition t
xa tc nhanh v bo mt.

c im
Version 2,3 v 4 h tr linux kernel 2.6 v sau
NFS s dng UDP v TCP trn nn IPv4
NFS dng Remote Proceduce Call (RPC)
Da trn kin trc client/server
Khng s dng cho a cng nh dng FAT
Son tho TS L MNH (manhle@uit.edu.vn)
272
Ci t

 a s cc phin bn linux sau ny u


h tr NFS.

 Ci t : ci t NFS cho h thng th cn phi c file nfs-

ultils-xxx.rpm v nfs-utils-lib-xxx.rpm

Xxx l phin bn ca nfs.

Ta c th download v ti:

http://sourceforge.net/projects/nfs/files/

Son tho TS L MNH (manhle@uit.edu.vn)


273
c im

C 5 deamon chnh: rpc.nfsd,


rpc.lockd, rpc.statd, rpc.mountd v
rpc.rquotad

Cc deamon chy cc dch v sau:


portmap, nfs, nfslock, netfs

Son tho TS L MNH (manhle@uit.edu.vn)


274
Cc bc cu hnh Server

Chy
Cc bc cu hnh dch v

Kim tra
Server
Server Kim tra
firewal

Cu
hnh file

Son tho TS L MNH (manhle@uit.edu.vn)


275
Kim tra Server

Kim tra xem Server c h tr NFS:

cat /proc/filesystems
Chy cc dch v

Kim tra xem dch v chy cha:


#rpcinfo p localhost

Nu cha c dch v th kch hot:


 #service portmap start
 #service nfslock start
 #service nfs start
Kim tra li bng cu lnh trn.
Kim tra firewall
#service iptable status
Cu hnh

Gm c 3 file cu hnh chnh:

 /etc/exports : danh sch chia s

 /etc/host.allow: danh sch cc dch v v cc


my tnh c cho php s dng

 /etc/host.deny: danh sch cm s dng


Chu trnh kim tra

Khi mt client yu cu mt ti nguyn, th chu


trnh kim tra nh sau:
 Kim tra /etc/exports xem yu cu ti nguyn g v
phm vi

 Kim tra file host.allow xem quyn truy cp. Nu


khng c th qua host.deny

 Kim tra host.deny, nu c th chn, nu khng th


cho php
Cu hnh /etc/exports
 C php:

<directory> <host|network> (option1, option2)

 V d:

/etc/local 192.168.1.0/24(rw)

 Mt s option:
 rw, ro
 no_route_squash
 no_subtree_check
 sync
Cu hnh Client
 Kim tra host c th chy NFS ?

 Khi ng cc dch v cn thit

 Portmap

 Netfs

 Nfslock

 To th mc trn client v mount d liu ca server vo th


mc .
Cu hnh client
 C php lnh mount d liu:
#mount t nfs <tn server>:<tn file share> <tn v tr mount>

t: ch ra loi dch v s dng (NFS)

 C php lnh unmount:

#unmount <tn v tr mount>


 Mt s ty chn:

soft v hard

rsize v wsize
SAMBA
 Samba laE cng cuF cung cGp diFch vuF chia seH file vaE
maGy in cho Windows client

 Samba da trn nEn taHng TCP/IP

 LuGc Eu phaGt triHn thiE Samba chiH chaFy trn


Linux/Unix, vE sau naEy noG coG thH chaFy trn hEu hGt
caGc hF iEu haEnh.

 Samba khng chiH chia seH file maE coEn nhiEu hI tr


tng taGc vi Windows vaE cng cuF quaHn lyG admin.
Ci t Samba

HiFn nay, a sG caGc baHn phn phGi linux E


tiGch hp sIn samba. Khi caEi Ft thiE ngi
duEng choFn option laE caEi Ft cho goGi samba.

HoFc coG thH taHi vE vaE caEi Ft thuH cng taFi:

www.samba.org
Cu trc Samba

DiFch vuF: coG 2 deamon chiGnh:

 nmbd

 Smbd

File :

 /etc/samba/smb.conf

 Cc file TDB database : persistent TDB v


Temporary TDB
Cu hnh

 ViFc cGu hiEnh samba hoaEn toaEn da trn


file smb.conf. Vi file naEy ngi duEng coG thH
cGu hiEnh thuH cng

 CGu hiEnh qua giao diFn E hoFa web SWAT

CoG thH thay Hi file smb.conf khi samba


ang hoaFt Fng
Cu hnh

 MFt viG duF vE mFt phEn cuHa file cGu hiEnh:

[global]
workgroup = WKG
netbios name = MYNAME

[share1]
path = /tmp

[share2]
path = /my_shared_folder
comment = Some random files
Cu hnh

 H truy cFp file c chia seH


 linux

smbclient //server/share
Cu hnh

 H truy cFp file c chia seH

 windows

G vo thanh a ch trn explore a ch ca


server v dch v cn s dng

Nhp tn v password v s dng nh share


gia windows vi windows
Cu hnh
 CuG phaGp:

MIi section (stazan) laE mFt diFch vuF trn chia seH
trn samba

MFt section c aGnh dGu bi [] vaE kGt thuGc


bi bGt Eu cuHa section tiGp theo.

[global]

Trong section coG caGc thuFc tiGnh c lu di


daFng value vaE key.
Cu hnh

[global]

printing = bsd

printcap name = /etc/printcap

load printers = yes

log file = /var/log/samba-log.%m

lock directory = /var/lock/samba


Cu hnh
[printers]

comment = All Printers

security = server

path = /var/spool/lpd/lp

browseable = no

printable = yes

public = yes

writable = no

create mode = 0700


Cu hnh
[hp]

security = server

path = /var/spool/lpd/lp

printer name = lp

writable = yes

public = yes

printable = yes

print command = lpr -r -h -P %p %s


Cu hnh

H s duFng diFch vuF in Server

 i vi linux

Theo c php:
print [-a|c|p] <filename>

-a prints <filename> as ASCII

-c prints <filename> formatted as source code

-p prints <filename> as Postscript


Cu hnh

H s duFng diFch vuF in Server

 i vi windows:
Lm theo cch truy nhp d liu t server s kt ni
c my n
Dch v WEB trong LINUX
Kien truc WEB
Kien truc can ban nhat e trang Dynamic Web hoat
ong c la no phai lam viec tren mo hnh
client/server. Moi clien hay server eu am ng
mot chc nang rieng e hoan thanh cong viec chung
o la cho ra mot trang Web ong. ng dung Web
phai co mot mo hnh server co the lm mot may tnh
lam server , nham tap trung hoa viec x ly d lieu.
Con cac client c noi mang vi server, gia s cac
may nay truy cap vao mot Website, th co ngha a
truy cap vao server, sau o lay d lieu t server ve
the hien len may mnh. Cung mot luc co the co hang
tram ngi (client) truy cap vao cung mot Website
c x ly tap trung tren server
WEB Server
Hau het cac ng dng Web eu hoat ong tap trung
tren Server. Mot ng dung ac trng goi la Web
Server se amtrach viec giao tiep vi cac trnh duyet.
Mot C s d lieu (CSDL) tren Server se lu tr tat
ca nhng thong tin ap ng yeu cau cho cong viec
cua ng dung Web. Ke tiep, ban can phai co mot
ngon ng lam vai tro lien lac"gia Web Serverva
CSDLtren server. Ngon ng nay cung thc hien cac
cong viec x ly thong tin en va i t Web Server.
(MIDDLE WARE (PHP, ASP, JSP),DATABASE
SERVER (MySQL, SQLserver..) .WEB
SERVER(Apache, IIS) . INTERNET WEB
BROWSER (Internet Explorer, Netscape, google
Chrome),He thong phai chay tren mot He ieu Hanh
(HH). Cac th nh Web Server, Ngon ng lap trnh,
CSDLphai hoat ong tot tren mot HH nao o
APACHE Web Server

Cc tin trnh gii quyt yu cu v c im Apache


Web Server l s kt hp gia phn cng v phn
mm phc v cho nhng ti liu HTTP khi client
yu cu. Mt web Server c bn l mt my tnh vi
h iu Linux, mt file h thng y kh nng h
tr tt cho ng dng Web Server, v mt kt ni
mng ( l t trng cho Internet hoc t chc
intranet). Khi lm vic vi Web Server cn c s cn
nhc v cc loi ngi dng m bo h thng chy
thc s hiu qu, nh l:
Mc ch Web Server
Tin trnh request/response cho Client
Son tho TS L MNH (manhle@uit.edu.vn)
299
APACHE Web Server

Tin trnh hot ng Web Server

Son tho TS L MNH (manhle@uit.edu.vn)


300
APACHE Web Server

a). Xy dng v ci t Apache Web Server


Khi bn ti phin bn Apache. C 2 cch ci : t source
code hoc t tp tin nh phn ( RPM ). Bn c th s dng
c 2 cch ci t.
Ci t t RPM
+ Ti file RPM t trang http://www.rpmfind.net
+ Login vi quyn Root v g lnh:
rpm ivh apache-1.3.xx-y.i386.rp
+ Nu mun nng cp bn phi stop Apache v g lnh
rpm Uvh apache-1.3.xx-y.i386.rpm

Son tho TS L MNH (manhle@uit.edu.vn)


301
Ci t t Source: vic ci t t ngun khng d nh ci t RPM. C
nhng i hi khc nhau i vi nhng h iu hnh khc nhau
+ Ti file .tgz hay tar.gz t trang http://www.apache.org/dist/httpd/ vo
th mc /usr/local/src
+ T th mc /usr/local/src gii nn file apache_1.3.24.tar.gz g lnh
tar zxvf apache_1.3.24.tar.gz
+ Apache source gii nn nm trong th mc
/usr/local/src/apache_1.3.24
+ To User v Group mc nh cho Apache
groupadd www ( to group www)
useradd g www www
Ch : Sau khi to user www, dng lnh passwd vi tham s -l kho
user www. iu ny s m bo tnh bo mt cao v sau ny ch s
dng root cu hnh.

Son tho TS L MNH (manhle@uit.edu.vn)


302
APACHE Web Server
+ S dng configure Script g lnh:
#./configure --prefix=/usr/local/apache --server-uid=www --
server-gid=www --htdocsdir=/opt/web/html --
cgidir=/opt/web/cgi-bin --enable-module=most --enable-
shared=max Tham s --server-uid=www ch nh Apache
server s chy vi user www. User www phi c to trc
Tham s --server-gid=www ch nh Apache server s chy
vi nhm www.
Tham s --htdocsdir ch nh Web site files mc nh s t
trong th mc /opt/web/html.
Tham s --cgidir=/opt/web/cgi-bin ch nh th mc mc
nh ci CGI /opt/web/cgi-bin.
+ G lnh make
+ G lnh make install
Kim tra chy th Apache http://127.0.0.1

Son tho TS L MNH (manhle@uit.edu.vn)


303
Son tho TS L MNH (manhle@uit.edu.vn)
304
APACHE Web Server
b) Cu hnh Virtual Hosts
Bn hng dn sau y dng cho cu hnh Vitual Server
Cu hnh chun Vitual Server :
...
Port 80
ServerName webbeast.domain.com
NameVirtualHost 192.168.0.1
<VirtualHost 192.168.0.1>
DocumentRoot /var/www/thisdomain
ServerName www.domain.com
</VirtualHost>
<VirtualHOst 192.168.0.1>
DocumentRoot /var/www/thatdomain
ServerName www.that.domain.com
</VirtualHost>

Son tho TS L MNH (manhle@uit.edu.vn)


305
GII THIU V WEB SERVER.

Giao thc HTTP (HyperText Transfer Protocol).


HTTP l mt giao thc cho php Web browsers v
Web Servers c th giao tip vi nhau. N chun ho
cc thao tc c bn m mt Web Server phi lm
c.
HTTP la giao thc n gin ging nh vi cc giao thc
chun khc ca Internet, thng tin iu khin c
truyn di dng vn bn th thng qua kt ni TCP.

Son tho TS L MNH (manhle@uit.edu.vn)


306
GII THIU V WEB (TT).
Web Server va cach hoat ong.
Web Server co the phc v cc ti liu HTML di dang sieu
van ban gom: van ban, hnh anh, am thanh, phim,
u tin xt Web server mc c bn th n phc v
cc ni dung tnh. Ngha l khi Web server nhn 1 yu
cu ly trang Web sau t Web browser:
http://www.hcmuns.edu.vn/index.html
th n s nh x (map) Uniform Resource Locator (URL)
trn vo mt file cc b trn my server.

Son tho TS L MNH (manhle@uit.edu.vn)


307
GII THIU V WEB
(TT).
a) Mo hnh hoat ong cua Web Server.
Chp nhn kt ni.
Sinh ra cc ni dung tnh hoc ng cho Web browser.
ng kt ni.
Chp nhn kt ni.
Lp li qu trnh trn ...
Mc d m hnh ny hot ong, n vn cn phi thit k li
phc v c nhiu ngi trong cng 1 lc. Web servers c xu
hng tn dng u im ca 2 phng php khc nhau gii
quyt vn ny: a tiu trnh (multi-threading) hoc a tin
trnh (multi-processing) hoc cc h lai gia multi-processing
v multi-threading.

Son tho TS L MNH (manhle@uit.edu.vn)


308
GII THIU V WEB (TT).
b) a ch URL (Uniform Resource Locator).
c dung e truy xuat moi dch vu thong tin cua Web server
t Web Browser. Ta can phai ch ro loai nghi thc, a ch hay
ten va so port cua loai dch vu o. Tren cac trnh duyet web,
thong tin nay c xac nh bang a ch URL vi dang tong
quat sau: Method://Host.Subdomain.Domain/
+ Method: cho biet loai dch vu c s dung. V du nh http e truy xuat
WWW, ftp e truy xuat FTP, ....
+ Host.subdoamin.domain: cho biet ten hay a ch IP cua may chu can
truy xuat. V du www-math.hcmuns.edu.vn hay 172.29.2.20
Lu y : oi vi dch vu WWW ta co the bo qua thanh phan Method:// ch
can nhap vao thanh phan Host.Subdomain.Domain. Con oi vi dch vu
FPT th phai nhap ay u cac thanh phan tren.

Son tho TS L MNH (manhle@uit.edu.vn)


309
GII THIU V WEB
(TT).
c) Cac file tai lieu HTML la mot van ban tho (raw text).
<html>
<head> <title> WWW </title>
<head>
<body>
<p align=center>
<a href=http://www.hcmuns.edu.vn/><b>Trng i Hc Khoa Hc
T Nhin TP.HCM </b></a>
</b>
</p>
<body>
</html>

Son tho TS L MNH (manhle@uit.edu.vn)


310
GII THIU V WEB
(TT).

Web Client.
La nhng chng trnh duyet Web pha ngi dung, nh
Internet Explorer, Netscape Communicator.., e hien th
nhng thong tin trang Web cho ngi dung. Web client se gi
yeu cau en Web Server. Sau o, i Web Server x ly tra
ket qua ve cho Web client hien th cho ngi dung. Tat ca
moi yeu cau eu c x ly bi Web Server.

Son tho TS L MNH (manhle@uit.edu.vn)


311
GII THIU V WEB
(TT).

Web ong.
- Mt trong cac ni dung ng (thng gi tt la Web ng) c
bn la cac trang Web c to ra ap ng cac d liu nhp
vao ca ngi dng trc tip hay gian tip.
- Cach c in nht va c dung ph bin nht cho vic to
ni dung ng la s dng Common Gateway Interface (CGI).
C th la CGI nh ngha mt cach thc Web server chy mt
chng trnh mt cach cc b va tr kt qu thong qua Web
server n Web browser ca ngi dung a yeu cu ni dung
ng.
- CGI v c bn la mt giao thc m rng ca Web Server.
Son tho TS L MNH (manhle@uit.edu.vn)
312
GII THIU V WEB (TT).
Hnh v sau minh ho khi Web browser yu cu mt
trang Web ng pht sinh t mt chng trnh CGI.

Son tho TS L MNH (manhle@uit.edu.vn)


313
2. GII THIU APACHE.
 Apache la mot phan mem co nhieu tnh nang manh va linh
hoat dung e lam Webserver.
 Ho tr ay u nhng giao thc HTTP trc ay nh HTTP/1.1
 Co the cau hnh va m rong nhng module.
 Cung cap source code ay u vi license khong han che.
 Chay tren nhieu he ieu hanh nh Windows NT/9x, Netware
5.x, OS/2 va tren hau het cac he ieu hanh Unix, Linux.

Son tho TS L MNH (manhle@uit.edu.vn)


314
3. CI T APACHE.

Ta co the download apache t website chnh sau:


http://www.apache.org
Co 2 cach cai at apache:
a) Cai at Apache t source.
b) Cai at Apache t pakage rpm.
#rpm ivh httpd.version.i386.rpm

Son tho TS L MNH (manhle@uit.edu.vn)


315
CI T APACHE (tt).

Cac tap tin va th muc cau hnh cua Apache:


/etc/httpd/conf/httpd.conf : y l mt tp tin cu hnh chnh ht sc quan
trng cho Apache server.
/etc/httpd/modules: cha cac module cua Web Server.
/etc/httpd/logs: cha log file cua Apache.
/var/www/html: cha cac trang Web.
/var/www/cgi-bin: cha cac script s dung cho trang Web.
Khi ng Apache :
#/etc/init.d/httpd stop
#/etc/init.d/httpd start
#/etc/init.d/httpd restart

Son tho TS L MNH (manhle@uit.edu.vn)


316
4. CU HNH APACHE C BN.
Cac thong so cau hnh c ban trong tap tin
/etc/httpd/conf/httpd.conf nh sau:
a) nh ngha Server..
ServerName <hostname>
V D: ServerName www.soft.com
ServerAdmin <Email address of Admin>
V D: ServerAdmin root@soft.com
ServerType <inetd/standalone>
Qui nh cach nap chng trnh, co hai cach:
inetd : chay t he thong.
standalone : chay t cac init level.
V D: ServerType standalone
Son tho TS L MNH (manhle@uit.edu.vn)
317
CU HNH APACHE C BN (tt).
b) V tr th muc root.
DocumentRoot <ng dan th muc>
V D: DocumentRoot /usr/web
Mot yeu cau http://www.soft.com/index.html se a vao trang Web
/usr/web/index.html
ServerRoot <v tr th muc cai at apache>
Mac nh: ServerRoot /usr/local/apache
ErrorLog <v tr file log>
V D: ErrorLog /var/logs/httpd/error_log
DirectoryIndex <danh sach cac trang web mac nh>
VD: DirectoryIndex index.html index.htm index.shtml index.php
index.php4 index.php3 index.cgi
Son tho TS L MNH (manhle@uit.edu.vn)
318
CU HNH APACHE C BN (tt).
c) Cau hnh mang.
MaxClients <number>
V D: MaxClients 256
Listen <Port/IP>
V D: Listen 80
Listen <IP:port>
V D: Listen 172.29.7.225:80
TimeOut <time>
V D: TimeOut 300
KeepAlive <On/Off>
MaxKeepAliveRequests <s Request>
KeepAliveTimeout <time>
BindAddress <IP/*>
Son tho TS L MNH (manhle@uit.edu.vn)
319
CU HNH APACHE C BN (tt).
d) Anh xa ng dan cuc bo (Alias).
Alias dung e anh xa ng dan cuc bo (khong nam trong DocumentRoot)
thanh ng dan http.
Cu phap: Alias <ng dan http> <ng dan cuc bo>
V D: Alias /doc /pub/data
Th khi truy cap http://www.soft.com/doc se quy vao ng dan cuc bo
la /pub/data.
C th kt hp vi Directory directive
V d: Alias /doc /pub/data
<Directory /pub/data>
AuthType Basic
AuthName intranet
AuthUserFile /etc/httpd/passwd
Require user hally tom
Allow from internal.com
</Directory>
Son tho TS L MNH (manhle@uit.edu.vn)
320
CU HNH APACHE C BN (tt).
e) Tao homepage cho user (UserDir).
Cho phep ngi dung tao home page cua mnh tren Server.
V D: Userdir www
<Directory /home/*/www>
Order deny,allow
Allow from all
</Directory>
Trong home directory cua ngi dung tao th muc www, thay oi quyen
truy cap tren home directory bang cach them quyen x cho tat ca moi
ngi.
#chmod 755 /home
Khi o cu phap truy cap t Web Browser co dang nh sau:
http://www.soft.com/~<username>
V D: http://www.soft.com/~hv1
Son tho TS L MNH (manhle@uit.edu.vn)
321
5. CU HNH APACHE NNG CAO.
S chng thc (Authentication).
oi vi nhng thong tin can bao mat, khi co yeu cau truy xuat
thong tin nay, WebServer phai chng thc nhng yeu cau
nay co hp le hay khong.
Thong tin chng thc thng bao gom:
username va password.
Co hai loai chng thc:
+ Basic Authentication.
+ Digest Authentication.

Son tho TS L MNH (manhle@uit.edu.vn)


322
CU HNH APACHE NNG CAO (tt).
a) Basic Authentication.
Khi o, username va password ma ban a cung cap ch co tac
dung trong lan giao dch cua Web Browser vi Web Server
luc o. Neu lan sau truy cap lai website nay, ban phai nhap
lai username va paswword.
Cau hnh chng thc se trai qua cac bc sau:
+ Tao tap tin lu password cua ngi dung.
+ Tao tap tin group. (co the bo qua)
+ Cau hnh Apache.

Son tho TS L MNH (manhle@uit.edu.vn)


323
CU HNH APACHE NNG CAO (tt).
+ Tao tap tin lu password cua ngi dung.
Dung lenh htpasswd co cu phap nh sau:
#htpasswd c <v tr tap tin password> <username>
- Chng trnh se yeu cau ban nhap vao password, va sau o
nhap lai mot lan na.
- Tuy chon -c se tao tap tin password mi. Neu tap tin nay a
ton tai no se xoa noi dung cu va ghi vao noi dung mi.
- <v tr tap tin password> : thong thng no tao tai th muc
cha tap tin cau hnh Apache /etc/httpd/conf

Son tho TS L MNH (manhle@uit.edu.vn)


324
CU HNH APACHE NNG CAO
(tt).
+ Tao tap tin group.
Nham tao ieu kien thuan li cho ngi quan tr trong viec
quan ly chng thc, Apache ho tr tnh nang nhom ngi
dung.
Dang tong quat cua tap tin group:
<groupname>:<user lists>
+ groupname: ten nhom.
+ user list: danh sach cac thanh vien trong nhom (phan cach
nhau bi khoang trang).
V D: admin: adm1 adm2 adm3

Son tho TS L MNH (manhle@uit.edu.vn)


325
CU HNH APACHE NNG CAO
(tt).
+ Cau hnh Apache.
Sau khi tao tap tin password va group, cau hnh chng thc
cua Apache, c thiet lap vi nhng ch dan sau:
<Directory [/th_muc_cuc_bo]>
AuthType Basic
AuthName [ten_chng_thc]
AuthUserFile [v_tr_tap_tin_password]
AuthGroupFile [v_tr_tap_tin_group]
Require user [ten_user1] [ten_user2] . . .
Require group [ten_nhom1] [ten_nhom2] . . .
Option Indexes (hien th nhng file dang khac html)
</Directory>

Son tho TS L MNH (manhle@uit.edu.vn)


326
CU HNH APACHE NNG CAO
(tt).
b) Digest Authentication.
Digest Authentication cung cap mot phng phap bao ve noi
dung web mot cach luan phien.
Server se cap cho Client mot the chng thc e bao ve
website, the nay c goi la realm (vung lanh tho). Web
Browser se lu lai username va password ma ban a cung
cap cung vi realm. Viec lu tr nay ch co tac dung trong
giao dch hien hanh cua Browser. Nhng cung co mot vai
Browser cho phep lu chung mot cach co nh.
Cac bc thc hien tng t nh Basic Authentication.

Son tho TS L MNH (manhle@uit.edu.vn)


327
CU HNH APACHE NNG CAO
(tt).
+ Tao tap tin lu password cua ngi dung.
Dung lenh htdigest co cu phap nh sau:
#htdigest c <v tr tap tin password> <username>
- Chng trnh se yeu cau ban nhap vao password, va sau o
nhap lai mot lan na.
- Tuy chon -c se tao tap tin password mi. Neu tap tin nay a
ton tai no se xoa noi dung cu va ghi vao noi dung mi.
- <v tr tap tin password> : thong thng no tao tai th muc
cha tap tin cau hnh Apache /etc/httpd/conf

Son tho TS L MNH (manhle@uit.edu.vn)


328
CU HNH APACHE NNG CAO
(tt).
+ Tao tap tin group.
Dang tong quat cua tap tin group:
<groupname>:<user lists>
+ groupname: ten nhom.
+ user list: danh sach cac thanh vien trong nhom (phan cach
nhau bi khoang trang).
V D: admin: adm1 adm2 adm3

Son tho TS L MNH (manhle@uit.edu.vn)


329
CU HNH APACHE NNG CAO (tt).
+ Cau hnh Apache.
Sau khi tao tap tin password va group, cau hnh chng thc
cua Apache, c thiet lap vi nhng ch dan sau:
<Directory [/th_muc_cuc_bo]>
AuthType Digest
AuthName [ten_chng_thc]
AuthUserFile [v_tr_tap_tin_password]
AuthGroupFile [v_tr_tap_tin_group]
Require user [ten_user1] [ten_user2] . . .
Require group [ten_nhom1] [ten_nhom2] . . .
Option Indexes (hien th nhng file dang khac html)
</Directory>

Son tho TS L MNH (manhle@uit.edu.vn)


330
CU HNH APACHE NNG CAO
(tt).
ieu khien truy cap (Access Control).
Ngoai viec bao ve noi dung website bang s chng thc,
Apache con gii han viec truy cap cua ngi dung da tren
nhng thong tin khac.
a) Allow va Deny.
Dung e cam hay cho phep viec truy cap tai nguyen da tren ten may
hoac a ch IP.
Cu phap: Allow/Deny from [Address]
+ Allow: cho phep.
+ Deny: cam.
+ Address: a ch IP/ng mang hay ten may.
V D: Allow from 172.29.11.100

Son tho TS L MNH (manhle@uit.edu.vn)


331
CU HNH APACHE NNG CAO
(tt).
Co the s dung Order e ket hp gia Allow va
Deny trong viec gii han truy cap.
Neu th t cua Order la Deny, Allow th Deny c kiem
tra trc va bat ky nhng client nao khong phu hp vi
Deny hoac phu hp vi mot Allow th c phep truy cap.
Neu th t cua Order la Allow,Deny th Allow c kiem
tra trc tien va bat ky client nao khong phu hp vi mot
ieu kien Allow hoac phu hp vi mot ieu kien Deny th
b cam truy cap en server.

Son tho TS L MNH (manhle@uit.edu.vn)


332
CU HNH APACHE NNG CAO
(tt).
b) Satisfy.
c dung e ch ra nhieu tieu chuan can phai c xem xet
trong viec bao mat noi dung website.
Cu phap: Satisfy <gia_tr>
Statisfy co 2 gia tr: all (mac nh) va any.
+ Gia tr all: neu nhieu tieu chuan c ch ra th tat ca nhng
tieu chuan nay phai thoa man th ngi dung c phep truy
cap tai nguyen.
+ Gia tr any: neu nhieu tieu chuan c ch ra, mot trong
nhng tieu chuan nay hp le th ngi dung c phep truy
cap tai nguyen.

Son tho TS L MNH (manhle@uit.edu.vn)


333
CU HNH APACHE NNG CAO
(tt).
Tao Virtual Host.
ay la tnh nang cua Apache nham giup chung ta
duy tr nhieu hn mot Web Server tren mot may tnh.
Chung ta co hai loai Virtual Host:
+ IP-based Virtual Hosting: s dung nhng a ch IP khac
nhau cho tng domain.
+ Named-based Virtual Hosting: nhieu domain chia se tren
mot a ch IP.

Son tho TS L MNH (manhle@uit.edu.vn)


334
CU HNH APACHE NNG CAO
(tt).
V D: Cau hnh virtual host bang IP-based Virtual host.

<VirtualHost 203.162.40.1>
ServerAdmin webmaster@net.com
DocumentRoot /home/www/net
ServerName www.net.com
</VirtualHost>

<VirtualHost 203.162.40.2>
ServerAdmin webmaster@soft.com
DocumentRoot /home/www/soft
ServerName www.soft.com
</VirtualHost>

Son tho TS L MNH (manhle@uit.edu.vn)


335
CU HNH APACHE NNG CAO
(tt).
V d: Cau hnh virtual host bang Named-based Virtual host.

NameVirtualHost 203.162.40.1
<VirtualHost 203.162.40.1>
ServerAdmin webmaster@net.com
DocumentRoot /home/www/net
ServerName www.net.com
</VirtualHost>

<VirtualHost 203.162.40.1>
ServerAdmin webmaster@soft.com
DocumentRoot /home/www/soft
ServerName www.soft.com
</VirtualHost>
Son tho TS L MNH (manhle@uit.edu.vn)
336
6. NHNG TP TIN
LOG.
Apache co nhieu tap tin log khac nhau nham ghi nhan lai
nhng hoat ong cua Web Server.
Gom cac tap tin sau:
/var/log/httpd/access_log
/var/log/httpd/error_log
/var/log/messages

Son tho TS L MNH (manhle@uit.edu.vn)


337
MAIL SERVER
Ni dung

1. Nhng giao thc Mail.


2. Gii thiu h thng Mail.
3. Ci t v cu hnh mail server sendmail.
4. Ci t v cu hnh POP v IMAP.
5. Ci t v cu hnh Webmail-OpenWebmai.

Son tho TS L MNH (manhle@uit.edu.vn)


339
Cac ch tieu ien thoai Th ien t Th thng

toc o nhanh nhanh tng oi Cham

teu cau ong bo co Khong Khong

nghi thc thay oi t thay oi thay oi


trach nhiem thap tng oi Cao
kha nang hoi ngh nhom nho moi ngi ch mot ng

tnh an toan tng oi Thap cao


tnh thuan tien cao tng oi thap

Son tho TS L MNH (manhle@uit.edu.vn)


340
1. NHNG GIAO THC MAIL.

He thong mail c xay dng da tren mot so giao thc sau


:

- SMTP (Simple Mail Transfer Protocol)

- POP (Post Office Protocol)

- MIME (Multipurpose Internet Mail Extensions)

- IMAP (Interactive Mail Access Protocol)

Son tho TS L MNH (manhle@uit.edu.vn)


341
NHNG GIAO THC MAIL (tt).

SMTP (Simple Mail Transfer Protocol).


- SMTP la giao thc tin cay chu trach nhiem phan phat
mail. No chuyen mail trc tiep t he thong mang nay sang
he thong mang khac. Giao thc SMTP c nh ngha
trong RFC 821, c cung cap bi giao thc TCP, no s
dung cong (port) 25.
- Tap lenh cua SMTP (tham kho trang 66).
- e s dung tap lenh cua SMTP ta dung lenh telnet theo
port 25 tren he thong xa sau o gi mail thong qua c
che dong lenh.

RFC: Request for Comment.


Son tho TS L MNH (manhle@uit.edu.vn)
342
NHNG GIAO THC MAIL (tt).

POP (Post Office Protocol).


- Giao thc POP chuyen mail ti Mail Server thay cho he
thong phan phat mail trc tiep. Mail sau o c chuyen t
Mail Server ti may tram khi may tram ket noi mang tr
lai.
- Co hai phien ban cua POP:
+ POP2: s dung port 109.
+ POP3: s dung port 110.
- Tp lnh ca POP2 va POP3 hoan toan khac nhau, nhng
chung cung thc hien chung mot chc nang (tham kho
trang 69).

Son tho TS L MNH (manhle@uit.edu.vn)


343
2. GII THIU H THNG MAIL.

Nhng thanh phan trong he thong mail.


Mot he thong mail yeu cau
phai co cac thanh phan sau:
- Mail Server
- Mail Client.
- Mail Host.
- Mail Gateway.

Son tho TS L MNH (manhle@uit.edu.vn)


344
GII THIU H THNG MAIL (tt).

Nhng chng trnh mail.


a) Mail User Agent (MUA): la chng trnh ma ngi dung s
dung e oc, soan thao, va gi mail.
b) Mail Transfer Agent (MTA): la chng trnh chuyen th gia
cac mail Hub.
c) Sendmail: la mot MTA dung giao thc SMTP e ong vai
tro la mot SMTP Server lam nhiem vu nh tuyen trong viec
phan th. No nhan mail t nhng MUA va MTA khac, sau
o chuyen mail en cac MTA tren may khac hay MTA tren
may cua mnh.

Son tho TS L MNH (manhle@uit.edu.vn)


345
GII THIU H THNG MAIL
(tt).
Mot so khai niem.
a) Mailbox: la mot tap tin lu tr tat ca cac mail cua ngi
dung Tren he thong Linux th tap tin nay c lu trong th
muc: /var/spool/mail.
b) Queue (hang i): cac mail gi i co the c chuyen i
ngay hoac cung co the c chuyen vao hang i.
c) Alias va Mailing list: Phan phoi en nhieu ngi nhng qua
cung mot a ch. Phan phoi en cho cung mot ngi qua
nhieu a ch khac nhau. Ket noi th vi mot tap tin e lu
tr. Loc th thong qua cac chng trnh hay cac script. Tren
he thong Linux th tap tin cau hnh la: /etc/aliases.

Son tho TS L MNH (manhle@uit.edu.vn)


346
GII THIU H THNG MAIL
(tt).
d) Forwarder: Chng trnh sendmail cho phep moi ngi
dung co mot tap tin lu danh sach cac a ch se nhan mail
cua mnh. Tap tin nay c ch nh trong tuy chon
FrowardPath va no co ten la .forward nam trong Home
Directory cua ngi dung. Trong tap tin .forward nay ta ch
ra a ch email can chuyen mail en.
V D: Trong home directory cua user hv1 tao tap tin
.forward co noi dung la:
hv1@yahoo.com

Son tho TS L MNH (manhle@uit.edu.vn)


347
GII THIU H THNG MAIL (tt).

e) Email Address:
Mot a ch email tong quat thng co dang:
username@mailserver
+ Username: ten ngi dung.
+ MailServer: la a ch ten mien cua may chu email.

Son tho TS L MNH (manhle@uit.edu.vn)


348
3. CI T V CU HNH MAIL
SERVER-SENDMAIL.
Cai at:
Cai at sendmail trong qua trnh cai at he ieu hanh.
Cai at t cac package sau:
sendmail-x-x.rpm
sendmail-cf-x-x.rpm
m4-x-x.rpm

Son tho TS L MNH (manhle@uit.edu.vn)


349
CI T V CU HNH (tt).

Cau hnh: Cac tap tin va th muc cau hnh cua sendmail:
/etc/mail/sendmail.cf
/etc/aliases
/etc/mail/access
/var/spool/mail
* Tap tin /etc/mail/sendmail.cf : ay la tap tin cau hnh chnh
cua sendmail. Noi dung tap tin c chia lam 3 nhom
thong tin cau hnh chnh:
+ Moi trng hoat ong cua sendmail.
+ nh ngha cach hoat ong cua sendmail.
+ Mo ta cac luat (rule set) ma ngi dung co the dung nh
ngha lai cach x ly cua sendmail.
Son tho TS L MNH (manhle@uit.edu.vn)
350
CI T V CU HNH (tt).

Cau hnh MailServer vi Sendmail:


a) Khi cau hnh Mail Server vi Sendmail, ta can quan tam
en cac tham so quan trong sau trong: /etc/mail/sednmail.cf
Cac tham so cau hnh Y ngha
Cwlocalhost <domain> Cau hnh sendmail nhan mail cho
mien <domain>.
O MaxRecipientsPerMessage=<n> Gii han so ngi nhan trong mot la
th.
O MaxMessageSize= <size> Gii han kch thc toi a cua mot la
th, tnh theo n v Bytes.
O DaemonPortOptions=Name=MTA Thay the a ch 127.0.0.1 bang a
ch IP cua may Mail Server.
Son tho TS L MNH (manhle@uit.edu.vn)
351
CI T V CU HNH
(tt).
b) Tap tin /etc/mail/access : chnh sa noi dung tap tin nay
nh sau:
<Domain> RELAY
<a ch ng mang> RELAY
c) Thc hien cac lenh sau: e chuyen tap tin nay t dang text
sang dang chuan e sendmail co the oc c.
#cd /etc/mail
#makemap hash access < access
d) Khi ong lai sendmail.
#/etc/init.d/sendmail restart

Son tho TS L MNH (manhle@uit.edu.vn)


352
CI T V CU HNH
(tt).

S DUNG: Dung trnh tien ch mail e tien hanh gi va


nhan mail gia nhng ngi dung.
Cu phap:
#mail v <a ch email>
V d:
#mail v hv1@net.com

Son tho TS L MNH (manhle@uit.edu.vn)


353
4. CI T V CU HNH POP
V IMAP.
e cho ngi dung co th gi va nhan mail t cac chng
trnh Client mail nh: Outlook Express, Eudora, Netscape
1. Cai at goi package: imap-x-x.rpm
2. Cau hnh:
Th muc /etc/xinetd.d cha cac tap tin cau hnh nh:
imap, POP2, POP3.
M noi dung tap tin IMAP, POP3 va sa lai:
DISABLE=no
3. Khi ong lai xinetd:
#chkconfig pop3 on
#/etc/init.d/xinetd restart
Son tho TS L MNH (manhle@uit.edu.vn)
354
5. CI T V CU HNH WEBMAIL
-OPENWEBMAIL.
Open Webmail l h thng Webmail cung cp cho ngi
dng s dng Mail qua Web.
Ci t : (tham kho trang 92).
Cu hnh :
Thc thi lnh /var/www/cgi-bin/openwebmail/openwebmail.pl --
init
Open Webmail yu cu thay i thng tin trong tp tin
/var/www/cgi-bin/openwebmail/etc/defaults/dbm.com
Thc thi lnh /var/www/cgi-bin/openwebmail/openwebmail.pl
init
Truy cp vo a ch
http://server/cgi-bin/openwebmail/openwebmail.pl
Login v s dng Open Webmail.
Son tho TS L MNH (manhle@uit.edu.vn)
355
Tng quan
Mt h thng email t nht gm hai thnh phn l:
MUA
MTA
Sendmail l mt trong nhng chng trnh truyn
ti th tn in t - MTA- c s dng rng ri
nht trn th gii

Son tho TS L MNH (manhle@uit.edu.vn)


356
Giao thc SMTP
SMTP l giao thc tin cy chu trch nhim phn
pht th tn
Tp lnh SMTP
Hello HELO <sending-host> Lnh nhn din SMTP
From MAIL FROM:<from-address> a ch ngi gi
Recipient RCPT TO:<to-address> a ch ngi nhn
Data DATA Bt u gi thng ip
Reset RSET Hu b thng ip
VerifyVRFY <string> Kim tra usernameExpand
EXPN <string> M rng danh sch
mailHelp HELP [string] Yu cu gip
Quit QUIT Kt thc phin giao dch SMTP

Son tho TS L MNH (manhle@uit.edu.vn)


357
Giao thc POP v IMAP
Nhng ng dng mail client nhn th tn t mail
server
POP server mc nh trong RedHat Linux l
/usr/sbin/ipop3d v c cung cp bi package
imap
IMAP mc nh trong RedHat Linux l
/usr/sbin/imapd c cung cp bi package imap

Son tho TS L MNH (manhle@uit.edu.vn)


358
Giao thc POP v IMAP
(tt)
Tp lnh ca POP3
USER username Cho bit thng tin v username cn nhn mail
PASS password Password ca username cn nhn mail
STAT Hin th s thng ip cha c c tnh bng bytes
RETR n Nhn thng ip th n
DELE n Xo thng ip th n
LAST Hin th thng tin message cui cng
LIST [n] Hin th kch thc ca thng ip th n
RSET Khng xo tt c thng ip, v quay li thng ip u tin
TOP n lIn ra cc HEADER v dng th n ca thng ip
NOOP Khng lm g
QUIT Kt thc phin giao dch POP3

Son tho TS L MNH (manhle@uit.edu.vn)


359
Nhng th mc v file ci t
lin quan n sendmail
/etc/mail: th mc cha nhng file cu hnh ca
sendmail
/var/spool/mail
/etc/mail/sendmail.cf
/etc/mail/access
/etc/aliases

Son tho TS L MNH (manhle@uit.edu.vn)


360
Khi ng sendmail
#/etc/init.d/sendmail start/stop/restart

Son tho TS L MNH (manhle@uit.edu.vn)


361
Cu hnh mail server cc
b vi sendmail
Cw <domain> # cu hnh sendmail nhn mail cho min
no.
V d: Cwlocalhost csc.hcmuns.edu.vn
#Smart relay host
DS<mail server>
V d:
DSmail.vnuhcm.edu.vn
Dng bt u bng ch O l nhng ty chn

Son tho TS L MNH (manhle@uit.edu.vn)


362
Tp tin access
Tp tin access dng cu hnh mail server s nhn
v chuyn mail cho nhng domain no
Vnuhcm.edu.vn RELAY
Spam.com REJECT
#makemap hash /etc/mail/access.db <
/etc/mail/access

Son tho TS L MNH (manhle@uit.edu.vn)


363
Tp tin alias
Alias l tin trnh chuyn i tn ca mt ngi
nhn th cc b thnh tn khc
To tp tin aliases
Everyone: hv1 hv2
Ketoan kt1 kt2
To tp tin aliases.db bng lnh sau
#newaliases

Son tho TS L MNH (manhle@uit.edu.vn)


364
Tp tin .forward
Dng chuyn mail
To tp tin .forward trong home directory ca user
Khai bo a ch email cn chuyn n
nick@yahoo.com

Son tho TS L MNH (manhle@uit.edu.vn)


365
I HC QUC GIA TP. H CH MINH
TRNG I HC CNG NGH THNG TIN

CNG NGH LINUX


Mn hc:
Qun tr mng LINUX
Lp trnh trn LINUX
(Phn 2 Lp trnh)
Chng 4: Lp trnh h v (SHELL)
CITD - VNUHCM

Bao gm cc phn sau:

1. Linux v Shell
2. S dng
S d ng Shell nh
nh ngn ng
ng lp
l p trnh
3. C php ngn ng Shell
4. D li (Debug) ca Script
5. Hin th mu sc
6. Xy dng ng dng bng ngn ng Script

Son tho TS L MNH (manhle@uit.edu.vn)


367
4.1. Linux v Shell
- Khi bt u lp trnh trn UNIX hay Linux
bng C hay bng nhng ngn ng khc  chng
ta phi tin hnh tip cn v tm hiu khi nim
SHELL
- Do HH thng cung cp cc hm hay dch v
chng trnh ng dng triu gi, nn chng
ta vi t cch l mt nh lp trnh  cn phi
hiu tng tn nhng dch v y.

Son tho TS L MNH (manhle@uit.edu.vn)


368
- triu gi cc hm h thng ca ht nhn, ngoi
vic xy dng cc chng trnh v bin dch chng ra
m nh phn (file thc thi) HH triu gi th HH
cn cung cp cho ta kh nng giao tip vi ht nhn
(kernel) thng qua trnh din dch trung gian.
- Trn mi trng MS-DOS  shell chnh l tp tin
command.com. Chnh t shell ny cung cp cc tp
lnh nh copy, del, v.v thnh cc li triu gi DOS
cp thp (ngt 21h).
- Ngoi ra, DOS cn cung cp vic iu khin t ng
ha HH bng cc lnh b (batch) trong tp tin .bat
nhng khng mnh bng Linux.
Son tho TS L MNH (manhle@uit.edu.vn)
369
- Hnh 3.1 di y l m hnh tng tc gia Shell, chng trnh ng dng, h X-Window v
ht nhn ca HH.

Hnh 3.1
Son tho TS L tc
Tng MNH (manhle@uit.edu.vn)
gia Shell, Applications, X-Window, Kernel 370
-Mt s Shell thng dng nh sau:

- Chun thng c s dng hin nay l Bash Shell. Thng thng khi ci t, trnh ci t
s t bash l shell khi ng
- Tn shell ny c tn l bash c t trong th mc /bin

Son tho TS L MNH (manhle@uit.edu.vn)


371
4.2. S dng Shell nh
nh ngn ng
ng lp trnh
- C hai cch vit chng trnh iu khin shell
G chng trnh trc tip ngay dng lnh (k c cc lnh iu khin if, for,
case, v.v)
Gp cc cu lnh vo mt tp tin v yu cu shell thc thi tp tin ny nh l
mt chng trnh (Ghi nh l phi t quyn execute cho tp tin ny mi c th
thc thi c)
4.2.1. iu khin Shell t dng lnh
- Thc hin v d: Gi s trn cng chng ta c rt nhiu file ngun .c. Cng vic t
ra l tm v hin th tt c cc file ngun cha chui main().

Son tho TS L MNH (manhle@uit.edu.vn)


372
- M ngun thc thi cng vic nh sau:
#for file in *
>do
> if grep l main() $file
> then
> more $file
> fi
>done
- Trong v d trn, lnh fordo s kt thc bng lnh done. HH s nhn bit c v bt u
thc thi tt c nhng g ta g vo bt u t lnh for (Khi mt lnh cha hon chnh th shell
s chuyn thnh >)
- Nh trn, file l mt bin ca shell, trong khi * l mt tp hp i din cho cc tn tp tin
s tm thy trong th mc hin hnh.
- Mt cch khc thc thi lnh trn l:
#for file in *; do; if grep l main() $file; then;
more $file; fi; done

Son tho TS L MNH (manhle@uit.edu.vn)


373
4.2.2. iu khin Shell bng tp tin kch bn (Script file)
- Tin hnh to mt tp tin bng lnh cat nh sau:
#cat > first.sh
#!/bin/sh
#Vi du ve Script file
for file in *
do
if grep l main() $file
then
more $file
fi
done
exit 0
- Lu tp tin trn li v tin hnh thit lp quyn thc thi cho tp tin trn
#chmod +x first.sh

Son tho TS L MNH (manhle@uit.edu.vn)


374
- Nh v d bn trn th ta thy du # c hai chc nng (Trong on thn chng trnh)
#  Chc nng l khai bo y l dng ch thch (comment)
#!  Chc nng l ch th yu cu shell hin ti triu gi shell sh nm trong th mc
/bin (Ch cp k hiu #!)
- Dng lnh exit c chc nng yu cu Script sau khi thc thi s tr v m li  iu ny nn
c th hin trong qu trnh lp trnh.
- Trong UNIX/Linux, khng yu cu phi t phn m rng cho tn tp tin cng nh chng
trnh. Tuy nhin, c th s dng phn m rng l .sh d nhn din y l dng tp tin script
ca shell (tng t nh tp tin .bat ca MS-DOS)
- bit c mt tp tin c phi l Script hay l nh dng khc, ta s dng lnh file <tn tp
tin>
- V d:
#file first.sh

Son tho TS L MNH (manhle@uit.edu.vn)


375
4.2.3. Thc thi Script file
- Thng thng cc chng trnh thc thi shell thng c t ti /bin. Do , c th
thc thi c cc Shell Script th ta triu gi trnh Shell vi tn tp tin Script lm i s.
#/bin/sh first.sh
- Tuy nhin, thc hin lnh trn mt cch ngn ngn ta c th s dng theo phng cch
nh sau:
#first.sh
- Cng c th lnh trn khng thc hin thnh cng v ta s nhn c cu thng bo li
Command Not Found  Nguyn nhn do bin mi trng PATH thng khng cha ng
dn ti v tr th mc hin hnh.
#PATH=$PATH:.
- Hoc cng c th thc hin t ng (mi ln login) bng cch a dng PATH=$PATH:. vo
cui ca tp tin .bash_profile ca ngi dng.

Son tho TS L MNH (manhle@uit.edu.vn)


376
4.3. C php ngn ng
ng Shell
4.3.1. S dng bin
- Thng thng, bin khng cn phi khai bo trc khi s dng  bin s t ng to
v khai bo khi ln u tin tn bin xut hin (bin lc ny cha gi tr kiu chui)
- Ch s phn bit ch HOA/thng. V d: foo, Foo, FOO l ba bin khc nhau.
- ly ni dung ca tn bin  s dng du $
- V d:
#xinchao=Hello
#echo $xinchao
Hello
#xinchao=I am here
#echo $xinchao
I am here

Ch sau du =, khng c c bt k
khong trng no khc. Nu gn ni dung chui
c cha khong trng  hy dng du .

Son tho TS L MNH (manhle@uit.edu.vn)


377
- S dng lnh read c gi tr nhp liu do ngi dng nhp vo (nh hm readln() trong
ngn ng Pascal hoc scanf() trong ngn ng C++)
- V d:
#read yourname
Nguyen Van An
#echo $yourname
Nguyen Van An

#read yourname
Nguyen Van Ba
#echo Hello $yourname
Hello Nguyen Van Ba

Son tho TS L MNH (manhle@uit.edu.vn)


378
4.3.1.1. Du bc chui (quoting)
- Du nhy kp c dng trong trng hp chui ca ngi dng nhp vo c khong trng.
Tuy nhin, bn trong du nhy kp, k hiu $ vn c hiu lc.
- Du nhy n c hiu lc mnh hn. Nu nh tn bin c k t $ t trong chui c du
nhy n  n s b v hiu ha. Nu mun hin th du $ s dng du \ trong chui.
- V d 3-1: variables.sh
- Tm li, nu mun thay th ni dung bin trong mt chui  du nhy kp. Cn nu mun
hin th ton b ni dung chui  du nhy n.

Son tho TS L MNH (manhle@uit.edu.vn)


379
4.3.1.2. Bin mi trng (Environment Variable)
- Khi trnh shell khi ng t ng cung cp mt s bin c khai bo v gn gi tr mc
nh  BIN MI TRNG
- Cc bin mi trng ny thng c vit hoa phn bit vi cc bin do ngi dng
nh ngha. Mt s bin mi trng ch yu sau:

Son tho TS L MNH (manhle@uit.edu.vn)


380
4.3.1.3. Bin tham s (Parameter Variable)
- Mc ch l tip nhn tham s trn dng lnh cho vic x l
- Mt s bin mi trng di y:

Son tho TS L MNH (manhle@uit.edu.vn)


381
- V d sau s cho thy c s khc nhau ca hai bin $* v $@
#IFS=^
#set foo bar bam
#echo $@
foo bar bam
#echo $*
foo^bar^bam
#unset IFS
#echo $*
foo bar bam
 Lnh set thit lp 3 tham s dng lnh l foo bar bam. Nhng tham s ny nh hng n
bin mi trng $* v $@
- Bin $# s cha s tham s dng lnh:
#echo $#
3
- Tham kho V d 3-2: try_variables.sh

Son tho TS L MNH (manhle@uit.edu.vn)


382
4.3.2. iu kin
- Kh nng kim tra iu kin v a ra quyt nh r nhnh thch hp ty theo iu kin lun
l ng hay sai l nn tng c bn ca tt c cc ngn ng lp trnh
4.3.2.1. Lnh test hoc []
- S dng lnh [] hoc test kim tra iu kin boolean (True or False)
- Lnh [] trng n gin d hiu, thng c dng nhiu v rng ri hn lnh test
- Cch s dng hai lnh trn l tng ng nhau
if test f hello.c if [ -f hello.c ]
then then

fi fi
 Ch l phi t khong trng gia lnh [] v biu thc kim tra

Son tho TS L MNH (manhle@uit.edu.vn)


383
- Lnh test c iu kin trong cho php kim tra mt trong 3 kiu sau:
So snh chui (Cn tham kho thm)

So snh ton hc (Cn tham kho thm)

So snh iu kin trn tp tin (Cn tham kho thm)

Son tho TS L MNH (manhle@uit.edu.vn)


384
4.3.3. Cu trc iu khin
- Shell cung cp cho ta cu trc iu khin tng t cc ngn ng lp trnh khc (v thm ch
cn mnh v uyn chuyn hn)
4.3.3.1. Lnh if
- Chc nng: Kim tra iu kin ng hay sai thc thi biu thc thch hp. y l lnh c
s dng nhiu nht trong cc chng trnh (d l chng trnh ln hay nh)
- Cu trc:
if <iu kin>
then
<biu thc lnh>
else
<biu thc lnh>
fi
- Tham kho V d 3-3: if_control.sh

Son tho TS L MNH (manhle@uit.edu.vn)


385
4.3.3.2. Lnh elif
- Chc nng: Cng tng t nh if  kim tra iu kin ng hay sai thc thi biu thc
thch hp. Lnh ny cho php kim tra iu kin ln th 2 bn trong else
- Tham kho V d 3-4: elif_control.sh
4.3.3.3. Vn pht sinh vi cc bin
- Xt li V d 3-4 ta s thy nu nh ta khng nhp gi tr cho bin timeofday l yes hoc
no lc thng bo u tin (ch vic g Enter) th lc ny xem nh ta to chui rng cho
bin timeofday
- Lc ny dng if u tin s tr thnh if [ =yes ]  shell lc ny s khng bit so snh chui
yes vi ci g???  Li: [: =: unary operator expected
- Tham kho V d 3-5: elif_control2.sh

Son tho TS L MNH (manhle@uit.edu.vn)


386
4.3.3.4. Lnh for
- Chc nng: thc hin vic lp li mt s ln cng vic vi cc gi tr xc nh.
- Cu trc:
for <tn bin> in <cc gi tr xc nh>
do
<biu thc lnh>
done
- Tham kho V d 3-6: for_loop.sh
- Ci tin v d trn vi vic m rng bin thnh tp hp s dng trong lnh for  Yu cu
trong v d ny l in ra tt c cc tp tin c phn m rng l .sh v c k t u tin l f
- Tham kho V d 3-7: for_loop2.sh

Son tho TS L MNH (manhle@uit.edu.vn)


387
4.3.3.5. Lnh while
- Chc nng: C chc nng nh lnh for nhng nhm p ng c vic lp trong mt tp
hp ln hoc s ln lp khng bit trc.
- Cu trc:
while <iu kin> do
<biu thc lnh>
done
- Tham kho V d 3-8: password.sh
- Bng cch s dng bin m v biu thc so snh s hc trong v d trn (V d 3-8). Lnh
while hon ton c th thay th c lnh for trong trng hp tp d liu ln
- Tham kho V d 3-9: while_for.sh
- C php $( ( ) ) dng nh gi v c lng c biu thc. Ta c th thay th c php
trn bng lnh expr  Tuy nhin expr khng hiu qu bng $( ( ) )

Son tho TS L MNH (manhle@uit.edu.vn)


388
4.3.3.6. Lnh until
- Chc nng: C chc nng nh lnh while nhng iu kin b o ngc li. Vng lp s b
dng nu iu kin kim tra l ng
- Cu trc:
until <iu kin>
do
<biu thc lnh>
done
- Tham kho V d 3-10: until_user.sh
- Cch thc hin lnh nh sau:
#./until_user.sh minhkhai (vi minhkhai l tn ngi dng ng nhp vo h thng.

Son tho TS L MNH (manhle@uit.edu.vn)


389
4.3.3.7. Lnh case
- Chc nng: C chc nng l cho php ta so khp ni dung ca bin vi mt mu chui
(pattern) no . Khi mt mu c so khp th <biu thc lnh> tng ng s c thc
hin.
- Cu trc:
case <tn bin> in
mu chui [ | mu chui] ...) <biu thc lnh>;;
mu chui [ | mu chui] ...) <biu thc lnh>;;
...
esac
- Tham kho V d 3-11: case1.sh
- Tham kho V d 3-12: case2.sh
- Tham kho V d 3-13: case3.sh

Son tho TS L MNH (manhle@uit.edu.vn)


390
4.3.4. Danh sch thc thi lnh
- Shell cung cp cho ta c php danh sch AND v OR c th kt ni cc lnh li vi nhau
theo th t kim tra trc khi ra mt quyt nh no
4.3.4.1. Danh sch AND
- Chc nng: Cho php thc thi mt chui lnh k nhau. Lnh sau ch thc hin khi lnh trc
thc thi v tr v m li thnh cng
- Cu trc:
<biu thc lnh 1> && <biu thc lnh 2> && ...
- Tham kho V d 3-14: and_list.sh

Son tho TS L MNH (manhle@uit.edu.vn)


391
4.3.4.2. Danh sch OR
- Chc nng: Cng nh lnh AND l thc thi mt dy cc lnh NHNG nu c mt lnh tr v
l TRUE th vic thc thi dy lnh s dng li
- Cu trc:
<biu thc lnh 1> || <biu thc lnh 2> || ...
- Kt qu cui cng ca danh sch OR ch ng (TRUE) khi c mt trong cc <biu thc lnh>
tr v TRUE
- Khc vi && l gi lnh tip theo khi cc lnh trc l TRUE cn vi || th gi lnh
tip theo trong chui lnh khi lnh trc l FALSE
- Tham kho V d 3-15: or_list.sh

Son tho TS L MNH (manhle@uit.edu.vn)


392
4.3.5. Hm (Function)
- Shell cho php ta t to lp cc hm hay th tc triu gi bn trong Script
- Ta c th gi cc script con khc bn trong script chnh  tuy nhin vic ny thng lm tiu
tn ti nguyn v khng hiu qu bng triu gi hm
- Cu trc:
tn hm() {
<biu thc lnh1>
<biu thc lnh2>
. . .
<biu thc lnhn>
}
kh o V d
- Tham kho d 3-16: my_function.sh

Son tho TS L MNH (manhle@uit.edu.vn)


393
4.3.5.1. Bin cc b v bin ton cc
- Khai bo bin cc b (ch c hiu lc bn trong hm)  dng t kho local. Do vy, nu
khng c t kha trn th bin ch c hiu l ton cc (global)
- Phm vi lu tr ca bin ton cc khng cn hiu lc khi hm kt thc
- Bin ton cc c nhn thy v c th thay i bi tt c cc hm trong cng script.
- Tham kho V d 3-17: function2.sh
4.3.5.2. Hm v cch truyn tham s
- Shell khng cung cp chc nng khai bo tham s cho hm.
- Vic truyn tham s cho hm tng t truyn tham s trn dng lnh
- V d: Truyn tham s cho foo()  foo tham s 1, tham s 2, ...
- Tham kho V d 3-18: get_name.sh

Son tho TS L MNH (manhle@uit.edu.vn)


394
4.3.6. Cc lnh ni ti ca Shell
- Ngoi cc lnh iu khin c gii thiu bn trn, shell cn cung cp cho ta mt s lnh ni
ti khc (built-in) ~ cc lnh ni tr ca MS-DOS
4.3.6.1. Lnh break
- Chc nng: Thot khi vng lp for, while hoc until bt k iu kin thot ca cc lnh ny
c din ra hay khng.
- Tham kho V d 3-19: break.sh
4.3.6.2. Lnh continue
- Chc nng: Thng c dng bn trong vng lp, lnh ny yu cu vng lp quay ngc li
thc hin bc lp k tip m khng cn thc thi cc khi lnh cn li
- Tham kho V d 3-20: continue.sh

Son tho TS L MNH (manhle@uit.edu.vn)


395
4.3.6.3. Lnh :
- Chc nng: L mt lnh rng (NULL). i lc lnh ny c dng vi ngha logic l TRUE.
Vic dng lnh : s thc thi nhanh hn vic so snh true. Nh while : s nhanh hn while
true
- Ghi ch: Mt s shell phin bn c s dng lnh : nh l mt ch thch lnh ~ nh #
- Tham kho V d 3-21: colon.sh
4.3.6.4. Lnh . (thc thi)
- Chc nng: Dng thc thi mt script bn trong shell hin hnh. ng thi khi thc thi
chnh lnh . s gi nguyn nhng thay i v mi trng m cc bin tc ng ln (do khi
thc thi mt script, shell s lu li ton b bin mi trng v to ra mi trng mi - sub
shell - script c th hot ng v cc thng s ca bin mi trng s c khi phc li
khi script chm dt - bng lnh exit())
- Tham kho V d 3-22: dot_command.sh

Son tho TS L MNH (manhle@uit.edu.vn)


396
4.3.6.5. Lnh eval
- Chc nng: Cho php thc hin mt lnh ng ph thuc
vo bin
- V d 1:
$ foo=10
$ x=foo
$ y=$$x
$ echo $y
 Kt qu in ra l $foo

Son tho TS L MNH (manhle@uit.edu.vn)


397
- V d 2:
$ foo=10
$ x=foo
$ eval y=$$x
$ echo $y
Kt qu in ra l 10
- V d 3: Gi s tp tin run cha cc lnh:
$ L1=./input_timer.exe
$ L2=./count_ctrl2.exe
$ eval $L$1

Son tho TS L MNH (manhle@uit.edu.vn)


398
Dng cc lnh sau thc hin lnh c sn theo s th t:
$ ./run 1
$ ./run 2
- V d 4: C th to lp th mc vi tn ng m khng cn
n eval:
$ mkdir /backups/$(date +%F %H.%M.%S)
 Th mc mi vi tn dng /backups/2005-05-23
08.30.25 c to lp.

Son tho TS L MNH (manhle@uit.edu.vn)


399
4.3.6.6. Lnh exec
- Chc nng: Dng gi mt lnh bn ngoi khc. Thng thng lnh exec s gi mt shell
ph khc vi shell m script ang thc thi.
- Mc nh th exec s triu gi lnh exit khi kt thc lnh  Do nu ta gi lnh exec ngay
t dng lnh th sau khi thc thi lnh xong (do gi tip lnh exit) ta s b thot ra khi shell
hin hnh v quay tr v mn hnh ng nhp.
- Tham kho V d 3-23: exec_demo.sh
4.3.6.7. Lnh exit n
- Chc nng: Dng thot ra khi shell ang gi v tr v m li n
- Tng t nh trn nu nh ta gi exit ngay t dng lnh th ta s thot ra khi shell hin
hnh v quay v mn hnh ng nhp.
- M li: tham kho thm trong gio trnh.
- Tham kho V d 3-24: test_exists.sh

Son tho TS L MNH (manhle@uit.edu.vn)


400
4.3.6.8. Lnh export
- Chc nng: Do khi thc thi mt shell th cc bin mi trng u c lu li. Nh vy, khi
khai bo v s dng cc bin trong mt script th cc bin ny ch c gi tr ca shell triu gi
script .
 Do vy, lnh export c cp y cho php cc bin c th thy c tt c cc script
trong shell ph hay cc script c triu gi t shell khc.
- Lnh export c chc nng nh khai bo bin ton cc
- Tham kho V d 3-25: export2.sh
- Tham kho V d 3-26: export1.sh
4.3.6.9. Lnh expr
- Chc nng: c lng gi tr i s truyn cho n nh l mt biu thc v thng c
dng trong vic tnh ton kt qu ton hc i t chui sang s. Ch : Biu thc c lnh expr
t trong cp du ` `

Son tho TS L MNH (manhle@uit.edu.vn)


401
4.3.6.10. Lnh printf
- Chc nng: Tng t nh lnh printf ca th vin C
- Danh sch cc k t c bit dng chung vi du \, gi l chui thot

- nh dnh s v chui bng k t %

Son tho TS L MNH (manhle@uit.edu.vn)


402
4.3.6.11. Lnh return
- Chc nng: Tr v gi tr ca hm
- Nu lnh khng c tham s th s tr v m li ca lnh va thc hin
4.3.6.12. Lnh set
- Chc nng: Dng thit lp gi tr cho cc bin mi trng nh $1, $2, $3,... Ngoi ra, lnh
ny cn c chc nng loi b nhng khong trng khng cn thit v t ni dung ca chui
truyn cho n vo cc bin tham s
#set This is parameter
#echo $1
This
#echo $3
parameter
- Tham kho V d 3-27: set_use.sh

Son tho TS L MNH (manhle@uit.edu.vn)


403
4.3.6.13. Lnh shift
- Chc nng: Di chuyn ni dung cc tham s mi trng $1, $2, $3, v.v... xung mt v tr. (Do
ta ch c ti a 9 tham s $1..$9)
- Nu gi tham s $10 th s c hiu l $1 v 0
- Tham kho V d 3-28: using_shift.sh
4.3.6.14. Lnh trap
- Chc nng: Dng by mt tn hiu (signal) do h thng gi n Shell trong qu trnh thc
thi script
- Tn hiu y thng thng l mt thng ip ca h thng gi n chng trnh yu cu
hay thng bo mt cng vic no m h thng s thc hin. V d: Ngt INT thng c
gi khi nhn CTRL+C

- Tham kho V d 3-29: use_trap.sh

Son tho TS L MNH (manhle@uit.edu.vn)


404
4.3.6.15. Lnh unset
- Chc nng: Loi b bin khi mi trng Shell
- Lnh unset rt t c s dng
- V d:
#!/bin/sh
foo=Hello World
echo $foo
unset foo
echo $foo
- Kt qu chng trnh s in ra chui rng (do lc ny bin foo khng tn ti na)

Son tho TS L MNH (manhle@uit.edu.vn)


405
4.3.7. Ly v kt qu ca mt lnh
- Khi vit cc lnh cho script, i lc ta thng c nhu cu ly v kt qu hay xut kt qu cho
lnh tip theo. Tng t nh vic ta gi thc thi mt lnh v mun ly kt qu tr v ca
lnh lm ni dung lu tr vo bin
- V d 3-30: use_command.sh
4.3.7.1. c lng ton hc
- Vic s dng lnh expr bn trn theo nh gi l thng thc thi chm v khng hiu qu.
Cc shell mi hin ti cung cp cho ta c php $((...)) dng c lng biu thc bn trong
(...) thay cho lnh expr  Cch ny hiu qu hn nhiu so vi lnh expr
- V d 3-31: evaluate.sh

Son tho TS L MNH (manhle@uit.edu.vn)


406
4.3.7.2. M rng tham s
- K thut di y dng thc thi cu trc mng:
1_tmp = Hello
2_tmp = There
3_tmp = World
for i in 1 2 3
do
echo ${i}_tmp
done
Kt qu l ni dung 3 bin 1_tmp, 2_tmp, 3_tmp c
a ra mn hnh.

Son tho TS L MNH (manhle@uit.edu.vn)


407
- Mt s phng php m rng v thay th tham s dng x
l chui:
${param:-default} Nu param=null, kt qu l default
${#param} di ca param (s k t)
${param%word} Loi b chui con ngn nht bn
phi param so khp vi word
(param khng thay i)
${param%%word} Loi b chui con di nht bn
phi param so khp vi word
(param khng thay i)

Son tho TS L MNH (manhle@uit.edu.vn)


408
${param#word} Loi b chui con ngn nht bn
tri param so khp vi word
(param khng thay i)
${param##word} Loi b chui con di nht bn tri
param so khp vi word (param
khng thay i)
V d: i tn tp tin hng lot:
for filename in t*.vb
do
mv $filename ${filename%.vb}.txt
done

Son tho TS L MNH (manhle@uit.edu.vn)


409
- V d 3-32: param_expansion.sh
- V d 3-33: giftojpg.sh

Son tho TS L MNH (manhle@uit.edu.vn)


410
4.3.8. Ti liu HERE
- Trn UNIX/Linux cung cp c ch t ng ha m phng vic nhp liu g vo t bn phm
bng ti liu here (Here Document)
- Ta ch cn cc phm hay chui cn g trong mt tp tin v chuyn hng tp tin ny cho
lnh cn thc thi. N s tip nhn v c ni dung tp tin nh nhng g ta g vo t bn phm.
- Tham kho V d 3-34: cat_here.sh
- Tham kho V d 3-35: auto_edit.sh

Son tho TS L MNH (manhle@uit.edu.vn)


411
4.4. D li (Debug) ca Script
- Do script l lnh vn bn c shell thng dch nn vic d li khng kh nh cc
chng trnh bin dch nh phn
- Qu trnh d li th shell s in ra s th t ca dng gy li. Ta cng c th thm
vo lnh echo in ra ni dung ca cc bin c kh nng gy li cho chng trnh
- Ta c th dng set t mt s ty chn cho shell hoc t thm tham s khi gi
shell thc thi script

Son tho TS L MNH (manhle@uit.edu.vn)


412
4.5. Hi
Hin th
th mu sc
- Mc ch chnh l scrips c h tr cho php ta hin th c tt c mu sc ln mn
hnh m khng cn phi c s h tr ca ngn ng bin dch nh C/C++
4.5.1. Mu ch
- Thng thng khi thc hin lnh ls -l ta s thy
* tp tin thc thi c hin th bng mu xanh l cy
* tp tin nn c mu
* tp tin thng thng mu trng xm
* tn file hnh nh (gif, jpg, v.v...) mu hng
* v.v...
- V d: #echo e \033[35mHello Color \033[0m  Hello Color
#echo e \033[32m Green \033[34m Blue  Green Blue
-Tham kho
kh o cc m iu
i u khin
khi n thm trong gio trnh (p.113)

Son tho TS L MNH (manhle@uit.edu.vn)


413
- V d: In ra vn bn vi cc mu khc nhau
#for color in 30 31 32 33 34 35 36 37
#do
# echo e \033[${color}m This is color text
#done
#echo e \033[0m
4.5.2. Thuc tnh vn bn (c thm p.114)
- V d:
#echo e \033[33;1m This is bold and red text \033[0m
 This is bold and red text
4.5.3. Mu nn (c thm p.114)
-V d:
#echo e \033[42;31m Red and Green \033[0m
 Red and Green

Son tho TS L MNH (manhle@uit.edu.vn)


414
4.6. Xy dng mt ng dng bng ngn ng
ng Script
- Xy dng chng trnh qun l a CD (chng trnh c thc thi bng ngn ng
ca Shell. Tham kho V d 3-36: cd_app.sh
4.6.1. Phn tch yu cu
- Chng trnh phi c kh nng chn vo mt tuyn tp CD mi
- To c danh sch mi cc bi ht
- Sa i cp nht mi cc bi ht
- Xa cc bi ht c
- Lit k danh sch cc bi ht ang c trong b su tp
4.6.2. Thit k ng dng
- Xy dng menu d dng cho vic la chn
- Lu tr d liu dng vn bn
- La
L a chn
ch n cch lu
l u thng tin v
v CD trong mt
m t tp
t p tin v c quan h
h vi
v i thng tin v
v
tn bi ht c lu trong tp tin khc (do y l cch tun th theo m hnh quan h
CSDL).

Son tho TS L MNH (manhle@uit.edu.vn)


415
Chng 5: Nhp mn lp trnh Linux
CITD - VNUHCM

Bao gm cc phn sau:

1. Linux v Unix
2. Cng ng GNU v General Public License
3. Lp trnh trn Linux
4. Chng trnh Unix v Linux
5. Chng trnh Linux u tay helloworld.c
6. Tm tr gip v trnh bin dch
7. Pht trin chng trnh vi ngn ng C
8. Th vin lin kt trn Linux

Son tho TS L MNH (manhle@uit.edu.vn)


416
5.1. Linux v Unix
- Unix c nh gi l mt HH mnh, n nh. Trc y c xem l mt HH m ngun
m v t khi Sun Microsystems nng cp ln thnh mt sn phm thng mi  mt dn tnh
m ca HH Unix.
- Cc dng sn phm Server ca Microsoft v ang cnh tranh vi cc dng tng ng
thuc h UNIX (nh FreeBSD, Linux, Debian, SCO Unix,)
- Theo dng lch s th vi vic k tha v pht huy nhng tnh nng ni bt ca mt HH
qua th thch - UNIX {m ngun m + tnh n nh}  Linux c ng h v c s
dng bi cng ng trn ton th gii

Son tho TS L MNH (manhle@uit.edu.vn)


417
- Mt s tnh nng khc ca HH Linux so vi HH Unix:
 L ht nhn cung cp cc chc nng cn thit ti
thiu ca HH ta Unix (Linux ging Unix gn
98%)
 L mt sn phm c gi tr do Unix khng c
phin bn chy trn h my PC vi kin trc Intel

Son tho TS L MNH (manhle@uit.edu.vn)


418
 Chng trnh vit trn Unix u c th chy tt trn
Linux v ngc li
 Linux c pht trin da trn vic tn dng nhng
u im v khc phc nhng khuyt im ca cc HH
ta UNIX
 Linux ngy nay c s dng rng ri v chnh do yu
t ph bin trn c s h tr gip ca kh nhiu
cng ng ngi dng trn th gii

Son tho TS L MNH (manhle@uit.edu.vn)


419
5.2. Cng ng GNU v General Public License
- Ngoi HH, cn c cc chng trnh ng dng phc
v cho yu cu ca ngi dng
- Cng ng Open Source xy dng nhiu ng
dng c kh nng chy c trn Unix/Linux v nhn
chung theo xu hng hin i nhm li ko ngi
dng Linux theo phng chm Windows c g ~
Linux c tng ng nh vy

Son tho TS L MNH (manhle@uit.edu.vn)


420
- GNU {GNUs Not UNIX} GNU theo nguyn gc ting
Anh l linh dng u b <=> l biu tng ca t chc
cng ng m ngun m
- Tham kho cc phn mm ng dng min ph ti a ch
http://www.gnu.org/software/software.html
- Khi s dng cc phn mm ca t chc GNU th cn phi
tun th mt s quy nh ca t chc trn  Giy php chng
nhn GPL cn gi l copyleft thay cho copyright cho cc
chng nhn bn quyn thng mi

Son tho TS L MNH (manhle@uit.edu.vn)


421
- Mt s b cng c bin dch C/C++:

Trnh bin dch ngha


gcc Trnh bin dch C
g++ Trnh bin dch C++
gdb Trnh g li
GNU make Trnh qun l m ngun v qun l th vin
GNU Emacs Trnh son tho vn bn
bash H v Shell h tr c ch dng lnh
Bison B phn tch tng thch yacc ca UNIX

Son tho TS L MNH (manhle@uit.edu.vn)


422
5.3. Lp trnh trn Linux
- Nguyn thy Unix c vit bng C v phn ln cc ng dng trn Unix c vit bng C
- Ngoi C l la chn duy nht, c th s dng Pascal, Assembly hoc Perl xy dng cc
chng trnh cho Linux

Ada C C++

Eiffel Forth Fortran

Icon Java JavaScript

Lisp Modula 2 Modula 3

Oberon Objective C Pascal

Perl PostScript Prolog

Python Scheme Smalltalk

SQL Son tho TS LTcl


MNH/ (manhle@uit.edu.vn)
Tk UNIX Bourne Shell
423
5.4. Chng trnh Unix v Linux
- Chng trnh trn Unix v Linux tn ti hai dng:
Dng thc thi (tp tin nh phn)
Dng thng dch (tp tin script)
 File chng trnh thc thi ~ nh tp tin .exe ca MS-DOS/Windows
 File script l nhng ch th lnh c thc thi bi shell hay trnh thng dch no (Perl,
Python, Tcl, ...)  tng t nh cc tp tin .bat ca MS-DOS, VBScript v JavaScript ca
Windows Script Host
- Cc file script v chng trnh nh phn u c kh nng v mnh ngang nhau  Do vy, lc
thc thi kh phn bit c u l lnh gi chng trnh nh phn v u l lnh thc hin script
- Khi chng trnh c gi, Linux s tm ng dn n ni cha tp tin chng trnh trong
bin mi trng PATH. Thng thng, bin ny cha cc ng dn sau /bin, /user/bin,
/usr/local/bin

Son tho TS L MNH (manhle@uit.edu.vn)


424
- i vi ngi qun tr h thng, c thm mt s ng dn tr n th mc /sbin, /usr/sbin
- Unix/Linux s dng du : phn cch cc ng dn trong bin mi trng PATH, trong
khi MS-DOS dng du ;
- V d:
PATH = /bin: /user/bin: /usr/local/bin:.:

Son tho TS L MNH (manhle@uit.edu.vn)


425
5.5. Chng trnh Linux u tay (Helloworld.c
Helloworld.c))
- Dng trnh son tho bt k (trong Console Mode) son tho source code nh:
 vi
 cat
 Dng chc nng Edit trong mc (Midnight Commander)
 v.v...
- Cch s dng:
 vi helloworld.c
 cat > helloworld.c
- Mt giao din khc tng t nh trong Turbo C ca Borland th s dng trnh son tho wpe
(cho php kt hp chc nng bin dch ca cc, gcc, pascal)
- Tham kho V d 5-1: helloworld.c

Son tho TS L MNH (manhle@uit.edu.vn)


426
Windows Programming Environment
(WPE)
==
== -----
-----
-----
-----==

Hnh 5.1
Son tho TS L MNH (manhle@uit.edu.vn)
Trnh wpe trong ch Console 427
Windows Programming Environment
(WPE)
==
== -----
-----
-----
-----==

Hnh 5.2
Son tho TS L MNH (manhle@uit.edu.vn)
Trnh wpe trong ch X-Windows428
- S dng gcc (hoc cc) bin dch nh sau:
#gcc helloworld.c -o helloworld
#./helloworld
Hello World
#

Son tho TS L MNH (manhle@uit.edu.vn)


429
5.6. Tm tr gip v trnh bin dch
- Trong trnh gcc c rt t ty chn (-o, -g, -l, -I, v.v...).
- S dng lnh man tham kho thm mt s tu chn khc.
- Trong b chng trnh GNU cng km theo chng trnh info c u im l hng dn s dng
phn mm rt chi tit. Cch thc dng lnh info nh man.

Son tho TS L MNH (manhle@uit.edu.vn)


430
5.7. Pht trin chng trnh vi ngn ng C
- S dng ngn ng C lm ngn ng chnh trong chng trnh
- Ngn ng lp trnh C khng ph thuc vo HH no
5.7.1. Chng trnh trn Linux
- Cn nm r v tr t ti nguyn xy dng chng trnh nh trnh bin dch, file th vin, cc
file header khai bo hm v cu trc d liu, ...
- Trnh bin dch gcc thng c t trong /usr/bin hoc usr/local/bin. Khi bin dch, gcc cn
nhiu file h tr nh cc tp tin th vin lin kt (trong /lib hoc /usr/local/lib), cc file C header
(trong /usr/include hoc /usr/local/include), v.v...
- Chng trnh sau khi bin dch c th t bt k u trn h thng min l HH c th tm thy
trong bin mi trng PATH hoc theo ng dn tuyt i trong dng lnh.

Son tho TS L MNH (manhle@uit.edu.vn)


431
5.7.2. Cc file header
- File header trong C cha nh ngha cc hm, cc hng cng vi nhng cu trc d liu cn cho
qu trnh bin dch
- V d mt khai bo header trong C:
#include <sys/types.h>
- Trnh bin dch s tm file header c tn l types.h trong th mc /usr/include/sys
- i vi cc hm lp trnh ho X-Window, cc file header nm trong th mc
/usr/include/X11
- S dng ty chn -I ch ra th mc cha cc file header ca ring mnh (khc vi th mc
mc nh ca h thng).
- V d:
#gcc I /usr/mypro/include test.c -o test
- Xem thng tin v cc hm trong th vin #man <function name>

Son tho TS L MNH (manhle@uit.edu.vn)


432
5.7.3. Cc file th vin
- to ra chng trnh thc thi, cn c cc file th vin
- Trong Linux, cc file th vin thng l .a, .so, .sa v c bt u bng tip u ng
lib. V d: libutil.a hoc libc.so y l tn cc th vin trong Linux
- C 2 loi th vin lin kt:
Lin kt ng (Dynamic)
Lin kt tnh (Static)
- Khi bin dch, thng thng chng trnh lin kt (ld) s tm th vin trong 2 th mc chun
/usr/lib v /lib

Son tho TS L MNH (manhle@uit.edu.vn)


433
5.8. Th vin lin kt trn Linux
- Hnh thc n gin nht ca th vin l tp hp cc file i tng .o do trnh bin dch to ta
bc bin dch vi ty chn -c
#gcc -c helloworld.c
- Lc ny trnh bin dch cha to ra file thc thi m to ra file i tng helloworld.o (file ny
cha m my ca chng trnh c t chc li ~ cc file .o ny tng t nh cc file .obj
do trnh bin dch C sinh ra trn DOS hoc Windows)
- to ra file thc thi, thc hin bc cui cng (gi linker ld)
#gcc helloworld.o -o helloworld
- Nu khng dng kho chuyn -c th trnh bin dch s thc hin c hai bc trn ng thi.

Son tho TS L MNH (manhle@uit.edu.vn)


434
5.8.1. Th vin lin kt tnh
- L cc th vin khi lin kt trnh bin dch s ly ton b m thc thi ca hm trong th vin
a vo chng trnh chnh.
- Chng trnh s dng th vin lin kt tnh ny chy c lp vi th vin sau khi bin dch.
- Do khi cn sa cha hoc nng cp  Bin dch li
- Tham kho V d 5-2: fred.c
- Tham kho V d 5-3: bill.c
- Tin hnh bin dch to ta 2 file i tng .o
#gcc -c fred.c bill.c
- To file tiu khai bo cc hm nguyn mu ca ngi s dng
- Tham kho V d 5-4: lib.h
- Chng trnh chnh triu gi 2 hm trn: V d 5-5: program.c

Son tho TS L MNH (manhle@uit.edu.vn)


435
Sau khi bin dch thnh cc tp tin .o, cn to tp
tin thc thi nh sau:
# gcc program.o bill.o fred.o o program
Cch to th vin lin kt tnh:
# ar cvr libfoo.a bill.o fred.o
Bin dch v hp nht vi th vin lin kt tnh:
# gcc program.c o program L. -lfoo

Son tho TS L MNH (manhle@uit.edu.vn)


436
5.8.2. Th vin lin kt ng
5.8.2.1. To v s dng th vin lin kt ng .so
- Th vin lin kt tnh c nhc im:

Phi nhng m nh phn km theo chng trnh khi lin kt, dn n tnh trng tn
khng gian a nu nh c chng trnh yu cu s dng mt hm nhiu ln (v d nh
hm printf())

Phi bin dch v/hoc lin kt li khi mun nng cp (hoc b sung tnh nng mi)
- Th vin lin kt ng khc phc c hai vn trn do cc hm th vin lin kt ng c
np trong thi gian thi hnh v c th c dng chung gia nhiu tin trnh.
a hm vo th vin lin kt ng cn dng ty chn -fpic (hoc fPIC), vit tt ca
Position Independence Code

Son tho TS L MNH (manhle@uit.edu.vn)


437
- V d sau s bin dch fred.c v bill.c thnh cc tp tin .o c kh nng a c vo th vin
lin kt ng:
# gcc -c -fpic fred.c bill.c
- Tip n to th vin lin kt ng t cc file i tng .o trn bng cch s dng ty chn -
shared (do th vin lin kt ng c to ph thuc vo kin trc ca HH):
# gcc -shared bill.o fred.o -o libfoo.so
- Cch s dng th vin lin kt ng vi chng trnh chnh:
# gcc program.c -o program -L. -lfoo
- Vi cc tu chn -L. v -lfoo trnh bin dch v lin kt gcc s tm th vin libfoo.so hoc
libfoo.a trong th mc hin hnh v to ra file thc thi program.
- Th vin .so c u tin s dng so vi .a. Nu khng tm thy file th vin .so trn th
.a mi c xem xt n.

Son tho TS L MNH (manhle@uit.edu.vn)


438
V d minh ha v th vin lin kt trn Windows
==
== -----
-----
-----
-----==

Son tho TS L MNH (manhle@uit.edu.vn)


439
5.8.2.2. Thc thi gi lin kt mun
- Th vin lin kt ng phi nm trong /lib, /usr/lib, /usr/local/lib hoc th mc vi ng dn
ch bi bin mi trng LD_LIBRARY_PATH
- V d:
# export LD_LIBRARY_PATH=/myprog/lib:/other/lib:.
# ./program
- C th ch ng gi v np cc hm th vin lin kt ng m khng cn nh vo HH. y
c gi l hm lin kt mun
- Ba hm lin kt mun chnh l:
dlopen()
dlsym()
dlclose()

Son tho TS L MNH (manhle@uit.edu.vn)


440
- Cc hm trn c khai bo nh sau:
#include <dlfcn.h>
void *dlopen (const char* lib_file, int mode);
void *dlsym (void * handle, const char* funct_name);
int dlclose (void *handle);
- Hm dlopen() yu cu ng dn lib_file ti th vin .so cn np.
- Hm dlsym() yu cu con tr n th vin np v tr v trc bi hm dlopen()
- Hm dlclose() gii phng th vin tr n bi handle do dlopen() np trc
- Tham kho V d 5-6: program2.c

Son tho TS L MNH (manhle@uit.edu.vn)


441
Kt thc chng 5

Chn thnh cm n
Cc anh/
anh/ch tham d bi ging
ging..

B phn Multi-
Multi-media h tr chng
ti trong qu trnh thuyt ging
ging..

Son tho TS L MNH (manhle@uit.edu.vn)


442
Chng 6: X l tp tin v th mc
CITD - VNUHCM

Bao gm cc phn sau:

1. H thng tp tin trong Linux


2. Cc cch x
x l tp tin trong Linux
3. Th vin xut nhp chun (Standard I/O Library)
4. Hm truy xut cp thp
5. X l th mc

Son tho TS L MNH (manhle@uit.edu.vn)


443
6.1. H thng tp tin trong Linux
- Tt c cc tp tin v th mc c t chc theo dng cy duy nht
- Gc ca cy th mc gi l root v c k hiu l /
- Cho d my tnh c nhiu a (hoc nhiu phn vng, nhiu thit b)  tt c c kt gn
vo cc nhnh ca cy th mc chnh
- Thao tc kt gn c thc hin bi lnh mount
- Hnh 6-1 cho thy th mc /home/soft l th mc c gn kt vi mt phn vng ca a
cng th 2

Son tho TS L MNH (manhle@uit.edu.vn)


444
- Thc t, th mc trong Linux c xem nh mt tp tin c thuc tnh d.

a cng 1

usr etc home dev

minhkhai soft a cng 2

book.doc office helps.txt

Hnh 6.1
Son tho TS L MNH (manhle@uit.edu.vn)
H thng th mc trong Linux 445
Hnh 6.1.a
Son tho TS L MNH (manhle@uit.edu.vn)
Mt cu trc th mc trong Linux 446
6.2. Cc cch x l tp tin trong Linux
- C hai cch truy xut file:
Truy xut file s dng vng m (stream file): Da vo cc hm th vin chun stdio
Truy xut file cp thp (low-level): Da vo cc li gi h thng
- Hnh 6.2 l m hnh truy xut phn cng da vo th vin chun v cc li gi h thng.

Son tho TS L MNH (manhle@uit.edu.vn)


447
ng dng (Application)
Khng gian ngi dng
stdio Library (User Space)

gi hm

Li gi h thng (System Call)


KERNEL Khng gian h thng
Device Drivers (Kernel Space)

Thit b phn cng


(Hardware Devices)

Hnh 6.2
Son tho TS LCch
MNH (manhle@uit.edu.vn)
triu gi v truy xut thit b phn cng 448
6.3. Th vin xut nhp chun (Standard I/O Library)
- c khai bo trong stdio.h
- Th vin ny tun theo chun ANSI  c th s dng chng hu nh trn cc HH
HH.khc nhau:
 fopen(), fclose()
 fread(), fwrite()
 fflush()
 fseek()
 v.v...
- Tt c cc hm trn u s dng con tr ti cu trc FILE

Son tho TS L MNH (manhle@uit.edu.vn)


449
6.3.1. ng m tp tin
- S dng hm fopen() v fclose()
- V d:
/*Khai bo cc bin con tr ti cu trc FILE*/
FILE* f_read;
FILE* f_write;
FILE* f_readwrite;
FILE* f_append;
/*M tp tin data.txt c*/
f_read=fopen(/home/ch12/data.txt, r);
if (!f_read) { /*Khng m c tp tin*/
perror(Khong mo duoc file de doc...);
exit(1);
}

Son tho TS L MNH (manhle@uit.edu.vn)


450
/* M tp tin logfile trong th mc hin hnh ghi. Nu cha c, tp tin
mi c to; Nu c, ni dung c b xa */
f_write=fopen(logfile.txt, w);

/* M /usr/local/db/users c v ghi */
f_readwrite=fopen(/usr/local/db/users, rw);

/* M /var/adm/messages ni thm d liu vo cui */


f_append=fopen(/var/adm/messages, a);

/* ng tp tin ang m */
if (!fclose(f_readwrite)) {
perror(Khong the dong file duoc...);
exit(1);
}

Son tho TS L MNH (manhle@uit.edu.vn)


451
6.3.2. c t tp tin
- Sau khi m tp tin v c con tr n cu trc FILE, c th thc hin vic c d liu bng nhiu
hm th vin.
- V d:
int c;
char buf[200];
c=fgetc(f_read); // c 1 k t hoc c EOF
if (fread(buf, 120, 1, f_read) != 1) { // c 1 khi k t
perror(Khng c c !);
}
if (feof(f_read)){
printf(Gp EOF !);
}

Son tho TS L MNH (manhle@uit.edu.vn)


452
6.3.3. Ghi vo tp tin
- Gi s f_readwrite l con tr n cu trc FILE c fopen() vi ch ghi l w.
- V d:
int c;
char buf[201];
// Ghi k t a ra tp tin
c=a; fputc(f_readwrite);
// Ghi mt chui k t ra tp tin
strcpy(buf, Hello World !);
fputs(buf, f_readwrite);
// y d liu cn li trong vng m ra tp tin
fflush(f_readwrite);

Son tho TS L MNH (manhle@uit.edu.vn)


453
6.3.4. Di chuyn v tr c/ghi trong tp tin
- Dng hm fseek() phi hp vi ftell().
- V d:
fseek(f_read, 20L, SEEK_SET); // Chuyn n v tr 20
fseek(f_read, 10L, SEEK_CUR); // i 10 v tr tnh t v tr hin thi
// Ghi nh v tr hin thi. Chuyn n v tr cch cui file 50 byte
// Ghi chui Hello World ! k t v tr , sau v ch c
long old_position=ftell(f_readwrite);
if (fseek(f_readwrite, -50L, SEEK_END) < 0){
perror(Khng chuyn n c !); exit(1);
}
fputs(Hello World !, f_readwrite);
fseek(f_readwrite, old_position, SEEK_SET) ;

Son tho TS L MNH (manhle@uit.edu.vn)


454
6.4. Hm truy xut cp thp
- S m t (File Descriptor) c dng tham chiu ti tp tin.
6.4.1. c/ghi tp tin
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
// Cc bin cha s m t tp tin tr v bi hm open()
int fd_read;
int fd_write;
int fd_readwrite;
int fd_append;

Son tho TS L MNH (manhle@uit.edu.vn)


455
size_t rc;
char buf[20];
fd_read=open(/data/vb1.txt, O_RDONLY);
rc=read(fd_read, buf, 20); // c 20 bytes
if (rc == 0){
printf(Gp EOF);
}
else if (rc < 0){
perror(Khng c c !);
exit(1);
}
else {
printf(c c %d bytes, rc);
}
close(fd_read);

Son tho TS L MNH (manhle@uit.edu.vn)


456
fd_readwrite=open(/data/food.db, O_RDWR);
if (fd_readwrite < 0){
perror(Khng m c !);
exit(1);
}
rc=write(fd_readwrite, Hello World !, strlen(Hello World !))
if (rc < 0){
perror(Khng ghi c !);
exit(2);
}
close(fd_readwrite);

Son tho TS L MNH (manhle@uit.edu.vn)


457
6.4.2. Kim tra quyn trn tp tin
Hm access() dng kim tra quyn truy cp tp tin:
#include <unistd.h>

// Kim tra quyn c/ghi


if (access(/data/data.db, R_OK | W_OK) == 0)
printf(C quyn c-Ghi);
else
printf(Khng c quyn c-Ghi);

Son tho TS L MNH (manhle@uit.edu.vn)


458
6.4.3. Thit lp quyn trn tp tin
Hm chmod() dng thit lp quyn truy cp tp tin:
#include <sys/types.h>
#include <sys/stat.h>

// Cho php Ch s hu quyn c-Ghi


// Cho php Nhm c c, cn nhng ngi Khc c quyn Ghi
if (chmod(/data/data.db, S_IRUSR | S_IWUSR|S_IRGRP|S_IWOTH) == -1){
perror(Khng thit lp quyn c !);
else
printf(Thit lp quyn c );

Son tho TS L MNH (manhle@uit.edu.vn)


459
6.4.4. Ly thng tin v tp tin
Hm stat() dng ly thng tin v tp tin:
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
struct stat file_status;
if (stat(/data/data.db, &file_status) == 0){
if (S_ISDIR(file_status.st_mode)) printf(Th mc !);
if (S_ISLNK(file_status.st_mode)) printf(Soft Link !);
if (S_ISREG(file_status.st_mode)) printf(Normal File!);
}
else perror(Khng xc nh c trng thi !)

Son tho TS L MNH (manhle@uit.edu.vn)


460
6.4.5. i tn tp tin
#include <stdio.h>
if (rename(/data/data.db, /data/data.bak) == -1){
perror(Khng i tn c !)
}

6.4.6. Xa tp tin
#include <unistd.h>
if (unlink(/data/data.db) == -1){
perror(Khng xa c !)
}

Son tho TS L MNH (manhle@uit.edu.vn)


461
6.4.7. To lin kt mm
#include <unistd.h>
if (symlink(/data/data.db, /luu/data.lnk) == -1){
perror(Khng to c lin kt mm !)
}

6.4.8. To lin kt cng


#include <unistd.h>
if (link(/data/data.db, /luu/data.db) == -1){
perror(Khng to c lin kt cng !)
}

Son tho TS L MNH (manhle@uit.edu.vn)


462
6.5. X l th mc
Linux c cc hm ring dng x l th mc:
#include <sys/types.h>
#include <dirent.h>
// M th mc vi kt qu l con tr ti cu trc DIR
DIR *opendir(const char * name);
// c mt u mc
struct dirent readdir(DIR *dirp);
// ng th mc
int closedir(DIR *dirp);
// V tr hin hnh ca con tr u mc
long int telldir(DIR *dirp);

Son tho TS L MNH (manhle@uit.edu.vn)


463
// Chuyn n u mc theo s hiu
long int seekdir(DIR *dirp, long int loc);
// To th mc
#include <sys/types.h>
#include <sys/stat.h>
int mkdir(const char *path, mode_t mode);
// Xa th mc
#include <unistd.h>
int rmdir(const char *path);
// Chuyn i th mc lm vic
int chdir(const char *path);
// Nhn ng dn ca th mc lm vic (hin thi)
char *getcwd(char *buff, size_t size);

Son tho TS L MNH (manhle@uit.edu.vn)


464
V d:
#include <unistd.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
DIR *dp; struct dirent *entry; struct stat statbuf;
if ((dp = opendir(/data)) == NULL){
perror(Khng m c th mc); exit(1);
}
while ((entry = readdir(dp)) != NULL){
stat(entry->d_name, &statbuf);
if (S_ISDIR(statbuf.st_mode)){ /* L th mc con */}
else {/* L tp tin */};
}
closedir(dp);

Son tho TS L MNH (manhle@uit.edu.vn)


465
Chng 7: X l tin trnh trong Linux
CITD - VNUHCM

Bao gm cc phn sau:

1. Khi qut v tin trnh trong Linux


2. Cch hot ng ca tin trnh
3. Cu trc tin trnh
4. To lp tin trnh
5. c thng tin v cc tin trnh

Son tho TS L MNH (manhle@uit.edu.vn)


466
7.1. Khi qut v tin trnh trong Linux
- Mc tiu: Nm vng c ch hot ng ca cc HH a
nhim thng qua khi nim tin trnh (Process)
- im ni bt ca cc HH ta Unix l kh nng chy ng
thi nhiu chng trnh (Multi-Programming).
- HH xem mi n th m lnh m n iu khin l Tin
trnh.
- Mt ng dng c th bao gm nhiu tin trnh kt hp vi
nhau.

Son tho TS L MNH (manhle@uit.edu.vn)


467
- Cc tin trnh cng hot ng chia s thi gian
CPU, c th dng chung vng nh v cc ti nguyn
h thng khc.
- Cc lnh ca Linux thc t l nhng tin trnh ring
l, c kh nng kt hp v truyn d liu cho nhau
thng qua c ch giao tip lin tin trnh IPC (Inter-
Process Communications)
- Chng ta s bit cch to, hy, tm dng tin trnh
trong Linux. ng thi, tm hiu su c ch ng b
ha v giao tip gia cc tin trnh.

Son tho TS L MNH (manhle@uit.edu.vn)


468
- Khng nh mi trng n nhim ch c mt tin
trnh hot ng, mi trng a nhim c ti nguyn rt
hn hp.
- Khi h thng yu cu, tin trnh phi trong trng thi
sn sng nhng quyn x l CPU cho cc tin trnh
khc bt k thi im no.
- Tin trnh c nh ngha: L mt thc th iu
khin on m lnh c ring mt khng gian a ch,
c ngn xp ring, c bng cha cc m t tp tin
ang m v c bit l c mt nh danh PID (Process
Identifier) duy nht trong ton b h thng vo thi
im tin trnh ang chy.
Son tho TS L MNH (manhle@uit.edu.vn)
469
- Nhiu tin trnh c th thc thi trn cng mt my
vi cng mt HH, cng mt ngi dng (hoc nhiu
ngi dng ng nhp khc nhau). V d: Shell Bash
l mt tin trnh c th thc thi lnh ls hay cp (trong
khi bn thn hai lnh trn l nhng tin trnh c th
hot ng tch bit khc)
- Hai tin trnh khc nhau khng th xm phm vng
nh ca nhau  Tuy nhin, chia s d liu gia hai
tin trnh c th s dng vng khng gian a ch
chung.

Son tho TS L MNH (manhle@uit.edu.vn)


470
7.2. Cch hot ng ca tin trnh
- Trong mi trng HH Linux, mt tin trnh c cc trng thi sau:
Running (ang chy): Tin trnh chim quyn x l CPU
Waiting (Ch): Tin trnh b HH tc quyn x l CPU
Suspend (Tm dng): HH tm dng tin trnh  Sleeping
- Ti dng lnh, c th bm Ctrl-Z tm ngng tin trnh sau dng lnh bg a n vo
hu trng sau dng fg chuyn ln mt trc.
- Hm fork() nhn bn mt tin trnh.
- Hm system() to lp tin trnh mi.
- Hm exec() dng thay th tin trnh hin hnh.

Son tho TS L MNH (manhle@uit.edu.vn)


471
7.3. Cu trc tin trnh
- Cch thc qun l tin trnh ca Linux:
 Hai user neil v rick cng ng nhp v chy chng trnh grep ng thi  HH lc
ny s qun l v np m truy cp chng trnh grep vo hai vng nh khc nhau v gi
mi phn vng nh l mt tin trnh.
 Hnh 7.1 ngi dng neil chy
chng trnh grep tm chui abc
trong tp tin treck.txt cn ngi
dng rick chy chng trnh grep neil rick

tm chui cde trong tp tin $grep abc treck.txt $grep cde somefile.doc

somefile.doc PID 101 PID 102

Code M lnh Code


grep

Data Data
S=abc S=cde

Library Th vin C Library

filedes filedes

treck.txt somefile.doc

Khng gian ca H iu hnh

Son tho TS L MNH (manhle@uit.edu.vn) Hnh 7.1


Tin trnh qun l bi HH 472
- Dng lnh ps cho php xem thng tin v cc tin trnh m Linux ang kim sot (c th s dng
thm tham s -af lit k chi tit thng tin v cc tin trnh):

Hnh 7.1.a
Son tho TS L MNH (manhle@uit.edu.vn)
Lit k thng tin v cc tin trnh trn h thng473
- Mi tin trnh c gn cho mt nh danh gi l PID (Process Identifier)
- PID l mt s nguyn dng c gi tr t 2 32768
- Tin trnh init c gi v chy ngay khi ta khi ng HH. y l tin trnh qun l v to ra
mi tin trnh con khc  C PID l 1
- Cch thc gn PID: Khi mt tin trnh mi yu cu khi ng, HH s chn ly mt gi tr s
nguyn trong khong 2 32768 (s nguyn ny cha b tin trnh ang chy no chim gi) v
cp pht cho tin trnh ny. Khi tin trnh chm dt, HH s thu li s PID cp pht cho tin
trnh khc trong ln sau.
- Trn Unix/Linux, th mc /proc cha cc file lu tr thng tin v nhng tin trnh ang chy.
- Theo quy c, mi tin trnh hot ng trong khng gian a ch o c lp do h thng cp
pht  4GB (c lin quan n phn vng SWAP c cp Chng 1)

Son tho TS L MNH (manhle@uit.edu.vn)


474
7.3.1. Bng thng tin tin trnh
- HH lu tr mt cu trc danh sch bn trong h thng gi l bng tin trnh (Process Table).
- Bng tin trnh qun l tt c cc PID ca h thng cng vi thng tin chi tit v cc tin trnh
ang chy.
- Bng tin trnh ta nh bng ca CSDL lu cc record l thng tin v tin trnh. Trong , s
PID thng c s dng lm kha chnh v nh ch mc truy xut thng tin.
- Trong cc phin bn Unix/Linux c, gii hn khng c c hn 256 tin trnh chy ng thi.
Tuy nhin, trn cc h Unix/Linux c phin bn mi hin nay  s tin trnh l khng gii hn
ch ph thuc vo b nh sn c.

Son tho TS L MNH (manhle@uit.edu.vn)


475
7.3.2. Xem thng tin ca tin trnh
- S dng lnh ps hin th thng tin chi tit v cc tin trnh (Xem li Hnh 7.1.a)
- Lnh trn lit k nhiu tin trnh, k c nhng tin trnh chy ch ha X-Window.
- Cc thng tin v kt xut ca lnh ps nh sau:
UID: Tn ngi dng gi tin trnh
PID: S nh danh m h thng cung cp cho tin trnh
PPID: S nh danh ca tin trnh cha (init c PID l 1)
STIME: Thi im bt u a tin trnh vo chy
TIME: Khong thi gian chim dng CPU ca tin trnh
CMD: Ton b dng lnh triu gi tin trnh
TTY: Ch ra mn hnh Terminal o ni gi thc thi tin trnh

Son tho TS L MNH (manhle@uit.edu.vn)


476
7.3.3. Cc tin trnh h thng
- S dng lnh ps vi tham s l -ax xem cc tin trnh ca h thng

- Xt tin trnh dng u: Cc tin trnh h thng ( y l init) khng gn vi terminal no ht


nn ct TTY ca tin trnh init  s c gi tr l ?
- Tin trnh cui cng khi m init gi trc khi chuyn giao quyn iu khin cho Shell l tin
trnh getty (Trnh yu cu nhp username / password lc ng nhp).

Son tho TS L MNH (manhle@uit.edu.vn)


477
7.3.4. iu phi tin trnh
- Cc HH a nhim, a tin trnh nh Unix/Linux
(hay c MS Windows NT/2000/XP/2003,) iu c
trch nhim iu phi s hot ng ng b ca cc
tin trnh.
- B iu phi tin trnh (Process Scheduler) ca HH
lin tc xoay vng v cung cp mt thi gian
cc tin trnh thc hin mt phn cng vic ca n.
Thng thng, khong thi gian cho php tin trnh
chim gi CPU l rt nh.

Son tho TS L MNH (manhle@uit.edu.vn)


478
- Khng mt tin trnh no c chim ton b CPU sut
thi gian di gy nh hng n cc tin trnh khc.
- Mi tin trnh c th c cp mt u tin (Priority)
nht nh.
- u tin ca tin trnh c th iu chnh c bng
lnh renice

Son tho TS L MNH (manhle@uit.edu.vn)


479
7.4. To lp tin trnh
7.4.1. Gi tin trnh mi bng hm system()
- Gi mt chng trnh khc bn trong mt chng trnh ang thc thi bng hm system()
#include <stdlib.h>
int system(const char *cmdstr)
- Hm ny gi lnh cha trong cmdstr v ch lnh chm dt mi quay v ni gi hm, tng
ng vi vic gi shell thc thi lnh:
$ sh c <cmdstr>

Son tho TS L MNH (manhle@uit.edu.vn)


480
- Hm system() tr v:
M li 127 nu khng th khi ng shell v thc thi lnh c
M li 1 nu gp li khc
Ngc li m tr v s l m do <cmdstr> sau khi thc thi tr v
- V d 7-1: system.c

Son tho TS L MNH (manhle@uit.edu.vn)


481
7.4.2. Thay th tin trnh hin hnh vi hm exec()
- Hm exec() s thay th ton b nh ca tin trnh hin ti {tin trnh A} (bao gm m lnh, d
liu, bng m t file) bng nh ca mt tin trnh khc {tin trnh B}
- Vic thay th ny ch gi li s PID ca tin trnh A
- Hm thay th nh ca tin trnh bao gm tp cc hm sau:
#include <unistd.h>
int execl(const char *path, const char *arg,...);
int execlp(const char *file,const char *arg,...);
int execle(const char *path, const char *arg,...,
char *const envp[]);
int execv(const char *path, char *const argv[]);
int execvp(const char *file, char *const argv[]);
int execve(const char *file, char *const argv[],
char *const envp[]);
- V d 7-2: pexec.c

Son tho TS L MNH (manhle@uit.edu.vn)


482
7.4.3. Nhn bn tin trnh vi hm fork()
- Vic thay th tin trnh i khi cng bt li do tin trnh mi to ra chim ton b khng gian
ca tin trnh c v khng cn kh nng kim sot tin trnh c na.
- S dng hm fork() nhn bn tin trnh.
- Hm fork() s quay v ni gi hai ln vi hai gi tr tr v khc nhau.
- Cch thc khai bo:
#include <sys/types.h>
#include <unistd.h>
pid_t fork()
- Hnh 7.2 minh ha cch nhn bn
tin trnh bng fork() Khi to tin trnh
chnh

Gi fork()

Tr v PID ca tin Tr v tr 0
trnh con

M lnh k tip ca M lnh thc thi tin


tin trnh ban u trnh mi
(tin trnh cha) (tin trnh con)

Son tho TS L MNH (manhle@uit.edu.vn) Hnh 7.2


C ch nhn bn tin trnh ca fork() 483
- on m iu khin v s dng hm fork() thng c dng chun sau:
pid_t new_pid;
new_pid=fork(); /*Nhn bn tin trnh*/
switch (new_pid) {
case 1:
printf(Can not fork new process);
break;
case 0:
printf(This is child process);
/*M lnh dnh cho tin trnh con*/
break;
default:
printf(This is parent process);
/* M lnh dnh cho tin trnh cha*/
break;
}
- V d 7-3: fork_demo.c

Son tho TS L MNH (manhle@uit.edu.vn)


484
7.4.4. Kim sot v i tin trnh con
- Hm fork() nhn bn tin trnh hin hnh thnh hai tin trnh cha v con hot ng c lp vi
nhau.
- i khi tin trnh cha phi i tin trnh con thc thi xong tc v th mi c tip tc thc thi.
- Gii quyt vn ny bng hm wait()
#include <sys/types.h>
#include <sys/wait.h>
pid_t wait(int *status)
pid_t waitpid(pid_t pid,int *status,
int options)
- S dng mt s macro c khai bo sn trong <sys/wait.h> din dch mt s trng
thi m hm wait() s tr v (Tham kho)
- V d 7-4: wait_child.c v V d 7-5: wait_child2.c

Son tho TS L MNH (manhle@uit.edu.vn)


485
7.4.5. n x l tn hiu khi tin trnh con kt thc
- Tin trnh cha c th n bt tn hiu SIGCHLD khi tin trnh con chm dt v gn cho n mt
tc v thc thi no . Bng cch ny, tin trnh cha c th khng cn phi gi wait() ch tin
trnh con kt thc mi c th thc thi c tc v tip theo.
- Trong V d 7-6, hm catch_child() dng x l tn hiu (hay cn c gi l b x l tn
hiu)
- gn mt hm x l tn hiu cho mt tn hiu c th no  gi hm h thng signal()
- V d 7-6: child_signal.c

Son tho TS L MNH (manhle@uit.edu.vn)


486
7.4.6. Thay th hm system()
- C th vit li hm system() m khng cn phi triu gi lnh thng qua shell ca h thng.
- V d 7-7 kt hp s dng hm fork() vi hm thay th nh ca tin trnh execlp()
- V d 7-7: system2.c

Son tho TS L MNH (manhle@uit.edu.vn)


487
7.4.7. B ri tin trnh con
- L tnh hung khi c hai tin trnh cha v con cng hot ng c lp nhng tin trnh cha kt
thc trc tin trnh con v n khi tin trnh con kt thc th s khng cn im tr v lin h
vi tin trnh cha sinh ra n trc  Tin trnh con trng thi zombie (b ri)
- Linux s t ng gn PPID ca tin trnh con (ang trng thi zombie) v gi tr 1 (tin trnh
init)
- V d 7-8: zombie_child.c

Son tho TS L MNH (manhle@uit.edu.vn)


488
7.4.8. Chuyn hng xut nhp ca tin trnh
- Mi tin trnh c mt bng m t tp tin ring lu tr thng tin v cc tp tin ang m. C
th tn dng k thut ny xy dng b lc d liu bng chuyn hng xut nhp.
- Xt v d c d liu t lung nhp chun stdin sau chuyn i d liu nhp c thnh ch
hoa.
- V d 7-9: upper.c
- V d 7-10: dataupper.c

Son tho TS L MNH (manhle@uit.edu.vn)


489
7.5. c thng tin v cc tin trnh
- Tt c cc thng tin m lnh ps tr v c ly trong th mc /proc
- Khi mt tin trnh mi c to th h thng s to mt th mc con bn trong th mc /proc
vi tn l s PID ca tin trnh v s t ng loi b th mc ny khi /proc khi tin trnh trn
kt thc:
/proc
1 tin trnh init
1062 tin trnh khc
1123
1234
. . .
-Trong tng th mc con s thy mt s tp tin ghi li trng thi ca tin trnh.
- C th xy dng mt Process Manager da trn thng tin ly t th mc /proc

Son tho TS L MNH (manhle@uit.edu.vn)


490
- Thc hin lnh sau s thy thng tin v tin trnh init chi tit

Son tho TS L MNH (manhle@uit.edu.vn)


491
Kt thc chng 7

Chn thnh cm n
Cc anh/
anh/ch tham d bi ging
ging..

B phn Multi-
Multi-media h tr chng
ti trong qu trnh thuyt ging
ging..

Son tho TS L MNH (manhle@uit.edu.vn)


492

You might also like