linux basic

221
Qun trHthng Linux - Cơ bn 1 TÀI LIU ĐÀO TO QUN TRHTHNG LINUX Tài liu này được biên son theo tài liu ging dy ca Vin Linux (LPI) HÀ NI 2006

Upload: thanhminhha

Post on 23-Nov-2015

34 views

Category:

Documents


10 download

TRANSCRIPT

  • Qun tr H thng Linux - C bn

    1

    TI LIU O TO

    QUN TR H THNG LINUX

    Ti liu ny c bin son theo ti liu ging dy ca Vin Linux (LPI)

    H NI 2006

  • Qun tr H thng Linux - C bn

    2

    MC LC

    GII THIU GIY PHP CNG CNG GNU..............................................8

    GII THIU.......................................................................................................17

    Gii thiu ti liu ................................................................................................... 17

    CI T .............................................................................................................18

    Cu trc ca a ci................................................................................................ 18

    Ci t Cc b........................................................................................................ 19

    Ci t qua Mng ................................................................................................... 20

    Phc hi H thng.................................................................................................. 20

    Chin lc Phn vng............................................................................................ 21

    Khi ng kp vi nhiu h iu hnh .................................................................. 22

    Bi tp .................................................................................................................... 22

    CU HNH PHN CNG ................................................................................23

    B nh.................................................................................................................... 23

    Qun l Ti nguyn................................................................................................ 23

    USB........................................................................................................................ 25

    SCSI ....................................................................................................................... 25

    Network Card......................................................................................................... 26

    Modem ................................................................................................................... 27

    My in .................................................................................................................... 28

    Bi tp .................................................................................................................... 28

    QUN L THIT B .........................................................................................29

    a v Phn vng ................................................................................................... 29

    Cng c Phn vng a .......................................................................................... 30

    Bootloader.............................................................................................................. 31

  • Qun tr H thng Linux - C bn

    3

    Nhng thit b qun l....................................................................................... 33

    Quotas .................................................................................................................... 34

    Bi tp .................................................................................................................... 35

    H THNG FILE TRONG LINUX.................................................................36

    Cu trc ca h thng file ...................................................................................... 36

    H thng file chun ext2........................................................................................ 38

    Kim sot dung lng a...................................................................................... 40

    Quyn truy xut File, Th mc.............................................................................. 41

    Bi tp .................................................................................................................... 44

    CH DNG LNH .....................................................................................46

    Tng tc vi SHELL ........................................................................................... 46

    Bin mi trng ca Shell ..................................................................................... 48

    Chuyn hng kt xut .......................................................................................... 50

    Du ngoc v Cc k t a ngha (Metacharacter)............................................... 53

    Lch s dng lnh................................................................................................... 55

    Bi tp .................................................................................................................... 56

    QUN L FILE .................................................................................................59

    Di chuyn quanh h thng file ............................................................................... 59

    Tm kim file v th mc....................................................................................... 59

    Lm vic vi th mc ............................................................................................ 62

    S dng cp v mv .................................................................................................. 62

    Hard links v symbol links .................................................................................... 64

    Touching v dd-ing ................................................................................................ 65

    Bi tp .................................................................................................................... 66

    QUN L TIN TRNH...................................................................................68

    Xem cc tin trnh ang chy ................................................................................ 68

  • Qun tr H thng Linux - C bn

    4

    Thay i tin trnh.................................................................................................. 70

    Tin trnh v Shell.................................................................................................. 72

    Bi tp .................................................................................................................... 74

    X L VN BN ..............................................................................................76

    cat the Swiss Army Knife ...................................................................................... 76

    Cc cng c n gin............................................................................................. 77

    X l vn bn......................................................................................................... 79

    Bi tp .................................................................................................................... 81

    CI T PHN MM......................................................................................84

    Gii thiu ............................................................................................................... 84

    Th vin tnh v th vin chia x .......................................................................... 85

    Ci t ngun ......................................................................................................... 88

    Qun l gi Redhat ( Redhat Package Manager RPM) ......................................... 89

    Cng c Alien ........................................................................................................ 93

    Bi tp .................................................................................................................... 94

    THAO TC VI VN BN NNG CAO ......................................................95

    Cc biu thc chnh qui ......................................................................................... 95

    H grep................................................................................................................... 96

    Lm vic vi grep .................................................................................................. 96

    egrep v fgrrep ....................................................................................................... 97

    B son tho Stream sed..................................................................................... 97

    Bi tp .................................................................................................................... 99

    S DNG TRNH SON THO VI .............................................................101

    Cc ch Vi....................................................................................................... 101

    Cc mc vn bn.................................................................................................. 101

    Chn vn bn........................................................................................................ 102

  • Qun tr H thng Linux - C bn

    5

    Xo vn bn ......................................................................................................... 103

    Copy / Paste ......................................................................................................... 103

    Tm kim.............................................................................................................. 104

    Lm li (Undo)..................................................................................................... 105

    Ghi vn bn .......................................................................................................... 105

    Bi tp .................................................................................................................. 106

    NHN LINUX...................................................................................................107

    Khi nim nhn .................................................................................................... 107

    Nhn Modular ...................................................................................................... 108

    Bin dch li nhn ................................................................................................ 109

    Thc hnh ............................................................................................................ 116

    KHI NG LINUX ......................................................................................117

    Tng quan ............................................................................................................ 117

    Tm hiu cc mc thc thi (Runlevels)................................................................ 117

    inittab ................................................................................................................... 119

    GRUB - GRand Unified Bootloader.................................................................... 121

    T khi ng n bash......................................................................................... 123

    Thc hnh ............................................................................................................ 124

    QUN L NGI DNG V NHM .........................................................125

    To ngi dng mi............................................................................................. 125

    Lm vic vi nhm .............................................................................................. 126

    File cu hnh......................................................................................................... 128

    Cc tham s la chn ca cu lnh..................................................................... 131

    Sa thit lp mc nh v ti khon ..................................................................... 131

    Thc hnh ............................................................................................................ 134

    CU HNH MNG ..........................................................................................136

  • Qun tr H thng Linux - C bn

    6

    The Network Interface ......................................................................................... 136

    Thng tin my ch (Host Information)................................................................ 137

    Khi ng (Start) v dng (Stop) mng .............................................................. 138

    nh tuyn............................................................................................................ 140

    Cc cng c mng................................................................................................ 143

    Thc hnh ............................................................................................................ 147

    MNG TCP/IP .................................................................................................149

    S nh phn v Dotted Quad ................................................................................ 149

    a ch Broadcast, a ch mng v netmask ....................................................... 149

    Lp mng ............................................................................................................. 152

    Subnets ................................................................................................................. 153

    H giao thc TCP/IP............................................................................................ 155

    Cc dch v v cc cng trong TCP/IP ................................................................ 157

    Thc hnh ............................................................................................................ 159

    CC DCH V MNG....................................................................................160

    Tin trnh nn inetd (c) ...................................................................................... 160

    Tin trnh nn xinetd............................................................................................ 161

    TCP wrappers....................................................................................................... 162

    Thit lp NFS....................................................................................................... 163

    SMB v NMB ...................................................................................................... 164

    Cc dch v DNS ................................................................................................. 166

    My ch Apaches................................................................................................. 172

    Thc hnh ............................................................................................................ 174

    BASH SCRIPTING ..........................................................................................177

    Mi trng bash................................................................................................... 177

    Cc yu t Scripting............................................................................................. 179

    Tnh ton logic ..................................................................................................... 181

  • Qun tr H thng Linux - C bn

    7

    Vng lp............................................................................................................... 182

    Nhp d liu t dng lnh ................................................................................... 184

    Lm vic vi s.................................................................................................... 185

    Thc hnh ............................................................................................................ 185

    BO MT .........................................................................................................187

    Bo mt a phng............................................................................................. 187

    An ninh mng....................................................................................................... 190

    Shell an ton......................................................................................................... 194

    Cu hnh thi gian................................................................................................ 196

    Bo mt nhn ....................................................................................................... 198

    QUN TR H THNG LINUX....................................................................201

    Tng quan ............................................................................................................ 201

    Logfiles v cc file cu hnh ................................................................................ 201

    Cc tin ch nht k.............................................................................................. 203

    T ng ha cng vic (Automatic Tasks).......................................................... 205

    Sao lu v nn...................................................................................................... 207

    Ti liu ................................................................................................................. 209

    Thc hnh ............................................................................................................ 212

    IN N .................................................................................................................214

    B lc (Filters) v gs............................................................................................ 214

    My in v hng i in .......................................................................................... 214

    Cc cng c in n................................................................................................. 215

    Cc file cu hnh .................................................................................................. 217

    Thc hnh ............................................................................................................ 220

  • Qun tr H thng Linux - C bn

    8

    GII THIU GIY PHP CNG CNG GNU

    BN DCH TING VIT CA GIY PHP CNG CNG GNU

    y l bn dch ting Vit khng chnh thc ca Giy php Cng cng GNU. Bn dch ny khng phi do T chc Phn mm T do n hnh, v n khng quy nh v mt php l cc iu khon cho cc phn mm s dng giy php GNU GPL -- ch c bn ting Anh gc ca GNU GPL mi c tnh php l. Tuy nhin, chng ti hy vng rng bn dch ny s gip cho nhng ngi ni ting Vit hiu r hn v GNU GPL.

    GIY PHP CNG CNG GNU (GPL)

    Giy php cng cng GNU Phin bn 2, thng 6/1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

    Mi ngi u c php sao chp v lu hnh bn sao nguyn bn nhng khng c php thay i ni dung ca giy php ny.

    Li ni u

    Giy php s dng ca hu ht cc phn mm u c a ra nhm hn ch bn t do chia s v thay i n. Ngc li, Giy php Cng cng ca GNU c mc ch m bo cho bn c th t do chia s v thay i phn mm t do - tc l m bo rng phn mm l t do i vi mi ngi s dng. Giy php Cng cng ny p dng cho hu ht cc phn mm ca T chc Phn mm T do v cho tt c cc chng trnh khc m tc gi cho php s dng. (i vi mt s phn mm khc ca T chc Phn Mm T do, p dng Giy php Cng cng Hn ch ca GNU thay cho giy php cng cng). Bn cng c th p dng n cho cc chng trnh ca mnh.

    Khi ni n phn mm t do, chng ta ni n s t do s dng ch khng quan tm v gi c. Giy php Cng cng ca chng ti c thit k m bo rng bn hon ton t do cung cp cc bn sao ca phn mm t do (cng nh kinh doanh dch v ny nu bn mun), rng bn c th nhn c m ngun nu bn c yu cu, rng bn c th thay i phn mm hoc s dng cc thnh phn ca

  • Qun tr H thng Linux - C bn

    9

    phn mm cho nhng chng trnh t do mi; v rng bn bit chc l bn c th lm c nhng iu ny.

    bo v bn quyn ca bn, chng ti cn a ra nhng hn ch ngn chn nhng ai chi b quyn ca bn, hoc yu cu bn chi b quyn ca mnh. Nhng hn ch ny cng c ngha l nhng trch nhim nht nh ca bn khi cung cp cc bn sao phn mm hoc khi chnh sa phn mm .

    V d, nu bn cung cp cc bn sao ca mt chng trnh, d min ph hay khng, bn phi cho ngi nhn tt c cc quyn m bn c. Bn cng phi m bo rng h cng nhn c hoc tip cn c m ngun. V bn phi thng bo nhng iu khon ny cho h h bit r v quyn ca mnh.

    Chng ti bo v quyn ca bn vi hai bc: (1) bo v bn quyn phn mm, v (2) cung cp giy php ny bn c th sao chp, lu hnh v/hoc chnh sa phn mm mt cch hp php.

    Ngoi ra, bo v cc tc gi cng nh bo v chnh mnh, chng ti mun chc chn rng tt c mi ngi u hiu r rng khng h c bo hnh i vi phn mm t do ny. Nu phn mm c chnh sa thay i bi mt ngi khc v sau lu hnh, th chng ti mun nhng ngi s dng bit rng phin bn h ang c khng phi l bn gc, do tt c nhng trc trc do nhng ngi khc gy ra hon ton khng nh hng ti uy tn ca tc gi ban u.

    Cui cng, bt k mt chng trnh t do no cng u thng xuyn c nguy c b e do v giy php bn quyn. Chng ti mun trnh nguy c khi nhng ngi cung cp li mt chng trnh t do c th c c giy php bn quyn cho bn thn h, t tr thnh c quyn i vi chng trnh . ngn nga trng hp ny, chng ti nu r rng mi giy php bn quyn hoc phi c cp cho tt c mi ngi s dng mt cch t do hoc hon ton khng cp php.

    Di y l nhng iu khon v iu kin r rng i vi vic sao chp, lu hnh v chnh sa.

    Nhng iu khon v iu kin i vi vic sao chp, lu hnh v chnh sa

    0. Giy php ny p dng cho bt k mt chng trnh hay sn phm no m ngi gi bn quyn cng b rng n c th c cung cp trong khun kh nhng iu khon ca Giy php Cng cng ny. T Chng trnh di y c

  • Qun tr H thng Linux - C bn

    10

    ngha l tt c cc chng trnh hay sn phm nh vy, v sn phm da trn Chng trnh c ngha l Chng trnh hoc bt k mt sn phm no bt ngun t chng trnh tun theo lut bn quyn, ngha l mt sn phm da trn Chng trnh hoc mt phn ca n, ng nguyn bn hoc c mt s chnh sa v/hoc c dch ra mt ngn ng khc. (Di y, vic dch cng c hiu trong khi nim chnh sa). Mi ngi c cp php c gi l bn.

    Trong Giy php ny khng cp ti cc hot ng khc ngoi vic sao chp, lu hnh v chnh sa; chng nm ngoi phm vi ca giy php ny. Hnh ng chy chng trnh khng b hn ch, v nhng kt qu t vic chy chng trnh ch c cp ti nu ni dung ca n to thnh mt sn phm da trn chng trnh (c lp vi vic chy chng trnh). iu ny ng hay khng l ph thuc vo Chng trnh.

    1. Bn c th sao chp v lu hnh nhng phin bn nguyn bn ca m ngun Chng trnh ng nh khi bn nhn c, qua bt k phng tin phn phi no, vi iu kin trn mi bn sao bn u km theo mt ghi ch bn quyn r rng v t chi bo hnh; gi nguyn tt c cc ghi ch v Giy php v v vic khng c bt k mt s bo hnh no; v cng vi Chng trnh bn cung cp cho ngi s dng mt bn sao ca Giy php ny.

    Bn c th tnh ph cho vic chuyn giao bn sao, v tu theo quyt nh ca mnh bn c th cung cp bo hnh i li vi chi ph m bn tnh.

    2. Bn c th chnh sa bn sao ca bn hoc cc bn sao ca Chng trnh hoc ca bt k phn no ca n, t hnh thnh mt sn phm da trn Chng trnh, v sao chp cng nh lu hnh sn phm hoc nhng chnh sa theo iu khon trong Mc 1 trn, vi iu kin bn p ng c nhng iu kin di y:

    a) Bn phi c ghi ch r rng trong nhng tp tin chnh sa l bn chnh sa n, v ngy thng ca bt k mt thay i no.

    b) Bn phi cp php min ph cho tt c cc bn th ba i vi cc sn phm bn cung cp hoc pht hnh, bao gm Chng trnh nguyn bn, tng phn ca n hay cc sn phm da trn Chng trnh hay da trn tng phn ca Chng trnh, theo nhng iu khon ca Giy php ny.

    c) Nu chng trnh chnh sa thng c lnh tng tc trong khi chy, bn phi thc hin sao cho khi bt u chy s dng tng tc theo cch thng thng nht phi c mt thng bo bao gm bn quyn v

  • Qun tr H thng Linux - C bn

    11

    thng bo v vic khng c bo hnh (hoc thng bo bn l ngi cung cp bo hnh), v rng ngi s dng c th cung cp li Chng trnh theo nhng iu kin ny, v thng bo ngi s dng c th xem bn sao ca Giy php ny. (Ngoi l: nu bn thn Chng trnh l tng tc nhng khng c mt thng bo no nh trn, th sn phm ca bn da trn Chng trnh cng khng bt buc phi c thng bo nh vy).

    Nhng yu cu trn p dng cho ton b cc sn phm chnh sa. Nu c nhng phn ca sn phm r rng khng bt ngun t Chng trnh, v c th c xem l c lp v ring bit, th Giy php ny v cc iu khon ca n s khng p dng cho nhng phn khi bn cung cp chng nh nhng sn phm ring bit. Nhng khi bn cung cp nhng phn nh nhng phn nh trong c mt sn phm da trn Chng trnh, th vic cung cp ny phi tun theo nhng iu khon ca Giy php ny, cho php nhng ngi c cp php c quyn i vi ton b sn phm, cng nh i vi tng phn trong , bt k ai vit n.

    Nh vy, iu khon ny khng nhm mc ch xc nhn quyn hoc tranh ginh quyn ca bn i vi nhng sn phm hon ton do bn vit; m mc ch ca n l nhm thi hnh quyn kim sot i vi vic cung cp nhng sn phm bt ngun hoc tng hp da trn Chng trnh.

    Ngoi ra, vic kt hp thun tu Chng trnh (hoc mt sn phm da trn Chng trnh) vi mt sn phm khng da trn Chng trnh vi mc ch lu tr hoc qung b khng a sn phm vo trong phm vi p dng ca Giy php ny.

    3. Bn c th sao chp v cung cp Chng trnh (hoc mt sn phm da trn Chng trnh, nu trong Mc 2) di hnh thc m bin dch hoc dng c th thc thi c trong khun kh cc iu khon nu trong Mc 1 v 2 trn, nu nh bn:

    a) Km theo mt bn m ngun dng y c th bin dch c theo cc iu khon trong Mc 1 v 2 nu trn trong mt mi trng trao i phn mm thng thng; hoc,

    b) Km theo mt ngh c hn trong t nht 3 nm, theo cung cp cho bt k mt bn th ba no mt bn sao y ca m ngun tng ng, v phi c cung cp vi gi chi ph khng cao hn gi chi ph vt

  • Qun tr H thng Linux - C bn

    12

    l ca vic cung cp theo cc iu khon trong Mc 1 v 2 nu trn trong mt mi trng trao i phn mm thng thng; hoc

    c) Km theo thng tin bn nhn c ngh cung cp m ngun tng ng. (Phng n ny ch c php i vi vic cung cp phi thng mi v ch vi iu kin nu bn nhn c Chng trnh di hnh thc m bin dch hoc dng c th thc thi c cng vi li ngh nh vy, theo phn b trong iu khon nu trn).

    M ngun ca mt sn phm l mt dng u tin ca sn phm dnh cho vic chnh sa n. Vi mt sn phm c th thi hnh, m ngun hon chnh c ngha l tt c cc m ngun cho cc mun trong sn phm , cng vi tt c cc tp tin nh ngha giao din i km vi n, cng vi cc hng dn dng kim sot vic bin dch v ci t cc tp thi hnh. Tuy nhin, mt ngoi l c bit l m ngun khng cn cha bt k mt th g m bnh thng c cung cp (t ngun khc hoc hnh thc nh phn) cng vi nhng thnh phn chnh (chng trnh bin dch, nhn, v nhng phn tng t) ca h iu hnh m cc chng trnh chy trong , tr khi bn thn thnh phn li i km vi mt tp thi hnh.

    Nu vic cung cp lu hnh m bin dch hoc tp tin thi hnh c thc hin qua vic cho php tip cn v sao chp t mt a im c ch nh, th vic cho php tip cn tng ng ti vic sao chp m ngun t cng a im cng c tnh nh vic cung cp m ngun, mc d thm ch cc bn th ba khng b buc phi sao chp m ngun cng vi m bin dch.

    4. Bn khng c php sao chp, chnh sa, cp php hoc cung cp Chng trnh tr phi phi tun th mt cch chnh xc cc iu khon trong Giy php. Bt k nh sao chp, chnh sa, cp php hoc cung cp Chng trnh theo cch khc u lm mt hiu lc v t ng hu b quyn ca bn trong khun kh Giy php ny. Tuy nhin, cc bn nhn c bn sao hoc quyn t bn vi Giy php ny s khng b hu b giy php nu cc bn vn tun th y cc iu khon ca giy php.

    5. Bn khng bt buc phi chp nhn Giy php ny khi bn cha k vo . Tuy nhin, khng c g khc m bo cho bn c php chnh sa hoc cung cp Chng trnh hoc cc sn phm bt ngun t Chng trnh. Nhng hnh ng ny b lut php nghim cm nu bn khng chp nhn Giy php ny. Do vy, bng vic chnh sa hoc cung cp Chng trnh (hoc bt k mt sn phm

  • Qun tr H thng Linux - C bn

    13

    no da trn Chng trnh), bn th hin s chp thun i vi Giy php ny, cng vi tt c cc iu khon v iu kin i vi vic sao chp, cung cp hoc chnh sa Chng trnh hoc cc sn phm da trn n.

    6. Mi khi bn cung cp li Chng trnh (hoc bt k mt sn phm no da trn Chng trnh), ngi nhn s t ng nhn c giy php t ngi cp php u tin cho php sao chp, cung cp v chnh sa Chng trnh theo cc iu khon v iu kin ny. Bn khng th p t bt c hn ch no khc i vi vic thc hin quyn ca ngi nhn c cp php t thi im . Bn cng khng phi chu trch nhim bt buc cc bn th ba tun th theo Giy php ny.

    7. Nu nh, theo quyt nh ca to n hoc vi nhng bng chng v vic vi phm bn quyn hoc v bt k l do no khc (khng gii hn trong cc vn v bn quyn), m bn phi tun theo cc iu kin (nu ra trong lnh ca to n, bin bn tho thun hoc ni khc) tri vi cc iu kin ca Giy php ny, th chng cng khng th min cho bn khi nhng iu kin ca Giy php ny. Nu bn khng th ng thi thc hin cc ngha v ca mnh trong khun kh Giy php ny v cc ngha v thch ng khc, th hu qu l bn hon ton khng c cung cp Chng trnh. V d, nu trong giy php bn quyn khng cho php nhng ngi nhn c bn sao trc tip hoc gin tip qua bn c th cung cp li Chng trnh th trong trng hp ny cch duy nht bn c th tho mn c hai iu kin l hon ton khng cung cp Chng trnh.

    Nu bt k mt phn no trong iu khon ny khng c hiu lc hoc khng th thi hnh trong mt hon cnh c th, th s cn i p dng cc iu khon, v ton b iu khon s c p dng trong nhng hon cnh khc.

    Mc ch ca iu khon ny khng nhm buc bn phi vi phm bt k mt bn quyn no hoc cc quyn s hu khc hoc tranh lun v gi tr hiu lc ca bt k quyn hn no nh vy; mc ch duy nht ca iu khon ny l nhm bo v s ton vn ca h thng cung cp phn mm t do ang c thc hin vi giy php cng cng. Nhiu ngi ng gp rt nhiu vo s a dng ca cc phn mm t do c cung cp thng qua h thng ny vi s tin tng rng h thng c s dng mt cch thng nht; tc gi/ngi cung cp c quyn quyt nh rng h c mong mun cung cp phn mm thng qua h thng no khc hay khng, v ngi c cp php khng th c nh hng ti s la chn ny.

  • Qun tr H thng Linux - C bn

    14

    iu khon ny nhm lm r nhng h qu ca cc phn cn li ca Giy php ny.

    8. Nu vic cung cp v/hoc s dng Chng trnh b cm mt s nc nht nh bi quy nh v bn quyn, ngi gi bn quyn gc a Chng trnh vo di Giy php ny c th b sung mt iu khon hn ch vic cung cp nhng nc , ngha l vic cung cp ch c php cc nc khng b lit k trong danh sch hn ch. Trong trng hp ny, Giy php a vo nhng hn ch c ghi trong ni dung ca n.

    9. T chc Phn mm T do c th theo thi gian cng b nhng phin bn chnh sa v/hoc phin bn mi ca Giy php Cng cng. Nhng phin bn s ng nht vi tinh thn ca phin bn hin ny, nhng c th khc mt s chi tit nhm gii quyt nhng vn hay nhng lo ngi mi.

    Mi phin bn s c mt m s phin bn ring. Nu Chng trnh v "bt k mt phin bn no sau " c p dng mt phin bn Giy php c th, bn c quyn la chn tun theo nhng iu khon v iu kin ca phin bn giy php hoc ca bt k mt phin bn no sau do T chc Phn mm T do cng b. Nu Chng trnh khng nu c th m s phin bn giy php, bn c th la chn bt k mt phin bn no tng c cng b bi T chc Phn mm T do.

    10. Nu bn mun kt hp cc phn ca Chng trnh vo cc chng trnh t do khc m iu kin cung cp khc vi chng trnh ny, hy vit cho tc gi c php. i vi cc phn mm c cp bn quyn bi T chc Phm mm T do, hy xut vi t chc ny; i khi chng ti cng c nhng ngoi l. Quyt nh ca chng ti s da trn hai mc tiu l bo h tnh trng t do ca tt c cc sn phm bt ngun t phn mm t do ca chng ti, v thc y vic chia s v ti s dng phn mm ni chung.

    KHNG BO HNH

    DO CHNG TRNH C CP PHP MIN PH NN KHNG C MT CH BO HNH NO TRONG MC CHO PHP CA LUT PHP. TR KHI C CNG B KHC I BNG VN BN, NHNG NGI GI BN QUYN V/HOC CC BN CUNG CP CHNG TRNH NGUYN BN S KHNG BO HNH DI BT K HNH THC NO, BAO GM NHNG KHNG GII HN TRONG CC HNH THC BO HNH I VI TNH THNG MI CNG NH TNH

  • Qun tr H thng Linux - C bn

    15

    THCH HP CHO MT MC CH C TH. BN L NGI CHU TON B RI RO V CHT LNG CNG NH VIC VN HNH CHNG TRNH. TRONG TRNG HP CHNG TRNH C KHIM KHUYT, BN PHI CHU TON B CHI PH CHO NHNG DCH V SA CHA CN THIT.

    TRONG TT C CC TRNG HP TR KHI C YU CU CA LUT PHP HOC C THO THUN BNG VN BN, NHNG NGI C BN QUYN HOC BT K MT BN NO CHNH SA V/HOC CUNG CP LI CHNG TRNH TRONG CC IU KIN NH NU TRN U KHNG C TRCH NHIM VI BN V CC LI HNG HC, BAO GM CC LI CHUNG HAY C BIT, NGU NHIN HAY TT YU NY SINH DO VIC S DNG HOC KHNG S DNG C CHNG TRNH (BAO GM NHNG KHNG GII HN TRONG VIC MT D LIU, D LIU THIU CHNH XC HOC CHNG TRNH KHNG VN HNH C VI CC CHNG TRNH KHC), THM CH C KHI NGI C BN QUYN V CC BN KHC C THNG BO V KH NNG XY RA NHNG THIT HI .

    KT THC CC IU KIN V IU KHON.

    p dng nhng iu khon trn nh th no i vi chng trnh ca bn

    Nu bn xy dng mt chng trnh mi, v bn mun cung cp mt cch ti a cho cng chng s dng, th bin php tt nht t c iu ny l pht trin chng trnh thnh phn mm t do ai cng c th cung cp li v thay i theo nhng iu khon nh trn.

    lm c vic ny, hy nh km nhng thng bo nh sau cng vi chng trnh ca mnh. An ton nht l nh km chng trong phn u ca tp tin m ngun thng bo mt cch hiu qu nht v vic khng c bo hnh; v mi tp tin u phi c t nht mt dng v bn quyn v tr n ton b thng bo.

    Mt dng tn chng trnh v ni dung ca n.

    Bn quyn (C) nm, tn tc gi.

    Chng trnh ny l phn mm t do, bn c th cung cp li v/hoc chnh sa n theo nhng iu khon ca Giy php Cng cng ca GNU do T chc Phn

  • Qun tr H thng Linux - C bn

    16

    mm T do cng b; phin bn 2 ca Giy php, hoc bt k mt phin bn sau (tu s la chn ca bn).

    Chng trnh ny c cung cp vi hy vng n s hu ch, tuy nhin KHNG C BT K MT BO HNH NO; thm ch k c bo hnh v KH NNG THNG MI hoc TNH THCH HP CHO MT MC CH C TH. Xin xem Giy php Cng cng ca GNU bit thm chi tit.

    Bn phi nhn c mt bn sao ca Giy php Cng cng ca GNU km theo chng trnh ny; nu bn cha nhn c, xin gi th v T chc Phn mm T do, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

    Xin hy b sung thng tin v a ch lin lc ca bn (th in t v bu in).

    Nu chng trnh chy tng tc, hy a mt thng bo ngn khi bt u chy chng trnh nh sau:

    Gnomovision phin bn 69, Copyright (C) nm, tn tc gi.

    Gnomovision HON TON KHNG C BO HNH; xem chi tit hy g `show w'. y l mt phn mm min ph, bn c th cung cp li vi nhng iu kin nht nh, g show c xem chi tit.

    Gi thit lnh `show w' v `show c' cho xem nhng phn tng ng trong Giy php Cng cng. Tt nhin nhng lnh m bn dng c th khc vi show w' v `show c'; nhng lnh ny c th l nhn chut hoc lnh trong thanh cng c - tu theo chng trnh ca bn.

    Bn cng cn phi ly ch k ca ngi ph trch (nu bn l ngi lp trnh) hoc ca trng hc (nu c) xc nhn t chi bn quyn i vi chng trnh. Sau y l v d:

    Yoyodyne, Inc., ti y t chi tt c cc quyn li bn quyn i vi chng trnh `Gnomovision' vit bi James Hacker.

    Ch k ca Ty Coon, 1 April 1989

    Ty Coon, Ph Tng Gim c.

    Giy php Cng cng ny khng cho php a chng trnh ca bn vo trong cc chng trnh c quyn. Nu chng trnh ca bn l mt th vin th tc ph, bn c th thy n hu ch hn nu cho th vin lin kt vi cc ng dng c quyn. Nu y l vic bn mun lm, hy s dng Giy php Cng cng Hn ch ca GNU thay cho Giy php ny.

  • Qun tr H thng Linux - C bn

    17

    GII THIU

    Gii thiu ti liu

    Ti liu Qun tr h thng Linux C bn l cun gio trnh c xy dng vi mc ch chuyn ti cc kin thc ht sc c bn nhng cn thit i vi cc hc vin, c bit l i vi nhng ngi lm cng tc ging dy.

    Ti liu ny c bin dch chnh da trn b gio trnh ca Hc vin Linux LPI (Linux Professional Institute). y l b gio trnh c bin son mt cch cng phu, t m v khoa hc, dng cho vic o to v n luyn cc chng ch LPI ca Hc vin Linux.

    Do ang trong qu trnh xy dng, trong ni dung ti liu khng trnh khi nhiu thiu st. Rt mong c s ng gp kin ca ngi c ti liu ngy cng c hon chnh hn.

    Xin chn thnh cm n!

  • Qun tr H thng Linux - C bn

    18

    CI T

    Cu trc ca a ci

    Hin ti, c rt nhiu phin bn phn phi Linux khc nhau. Vi mi bn, cch t tn ca cc th mc trn a ci cng khc nhau. Thng thng chng c dng nh sau:

    packages: Th mc cha cc gi phn mm c bin dch trc. Ty vo tng bn phn phi m th mc ny c tn khc nhau. Di y l mt s v d:

    debian: dist

    mandrake: Mandrake

    redhat: RedHat

    suse: suse

    fedora: Fedora

    images: Dng cha nh ca Linux. C nhiu kiu file nh khc nhau. Mi file c mt cng dng ring:

    - Khi ng tin trnh ci t

    - Cung cp module cho nhn

    - Khi phc li h thng

    Mt s nh c th c ghi li vo a mm hoc CD, USB nhm mc ch khi ng qu trnh ci t t nhiu ngun khc nhau.

  • Qun tr H thng Linux - C bn

    19

    Bn thn nhiu file nh cng cha bn trong n nhng file v th mc con. C th truy cp n nhng file v th mc ny thng qua vic nh x file nh vo mt thit b loop.

    mount o loop /path/to/Image /mnt

    dosutils: Th mc cha mt s cng c gip cho vic chun b ci t c thun li hn trong mi trng DOS.

    Ci t Cc b

    Ci t cc b l cch thc d dng v ph thng nht trong tt c cc phng thc ci t. Hu ht cc bn phn phi Linux u c dng boot CD cho php khi ng qu trnh ci t mt cch t ng. Vi nhng my tnh khng c CD, c th thay th n bi a mm hoc USB khi ng qu trnh ny (khi , th mc packages thng c t trong cng).

    to ra a mm hoc a USB c kh nng khi ng, c th dng lnh dd trong Linux hoc rawrite.exe trong DOS/Win.

    dd if=/path/to/Image of=/dev/fd0 (hoc /dev/sdX) rawrite.exe

    V d: i vi cc bn phn phi ca RedHat cc file nh ny c tn l boot.img. Ngoi ra, c th cn c mt s file nh c bit khc c cung cp nh: bootnet.img hay pcmcia.img.

  • Qun tr H thng Linux - C bn

    20

    Ci t qua Mng

    Thng thng cc gi ci t c ti mt server xa, ngi dng ch cn khi ng qu trnh ci t, thit lp cc tham s mng chnh xc sau , tin trnh ci t s t ng download cc gi cn thit v my tnh ci (thng qua cc giao thc nh FTP, HTTP, NFS).

    khi ng qu trnh ci t c th s dng bt k phng thc no nh miu t trong phn Ci t Cc b. Ngoi ra, qu trnh ny cng c th c khi ng thng qua mt Card Mng c kh nng boot kt hp vi DHCP v TFTP Server c thit lp cho mc ch ny.

    Phc hi H thng

    Trong trng hp h thng b trc trc, khng th khi ng chnh xc, c th phc hi c mt s li thng qua c ch khi ng Phc hi H thng.

    Khi khi ng c ch ny, mt phin bn thu gn ca Linux v mt h thng file o c np vo v chy ngay trn RAM h thng. H thng file tht s c tm kim v nh x vo mt th mc ca h thng file o ny. Ngi dng c th dng lnh chroot chuyn qua h thng file tht v x l s c. Thng thng nu tm thy, n s c nh x vo th mc /mnt/sysimage ca h thng o.

  • Qun tr H thng Linux - C bn

    21

    Chin lc Phn vng

    Phn vng cng l qu trnh khng th thiu trong khi ci t Linux. Ty theo tng phin bn phn phi m qu trnh ny c th thc hin t ng hoc th cng. thc hin th cng, cn c s hiu bit su sc v h thng file trong Linux cng nh mc ch s dng h thng.

    Hnh trn m t mt lc phn vng dng n gin cng h thng file ca mt h thng mu. Thc cht h thng file trong Linux l mt cy bao gm th mc gc / v cc th mc con nhiu cp. Cc ti nguyn h thng c s dng lu tr d liu c gn kt/nh x (mounted) vo cc im ch nh trn h thng file, cc im ny c gi l cc im gn kt/nh x (mount point). Th mc gc / cng l mt im gn kt v phn vng lu tr d liu cho / s c xc nh trong qu trnh khi ng.

  • Qun tr H thng Linux - C bn

    22

    Khi ng kp vi nhiu h iu hnh

    Cng ging nh Windows, Linux h tr nhiu h iu hnh trn mt my tnh. Chng trnh khi ng ca Linux s t ng nhn bit cc h iu hnh ny. Nu nhn bit thnh cng, mt la chn s c t ng thm vo menu khi ng.

    Linux cng h tr khi ng h iu hnh Windows. thit lp c h thng nh vy, cn phi c chin lc phn vng ng n. Sau , cch n gin nht l ci t Linux sau khi ci t Windows. Nu khng, phi c kinh nghim v cng, bng phn vng v nhng phn lin quan c th khc phc s c.

    Bi tp

    1. Ci t (qua mng hoc khng) mt h thng Linux vi yu cu nh sau:

    + Chn Custom System

    + Phn vng cng vi Disk Druid thnh cc phn vng nh sau:

    /boot

    SWAP

    /

    /usr

    /home

    /tmp

    /var

    + Ci t GRUB ln MBR v t mt khu cho GRUB.

    + Ci t cc gi theo yu cu ca ging vin.

    2. Phc hi h thng

    + Gi s bn b qun mt khu root, khi ng li my tnh v phc hi li n bng ch single.

    + Gi s bn cng qun c mt khu ca GRUB nn khng khi ng vo ch single c. Khi ng my tnh bng a c kh nng cu h (Rescue Mode). Sa li file cu hnh ca GRUB (/boot/grub/grub.conf) xa mt khu.

  • Qun tr H thng Linux - C bn

    23

    CU HNH PHN CNG

    B nh

    RAM h thng c d tm bi BIOS trong qu trnh khi ng v kernel s dng kt qu ca qu trnh ny. V vy, trong nhng trng hp h thng s dng RAM s lng t hn thc t ci t, cn phi kim tra li phn cng xem cm ng qui cch cha hoc BIOS c hot ng ng khng.

    Trong trng hp mun ch nh chnh xc lng RAM m Linux phi dng, c th thm cc tham s cho chng trnh khi ng c ci t trn h thng:

    LILO

    Sa file /etc/lilo.conf, thm dng

    append=mem=M

    Sau chy /sbin/lilo.

    GRUB

    Sa file /boot/grub/grub.conf nh sau:

    kernel vmlinuz mem=M

    Qun l Ti nguyn

    truy cp vo cc thit b, h thng (CPU) phi cp pht cc ti nguyn truy cp cho chng. Sau y l cc kiu ti nguyn ny:

    IRQs (Interrupt Request Lines)

    L cc ng truyn lin lc trc tip t thit b n CPU gip cc thit b yu cu CPU x l thng tin ca chng gi n. Mi khi c yu cu/ngt, CPU phi tm dng cng vic ang thi hnh x l ngt. C 16 IRQs nh s t 0 n 15.

    a ch I/O (Input/Output Nhp/Xut)

    L nhng a ch trn b nh h thng c nh x vo b nh ca thit b. Mi thao tc trn vng nh ny tng ng vi thao tc ln b nh ca thit b.

  • Qun tr H thng Linux - C bn

    24

    DMA (Direct Memory Access channels)

    L cc knh truyn d liu cho php thit b thao tc trc tip ln b nh h thng m khng phi thng qua CPU.

    Lit k cc ti nguyn cp pht

    Nhn lu gi cc thng tin ny trong th mc /proc. Cc file c s dng l:

    /proc/dma

    /proc/interrupts

    /proc/ioports

    /proc/pci

    Nhng thng tin ny cng c th c lit k ra bi cc cng c nh lspci hay dmesg:

    lspci

    Lit k danh sch thng tin ca nhng chipset gn trn thit b ti cc khe PCI. Vi tham s -v, lnh s lit k cc thit lp v I/O v IRQ.

    Vi tham s -b (BUS centric) lnh s lit k thng tin do BIOS qun l (c th khc vi do nhn qun l).

    dmesg

    Hin th tt c cc thng ip mc nhn tnh t lc khi ng my. Nhng thng tin ny cng c th ly c t file /var/log/dmesg.

    Mt s Ti nguyn thng dng

    Device I/O port IRQ /dev/ttyS0 0x03f8 4 /dev/ttyS1 0x02f8 3 /dev/lp0 0x378 7

  • Qun tr H thng Linux - C bn

    25

    /dev/lp1 0x278 5 soundcard 0x220

    USB

    USB (Universal Serial Bus) l chun kt ni gia cc thit b vi nhau v vi PC. Chng c chia thnh cc lp thit b nh sau:

    Display Devices

    Communication Devices

    Audio Devices

    Mass Storage Devices

    Human Interface Devices (HID)

    Mi thit b gn vo cng USB u c iu khin bi mt b iu khin USB Controller. Bt u t phin bn nhn 2.2.7, Linux mi h tr USB Controller. C 3 kiu USB Controllers nh sau:

    Host Controler Kernel Module OHCI (Compaq) usb-ohci.o UHCI (Intel) usb-uhci.o EHCI (USB v 2.0) ehci-hdc.o

    SCSI

    Hin nay, chun SCSI c hai kiu giao tip l:

    - Chun giao tip 8-bit vi mt knh truyn h tr 8 thit b SCSI. Tuy nhin do bao gm c controller nn card SCSI theo chun ny ch c th kt ni c vi ti a 7 thit b SCSI khc.

  • Qun tr H thng Linux - C bn

    26

    - Chun giao tip 16-bit (WIDE) cng tng t nh chun 8-bit vi s thit b kt ni ti a l 15.

    Mi thit b SCSI c gn mt s hiu SCSI ID duy nht. Cc s hiu ny chy t 0 n 7 hoc 15 v c th c thit lp bi cc jump trn chng.

    H thng s t ng khi ng t thit b c SCSI ID = 0. Tuy nhin, th t ny c th thay i c trong menu SCSI khi h thng khi ng

    Network Card

    dng c card mng, nhn ca h thng phi h tr chng. Thng tin v card mng ang dng trong h thng c th c tm thy thng qua cc lnh hoc file sau: dmesg, lspci, scanpci, /proc/interrupts, /sbin/lsmod hay /etc/modules.conf

    V d trn cho thy mt card mng ang dng c chipset l Tulip, a ch I/O l 0xf800 v IRQ = 10. Nu cc thng tin ny hot ng tt th c th s dng n

  • Qun tr H thng Linux - C bn

    27

    ti cc h thng khc tng ng v phn cng nhng c li khi np module hay I/O hoc IRQ b xung t. thay i cc tham s ny c th s dng cc lnh modprobe hoc insmod (thay i trc tip) hay ghi vo trong file /etc/modules.conf (c hiu lc t ln khi ng sau).

    Modem

    Do cc Modem cm trong yu cu CPU x l d liu cho chng nn thng thng Linux khng h tr cc thit b loi ny (mc d c nhiu cch i ng vng gii quyt vn trn).

    V vy, ti liu ny ch cp n cc modem cm ngoi (s dng cng serial). Trong Linux, cc cng serial c nh ngha khc so vi trong DOS/Windows:

    DOS Linux COM1 /dev/ttyS0 COM2 /dev/ttyS1 COM3 /dev/ttyS2

    Mc d hu ht cc phin bn phn phi Linux u c cng c ha d tm v thit lp tham s cho modem, nhng trong cc server ch s dng giao din text, setserial l cng c hu ch cho vic ny. Vi tham s -g, setserial c th tm c cng serial no ang c thit b kt ni. Ngoi ra, setserial cng c kh nng thit lp li tham s hot ng cho nhng cng ny.

    thit lp kt ni v quay s trong mi trng text, c th dng b cng c wvdial, wvdialconf, wvdial.conf.

  • Qun tr H thng Linux - C bn

    28

    My in

    Hng dn chi tit hn v my in s c cp n trong nhng phn sau ca ti liu. Thng thng nhng my in c kh nng PnP s c d tm ngay khi h thng khi ng (k c my in USB cng c th c d thy) v c th nhn thy bi lnh dmesg.

    Qu trnh In trong Linux c thc hin trong hai bc. u tin, d liu in c lc qua mt b lc theo nh dng ca trnh qun l my in. Sau , d liu mi c x l a ra my in.

    Bi tp

    1. S dng lng dmesg xem thng tin t file /var/log/dmesg. Tm trong cc thng tin v USB, tty hoc eth0 v tr li:

    - Tn ca USB controllers c s dng?

    - S hiu IRQ ca hai cng serial u tin l bao nhiu?

    2. Kim tra ni dung ca cc file:

    /proc/ioports

    /proc/interrupts

    /proc/pci

    /proc/dma

    3. PCI bus:

    - Kim tra output ca cc lnh lspci -v and scanpci v. Kiu ca card mng trn my bn l g?

    - Kim tra xem c bao nhiu mc bus trong file /proc/pci. Nhng thng tin ny c ging nh kt qu ca 2 lnh trn khng?

    4. USB:

    - Dng lnh lsmod v lsusb kim tra xem kiu host controller no ang c s dng trong h thng? UHCI, OHCI hay EHCI.

  • Qun tr H thng Linux - C bn

    29

    QUN L THIT B

    a v Phn vng

    a vt l

    a vt l c nhn Linux gn vo cc mc trong th mc /dev. Mi kt ni t nhn n cc thit b u thng qua b s major/minor. Cc s major c nh ngha trong file /proc/devices. V d: a cng IDE u tin c s major = 3

    Block devices:

    1 ramdisk

    2 fd

    3 ide0

    nhn dng cc cng trong /dev, Linux dng hai k t bt u l hd cho cc thit b IDE, sd cho cc thit b SCSI hoc a USB (nhng li dng st cho bng SCSI). Sau l cc k t thm vo nh danh cc thit b cng h:

    hda Primary Master hdb Primary Slave hdc Secondary Master hdd Secondary Slave sda First SCSI/USB disk sdb Second SCSI/USB disk

    Phn vng a

    c th s dng c, cc a cng cn phi c phn vng. Linux thm vo ng sau nh danh a cng s hiu ca cc phn vng qun l.

    hda1 Partition u tin trn IDE u tin hda2 Partition th hai trn IDE u tin sdc3 Partition th ba trn SCSI th ba

    Mi IDE ch cho php c 4 phn vng chnh v mt trong s chng c th c nh du l phn vng m rng. Phn vng ny c th c nh chia thnh

  • Qun tr H thng Linux - C bn

    30

    nhiu phn vng con bn trong. Linux h tr ti a 64 phn vng trn IDE v 16 phn vng trn SCSI.

    Trong v d trn (dng fdisk -l), h thng c ba phn vng chnh c nh danh t hda1 n hda3. Phn vng th 3 c nh du l m rng v cha trong n 7 phn vng con. Do hda3 khng c dng. Cc phn vng con c nh danh t hda5 tr i.

    Cng c Phn vng a

    Trc khi ci t Linux

  • Qun tr H thng Linux - C bn

    31

    PartitionMagic

    fips

    fdisk

    Trong khi ci t Linux

    Trong qu trnh ci t Linux, c th s dng chnh cng c T ng phn vng ca mt s bn phn phi hoc dng cng c phn vng th cng i km:

    diskdrake Mandrake

    DiskDruid RedHat

    Trn h thng ang hot ng

    fdisk lun l cng c c la chn phn vng cc a cng. Tp lnh ca fdisk tng i n gin, ch gn g lnh m trong giao din lnh ca fdisk xem y cc lnh ca n.

    Sau khi fdisk, nu c thay i bng phn vng, cn phi khi ng li my tnh hoc dng partprobe cp nht ng (lnh ny khng ng cho mi trng hp). s dng c cc phn vng ny, phi nh dng chng vi cc nh dng h thng file m Linux hiu c thng qua cc lnh: mkfs hoc mke2fs.

    Bootloader

    Bootloader l chng trnh mc nh c ci t trn MBR nhm gip my tnh la chn c phn vng khi ng, np b mi h iu hnh v chuyn quyn kim sot cho h iu hnh.

    Cc bn Linux c phn phi vi hai Bootloader ring. Tuy nhin, chng cng nhn vai tr mi h iu hnh nn c th ci t vo BR ca phn vng khi ng ch khng nht thit phi ci t trn MBR.

    LILO (the LInux bootLOader)

  • Qun tr H thng Linux - C bn

    32

    c thit k vi 3 thnh phn chnh

    LILO

    M nh phn ca trnh bootloader, c ci t trn MBR hoc BR. N s np m khi ng giai on 2 ti /boot/boot.b.

    /etc/lilo.conf

    File cu hnh ca LILO vi mt s tham s nh sau:

    boot* Ni LILO c ci t (/dev/hda l MBR) install Ni m khi ng giai on 2 c ci t (mc nh l boot.b) prompt Cho ngi dng la chn h iu hnh khi khi ng my. default Tn ca file nh c np khi khi ng mc nh timeout Thi gian kt thc la chn image* ng dn ch n nhn khi ng label* Tn ca file nh root* Tn ca a cha th mc gc ca h thng file.

    /sbin/lilo

    Cng c dng c tham s t /etc/lilo.conf v thit lp cho LILO.

    GRUB (the Grand Unified Bootloader)

    c pht trin sau LILO vi mt vi u im so vi LILO. Thng tin chi tit v GRUB c th c xem qua lnh info.

  • Qun tr H thng Linux - C bn

    33

    Nhng thit b qun l

    File /etc/fstab lu thng tin v cc im kt ni xc nh trc cho cc thit b khi.

    Ngoi ra, /etc/fstab cng c dng tr gip cho cc kt gn ti nguyn thi gian thc. V d:

    Chng trnh mount s c /etc/fstab v quyt nh ti nguyn (hoc im kt ni) no s c s dng v cc tham s ca vic kt ni cng c th c xc nh ti bc ny. Sau y l mt s tham s ty chn (option) ca mount:

    rw, ro c-ghi hoc ch c

    users c th c v umount bi mi ngi dng

    user ch c th umount bi ngi dng mount n

    owner c th thay i quyn v thuc v ngi dng mount n

  • Qun tr H thng Linux - C bn

    34

    usrquota bt thit lp hn ngch a mc ngi dng

    grpquota bt thit lp hn ngch a mc nhm ngi dng

    Nu s dng vi tham s -a, mount s t ng nh x tt c cc khai bo trong /etc/fstab m cha c mount v khng c ty chn noauto.

    Mt s thit b c truy cp thng qua cc nhn. Nhn c gn cho thit b bi lnh tune2fs:

    Quotas

    Quota l cng c cho php qun tr h thng thit lp hn ngch lu tr trn a. Cng c ny khng yu cu khi ng li h thng. Sau y l mt s bc lm chung:

    1. Thm ty chn usrquota vo file /etc/fstab ti dng cha phn vng cn phn hn ngch.

    2. Remount li phn vng ny:

    3. Thit lp tnh trng quota:

    Sau lnh ny, nu thit lp ng, file aquota.user s c sinh ra ti th mc gc ca phn vng.

    4. Sa li hn ngch cho tng ngi dng:

  • Qun tr H thng Linux - C bn

    35

    Tham s soft/hard limit phi c thit lp cho c s blocks ln inodes cho mi user. H thng s cho php s dng vt qu con s soft limit cho n khi ht hn v mt thi gian. Khi , hard limit s c s dng quyt nh chnh xc hn ngch ca ngi dng. S dng tham s -T quyt nh thi gian ny.

    5. Bt ch hn ngch ln:

    Ngi dng c th kim tra hn ngch ca mnh bng lnh quota, qun tr c th sinh ra bo co v hn ngch bng lnh repquota hoc quotastats.

    Bi tp

    1. S dng fdisk, xa phn vng /home, sau to li 1 phn vng mi. Khi ng li my tnh. Vn g s xy ra? Gii quyt nh th no?

    2. Dng lnh mkfs to ra nh dng h thng file kiu ext3 trn phn vng ny

    3. To th mc data trong th mc gc. Thit lp li /etc/fstab sao cho th mc ny l mount point ca phn vng mi nh dng.

    4. Dng lnh mount c tham s kim tra li xem thit lp /etc/fstab ng cha.

    5. Thit lp hn ngch a cho phn vng trn theo tng bc hng dn.

  • Qun tr H thng Linux - C bn

    36

    H THNG FILE TRONG LINUX

    Cu trc ca h thng file

    Mi h thng file c cu trc ging nh mt ci cy dng ngc. Gc ca cy c t trn cng v bn di l l ca n.

    Nh cp trn, mi phn vng khi c to ra u c th c mt mount point. Cng vic ny thng c thi hnh trong qu trnh ci t. hiu k hn v vn ny, hy quan st kin trc phn cp ca mt h thng file trong Linux di y:

    Trong hnh trn, gc ca kin trc phn cp ny l th mc gc /. N gn tng t nh C:\ trong DOS ngoi tr vic C:\ chnh l phn vng u tin ca a cng u tin, trong khi th mc gc / ca Linux c th l nh x ca bt k phn vng no.

    The base directories

  • Qun tr H thng Linux - C bn

    37

    Cc th mc c s l nhng th mc con cp 1 nm ngay di th mc gc /. Chng c to ra bi mt gi thng c tn l filesystem.

    Tin trnh khi ng s nh x th mc gc u tin nhm gip tt c cc thao tc tip theo nh kim tra phn vng, np module cho nhnvv v khi nh x th mc gc xong th cc chng trnh nh: fsck, insmod hay mount mi c th c s dng.

    m bo cho qu trnh khi ng din ra chnh xc, cc th mc /dev, /bin, /sbin, /etc v /lib bt buc phi l th mc con ca / v khng th l nh x ca bt k phn vng no khc.

    Sau y l mt s th mc c s v gii thch ngn gn ngha ca chng:

    /bin v /sbin

    Cha nhng file cn thit cho qu trnh khi ng v nhng lnh thit yu duy tr h thng.

    /dev

    Cha cc nh danh nh x ca thit b hoc nhng file c bit.

    /etc

    Cha cc file cu hnh ca h thng v nhiu chng trnh tin ch.

    /lib

    Cha cc th vin dng chung cho cc lnh nm trong /bin v /sbin. V th mc ny cng cha cc module ca nhn.

    /mnt hoc /media

    Mount point mc nh cho nhng h thng file kt ni bn ngoi.

    /proc

  • Qun tr H thng Linux - C bn

    38

    Lu cc thng tin ca nhn, ch c th ghi c ni dung trong th mc /proc/sys.

    /boot

    Cha nhn Linux khi ng v cc file system maps cng nh cc file khi ng giai on hai.

    /home (ty chn)

    Th mc dnh cho ngi dng khc root. Thng tin khi to th mc mc nh ca ngi dng c t trong /etc/skel/

    /root (ty chn)

    Th mc mc nh ca ngi dng root.

    /tmp

    Th mc cha cc file tm thi.

    /usr

    Th mc cha nhng file c nh hoc quan trng phc v tt c ngi dng.

    /usr/local hoc /opt (ty chn)

    Th mc cha cc phn mm ci thm.

    /var/www, /var/ftp/ hoc /srv (Suse)

    Th mc cha thng tin ca cc dnh v WEB hay FTP.

    /var

    Th mc cha cc thng tin hay thay i nh: spool v log

    H thng file chun ext2

    c th lu tr v qun l d liu, mi phn vng trn a cng u phi c to ra mt h thng file. Ngay trc khi khi to, bao gi ngi thit lp cng phi ch nh kiu nh dng ca h thng file mi cn to.

    Hin nay, nhn Linux h tr rt nhiu kiu nh dng ca h thng file. Trong , kiu h thng file ext2 c coi l mc nh trong cc h thng ca Linux Linux Native (Trong nhiu h thng ext3 c coi l mc nh nhng thc t ext3 chnh l ext2 km thm chc nng journal).

  • Qun tr H thng Linux - C bn

    39

    Mt kiu khc ca h thng file cng hay c dng l SWAP. Kiu nh dng h thng file ny ch c dng cho phn vng swap.

    The Second Extended File System

    Ext2 l kiu nh dng h thng file c thit k da trn vic qun l cc khi d liu c kch thc 1KB (1024 byte), y l kch thc mc nh v c th thay i c. C 3 loi khi nh trn c nh ngha trong ext2:

    Superblocks

    Lp li sau mi 8193 khi. Khi ny cha thng tin nh: block-size, free inodes, last mounted time

    Inodes

    Cha cc con tr tr n khi d liu. 12 khi d liu u tin c truy cp trc tip t con tr ny. Nu d liu > 12KB th cc inodes gin tip s c s dng.

    Mi inode bao gm 256 byte v cha cc thng tin v user, group, permissions v time stamp ca d liu m n qun l.

    Khi d liu

    C th l file hoc th mc vi ni dung tht c cha trong cc khi ny.

    Tin ch nh dng

    Do nhn Linux ch c th c c cc h thng file c nh dng t trc nn lu tr v qun l d liu trn cc phn vng mi, cn phi nh dng mt h thng file trn thng qua cc cng c nh dng.

    nh dng mt phn vng c kiu h thng file l ext2 bng lnh mkfs.ext2 hay mke2fs. Tng t nh vy vi kiu h thng file xfs (ca Silicon Graphics) vi lnh mkfs.xfs.

    Lnh mkfs thc cht l mt chng trnh kim tra yu cu nh dng v la chn ng lnh thi hnh. C php ca mkfs l:

    mkfs t

  • Qun tr H thng Linux - C bn

    40

    S an ton ca h thng file

    Nu h thng file b hng hoc sai lch, tin ch fsck c s dng chnh sa li cc h hng ny tuy nhin cc h thng file ny cn phi unmount trc m bo tnh chnh xc.

    Cng nh mkfs, fsck thc cht ch kim tra cc tham s ca ngi dng v la chn ng chng trnh thi hnh, v d: fsck.ext2, fsck.ext3

    Kim sot dung lng a

    S dng mount v df

    C hai lnh trn u cng hot ng cng mc thit b. Hai lnh mount v umount dng qun tr cc h thng file gn kt trong file /etc/mtab.

    Nu s dng mount khng tham s, tt c cc h thng file c gn kt trong h thng s c lit k ra mn hnh. Kt qu ging nh trong file /etc/mtab. Ngoi ra, nhn cng lu gi thng tin v h thng file c kt ni trong /proc/mount.

    xem thm thng tin v im kt ni hin ti c th s dng lnh df. Lnh ny cho php hin th thm dung lng a s dng v dung lng cn trng. n v kch thc hin th l 1K.

  • Qun tr H thng Linux - C bn

    41

    S dng du

    Tin ch ny c s dng hin th khng gian a c s dng nhng mc th mc. V vy, du cng khng th hin th khong trng cn tha ca a.

    Quyn truy xut File, Th mc

    Thay i quyn truy xut v ch s hu

    Quyn truy xut file, th mc v ch s hu c nh ngha quy nh cch thc truy cp d liu trong h thng.

  • Qun tr H thng Linux - C bn

    42

    thay i quyn truy cp, s dng lnh chmod. C ba nhm i tng chnh c tc ng bi quyn truy cp l:

    u Ngi dng s hu g Nhm ngi dng s hu o Khng thuc hai i tng trn

    V d:

    -rw-rw-r-- 1 jade sales 24880 Oct 25 17:28 libcgic.a

    Ty chn hay dng vi chmod, chown v chgrp l R cho php thay i trong c cc th mc, file bn trong th mc ch nh.

    Ngoi cch s dng k t i din cho cc quyn: read=r, write=w, execute=x, chmod cho php s dng mt b s h bt phn thay i quyn theo bng sau:

    read 4 write 2 execute 1

    user group other rwx r-x rw- 4+2+1=7 4+1=5 4+2=6

  • Qun tr H thng Linux - C bn

    43

    Quyn truy xut chun

    Cc h thng UNIX to ra file v th mc vi quyn truy xut chun nh sau::

    Files 666 -rw-rw-rw-

    Directories 777 -rwxrwxrwx

    umask

    L khi nim c thit lp ch nh quyn truy xut mc nh cho cc file v th mc mi to i vi mi ngi dng. umask l mt mt n gm mt b cc s h bt phn. Khi , quyn truy xut mc nh ca cc file v th mc i vi mi ngi dng c tnh theo cng thc sau:

    Final Permissions = Standard Permissions (logical AND) (NOT)Umask

    Quyn truy cp SUID

    L quyn truy cp c thit lp bi root cho php ngi dng bnh thng c th thi hnh mt lnh nh l root. Quyn ny c thit lp vi tn l s (nm v tr x ca nhm u) v c gn s h bt phn l 4000.

    Quyn truy cp SGID

    L quyn truy cp cho php ngi dng thuc nhm s hu c th thi hnh lnh m khng cn dng newgrp chuyn nhm. Quyn ny c thit lp vi tn l s (nm v tr x ca nhm g) v c gn s h bt phn l 2000. Ti th mc c thit lp SGID, tt c cc file, th mc to bn trong s c nhm s hu mc nh l nhm s hu ca th mc cha.

    Bit nh du (The sticky bit)

    Quyn ny c thit lp vi tn l t (nm v tr x ca nhm o) v c gn s h bt phn l 1000. Quyn ny c thit lp :

    - Cho php cc th mc cm ngi dng xa file tr phi h l ch s hu.

    - Cho php file c thi hnh hoc np vo b nh nhanh hn.

  • Qun tr H thng Linux - C bn

    44

    Bi tp

    Filesystem

    1. Xa phn vng c nh x vo /data ca bi trc, to ra 2 phn vng mi c kiu nh dng ca h thng file l ext2 v reiserfs.

    2. To 2 th mc con trong /mnt v nh x hai phn vng mi vo.

    mkdir /mnt/ext2

    mkdir /mnt/reiserfs

    3. S dng cc lnh mount, df, fsck kim tra i vi 2 phn vng mi to.

    4. Chuyn i t ext2 sang ext3 bng lnh tune2fs

    File permissions

    1. Login bng 1 ngi dng khng phi root v to 1 file mi bng lnh touch. Kim tra xem quyn truy xut ca file ny l g?

    2. Thay i umask thnh 027. Quyn truy xut mc nh s l g?

    3. Ni no s thit lp gi tr mc nh ca umask? /etc/profile, /etc/bashrc

    4. Thm 2 ngi dng mi user1, user2 vi passwword tng ng. To nhm mi sales. V thm 2 ngi dng mi to vo nhm ny.

    5. To th mc /news s hu bi nhm sales v c quyn 770 cho th mc ny. Sau t GID cho th mc ny.

    6. Kim tra cc tnh cht ca GID vi user1 v user2.

    7. Thm Sticky-Bit cho th mc /news. Kim tra tnh cht ca bit ny.

  • Qun tr H thng Linux - C bn

    45

  • Qun tr H thng Linux - C bn

    46

    CH DNG LNH

    Khi qut

    S dng dng lnh l cch c bn tng tc vi h thng my tnh. B bin dch shell (h v) thng dch cc lnh c nhp vo t bn phm. Du nhc shell ($ hoc # i vi ngi qun tr h thng) cho bit h thng sn sng hot ng.

    Shell cn l mt mi trng lp trnh cho php thc hin cc lnh khi ng. Chng trnh shell c gi l script (kch bn).

    Do bash shell l mt trong nhng shell thng dng nht trong cng dng linux, v th ti liu ny tp trung ch yu vo bash shell.

    Tng tc vi SHELL

    Cc cu lnh thc hin trn shell c dng sau:

    command [options] {arguments}

    Hin th xu k t ra mn hnh

    Bash shell s dng lnh echo hin th xu k t ra mn hnh

    echo this is a short line

    B danh

  • Qun tr H thng Linux - C bn

    47

    Chng ta c th to cc b danh cho cc lnh s dng nhiu tham s. Cch thc to mt b danh l nh sau:

    alias myprog=command [option] {arguments}

    Bng cch ch g alias ti mt dng lnh, chng ta s c danh sch ca cc b danh c nh ngha.

    ng dn tuyt i/tng i

    Shell thng dch t u tin ca bt k dng lnh no nh l mt cu lnh. Nu dng lnh c mt ng dn tuyt i hoc tng i n cu lnh th cu lnh s c thc thi. Nu khng th shell s tm kim trong alias. Nu t u tin khng c k t / th shell s tm kim cc th mc c khai bo trong ni dung bin mi trng PATH v thc hin chng trnh c tn trng vi cu lnh.

    V d nu tham bin PATH ch cha cc th mc /bin v /usr/bin th cu lnh xeyes s khng c tm thy khi m n nm trong /usr/X11R6/bin/xeyes v v th ng dn tuyt i l cn thit cho cu lnh ny c thc thi.

    /usr/X11R6/bin/xeyes

    Ngi dng c th s dng ng dn tng i thay cho ng dn tuyt i trong khi thc hin mt cu lnh. V d nu ngi dng ang truy cp vo th mc cha chng trnh xeyes th h c th s dng cu lnh sau:

    ./xeyes

    T in kt thc cu lnh

    Bng cch n phm TAB, shell s kt thc cu lnh m chng ta ang g vo.

  • Qun tr H thng Linux - C bn

    48

    Bin mi trng ca Shell

    Cc bin ca Shell ging nh cc bin c s dng trong cc ngn ng my tnh khc. Cc tn bin c gii hn trong cc k t ch s. V d CREDIT=300 c ngha l gn gi tr 300 cho bin c tn l CREDIT

    Khi to mt bin Tn bin=gi tr (khng c du cch) Tham chiu mt bin $Tn bin

    CREDIT=300 echo $CREDIT

    Export, Set v Env

    C hai loi bin: bin cc b v bin xut (c th gi l bin ton cc a phng, thc t khi nim ny khng th ng ngha vi khi nim bin ton cc trong cc ngn ng lp trnh. Tuy vy cho ngn gn, tt c cc th hin bin ton cc xut hin trong ti liu ny u c ngha nh bin xut).

    Bin cc b ch c truy cp bi shell hin thi. Trong khi bin xut s c truy cp bi c shell v bt k tin trnh con ca shell ny.

    Cc lnh set v env dng hin th cc bin d c nh ngha

    Cc lnh set v env

    set Hin th tt c cc bin env Hin th tt c cc bin xut

    Mt bin c gi l bin ton cc khi bt k tin trnh con no cng c th tham chiu n n.

  • Qun tr H thng Linux - C bn

    49

    V d: To bin CREDIT l bin ton cc. Hin th n vi lnh set hoc env.

    export CREDIT env | grep CREDIT

    Khi to mt shell mi (tin trnh con) v kim tra xem bin CREDIT c c truy cp n khng?

    Bin nh ngha trc ngha

    DISPLAY c X dng nh v ng dng khch (client) HISTFILE Ch n file lch s lnh ca ngi dng .bash_history HOME Ch n th mc dnh ring (home) ca ngi dng LOGNAME Tn c s dng bi ngi dng truy nhp

    PATH Cha nhng th mc s c tm kim bi shell khi ngi dng thc hin chng trnh m khng ch ra ng dn PWD Th mc lm vic hin thi SHELL Tn shell c s dng TERM M phng thit b cui hin thi

    Cc bin c bit

    Mt s bin lin quan n vic qun l tin trnh

    $! Hin th m tin trnh (PID) ca tin trnh con cui cng $$ Hin th m tin trnh (PID) ca shell ang thc thi $? Bng 0 nu lnh cui cng c thc hin thnh cng v 1 nu ngc li

  • Qun tr H thng Linux - C bn

    50

    Chuyn hng kt xut

    Cc tin trnh UNIX thng thng m 3 dng m t file chun cho php n thc hin vic xut, nhp v bo li. Cc dng m t chun ny c th c nh ngha li bi bt k tin trnh no. Trong hu ht cc trng hp, m t stdin l bn phm, v hai dng m t xut + bo li (stdout v stderr) l mn hnh.

    Cc gi tr cho stdin, stderr, v stdout

    stdin 0 stdout 1 stderr 2

    i hng stdout program > file

    D liu theo hng t tri sang phi

    fdisk l > partions.txt

    Cu lnh ny s thc hin tin ch fdisk v kt qu u ra s c ghi vo file partitions.txt. Kt qu khng c hin th ra mn hnh. Ch rng shell s thc

  • Qun tr H thng Linux - C bn

    51

    hin cu lnh ny bt u t bn phi. Nh vy, file partitions.txt s c to ra nu nh n cha tn ti v s b ghi vo khi ton t > c dng.

    Ton t >> s b sung thm kt qu vo ni dung file.

    i hng stdin program < file

    Trong trng hp ny d liu theo hng t phi sang tri. Ton t errorfile

  • Qun tr H thng Linux - C bn

    52

    stdin, stdout, v stderr c di din bng 0, 1, v 2 tng ng. Cu lnh trn cho php chng ta chn lung stderr.

    find / 2> /dev/null

    Cc lnh ng ng Program1 Program2

    Cc ng ng (pipe) c di din bng k hiu . Dng d liu chuyn t tri sang phi. Hnh sau y minh ha stdout ca mt tin trnh c chuyn hng n stdin ca mt tin trnh khc nh th no.

    cat /var/log/messages less

    Cc chuyn hng ca d liu xut c phn tch t phi sang tri, do cc lnh sau l khng tng ng:

    command 2>&1 >logfile command >logfile 2>&1

  • Qun tr H thng Linux - C bn

    53

  • Qun tr H thng Linux - C bn

    54

    ls [!Aa]* hin th tt c cc file khng bt u bng k t a hoc A

    {xu1,xu2} mc d chng khng c dng i din mt h tn file nhng chng c th s dng i snh vi tn nhng file c.

    ls index.{htm,html}

    Cc du ngoc (quote) v m escape

    ngha c bit ca cc metacharacter c th b hu b bng cc k t escape-chng cng l cc metacharacter.

    Du vch cho ngc (\) l mt k t c bit v hu b ngha ca tt c cc metacharacter yu cu shell thng dch chng.

    Du ngoc n (' ') hu b ngha ca tt c cc metacharacter ngoi tr du vch cho ngc.

    Du ngoc kp (" ") c tc dng yu nht nhng cng c th hu b phn ln ngha c bit ca cc k t nm trong du ngoc kp ngoi tr ng ng (|), du vch cho ngc, v mt bin ($var).

    Du nhy

    Du nhy ny ging du huyn ca Ting Vit v thng c t cnh s 1 ca bn phm y .

    Cp du nhy (``) s thc hin cu lnh nm bn trong. V d sau y s nh ngha bin TIME s dng lnh date

    TIME="Today's date is `date +%a:%d:%b`

    echo $TIME

    Today's date is Sun:15:Jul

  • Qun tr H thng Linux - C bn

    55

    Mt cch khc thc hin cu lnh ging nh s dng cc du nhy l $(). V d di y s thc hin cu lnh bn trong v gn gi tr tr v vo bin TIME.

    TIME=$(date)

    Lch s dng lnh

    xem danh sch cc cu lnh c s dng t trc chng ta c th dng bash gn lin vi lnh history

    history

    1. ls 2. grep 500 /etc/passwd

    Chng ta c th gi li cc lnh s dng bng cch dng mi tn ln v xung trn bn phm. Ngoi ra cn c cc lin kt phm emacs cho chng ta thc hin v sa i cc lnh trc .

    Emacs Key Bindings for Editing the Command History

    Ctrl+p Ln trn 1 dng

    Ctrl+n Xung di 1 dng

    Ctrl+b Quay li (sang tri) 1 k t

    Ctrl+f i tip (sang phi) 1 k t

    Ctrl+a V cui dng

    Ctrl+e V u dng

    Du chm than (!) c th c dng thc hin cc lnh trc . V d:

    !x Thi hnh lnh gn nht trong lch s lnh c k t bt u l 'x'

  • Qun tr H thng Linux - C bn

    56

    !2 Thi hnh lnh c s th t = 2 trong lch s lnh !-2 Thi hnh lnh ngay trc lnh va thi hnh !! Thi hnh lnh va chy ^string1^string2 Thi hnh lnh va chy v thay th string1 bi string2

    Bi tp

    stdin-stdout-stderr

    G cc cu lnh sau y v a ra cc kt qu thc thi (nu c th) s dng cc s ging nh nhng s c dng trong chng ny

    ls /etc ; df > /tmp/out.1

    (ls /etc ; df) > /tmp/out.2

    find /etc -type f 2> /dev/null | sort

    tr [a-z] [A-Z] < /etc/passwd | sort > /tmp/passwd.tmp

    cat /tmp/passwd.tmp | tr [A-Z] [a-z]

    Dng lnh

    1. Hin th tt c cc file trong /usr/X11R6/bin m khng bt u vi k t 'x'

    ls /usr/X11R6/bin/[!x]* 2. Cu lnh xterm c cc la chn sau:

    -bg thit lp mu nn

    -fg thit lp mu ch

    -e thc hin cu lnh

    Thit lp mt b danh mi sao cho cu lnh su m mt xterm vi cc mu mi v li nhc cho mt khu ch

    alias su="xterm -bg orange -fg brown -e su -u &"

    Bn s lu tr b danh ny ni no trn h thng?

    3. Bn c th m kho cc file s dng cu lnh uuencode. File m ho s c chuyn hng n stdout

  • Qun tr H thng Linux - C bn

    57

    V d: uuencode /bin/bash super-shell > uufile s m ho /bin/bash v to ra mt file super-shell khi thc hin uudecode i vi uufile

    - Gi /bin/bash c m ho n ngi dng cc b (trong trng hp ny chng ta c th s dng uuencode v ng ng | hoc lu li kt qu m ho vo file uufile v s dng i hng STDIN uufile split -b 150000 uufile base-name.

    Lnh ny s to ra cc file base-name.aa, base-name.ab,...

    Thc hin lnh sau ghp ni cc file m ho c chia nh thnh file d liu ban u (unsplit)

    cat base-name.* > uufile.new Cui cng gii m fie v kim tra xem n c hot ng khng

    uudecode uufile.new Cu lnh ny s to ra mt file nh phn gi l super-shell

    4. Tin ch no s tm ra ng dn tuyt i ca mt file nh phn thng qua qu trnh kim tra bin PATH?

    Cc bin

    1. Thc hin cc cu lnh sau

    Khi to gi tr 'virus' cho bin ALERT

    ALERT=virus Kim chng xem bin ALERT c khi to cha bng lnh set?

    set |grep ALERT Hoc c th hin th ALERT bng cch dng lnh env

    Tip theo, g 'bash'. Bn c th truy cp vo bin ALERT?

    bash echo $ALERT Xem gi tr ca ALERT l trng hay khng?

    G exit (hoc ^D) tr v phin lm vic ca ban.

    S dng lnh export to bin ALERT l bin ton cc

    export ALERT

  • Qun tr H thng Linux - C bn

    58

    Kim chng ALERT l bin ton cc cha?

    env | grep ALERT Khi to mt bash shell mi v chc chn rng ALERT c nh ngha trong shell mi

    bash echo $ALERT

    Trong shell mi ny, nh ngha li bin ALERT

    export ALERT=green Thot khi shell ny. Gi tr ca bin ALERT trong shell ban u s l bao nhiu?

    2. Ti li nhc cu lnh g cc dng sau:

    CREDIT01=300;CREDIT02=400 for VAR in CREDIT01 CREDIT02; do echo $VAR;done Ch rng bin VAR s c tham chiu bng $VAR

    Thc hin li lnh ny

    Thc hin lnh ny nhng thay th CREDIT01 bng $CREDIT01

    3. S dng cc du ngoc thch hp thay i bin PS1 sao cho n gm ng dn tuyt i n th mc bn ang lm vic

    (Gi : gi tr ca PS1 l [\u@ \W]\$, do bn ch cn thay th \W bng \w)

    PS1=' [ \u@\h \w ]\$ ' Bin PS2 c gi tr nh th no?

  • Qun tr H thng Linux - C bn

    59

    QUN L FILE

    Di chuyn quanh h thng file

    Cc ng dn tuyt i v tng i

    Mt th mc hoc mt file c th truy cp bng ng dn tuyt i bt u t th mc gc (/) hoc ng dn tng i bt u t th mc hin thi.

    ng dn tuyt i: c lp vi th mc hin thi ca ngi dng v bt u vi /

    ng dn tng i: ph thuc vo th mc hin thi ca ngi dng v khng bt u vi /

    i vi mt h thng file c cu trc bt k, c mt s tin ch gip chng ta c th duyt ton b h thng

    pwd: a ra ng dn tuyt i v v tr ca bn trong h thng

    cd: thay i th mc

    Tm kim file v th mc

    Chng ta s tm hiu cc tin ch find, which, whereis v locate

    find C php:

    find [-exec {} \; ] Tham bin DIRECTORY s cho bit v tr bt u tm kim v CRITERIA c th l tn mt file hoc mt th mc m chng ta ang tm kim

    V d

    find /usr/X11R6/bin -name x*. find / -user 502

  • Qun tr H thng Linux - C bn

    60

    Cc dng i snh s c hin th u ra chun. Kt qu ny c th c s dng thc hin cc lnh tip theo. V d xo file hoc thay i quyn hn Tin ch find c la chon -exec cho php chng ta thc hin iu . V d xo tt c cc file thuc v ngi dng 502

    find / -type f -user 502 exec rm f {} \;

    xargs Tin ch ny ny thng xem nh l mt cng c i km vi find. Thc t xargs s x l mi dng ca kt qu xut chun nh mt tham bin cho mt tin ch khc. Chng ta c th dng xargs xo tt c cc file thuc v mt ngi dng bng lnh sau

    find / -type f -user 502 | xargs rm f

    Cc cu lnh chc chn nh rm khng th x l vi qu nhiu tham s. Chng ta c th xa ton b cc file trong mt th mc vi lnh sau

    ls | xargs rm -f

    locate C php:

    locate

  • Qun tr H thng Linux - C bn

    61

    Tin ch locate cho php hin th tt c cc file v th mc tho mn biu thc (expression)

    locate X11R

    Vi tin ch ny qu trnh tm kim s nhanh hn rt nhiu. Thc t locate s truy vn c s d liu /var/lib/slocate. C s d liu ny s c cp nht hng ngy thng qua cron job da trn lnh updatedb

    Khi thc hin updatedb t dng lnh th file /etc/updatedb.cn s c c xc nh h thng file c chnh sa (tc l NFS) v cc th mc (tc l /tmp)

    which C php:

    which string

    Tin ch ny s a ra ng dn tuyt i i vi file gi l string bng cch ch kim tra cc th mc c nh ngha trong bin PATH ca ngi dng. V th which ch c dng tm kim cc lnh.

    whereis C php

    whereis string

    Tin ch ny s a ra ng dn tuyt i i vi cc file ngun, nh phn, v ti liu ph hp vi string bng cch kim tra bin PATH cng nh cc v tr hay c s dng.

    Cc la chn thng c dng ca ls

  • Qun tr H thng Linux - C bn

    62

    Lm vic vi th mc

    To th mc vi lnh mkdir

    Khi to mt th mc chng ta c th thit lp quyn truy nhp vi la chn -m. Mt la chn c ch khc l -p s t ng to tt c cc th mc con khi cn.

    V d:

    mkdir p docs/programs/versions

    Xo cc th mc

    xo mt th mc chng ta c th s dng lnh rmdir hoc rm. Nu bn ang th mc gc bn c th dung la chon -f xo tt c cc file.

    Ch : rm -rf /dir1/* xo tt c cc file v cc th mc con v dir1 l th mc trng

    rm -rf /dir1/ xo tt c cc file v cc th mc con bao gm c dir1

    S dng cp v mv

    cp

    C php

    cp [options] file1 file2 cp [options] file1 directory

  • Qun tr H thng Linux - C bn

    63

    Ch rng cp file1 file2 to mt bn copy mi ca file1 v khng lm thay i file1

    Hnh minh ho: file1 vi inode 250 s c copy sang file 2, sao y d liu n mt vng d liu mi v tao inode mi 6238 cho file2.

    Chng ta cng c th copy mt s file n mt th mc khc bng cch dng danh sch lit k hoc k t i din. Bng sau dy s hin th cc la chn thng c s dng

    Ch : cp -r /mydir/* /dir2/ s copy tt c cc file v th mc con ngoi tr mydir

    cp -r /mydir/ /dir2/ s copy tt c cc file v th mc con bao gm c mydir

    mv

    C php:

    mv [options] oldname newname mv [options] source destination mv [options] source directory

  • Qun tr H thng Linux - C bn

    64

    Lnh mv c th di chuyn hoc i tn cc file v th mc. Nu oldname l mt file v newname l mt th mc th file oldname s c di chuyn n th mc ny.

    Nu source v destination cng nm trn mt h thng file th file khng c copy nhng thng tin v inode s c cp nht xc nh v tr mi. Cc la chn thng thng l -f ghi v -i truy vn tng tc.

    Hard links v symbol links

    Cc lin kt tng trng

    Mt lin kt tt mm n mt file hoc mt th mc to mt inode mi ch n cng mt vng d liu.

    ln s lilo.conf lilo.sys

    y l danh sch nhng file ca cu lnh trn. Ch rng gi tr tham chiu l 1 cho c 2 file.

    Hnh 2: Mt lin kt tt mm n mt file

    Cc lin kt tt mm c th c to thng qua cc h thng file khc nhau

  • Qun tr H thng Linux - C bn

    65

    Cc lin kt tt cng

    Mt lin kt tt cng l mt tn c to thm cho cng mt inode v gi tr tham chiu ca file s c tng thm 1 cho mi lin kt tt cng mi

    ln lilo.conf lilo.link

    Trong bng i y ch rng gi tr tham chiu l 2 v c 2 file c cng kch thc. Thc t chng hon ton ging nhau.

    Cc lin kt tt cng ch c th c to trong cng mt h thng file.

    Touching v dd-ing

    touch

    Mt cch khc to hoc thay i mt file la s dung touch

    C php:

    touch {options} file(s)

    Nu file cha c th n s c to mi. Chng ta c th thay i thi gian truy cp file bng la chon -a, -m thay i thi gian sa i file, v -r dng s dng cc thuc tnh thi gian ca file khc.

    V d

    touch file1.txt file2.txt to cc file mi

    touch myfile -r /etc/lilo.conf myfile s ly cc thuc tnh thi gian ca lilo.conf

    To mt file -errors s dng la chn -:

  • Qun tr H thng Linux - C bn

    66

    touch -- -errors

    dd

    Lnh ny s copy 1 file vi kch thc khi I/O c th thay i. Lnh ny cng c dng thc hin cc qu trnh chuyn i (ging nh tr). Cc la chn chnh l if= (file nhp), of=(file xut), v conv=(chuyn i)

    Cc kho chuyn i c th l: lcase, ucase, v ascii

    V d

    dd if=/mnt/cdrom/images/boot.img of=/dev/fd0

    Bi tp

    iu hng file

    To mt th mc mi /bin trong /tmp

    mkdir /tmp/bin Trong /tmp/bin to mt file gi l newfile (s dng touch, cat, hoc vi)

    Chuyn n th mc gc (cd /). Xem ni dung ca newfile t v tr ny.

    Cu lnh ngn nht no gip bn quay tr v /tmp/bin?

    Cu lnh ngn nht no gip bn chuyn n th mc home ca bn?

    Bin PWD l cc b hay ton cc?

    To v xo cc th mc

    Cch no l nhanh nht to cc th mc /dir1/dir2?

    Xo cc th mc ny vi rmdir sau vi rm

    To khong trng trn h thng file

    to thm khong trng trn thit b cha th mc /usr/share/doc chng ta cn tm thit b d phng c khong trng copy ni dung ca /usr/share/doc vo thit b ny.Sau chng ta s xo th mc /usr/share/doc v to mt im lin kt tng trng t /usr/share/doc n v tr mi.

  • Qun tr H thng Linux - C bn

    67

    To mt th mc /spare trn chng ta s gn (mount) cc thit b d phng ph hp (mt trong nhng phn vng c to t cc bi tp trc s ph hp cho mc ch ny)

    mkdir /spare mount /spare Kim tra vi lnh df -h /spare v du -hs /usr/share/doc xem thit b ny c dung lng ln cha tt c d liu ang c.

    Tip theo, copy cc ni dung ca /usr/share/doc n /spare/

    cp -a /usr/share/doc /spare Sau khi chc chn d liu c copy ht th thay i /etc/fstab c th s dng ngay sau khi ng.

    Xo /usr/share/doc v to im lin kt tng trng t /usr/share/doc n /spare/doc

    ln -s /spare/doc /usr/share/doc Thc hin tng t vi /home. Xem c vn g xy ra?

    Tm kim cc file trn h thng

    Copy file /etc/lilo.conf n /etc/lilo.conf.bak

    1 Dng lnh find tm find mi

    2 Dng locate tm /etc/lilo.conf.bak (Bn s cp nht c s d liu slocate nh th no?)

    Cc sao lu d phng (bc u tin)

    Tm tt c cc file c thay i trong ngy hm nay trong th mc home ca bn.

    find /home -mtime -1 |tee list1 |wc --lines (-1 c ngha l t hn 1 ngy)

    Chng ta s gii thiu cc tin ch lu tr phn sau, tuy nhin kt qu xut ca cc lnh tm kim s c dn trc tip vo cpio.

  • Qun tr H thng Linux - C bn

    68

    QUN L TIN TRNH

    Xem cc tin trnh ang chy

    Cc tin trnh c mt m (ID) tin trnh duy nht l PID. Gi tr ca PID c th dng thay i s u tin ca tin trnh hoc dng hn tin trnh .

    Mt tin trnh l bt c chng trnh no ang thc hin. Nu process_2 c sinh ra bi process_1 th n c gi l tin trnh con. Cn process_1 th c gi l tin trnh cha.

    Cy gia h ca cc tin trnh

    Lnh pstree s a ra mt minh ho y ca h phn cp cc tin trnh cha v con.

    Hnh 1: Mt phn cc kt qu ca pstree

    Trong hnh trn tt c cc m tin trnh (PID) u c nhn thy; gi tr ca chng c tng dn. La chn thng dng nht ca lnh ny l -p s hin th cc PID v -h s lm ni r cc tin trnh ca ngi dng.

  • Qun tr H thng Linux - C bn

    69

    Tm kim cc tin trnh ang thc hin

    S dng lnh ps l mt cch trc tip xc nh tin trnh no ang thc hin. Phn ln ngi dng kt hp mt s cc la chn ph hp vi mc ch tm kim. Di y l 3 l chn nh vy.

    ps -ux hin th tt c cc tin trnh thc hin bi ngi dng

    ps T hin th cc tin trnh dang chy bi thit b u cui hin thi ca ngi dng

    ps aux hin th tt c cc tin trnh trn h thng

    bit chi tit hn cc la chn chng ta nn s dng lnh ps manpage v chn ra nhng la chn ph hp nht.

    Cp nht lin tc thng tin tin trnh

    Tin ch top s cp nht thng tin trn cc tin trnh ti mt mc iu chnh.

    Trong khi tin ch top ang thc hin chng ta c th g h i vi mt danh sch cc lnh. Khong trng s c cp nht thng tin tc thi. Chng ta cng c th dng top thay i mc u tin ca mt tin trnh.

  • Qun tr H thng Linux - C bn

    70

    Thay i tin trnh

    Dng cc tin trnh

    Lnh kill s gi cc tn hiu n cc tin trnh. C tng cng 63 tn hiu. Tn hiu mc nh dng mt tin trnh c gi l SIGTERM vi gi tr 15.

    kill

    c php

    kill SIGNAL process_PID

    Mi tin trnh c th la chn nhn hay khng nhn mt tn hiu ngoi tr SIGKILL s c thc hin bng nhn h thng. Cc daemon s hiu SIGUP c ngha l "c li file cu hnh"

    Chng ta c th s dng lnh killall dng cc tin trinh m khng cn bit PID

    killall

    C php

    killall SIGNAL process_NAME

    Hnh 1: Tn hiu gia cc tin trnh

  • Qun tr H thng Linux - C bn

    71

    u tin tin trnh v cc gi tr (nice value)

    Cc gi tr nice value (NI) thay i quyn u tin ca CPU v c dng cn bng qu trnh s dng CPU trong mi trng a ngi dng. Mi tin trnh bt u vi gi tr NI mc nh l 0. Cc NI nm trong phm vi t 19 [thp nht] n -20[cao nht]

    Ch c ngi qun tr h thng c th gim gi tr NI ca mt tin trnh. T khi tt c cc tin trnh bt u vi gi tr NI mc nh l 0, ch c ngi qun tr h thng c th thit lp gi tr m cho cc gi tr NI.

    S dng lnh renice thay i mc u tin ca mt tin trnh. Dng lnh nice thit lp mc u tin ca mt tin trnh.

  • Qun tr H thng Linux - C bn

    72

    C php

    nice - renice -p

    Ch rng renice thc hin vi cc PID v x l danh sch cc tin trnh ti mt thi im. Mt la chn c ch ca renice l -u, la chn ny s nh hng n tt c cc tin trnh thc hin bi ngi dng.

    Thit lp gi tr 1 cho cc tin trnh 234 v 765

    renice +1 -p 234 765

    Thit lp gi tr -5 cho xclock

    nide --5 xclock

    Tin trnh v Shell

    Cc tin trnh nn sau v nn trc

    Sau khi chng ta bt u mt tin trnh t shell, chng ta s tin trnh cho shell t ng thng dch. Chng ta ch rng s khng c lnh no p ng na. L do cho vn ny l ch c th thc hin cc chng trnh trong nn trc fg hoc nn sau bg ca shell.

  • Qun tr H thng Linux - C bn

    73

    Khi mt chng trnh ang chy trong ch nn trc, du nhc shell c th khi phc bng cch ngt chng trnh . Tn hiu ngt c sinh ra bi t hp phm Ctrl Z.

    Dng v bt u cc cng vic (job)

    Mt tin trnh bt u t shell cn c gi l mt cng vic. Khi mt cng vic nhn tn hiu ^Z, n s c dng v du nhc shell s xut hin. khi to li chng trnh trong ch nn sau chng ta ch cn g: bg

    V d

    [mike localhost /bin]$xclock xclock chy trong ch nn trc, du nhc shell bin mt

    [1]+ Stoppep xclock xclock nhn tn hiu ^Z

    [mike localhost /bin]$bg du nhc shell c khi phc v a vo lnh bg

    [1]+ xclock & xclock ang chay trong ch nn sau

    [mike localhost /bin]$

    Ch k hiu [1]+ trn. Gi tr ny l job number ca tin trnh. Trong du hiu '+' ch ra tin trnh c thay i ln gn nht. Du hiu '-' ch ra tin trnh c thay i ln lin k

    Hin th cc cng vic

    Tin ch jobs hin th tt c cc tin trnh ang chy bt u t shell hin thi. Gi tr job number, trng thi cng vic (ang chy hay dng), v 2 tin trnh c thay i gn nht s c hin th

    Job number

  • Qun tr H thng Linux - C bn

    74

    Chng ta c th dng v bt u la chn cc cng vic mt cch thun tin bng cch s dng job number. Vic la chn ny c thc hin cng vi lnh fg

    Gi job 2 nn trc v loi b (kill) job 1

    fg 2 hoc kill -9 %1 fg %2 hoc fg %?xma

    Trnh s dng HUP vi nohup

    nohup l mt chng trnh c vai tr nh mt tin trnh cha c lp vi phin ngi dng. Khi mt ngi dng thot khi h thng, th h thng s gi HUP n tt c cc tin trnh nm trong nhm tin trnh ca ngi dng. V d, trnh tn hiu HUP, mt chng trnh gi l bigbang s c gng tnh thi gian xut hin ca cc tin trnh

    nohup bigbang &

    Bi tp

    Bn nn chy X trc khi bt u cc bi thc hnh sau

    1. Kim tra gi tr nice value (NI) hin thi ca x-terminal ang chy. Thay i gi tr ny bng ln top hoc renice

    2. Tn hiu tng ng ca ^Z gi n mt tin trnh l g? (Hin th tt c cc tn hiu vi kill -l)

    3. Tn hiu no c nh ngha li cho phn ln cc daemon v yu cu c li file cu hnh?

    4. Tn hiu mc dnh gi n mt tin trnh l g khi s dng kill hoc killall?

    5. Tn hiu no c trc tip x l bng nhn h thng (kernel) v khng th nh ngha li?

  • Qun tr H thng Linux - C bn

    75

    6. Trc ht bn hy ng nhp vo thit b u cui o (tty1 to tty6). Chng ta s thc hin mt script cho php tip tc chy khi chng ta thot ra khi h thng dng tin trnh cha nohup

    Trong th mc /tmp to mt file gi l print-out vi ni dung sau y

    #!/bin/bash count=0 while (true) do echo this is iteration number $count let count+=1 done

    Chng ta trc ht thc hin cc bc sau (khng dng nohup)

    Chng ta c th khng nhn thy dng lnh khi g exit nhng cu lnh ny s lm bn thot ra khi h thng. Khi bn ng nhp li hy kim tra print-out c dng

    Tip theo bt u vi lnh

    ng nhp li v kim tra nhng lnh sau

  • Qun tr H thng Linux - C bn

    76

    X L VN BN

    cat the Swiss Army Knife

    Dng cat son vn bn

    Tin ch cat c th dng nh mt chng trnh son tho n gin

    Ch cch dng Ctrl+D. Lnh ny c dng kt thc nhp input.

    Dng cat c vn bn

    Thng thng hn cat c dng a vn bn ra stdout. Cc la chn thng c dng l

    -n nh s mi dng ca output

    -b ch nh s dong ouput khng trng

    -A hin th k hiu xung dng

    V d

    Lnh tac s c vn bn t cui ln u

  • Qun tr H thng Linux - C bn

    77

    Lnh ny ging nh cat ngoi tr ni dung vn bn c c t dng cui ln u

    Cc cng c n gin

    S dng head hoc tail

    Cc tin ch head hoc tail thng c dng phn tich cc logfile. Chng s xut a ra mc nh 10 dng vn bn. Sau y l cch dng

    Hin th 20 dng u tin ca /var/log/messages:

    Hin th 20 dng cui cng ca /etc/aliases:

    Tin ch tail c thm mt la chn cho php hin th ni dung vn bn bt u t dng a vo cho en ht.

    Hin th ni dung vn bn bt u t dng 25 trong /var/log/messages:

  • Qun tr H thng Linux - C bn

    78

    Cu hi: nu mt vn bn c 90 dng, chung ta s s dng lnh tail v head nh th no hin th cc dng t 50 ti 65? C th c nhiu hn mt cch thc hin iu ny?

    Cui cng tail c th c lin tc mt file bng la chn -f. La chn ny rt c ch khi chng ta mong mun mt file c thay i trong thi gian thc

    m s dng, s t v byte

    Tin ich wc s m s lng cc byte, cc t, v cc dng trong file. Mt vi la chn cho php chng ta thay i gi tr output ca wc

    Cc la chn cho wc

    -l m s dng

    -w m s cc k t hoc t

    -c hoc m m s cc byte hoc k t

    Lu :

    Nu khng c tham bin, wc s m da trn ni dung c g vo stdin

    nh s cc dng

    Tin ch nl c tc dng ging nh cat -b

    nh s tt c cc dng gm c cc dng trng

    nh s cc dng vn bn khng trng

  • Qun tr H thng Linux - C bn

    79

    Thay th tab bng space

    Lnh expand cho php thay th TAB bng cc du cch (space). Chng ta c th dng lnh unexpand thay th ngc li.

    Xem cc file nh phn

    C mt s cng c thc hin iu ny. Cng c ph bin nht l od (octal dump) v hexdump.

    X l vn bn

    Cc cng c sau y thay i b tr vn bn

    La chn cc trng (field) v cc k t vi cut

    Tin ch cut c th ly ra mt vng cc k t hoc cc trng t mi dng ca vn bn.

    La chn -c c dng x l k t.

    C php:

    V d:

    V d trn s a ra cc k t t v tr 5 n 10 v t 15 n cui dng ca mi dng trong /etc/password

    Chng ta c th xc nh du phn cch cc trng (du cch, du phy,...) ca mt file cng nh cc trng i vi output. Cc la chn c thit lp vi c hiu -d v -f tng ng

    C php:

  • Qun tr H thng Linux - C bn

    80

    V d:

    V d ny s a ra cc trng t trng u tin n trng th by ca /etc/passwb c phn cch bng du cch. Mc inh ca output-delimiter l ging nh cc phn cch input ban u. La chn --output-delimiter cho php chng ta thay i gi tr mc nh ny.

    Kt ni v dn vn bn

    Tin ch n gin nht l paste s ghp hai file bn cnh nhau

    C php

    Vi tin ch join chng ta c th xc nh c th hn nhng trng m chng ta ang quan tm

    C php

    Vn bn c gi n stdout ch khi nhng trng c th i snh. Qu trnh so snh c thc hin trn mt dng ti mi thi im cho n khi c s trng nhau c tm thy v qu trnh s c dng nay lp tc mc d c th c nhng s trng nhau nm pha sau.

    Sp xp output

  • Qun tr H thng Linux - C bn

    81

    Lnh sort s sp xp mc nh mt vn bn theo th t abc. La chn -n s thc hin vic sp xp theo th t s.

    nh dng output

    Chng ta c th thay i s lng cc k t trong mi dng ca output bng lnh fmt. Mc nh fmt s lin kt cc dng v a ra 75 k t cho mi dng

    Cc la chn fmt

    -w s lng cc k t trn mi dng

    -s tch nhng dng di nhng khng in y dng cn li

    -u t mt du cch gia mi t v 2 du cch cui mi cu

    Thay th cc k t

    Tin ch tr s thay th mt tp hp cc k t bng tp h k t khc.

    V d thay i cc ch ci vit hoa bng ch ci thng

    tr [AB] [ab] > message line 1

  • Qun tr H thng Linux - C bn

    82

    ^D

    Thc hin tng t nhng dng t kho STOP thay th iu khin kt thc file (^D)

    cat >> message > message

    2. To mt file c tn l index vi 2 trng REFERENCE v TITLE c phn cch bng du cch

    v d 001 Using_Linux

    To file th hai c tn l pricing vi 2 trng REFERENCE v PRICE c phn cch bng du cch

    v d 001 9.99

    S dng ln join hin th cc trng reference, title, v price.

    3. S dungh tr thay th ton b du hai chm bng du chm phy trong /etc/passwd

    Thc hin tng t dng lnh cut

    4. S dng lnh head v tail hin th dng 75 n 80 ca /var/log/messages

    5. S dng tin ch cut cng vi grep v ifconfig in ra duy nht a ch IP ca giao din mng eth0

  • Qun tr H thng Linux - C bn

    83

    6. Trong /tmp to mt th mc vi tn l files

    mkdir /tmp/files To 50 file trong th mc ny

    # ! /bin/bash count=0 while [ $count -lt 50 ] do touch /tmp/files/$count.txt let count+=1 done

    Cc bn s g cc dng lnh sau thay i cc file c phn m rng txt sang dat

  • Qun tr H thng Linux - C bn

    84

    CI T PHN MM

    Gii thiu

    Hy bt u cng vi mt on m ngun ngn. V d ny s gip gip chng ta tm hiu vn m khng cn c kin thc su v ngn ng lp trnh