Professional Documents
Culture Documents
Nha PM On Quan Tri He Thong Linux
Nha PM On Quan Tri He Thong Linux
1/145
2/145
Li ni u
Cun Nhp mn Qun tr H thng Linux c vit vi mc ch lm gio trnh cho mt lp Linux
3 hoc 6 tn ch (45 hoc 90 gi) hc thc hnh trn phn mm my o VMware Workstation. Ni
dung cun sch gm 3 phn:
Phn 1 (phn ph): Gii thiu v lut bn quyn, phn mm t do/ngun m (FOSS), cc h iu
hnh *nix. Phn ny tuy khng lin quan n cc thao tc k thut v cc sch v qun tr h thng
cng khng cp nhiu nhng chng ti ngh rt nn a vo. c bit trong cc trng i hc
Vit Nam, (theo s quan st c nhn) vn bn quyn, ngun m cha c dy mt cch ng
mc do chng ti cho rng c hi tt nht b sung phn thiu st ny l lng n vo trong cc
lp/gio trnh v Linux.
(Phn ny ch nn ni trong bui u tin gii thiu mn hc.)
Phn 2 v 3 (phn chnh): Cc cu lnh qun tr Linux trn my n v trong mi trng mng. Cun
sch ch ni v cc cu lnh m khng cp n cc cng c c giao din ha bi: th nht, ngi
mi hc (vn ang dng Windows) nn tp lm quen vi vic g lnh; th hai, ci v giao din ha
nhiu khi khng khai thc ht c cc lnh m n gi n. Cc cu lnh trong sch c thc thi trn
Redhat/Fedora nhng hon ton c th chy bnh thng trn Debian, Ubuntu, OpenSuse (tr phn ci
t gi phn mm.)
Ti liu ny c dy trn VMware Workstation (nn cng c mt bi hng dn nh v mng o ca
phn mm ny.)
(Chng ti cng cho rng phn Shell script t ng ha cc thao tc qun tr l phn nng cao ch
dnh cho nhng ngi quen vi Linux nn khng cp n trong cun sch nhp mn ny.)
Do iu kin thi gian, chng ti cha vit c phn 3 cng nh cn thiu mt s im phn
1 v phn 2 nn rt mong bn c c th tham gia vit tip lp ghp thnh mt cun sch
hon chnh.
Trn Huy Thng (tranhuythang@gmail.com)
Bn c th trch ng li (mt phn hay ton b) ni dung cun sch vi ch thch v ni
download cun sch v thng bo tm ngi vit tip ny. Nu c nh thng mi xin nhn
trc vi tc gi.
Mc lc s lc
Bi 1. Khi nim FOSS v *nix _______________________________________________________ 9
Bi 2. B tc kin thc v HDD. Ci t Linux, FreeBSD (cha xong). _____________________ 29
Bi 3. Lm quen vi Linux command _________________________________________________ 31
Bi 4. Devices - Filesystems Mounting_______________________________________________ 52
Bi 5. Install softwares _____________________________________________________________ 65
Bi 6. Qun tr user. File permission _________________________________________________ 72
Bi 7. Advanced partitioning: RAID & LVM ___________________________________________ 87
Bi 8. Qun l process, daemon______________________________________________________ 99
Bi 9. Qu trnh khi ng (grub, kernel, init) v tt my ca Linux _______________________ 113
Bi 10. To mng o bng VMware Workstation _______________________________________ 126
Bi 11. B tc kin thc v TCP/IP__________________________________________________ 136
Bi 12. Configure card mng (cha xong) ____________________________________________ 142
Ti liu tham kho _______________________________________________________________ 145
3/145
Mc lc
Bi 1. Khi nim FOSS v *nix ............................................................................................................. 9
I. FOSS............................................................................................................................................................. 10
1. S hu tr tu ............................................................................................................................................................ 10
S hu tr tu (intelectual property)......................................................................................................................... 10
S hu cng (public domain) .................................................................................................................................. 10
i ngc vi s hu tr tu l s hu cng ....................................................................................................... 10
Khi s hu tr tu tr thnh s hu cng ............................................................................................................ 11
Copyright (bn quyn) ......................................................................................................................................... 11
Thng hiu (trademark) ......................................................................................................................................... 12
2. Phn loi phn mm theo quyn ca ngi s dng ................................................................................................ 13
EULA v cc quyn ca ngi s dng .................................................................................................................. 13
Proprietary softwares hay FOSS .............................................................................................................................. 13
Disclaimer of warranty (chi b bo m) .............................................................................................................. 14
3. Free/Open source softwares (FOSS) ........................................................................................................................ 14
a. nh ngha Free/Open source softwares .............................................................................................................. 14
Free software ...................................................................................................................................................... 14
Open source software.......................................................................................................................................... 15
Free softwares vs Open source ........................................................................................................................... 17
b. FOSS v chuyn min ph ................................................................................................................................ 17
FOSS th min ph ? ............................................................................................................................................ 17
FOSS thng mi ? ............................................................................................................................................. 18
c. Cc mu giy php FOSS .................................................................................................................................... 19
4. Cc giy php FOSS kiu public domain: BSD, MIT, Apache ................................................................................ 20
BSD (copycenter) .................................................................................................................................................... 20
MIT licence ............................................................................................................................................................. 21
Apache ..................................................................................................................................................................... 22
5. Cc giy php FOSS kiu weak copyleft: LGPL v Perl (cha vit) ....................................................................... 22
6. Giy php (strong) copyleft: GPL (cha xong) ........................................................................................................ 22
tng ca giy php GPL: ................................................................................................................................... 22
ngha ca giy php GPL:.................................................................................................................................... 23
p dng cc iu khon ca GPL ........................................................................................................................... 23
7. M hnh pht trin phn mm FOSS (cha vit) ...................................................................................................... 23
8. M hnh kinh doanh phn mm FOSS (cha vit) ................................................................................................... 23
9. Nhng quan nim sai lm thng thy v FOSS (cha vit) ................................................................................... 23
5. Vn multi OS .......................................................................................................................................... 30
4/145
5. su .................................................................................................................................................................. 36
6. Lm vic vi file v th mc trn *nix ..................................................................................................... 36
2. Filesystem .................................................................................................................................................... 55
a. Filesystem ca block device ..................................................................................................................................... 55
b. Format ...................................................................................................................................................................... 55
i) fdisk edit partition table .................................................................................................................................... 56
ii) mkfs (make filesystem)....................................................................................................................................... 56
3. Mounting ..................................................................................................................................................... 57
a. Lnh mount .............................................................................................................................................................. 57
b. file cu hnh /etc/fstab .............................................................................................................................................. 58
c. file cu hnh /etc/mtab .............................................................................................................................................. 59
5/145
Bi 5. Install softwares.......................................................................................................................... 65
I. RPM.............................................................................................................................................................. 65
I.1 Tn file package v tn software ............................................................................................................................. 65
I.2 RPM database v rpm tool. ..................................................................................................................................... 65
I.3 Install ...................................................................................................................................................................... 66
I.4 Query ...................................................................................................................................................................... 67
I.5 Upgrade ................................................................................................................................................................... 68
I.6 Erase........................................................................................................................................................................ 68
I.7 Verify ...................................................................................................................................................................... 68
3. Quota............................................................................................................................................................ 82
I.1 Tin trnh l chng trnh khi n ang c thc thi ............................................................................................. 99
Tin trnh cha, tin trnh con. S ID ca tin trnh. ............................................................................................... 100
Phn b CPU v u tin (s nice) ca tin trnh .............................................................................................. 100
Trng thi ca tin trnh ........................................................................................................................................ 100
Ch s hu ca tin trnh ...................................................................................................................................... 101
Cc signal m tin trnh bt ................................................................................................................................... 101
I.2 Cc thao tc vi tin trnh ..................................................................................................................................... 101
In ra trng thi cc tin trnh bng lnh ps ............................................................................................................ 101
Theo di cc tin trnh bng lnh top (hoc prstat, topas) ..................................................................................... 102
Tm kim mt tin trnh. ....................................................................................................................................... 104
iu chnh s nice ca tin trnh. .......................................................................................................................... 104
I.3 Signal v lnh kill, killall, pkill ............................................................................................................................ 104
Lnh kill ................................................................................................................................................................ 104
Lnh killall v pkill ............................................................................................................................................... 105
I.4 Cc tin trnh c tng tc. Ch background, foreground. .............................................................................. 105
7/145
8/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
Windows khng c bn quyn nhng xin tha Linux hay Windows hay phn ln cc phn mm (tr
public domain s ni sau) d ngun m, ngun ng, min ph hay tr ph u l phn mm c bn
quyn ! Ti tng thy c mt cch hiu sai nh sau: Linux v nhng th nh phn mm ngun m
th khng c bn quyn do c dng min ph cn Windows l phn mm c bn quyn nn
khng c sao chp lu cho nhau m phi mua (cch hiu sai) !!!.
Linux khng l UNIX. UNIX l mt thng hiu m Linux hay BSD tuy tng thch vi UNIX nhng
khng th c gi l UNIX.
Bn quyn hay thng hiu l 2 nhnh con ca lut s hu tr tu, do hiu cc kha cnh php l
ca Linux v UNIX chng ta s bt u bng khi nim s hu tr tu ri n phn mm t do/ngun
m v cui cng mi l ch *nix.
I. FOSS
1. S hu tr tu
S hu tr tu (intelectual property)
Trong i sng hng ngy ta quen vi khi nim s hu: nu ti c mt chic xe (hay ti l ch
s hu ca chic xe) th lut php qui nh ti c ton quyn vi chic xe: ti c th s dng, sa
cha, cho mn hoc nhng li v ngi khc khng c quyn g vi chic xe ca ti. Chic xe l ti
sn hu hnh, quyn s hu chic xe c lut php bo h; tng t nh vy vi nhng ti sn
khng hu hnh khc nh ca khc, phn mm, tiu thuyt th quyn s hu chng cng cn c lut
php bo h. Nhng ti sn khng hu hnh ny c 2 c im:
-
10/145
V d: ting Anh, nh lut c hc Newton l s hu cng. Ai cng c th s dng v pht trin ting
Anh cng nh kinh doanh sch vit v nh lut c hc Newton. Nhng vi mt cun tiu thuyt va
vit xong ca anh X th ch mnh anh X c quyn xut bn.
11/145
Tc quyn. Thut ng bn quyn (copyright) thng c cc quc gia theo h thng lut n l
kiu Anh-M dng, trong khi cc nc chu u tham gia cng c Berne li dng thut ng
tc quyn (hay quyn tc gi) (authors right). Tc quyn tp trung vo quyn li ca tc gi
(ngi sng tc ra tc phm) trong khi bn quyn tp trung vo quyn li kinh t ca ngi gi
bn quyn (c th khng phi l tc gi). S khc nhau gia 2 khi nim ny cn quyn nhn
thn (moral rights) nhng ti liu ny khng cp n.
Mt pht biu tha thng thy: Ti dng windows c bn quyn hay vn nn s dng
phn mm khng c bn quyn
Cc phn mm m mi ngi quen thuc nh Windows hay Linux, Office hay OpenOffice,
Bitdefender hay Bkav bn basic (min ph), hin nhin u l nhng phn mm c bn quyn,
khng phi l public domain. D ngi dng xi phn mm crack hay khng th nhng phn mm
ny lun c bn quyn; ch c iu nu dng crack th g l vi phm bn quyn, nu mua th l
s dng phn mm ng lut bn quyn.
Khng nn ni Ti ang dng windows c bn quyn v phn mm no m ch c bn quyn
(tr pulic domain). Thay vo hy ni Ti ang dng windows c mua quyn s dng. C
ngi ni Ti ang dng windows c mua bn quyn, cch ni ny tuy ngn gn hn nhng
cng khng chnh xc v theo cu ch (ch khng theo nh ca ngi ni) th Micosoft
nhng li bn quyn Windows cho ti ?!
Cng khng nn ni vn nn s dng phn mm khng c bn quyn. Phn mm m khng c
bn quyn th l phn mm public domain, ai cng c quyn dng, sa i, bn li, do chng
c vn g c. ca ngi ni l vn nn s dng phn mm vi phm bn quyn.
hoc SM vo sau tn thng hiu ca hng ha hoc dch v c dng trong thc t
nhng cha ng k. (vit tt: TM cho trademark, SM cho service mark)
TM
Vic ng k thng hiu cho mt sn phm ch m bo thng hiu khng b dng li ch khng
m bo c nhn/t chc khc sn xut sn phm tng t nhng vi thng hiu khc i.
V d: hng AT&T c lm ra mt h iu hnh v ng k thng hiu cho n l UNIX. C nhng t
chc hoc c nhn khc lm ra nhng h iu hnh c chc nng tng t nh UNIX nhng v thng
hiu UNIX c ng k nn khng th dng tn UNIX c na. Tuy nhin ngi ta vn mun
dng mt ci tn th hin s tng t vi UNIX nn dng tn UNIX-like hoc cn thn hn na
12/145
dng tn *nix ch nhng h iu hnh c chc nng tng t UNIX nhng khng phi do AT&T
lm.
Hoc kinh doanh cc quyn ny, ch hn nh bn quyn s dng thng qua vic t CD key
ln phn mm, ai mun s dng phn mm th phi mua CD key t ch s hu. Vic bn/mua
phn mm l bn/mua quyn s dng phn mm ch khng phi bn/mua cng sc lm
phn mm.
Hoc cho khng cc quyn ny cho ngi s dng do ch s hu mun mun chia s nim
am m lm phn mm vi ngi khc, mun phc v cng ng, mun ni ting, v.v
Danh sch cc quyn c cp v cc rng buc km theo c ghi trong hp ng gia ngi gi
bn quyn v ngi s dng, cn gi l giy php s dng, thut ng ting Anh l Licence
Agreement. Giy php ny c th dng giy hoc c hin th khi ngi dng bt u ci t phn
mm - dng ny c gi l End user Licence Agreement (EULA). Ngi dng phi bm accept
chp thun cc quyn v rng buc th mi tip tc ci c phn mm, iu ny tng ng vi
vic k vo bn hp ng giy.
EULA ca phn mm c quyn thng mi (ngi dng phi tr tin) thng ghi:
Ngi dng khng c sao chp phn mm thnh nhiu bn ci trn nhiu my. Nu
ngi dng mua phn mm vi s lng n my th ch ti a n my c ci t v
chy phn mm. (V d: nu ngi dng mua phn mm vi s lng 1 my m ci c
trn my tnh vn phng ln my tnh nh th ti mt thi im ch c th chy phn
mm hoc trn my nh hoc trn my vn phng m khng ng thi c hai
c). Ngi dng c th sao chp li phn mm thnh mt bn d phng ci t li
khi phn mm b hng.
Freeware (phn mm min ph): ngi dng khng phi tr tin mua quyn s dng,
quyn s dng c cho khng tuy nhin thng km theo gii hn for individual
/educational use (ch c c nhn (ch khng phi t chc) dng hoc dng vi mc
ch gio dc) hoc non-commercial/non-profit use (ch dng vi mc ch khng
sinh li).
13/145
Shareware (phn mm chia s): ngi dng c dng th min ph phn mm trong
thi gian ch hn 30 ngy. Ht thi gian dng th phn mm b kha li mun dng
tip phi mua quyn s dng qua vic mua s serial m kha cho phn mm chy.
Cng c khi ngi dng c quyn pht tn li phn mm shareware cho ngi khc
dng th.
Free/Open source software (FOSS) (phn mm T do/Ngun m): Ngi gi bn quyn cho php
ngi dng cc quyn ca mnh nh quyn s dng, sao chp, nghin cu, sa i phn mm.
m bo ngi s dng c th nghin cu, sa i phn mm th m ngun ca cc phn mm loi
ny phi c cng b. Ngi ta a ra khong 30 mu EULA cho phn mm loi ny trong ph
bin nht l GPL, BSD (s ni phn sau).
Free software
Richard Stallman a ra thut ng free software (phn
mm t do) vi tiu ch: mt phn mm l phn mm t do
nu ngi dng c 4 quyn t do c bn:
o T do chy chng trnh (0)
o T do nghin cu v sa i chng trnh (1)
o T do phn phi li bn sao ca chng trnh (2)
o T do ci tin v phn phi li ci tin ca chng
trnh (3)
T do (1), (3) i hi m ngun ca chng trnh
phi c cng b.
Trit l ca Richard Stallman y l t do (ch khng
phi min ph): ngi dng c thoi mi s dng, nghin
cu m ngun, sa i, phn phi li phn mm gc v phn
mm sa i m khng b rng buc phi hi xin hoc tr
tin mua nhng quyn ny t tc gi. ngi dng c 4
quyn t do trn th trong bn EULA ca phn mm, ngi
gi bn quyn phi tuyn b cho ngi dng nhng quyn
ny.
14/145
Ch free trong free softwares c ngha l t do (khng b rng buc) nh trong t do ngn lun
(free speech) ch khng c ngha min ph (gi tin bng 0) nh trong bia min ph (free beer).
Trn thc t mt ngi bt k (d ngi ni ting Anh bn x hay ngi nc ngoi) khi ln u gp
t free softwares th lun lun ngh rng free l min ph do v tnh nh ng free
software vi freeware (phn mm min ph). Cn hiu rng freeware (phn mm min ph) l mt
thut ng ch mt loi phn mm c th khc hon ton vi free software.
M ngun freeware thng khng c cng b trong khi m ngun ca free software
lun c cng b.
thc hnh trit l t do cho phn mm, nm 1983, Richard Stallman pht ng phong tro lm
phn mm t do (free software movement) bng cch ku gi mi ngi tham gia d n lm mt h
iu hnh GNU c chc nng tng t nh UNIX nhng vi iu khon t do thay th cho h
iu hnh UNIX c quyn by gi. ng cng thnh lp t chc Free Software Foundation qun l
d n v tuyn truyn trit l t do. D n sn sinh ra rt nhiu phn mm t do cho cng ng,
trong chnh Richard Stallman vit ra phn mm x l vn bn Emacs, v c bit trnh bin dch
GCC m tt c cc lp trnh vin phn mm t do sau ny dng. D n khng hon thnh nhng cc
phn mm vit cho GNU c th kt hp vi nhn Linux thnh mt h iu hnh hon chnh m sau
ny pht trin hn thnh ngnh cng nghip Linux. Nm 1990, Richard Stallman cng lm ra giy
php phn mm t do GPL m hu ht cc phn mm GNU, bn thn nhn Linux, cng nh v vn
phn mm sau ny dng.
Nm 1997 Eric S. Raymond xut bn cun sch The source softwares v cng l ng
lp OSI.
Cathedral and the Bazaar (nh th v ca hng tp ha) trong sng
nh ly t:
ch ra m hnh pht trin phn mm Open source mi hiu http://en.wikipedia.org/wiki/Eric_S._Raymond
qu. Chu nh hng t cun sch ny cng ty Netscape
cng b m ngun phn mm trnh duyt web Netscape ca mnh vi hi vng m hnh pht trin mi
s gip Netscape ginh thm c th phn trong chin vi IE ca Microsoft. S kin ny nh du
thi i mi ca phn mm ngun m khi cc cng ty bt u tham gia. Eric S. Raymond tr thnh
pht ngn vin ca phong tro ngun m.
15/145
Ni dung ca Open Source Definition (OSD): mt phn mm l open source softwares nu nh giy
php s dng (EULA) ca n tha mn 10 tiu ch - xem nguyn vn ti http://www.opensource.org,
di y l tm tt:
1. Free Redistribution (t do phn phi li): Giy php phi cho php ngi dng phn phi li
phn mm d vic phn phi ny thu ph hay min ph.
2. Source Code (m ngun): Phn mm ( dng binary form) phi km theo m ngun hoc m
ngun phi c cng b sao cho ngi dng c th d dng ly v v sa i c.
3. Derived Works (phn mm phi sinh): Giy php phi cho ngi dng quyn sa i phn mm
v phn phi li phn mm phi sinh.
4. Integrity of The Author's Source Code (tnh ton vn ca m ngun ca tc gi phn mm): Ngi
dng c php sa i m ngun v cng b li m ngun phi sinh nhng cn ch r ra y
khng phi l m ngun ca phn mm ban u khng nh hng ti danh ting ca tc gi
phng trng hp m ngun phi sinh c cht lng ti. phn bit th c th dng tn hoc
phin bn khc i so vi phn mm ban u.
5. No Discrimination Against Persons or Groups (khng phn bit i tng s dng): Giy php
khng c rng buc ngi s dng ch l c nhn hay ch l t chc hoc bt c mt nhm
ngi c th no.
6. No Discrimination Against Fields of Endeavor (khng phn bit lnh vc s dng): Giy php
khng c rng buc phn mm ch c dng trong lnh vc kinh doanh hoc ch c dng
trong nghin cu/gio dc hoc bt c mt lnh vc c th no.
7. Distribution of License (s phn phi giy php): Khi c nhn/t chc A nhn c phn mm t
tay c nhn/t chc X th tt c cc quyn trong giy php c t ng cp cho A; A khng cn
phi k thm mt giy php g vi X nu ch c cc quyn ny.
8. License Must Not Be Specific to a Product (giy php khng c nh hng vic s dng ti mt
ng cnh no c bit): Giy php ny khng c gii hn phn mm ch c s dng khi n i
km vi mt phn mm c th no.
9. License Must Not Restrict Other Software (giy php khng c t rng buc ln cc phn mm
khc): Giy php khng c t rng buc ln cc phn mm khc c phn phi cng vi
phn mm chng hn nh khng c yu cu cc phn mm i cng cng phi l phn mm
ngun m
10. License Must Be Technology-Neutral (giy php phi trung lp v mt cng ngh): giy php phi
cho phn mm c phn phi di bt k phng tin g nh CD, FTP
V vic d gy hiu nhm th ci tn open source cng chng kh
hn ci tn free software, tuy n trnh c v da l ch
free (min ph/t do ?) nhng n li gp v da l trc khi
OSI ra i, ngi ta quen dng ci tn open source ri. Khi
mt ngi dn nghe thy phng tin truyn thng nhc n open
source softwares (phn mm ngun m), h ch n gin ngh ngay
rng: open source softwares l phn mm c m ngun c
cng b (ai cng c th xem c m ngun) ch khng h bit
n nh ngha 10 iu khon ca t chc OSI. Cch suy ngh gin
n ny khng xt n vic khi cng b m ngun th ngi dng
m ngun c quyn g, ch hn liu c th ci tin m ngun
ri cng b li ci tin c khng ? Chnh v vic ci tn Open
source softwares vn l thut ng ring ca OSI b trng vo danh
t chung ca mi ngi nn cu u tin trong bn nh ngha 10 Bruce Peren, ngi vit ra
Open Source Definition (OSD)
tiu ch, OSI phi ni ngay l Open source doesn't just mean nh
ly t trang web c nhn ca Bruce
access to the source code. Tm li nh ngha Open source Peren: http://perens.com
softwares l khng tng ng vi phn mm c m ngun c
cng b. Khi ngi ta bn v phn mm ngun m l mun nhc n nh ngha 10 tiu ch kia ch
khng phi cch hiu thiu cht ch thng ngy.
16/145
Nhn chung ngi ta thng v free softwares l mc tiu cn open source l phng tin. Tuy
trit l 2 xu hng khc nhau nhng iu khon ca 2 nh ngha free softwares v open source
softwares l gn tng ng nhau; c OSI v Richard Stallman u cng nhn iu ny. Hu nh
mt EULA no c t chc Free Softwares Foundation chng nhn l tha mn free softwares th
cng c OSI xc nhn l tha mn Open Source Definition v ngc li th nn trong thc t vic
phn bit 2 nh ngha ny khng cn quan trng na. trnh mt s thin v no ngi ta a ra
ci tn Free and Open Source (FOSS hoc F/OSS) hoc Open Source and Free Softwares (OSS/FS)
thm ch Free/Libre/Open Source (FLOSS) ch nhng phn mm ca c 2 phong tro ny. Ci tn
Free and Open Source Softwares c dng rt ph bin hin nay.
Thut ng i ngc vi FOSS l proprietary softwares hoc closed source softwares.
FOSS thng mi ?
Nhng g c tnh thng mi (commercial) l nhng g c th kim li c t n. Commercial
softwares (phn mm thng mi) l phn mm m ngi ta c th ht bc nh n, v d nh
Windows, Photoshop, Norton Antivirus,
Cng ch ti hiu gin n FOSS th min ph m nhiu ngi cho rng khng th thng mi ha
FOSS c hoc cho rng FOSS l loi phn mm i ngc vi phn mm thng mi. Thc s
phn ln cc phn mm FOSS l phn mm thng mi ! Vng, phn ln ch khng phi mt vi.
18/145
V d cho vic kinh doanh FOSS chnh l vic phn phi li phn mm FOSS bng cch bn a CD
hoc cung cp ng truyn Internet download nh ni trn. y ch l mt hnh thc kinh
doanh n gin nht ca FOSS, cc hnh thc cao cp khc c th xem mc M hnh kinh doanh
vi FOSS.
Nhc li rng t tri ngha vi FOSS l proprietary softwares (phn mm c quyn), ch khng
phi l commercial softwares. C phn mm c quyn ln FOSS u c th l phn mm thng mi.
(63%) GPL licence (copyleft) gm strong GPL v Lesser GPL ca Free Sosftware Foundation
Thng k chi tit xem bng xp hng ca Black Duck Open Source Resource Center nm 2010
Rank
1
License
GNU General Public License (GPL)
%
63.07%
47.22%
8.98%
6.39%
0.48%
2.
8.96%
3.
6.23%
4.
MIT License
5.15%
5.
4.36%
6.
2.87%
7.
1.66%
8.
1.46%
0.25%
1.21%
9.
0.52%
10.
0.51%
11.
zlib/libpng License
0.41%
12.
0.39%
13.
0.33%
14.
0.29%
15.
Ruby License
0.23%
16.
0.23%
Bng xp hng th phn s dng cc EULA nm 2010 ca Black Duck Open Source Resource Center
19/145
Do Free software v Open source software l gn tng ng nhau nn cc giy php nu tha
mn nh ngha ny thng tha mn c nh ngha kia.
ii.
iii.
iv.
(*): yu cu ghi li rng buc ny trong giy php mt cch quy bt cc phn mm phi
sinh tip theo cng phi nu li ch thch bn quyn, disclaimer of warranties. Nu khng c yu
cu ny th xy ra tnh hung: phn mm gc A yu cu ghi ch thch bn quyn trong phn mm
phi sinh, phn mm phi sinh A1 ca A tun theo nn ghi ch thch bn quyn phn mm gc A
nhng khng bt phn mm phi sinh tip theo A2 ghi ch thch bn quyn. Lc phn mm
phi sinh A2 khng cn phi ghi ch thch bn quyn phn mm gc A na.
Trong nh ngha FOSS khng c qui nh cht ch v phn mm phi sinh. Cc giy php FOSS
khc nhau ch yu rng buc vi phn mm phi sinh (ngoi im chung l bt phi ghi ch
ngi gi bn quyn phn mm gc, disclaimer of warranties). C th chia lm cc giy php
FOSS lm 3 loi:
Kiu gn vi public domain: BSD, MIT, Apache rng buc vi phn mm phi
sinh l rt lng lo.
Copyleft: GPL - phmm phi sinh phi t di cng giy php phn mm gc,
khng c lin kt vi phn mm c quyn.
Weak copyleft: LGPL, Artistics Licence (Perl) - phmm phi sinh phi t di
cng giy php phn mm gc, c php lin kt vi phn mm c quyn.
BSD (copycenter)
Giy php ny do i hc Berkeley ln u a ra km theo h iu hnh BSD (Berkeley Software
Distribution). Ban u n gm 4 iu khon (v th cn gi l 4-clause BSD) trong c iu khon
v qung co vn gy ra s bt tin trong thc t nn b b i v ngy nay ngi ta thng dng
giy php BSD 3 iu khon (cn gi l BSD 2.0 hay 3 clause BSD) nh di y
Copyright (c) <year>, <copyright holder>
All rights reserved.
20/145
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
3. Neither the name of the <organization> nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Giy php BSD ch vi 2 iu khon (1), (2) c gi l giy php FreeBSD (hoc 2 clause BSD) n
c dng cho h iu hnh FreeBSD, NetBSD, OpenBSD, Darwin.
Hai iu khon (1), (2) ni r ngi dng c php s dng v phn phi li phn mm dng
source code v binary d cha hay sa i vi iu kin phi km theo: ghi ch bn quyn phn
mm, iu khon ny v chi b m bo (phn ch in hoa). Rng buc ghi li iu khon ny
nhm mt cch quy bt cc phn mm phi sinh sau ny lun ghi ch bn quyn phn mm gc v
chi b bo m.
iu khon (3), <organization> y l organization ca <copyright holder>, c th
coi <organization> = <copyright holder>. iu khon (3) yu cu khng c dng tn
ca tc gi phn mm gc qung co/xc nhn cht lng cho phn mm phi sinh khi tc gi phn
mm gc cha cho php. iu ny m bo danh ting ca tc gi phn mm gc khng b bi nh
khi phn mm phi sinh c cht lng ti.
Ngoi 3 iu khon trn, giy php BSD khng c rng buc g thm vi phn mm phi sinh nn
ngi s dng c th bin phn mm phi sinh thnh phn mm c quyn v bn li cho ngi khc
hoc s dng phn mm BSD nh mt thnh phn trong phn mm c quyn khc (min l c ghi
ch bn quyn phn mm BSD ban u). V d in hnh l mt s on m v networking ca h
iu hnh BSD (giy php BSD) c s dng trong mt s sn phm c quyn ca Microsoft, hoc
rt nhiu thnh phn ca h iu hnh FreeBSD c s dng trong h iu hnh MAC OS X.
Ngi dng khng b bt buc phi cng b li m ngun ca phn mm phi sinh.
Cc cng ty lm phn mm c quyn thng thch giy php ny.
Giy php BSD cn c gi l copycenter chi ch vi copyright, copyleft (GPL). T copycenter
ng bn c th em phn mm n mt trung tm sao chp to ra bao nhiu bn copy ty tuy
nhin hu nh mi phn giy php FOSS u c mc ch ny.
MIT licence
Giy php ny do i hc MIT ln u a ra km theo phn mm X Windows System, n cng cn
c gi l MIT X11. iu khon ca n tng ng vi giy php BSD 2 iu khon (1), (2)
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in the
Software without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
21/145
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Apache
Giy php ny do t chc Apache Software Foundation (ASF) a ra, cc phn mm ca ASF u
dng giy php ny, trong ng ch nht l phn mm web server Apache. Ngoi ra c n 25%
ca 100.000 d n t trn Google Code l ang s dng giy php Apache (theo mt blog ca
Google).
Giy php Apache ver 2.0 ang c dng hin nay rt di, ti 4 trang vi 1400 t trong khi BSD ch
c khong hn 200 t. Giy php Apache quy nh rt t m cc quyn c cp v khng c cp
nhng tu trung li n tng ng vi giy php BSD cng thm vi iu kin cho trng hp phn
mm c bng sng ch.
5. Cc giy php FOSS kiu weak copyleft: LGPL v Perl (cha vit)
6. Giy php (strong) copyleft: GPL (cha xong)
Khi c mt sng to th ch th sng to gi bn quyn ca sng to ; sa i mt phn mm to
ra phn mm phi sinh l mt sng to nn ngi to ra phn mm phi sinh s t ng gi bn quyn
ca phn mm phi sinh. Cc giy php kiu public domain (hay permissive free software license) nh
BSD, MIT X11, Apache, khng c rng buc cht ch vi phn mm phi sinh nn phn mm phi
sinh thng b bin thnh phn mm c quyn, tc gi phn mm phi sinh ngn khng cho ngi
dng tip tc nghin cu, pht trin phn mm phi sinh v thng bt ngi dng mua quyn s
dng. Richarch Stallman gp phi mt tnh hung tr tru: ng lm ra phn mm A v cho quyn
ngi khc pht trin tip thnh phn mm A1, mt ngy kia ng mun t mnh pht trin tip A1
thnh A2 nhng tc gi A1, vi t cch l ngi gi bn quyn A1, ngn khng cho ng quyn lm
iu ny. Chnh iu ny thi thc Richard Stallman lm ra giy php GPL m bo tc gi
phn mm phi sinh phi tip tc cp cho ngi dng cc quyn s dng, nghin cu, ci tin phn
mm phi sinh.
Phn mm phi sinh t phn mm GPL cng phi t di giy php GPL tc l phn mm
phi sinh cng l phn mm T do v nh vy ngi dng li tip tc c quyn s dng, phn
phi lai, nghin cu, sa i phn mm phi sinh. Ngoi ra phn mm phi sinh:
o Phi c ghi ch r rng:
ngi gi bn quyn phn mm gc ban u
nhng sa i so vi phn mm gc v ngy thng sa i, ngi sa i
22/145
p dng cc iu khon GPL vo chng trnh th thm dng ch thch sau vo chng trnh:
//ch r bn quyn thuc v ai
Copyright (C) yyyy name of author
//ch r cc iu kin c cho trong giy php GPL
This program is free software; you can redistribute it and/or modify it under the terms of
the GNU General Public License as published by the Free Software Foundation;
// chi b trch nhim v cc thit hi do phn mm gy ra
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY;
GPL l giy php ca ngi gi bn quyn cp php quyn cho ngi dng nn GPL c bo h
bi lut bn quyn. Nhng ngi khng c khi nim lut bn quyn c th ngh GPL c bo h
bi Free Software Foundation t chc a ra GPL. K thc t chc ny ch a ra mt ci mu
giy php khi ai cn th dng lun giy php ny.
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but
changing it is not allowed.
II. *nix
1. Gii thiu UNIX, BSD
Bc tranh ton cnh v UNIX-like OS ni ln 3 nhm chnh: BSD, UNIX, Linux
23/145
S ly t wiki: http://en.wikipedia.org/wiki/Operating_system
UNIX
BSD
Sau khi UNIX c AT&T thng mi ha, m BSD buc phi c vit li cho khc vi m
ngun UNIX ban u (trnh vn bn quyn UNIX)
BSD sau c pht trin thnh FreeBSD, OpenBSD, NetBSD theo hng ngun m, t
di giy php BSD. FreeBSD ngy nay c dng rt rng ri do tnh n nh ca n; Yahoo
v hotmail ci FreeBSD trn server ca mnh.
24/145
TCP/IP socket, long file name, symbolic link, csh, termcap, curses, vi,
nh ly t:
http://en.wikipedia.org/wiki/Bill_Joy
UNIX-like (hoc UNIX-based, hoc Un*x, hoc *nix): nhng h iu hnh ny hot ng gn
ging UNIX do n c pht trin da trn thit k ca UNIX (chun SUS (POSIX), ni di y)
tuy nhin m ngun ca n c vit c lp vi m ngun ca UNIX. Nhng h iu hnh in hnh
cho loi ny l: BSDs (FreeBSD, NetBSD, OpenBSD v Darwin), Minix, Linux v Cygwin. BSD,
Linux cng tha mn hoc gn tha mn chun SUS nhng ngi ta khng a n ra Open Group
chng nhn v ph chng nhn qu t, hn na nhng h iu hnh ny pht trin rt nhanh nn vic
duy tr chng ch li cng tn km.
Ch v UNIX l mt thng hiu nn khng nn ni Linux l UNIX. Ngay c ci tn Unix-like,
Un*x, Open Group cng khng tn thnh.
Kin trc phn tng Application Compiler OS hardware: khi lp trnh vin vit m Application thng gi
ti cc hm ca ngn ng lp trnh. Khi bin dch, cc hm ca ngn ng lp trnh c dch ra thnh cc lnh
(cc hm) ca h iu hnh; cui cng hardware s thao tc thc hin lnh ca h iu hnh.
Portability (tnh kh chuyn ca phn mm): mt chng trnh khi vit cho h iu hnh ny nu c th chy trn
h iu hnh khc th gi l portable (kh chuyn). Nu c chng trnh X chy c trn h iu hnh A th X
cng chy c trn h iu hnh B c th dng cc cch sau theo th t tnh kh chuyn gim dn:
Bin dch li X trn B: Khi A v B c API khc nhau th buc phi bin dch li chng trnh. V d: gi
s X ch l chng trnh hello world vit bng C dng hm printf(). Khi bin dch trn Windows,
Compiler s bin dch hm printf() thnh hm in ra mn hnh c trong API ca Windows. Bi hm in
ra mn hnh ca Linux khc vi ca Windows nn nu em binary form ca X t Windows sang Linux
th s khng chy c, bo li khng tm thy hm in ra mn hnh ca Windows trn Linux.
Khng chuyn c (b tay): Khi A v B c API khc nhau v trong m ngun ca X li gi n API
ca A th khng th em bin dch li X trn B c, s bo li khng tm thy cc hm cn gi.
25/145
nh ly t:
http://en.wikipedia.org/wiki/Linus_Torvalds
Trc kh lu, Richarch Stallman khi xng d n xy dng mt h iu hnh Unix-like theo
trit l t do ca ng vi tn gi GNU. D n xy dng c cc tin ch ca OS nhng vn cn
thiu nhn OS
Bi Linux l Unix-like v cc phn mm GNU vit cho Unixlike nn c th kt hp:
nhn Linux + tin ch GNU = OS hon chnh
5. Linux distribution
Ban u h iu hnh Linux ch l s kt hp gia nhn Linux v mt s t cc cng c t d n GNU.
c c h iu hnh tin li hn ngi ta add thm nhiu phn mm cng c vo. Bi phn mm
26/145
distrowatch.com xp hng mc ph bin ca cc Linux distro qua page views (s lt ngi truy
cp homepage), kt qu nm 2010:
1
2
3
4
5
6
7
8
Ubuntu
openSUSE
Mint
Fedora
PCLinuxOS
Debian
Mandriva
Dreamlinux
2325
1740
1458
1376
1147
1038
988
670
9
1
0
1
1
1
2
1
3
27/145
Sabayon
Damn Small
CentOS
Slackware
Puppy
650
618
585
531
530
1
4
1
5
1
6
1
7
MEPIS
FreeBSD (*)
Kubuntu
Arch
1
8
1
9
2
0
518
515
500
Gentoo
Zenwalk
KNOPPIX
443
389
369
465
Bng xp hng theo s ngi truy cp trang ch ca distro Linux trong mt ngy trong nm 2010 ca distrowatch.com
(*) Ch : FreeBSD khng phi l mt Linux distro, n dng nhn BSD, khng dng nhn Linux.
Trong bng xp hng ny, Redhat ng th 33 do n b phn tn bi Fedora v CentOS - hai Linux
distro ging vi Redhat.
28/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
5. Vn multi OS ......................................................................................................................................... 30
1. Hiu v HDD
1.a. Cu trc vt l ca HDD
a cng (hard disk drive) l mt ci hp st nh cha:
- cc platter (a) c tnh cht vt l in t, d liu c lu trn c 2 mt cc platter
- head (u c) thc hin vic c/ghi d liu trn mi mt platter
- mch iu khin u c hot ng
Mi mt platter li c chia thnh cc track (rnh) cc ng trn ng tm. Cc track xp chng
ln nhau thnh cylinder (hnh tr). Mi mt platter cng c th c chia thnh cc sector (hnh d
qut) bng nhau.
Mi track c chia thnh cc cung nh gi l block (nhng trn thc t vn thng c gi l
sector) c s o gc chn tm bng nhau. Nh vy block l giao ca cylinder v sector.
Trn hnh v cc cung block gn tm th nh hn cc cung block xa tm nhng do tnh cht vt l
m sc cha d liu ca cc block l nh nhau, cng l 512 byte.
Mi ln head c/ghi d liu n c ghi theo tng block 512 byte ch khng phi l theo tng bit !.
Nh vy block va l n v hnh hc nh nht m mt platter c th c chia ra, va l n v d
liu nh nht m HDD c th c/ghi mi ln.
Nh trn ni block l giao ca cylinder v sector nhng bi mt HDD cha nhiu platter mi
platter li gm 2 mt nn cn thm mt tham s na l head xc nh c chnh xc v tr ca mt
block. Nh vy v tr ca block c xc nh qua b 3 tham s (Cylinder, Head, Sector) c gi tt
l CHS.
Mt iu ng lu rng ngi ta thng dng t sector ch block v dng t block ch
mt cm sector, cch gi ny d gy nhm ln gia sector theo ngha block vi sector trong CHS
nhng n vn c s dng rng ri. Cc *nix OS vn s dng thut ng sector.
Mi tham s trong b CHS ca mt block c lu trn mt register trong BIOS. Kch thc ca
thanh ghi ny c hn nn cc tham s CHS cng c gii hn do s block v dung lng ca HDD
cng c hn. Trong nhng ngy u pht trin my tnh, ngi ta thit k cho BIOS c kh nng
nh a ch cho cc block ca HDD vi gii hn: 1024 cylinder/1 platter, 16 head/1 HDD, 63 sector/1
track Dung lng ca HDD b gii hn: 1024*16*63*512=132120576 byte = 504 MB !
Theo thi gian khi dung lng HDD pht trin ngi ta khc phc hn ch trn bng cch ci tin
cch nh a ch CHS thnh ECHS (enhanced CHS), LBA (logical block address). LBA l c ch
tru tng nh a ch block mt cch tuyn tnh tc l block u tin c LBA=0, block th hai c
LBA=1,
29/145
5. Vn multi OS
30/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
5. su .................................................................................................................................................................. 36
6. Lm vic vi file v th mc trn *nix ..................................................................................................... 36
1. ng nhp v tt my
Linux l h thng a ngi s dng nn khi khi ng bn phi cho bit nh danh ca mnh trn h
thng qua mn ng nhp.
- C th c 3 mn hnh ng nhp nh di y:
Giao din ha: Nu Linux c ci KDE, GNOME th bn c giao din ng nhp ha.
Mi distro s c mt mn ng nhp ring, ch hn nh hnh v di y ca Fedora:
31/145
Giao din dng lnh: Trn cc server, giao din ha thng khng c ci (hoc ci nhng
disable) tn ti nguyn (CPU, RAM), lc bn phi lm vic vi giao din dng lnh
virtual console.
ng nhp t xa: Ngi qun tr mng khng phi lc no cng phi n trc tip Linux server
iu khin m c th ng nhp t mt my (ch hn ci Windows) thng qua cng c (ch
hn nh) Putty.
- C 2 loi ngi s dng: root (cn gi l super user) v normal user (ngi s dng thng). Mt
h thng ch c ng mt ti khon root, ti khon ny c tt c cc quyn thao tc vi h thng, n
ch dnh cho ngi qun tr h thng. Vi ngi s dng thng, ngoi cc quyn thao tc vi chnh
ti liu ca h to ra th c rt t quyn vi h thng. ot root lun l mc ch ca cc Linux
hackers.
- Tt my l chuyn rt hn ch ca ngi qun tr server (th tng tng mt web server m tt i
th c bao nhiu ngi thy tht vng khi nh vo trang web ca server). Nu bn ch l ngi dng
Linux thng thng ch ci Linux trn laptop, hin nhin thng phi restart hoc shutdown; ch
dng lnh dng lnh sau:
user
Application
Shell
Kernel
2. Kernel, Shell
Kin trc phn tng ca mt my tnh c cho trn hnh v.
32/145
V tr ca Shell v Kernel
trong cu trc phn tng
h iu hnh
Kernel (nhn) ca h iu hnh lm nhim v trc tip qun l phn cng. Ngi s dng khng th
trc tip ra lnh cho kernel c v cc lnh ny lin quan n chi tit ca phn cng, v vng phc
tp. Thay vo ngi dng g cc lnh ca Shell (v) vn gn gi vi con ngi. Shell s thng dch
(interpret) cc lnh ca ngi dng thnh cc lnh iu khin kernel v n lt kernel chuyn cc
yu cu n n thnh cc thao tc iu khin phn cng.
Khi h thng khi ng, sau khi kernel c ti vo RAM th shell s c ti tip theo.
Shell ca DOS chnh l command.com lm nhim v dch cc lnh ca ngi s dng nh dir, md,
cd, ra thnh cc lnh my.
Khng c khi nim shell ca Windows nhng mt ngha tru tng no c th coi giao din
ha ca Windows tng ng vi shell ca DOS.
C nhiu loi shell cho Linux nh C shell (csh, tcsh), Bourne Shell (bsh), Korn Shell (ksh), Z Shell
(zsh) mi loi shell li c tp lnh ring (d kh ging nhau) v ngi dng ch c php g cc lnh
trong tp lnh . Ph bin nht hin nay l BASH shell dng trong RedHat, Suseshell v DASH shell
dng trong Ubuntu. Tp lnh ca hai loi shell ny hu ht l ging nhau.
Nu h thng Linux khng ci KDE, GNOM, mc nh bn s lm vic bng giao din dng
lnh virtual console. Linux c 6 virtual console, virtual console 1 c mc nh khi khi
ng. C th chuyn i qua li gia cc virtual console bng t hp phm ALT + Fn (n = 1,2,
6). Ngi dng c th chy mt chng trnh virtual console ny v khng cn i cho kt
thc chuyn sang virtual console khc thc hin mt lnh mi. iu ny to cm gic c
th chy nhiu chng trnh cng lc.
~]# _
ngha:
-
my tnh ci Linux m user ang login: localhost ch ngi dng khng login t xa, nu
login t xa s l tn/ip mt my tnh t xa no .
Ni thm v ngun gc ca t terminal: terminal nh y l mt chng trnh giao tip vi shell cn trong qu kh
n l mt thit b phn cng. thi trc khi c my tnh c nhn, ch c nhng h thng my tnh ln a ngi s dng.
Ngi s dng truy cp vo cc h thng ln ny thng qua mt thit b c tn l terminal ch gm c bn phm v mn
hnh, khng c b x l d liu. Theo thi gian khi my tnh c nhn ra i n thay th cc thit b ny.
i_s
Trong tham s iu chnh cch thc hin lnh cn i s thng l i tng b lnh tc ng
ln. Tham s, i s c th vng mt, trong c php ca lnh nu mt thnh phn no c th vng
mt th n c trong du ngoc vung [ ], nu buc phi c mt th trong du ngoc nhn <>
33/145
hoc khng. V d c php lnh man l man [section] tn_lnh th phn [section] c th vng mt,
cn tn_lnh th khng.
Trc tham s thng phi c du gch, i s th khng cn. Tham s c 2 dng:
Dng ngn bt u bng mt du gch ngang v d cp r Dir1 Dir2
Dng di bt u bng hai du gch ngang v d cp recursive Dir1 Dir2
Hai lnh trn l mt, cng copy Dir1 thnh Dir2 (trong th mc hin hnh). Thng tham s dng
ngn l vit tt ca dng di (r vit tt ca recursive).
C mt s tham s no rt nhiu lnh hay dng gn nh thnh qui c, chng hn:
v hoc verbose (ting Anh, verbose c ngha l di dng) dng hin th nhng
thng tin m t qu trnh thc hin lnh.
f hoc force thc hin lnh m khng cn tng tc vi ngi dng
vv..
Lnh trong Linux phn bit hoa thng nn tham s v s khc vi V.
C th vit nhiu lnh trn cng mt dng nhng phi c du chm phy (;) gia
V d: mkdir /mnt/USB; mount /dev/sdb1 /mnt/USB; cd /mnt/USB
C th ngt mt lnh thnh nhiu dng ( cho d theo di) bng cch thm du \ vo ch cn ngt v
enter.
userX]# exefile
userX]#
./exefile
[ OK ]
[root@localhost
userX]# /home/userX/exefile
[ OK ]
34/145
c. Dng mt lnh
Khi bn cho thc hin mt lnh m mun hy ngay lnh y trc khi n hon thnh bm CTRL +
C.
test th, bn cho chy lnh find / in ra mn hnh tt c file, th mc c trong h thng (s mt
mt khong thi gian y !) ri bm CTRL +C xem n c dng li hay khng.
c. Shell script
Shell script l mt plain text file cha dy cc lnh shell. Khi thc thi shell script th dy cc lnh
trong n c thc thi. Shell script tng t nh file batch ca DOS nhng mnh hn rt nhiu. Ngi
ta thng ly tn file shell script c ui l .sh nhng iu ny khng bt buc. Cng khng nn nhm
script l executable file.
C 3 cch thc thi mt shell script myscript
bash myscript
sh myscript
./myscript
Nhng trc ht phi m bo ngi gi file c quyn thc thi myscript. Nu l root c th nhanh
chng t quyn thc thi cho file bng lnh chmod +x myscript (xem thm bi qun tr file
permission)
d. Metacharacters
Mt lnh c th cha metacharacters (siu k t) l cc k t c bit <, |, >, &, !, v cc loi du
ngoc nh , , ` . y l nhng k t c ngha c bit i vi shell khi thc hin lnh. Cc
metacharacters thng (v nn lun l nh vy) khng c dng t tn. C rt nhiu
metacharacters, di y l mt s hay dng:
Wildcards (k t i din): * v ?
Du * i din cho mt s lng bt k k t. V d: ls /root/b* lit k tt c cc file bt u
bng 1 ch b
Du ? i din cho ng mt k t bt k. V d: ls /root/b? lit k tt c cc file c tn gm 2 k
t, k t u tin l b.
Ranges (min): [ ] v {}
Cp [ ] nh ngha mt min gi tr. Thm du ! trong cp ny ch nm ngoi min.
V d 1: ls a[3-7][bx][b-x] lit k tt c cc file c tn gm 4 k t, k t u l ch a, k t
th hai l 1 ch s trong khong t 3 n 7, k t th ba l k t b hoc x, k t cui l mt k t
trong khong b n x.
V d 2: ls [!Aa]* lit k tt c cc file c tn gm t nht mt k t, k t u khng phi l A
hoc a
Cp { } lit k cc gi tr c th nhn.
V d: ls index.{htm, html} lit k cc file c tn l index.htm hoc index.html.
Escape codes: k t \ (back slash). Khi mun dng mt metacharacter no m mun shell
khng hiu n l metacharacter th thm du \ ng trc. Nu mun dng chnh du \ th thnh \\.
V d: mkdir Van\ ban\\Cong\ van to mt th mc c tn l Van ban\Cong van. K t du
cch v \ c dng trong tn u l metacharacters
Quotes: c cc loi du ngoc l , , `` (back tick). Khi dng du ngoc , th tt c cc k t
trong du ngoc c hiu khng phi l metacharacters. Vn vi v d trn, c th ch cn:
mkdir Van ban\Cong van hoc mkdir Van ban\Cong van. S khc nhau gia ,
qu tinh t ti liu ny khng cp n.
35/145
e. Help
C v cng nhiu lnh, mi lnh li c rt nhiu tham s, gip ngi dng tra cu, Linux c mt
tp cc manual (hng dn s dng) v gn nh tt c cc lnh. Tp manual ny c chia lm 8
section (mc):
1 General commands
2 System calls
3 C library functions
4 Special files (usually devices, those found in /dev) and drivers
5 File formats and conventions
6 Games and screensavers
7 Miscellanea
8 System administration commands and daemons
tra cu mt ln no trong tp manual ny dng lnh man <tn_lnh>. Khi trang man hin
ra, ngi dng c th dng cc phm di chuyn, PgUp/Down xem, mun thot ra bm q.
gc trang man c con s trong ngoc cho bit section ca trang man . C nhng lnh thuc
nhiu hn 1 section v d lnh exit thuc 3 section l (1), (2), (3) nhng khi man ch ra mt section,
mun tra cu lnh trong cc section khc dng lnh man section <tn_lnh> V d man 2
exit hoc man 3 exit
Ngi ta dng lnh man trong trng hp bit tn lnh, qun tham s. Trong trng hp qun c tn
lnh, nu ch nh c vi ch ci u tin ca lnh hy g vi ch ci u ri bm phm Tab hai
ln hin th danh sch nhng lnh bt u bng cc ch ci . Khi khng nh c cc ch ci
u ca lnh th dng lnh apropos <mt cum tu nao > tra cu nhng lnh no c tn
hoc phn gii thch lin quan n <mt cm t no > (apropos ting anh c ngha l lin quan
n)
Lnh man, apropos trn u tra cu trong tp man ca Linux. Ngoi tp man ca Linux th bn thn
mi lnh cha thng tin gii thch v lnh ngn hn so vi man, mun xem ch vic g tn lnh v
thm tham s --help
f. History
ly li lnh va g trc dng phm hoc . lit k mt s lnh va g dng lnh
history
5. su
Nu l normal user th bn khng th thc thi cc lnh thao tc vi h thng c, bn c rt t quyn.
Khi ang ti khon normal user chuyn sang ti khon root (gi s bn c password ca root) m
khng phi log out ri li log in th ti du nhc shell g lnh su (substitute user thay i user) sau
g password. Cng c th chuyn nhanh sang mt ti khon bt k bng lnh su [-]
[username]. Mi ti khon c mt mi trng shell vi nhng cu hnh shell ring bit, dng du
trong lnh su m bo cc cu hnh shell cng c chuyn theo khi chuyn user.
Nu ci Windows, ngi dng s thy r 3 partition: partition C: (nhn OS) cha Windows,
partition D: (nhn Work) cha ti liu cng vic, v partition E: (nhn Entertainment)
cha phim, nh gii tr.
Hy cn thn vi du /
Du / va ch th mc gc (th mc cha cp cao nht ca tt c cc th mc) va dng ngn cch
cc th mc cha-con. Thut ng ting anh cho th mc gc l root v n khc vi thut ng th
mc root ch th mc /root (th mc cha d liu c nhn ca ngi dng root.)
37/145
Khi du / nm u mt ng dn th n ch th mc gc v ng dn bt u t th mc gc,
ngi ta gi l ng dn tuyt i. Khi ng dn khng cha du / u th ng dn bt
u t th mc hin hnh v c gi l ng dn tng i. Khi ng dn ch c mt du / th n
ch th mc gc.
V d: lnh mkdir /Report (to th mc Report trong th mc gc /) s khc vi lnh mkdir
Report (to th mc Report trong th mc hin hnh).
38/145
thm tham s -l (vit tt ca long) bit thm cc thng tin v ngy to lp, kch thc,
V file v th mc trong Linux u c th vit hoa v thng nn du hiu phn bit file v th mc
khi dng lnh ls l mu sc: th mc c mu tm, file c mu thng thng, mt s loi file c bit
khc nh link, device, (ni phn sau) c mu sc khc. Mt s loi file thng vi cc nh dng
c bit nh file tar, gzip hoc executable file cng c mu sc ring.
Di y l m t thng tin m lnh ls l a ra. Gi s g ls al /mydir
d rwxr-xr-x
(1)
(2)
2 root root
(3) (4)
(5)
(7)
(8)
To th mc mi
to th mc dng lnh mkdir <cac_thu_muc_can_tao> (mkdir l vit tt ca make
directory)
V d 1. mkdir Folder1 .Folder2 ./Folder3: lnh ny to ng thi 3 th mc c tn l
Folder1, .Folder2, Folder3 cng nm trong th mc hin hnh, trong .Folder2 (ch du .) ch
y l th mc n.
V d 2. mkdir p /Universe/Earth/Country/City: lnh ny to tt c cc th mc cha
tn ti trong ng dn c ch ra. lm c vic ny phi dng tham s -p.
To file mi
To mt file mi bng lnh cat > /ng/dn/tn_file, sau g ni dung file, cui cng
bm CTRL + D lu file. Nu tn_file c sn th lnh cat s ghi , nu mun ghi tip
vo cui file (append) th thay du > bng du >>.
V d 1. touch >> ~/my\ first\ file. Lnh ny s to mi file my first file (ch c 2
du cch trong tn) nm trong th mc home ca ngi g lnh nu file ny cha tn ti, hoc ghi
thm vo cui file ny nu n c sn.
to mt file rng dng lnh touch <cc_file_cn_to>
V d 2. touch /file1 ./file2 ../file3 lnh ny ng thi to 3 file rng l file1 nm
ngay di /, file2 nm trong th mc hin hnh, file3 nm th mc cha ca th mc hin hnh.
Copy file v th mc
copy file/th mc t <ngun> n <ch> dng lnh: cp <ngun> <ch>
40/145
Nu copy th mc khng rng phi thm tham s -r (hoc R hoc recursive) thnh cp r.
V d 1: chp ton b file v th mc con trong th mc hin hnh vo th mc /target ( c sn)
cp r * /target
V d 2: chp th mc /source vo th mc hin hnh (ch du chm cui)
cp r /source . (hoc dng gy kh hiu hn l cp r /source ./)
Xa file hoc th mc
Xa file hoc th mc rng: rm /ng/dn/file_hoc_th mc (ngoi lnh ny Linux
cng c lnh rmdir ging DOS xa th mc rng).
Nu th mc khng rng phi thm tham s -r (hoc --recursive). Tuy nhin ngi dng s
phi xc nhn vic xa tng file v th mc con, xa khng cn hi dng thm tham s -f (hoc -force). Tm li xa mt th mc mt cch nhanh nht dng lnh rm rf
<file,thumuc_can_xoa>
V d: rm rf * xa tt c nhng g c trong th mc hin thi
f. Link
Trong Linux c mt kiu file l link, l mt con tr tr ti mt file khc. C hai loi link l soft link v
hard link: khi nim softlink ging nh shortcut trong windows, hardlink ch l mt ci tn b danh
cho mt file c sn. Chi tit hn v link cn c kin thc v Ext2 filesytem m y khng cp
n, ch nu ra nhng c im d thy trong thc hnh:
Soft link
Hard link
Tr ti file hoc th mc
Ch tr ti file
C th nm bt c u
Ch nm trn cng partition vi file gc
Nu file, th mc gc b rename, move, delete Nu file, th mc gc b rename, move, delete th
th link s b hng
link khng b hng
Lnh ln to link c tham s -s (soft):
Lnh ln to link khng tham s:
ln s <tn_File> <tn_Link>
ln <tn_File> <tn_Link>
Khi ls-l, bn cnh tn cc softlink c du mi tn tr n file gc, thng tin v hardlink ca mt file
trng y nguyn vi file gc.
-rw---------lrwxrwxrwx
-rw----------
1
1
2
Oct
Oct
Oct
12
12
12
10:14 file
10:14 softlink file
10:14 hardlink
41/145
Khi dng cc lnh tar, gzip, bzip2, zip nh di y nu thnh cng s khng c thng bo g, do
nn thm tham s -v (- -verbose) hin th thm cc thng tin: danh sch cc file c (un)tar, t l
nn,
tar: gp/tch nhiu file, th mc thnh mt file .tar
file1
file2
file3
DIR1
DIR2
Tham s -c (khc vi -C) ngha l create, -x ngha l extract, t (hoc --list) ngha l list, f ch
ang lm vic vi file (th mc cng l file).
gp tar vi gzip/bzip2
Trn mt s *nix cn cho php thc hin c tar v gzip hoc bzip2 ch bng mt thao tc tar z hoc
tar j.
V d 1: gp 2 file file1, file2 thnh mt file ri nn li bng gzip hoc bzip2
tar zcf file.tar.gz file1 file2
hoc tar jcf file.tar.bz2 file1 file2
V d 2: tch ra cc file t file file.tar.bzip2 hoc file.tgz
tar jxf file.tar.bzip2
hoc tar zxf file.tgz
zip nn nhiu file, th mc thnh mt file .zip
nh dng file nn ph bin trn cc non-*nix OS l zip, *nix OS cng h tr loi file ny. Cng c
ca n l zip c chc nng va gp v nn file:
zip <tn file s zip thnh> <danh sch nhng file zip>
gii nn dng unzip <file.zip>
h. Tm kim file v th mc
tm kim file hoc th mc theo mt tiu ch (criteria) tm kim no s dng lnh
find
where-to-search
criteria
what-to-do
Cc criteria (tiu ch tm kim) c th l -name, -size, -user, -type, -perm, -mtime hoc -atime
What-to-do l cc lnh thc hin ln nhng file, th mc va tm c, thng bt u bng
execute, kt thc bng \;
V d 1: find . tm tt c (do khng c tiu ch no c k ra) file, th mc trong th mc hin
hnh (k hiu bng du chm). Lnh ny thc cht l lit k ng dn ca tt c cc file v th mc
trong th mc hin hnh.
V d 2: find /root ~Jackson name *doc? tm trong th mc /root/ v th mc
/home/Jackson/ nhng file v th mc c tn kt thc bng doc v mt k t bt k. Tn c cha
wildcard c t trong 2 du ngoc.
V d 3: find . ~ -size +100k type f tm trong th mc hin hnh v th mc d
liu ca ngi ng nhp cc regular file c kch thc hn 100K.
-
V d 4: find . user Jackson size -100M atime -60 tm trong th mc hin hnh
nhng file hoc th mc c ch s hu l Jackson, kch thc file nh hn 100M, c truy cp cch
y khng qu 60 ngy. Tham s atime l vit tt ca acess time, n v tnh l ngy. Tng t mtime
nh di y l modified time
V d 5: find /home/ /root/ -perm -220, -mtime 3 tm trong cc th mc ca
ngi s dng (root v normal user) cc file hoc th mc c quyn write vi ch s hu v nhm ca
ch s hu, c sa cha ng 3 ngy trc y.
Sau lnh tm kim thu c mt danh sch (c th rng) cc file v th mc. thc hin lnh ln
tng file, th mc trong danh sch ny dng |xargs. thc hin lnh ln c danh sch file, th mc
ny th sau lnh find thm excute, ri vit lnh, kt thc lnh bng \;. Danh sch file v th mc
tm thy c k hiu bng { } v trong v d 7 c dng lm tham s cho lnh rm.
V d 6: find / -user Jackson | xargs
l) ca tt c cc file, th mc ca user Jackson
rm
-rf
{} \; tm v xa tt c
/dev/ cha cc file device. Khi mt device c attach vo my th s sinh ra thm file mi th
mc ny.
/etc/ cha cc file cu hnh ca h thng, tt c u l plain text.
/proc/ cha cc virtual file, cc file ny cho bit trng thi hin hnh (ca cc process, device, )
ca h thng.
/var/ cha cc variable data files.
/bin/, /sbin/, /lib/ cha cc binary files
/bin/: cha cc lnh c bn cho mi user nh pwd, cat,
/sbin/: cha cc lnh ch ca root nh fdisk,
/lib/: th vin cc hm v kernel modules m /bin/ v /sbin/ thng gi n
/srv/ cha cc file cho cc service ca h thng
/tmp/ cc chng trnh khi chy thng lu cc temporay file vo y
/opt/ cha cc extra software package m trong lc ci Linux ngi dng nh du thm vo ngoi
default installation.
/usr/ cha cc chng trnh do ring ngi s dng ci vo, ging Program Files ca Windows
/home/, /root/ cha d liu ca ngi s dung. D liu ca root nm trong /root/. D liu ca
cc normal user nm trong /home/. Chng hn c mt account tn l student, d liu ca student s
nm trong /home/student. Ging Documents and Settings.
/mnt/, /media/ Hai th mc ny thng (nhng khng nht thit) c lm mount point cho cc
thit b. Nu l removable device nh CD, FDD thng c mount vo di /media/, cc device
khc (nh HDD) thng c mount vo di /mnt/
Tt c cc th mc trn khng phi lc no cng c t chung di partition /. Chng hn /boot/,
/opt/, /usr/ thng c t cc partition ring ri c mount vo /.
Trong Linux, trn mi partition cn thng c th mc lost+found lu nhng file hng c
pht hin trong qu trnh kim tra disk sau mi ln h thng gp s c.
(Trong mi th mc trn, li c nhng th mc con trong n, mun bit chi tit xem
ti http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/)
44/145
Ngi s dng Windows khi mi chuyn sang Linux lun phi gp mt iu rt kh chu l: trong
*nix th mc cng c coi l file. Ti c th a ra l do rng th mc c nhng c im ging vi
file:
- vi file c thao tc c ghi th vi th mc cng c thao tc c ghi.
- th mc cng c th coi l mt file c ni dung l danh sch cc file/th mc con ca n.
p bn tin rng th mc rt c nn coi nh mt file. Nhng bn vn thy khin cng ? Qu thc
ng gc ngi dng thng thng (khng thch lp trnh), s hi kh hiu ti sao th mc li
c coi l file trong khi r rng lnh to th mc (mkdir) v to file (touch, cat, ...) l khc nhau.
Thm ch cc thit b nh cng, my in, cc socket, pipe, ... trn *nix cng c coi l file. Ngi ta
thng ni "trong *nix mi th u l file".
C th thy mt iu l d file, my in, cng, modem, ... u c th coi l mt lung cc bytes c th
c/ghi. thun tin cho vic lp trnh, ngi ta thit k cc hm c/ghi chung nh read, write,
close, lseek cho mi loi lung d liu th nn khi bn vit chng trnh truy cp file trn a
cng th cng dng cc thao tc ht nh truy cp my in, hay truy cp ti nguyn mng.
V mt lch s, Unix chnh l h iu hnh u tin s dng cch thit k tru tng ha mi th
thnh file (lung d liu).
Ni n file th phi ni n ng dn. ng dn ca file thit b my in, cng, ... s c ni n
trong bi 4.
File trong Linux gm 7 kiu sau:
K hiu
Loi file
Regular file (file theo ngha thng)
d
Directory
Device file (hay special file): gm 2 loi
b
+ Block device
c
+ Character device
l
Link
45/145
s
p
Socket
Named pipe
Khi dng lnh ls l mi file s c mt dng m t, k hiu u tin ca dng ny cho bit k hiu
kiu file theo bng trn. Hy th vi ls l /dev/ s thy ton b cc file y c kiu b hoc c
trong khi d ls al / ch c kiu d hoc .
Mun c thng tin chi tit hn v kiu file dng lnh file <tn file> (file theo ngha rng).
V d hai file /root/.bash_profile v /bin/cat u l regular file (k hiu l khi dng
lnh ls l) nhng vi lnh file /root/.bash_profile v file /bin/cat s ch r mt
loi l ASCII text, mt loi l 32-bit excutable.
9. Redirection v xargs
a. Redirect stdin, stdout, stderr to file
Mt lnh khi khng c gi n n vn ch l mt executable file nm im lm trn HDD. Khi ngi
dng gi n n, BASH shell s a n vo RAM thc thi lc ny n tr thnh process (tin
trnh). ng thi shell cng kt ni process ny vi 3 file l /dev/stdin, /dev/stdout,
/dev/stderr (vit tt ca standard input, output, error). Mc nh:
-
stdin
rm myfile
stderr
stdout
Ngi s dng c th t iu chnh li vic gn stdin, stdout, stderr vo i tng khc, khng phi l
bn phm, mn hnh na. Vic iu chnh ny gi l redirection (iu hng). redirect, thm vo
lnh k hiu ca cc std ny (xem bng) v km thm a ch file cn gn vo. File y c hiu
theo ngha rng, c th l mt regular file trn HDD, mt process, mt socket no . y ta ch bn
n redirection n regular file.
File
/dev/stdin
/dev/stdout
/dev/stderr
ngha
File descriptor
Standard input
0< (hoc <)
Standard output 1> (hoc <)
2>
Standard error
46/145
V d 2: lnh ls l.
-
> /root/result.txt
o hoc
ls l
dng
y
1> /root/result.txt
2> /root/err.txt
tng
2>/root/err.txt
ng:
Nhu cu trn c gii quyt bng lnh xargs ch khng phi bng redirection:
cat place.txt xargs ls l . trnh nhm ln kiu ny xem thm xarg mc
8.
Nhn xt: rt nhiu lnh khng lm vic vi c 3 stdin, stderr, stdout, lc vic redirection s
khng c ngha g.
V d 3: lnh cat.
-
Lnh cat
< source_file
source_file target_file
Lnh cat ngoi vic hin th ni dung file c th redirect li c lnh to mi file:
>
target_file
tng ng vi cp
1> file
47/145
&>
y 2>&1 (hoc 1>&2) hoc &> c ngha l 2> (hoc 1>) c gn vo cng file ca 1> (hoc 2>)
tc l c 2 std cng gn vo mt file, nhng ti mt thi im ch c mt std c ghi vo file.
Ch tnh hung: 1> ghi vo file, sau n lt 2> ghi vo file v lm mt ni dung ca 1>, do
nn dng 1>>&2 (hoc 2>>&1).
Nu bn ngh rng ti sao khng dng lnh command 2> file 1> file phi ri mt
vi k hiu & ? Suy ngh ny hp l nhng cc shell khng chp nhn cch vit nh th ny.
Khi BASH shell thc thi mt lnh n phn tch lnh t tri sang phi, nn cn ch th t
redirection.
V d 6: Phn bit 4 lnh sau:
command 2>file 2>&1 // kt qu khng thay i g: &> mn hnh
command 2>&1 1>file // 2>mn hnh, 1>file
command 1>file 2>&1 // &>file
command 1>&2 2>file // 1>mn hnh, 2>file
Khi khng mun xut 1> v 2> ra u th hy xut vo /dev/null.
V d 7: ls l &> /dev/null th thng bo li v kt qu s khng hin ra trn mn hnh hay
u ht.
myfile
V d v pipe cho sort: Lit k cc file (theo ngha rng) trong th mc thnh tng nhm. ls l |
sort
48/145
head, tail: Hai lnh ny hin th 10 dng u/cui ca file, trong trng hp tng qut dng
head n x hoc tail n x <tn file> (x l s dng).
V d: head n 20 myfile
C th kt hp head vi tail hin th mt dng c th t bt k trong file. V d c file Table lu
bng d liu, dng u ghi tiu ca cc ct, t dng th 2 tr i mi ghi cc dng d liu. Hin th
dng d liu u tin ca bng: head n 2 Table | tail n 1
Ngoi kt hp vi grep, wc, less, rt mnh m; pipe c th kt hp vi lnh tee a
stdin ca mt lnh va ra stdout va vo mt file.
V d: ls l | tee list.txt lnh ny va lit k file, th mc ra mn hnh va ghi kt qu
vo file list.txt
c. xargs
V d v lnh xargs: Cn xa mt lot cc file, ng dn cc file ny c lu trong file list.txt, mi
dng mt file, dng lnh cat list.txt | xargs rm f
Lnh xargs: command1 | xargs command2 dng a stdout ca command1 thnh i
s ca command2. Nu stdout ca command1 gm n dng (n>1) th s c n lnh command2 c
thc hin m mi lnh c i s l mt dng ca stdout.
Ngi mi lm quen vi pipe thng ngh rng c th thc hin yu cu trn bng lnh:
cat list.txt | rm f
Nhng khng ng, v danh sch cc file cn xa l i s ca lnh rm, ch khng phi l stdin ca
lnh rm. Lnh rm ch m stdin khi cn ngi dng g y hoc n xc nhn vic xa file, stdin ca
lnh rm khng gn vi file cn xa. Cn thn nhm pipe vi |xargs.
Xu tha mn
Xu cha k t a
Xu bt u bng abc
Xu kt thc bng abc
Xu nm u dng
Xu nm cui dng
Xu cha k t nm trong min [range] v d t c n y
Xu cha k t [ hoc ]
Xu khng cha k t c
Xu cha a, ab, abb, abbb, abbbb,
Mt k t bt k
cat+
abx?
V d 1: grep ^host file.txt hin th nhng dng bt u bng host trong file.txt
V d 2: grep v ^$ file.txt hin th tt c cc dng tr dng trng trong file.txt. Tham s
-v vi ngha tr ra nhng dng tha mn regex.
Mt thi quen ca lp trnh vin l xu lun c trong du ngoc kp nhng nh bng trn cho
thy ch khi xu cha k t c bit nh l *, +, ?, |, . th mi phi dng du ngoc kp.
V d 3: tm xu Peter Thompson trong mt on text, ch cn g /Peter Thompson l , khng
cn phi g /Peter Thompson (du cch y vn c tnh l k t thng). Nhng tm cc
xu c dng Google hoc Gooogle, Goooogle, Gooooogle, Goooooogle, Gooooooogle, th phi g
/Goo*gle
51/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
2. Filesystem .................................................................................................................................................... 55
a. Filesystem ca block device ..................................................................................................................................... 55
b. Format ...................................................................................................................................................................... 55
i) fdisk edit partition table..................................................................................................................................... 56
ii) mkfs (make filesystem) ....................................................................................................................................... 56
3. Mounting ..................................................................................................................................................... 57
a. Lnh mount ............................................................................................................................................................... 57
b. file cu hnh /etc/fstab .............................................................................................................................................. 58
c. file cu hnh /etc/mtab .............................................................................................................................................. 59
1. Device
a. Peripheral device v Driver
Peripheral device
Tri tim ca my tnh l b vi x l v b nh, ngoi 2 b phn ny th tt c nhng b phn khc nh
bn phm, con chut, mn hnh, a cng c gi chung l peripheral device (thit b ngoi vi).
T peripheral (ngoi vi) c dng ch vic nm ngoi thnh phn chnh. Thng ngi ta ch
gi tt l device (thit b) v ti liu ny cng gi tt nh vy.
(Cng ni thm: b vi x l, b nh v cc thit b ngoi vi c ni vi nhau bng cc dy in rt
nh gi l bus, tt c c gn trn mt bng mch in t gi l mainboard. Nu tho v case ra v
quan st mainboard, bn s thy c rt nhiu ng k mu xanh (hoc vng) chnh l cc ng
bus).
Block device nh: HDD, CDROM, floppy disk, USB stick tc l cc thit b dung lu
tr d liu lu di (thng c gi l storage device). D liu trn cc device ny mi ln
c c ghi theo tng block (khi) byte chng hn 512 byte i vi FDD/HDD, ch khng
phi theo tng bit mt. Cc khi d liu trn cc device ny c nh a ch v c th truy
cp n mt a ch bt k.
52/145
Character device nh: mouse, modem, printer, D liu trn cc device ny c c/ghi
theo tng bit mt (ch khng phi tng khi byte). Cc device ny, ch hn nh mouse lm
nhim v chuyn thao tc di chut thnh d liu v v tr ca con tr trn mn hnh, lun c d
liu thay i lin tc theo thi gian v khng c lu tr sau ny dng li.
Ngoi ra Linux (cng nh cc h iu hnh khc) cn to thm cc pseudo device (device gi)
Driver
Driver l chng trnh iu khin device. Khi h iu hnh mun tng tc vi device n phi thng
qua driver. Cc driver ph bin thng c ci t sn trong nhn Linux, hoc c th c ci t
nh mt module tch ri v c ti cng vi nhn khi Linux khi ng.
Khi Linux khi ng s c mt chng trnh, nh vi Redhat l kudzu chy d tm cc device
mi c lp t. Khi kudzu tm thy mt device n s tm v ci driver ph hp vi device ny
trong th vin driver ca Linux /lib/modules/release/kernel/drivers/ (trong
release l s phin bn ca kernel).
Nu nhn vo th vin driver ny bn s thy rt nhiu tn tui quen thuc. Ch hn th vin driver
cho card mn hnh /lib/modules/release/kernel/drivers/video c cha cc tn
file/th mc nh aty, nvidia, l tn cc hng phn cng sn xut card mn hnh.
53/145
Character device:
-
Mouse: /dev/input/mice chung cho cc giao din hoc /dev/psaux cho giao
din PS/2
Keyboard: /dev/input
Parallel port, cng cn gi l line port (cc cng LPT1, LPT2): /dev/par_ hoc
/dev/lp_
54/145
H thng c 2 HDD l hda, hdb; HDD hda c 5 partition: hda1 l primary, hda2 l extended cha
hda5, hda6, hda7 l logical partition; HDD hdb c 2 primary partition l hdb1, hdb2
2. Filesystem
a. Filesystem ca block device
Mi mt block storage device nh partition trn HDD hay CDROM, FDD, USB stick u c mt cc
t chc d liu vic lu tr/truy xut hiu qu. Tn gi cc cch t chc d liu thng gp l
FAT32, NTFS, Ext2, Cch t chc d liu trn mt partition c gi l filesystem (cn vit l file
system) ca partition y, ngi ta thng hay ni Windows/Linux hay dng file system
FAT32/NTFS/Ext2.
Filesystem (cch t chc d liu) n gin nht l FAT (file allocation table). tng ca FAT ng
nh tn gi l dng mt bng cp pht file (file allocation table), nm na th ci partition FAT c
hnh dung nh sau:
Boot
FAT1
FAT2
D liu
sector
FAT1 l mt ci bng cha metainfo (thng tin m t) v file v th mc (tn, ng dn, ngy thng
to lp, thuc tnh) v a ch ca vng sector lu ni dung file. V FAT1 rt quan trng nn n c
back up li thnh FAT2. a ch ca mi sector l mt con s 12 bit (do FAT cn c gi l
FAT12). Cng v vy partition FAT ch c c ti a 212 sector tc l size ca partition FAT ti a l
212.512 byte = 2MB !!! Ch c FDD v cc h iu hnh c xa s dng FAT.
Vng d liu l vng lu ni dung file (d nhin cc metainfo ca file s khng c lu y na).
Khi cn truy xut mt file no , th tn file c tra trong bng FAT1, a ch ca file c ly ra
u c HDD tr n ly ni dung file.
File system FAT32, NTFS, Ext2 phc tp hn rt nhiu, khng th cp y c.
Ch : Windows khng h tr Ext2, 3; Redhat/Fedora c th cng khng h tr NTFS, nhng nhiu
Linux distro khc vn h tr.
b. Format
c th c/ghi file ln USB stick, FDD, HDD th cc device ny cn c format theo mt file
system no m h iu hnh c th hiu c. USB stick, FDD ch c mt partition, HDD c th c
nhiu partition nn vi HDD c th cn thm bc phn hoch partition trc khi format bng lnh
fdisk.
55/145
p hin th (print) thng tin v cc partition. Trong cc thng tin hin th, ng ch l
s blocks chnh l s KB m partition chim.
t change type partition (sau lnh ny bm phm L xem cc file system m fdisk h
tr)
d delete partition
56/145
3. Mounting
a. Lnh mount
Khi c mt storage device (HDD partition, CD, FD) v c format theo mt file system no
, c th c/ghi d liu ln device ny cn mount (gn) device ny vo mt th mc no
(th mc ny c gi l mount point) trn cy th mc khng l / ca Linux (xem mc 7 bi 1). Khi
, ni dung ca th mc mount point b n i (khng access c) v c thay th bng ni dung
ca device. Vic c/ghi d liu ln device ny c thc hin thng qua vic c/ghi d liu ln th
mc mount point.
Ch c block device (storage device) mi mount c, cn character device (mouse, printer, monitor
) th khng c khi nim mount. Vic truy xut cc character device ny hon ton theo mt cch
khc.
Lnh mount
mount
[- t
fs_type]
[- o
option]
<device>
<mount_point>
-L
Music
57/145
vv..
o ro,exec /dev/sdb
/mnt/USB
o Lnh mount (khng c tham s) cho bit cc device ang c mount. Xem thm mc
/etc/mtab di y.
remount
remount tc l mount vi thuc tnh ny ri nhng li mun mount li vi thuc tnh khc th
vn dng lnh mount nh thng vi thm tham s -o remount
V d: vi /dev/sdb c mount nh trn tc l read only v c quyn run executabe file, gi
mun read write v cm run executable file trn thit b ny th dng lnh:
mount o remount, rw, noexec
/dev/sdb
ext2 defaults
1 1
/dev/hdb1
/home
ext2 defaults
1 2
/dev/cdrom /media/cdrom
auto ro,noauto,user,exec 0 0
/dev/fd0
Proc
/proc
proc defaults
0 0
/dev/hdb1
/mnt/HDB1
auto defaults
0 3
/dev/hda1
swap
swap pri=42
0 0
58/145
Khi khng ch r nhng option trn th mc nh chn nhng option c gch chn. Option
defaults hay c s dng
e. Dump disk: nu trng ny khc 0 th khi khi ng Linux, device ngoi vic c mount c
th c back up (dump). Nu khng c yu cu c bit v backup th trng ny l 0.
f. Check order: Khi khi ng, cc device c check m bo khng li trc khi c
mount. Th t check cc partition c quyt nh bi trng ny. V d file /etc/fstab
trn, partition / c check u tin (check order = 1), partition /boot c check th hai
(check order = 2), partition /dev/hbd1 c check th ba (check order = 3). Cc partition c
check order = 0 th khng c check ( mt thi gian !). Sau khi check xong, cc partition
mi c mount. Cng ch thm partition / lun c check u tin cho d ngi dng c
tnh t check order khc 1 v th tt nht l check order ca partition / l 1, cc partition khc
t 2 tr i.
Cc device c cp n trong /etc/fstab khng phi lc no cng c mount t ng khi
khi ng Linux nu nh c option noauto. in hnh l CD, FD l 2 device c option noauto nn
ngi dng mun dng phi t mount. Option pamconsole m bo normal user s hu CD, FD c
th mount c.
File /etc/fstab ngoi chc nng gip mount t ng n cn lm n gin vic g lnh mount mt
device. Thng thng mount mt device no phi dng lnh mount vi 2 i s:
mount <device> <mount_point>
nhng nu thng tin v <device> hoc <mount_point> c cho trong /etc/fstab th khng cn vit
lnh mount y . V d: nu c file /etc/fstab nh trn th khi mount FD ch cn g lnh:
mount /media/floppy
hoc: mount /dev/fd0
thay v: mount /dev/fd0 /media/floppy
File /etc/fstab lun c sn dng cho CD, FD v mount point thng nm trong /media/. Khi
ngi dng cm thm USB stick th cng t ng c lun mt dng v USB stick trong
/etc/fstab; dng ny s b xa i khi ngi dng rt USB stick ra. Tuy nhin khi ngi dng gn
thm HDD th khng c dng no v cc partition trn HDD va gn c thm vo /etc/fstab.
Root phi t lm th cng.
59/145
5. dd v loop device
a. Lnh dd
Lnh dd dng copy d liu mc thp (tc l copy tng bit mt). N c d liu t mt file v ghi
ra thnh mt file theo mt nh dng no ; file y theo ngha rng, thng l device file, khng
nht thit phi l file thng thng.
V d 1: chp 512 byte u tin ca a cng /dev/hdb thnh file backup (lnh ny c ngha: sao lu
li MBR (sector u tin) ca a cng)
dd if=/dev/hdb of=backup bs=512 count=1
Cc tham s ca lnh dd khng theo kiu option value m li theo kiu option=value. Cc
tham s quan trng gm:
if, of. if (input file) l file c d liu vo v of (output file) l file m d liu c ghi ra.
Nu khng ch r if v of th mc nh dd s ly cc k t t /dev/stdin tc l t bn phm ca
virtual console v ghi d liu ra /dev/stdout tc l ra mn hnh ca virtual console
bs, ibs, obs. D liu c c vo/ghi ra thnh tng khi (block) mt, bs (block size) l kch
thc ca khi, mc nh l 512 byte. V d bs=5 hoc bs=5MB tc l 5 byte hoc 5MB. Nu
mun ch r ra kch thc ca khi d liu lc c vo th dng ibs (input block size) hoc lc
ghi ra th dng obs (output block size).
count: s khi d liu c c vo v ghi ra. Nu tham s ny vng mt, lnh dd s hiu l
c ht ton b if v ghi ton b d liu c c ra of.
skip, seek. Nu c tham s skip=n (seek=n) th n block u tin ca input (output file) s c
b qua.
60/145
b. loop device
Loop device l c ch cho php mt file c cha filesystem (in hnh l cc file image nh *.iso,
*.img) c th c mount nh th n l mt storage device.
Ch loop device ch khng phi loopback device
V d 1: Mount mt file nh a CD
Gi s c file cd.iso l nh ca a CD (xem v d 3 mc 5.a dd trn y bit cch to.)
Cch nhanh nht mount file cd.iso ny vo th mc /mnt l dng lnh mount vi tham s -o
loop
mount o loop cd.iso /mnt
Sau lnh ny ni dung th mc /mnt l ni dung file cd.iso cng tc l ni dung a CD X.
ng thi /mnt cng ch c th truy cp readonly (tnh cht ca CD), thm ch d bn c tnh
mount vi tham s -o rw.
Cch mount di y di hn nhng n gip ta hiu k hn v qu trnh ny.
Linux to ra mt s device gi (pseduo device) vi device file tng ng l /dev/loop0,
/dev/loop1 (vi Solaris th l /dev/lofi/_, vi cc dn xut BSD th l /dev/vnd_)
nhm gip cho vic mount file d dng. Thc s qu trnh mount file din ra qua 2 cng on:
i. File c cha filesystem (file cd.iso) c lin hip vi mt /dev/loop_ no
losetup /dev/loop0 cd.iso
nu /dev/loop0 c lin kt vi file khc th lnh trn s khng thnh cng.
ii. /dev/loop0 c mount vo mt th mc
mount /dev/loop0 /mnt
Khi umount file cd.iso khi th mc /mnt cn lm ngc li 2 cng on trn:
i. umount /dev/loop0 bng lnh: umount /mnt hoc umount /dev/loop0
ii. gii phng lin kt /dev/loop_ vi file cd.iso: losetup d /dev/loop0
Hai cng on ny cng c th lm ch bng mt lnh: umount /cd.iso
V d 1: to ra mt bn sao ca mt partition s dng
Khi partition gp s c, mt d liu, thng ngi ta khng lm vic trc tip vi partition m lm
vic vi bn sao ca partition.
61/145
ext2online: tnh n thi im ny ch resize ext3 partition ch khng lm vic c vi ext2 ci tn ext2online t khng ng. Nu resize ext2 partition s gp li Inappropriate ioctl for
device. ext2online ch c th tng ch khng gim c size nhng c th resize mt online
partition (partition ang c mount)
gim kch thc ca mt partition, thc hin theo th t ngc li: (2), (1)
11. Th c tnh ghi file/th mc ln partition va mount readonly. Sau thc hin remount bng
cch dng tham s -o remount.
12. Sa file /etc/fstab t ng mount partition vfat (ch read write), EXT2part, EXT3part (ch
read only) mi khi Linux khi ng. Ch dng LABEL trong fstab cho EXT2part, EXT3part.
t check order l EXT3, vfat, EXT2.
13. Restart my v kim tra vic t ng mount xem c thnh cng hay khng bng lnh mount
(khng c tham s) hoc cat /etc/mtab
64/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
Bi 5. Install softwares
Bi 5. Install softwares .......................................................................................................................... 65
I. RPM ............................................................................................................................................................. 65
I.1 Tn file package v tn software ............................................................................................................................ 65
I.2 RPM database v rpm tool. ..................................................................................................................................... 65
I.3 Install ...................................................................................................................................................................... 66
I.4 Query ...................................................................................................................................................................... 67
I.5 Upgrade .................................................................................................................................................................. 68
I.6 Erase ....................................................................................................................................................................... 68
I.7 Verify...................................................................................................................................................................... 68
Source package (nu software l open source): Ngi dng t bin dch source code v t
ci t.
Binary package: cc package ny c bin dch sn, ngi dng ch vic thc thi lun file
ci t.
Cc phn mm hin nay khi c cung cp dng binary ch yu c ng gi theo khun dng
RPM ca hng Redhat, hoc khun dng DEB ca hng Debian. iu ny cng tng t nh cc phn
mm c ng gi thnh b ci t c ui l .msi (microsoft installer) trong windows.
Redhat/Debian cng a ra trnh qun l vic ci t/g b cc gi RPM/DEB gi l Redhat Package
Manager (rpm)/Debian Package Manager (dpkg) ging nh trnh Add/Remove Program trong
Windows/Control panel. Cc bn Linux nh Redhat, Fedora, Suse, Centos dng rpm, trong khi
Debian, Ubuntu dng dpkg.
I. RPM
I.1 Tn file package v tn software
Theo chun RPM, mt phn mm c ng gi thnh mt file package c tn c t theo qui
cch: name version patch.architecture.rpm
V d: ethereal-0.8.9-1.i386.rpm;
chess-0.1-1-noarch.rpm;
Name, version, patch l tn, version, s hiu bn v li ca phn mm. Cn phn bit tn phn mm v
tn file package. Tn phn mm thng c cha trong tn package. Ngi dng c th d dng i
tn file pakage nhng khng th i tn phn mm c.
Mi phn mm c vit theo mt kin trc phn cng ring. Architecture gm nhng kiu: i386,
i686 (tng thch vi Intel x86), x86_64 (AMD), ppc (PowerPC), s390 (IBM mainframe), noarch
(phn mm khng ph thuc vo nn)
Khi phn mm c cho dng source code ngi dng t build theo architecture ca ring mnh
th tn file package l name version patch.src.rpm
rpm tool: cng c cho ngi dng ci t/g b cc gi rpm v truy vn RPM database. Ngi
dng g lnh rpm tham s trong tham s ch ra loi thao tc:
o i (--install)
o u (--upgrade)
o e (--erase)
o q (--query)
o v (--verify)
I.3 Install
ci t gi dng rpm i ng_dn_package. Thng ngi ta thng dng thm tham s -v
(hoc verbose) hin th thng tin v gi ci, tham s -h (hoc --hash) hin th bng phn trm
(th hin bng du hash #) qu trnh ci t. Tm li ngi ta thng dng:
rpm ivh ng_dn_package
Cc gi phn mm ny ly u
Trn Internet (v d trang rpmfind.net) hoc chnh bn thn a DVD ci t Linux cng l mt kho
cha rpm khng l. Chng hn a DVD Redhat cha kho rpm trong th mc Redhat/RPMs/ Trn
Internet cng c rt nhiu kho phn mm rpm, deb
V d 2: rpm ivh /media/cdrom/Redhat/RPMS/joe-3.1-6-i386.rpm
Khc vi trong windows, khi ci t mt chng trnh ngi dng thng phi tr li cc cu hi v
ni t phn mm, thnh phn cn ci t, ; vi h thng RPM ngi dng khng phi lm g. Vic
t phn mm vo v tr no, a thng tin v phn mm vo RPM database, c thc hin t
ng.
Vic ci t mt package s tht bi khi xy ra mt trong ba iu sau:
-
Package xxx is already installed: Package cn ci c ci t ri. Gii quyt bng cch:
khng ci na hoc ci ln th thm tham s --replacepkgs hoc --force
Conflicting file: Package ang ci cn ghi mt file vo mt ni c file khc trng tn ri.
Gii quyt bng cch khng ci na hoc ghi ln file c sn bng cch thm tham s -replacefiles.
httpd-suexec-2.0.52.9.ent.i386.rpm
Gii quyt bng cch ci ng thi c 4 gi:
rpm ivh httpd-2.0.52-9.ent.i386.rpm apr-0.9.4-24.1.i386.rpm
util-0.9.4-17.i386.rpm httpd-suexec-2.0.52.9.ent.i386.rpm
apr-
T ng tm gi ph thuc
Nhiu khi cc gi ph thuc nhau thnh dy rt di khin ngi dng rt mt mi. Nu ngi dng ci
t gi phn mm t chnh a DVD Redhat th vic tm cc gi ph thuc c gii quyt rt d dng
nh cng c rpmdb-redhat. Cng c ny l mt c s d liu v cc gi c trong a DVD Redhat v
s ph thuc gia cc gi . Khi ngi dng ci mt gi no trn a DVD Redhat, cc gi ph
thuc cn ci c t ng tnh ra v c t ng ci. Cch lm nh sau:
-
Bc 1: ci gi rpmdb-redhat
I.4 Query
tra thng tin v mt phn mm ci (c trong RPM database) dng tham s -q hoc --query:
rpm q tn_phn_mm
Thng ngi ta thm tham s:
o -i (hoc --info) c y thng tin v phn mm: ngy ci t, hng sn xut, m t chc
nng, tn, phin bn,
o l (hoc --list) lit k cc file, th mc c to ra khi ci t phn mm, thng chng
nm trong /usr/
Ch y dng tn phn mm ch khng phi tn file package.
V d: rpm qi mdadm hoc rpm qi mdadm-1.6.0-2 ch khng phi rpm qi mdadm1.6.0-2-i386.rpm
Cc lnh tra cu trn i hi phi bit chnh xc tn phn mm cn tra cu. Trong trng hp ch
nh c mt phn tn ca phn mm th c th:
-
rpm q vi cc tham s -i, -l nh trn nhng thm tham s -p <tn file package> (-p hoc
--package)
V d: rpm qpi /media/cdrom/Redhat/RPMS/mdadm-1.6.0-2-i386.rpm
Khi mun bit cc gi cn c trc khi ci mt gi hoc cc gi m mt gi c th cung cp dng
tham s --requires hoc --provides
V d: rpm qp --requires /media/cdrom/Redhat/RPMS/mdadm-1.6.0-2i386.rpm
I.5 Upgrade
nng cp mt gi no : rpm U tn_file_package (ch U ch khng phi u). C
th thm tham s -vh ging lnh ci t.
Thao tc trn s: xa package c version c i v ci package c version mi hn.
Nu package c cha c sn th thao tc trn tr thnh ci mi.
Nu package mi c version c hn hoc bng package c th thao tc nng cp khng c thc hin.
c tnh thc hin thao tc phi thm tham s --oldpackage.
I.6 Erase
Khi mun xa (erase) mt gi no ci dng tham s -e hoc --erase: rpm e tn_phn_mm
(ch tn phn mm ch khng phi tn file package). Nu c package no ph thuc vo package
cn xa, rpm s khng xa na.
hin th thng tin v qu trnh xa c th dng tham s -vv (2 ch v), nhng nhng thng tin ny
cng ch c ch cho lp trnh vin, khng d hiu cho ngi dng thng.
I.7 Verify
Nhiu khi cn xc thc tnh ton vn ca mt gi phn mm no (chng hn sau khi my tnh b
nhim virus nghi ng mt s gi b hng, th mc /usr b ngi l can thip ) dng lnh:
rpm V tn_phn_mm
kim tra tnh ton vn ca tt c cc gi c ci trong my: rpm Va
kim tra tnh ton vn ca mt file package bt k (c th cha c ci), thm tham s -p (-package):
rpm Vp tn_file_package
Khi mt gi phn mm c ci t vo trong my, c s d liu
K hiu Kiu file (theo RPM)
RPM lu thng tin v tng file ca gi phn mm . C 8 trng
c
configuration file
thng tin cho mi file: file size, file permission, m md5 c tnh
d
document file
ra t ni dung file, major/minor number (nu file l device file),
g
ghost file
i tng c tr n bi file (nu file l symbolic link), ch s
l
license file
hu file, nhm ch s hu file, quyn truy cp file. RPM cng lu
r
readme file
thng tin v kiu file (kiu file y khng phi l kiu file ca
Linux m l kiu file trong gi phn
K hiu Trng thng tin
mm): file cu hnh, file ti liu
S
file size
hng dn, file o (xut hin sau khi
M
file permission
ci package, khng nm trong
5
m MD5 c tnh t ni dung file
package nguyn thy), file cha
D
major/minor number ca fiel (nu file l device file)
thng tin bn quyn, file readme.
L
i tng c tr n (nu file l symbolic link)
Khi verify file, 8 trng thng tin ca
U
user (ch s hu) ca file
file s c so snh vi thng tin lu
G
group (nhm ch s hu) ca file
trong RPM database. Nu khp s
T
thi im (time) cui cng sa i file
hin th du chm, khng khp s
68/145
hin th k hiu ca trng thng tin , nu khng kim tra c s hin th du ?. Kiu file nu c
cng s c hin th k t th 9.
V d: rpm Va
missing
/etc/opt/gnome/gconf/su
S.5....T c /etc/openldap/slapd.conf
.....UG. c /var/lib/ldap/DB_CONFIG
.M?....T
/usr/X11R6/lib/X11/fonts/misc/fonts.dir
Theo kt qu ny th:
-
/etc/opt/gnome/gconf/su b xa mt
Chun b compiler
Trc khi bin dch chng trnh, d nhin ngi dng phi c mt compiler (trnh bin dch).
Compiler C/C++ ph bin nht ca cc Unix-like OS l GCC (GNU Compiler Collection). Nu khng
c GCC th khi g lnh make di y c th bn s nhn c thng bo checking for gcc no.
Compiler gcc cng thng i hi mt s chng trnh khc km theo nh bison, ci c GCC
bn phi ci c nhng thnh phn ny.
Khi bin dch, compiler cn bit h iu hnh ang s dng l g, ch cc th vin m chng trnh
gi n, ni m chng trnh c ci t ra. cho tin, lp trnh vin thng ghi tt c cc tham s
69/145
ny vo trong file cu hnh Makefile; vic bin dch s c tin hnh t ng theo file Makefile v
lp trnh vin khng phi m tay vo.
V h thng ca ngi s dng m ngun khc vi ca lp trnh vin nn ngi s dng phi t tay
sa file Makefile cho ph hp nhng cng vic ny rt phc tp, i hi phi am hiu v lp trnh.
May thay, cc lp trnh vin cng thng vit lun mt shell script c tn l configure t ng sinh ra
file Makefile ph hp vi h thng ca ngi s dng. Ngi dng ch vic c file readme xem
cc ch v ty chn ca script configure ri thc hin lnh: ./configure. Sau bc ny ngi
dng c file Makefile
Bin dch
Makefile mi ch l file cu hnh cho vic bin dch, cng vic bin dch cha c thc hin. bin
dch m ngun theo file cu hnh Makefile dng lnh make
Bc 3: Ci t make install
Sau khi bin dch, ngi dng ci t chng trnh bng lnh: make install
Sau khi ci t, file chy ca chng trnh thng t trong /usr/
Trong qu trnh ci t, nhiu file ph tr cho vic ci t cng c sinh ra, mun xa chng dng
lnh make clean
Khi mun g b chng trnh ra, nu file Makefile lc bin dch chng trnh vn cn gi, ch vic
dng lnh: make uninstall
Tm li 4 bc ci t mt chng trnh:
(1) gunzip, tar -xf file package (2) ./configure (3) make (4) make install
----------------Th t trnh by trn lp---------------------I.
V phn mm v Trnh qun l phn mm
a. 3 loi gi phn mm: .rpm, .deb, .tar.gz
b. Phn mm c lu trong /usr/
c. 2 loi trnh qun l thng dng nht: RPM, DPKG
II.
Mount CD
a a CD cha phn mm vo v mount
III.
Ci gi nethack http://www.nethack.org/v343/downloads.html bng rpm
1. Kim tra xem ci nethack cha
2. Ci gi nethack bng rpm
3. Kim tra xem gi c trong c s d liu RPM cha ?
Tn phn mm ny l g nethack hay nethack3.43
4. Chy nethack (Xc nh xem file chng trnh nethack l file g) rpm ql nethack
5. G nethack ra
6. Kim tra xem n b g cha
y l bc chun b ci li nethack bng source code sau ny
Copy ton b a CD vo mt th mc no
IV.
Luyn tp ci:
a. Trn a CD hin c gi othello, ci n
b. B a CD trn ra ri cho a ci RedHat vo, mount, cd vo th mc RPMS ca a
ci Redhat, ci gi mc. Ni vi nt v mc
V.
Ci gi b ph thuc:
1. Ci gi emacs trn DVD redhat, ph thuc nn ci ng thi 3 gi
2. G gi emacs ra bng lnh rpm e emacs ? Ti sao li khng c
3. Tm cch g gi emacs ra (hint: tn gi emacs l emacs-common)
4. Ci li emacs vi tham s --aid
5. Ci t gi ttquake thy s ph thuc l rt mt thi gian.
6. Ci gi kde, gii thiu v kde
VI.
Ci t source code: gi hello.tar.gz
1. Quy trnh ci t: 3 bc gii nn, bin dch, ci t
2. Vn khi chy configure thiu gcc
70/145
71/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
3. Quota............................................................................................................................................................ 82
Linux cng nh Windows l h thng a ngi dng nn phi c c ch qun l ngi dng v v
quyn truy cp ti nguyn h thng ca cc ngi dng. y l mt trong nhng nhim v quan trng
nht ca ngi qun tr h thng.
1. Qun tr user
1.1 Users
To/xa user
Mun s dng h thng, ngi dng phi c account ng nhp h thng. Ch c root mi c quyn
cp account (trong ti liu ny c lc chng ti dng account, c lc li user, ngi dng nhng
u l mt); ring account root c to ra lc ci t Linux.
To mt user mi: useradd <tn_user> (hoc adduser <tn_user>)
Sau khi to account, cn t password cho account, nu khng khng th ng nhp h thng bng
account c. t password cho user: passwd <tn_user>
Xa mt user: userdel [-r] <tn_user> (tham s -r dng xa lun th mc home ca
user)
/home th mc d liu c nhn ca user
Khi mt user c to ra th c mt th mc mang tn user c to ra trong /home lu tr cc file
d liu c nhn ca user; ring th mc d liu c nhn ca root l /root. Thng thng ngi dng
ch c quyn to mi, c, sa, chy cc file, th mc trong th mc home ca mnh m khng c
php vi th mc home ca ngi khc cng nh vi nhiu th mc ca h thng. V d ng nhp
bng mt normal account ri g lnh ls /root hoc lnh mkdir /myfolder bn s nhn c
thng bo khng quyn thc hin lnh ny. Ring root, n c mi quyn vi mi file, th mc
ca h thng.
/etc/passwd
72/145
password: nu ngi dng khng t password th trng ny l hai du chm than (!!); nu
ngi dng t password th trng ny l mt dy k t m ha ca password (d nhin xu
password s khng c l ra m phi qua m ha). bo mt, password ca cc user (d
c m ha) thng khng c ghi trong file /etc/passwd m c ghi trong file
/etc/shadow, file ny ch mnh root mi c quyn c. Khi file /etc/shadow c s dng
th trng passwd trong file /etc/passwd ch l mt ch x. bt tt ch s dng shadow
password dng lnh: pwconv (vit tt ca password convert) hoc pwunconv. Cu trc file
/etc/shadow s c ni phn di.
UserID (UID): mi user c mt s hiu duy nht gi l UID. Nhn Linux qun l user theo
UID ch khng theo tn user, tn ch dnh cho con ngi. Cc account cp cho ngi dng c
UID 500, account root c UID l 0. Cc account c bit dng qun tr h thng (ch
khng phi cp cho ngi dng) c UID nh hn 500.
GroupID (GID): ngay khi user c khi to, mt group gi l primary group (thng cng
tn, s hiu vi user) c khi to theo v user c gn vo group ny. Trng GroupID lu
s hiu ca primary group. User cng c th thuc v nhiu group khc, gi l cc secondary
group, nhng danh sch tt c cc group m user thuc v khng c lu trng GID ny
m c lu ring ra trong file /etc/group.
Comment (cn gi l gecos): cc thng tin m t thm v user chng hn email ca user
Shell: shell ca user, trong Redhat thng l /bin/bash, Ubuntu thng l /bin/dash
Mi user lan, thanh c th thuc v nhiu group nhng file /etc/passwd ch hin th primary
group. Mun xem cc secondary group m user thuc v xem file /etc/group.
y password ca user lan, thanh c lu trong file /etc/shadow nn file
/etc/passwd c cha ch x trng password.
/etc/shadow
File /etc/shadow (ch c root mi c quyn xem ni dung) lu password ca cc user; mi mt
user l mt dng gm 9 trng, mi trng cch nhau bi du hai chm:
- username
- password dng c m ha
73/145
1.2 Group
thun tin cho vic qun l hng lot cc user, ngi ta to ra cc group (nhm) l tp hp cc
user c cng quyn hn i vi mt s file/th mc no . Ch cn mt ln thit lp quyn vi file,
th mc cho group th tt c cc user ca group cng c thit lp quyn ny theo, rt tin li. Thm
na Linux cho php truy cp cc thit b phn cng my tnh qua file nn c th dng c ch qun l
quyn truy cp file qun l quyn truy cp phn cng ca h thng.
To/xa/lit k group
To mt group mi (ch root mi c quyn): groupadd <tn_group>
Thm/xa user vo mt group: gpasswd [-a|d|A] <user_name> <group_name>
-a l add user vo group;
-d l delete user khi group;
-A l t mt user lm Admininstrator ca group. Mt group c th khng c administrator.
Mt group c th khng c user, nhng mt user lun phi thuc v mt group no . Ngay khi mt
user c to ra n c gn lun vo mt group no gi l primary group. Vi Redhat, Fedora khi
user c to ra th mt group cng c to ra cha duy nht user ny, group ny c s hiu GID
bng s hiu UID ca user va to. Vi Debian, Suse ngay khi mt user c to ra n c add lun
vo mt group c GID = 100. Sau primary group, user cng c th c add vo cc group khc gi l
secondary group.
Mt user c th tham gia nhiu group, lnh groups [tn_user] lit k cc group m user tham
gia. Nu khng c i s tn_user th mc nh user ang login l i s.
74/145
Group cng c th c password nhng t gp. Bnh thng ch c root mi c quyn joint mt user vo
mt group no nhng khi group c t password th normal user cng c quyn join group
bng lnh gpasswd a nu n bit password. t password cho mt group: gpasswd
<tn_group>; g password: gpasswd r <tn_group>
/etc/group
Danh sch cc group c lu trong file /etc/group. Trong file ny, mi group l mt dng gm 4
trng, cc trng ngn cch nhau bi du hai chm:
-
Group password: Khi mt group c t password, n cho php cc user ngoi group join
vo group. Khi password c thit lp n thng khng c lu trong chnh file /etc/group
m c lu vo mt file khc l /etc/gshadow, iu ny ging nh vic password ca
user thng c lu trong /etc/shadow thay v /etc/passwd.
Group ID: mi mt group c mt s hiu duy nht gi l GID. Linux qun l group theo s
GID ny.
Group members: danh sch cc member ca group, cc member cch nhau bi du phy
group name
group password c m ha
administrator ca group
75/145
- nu grub b t pass v c a ci Linux v Linux rescue xa pass ca root trong file /etc/passwd
hoc /etc/shadow ty theo vic pass c t u.
- linux rescue; chroot /mnt/sysimage
- file /etc/shadow hoc /etc/passwd c th khng c quyn w cho ugo, t li quyn ny:
chmod +w /etc/passwd hoc chmod +w /etc/shadow
- xa pass (xu c m ha) v lu li file
2. File permission
Vi mi file Linux, ngi dng c th c 3 quyn c bn l quyn read (c ni dung), write (sa ni
dung), excute (thc thi). File y c hiu theo ngha rng c th l th mc hoc file c bit nh
device, socket tc l file cc ti nguyn ca h thng. C ch qun l vic truy cp ti nguyn h
thng ca ngi dng cng l da vo vic qun l quyn truy cp file.
Vi mi file, ngi dng c xp vo mt trong 3 loi i tng:
-
- rwxrw-r-(1)
(2)
1 Hung Sale
(3) (4)
(5)
(6)
(7)
(8)
r w
o (u): user Hung (ch s hu) c quyn rwx tc l c quyn read, write, execute
o (g): nhng user thuc nhm Sale (nhm ch s hu) c quyn rw- tc l c quyn read, write;
khng c quyn execute
o (o): nhng user cn li c quyn r--, tc l c quyn read; khng c quyn write, execute
(cc trng khc l (8): tn file ang xt, (1): kiu file, du - nu l file thng, d nu l th mc,
(6): kch thc file tnh bng byte, (7): ngy gi to lp file, (3): s lin kt cng ti file)
Khi mt user bt k thc hin lnh X (c/ghi/chy) myfile th Linux s xt xem user c quyn lm
vic hay khng trnh t:
-
(1) Linux xt xem user c phi l ch s hu myfile Hung hay khng. Nu user khng phi l
Hung th sang bc (2). Nu phi th xt tip vi nhng quyn Hung c cp, Hung c th
thc hin lnh X vi myfile hay khng. Nu c quyn th thc hin, nu khng th dng li v
bo permission denied.
(2) Linux xt xem user c thuc v nhm ch s hu Sale hay khng. Nu user khng thuc
nhm Sale th sang bc (3). Nu user thuc nhm Sale th xt tip vi nhng quyn m nhm
76/145
Sale c cp, user c th thc hin lnh X vi myfile hay khng. Nu c quyn th thc hin,
nu khng th dng v bo permission denied.
-
(3) Linux xt xem vi nhng quyn m nhm Other c cp, user c th thc hin lnh X vi
myfile hay khng. Nu c quyn th thc hin, nu khng th dng v bo permission
denied.
Ch s hu, nhm ch s hu mc nh
Khi user to ra mt file th mc nh ch s hu ca file chnh l user, nhm ch s hu ca file l
primary group ca user. Nhc li rng primary group thng l group c t ng sinh ra ngay khi
user c to ra v n c tn trng vi tn user.
Trong mt phin ng nhp h thng, bn c th ch nh mt nhm khc thay cho primary group lm
nhm ch s hu ca tt c cc file, th mc mnh to ra bng lnh newgrp <tn_group>
Khi user X copy file/th mc A thnh file/th mc B th ch s hu ca B l user X, nhm ch s hu
ca B l primary group ca user X bt k ch s hu, nhm ch s hu ca A l g. Thm na: tp 9
quyn cho 3 nhm u, g, o ca A cng c sao chp sang cho B.
77/145
Read: quyn c ni dung file. y y l iu kin cn c th sao chp mt file. ( sao chp file
A ( u ) thnh file B v tr P th ngoi quyn c file A cn cn quyn to file B v tr P)
Wrtie: quyn sa i ni dung file. S th no nu ch c quyn ghi m khng c quyn c mt file ?
Gi s c file vn bn document.txt, nu c quyn c v quyn ghi file ny th ngi dng c th
dng trnh son tho vn bn vi, emacs, hin th ton b ni dung file v tm nhng ch
khng va sa cha. Nu ch c quyn ghi file m khng c quyn c th ngi dng khng th
dng trnh son tho sa cha file nhng ngi dng c th dng lnh cat >>document.txt
ghi thm vo cui file hoc cat >document.txt ghi ln ton b ni dung ca file.
Execute: quyn thc thi file. C hai loi file c th thc thi c l: (1) file cha cc lnh my m
CPU c th thc thi lun c (nhng con ngi th khng hiu c), nhng file kiu ny gi l
executable file (2) file text cha cc lnh cn thc hin nhng file kiu ny c gi l shell script
nhng nhng lnh trong script thc cht l nhng executable file nn cui cng li qui v (1). Nu file
khng thuc 2 kiu trn th c quyn thc thi file cng khng c ngha g. Gi s bn c file shell
script X, s th no nu ch c quyn thc thi file m khng c quyn c v ghi file ny ? n gin l
bn c th thc thi cc lnh cha trong file ny nhng khng th m file xem cc lnh l g v cng
khng th thm bt, sa cha cc lnh trong file ny.
Ch : vic xa, i tn mt file khng c quyt nh bi quyn ghi vi file m bi quyn ghi
vi th mc cha file .
Quyn r, w, x vi th mc.
Read: quyn c mt th mc l quyn lit k cc file, th mc con ca mt th mc. C quyn ny
th mi dng lnh ls cho th mc c.
Write: quyn ghi mt th mc l quyn to mi, xa, i tn file v th mc con ca th mc. C th
xy ra trng hp: c quyn ghi mt file tc l sa cha ni dung ca file nhng li khng c quyn
i tn, xa file nu nh khng c quyn ghi vi th mc cha file . (Cng c khi bn ch c th i
tn hoc xa mt file do c quyn excute vi th mc cha, nhng li khng th c hoc sa cha
ni dung file do khng c 2 quyn ny vi chnh file ). Quyn xa, i tn mt th mc li thuc
v quyn ghi ca th mc cha ca th mc.
Execute: quyn thc thi mt th mc l quyn i vo th mc, chng hn bng lnh cd. C th xy
ra trng hp: c quyn thc thi nhng li khng c quyn c mt th mc. Khi c th cd mt
th mc nhng li khng th bit c trong th mc c nhng g m cd vo su hn.
Khi th mc khng c quyn excute th khng th truy cp ni dung cc file trong th mc . V d:
gi s user U1 c file FileOfU1 t trong /home/U1 mun chia s vi cc user khc nn t quyn
r, w cho file. Tuy nhin bn thn th mc /home/U1 khi c to ra b mc nh l khng c quyn
excute nn cc user khc khng th c, ghi file /home/U1/FileOfU1 c. (User U1 cng khng
c php t li quyn cho /home/U1, ch c root mi c quyn lm vic ny.)
Cc th mc ngoi / nh l /boot, /bin, /etc, /usr, /var u c quyn r-x (ch read, excute m khng
write) vi i tng group v other nn tt c cc normal user ch c th ls v cd vo cc th mc ny,
ngoi ra khng th to mi, xa, i tn file, th mc con ca cc th mc ny.
Bn c th sc vi cu hi sau: user U c th sao chp file /Folder/FileX (file FileX nm trong
th mc /Folder) thnh file /AnotherFolder/FileX_copy (file FileX_copy nm trong th mc
/AnotherFolder) th chnh xc user U cn c quyn g ? Sau khi copy c th ch s hu, nhm ch
s hu, tp quyn truy cp file FileX_copy l g ? (p n: Cn quyn execute vi th mc /Folder,
read vi file FileX, write vi th mc /AnotherFolder; thc s user U khng cn quyn execute vi
/AnotherFolder. Ch s hu ca FileX_copy l user X, nhm ch s hu ca FileX_copy l primary
group ca user X, tp quyn ca FileX s c sao chp sang cho FileX_copy.)
Thay i quyn r w x bng lnh chmod
Ch s hu v root c quyn thay i quyn truy cp i vi c 3 loi i tng: ch s hu (user),
nhm ch s hu (group), nhng user khc khng thuc 2 loi trn (others).
Lnh chmod (vit tt ca change mode) dng thay i quyn truy cp cho file/th mc:
78/145
Thao tc
Quyn truy cp
u: ch s hu (user)
+: thm quyn mi
-:
khng
c
g: nhm ch s hu (group)
-: bt quyn c
quyn
o: nhng user khng cng nhm ch s hu
=: t chnh xc
r: read
+
+
quyn
w: write
(others)
a: tt c cc ngi s dng (a = ugo)
x: excute
s: GID, UID
t: sticky bit
V d:
chmod u+r,o+s myfile
chmod uo=rx,g=- myfile
chmod a=rwx myfile ( chmod ugo=rwx myfile)
chmod +x myfile ( chmod u+x,g+x,o+x myfile)
Ch : chmod u+r,o+x myfile v chmod u=r,o=x myfile l hai lnh khc nhau
- Cch 2: Biu din quyn bng ch s octal. Dng 3 ch s biu din quyn ca 3 loi i tng u,
g, o. Gi tr mi ch s octal biu din mt quyn theo bng sau:
Ch s
0
1
2
4
Quyn
Ch s
khng c quyn
3 (=1+2)
5 (=1+4)
Read
Write
6 (=2+4)
Execute
7 (=1+2+4)
Quyn
read, write
read, execute
write, execute
read, write, execute
V d:
chmod 567 myfile ( chmod u=rx,g=wx,o=rwx myfile)
chmod 640 myfile ( chmod u=wx,g=x,o=- myfile)
Ngoi 3 ch s cho quyn r, w, x cn c th c thm ch s cho SUID, SGID, Sticky bit ng u nh
trong lnh chmod 1640 myfile
2010 /usr/bin/write
Lnh t SUID cho mt file: chmod u+s myfile (hoc dng tt chmod +s myfile)
Lnh t SGID cho mt file: chmod g+s myfile
V d: File /usr/bin/passwd l file in hnh c Set UID. File kh thi /usr/bin/passwd dng t li
password cho user do user no cng cn c quyn thc thi fie ny. File /usr/bin/passwd cn c/ghi
cc tn ngi dng, password ca cc account vo file cu hnh /etc/passwd nhng bo mt ch c
root mi c quyn c/ghi file /etc/passwd. Nu cc ngi dng thng thng chy file
/usr/bin/passwd th khng th truy cp c file /etc/passwd. Gii php y l t file
/usr/bin/passwd c ch s hu root v thit lp SUID user thng thng bt k khi thc thi file ny
u c quyn nh th root ang thc thi v do c th truy cp file /etc/passwd c.
root@local ~]# ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 26968 Jan 28 2010 /usr/bin/passwd
root AccountDepart
80/145
SharedDir
Gi s h thng c user Lan, Thanh, Ba cng lm vic phng k ton, root t c 3 user ny thuc
v nhm AccountDepart. Ba ngi cn mt th mc dng chung l SharedDir c th upload file
cng vic ca mnh vo cho ngi cng phng xem nhng nhng ngi khc phng th khng truy
cp c. Mun vy trc ht root cn t cho ShareDir c nhm ch s hu l AccountDepart v
phn quyn nh trn.
Vn ny sinh khi Lan to mt file cng vic X trong th mc ShareDir v c kh nng rt cao l
Thanh, Ba khng th truy cp c file X. L do l khi Lan to file X, theo mc nh file c nhm
ch s hu l primary group ca Lan tc l group c tn cng l Lan. Vic Thanh, Ba c truy cp
c vo file X khng lc ny c quyt nh bi Thanh, Ba c thuc v group Lan hay khng ch
khng phi c thuc v AccountDepart hay khng. gii quyt bt tin ny hoc mi ln to file,
Lan phi t li nhm ch s hu ca file thnh AccountDepart (bng lnh chgrp); hoc n gin
hn l root ch vic set GID cho th mc ShareDir. Khi mi file, th mc con m Lan, Thanh, Ba
to ra trong ShareDir u c nhm ch s hu l AccountDepart. Mi ngi trong phng k ton
(thuc group AccountDepart) s c quyn vi mt file no ca phng khc hn vi nhng ngi
khng thuc phng k ton.
Mt th mc khi c set GID, v tr xut hin ch x th hai trong tp quyn ca n s c ch s
V d lnh ls l cho th mc ShareDir trn sau khi c set GID
drwxrws--- 2 root AccountDepart 1674 Apr 15 08:05
ShareDir
Sticky bit
Khi nhiu ngi cng c quyn write vi mt th mc tc l c quyn to mi, xa, i tn file, th
mc con ca th mc th xy ra vn : mt file c to trong th mc bi ngi ny nhng
ngi khc li c quyn xa hoc sa cha. m bo mi file/th mc con ca mt th mc X ch
b xa hoc sa i bi ch ngi ch s hu ca file/th mc con (v d nhin c root) th sticky
bit cho th mc X cn c thit lp.
t sticky bit cho mt th mc: chmod +t
mydir
13
root
root
4096
Apr 15 08:05
/tmp
SUID
Ch
s k
hiu
4
SGID
V tr nm trong Thit lp
tp quyn lnh
bng
ls -l
chmod
Thay th ch x
u+s
trong tp quyn
u
Thay th ch x
g+s
trong tp quyn
g
Vi file myfile
Vi th mc mydir
hu ca file
Sticky
bit
Thay th ch x
trong tp quyn
o
+t
-
ca mydir
File/th mc con (ca th
mc mydir) c bo m
ch b xa/sa i bi chnh
ch s hu ca file/th
mc con
3. Quota
Mt h thng khi c nhiu user s dng, ch my chc m cc user tiu dng ht a cng. Thit lp
quota (ting anh quota ngha l hn ngch) trn mt partition l t ra gii hn s KB (s block)
hoc s file (s inode) m mt user hoc group c th dng.
Bi ton: t quota cho user lan trn partition /dev/hda1 sao cho
-
user lan c dng n 10 MB ( 10240 block). Khi dng qu 10 MB, user lan s b
cnh bo.
Sau khi b cnh bo, user lan cha b bt dng li ngay m c gia hn thm 7 pht thu
xp cho d liu mnh ca mnh nh li di 10 MB. Trong khong thi gian 7 pht ny, user
lan vn c th tiu dng thm cho n mc tng dung lng dng l 15 MB. Nhng ht 7
pht hoc khi chm n 15 MB user lan s b dng li mi thao tc vi d liu ca mnh.
y 10 MB, 15 MB, 7 pht ln lt c gi l soft limit, hard limit, grace period (thi gian gia
hn).
Bi ton trn l quota dng dung lng nhng ta cng c th lm quota s file. V d thay 10, 15 MB
trn bng 10, 15 files.
Khi quota c thit lp th quota database c to ra m thc cht l cc file aquota.usr, aquota.grp
(hoc quota.usr, quota.grp) c sinh ra th mc gc ca partition c t quota. Quota database
ny cha thng tin v tnh hnh s dng (s file, tng dung lng file) v gii hn s dng ca mi
user, group trn partition t quota. Mi khi ngi dng to mi/xa/resize file th database ny c
t ng cp nht. Vic a ra cnh bo hay ngn chn ngi dng khi vt gii hn c thc hin
da vo quota database.
Cc cng c quota l: quotacheck, edquota (hoc setquota), quotaon, repquota
Vic thit lp quota trn partition din ra qua 5 bc sau:
(1) Ci t phn mm quota
(2) Mount partition vi thuc tnh quota (usrquota, grpquota)
(3) Khi to quota database trn partition (bng lnh quotacheck)
(4) Enable quota trn filesystem quota database c cp nht mi khi c file c to
mi/xa/resize (enable bng cch restart my hoc dng lnh quotaon)
(5) t limit, grace cho user/group trn partition (bng lnh edquota hoc setquota)
Di y l cc bc thit lp v kim th quota cho bi ton nu u.
(Trc ht cn to user lan bng lnh useradd lan)
82/145
LABEL=/
Cn sa thnh:
LABEL=/
ext2 defaults
ext2
defaults,usrquota
1 1
11
o c: khi quotacheck thc thi, sau qu trnh scan n s so snh thng k thu c (trong RAM)
vi thng k lu trong file aquota.usr, aquota.grp nu thy ging nhau th khng lm g, nu
thy khc nhau th s cp nht li 2 file ny. Nu khng mun c qu trnh so snh ny na m
cp nht lun fie th dng tham s -c. Tham s ny c ch khi quota database b hng, ngi
dng khng mun phi khi phc m to mi li lun.
o v: ch verbose ca lnh din gii cc s kin trong qu trnh thc hin lnh ra mn hnh
Trong thc t, gii quyt mi tnh hung m khng phi suy ngh nhiu hy dng tt c cc tham s
trn: quotacheck augmfcv
Nhng vi bi ton ang xt th ch cn: quotacheck m / l .
83/145
hoc dng lnh: quotaon partition (hoc thm ch quotaon -a enable quota cho
tt c cc partition)
Vi bi ton ang xt: quotaon /
hoc n gin ch vic restart my bi lnh quotaon a lun c t sn khi Linux khi
ng. Xem script init (/etc/rc.d/rc.sysinit) bn s thy c dng lnh: /usr/sbin/quotaon
-aug
Sau khi enable quota, mi khi user to mi/xa/resize file, th mc th thng k v s file, tng dung
lng file ca user trong quota database c t ng cp nht theo.
disable quota dng lnh quotaoff. T y tr i mi thao tc vi file v th mc ca user khng
c ghi vo quoata database na do trc khi bt li quotaon cn thc hin quotacheck
Script init ca Linux cng lun c lnh quotacheck m bo nu c quotaoff th ln khi
ng my sau quota database c cp nht.
blocks
8
soft
hard
inodes
soft
hard
0
Blocks: cho bit s block (KB) m user dng, bi ton ang xt, user lan
dng ht 8 KB
Soft: soft limit block do ngi dng t
Hard: hard limit block do ngi dng t
Inodes: cho bit s inode (s file) m user dng, bi ton ang xt, user lan
to ra 7 file
Soft: soft limit inodes do ngi dng t
Hard: hard limit inodes do ngi dng t
84/145
bi ton ang xt, ta t soft block = 10240, hard inode = 15000. Sau khi sa file xong, lu
li file. Gi tr ca trng blocks, inodes ch hin th, vic sa khng c tc dng.
t grace time (khng bt buc):
- cho mt user/group c th dng lnh: edquota
T[u|g] tn_user/group
blocks
/dev/hda2
soft
hard
inodes
soft
hard
10240
15000
10
15
Tc l lan c 4 file v tng dung lng l 8K. c danh sch cc file ca lan dng lnh find kt
hp vi ls l: find / user lan | xargs ls l
85/145
86/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
Cch qun l HDD thng thng l chia n thnh cc partition nh hn. Ngc li, c hai k thut
ghp nhiu partition trn cng mt HDD hay trn cc HDD khc nhau thnh mt partition ln hn:
-
softRAID: cc partition ging nhau c ghp li thnh mt RAID device. Ty theo loi
RAID m RAID device c kh nng phc hi d liu sau khi gp s c v hiu sut c ghi d
liu tt hn.
LVM: cc partition (gi c gi l volume) c ghp thnh mt volume group v volumn
group ny li c chia thnh cc logical volume. LVM gip cho vic qun l disk d dng hn
rt nhiu: resize linh hot, snapshot disk,
hardRAID v softRAID
RAID c th c thc thi bng phn cng (hardRAID) hoc bng phn mm (softRAID), gi chung
l RAID controller.
87/145
Hard RAID controller thng l mt PCI card hoc vi nhiu PC hin i ngy nay n c gn lun
trn mainboard (on-board). Vic cu hnh hardRAID c thc hin qua BIOS v hardRAID
controller l trong sut i vi h iu hnh.
Nu khng c hard RAID controller th c th dng phn mm v d nhin phi thng qua h iu
hnh. Vi Linux c 2 phn mm RAID l: raidtools (tp cc cng c do nhiu ngi cng pht trin)
v mdadm (ca Neil Brown). Ti liu ny ch ni v mdadm (multiple disk admin) v n c a
chung hn.
RAID level
Ty theo yu cu hiu sut, kh nng khi phc d liu m c nhiu kiu thit lp (level) RAID
-
linear RAID: nhiu disk c ni nhau thnh mt disk ln. Khng c tnh nng g hn
RAID 0 (striping k sc): nhiu disk cng dung lng c RAID li thnh mt array. Khi
cn ghi d liu, d liu c chia lm nhiu phn, mi phn c ghi ln mt disk. iu ny
ci thin hiu sut ghi d liu v vic ghi d liu c thc hin ng thi trn c 2 disk. Khi
mt disk b hng th mt phn ca d liu s mt do c d liu s b hng; RAID 0 khng
c kh nng khi phc d liu.
RAID 1 (mirroring ging nhau): 2 disk cng dung lng c RAID li thnh mt array. Khi
cn ghi d liu, s c 2 bn sao ca d liu, mi bn c ghi vo mt disk. Thi gian ghi d
liu trn array bng thi gian ghi d liu trn mt disk, do hiu sut ghi khng i. Bi mi
disk gi mt bn sao ca d liu nn s lng ph mt na dung lng lu tr nhng khi hng
mt disk th vn cn disk kia lu d liu.
RAID 5 (striping with parity): cn t nht 3 disk cng dung lng RAID li thnh mt array.
Ly v d 4 disk xem hnh v. Khi file A cn ghi vo array, n c chia lm 3 phn A1, A2,
A3; phn Ap, cn c gi l checksum, c sinh ra t A1, A2, A3 theo mt thut ton no
. Mi phn trong 4 phn ny c ghi vo mt disk. Nu mt disk hng, ch hn disk 0 (mt
A1) th t A2, A3, Ap c th tnh li c A1. Tc l khi hng mt disk bt k trong 4 disk th
d liu c th khi phc c nh vo checksum v cc phn cn li khng hng.
nh ly t: http://en.wikipedia.org/wiki/RAID
Cc device tham gia array cn c size bng nhau nu khng size b nht c chn l size ca
array. Nu size ln nht vt qu size b nht hn 1% th s c cnh bo nh sau:
mdadm: set size to X
mdadm: largest drive () exceed size X by more than 1%
Continue create array ?
89/145
Bn c th xem phn trm tin trnh ca qu trnh to array bng lnh: cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5]
[raid4] [raid10]
md0 : active raid5 sdd1[3] sdc1[1] sdb1[0]
1023404544 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_] [>.
.......................] recovery = 0.1% (672640/511702272)
finish=75.9min
speed=112106K/sec
unused devices: <none>
L do l trong bng phn vng ca HDD /dev/sdb th kiu ca partition /dev/sdb1 c cho l
raid auto nhng phn d liu ca partition ny th li dng ext2. Bn bm Y chp thun
vic xa d liu trn partition ny i phc v vic to array.
Bc 3: format v s dng array.
-
Script init ca cc Linux distro lun cha sn lnh kch hot cc /dev/md0, /dev/md1,
lc Linux khi ng nn bn khng phi lm g. Ngoi vic kch hot, nu mun /dev/md0
c t ng mount khi khi ng, thm mt dng vo file /etc/fstab.
C th dng lnh ny xem phn trm qu trnh thc hin cc thao tc vi RAID. V d ngay sau khi
g lnh to raid mdadm --create /dev/md0, nu g lnh ny bn s thy phn trm thc hin lnh ch
recovery.
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5]
[raid4] [raid10]
md0 : active raid5 sdd1[3] sdc1[1] sdb1[0]
1023404544 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_] [>.
.......................] recovery = 0.1% (672640/511702272) finish=75.9min
speed=112106K/sec
unused devices: <none>
Ngay sau khi chy lnh mdadm --create to array hoc build li, nu dng lnh ny bn s xem
c tin trnh phn trm thc hin.
xem thng tin chi tit v array /dev/md0: mdadm --detail /dev/md0
Thng tin gm c kch thc array, s disk tham gia array, disk no ang hng (faulty), disk no ang
ri (spare), disk no ang hot ng.
90/145
/dev/md0:
Version : 00.90.01
Creation Time : Sun Dec 26 18:00:51 2010
Raid Level : raid1
Array Size : 488448 (477.00 MiB 500.17 MB)
Device Size : 488448 (477.00 MiB 500.17 MB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Number
Major
Minor
RaidDevice State
70
active sync
/dev/hdb6
71
active sync
/dev/hdb7
22
71
active sync
/dev/hdd7
22
70
-1
spare
/dev/hdd6
UUID : bd3a5938:79ce0f26:e588a382:90b7802b
Events : 0.9
5. Hy RAID array
- Nu array ang c s dng hy umount
- Stop raid: mdadm -S /dev/md0 (tham s -S ch khng phi -s)
- zero out tng disk ca array, v d vi /dev/sdb1: mdadm --zero-superblock
/dev/sdb1
- start li RAID th dng assemble
91/145
6. File /etc/mdadm.con
7. Stripe hay Linear
Logical Volumes
/dev/TotalStorage/Music
/dev/TotalStorage/Data unused
TotalStorage
Volume Group
Physical Volumes
/dev/sdb1
/dev/sdc1
/dev/sdd1
/dev/sde1
Physical Volume: y chnh l cc partition thng thng nhng trong ngn ng LVM th
c gi l Physical Volume (PV). Ngoi ra mt PV c th l: mt partition thng thng, mt
RAID device, mt sparse file (mt file dung lng ln, cha ton cc s 0 gi lm partition
lu d liu).
Volume Group: nhiu PV khi c ghp li vi nhau to thnh mt Volume Group (VG).
Dung lng ca VG bng tng dung lng ca cc PV thnh phn. Cc PV thnh phn c th
thuc cng mt HDD hoc thuc nhiu HDD khc nhau. C th thm vo hoc loi i mt PV
t VG.
remove
resize
pvremove
change
pvchange
scan
pvscan
vgremove vgextend
vgreduce
lvremove lvextend
lvreduce
vgchange
vgscan
lvchange
lvscan
1. Thit lp LVM
Thit lp v s dng LV
Phn ny minh ha cc lnh create v view PV, VG, LV qua cc bc gii quyt bi ton nu trn.
-
Bc 2: T mi LVM partition to mt PV
o To PV bng lnh: pvcreate <partition>
pvcreate
/dev/sde1
/dev/sdb1
/dev/sdc1
/dev/sdd1
VG
Fmt
Attr PSize
PFree
lvm2
lvm2
lvm2
lvm2
-----
1016.00M
1016.00M
1019.53M
1019.53M
1016.00M
1016.00M
1019.53M
1019.53M
Bc 3: To VG t cc PV
o To VG TotalStorage t cc PV sdb1, sdc1, sdd1, sde1 bng lnh
vgcreate <tn_VG> <danh sch PV>
vgcreate TotalStorage /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
sau bc ny xut hin thm th mc /dev/TotalStorage
o Kim tra li VG va to bng lnh xem thng tin v VG: vgs
VG
#PV
#LV
#SN
Attr
VSize
Vfree
wz--n
3.96G
3.96G
[]
TotalStorage
[]
Bc 4: To cc LV t VG
o To cc LV Softwares, Music, Data t VG TotalStorage bng lnh:
lvcreate n <tn_LV> -L <size_LV> [-s <size LE>] <tn_VG> [Path_PV]
lvcreate -n Softwares -L 1.4G TotalStorage
lvcreate -n Music -L 1.2G TotalStorage
lvcreate -n Data -L 1G TotalStorage
Sau bc ny c thm cc file device /dev/TotalStorage/Softwares,
/dev/TotalStorage/Music, /dev/TotalStorage/Data
o Tham s [Path_PV] ch r ra LV c to t PV no.
V d: lvcreate
/dev/sdb1
-n
Softwares
-L
1.4G
TotalStorage
VG
Attr
LSize
Origin
Snap%
Move
Copy%
[]
Music
TotalStorage
-wi-a-
1.00G
Data
TotalStorage
-wi-a-
1.20G
Softwares
TotalStorage
-wi-a-
1.40G
[]
Ch : Khi thc hin cc lnh pvcreate, vgcreate, lvcreate c th c thng bo lin quan n CD
chng hn: /dev/cdrom: open failed: read-only file system. L do l trc khi thc hin cc lnh
to ny tt c cc block device c scan qua v y CD drive c scan (nhng khng th
c c).
-
Bc 5: S dng LV
o To filesystem cho LV:
Enable LVM
c th s dng LVM cn ci t cng c LVM v activate cc volume.
Thng th LVM builtin sn vo Linux kernel ri nn sau khi to cc volume PV, VG, LV bn c
th s dng, khng phi lm g thm c.
Nu cha th phi build li kernel hoc ci LVM nh mt kernel module. Trong trng hp th hai:
-
ci t cng c LVM
/dev/TotalStorage/Softwares
/dev/TotalStorage/Data unused
TotalStorage
Volume Group
Physical Volumes
/dev/TotalStorage/Music
/dev/md0
/dev/sdb1
/dev/md1
/dev/sdc1
/dev/sdd1
/dev/sde1
94/145
(nh ly t: http://www.redhat.com/magazine/009jul05/features/lvm2/)
95/145
PV Size
Allocatable
PE Size (KByte)
Total PE
Free PE
Allocated PE
PV UUID
[]
TotalStorage
lvm2
4
5
read/write
resizable
0
4
0
0
4
4
3.96 GB
4.00 MB
1014
975 / 3.81 GB
39 / 156.00 MB
mK8knW-hPAL-X6Uq-FROE-6Zux-Zr7A-pXdN3K
Current LE: s LE ca LV ny
Segments: s PV m LV ny s dng
Block device: cp s major:minor ca LV ny
Scan volume
Cc thng tin v cc PV, VG, LV ca h thng hin hnh c lu trong kernel. Cc lnh pvs, vgs, lvs
ch c cc thng tin ny v hin th ra. Nhng c nhng khi h thng ang hot ng, ngi dng
96/145
3. Qun l cc volume
Disable/Remove volume
hy b (xa) mt LV, VG, PV dng lnh lv/vg/pvremove <tn LV/VG/PV>. Cn m
bo trc khi hy b LV/VG/PV: LV c umount/ khng c LV trn VG/ khng c VG trn PV.
Nu khng mun hy b hn volume m ch disable cc volum tc l lm cho kernel khng nhn ra
c voluem th dng lnh lv/vg/pvchange -an <tn LV/VG/PV>. Tham s -an c
ngha l available no.
Resize LV
Resize mt LV gm 2 thao tc: (1) t li kch thc cho volume, (2) resize filesystem trn volume
bng lnh chng hn resize2fs.
Gim dung lng LV: resize2fs trc ri lvreduce sau. V d: gim LV Data bi ton trn xung cn
1G (10485760 block)
-
lvreduce L 1G /dev/TotalStorage/Data
Tng dung lng LV: lvextend trc ri reszie2fs sau. V d: tng LV Softwares bi ton trn thm
0.2 GB:
-
resize2fs /dev/TotalStorage/Softwares
Nhn xt: Nu Softwares l partition thng th khng th tng dung lng ca n ln c do khng
c phn trng no sau n. Nh vy resize LV linh hot hn resize partition thng.
Mt iu ng kinh ngc rng lvreduce v lvextend c th lm vic trong khi LV vn ang c s
dng. Tuy nhin cng c resize2fs khng resize filesystem lc n ang lm vic c nn trc khi
97/145
resize LV cn phi umount LV. Nu dng nhng cng c c kh nng resize online nh ext2online th
c th dng c tnh nng ny ca LVM.
Vi VG cng c lnh vgextend, vgreduce nhng ngha ca n l thm/bt PV.
98/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
I.1 Tin trnh l chng trnh khi n ang c thc thi ............................................................................................. 99
Tin trnh cha, tin trnh con. S ID ca tin trnh. ............................................................................................... 100
Phn b CPU v u tin (s nice) ca tin trnh .............................................................................................. 100
Trng thi ca tin trnh ........................................................................................................................................ 100
Ch s hu ca tin trnh ...................................................................................................................................... 101
Cc signal m tin trnh bt ................................................................................................................................... 101
I.2 Cc thao tc vi tin trnh ..................................................................................................................................... 101
In ra trng thi cc tin trnh bng lnh ps ............................................................................................................ 101
Theo di cc tin trnh bng lnh top (hoc prstat, topas) ..................................................................................... 102
Tm kim mt tin trnh. ....................................................................................................................................... 104
iu chnh s nice ca tin trnh. .......................................................................................................................... 104
I.3 Signal v lnh kill, killall, pkill ............................................................................................................................ 104
Lnh kill ................................................................................................................................................................ 104
Lnh killall v pkill ............................................................................................................................................... 105
I.4 Cc tin trnh c tng tc. Ch background, foreground. .............................................................................. 105
I. Tin trnh
I.1 Tin trnh l chng trnh khi n ang c thc thi
Nhc li rng: vi file ngi ta chia lm 2 loi excutable file (file kh thi) l cc file chng trnh
(nh *.exe trong Windows), cha cc lnh cho CPU thc thi (m ngi c th khng hiu c) v
non-excutable file (file khng kh thi) nh nhng file *.doc, *.bmp,
Khi bn chy mt file chng trnh th h iu hnh s a file t trn a cng vo trong RAM
thc thi. Phin bn ca file chng trnh trong RAM c gi l tin trnh.
Cn phn bit: chng trnh l mt file kh thi nm trn a cng. Khi chng trnh c thc thi th
n tr thnh tin trnh (nm trong RAM).
Khi bn chy mt lnh, chng hn lnh ls l t du nhc ca terminal th thc cht cng l cho thi
hnh mt file chng trnh, c th l file /bin/ls. Lc bn chy lnh cng l lc bn khi to
mt tin trnh, tin trnh kiu ny lun gn lin vi terminal sinh ra n.
Tin trnh th lun s dng ti nguyn ca my tnh (CPU, RAM, cc thit b ngoi vi) v vic qun l
tin trnh (do nhn Linux m nhim) l phn b cc ti nguyn ny cho tin trnh mt cch hp l.
qun l c, nhn Linux phi ghi li cc thng tin v tin trnh gm:
Tn, s ID ca tin trnh
a ch ca tin trnh trong b nh
Trng thi hin thi ca tin trnh
u tin ca tin trnh
Thng tin v ngun ti nguyn (CPU, b nh) m tin trnh ang s dng
Thng tin v cc file v cc cng mng m tin trnh ang m
Ch s hu ca tin trnh
Danh sch cc signal m tin trnh s bt (catch)
99/145
V d: tin trnh init s gi tin trnh login ri tin trnh ny li gi tin trnh bash, t y mi lnh ca
ngi s dng g trn bash shell s tr thnh tin trnh con ca tin trnh bash.
Ch s hu ca tin trnh
Xt file kh thi ExecFile, c ch s hu U, nhm ch s hu G v n cn truy cp R khi chy. Gi s
user X, vi primary group l XG c cp quyn chy file ny.
Khi X chy ExecFile, mc nh quyn truy cp R ca ExecFile c tnh bng quyn truy cp R ca X
ch khng phi bng quyn truy cp ca U tr trng hp Set UID, Set GID (V SUID, SGID xem
thm bi ??). C ti liu gi user chy tin trnh X l ch s hu ca tin trnh, nu dng cch gi ny
th cn phn bit vi ch s hu U ca file kh thi ban u.
Trong bng qun l tin trnh, nhn Linux s lu tr thm 2 trng thng tin l Real UID v Effective
UID cho tin trnh ExecFile d dng xt quyn truy cp R ca tin trnh. Real UID l ID ca user
thc thi tin trnh, tc l X. Effective UID l ID ca user m Linux s dng xt quyn truy cp R
ca ExecFile v thng thng Effective UID trng vi Real UID. Trong trng hp ExecFile c
Set UID th Effective UID mi khc i, lc n s trng vi ID ca U.
Tng t, Linux cng lu thng tin Real GID v Effective GID cho tin trnh. Trong , Real GID
trng vi ID ca nhm XG. Effective GID s trng vi Real GID, tr trng hp ExecFile c Set
GID th Effective UID s trng vi ID ca nhm G.
VSZ
2828
RSS TTY
1264 ?
STAT START
Ss
May11
101/145
TIME COMMAND
0:02 /sbin/init
root
root
root
root
root
root
root
root
root
root
2
3
4
5
6
7
8
9
10
11
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
?
?
?
?
?
?
?
?
?
?
S
S
S
S
S
S
S
S
S
S
May11
May11
May11
May11
May11
May11
May11
May11
May11
May11
0:00
0:03
0:00
0:00
0:03
0:00
0:00
0:00
0:00
0:00
[kthreadd]
[migration/0]
[ksoftirqd/0]
[watchdog/0]
[migration/1]
[ksoftirqd/1]
[watchdog/1]
[events/0]
[events/1]
[cpuset]
PR
20
NI VIRT
0 48340
102/145
TIME+ COMMAND
2:16.23 Xorg
3020
3754
1822
2187
1
2
3
4
5
6
7
8
9
root
root
root
root
root
root
root
root
root
root
root
root
root
20
20
20
20
20
20
RT
20
RT
RT
20
RT
20
2.0
0.7
0.3
0.3
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
2.5
0.2
4.7
2.5
0.2
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0:04.50
0:00.10
0:19.95
0:18.93
0:02.77
0:00.01
0:03.65
0:00.05
0:00.00
0:03.93
0:00.04
0:00.00
0:00.35
gnome-terminal
top
Xvnc
vmware-user-loa
init
kthreadd
migration/0
ksoftirqd/0
watchdog/0
migration/1
ksoftirqd/1
watchdog/1
events/0
103/145
o %CPU: t l (tnh theo phn trm) gia thi gian chim gi CPU ca tin trnh v thi gian m
tin trnh nm trong b nh. (Ch : ti mi thi im ch nhiu nht mt tin trnh s dng
CPU.) Mc nh lnh top sp xp cc tin trnh theo th t gim dn ca %CPU.
o %MEM: phn trm RAM m tin trnh s dng ti thi im hin ti.
o TIME+: thi gian tin trnh tn ti tnh t khi n bt u c khi to.
o COMMAND: Lnh c s dng khi to tin trnh.
Lnh kill
Ngi qun tr thng dng lnh kill gi signal n tin trnh. Nh tn gi, cc signal trong lnh
kill thng dng mt tin trnh (hoc tip tc mt tin trnh b dng trc ).
C php: kill -signal PID
104/145
PID l ID ca tin trnh bn cn gi signal n n. Ch lnh kill khng lm vic vi tn tin trnh m
lm vic vi vi ID ca tin trnh.
C rt nhiu signal, 4 signal di y l hay dng nht.
Trong lnh kill, nu khng ch r signal th mc nh signal 15 c dng.
Tn Signal M signal ngha
SIGHUP,
1
C nhng tin trnh (thng l cc daemon) m hot ng ca
HUP
n lin quan n mt file cu hnh, file ny c th thay i khi
tin trnh chy. Tn hiu SIGHUP dng p tin trnh cp
nht li file cu hnh m khng cn dng li.
SIGTERM, 15
Yu cu tin trnh kt thc. Vic ny c th khng thnh cng,
TERM
tin trnh c th l i khng x l signal ny.
SIGKILL, 9
p tin trnh kt thc bng mi gi. Tin trnh khng th l i
KILL
signal ny. Vic kt thc c th gy ra mt d liu nu tin
trnh ang c/ghi mt file no . Ch dng signal ny nu
signal 15 khng hiu qu.
SIGUSR1, 30
Gi mt signal do ngi dng nh ngha n tin trnh. Tin
USR1
trnh cn c lp trnh x l ring signal ny.
(Ngoi ra cn c 2 signal na l TSTP, INT c sinh ra khi ngi dng bm CTRL + Z, CTRL + C
trn terminal a mt tin trnh v trng thi Traced/Stopped hoc ngng thao tc hin thi ca tin
trnh (xem mc ??).
V d 1: yu cu tin trnh c ID 3897 kt thc c th dng mt trong cc lnh tng ng nhau
sau:
kill 3897 (hoc di dng hn kill -15 3897 hoc kill TERM 3897
hoc kill -SIGTERM 3897)
Trong trng hp tin trnh vn khng b kt thc th phi dng signal KILL tc l:
kill -9 3897 hoc kill KILL 3897
V d 2: yu cu kt thc c 3 tin trnh m ch dng 1 lnh n
kill 3896 3897 3898
phn ny ta quan tm n nhng tin trnh c khi to t terminal. y chnh l nhng lnh m
bn g ti du nhc ca terminal, chng c gi l cc job. Cc job thng i hi ngi dng phi
tng tc (nhp d liu) vi terminal. V d khi bn g lnh less myfile th terminal s i bn
g phm , cun ln cun xung trang mn hnh hin th ni dung myfile.
Trn mt terminal, nu c mt job ang chy th job s chim knh input/output ca terminal do
job khc khng th dng c. Linux c c ch cho php trn cng mt terminal, nhiu tin trnh
chy nhng khng chim terminal - gi l chy trong ch background, v ch mt tin trnh chim
terminal gi l chy ch foreground.
Chy trong ch background, foreground
105/145
Nhng job chy mt nhiu thi gian, li khng cn ngi dng tng tc th nn chy trong
background. lm iu ny bn ch cn thm du & vo cui lnh (c du cch trc &). Tuy chy
trong background nhng nu cn xut kt qu hoc yu cu ngi dng nhp d liu g th job cng
hin th ra mn hnh.
V d 1: t lnh find / >output.txt (ghi li thng tin chi tit v tt c cc file, th mc c
trong h thng vo file output.txt) chy trong background:
root@local ~]# find / >output.txt &
[1] 26745
Trong background, cc job c nh s trong du ngoc vung [1], [2], Con s bn cnh 2675 l
ID ca tin trnh.
Ch : nu thc hin lnh find / (b i phn ui >output.txt) trong ch background
(find / &) th bn vn thy c thng tin hin th ra mn hnh. Khi lnh chy xong, bn phi bm
enter kt thc.
hin th cc job ang chy trong background dng lnh jobs.
V d 2: Ngay sau lnh find v d 1, nu g tht nhanh lnh jobs bn s thy
[root@local ~]# jobs
[1]+
Running
find / > output.txt &
[root@local ~]# jobs
[1]+
Done
find / > output.txt &
a mt job trong background ra foreground dng lnh fg % s th t ca job
V d 3: Ngay sau lnh find v d 1, hy g tht nhanh:
[root@local ~]# fg %1
find / > output.txt
Dng mt lnh
Khi mt lnh ang chy trn terminal trong ch foreground. Bn c th bm
CTRL + C: gi signal INT yu cu tin trnh dng thao tc hin thi. Thng thng vi cc lnh n
gin, thao tc hin thi m dng th c tin trnh lnh cng kt thc nn signal INT kh ging vi
signal KILL (kt thc tin trnh).
CTRL + Z: gi signal TSTP yu cu tin trnh ngng tt c cc hot ng. Tin trnh s ri vo trng
thi Stopped (hay Traced/Stopped) k hiu bi ch T trong lnh ps v lnh top.
V d 4: chy lnh find di y sau bm CTRL + Z bn s thy tin trnh b a v trng thi
Stopped.
[root@local ~]# find / >output.txt
^Z
[1]+
Stopped
find / >output.txt
[root@local ~]# jobs
[1]+
Stopped
find / >output.txt
tin trnh c th hot ng tr li, bn cn a tin trnh v ch background/ foreground:
o Chy trong background: bg % s th t tin trnh
o Chy trong foreground: fg % s th t tin trnh
V d 5 (tip tc sau v d 4): cho tin trnh find ang b Stopped chy tr li trong ch background
[root@local ~]# bg %1
[1]+
find / >output.txt &
Mc ?? cho bit cch dng lnh kill vi mt tin trnh ang chy trong foreground. Bn cng c th
kill mt lnh khi n ang chy trong background hoc khi ang b Stopped.
V d 6 (tip tc sau v d 4): kill tin trnh find khi n trng thi Stopped.
[root@local ~]# kill %1
[1]+
Stopped
find / >output.txt &
[root@local ~]# jobs
[1]+
Terminated
find / >output.txt
[root@local ~]# jobs
[root@local ~]#
(Ni thm: ngoi CTRL + C, CTRL + Z c dng trn terminal, cn c CTRL + D dng kt thc
chnh terminal ng ca s terminal li.)
106/145
Cc daemon nm u ?
Mi daemon trc ht l mt file kh thi (file cha tp lnh cho CPU thc thi) v mi chng trnh
daemon li c ci t trong mt th mc no , thng l trong /usr. d dng cho vic qun
l ngi ta vit sn cc script chy/dng file kh thi daemon v t script ca tt c cc daemon
vo trong cng th mc /etc/rc.d/init.d (nu l Redhat/Fedora/CentOS) hoc
/etc/init.d (nu l SUSE/Debian). Mi khi ci t mt daemon th li c thm mt script iu
khin daemon c t vo /etc/rc.d/init.d (hoc /etc/init.d).
V d: trn Redhat/Fedora/CentOS, khi ci t Apache web server th c thm script httpd xut hin
trong /etc/rc.d/init.d
(Ti sao li c tn gi rc.d v init.d. Nhiu ngi cho rng rc l run commands, .d ch l directory, init
ch cc daemon ny c khi ng do init gi n (xem mc ??? bit thm v init)
Tn cc soft link trong rc[0-6].d c dng hoc l Kxx<tn script> hoc Sxx<tn script>, v
d S99local, K10cups
o <tn script> chnh l tn cc file daemon trong /etc/rc.d/init.d
/etc/init.d)
(hoc
~]# ls l /etc/rc.d/rc5.d
108/145
abrtd (pid
1721) is running...
crond (pid
1738) is running...
cupsd (pid
1260) is running...
gpm (pid
1730) is running...
109/145
1:off
1:off
1:off
1:off
1:off
2:on
2:off
2:on
2:off
2:off
3:on
3:on
3:on
3:on
3:on
4:on
4:on
4:on
4:on
4:on
5:off
5:off
5:off
5:off
5:off
6:off
6:off
6:off
6:off
6:off
110/145
cron: lp vic thc thi lnh no c mi mt khong thi gian (thng, tun, ngy, gi, pht)
nh trc mt ln.
cron
Crond l mt daemon thc thi cc lnh/script ca ngi dng, gi l cron job, mt cch u n sau
mi khong thi gian nh trc. Thng tin v cron job gm c chu k thi gian v lnh/scrip c
thc hin vi quyn ca mt user no sau mi chu k thi gian. Cron job c lu tr trong file
/etc/crontab v mt s file trong th mc /etc/cron.d, /var/spool/cron. C sau mi
pht crond li c nhng file ny xem n lc thc thi cc cron job cha.
C hai kiu cron job l: system cron jobs (cc lnh/script ca cron job chy di quyn ca root,
thng l nhng thao tc bo tr h thng) v user cron job (lnh/script chy di quyn ca user
thng). Ch c root mi c quyn to system cron job, user thng mun c cron job ca ring mnh
th to user cron job (d nhin root cng c th to c cron job loi ny).
Cc cron job c chy t ng v khng c ngi gim st nn tuyt i khng vit cc lnh/script
c yu cu ngi dng nhp d liu.
111/145
!!! Cn thn vi s sut sau: Nu trng u tin, thay 0 bng * th c chuyn g xy ra? Lnh
do_something s c thc thi c mi pht mt ln trong khong t 4h n 4h59 tc l thc thi 60
ln!
Chi tit hn v cc k hiu trong 5 trng thi gian u tin:
o K hiu * th hin ly ht cc gi tr c th c
o K hiu */x th hin c x n v thi gian li thc hin mt ln. V d: */30 trng
pht ngha l c 30 pht li thc hin lnh mt ln.
o C th vit mt di gi tr bng du v du , nh 2-5 (t 2 n 5) hoc 2,3,5 (3
gi tr l 2, 3, 5)
V d 1: Bn c test th crond bng lnh to th mc. Xem ng h, gi s by gi ang l 9h10
sng, bn thm dng sau vo file /etc/crontab:
15 9 * * * root mkdir /root/Folder_to_Test
Lu li sau i n 9h15 kim tra xem liu th mc /root/Folder_to_Test c c to ra khng ?
Linux thng c cc th mc /etc/cron.hourly, /etc/cron.daily,
/etc/cron.weekly. C th t cc script cn thc hin hng gi, hng ngy, hng tun vo nhng
th mc ny ri dng lnh run-parts hoc cronloop thc thi tt c cc file script trong cc th mc
y.
V d 2: C 3h sng mi ngy thc thi tt c cc script trong th mc /etc/cron.daily
0 3 * * * root run-parts /etc/cron.daily
Trn mt s bn phn phi Linux, ngi ta sn nhng script dn dp h thng nh xa cc file
tm thi trong th mc /tmp, cp nht li c s d liu slocat, whatis, v.v trong cc th mc
nh /etc/cron.daily.
at
Cng c at cho php thc hin mt dy lnh/script ng mt ln vo mt thi im no nn lnh
at cn c i s l thi im thc hin.
at -f <tn script cn thc thi> <thi im>
hoc at <thi im> sau c du nhc at>_ i bn g cc lnh thc thi
Quy cch cho <thi im>: gi pht HH:MM, ngy thng DD.MM.YY hoc MM/DD/YY hoc
dng t kha now + (2 gi sau thi im hin ti).
Lnh at hot ng c da vo daemon atd nn cn c atd c bt khi h thng khi ng:
chkconfig atd on.
112/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
Ngay khi bt my, BIOS nhn din cc device (qu trnh ny gi l Power On Self Test POST), nu mi device u n th c 1 ting bip cn khng s c nhiu ting bip hoc khng
c ting g.
Trong s nhng storage device (CD, HDD, FD, NIC) nhn din c, mt device c chn
lm boot device. y ta xt trng hp ph bin nht l HDD.
Sector u tin ca boot device c ti vo RAM thc thi. Vi HDD, sector u tin ny
c gi l MBR
o Thng thng, MBR lm nhim v ti boot sector ca partition c nh du l active
vo RAM thc thi. Active partition ny thng cha nhn h iu hnh, boot sector
ca partition ny s ti nhn h iu hnh vo RAM. Chi tit hn th boot sector khng
ti ngay nhn h iu hnh m n ch ti mt (hay mt vi) file trn active partition
c gi l boot loader vo RAM. Boot loader s ti nhn h iu hnh vo RAM.
o Trong nhiu trng hp khc (v d Linux), MBR khng ng n boot sector ca
active partition, n ti lun boot loader trn mt non-active partition vo RAM.
I. GRUB
1. Chc nng ca GRUB
- menu interface v command line interface (GRUB shell)
Sau khi bt my tnh mt lc, ngi dng thng thy mn hin th thi gian m ngc (t trn mt
nh nn no ), khi bm mt phm bt k s vo menu interface ca GRUB. Ti y ngi dng c
113/145
2. Qu trnh ti GRUB
GRUB cn c nhng trong MBR hoc boot sector ca active partition m bo n c ti vo
RAM u tin sau qu trnh POST. Nhng nh ta thy GRUB c nhiu chc nng: c menu interface
(thm ch hin th c c nh nn), command line interface, truy xut filesystem, nn kch thc
ca chng trnh GRUB khng th gi gn trong mt sector (512 byte) c. Chin thut y l
GRUB c chia lm 2 (hoc 3) phn l stage 1 v stage 2 (hoc thm stage 1.5). Ch stage 1 c lu
MBR hoc bootsector, sau khi stage 1 c ti n s ti stage 2 (hoc ti stage 1.5 ri stage 1.5 s ti
stage 2) nh vy GRUB c ti ln lt tng phn.
-
GRUB stage 1
Stage ny rt nh v lun c nhng vo MBR hoc boot sector ca active partition c
ti u tin. Vic nhng stage1 vo MBR hay bootsector c quyt nh khi ci t Linux
trong mc Advanced Config bootloader hoc khi ci t li GRUB.
Mc ch ca stage 1 l ti stage 2 l file /boot/grub/stage2 do stage 1 phi lu a ch ca
stage 2. Do stage 1 rt nh (cha y mt sector) nn stage 1 khng th ti file stage 2 thng
qua ng dn th mc c bi mun lm c iu ny stage 1 cn hiu filesystem ca
partition cha file stage 2. Stage 1 ch lu a ch vt l (tham s CHS) ca file stage 2 m thi.
File stage 2 thng chng my khi b thay i ng dn th mc nhng li c th d b thay
i a ch vt l, chng hn do chy defragement partition cha stage 2, lc stage 1 khng
th ti c stage 2 na. Nhm trnh tnh trng ny, ngi ta a ra stage 1.5 c kh nng hiu
cc file system v ti file thng qua ng dn th mc. Lc stage 1 s ti stage 1.5 ri stage
1.5 s ti stage 2.
GRUB stage 2
114/145
Stage 2 l mt file trn partition cha th mc grub. Partition ny c th chnh l partition / hoc
l mt partition khc / v sau khi khi ng Linux n c mount vo di th mc /boot
(nhng cn nh giai on GRUB ny Linux cha c ti vo nn khng c chuyn mount
y). Trong trng hp th nht, stage 2 c ng dn th mc l /boot/grub/stage2, trng
hp th hai c ng dn l /grub/stage 2. Lc ci t GRUB, stage 1 s lu mt trong 2 ng
dn ny ty theo vic khi ci t Linux, ngi dng c dnh ring partition cho /boot hay
khng.
Stage 2 chnh l li ca GRUB, n to ra command line interface, menu interface (hin th nh
nn, chn ngi s dng bng password, ), ti nhn Linux, chainloader cho cc h iu hnh
khc. Kch thc ca stage2 ln hn nhiu so vi stage 1, stage 1.5
Khi stage 2 c ti, n tm ngay n file grub.conf trong cng th mc cha n. File ny lu
cu hnh v menu interface, cc lnh nm di mi la chn h iu hnh trong menu. Nu
thiu file ny GRUB s khng hin ra menu m hin ra command line interface, n y ngi
dng mun chy c Linux hoc cc h iu hnh khc phi t g lnh np h iu hnh.
Mc d stage 1, stage 1.5 c nhng vo phn sector trc partition u tin nhng khi ci
GRUB, ni dung ca chng cng c sao thnh thnh file t trong /grub/ hoc /boot/grub/.
Th mc grub cha cc file sau: stage1, stage2, *_stage1_5 (e2fs_stage1_5, ffs_stage1_5,
reiserfs_stage1_5, fat_stage1_5, minix_stage1_5, vstafs_stage1_5 v pxegrub, nbgrub),
grub.conf. Ngi dng c th xa cc file stage1, *_stage1_5 v n c nhng vo ch
MBR nhng khng c xa, di chuyn, i tn file stage2 c.
Stage 1 ca GRUB b mt do MBR hoc bootsector b ghi . Trn thc t vic ny thng l
sau khi c Linux, ngi dng ci thm mt h iu hnh mi v bootloader ca h iu hnh
mi ny ghi vo stage 1 ca GRUB gii quyt bng cch: ci li GRUB.
File stage2 ca GRUB b mt do b xa/di chuyn gii quyt bng cch: ci li GRUB hoc
copy file stage2 t my khc sang.
File grub.conf b mt, du nhc ca GRUB hin ra thay v menu. GRUB khng hng nhng n
khng c t sn cc lnh np h iu hnh. Ngi dng phi t g lnh ti nhn ri to li
file grub.conf
3. Ci li GRUB
Mc d GRUB l mt multi OS bootloader nhng n khng c thit k c th ci t c lp vi
h iu hnh. GRUB c ci khi ci Linux. Cng c d n GRUB4DOS v WinGRUB to ra b ci
t GRUB chy trn DOS v Windows nhng GRUB4DOS v WinGRUB khng c a dng. Bng
mt vi thao tc cng c th ci GRUB ln USB, CDROM, FD.
Khi ci t Linux, GRUB c ci t:
-
C th ci li GRUB khi n gp trc trc. Khi ci t li GRUB, file grub.conf khng c sinh ra,
ngi dng phi t to li file ny.
Cch ci li GRUB n gin nht l:
- Boot my bng Linux rescue, chroot /mnt/sysimage
- grub-install /dev/hda ci GRUB vo MBR hoc grub-install /dev/hda1
ci GRUB vo bootsector ca hda1.
Qu trnh ci t thnh cng khi c thng bo no error report.
Trong nhiu trng hp cch trn khng thnh cng lc hy dng cch sau:
115/145
- bc 1: copy tt c cc file stage1, stage2, *stage1_5 t mt my tnh khc khng b hng GRUB vo mt th
mc. V d /myGRUB gi s th mc myGRUB nm ngay di partition /dev/hda4.
- bc 2: Chuyn sang GRUB shell, nu trong Linux hoc Linux rescue g grub
- bc 3: dng lnh setup [prefix = DIR] <device cha GRUB> <device cha th mc
myGRUB>
V d: setup
prefix=/myGRUB
(hd0,0)
(hd0,3)
Lnh trn ci stage1 vo bootsector ca partition hda1 (tng ng vi (hd0,0)) v lu a ch CHS ca file stage2
nm trong th mc /myGRUB trn partition hda4 (tng ng vi (hd0,3)) vo trong stage1. Nu khng dng
tham s --prefix th mc nh ng dn ca stage2 l /grub hoc /boot/grub.
default=0
timeout=30
splashimage=(hd0,0)/grub/splash.xpm.gz
password --md5 $1$U$JK7xFegdxWH6VuppCUSIb.
title Red Hat Linux
root (hd0,0)
kernel /vmlinuz-2.4.18-0.12-jul2001 ro root=/dev/hda3
initrd /initrd-2.4.18-0.12-jul2001.img
title Windows
rootnoverify (hd0,1)
hide (hd0,2)
unhide (hd0,1)
chainloader +1
title DOS
rootnoverify (hd0,2)
116/145
hide (hd0,1)
unhide (hd0,2)
chainloader +1
title FreeBSD
root (hd0,a)
kernel /boot/loader
Sau ghi li dng m trn ri dn vo file grub.conf, c thm password --md5 ng trc
xu.
Bi GRUB rt nh n khng th h tr pipe process c nn khng c cch g y xu di
ngong kia vo file grub.conf, ngi dng phi t g li.
title: mi mt title l mt la chn trong menu GRUB. Di mi title l cc lnh np h iu
hnh.
kernel, initrd, root, rootnoverify, chainloader: cc lnh np h iu hnh.
Xem mc ??? di y.
117/145
Khi mun xem help v mt lnh ca GRUB g lnh help [--all] <tn_lnh>. Bn khng th
dng lnh man c v bn ang lm vic vi GRUB (giai on ny cha c Linux) ch khng phi
ang trong Linux
Khng phn bit IDE hay SATA/SCSI. Nu my tnh c 1 HDD IDE v 1 HDD SCSI th 2
device ny c k hiu l (hd0), (hd1) hoc ngc li.
GRUB c lnh cat xem ni dung file (d nhin khng th mnh m bng cat ca Linux)
grub> cat (hd0,2)/boot/grub/grub.conf
GRUB h tr TAB completion nn khng cn thit phi g ht tn file, ch cn bm TAB rt tin li.
V d 1. Lit k nhng storage device c trn my: g mt tn bt k (v d null) ri ( v bm
TAB
grub> null (
Possible disks are: fd0 hd0 hd1 cd
type
type
type
type
118/145
Ti nhn Linux
root=/dev/VolGroup00/LogVol00
initrd (hd0,1)/boot/initrd-2.6.9-5.EL.img
V d 2:
title Redhat Enterprise Linux 4
root (hd0,1)
kernel /vmlinuz-2.6.9-5.EL
root=/dev/hda5
initrd /initrd-2.6.9-5.EL.img
119/145
find /init/sbin
Cch 2: Khi ng Linux ch rescue, xem li danh sch mount point ca cc partition
o Dng a ci Linux, sang ch rescue, chroot /mnt/sysimage
o G lnh mount hoc m file /etc/mtab bit c partition no l / v partition no l
/boot/. Nu khng c thng tin v mount point /boot chng t partition boot chnh l
partition /.
Sau khi g 2 lnh kernel v initrd ngi dng phi g lnh boot khi ng.
120/145
Ti nhn FreeBSD
Cng tng t Linux:
grub> root (hd0,a)
grub> kernel /boot/loader
grub> boot
khi ng c partition DOS ny (dng lnh chainloader, trc c th phi dng lnh
map)
3. Lp li thao tc trn c thm mt partition DOS na. Sa li grub.conf c thm mt
menu khi ng partition DOS ny (lc ny bt buc phi dng lnh hide, unhide,
makeactive).
III. init
1. /sbin/init chy v c file /etc/initab
Sau khi kernel c ti, kernel cho thc thi file kh thi /sbin/init v /sbin/init tr thnh
process u tin (c PID=1), cha ca tt c cc process sau ny. Process init s gi cc daemon cn
thit khc thit lp h thng theo mt trong 7 kiu nh trc, gi l 7 run level. Cu hnh cho vic
gi cc daemon c ghi trong file /etc/inittab.
Nhc li v 7 run level:
Run level 0: H thng s dng (halt). trng thi ny CPU khng cn lnh thc thi, ngi
dng ch c th tt ngun in hoc khi ng li.
Run level 1: H thng ch mt ngi dng (single user mode) v ngi dng l root,
thm ch khng cn password ca root ng nhp.
Run level 2, 3, 5: H thng ch a ngi dng v
Run level 2: khng c service NSF
Run level 3: c y cc daemon (bao gm cc daemon v mng)
Run level 5: = run level 3 + X11
Run level 4: run level ny dnh cho ngi dng nh ngha, nu ngi dng khng dng
n, mc nh run level ny s trng run level 3.
Run level 6: H thng s reboot.
bit h thng ang run level no, ti du nhc ca terminal dng lnh run level
H thng ang mt run level no , nu mun chuyn sang run level khc dng lnh init x vi x
l s run level.
C th la chn run level lc Linux bt u khi ng bng cch vo GRUB, chn sa dng lnh ti
nhn (bm e), tm n dng bt u bng kernel, thm vo cui dng s run level cn chy cui
lnh. Cui cng khi ng (bm b).
V d: chy ch single user (run level 1) bng cch thm 1 cui dng kernel
kernel (hd0,1)/boot/vmlinuz-2.6.9-5.EL
root=/dev/VolGroup00/LogVol00 1
2. /etc/inittab
Khi process init c thc thi, n c file cu hnh /etc/inittab (vit tt ca init table) bit
xem c th n s a h thng vo run level no, t gi cc daemon tng ng vi run level .
V d mt file /etc/inittab nh di y:
# Author:
Miquel van Smoorenburg,
id:3:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc
l1:1:wait:/etc/rc.d/rc
l2:2:wait:/etc/rc.d/rc
l3:3:wait:/etc/rc.d/rc
l4:4:wait:/etc/rc.d/rc
l5:5:wait:/etc/rc.d/rc
l6:6:wait:/etc/rc.d/rc
0
1
2
3
4
5
6
122/145
# Things to run in every run level. This line is only in Red Hat 7.X
ud::once:/sbin/update
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, schedule a shutdown for 2 minutes from
now.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Canceled"
# Run gettys in standard run levels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in run level 5
x:5:respawn:/etc/X11/prefdm nodaemon
Trng u tin (v d: id, si, l0, ca, pf, pr) l tn gi cho dng . Tn gi khng quan trng
nhng cn khc nhau cho mi dng.
Trng th hai (v d: 3, 1, 2345 hoc trng) l run level m dng cu hnh ny p dng
cho. Nu trng l 2345 th dng p dng cho 4 run level l 2, 3, 4, 5; nu trng th p dng
cho tt c cc level.
Trng th t (v d: /etc/rc.d/rc 0, /sbin/mingetty tty1) l lnh hoc script m init cn thc thi.
Trong v d th 0 v tty1 l i s truyn vo cho script rc v lnh mingetty.
Ngoi ra cn c dng cu hnh cho init chy khi ngi dng bm CTRL + ALT + DEL hoc khi b
lu in UPS ca h thng trc trc v.v.
IV. Tt my
Vi qun tr server th tt my/khi ng li Linux l vic rt hn ch, nhng nu phi lm th c n
vi lnh nh sau:
o halt. Lnh halt c dng dng (halt) h thng. Trng thi dng ca h thng l trng
thi khng c lnh g cho CPU thc hin lnh (c th hn l con tr lnh ca CPU tr vo a ch
0). Trng thi ny khc vi trng thi Linux ang chy nhng ngi dng c cm gic Linux ang
khng lm g. K thc trng thi ny, h thng vn ang phi bt lnh ca ngi dng qua bn
phm hoc con chut. Khi h thng bc vo trng thi dng th bc tip theo bn ch c th khi
ng/tt ngun in ca my tnh. trng thi dng h thng thng c thng bo mi bn tt
my. Ngy nay nhiu h thng khi n trng thi halt n cng t tt ngun in.
Lnh halt (khng tham s) s: log (ghi nht k) li qu trnh dng, kill ht cc tin trnh ang
chy, thc hin sync ghi ht d liu trong b nh m ra a cng, cui cng a CPU v
trng thi dng.
o init. Lnh init (hoc telinit) chuyn h thng v mt run level no .
- init 0 a h thng v run level 0 trng thi dng. run level ny Linux thc hin
mi lnh halt.
- init 6 a h thng v run level 6 tc l khi ng li h thng. run level ny
Linux thc hin killall ng tt c cc tin trnh v sau thc hin lnh reboot
khi ng li.
o reboot. Lnh reboot (khng tham s) khi ng li my.
o poweroff. Lnh poweroff (khng tham s) tt my.
o shutdown. y l lnh tng qut nht, n c dng khi ng li/dng (halt)/tt my/a h
thng v ch single user. Trc khi khi ng/tt my/dng/a v single user, lnh s gi
thng bo v vic shutdown ti tt c cc user ang ng nhp v ngn cc user khc sp ng
nhp.
shutdown [-r|-h|-P] [-f|-F] <time> [warning]
- Tham s <time> (bt buc phi c) ch ra thi im m h thng s thc hin shutdown.
Cc dng c th c l now (ngay by gi), hh:mm (gi:pht cn thc hin), +m (m l s pht
sau thi im hin ti).
- Tham s -F nu mun ln khi ng sau, h thng s thc hin lnh fsck kim tra a.
Tham s -f nu khng mun thc hin fsck.
- Dng tham s:
124/145
toi
hoc shutdown P 10:00 May tinh se tat vao luc 10h
Cc lnh sau tuy cho cng kt qu nhng thc s th shutdown r (-h) thc hin cc thao tc dn dp
h thng k lng hn init 6 (0) v hn reboot (halt).
shutdown r now = init 6 = reboot
shutdown h now = init 0 = halt
Bi thc hnh trn lp:
1. Qu trnh np h iu hnh: MBR, bootsector. GRUB thay th MBR
2. Hot ng ca GRUB:
a. Th mc /boot/grub/
b. GRUB ln nn c chia lm 2 phn: stage 1 nhng vo MBR ri tm n v ti stage
2
c. Khi grub c ti n s c file grub.conf thc thi lnh
3. Lm hng GRUB v ci li GRUB bng Linux rescue
4. ------------ht 40 pht----------------5. S lc v 2 lnh: kernel root= v initrd
6. Xc nh tham s cho kernel v initrd partition cha /boot/grub
a. Trng hp 1: partition /boot c t ring find /grub/stage1
b. Trng hp 2: partition /boot khng c t ring find /boot/grub/stage1
7. Xc nh tham s cho root= find /sbin/init
8. Mt cch khc xc nh lun c 2 ci l: linux rescue ri xem file /etc/mtab
9. Ci t Linux vi partition / trn LVM hoc RAID
125/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
Ngoi chc nng to my o, VMware Workstation cn cho php ngi dng to ra cc mng o gia
my tht, cc my o v mng ngoi ca my tht. Bi vit ny s gip bn hiu v mng o trong
VMware Workstation 5,6 c th t xy dng mng LAN/WAN cho ring mnh phc v vic hc
networking (rt hu ch cho nhng ai khng c thit b hc thc hnh mng).
Di y chng ti s coi nh bn to c cc my o ri v i lun vo vic cu hnh mng o.
1. Ni my tht/ my o vo cc switch o
VMware Workstation cung cp cho ngi dng 10 switch o VMnet i (i= 0, 1, 8, 9) lm cng c
cho cc my giao tip vi nhau (my tht vi my o, my o vi my o hay my o vi mng ngoi
ca my tht). Ngi dng s ni cc card mng (NIC) ca my tht hay my o vo cc virtual
switch ny to thnh mt hay nhiu mng LAN o theo mun. Cc switch VMnet0, VMnet1,
VMnet8 cn c ni sn vi mt vi thit b o c bit khc (virtual bridge, virtual DHCP server,
virtual NAT device) s c ni n cc phn sau. (Trong thc t c th dng dy mng ni trc
tip 2 my li vi nhau nhng trong VMware nu 2 my mun giao tip c vi nhau vn phi ni
vo cng mt switch no )
126/145
Trong VMware chn Edit Virtual Network Setting Host Virtual Network Mapping (xem hnh
1), ti mi combo box ca cc switch o, ngi dng c th chn mt NIC tht ni vo (d nhin
mt NIC ch c th c ni vo nhiu nht l mt switch). Ring switch VMnet0, NIC tht s khng
c ni trc tip vo switch m phi ni thng qua mt virtual bridge iu ny s c ni n
phn 2.
127/145
Sau khi ci t VMware, VMware cng to sn cho bn 2 NIC o l VMware Network Adapter
VMnet1 (ni vi switch VMnet1) v VMware Network Adapter VMnet 8 (ni vi switch VMnet8)
(trong Window c th thy trong Control Panel\ Network Connection), nu khng mun bn c th
remove chng.
Ch v ch c 10 switch o nn ti a ngi dng to c 10 NIC o trn my tht. VMware cng
ch cho php hoc l mt NIC tht hoc l mt NIC o (trn my tht) c ni vo mt switch m
khng th c 2 NIC cng ni vo switch.
128/145
1.2 Ni my o vi switch o:
129/145
Nu my tht c NIC tht th NIC tht s c ni vi bridge o (nu khng c NIC tht th bridge o
tr thnh v ngha). Vic ni ny l hon ton do VMware lm t ng, bn c th khng cn quan
tm nhng cng c cu hnh li theo mnh c. Trong Edit\ Virtual Network Setting\ Host Virtual
Network Mapping (xem hnh 1), ti combo box ca VMnet0 bn c th ch Bridged to an
automatically chosen adapter VMware t chn NIC tht u tin c th thng vi mng ngoi
hoc bn cng c th ch r ra NIC tht no s c ni vi bridge (nu c nhiu NIC tht).
Nu NIC tht c mt ng dy ni vi mng vt l ngoi (ni vo mt mng LAN hay ni vo mt
modem ADSL c NAT c bt chng hn) th VMware s to ra mt c ch ngi dng c cm
gic nh ng dy ni vt l vi mng ngoi khng phi xut pht t NIC tht m xut pht t
bridge o. C ch ny phi m bo NIC tht khng nhng ch gi/nhn cc gi tin t/n my tht
m cn gi/nhn cc gi tin t/n my o nm trong my tht, tuy nhin bi vit ny s khng i su
vo tm hiu.
130/145
Hnh 5: Switch VMnet1 c ni sn vi mt virtual DHCP server v NIC o VMware Network Adapter VMnet1
C th g DHCP server ny ra cng nh to thm cc DHCP server khc ni vo cc switch cn li
DHCP settting dialog, bn c th thit lp di a ch IP cp pht (Start IP , End IP) nhng Subnet,
Netmask b m. Mun thit lp 2 ny, vo vo Edit Virtual Network Setting Host Virtual Network
Mapping, sau chn switch cn thit lp, bm vo
chn Subnet
131/145
cu hnh cho virtual DHCP server ti tab DHCP bn chn Properties sau t di a ch IP cn
gn, thi gian gn (xem hnh 7). Ch phn ch Subnet v Netmask b m nn bn phi quay
li hnh 1 bm vo nt
th mi thit lp c.
Virtual DHCP server lun dng a ch lp C gn cho cc my: My tht lun l <net>.1, DHCP
server lun l <net>.254, cc my o trong switch thng nm trong di <net>.3 - <net>.253, NAT
device (xem phn 4) (nu c) lun l <net>.2.
Nu bn to DHCP server cho switch VMnet0 (xem phn 3) th cc my mng ngoi ca my tht
c th b nh hng.
132/145
Hnh 8: Switch VMnet8 c ni sn vi: NIC o VMware Network Adapter VMnet8, virtual DHCP server, virtual NAT
device. Cc my o s c NAT thng qua gateway l virtual NAT device.
133/145
V nguyn tc bn c th cho
rng VMware cng s t to ra
mt NIC o trn my tht (nh l
2 NIC o VMware Network
Adapter VMnet 1 v 8) lm
gateway ri NAT gia gateway
ny v NIC tht nhng trn thc
t VMware khng lm nh
vy, thay vo n to ra mt
virtual NAT device lm gateway.
L d nhin NAT device cng
phi c a ch IP nh NIC vy
nhng bn khng th cu hnh n
nh mt NIC c. (Trong
Windows nu vo Control Panel\
Network Connection bn s
khng tm thy NAT device ny)
cu hnh NAT device bn vo
Vo Edit\ Virtual Network
Setting\ NAT (xem hnh 9)
Theo mc nh NAT device c
ni sn vi switch VMnet8 nhng
bn cng c th ni n vi mt
swtich khc. Tuy nhin ch c
ng mt virtual NAT device
c to ra trn my tht th nn
ti mt thi im NAT device ny Hnh 10: t a ch IP cho gateway (NAT device) v cu hnh NAT service
cng ch c ni vi mt switch
no thi. iu ny dn n vic nu bn c 2 LAN segment v mun NAT cho c 2 LAN segment
ny cng mt lc th khng th thc hin c. C th g NAT device khi switch bng cch chn
Diable.
cu hnh cho gateway (tc l NAT device) bn chn Edit (xem hnh 10)
134/145
Hnh 11: Cc my ngoi ni vi cc switch, nu trong cng mt VM Team c th ni vo cng mt LAN segment.
135/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
I. Khi nim mng my tnh. Phn cng mng v Giao thc mng (cha
vit)
II. Mng LAN v WAN (cha vit)
III. TCP/IP (cha vit)
IV. a ch IP
Mi host mun tham gia mng IP th phi c mt card mng c th gi/nhn cc gi tin. Mi card
mng u c gn mt s 32 bit gi l a ch IP. Tng t nh khi nim a ch nh trong thnh
ph, a ch IP ca mt card mng, cng c coi l a ch IP ca mt my tnh trn mt mng c
dng xc nh v tr ca my tnh trn mng.
Mi mt gi tin khi c gi i n s c ng thm a ch IP ca host gi v a ch IP ca host
nhn (ni chnh xc hn l ca card mng host gi/nhn). Da vo a ch IP m cc router s
chuyn gi tin n ng ni cn n.
Nu host c nhiu card mng tham gia nhiu mng IP th lc host s c nhiu a ch IP v n
tr thnh router. a ch IP l khi nim cho card mng, ch khng phi cho my tnh.
a ch IP gm 32 bit c phn lm 4 cm, mi cm 8 bit, ngn cch nhau bng du chm. d
hiu vi con ngi, ngi ta thng chuyn mi cm 8 bit thnh s thp phn, v v c 8 bit nn gi
tr mi con s ny nm t 0 n 255 (=28-1).
V d 1: mt a ch IP c th c vit 2 dng tng ng
Nh phn:
11000000 . 10100000 . 10001000 . 00011100
Thp phn:
192
.
160
.
136
.
28
V d 2: a ch 192.0.256.0 l a ch khng hp l ch 256 n vt qu gii hn 255.
Mi mt host trn Internet u thuc v mt mng IP no (ri mng IP ny mi c ni vo cc
router ca Internet). a ch IP cng th hin iu ny, n c phn lm 2 phn: Network ID v Host
ID. Ngi ta dnh mt s bit u tin trong 32 bit a ch IP ch Network ID, nhng bit cn li
lm Host ID. Network ID xc nh mng no m host thuc v, Host ID xc nh host l im
no trong mng. Nhng host m IP c phn Network ID ging nhau th nm cng mng vi nhau.
th hin L bit u tin ca a ch IP c dng lm Network ID ngi ta thm k hiu /L vo sau
a ch IP. v d a ch IP trn y, gi s ngi ta dng 16 bit u tin lm Network ID do
a ch ny nn c ghi li thnh 192.160.136.28/16.
Mt cch khc ch ra s bit lm Network ID l dng thm 32 bit gi l subnet mask (hay net mask)
km theo a ch IP. Subnet mask c cu trc nh a ch IP tc l cng c chia lm 4 cm, mi
cm 8 bit v ngoi dng nh phn cng c vit di dng thp phn. Subnet mask gm mt lot cc
bit u l 1, cc bit cn li l 0. S cc bit 1 (nm u) bng s bit c dng lm Network ID trong
a ch IP.
136/145
Trong cch phn ny, phn Network ID chim 1, 2 hay 3 cm 8 bit tri nht ca a ch IP v ngi ta
gi cc a ch IP ny ln lt thuc cc lp A, B, C. Du hiu phn bit 3 lp A, B, C ny l (cc) bit
u tin ca a ch IP l 0, 10 hay 110.
Cc a ch IP cn li (lp D, E) c dnh ring cho cc mc ch c bit.
Lp A:
Network ID
Host ID
Lp B:
Host ID
Network ID
Lp C:
Host ID
Network ID
Lp
Cc
Bit
u
tin
1
Di a ch ca lp
Subnet mask
S mng c
S Host c
hoc dng a
th c
th c trong
ch (N: Network
mi Mng ca
ID, H: Host ID)
lp
*
7
24
A
1.0.0.0 - 126.255.255.255 ( )
255.0.0.0
2 2 = 126 2 2 =
N.H.H.H
(*)
16777216 (**)
B
10
128.0.0.0 - 191.255.255.255
255.255.0.0
214 = 16384 216 2 =
N.N.H.H
65536 (**)
C
110 192.0.0.0 - 223.255.255.255
255.255.255.0 221 =
28 2 = 254
N.N.N.H
2097152
(**)
D
1110 224.0.0.0 - 239.255.255.255
Dng multicast
E
1111 240.0.0.0 - 255.255.255.255
Khng c dng n
(*) Phi tr i 2 v byte 0 khng c dng lm Network ID lp A, di a ch bt u bng byte 127
c dnh ring lm di a ch loopback.
(**) Phi tr i 2 v Host ID vi tt c cc bit 1 c dnh ring lm a ch broadcast, Host ID vi tt
c cc bit 0 c dnh ring lm a ch mng.
Khi gn a ch IP, hy cha ra a ch mng v a ch broadcast
Mi mng c mt di a ch IP, cc my trong mng s c gn cc a ch IP trong di ny tr 2 a
ch IP u v cui c dng vo mc ch c bit:
- a ch IP u di c phn Host ID ton cc bit 0 dng lm a ch mng. a ch mng
c lu tr trong router.
- a ch IP cui di c phn Host ID ton cc bit 1 dng lm a ch broadcast. Khi mt my
mun gi gi tin n tt c cc my trong mng n s dng a ch ch l a ch broadcast.
V d 1: Xt mt mng lp C c Network ID l 192.1.7 (do k hiu l 192.1.7.0/24), di a ch ca
mng ny gm 256 a ch t 192.1.7.0/24 n 192.1.7.255/24.
11000000 . 00000001 . 00000111 . xxxxxxxx
192
.
1
.
7
.
[0-255]
137/145
Subnet
tng ca k thut subnet (chia thnh mng con) l chia mi mng thuc lp A, B, C thnh nhiu
mng con nh hn bng cch dch chuyn mt s bit trong phn Host ID a vo lm Network ID.
Gi s ly thm n bit, lc ny s bit cho Network ID s tng thm n do c 2n mng con, s bit cho
Host ID s gim i n v do s host trong mi mng con s gim i 2n ln so vi tng s host trong
mng ban u.
V d 2: xt mng lp C ni v d trn 192.1.7.0/24, c di a t 192.1.7.0 n 192.1.7.255.
chia mng ny thnh 4 mng con cn dch chuyn 2 bit ca Host ID vo lm Network ID. Lc
mng con s c 26 bit trong a ch IP lm Network ID hay subnet mask ca mng con l 11111111.
11111111. 11111111.11000000 hay 255.255.255.192.
Host ID ban u
Network ID ban u
192.1.7.0 1 1 0 0 0 0 0 0 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 1 1 1 . a b x y z t u v
Network ID sau khi subnet
2
192.1.7.64/26
192.1.7.65/26 - 192.1.7.126/26 192.1.7.126/26
3
192.1.7.128/26 192.1.7.129/26 - 192.1.7.191/26 192.1.7.191/26
4
192.1.7.192/26 192.1.7.193/26 - 192.1.7.254/26 192.1.7.254/26
S mng cho vic subnet ny nh th no ?
Hnh ?? l s ca mng 192.1.7.0/24 ban u. C th chia mng ny thnh 4 mng nh s
hnh ?? hoc hnh ??.
(Chn 2 ci hnh mng chia lm 4 vo y, c ni Internet
Mt ci hnh l my ci router ni ui nhau kh l lng v thm c ci )
V d 3: Vn xt mng lp C ni v d trn 192.1.7.0/24. Chia th no c c cc mng con m
mi mng c khong 25 my.
Mng 192.1.7.0/24 c khong 256 my, nu dng n bit ca Host ID lm Network ID th s lng
mng con l 2n, s lng my trong mi mng con l 256/2n. mi mng c khong 25 my th ti
u nht l chn n = 3, lc c 8 mng, mi mng c 32 a ch IP.
Dng thm 3 bit nn tng cng dng 27 bit trong a ch IP lm Network ID trong cc mng
con. Ni cch khc subnet mask ca mng con l
11111111. 11111111. 11111111.11000000 hay 255.255.255.224.
Nh vy t mng 192.1.7.0/24 ta chia thnh 8 mng con:
Mng
a ch broadcast
a ch mng
a ch IP gn cho cc host
con th
ca mng
1
192.1.7.0/27
192.1.7.1/27 192.1.7.30/27
192.1.7.31/27
2
192.1.7.32/27
192.1.7.33/27 192.1.7.62/27
192.1.7.63/27
3
192.1.7.64/27
192.1.7.64/27 192.1.7.94/27
192.1.7.95/27
4
192.1.7.96/27
192.1.7.97/27 192.1.7.126/27
192.1.7.127/27
5
192.1.7.128/27 192.1.7.129/27 192.1.7.158/27 192.1.7.159/27
6
192.1.7.160/27 192.1.7.161/27 192.1.7.190/27 192.1.7.191/27
7
192.1.7.192/27 192.1.7.193/27 192.1.7.222/27 192.1.7.223/27
8
192.1.7.224/27 192.1.7.225/27 192.1.7.254/27 192.1.7.255/27
V ci s 2 router ni vi nhau vo y, gii thch mi router ch c ti a 4 cng thi.
Gii hn s bit cho Network ID
Tng s bit cho Network ID khng c nh hn 8. L do l ngi ta ch subnet cc mng lp A, lp
B, lp C trong mng lp A c s bit cho Network ID thp nht v l 8.
Tng s bit cho Network ID khng c ln hn 30. L do l s bit cho Host ID m nh hn 2 tc l
bng 1 th s a ch IP c th c trong mng ch bng 2 m mi mng mt 2 a ch IP dng lm
a ch mng v a ch broadcast do s khng th cn a ch IP gn cho cc my trong mng.
Nhng a ch IP nh 1.1.10.10/6 hoc 204.1.192.1/31, nhng subnet mask nh 240.0.0.0 u l
khng hp l.
Tnh nhm vi a ch IP
T mt a ch IP v subnet mask v d 13.3.174.68 v 255.255.255.260 (hoc ngn gn hn l t a
ch IP 192.1.10.180/27) cn tnh ra a ch mng cha IP ny ? Cch lm cho con ngi l bn dng
cc bit ca 1 subnet mask ln a ch IP tm ra cc bit no l Network ID. Cch lm ca my l thc
hin php ton AND:
a ch mng = Subnet mask AND a ch IP
a ch IP
00001101.00000011.10101110.01000100 13.3.174.68
Subnet mask 11111111.11111111.11111111.11100000 255.255.255.260
a ch mng 00001101.00000011.10101110.01000100 13.3.174.64
Vi cc mng con ca mng lp C c th tnh nhm s a ch IP trong mng theo cng thc:
S a ch IP trong mng = 256 byte cui cng ca subnet mask
V d: mt mng con c subnet mask l 255.255.255.128 s a ch IP c th c ca mng con ny
l 256-128 = 128.
Bi subnet mask c khun dng mt dy cc bit 1 lin nhau v mt dy cc bit 0 lin nhau nn 4 byte
subnet mask s c dng: 1 hoc 2 hoc 3 s 255 v byte cui cng ch nhn mt trong cc gi tr: 252,
248, 240, 224, 192, 128.
139/145
a ch loopback
a ch loopback l a ch c dng 127.x.x.x/8, ph bin nht l 127.0.0.1. a ch loopback, ng
nh tn gi loopback c ngha l ln vng li, l a ch m khi mt card mng (chnh xc hn l
phn mm TCP/IP) gi gi tin n a ch ny th card mng nhn c ngay chnh gi tin (d
nhin lc ny vi a ch ngun l a ch loopback).
Thc s, khi ng gi gi tin gi n a ch 127.x.x.x, phn mm TCP/IP khng h chuyn gi tin
xung tng card mng m gi n li tng network do m thnh chuyn tng network ngay khi gi
i th nhn c lun. V khng lin quan n card mng nn vic gi/nhn gi tin n/t 127.0.0.1
hon ton do phn mm TCP/IP thc hin. y l l do v sao ngi ta dng lnh ping 127.0.0.1
test xem phn mm TCP/IP c li g khng.
Linux cn lm hn mt card mng o (tc l dng phn mm, khng phi phn cng) tn l lo (vit tt
ca loopback) c gn a ch 127.0.0.1
140/145
141/145
y l mt bi ca bn tho Gio trnh Nhp mn Qun tr H thng Linux ang vit d. Trn Huy Thng tranhuythang@gmail.com,
Rt mong bn c c th tham gia vit nt phn cn li ca cun sch. Bn c c th ng li mt phn hay ton b tp bn tho ny nhng cn ghi
r ngun v thng bo tm ngi vit tip ny. Nu ng li vi nh thng mi th xin nhn trc cho tc gi.
Sau khi lp t card mng vo my, bn phi ci driver cho card mng nhng thng Linux t ng
lm vic ny cho bn. Khi khi ng my, chng trnh kudzu (trn Redhat) s d tm phn cng
mi c lp t, nu pht hin c card mng mi lp n s tm driver thch hp trong th vin driver
card mng ca Linux ti: /lib/modules/release/kernel/drivers/net
Nhn vo trong th mc ny bn s bt gp cc file c tn nh: e1000.ko, smc-ultra.ko,
3c-59x.ko, r8189.ko y chnh l driver ca cc hng quen thuc nh Intel, SMC, 3Com,
Realtek. Trong trng hp Linux khng c sn driver, bn buc phi t tm driver t pha nh sn xut
v ci theo hng dn ca h.
Thng tin v vic d tm cc thit b phn cng khi Linux khi ng c th c hin th bng lnh
dmesg (xem thm mc ??). C th dng lnh ny xem h thng c bao nhiu card mng:
[root@localhost Desktop]# dmesg|grep eth
eth0: registered as PCnet/PCI II 79C970A
eth1: registered as PCnet/PCI II 79C970A
eth0: link up
eth1: link up
eth0: no IPv6 routers present
Lnh ifconfig
142/145
Mask:255.255.255.0
143/145
eth0:1
[...]
[root@localhost Desktop]# ifconfig eth0:0
eth0:0
Link encap:Ethernet HWaddr 00:0C:29:C6:AC:DF
inet addr:192.1.7.163 Bcast:192.1.7.191 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x2000
Bt tt card mng
- Tt (down) card mng ethX bng lnh ifconfig ethX down hoc ifdown ethX
- Bt (up) card mng ethX bng lnh ifconfig ethX up hoc ifup ethX
Khi c bt ln, card mng s c cu hnh theo file /etc/network/interfaces (Ubuntu),
/etc/sysconfig/network-scripts/ifcfg-ethn (Redhat),
/etc/sysconfig/network/ifcfg-nnn (SUSE) (xem mc ??).
Khi bn thay i file cu hnh li card mng, nhng thay i c hiu lc th phi tt i ri bt li
card mng.
B cng c ip
Cng c ip ra i sau v nhiu chc nng hn ifconfig, c bit chc nng routing m ifconfig
khng c nhng mc ny ta cha xt n chc nng ny.
Gn a ch IP cho card mng
Hin th thng tin v card mng:
144/145
145/145