Professional Documents
Culture Documents
CHNG II
NGHIN CU H IU HNH LINUX I. 1 H iu hnh Linux: Lch s pht trin ca Linux v gii thiu cc phin bn Linux: - Linux l mt HH dng UNIX (Unix-like Operating System) chy trn my PC vi b iu khin trung tm (CPU) Intel 80386 tr ln hay cc b vi x l trung tm tng thch AMD, Cyrix. Linux ngy nay cn c th chy trn cc my Macintosh hoc SUN Sparc.Linux tha mn chun POSIX.1. - Linux c vit li ton b t con s khng, tc l khng s dng mt dng lnh no ca Unix trnh vn bn quyn ca Unix. Tuy nhin hot ng ca Linux hon ton da trn nguyn tc ca HH Unix.V vy nu mt ngi nm c Linux, th s nm c UNIX. Nn ch rng gia cc Unix s khc nhau cng khng km g gia Unix v Linux. - Nm 1991,Linus Torvalds,sinh vin ca i hc tng hp Helsinki, Phn lan, bt u xem xt Minix, mt phin bn ca Unix lm ra vi mc ch nghin cu cch to ra mt HH Unix chy trn my PC vi b vi x l Intel 80386. - Ngy 25/8/1991, Linus cho ra version 0.01 v thng bo trn comp.os.minix ca Internet v d nh ca mnh v Linux. - 1/1992, Linus cho ra version 0.12 vi shell v C compiler. Linus khng cn Minix na recompile HH ca mnh.Linus t tn HH ca mnh l Linux. - Nm 1994, phin bn chnh thc 1.0 c pht hnh. - Qu trnh pht trin ca Linux c tng tc bi s gip ca chng trnh GNU (GNUs Not Unix), l chng trnh pht trin cc Unix c kh nng chy trn nhiu platform. n hm nay, cui nm 2001, phin bn mi nht ca Linux kernel l 2.4.20, c kh nng iu khin cc my a b vi x l (hin ti Linux h tr my tnh c ti a 16 CPUs) v rt nhiu cc tnh nng khc. - Phin bn mi nht c th tm thy ti http://www.kernel.org. Vn bn quyn ca GNU project - Cc chng trnh tun theo GNU Copyleft or GPL (General Public License http://www.linux.org/info/gnu.html ) c bn quyn nh sau:
CHNG II NGHIN CU H IU HNH LINUX TRANG 30
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM 1. Tc gi vn l s hu ca chng trnh ca mnh. 2. Ai cng c quyn bn copy ca chng trnh vi gi bt k m khng phi tr cho tc gi ban u. 3. Ngi s hu chng trnh to iu kin cho ngi khc sao chp chng trnh ngun pht trin tip chng trnh.
Why Linux :
Linux l min ph (free). i vi chng ta hm nay khng quan trng v ngay WindowsNT server cng "free". Nhng trong tng lai, khi chng ta mun ha nhp vo th gii, khi chng ta mun c mt thu nhp chnh ng cho ngi lp trnh, hin tng sao chp trm phn mm cn phi chm dt. Khi , "free" l mt thng s rt quan trng chn Linux. Linux rt n nh. Tri vi suy ngh truyn thng "ca r l ca i ", Linux t nhng phin bn u tin cch y 5-6 nm rt n nh. Ngay c server Linux phc v nhng mng ln (hng trm my trm) cng hot ng rt n nh. Linux y . Tt c nhng g bn thy IBM, SCO, Sun u c Linux. C compiler, perl interpeter, shell, TCP/IP, proxy, firewall, ti liu hng dn ... u rt y v c cht lng. H thng cc chng trnh tin ch cng rt y . -Linux l HH a nhim hon ton 32-bit. Nh cc Unix khc, ngay t u, Linux l mt HH 32 bits. Hin nay c nhng phin bn Linux 64 bits chy trn my Alpha Digital hay Ultra Sparc. Linux rt mm do trong cu hnh. Linux cho ngi s dng cu hnh rt linh ng, VD nh phn di mn hnh Xwindow ty , d dng sa i ngay c kernel. Linux chy trn nhiu my khc nhau t PC 386, 486 t lp cho n SUN Sparc. Linux c tr gip. Ngy nay, vi cc server Linux s dng d liu quan trng, ngi s dng hon ton c th tm c s tr gip cho Linux t cc cng ty ln. IBM chnh thc cho bn IBM server chy trn Linux. Ti liu gii thiu Linux ngy cng nhiu, khng thua km bt c mt HH no khc. Vi ngun ti liu phong ph, chng trnh t kernel cho n cc tin ch min ph v b m ngun m, Linux l ngi bn ng hnh l tng cho nhng ai mun i vo HH chuyn nghip UNIX v cng c tt nht cho cng tc o to CNTT trong cc trng i hc. Cc phin bn ca Linux: Cc phin bn ca HH Linux c xc nh bi h thng s dng X.YY.ZZ. Nu YY l s chn => phin bn n nh. YY l s l => phin bn th nghim. Cc phn phi (distribution) ca Linux quen bit l RedHat, Debian GNU/Linux, SUSE, Slakware, Caldera, Mandrake/Mandriva Ch phn bit s phin bn ca HH (Linux kernel) vi phin bn ca cc phn phi (v d RedHat 7.1 vi kernel Linux 2.4.2-14). 2. Cc c tnh c bn ca Linux:
TRANG 31
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM - Linux gm hai thnh phn chnh: Kernel v ng dng. - a tin trnh. - Tc cao. - B nh o (Partition Swap). - S dng chung th vin. - S dng cc chng trnh x l vn bn. - S dng giao din ca s. - Samba. - Network Information Service (NIS). - Lp lch hot ng. - Sao lu d liu. - H tr nhiu ngn ng lp trnh.
3. u im ca Linux: Trong s nhng HH thng dng ngy nay, Linux l HH min ph c s dng rng ri nht. Vi cc PC IBM, Linux cung cp mt h thng y vi nhng chc nng a nhim (multitasking) v a ngi dng (multiuser) lp sn, tn dng c sc mnh x l ca my 386 v cao hn.
TRANG 32
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM Linux tch hp sn giao thc TCP/IP gip bn d dng kt ni Internet. Linux cng c Xfree86 cung cp cho bn mt giao din ho GUI y . Nhng phn ny bn khng cn phi mt tin mua, ch cn ti xung t Internet. Tnh tng thch: kh nng tng thch ca mt HH gip bn chuyn n t 1 nn ny sang mt nn khc m vn hot ng tt. H tr ng dng: Linux c hng nghn ng dng,bao gm cc chng trnh bo biu, c s d liu, x l vn bn Ngoi ra, Linux cng c hng lot tr chi gii tr trn nn text hoc ho. Li ch cho gii in ton: gii in ton s c hng lot cng c pht trin chng trnh, bao gm b bin dch cho nhiu ngn ng lp trnh hng u hin nay, chng hn nh C, C++, PL.Pyhon 4. Khuyt im ca Linux: o H tr k thut: c l iu tr ngi ln nht ca Linux l khng c 1 cng ty no chu trch nhim pht trin HH Linux ny. Khi c s c bn khng th gi min ph cho b phn h tr k thut no c m ch da vo s hng dn ca bn b thng qua din n tho lun hoc tr gip ca cc cng c tm kim. o Phn cng: ci t phn cng trn HH Linux l mt iu rt kh khn cho ngi s dng cng nh ngi qun tr, ngoi ra HH Linux cng cn hn ch 1 s phn cng mi, cc nh sn xut phn cng cng t cung cp driver trn nn Linux. 5. Linux khc UNIX nh th no: - UNIX c pht trin vi mt chnh sch nghim ngt. - Mi ngi u c th tham gia pht trin Linux. - Khng c t chc no chu trch nhim v cc phin bn ca Linux. II. H THNG TP TIN V CC LNH C BN
1. Filesystem.
L cch t chc d liu trn thit b lu tr. H thng tp tin l mt phn c bn ca HH Linux. Mt h thng tp tin l mt thit b m n c nh dng lu tr tp tin v th mc. Nhng khi nim c bn v filesystem.
TRANG 33
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM a) Trong Linux xem file nh l mt inode, th mc l mt file cha nhng entry. b) Khi to mt filesystem, nhng loi khc c to trong filesystem, gm 3 phn : - Superblock - Inode - Storageblock Superblock l cu trc c to ti v tr bt u filesystem. Lu tr cc thng tin : - Kch thc v cu trc filesystem. - Thi gian cp nht filesystem cui cng. - Thng tin trng thi. Inode lu nhng thng tin v tp tin v th mc c to trong filesystem. Mi tp tin to ra s c phn b mt inode lu thng tin sau : - Loi tp tin v quyn hn truy cp. - Ngi s hu tp tin. - Kch thc v s hard link n tp tin. - Ngy v gi chnh sa tp tin ln cui cng. - V tr lu ni dung tp tin trong filesystem. Storageblock l vng lu d liu thc s ca tp tin v th mc. N chia thnh nhng datablock. Mi block cha 1024 k t. - Datablock ca tp tin thng lu inode ca tp tin v ni dung ca tp tin. - Datablock ca th mc lu danh sch nhng entry gm inode number, tn tp tin v nhng th mc con. c) Cc loi tp tin : trong Linux tp tin dng lu tr d liu, bao gm th mc v thit b lu tr. Cc tp tin trong Linux c chia lm 3 loi chnh :
CHNG II NGHIN CU H IU HNH LINUX TRANG 34
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM - Tp tin d liu : l d liu lu tr trn cc thit b nh a cng, cdrom. - Th mc : cha cc thng tin ca nhng tp tin v th mc con trong n. - Tp tin thit b : H thng Linux xem cc thit b nh l cc tp tin. Ra vo d liu trn cc tp tin ny chnh l ra vo d liu cho thit b. - Link (Lin kt) mt lin kt, l to ra mt tp tin th hai cho mt tp tin. C php : #ln [-s] <source> <destination> V d : #ln /usr/bill/testfile /usr/tim/testfile + Hard Link l mt lin kt trong cng h thng tp tin vi hai inode entry tng ng tr n cng mt ni dung vt l. + Symbolic Link l mt lin kt khc m khng s dng inode entry cho vic lin kt. Ty chn s ca lnh ln cho php to mt symbolic link.
TRANG 35
Nhng filesystem c sn trong Linux. VFS Ext2 Ext3 Vfat iso9660 Sa filesystem.
Khi filesystem b li dng lnh sau sa li : C php : #fsck <option> <partition> V d : #fsck V a /
Bng m t cc ty chn : Ty chn -A -V -t loai-fs -a -l -r -s M t Duyt khp tp tin /etc/fstab v c gng kim tra tt c cc h thng tp tin ch trong mt ln duyt. Ch chi tit. Cho bit lnh fsck ang lm g. Xc nh loi h thng tp tin cn kim tra. T ng sa cha nhng hng hc trong h thng tp tin m khng cn hi. Lit k tt c cc tn tp tin trong h thng tp tin. Hi trc khi sa cha h thng tp tin. Lit k cc superblock trc khi kim tra h thng tp tin.
TRANG 36
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM 2. Khi nim v thit b. C 2 loi thit b: block device v character device.
Block device: c gi l Random Access Device nh a cng. Character device: keyboard, audio device. 3. Master Boot Record (MBR) cha Bootloader code v partition table. Mi thit b trong Linux c xem l mt tp tin lu trong th mc /dev. a cng SCSI, USB : sda, sdb a cng IDE : hda, hdb a mm : fd0, fd1 a CDROM : cdrom Partition. Linux h tr 4 primary partition. MI partition l mt thit b c mt tp tin tng ng trong /dev. Tn gi ca chng bt ngun t tn a v s th t t 1. Primary c s th t t 1 ->4, logical t 5 tr i. Lnh fdisk dng to partition.
V d v cch to mi mt partition.
TRANG 37
4 -
- Mt s ty chn : -f tc gi. -v thc hin. -w -r -t loai-fs -a /etc/fstab. : lm cho tt c mi th u hin ra, song n ch gy ra ng : ch chi tit, cung cp thng tin v nhng g mount nh : mount h thng tp tin vi quyn c v ghi. : mount h thng tp tin vi quyn c. : xc nh h thng tp tin ang c mount : ext2, ext3,vfat ... : mount tt c nhng h thng tp tin c khai bo trong
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM Umount h thng tp tin : C php : #umount <device_name> <mount_point> #umount -a #umount -t loai-fs Lu : Lnh umount khng umount nhng h thng tp tin ang s dng. LABEL=/ LABEL=/boot None ... ct 1: ch ra thit b hoc h thng tp tin cn mount. ct 2: xc nh mount point (ch none s dng cho cc h thng tp tin c bit nh swap). ct 3: ch ra loi filesystem nh : vfat, ext2 ct 4: cc ty chn phn cch nhau bi du phy. ct 5: xc nh thi gian lnh dump sao chp (backup) h thng tp tin. ct 6: khai bo cho lnh fsck bit th t kim tra cc h thng tp tin khi khi ng h thng. Di chuyn filesystem. Gn a vt l, to mt partition. Khi ng li my. nh dng partition. #mkfs t ext2 /dev/hda4
-
/ /boot /dev/pts
1 1 0
1 1 0
To mt th mc newpartition trong /mnt. Mount partition vo th mc ny. #mkdir /mnt/newpartition #mount /dev/hda4 /mnt/newpartition
TRANG 39
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM nh ngha mount partition va to vo th mc /home mt cch t ng (/etc/fstab). Mount partiton #umount /mnt/newpartition #mount /dev/hda4 /home Tp hp thng tin v filesystem Lnh df C php : #df <option> System monitor Lnh du Cu trc cy th mc. Linux lun gi li cu trc cy th mc lch s ca Unix (v n c pht trin nh mt bn unix clone) nhng do n khng phi l Unix nn nhng nh pht trin cng t thay i cu trc ph hp vi linux. Cu trc cy th mc ca linux c m t trong ti liu v Filesystem Hierachy Standard (FHS), y l cu trc m phn ln cc bn linux tun theo.
/bin Ni y lu gi nhng tp lnh c bn ca linux,nhng tp lnh ny c th c chy bi bt k user no trn h thng (khng phi nh l vic ch mi root c th chy trong /sbin). Cc chng trnh khc c th c tm thy trong /usr/bin. /boot Ni cha nhng thng tin bootmanager cn c (thng dng hin nay l grub) v mt s bn ca kernel. /dev Trong th mc ny cha nhng tp tin device. /etc Trong th mc ny cha cc tp tin tu bin ca c h thng.Nhng tp tin trong ny iu khin c qu trnh khi ng my,qun l users,qun l mng ... /home Trong th mc ny cha ng nhng home directories ca ngi dng.Home directory ca root th nm /root.Nguyn do ca vic trn l /home thng nm mt partition khc v nhiu lc th root cn c hot ng ngay c khi partition khng th access c (v mt l do no ).
TRANG 40
/lib Ni cha ng mt vi th vin dng chung hoc l ng dn tng trng (symbolic links) n cc th mc dng chung .Nhng th vin ny s c s dng n cho vic chy mt s cc programs nht nh.Trong th mc /lib /modules cha ng nhng kernel modules,chng c bt v tt nu cn thit. /lost+found Trong th mc ny,nhng tp tin b mt s c lu tr.Nhng tp tin c xp vo dng ny l nhng tp tin khng y hoc b li c to ra khi linux khng c tt mt cch hon thin. /mnt FHS lun hng ngi s dng mount cc h thng tp tin ph nh CDRom, partition ca windows di /mnt/cdrom hay /mnt/c,ngoi /mnt th hin nay th mc thng c dng l /media. /opt Th mc ny c to ra cho mt s chng trnh ring ca ngi s dng.Thi thong c mt s chng trnh c ci t ti /usr/local. /proc Nhng th mc con trong th mc ny cha ng nhng tin trnh ang c chy trn h thng,cc tp tin trong th mc ny khng phi l cc tp tin thc s.Th mc /proc ch to ra mt hnh nh v qun l cc tin trnh trong my. /root Home directory ca ti khon root. /sbin Ni cha nhng tp lnh cho vic qun l h thng.Tt c cc tp tin trong th mc ny ch c ti khon root c quyn chy. /tmp Ni cha nhng tp tin nhp (temporary files).Nhng tp tin nhp ny cng thng c ghi, lu vo /var/tmp. /usr y l mt trong nhng th mc quan trng v cha nhiu th nht ca h thng. Trong th mc ny cha ng tt c cc chng trnh,h thng X-window,ngun ca linux v nhiu th khc.Trong th mc ny thng ch cha ng nhng thng tin khng th thay i c,cn nhng bin khc s c lu /var.Thng c nhiu ngi rt hay nhm ln usr l vit tt ca user nhng thc ra n l vit tt ca unix system resources. /var Cng nh l /usr,y l ni cha rt nhiu cc th mc con vi nhng tp tin lun thay i (c,ghi,xo).Nhng th mc trong ny c cu trc v tn phn ln ging nh tn ca cc th mc con trong /usr,ch khc so vi nhng tp tin v th mc trong /usr l nhng tp tin v th mc y lun thay i.
TRANG 41
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM Trong mt phin lm vic th ngi s dng lun u trn cy th mc.i vi vic m mt terminal th ngi s dng s t chn vo u nht nh trong cy th mc h thng v t n ht phin lm vic th ngi s dng c th s di chuyn qua li trong cy th mc thc hin v x l mt s cng vic nht nh.Sau y l mt s nh ngha c bn m mi ngi s thng gp trong qu trnh lm vic vi Unix ni chung v linux ni ring: Root-directory (gc ca cy th mc) : n c gn ch cao nht trong cy th mc v trn n khng cn c mt th mc no khc.Root-directory c nh du vi / (du gch cho). working-directory hay l current directory : Th mc ny chnh l th mc m ngi s dng ang lm vic (ang nm trong n).Vi lnh pwd (print working directory) bn c th bit c l mnh ang ng u trong cy th mc v c th s dng lnh cd nhy. Parent-directory (th mc m) : l th mc nm ngay pha trn mt th mc khc trong cy th mc,v d /home l th mc m ca /home/ tuantub.Ch c mt ngoi l l th mc b m ca / (root) chnh l n biggrin.gif. Path (ng dn) : Mi tp tin hay th mc trong h thng linux hay unix c ch nh bi mt ng dn,trong cc v d sau s s dng hnh nh ca cy th mc di y :
TRANG 42
ng dn tuyt i : ca mt tp tin hay th mc lun bt u bi / (root) v tip theo sau l chui cc th mc m n i xuyn qua cho n khi ti ch.Tm li,mt ng dn tuyt i l ng dn bt u bi / (root) VD : Khi bn ang ng trong th mc tuantub,th mc con ca home hay cn c th ni home l th mc m ca tuantub th ng dn tuyt i ca ca th mc tuantub s l /home/tuantub.ng dn tuyt i ca tp tin abc,tp tin con ca th mc m l Desktop,v Desktop l th mc con ca tuantub s l /home/tuantub /Desktop/abc.Du / u tin c nh du cho root directory cn nhng du sau s l du ngn cch gia th mc m v th mc con ca mt ng dn. ng dn tng i : i vi ng dn tng i th ngi s dng khng i hi phi bt u t / (root) m c th tip cn c vi cc th mc hay tp tin bn trong th mc hin hnh (working directory).Mt ng dn tng i thng bt u vi : Tn ca mt th mc hoc tp tin. Mt du . (du chm) biu th cho working directory (c l c nhiu bn s lin tng n lnh ./configure khi bin dch mt chng trnh no ,du . y chnh l ng dn tng i ca th mc hin hnh,c cu lnh s c ngha l : hy chy tp tin tn l configure nm trong th mc hin thi). Mt du .. (hai chm) biu th cho th mc m ca th mc hin thi. VD : Gi s l bn ang ng trong th mc /home/tuantub trong cy th mc, t y th ng dn Desktop/abc s l ng dn tng i ca tp tin abc cn /home/tuantub/Desktop/abc s l ng dn tuyt i.T /home/tuantub th ng dn tng i n th mc /etc s l ../../etc (th mc etc l th mc con ca th mc m ca th mc m ca /home/tuantub).T /home/tuantub,nu mun di chuyn n /etc th ta dng lnh cd vi : ng dn tuyt i l
TRANG 43
Cc thao tc trn th mc. pwd : Xc nh v tr th mc hin hnh. C php : #pwd cd : Thay i th mc hin hnh. C php : #cd [directory] ls : Lit k ni dung th mc. C php : #ls [option] [directory] mkdir : To th mc. C php : #mkdir <directory> rmdir : Xa th mc rng. C php : #rmdir <directory>
Cc thao tc trn tp tin : cat : Dng hin th ni dung tp tin. C php : #cat <filename1> [filename2] Lnh cat cn dng to tp tin. Ta c th dng du > hoc >> (du > s to mi, du >> s ni tip vo ni dung c sn). Nhn CTRL-d kt thc.
TRANG 44
NGHIN CU H THNG NHNG V NG DNG GIAO TIP WEBCAM more : Xem ni dung tp tin theo tng trang. C php : #more <filename> cp : Sao chp tp tin. C php : #cp <source> <destination> mv : Di chuyn v i tn tp tin. C php : #mv <source> <destination> rm : Xa tp tin, th mc. C php : #rm [option] <filename/directory> find : Tm kim tp tin. C php : #find [path-list] [expression] Mt s cc chui tm kim : -name <file> : tm tp tin. -size n<bck> : tm theo kch thc tp tin. -user uname : tm cc tp tin c s hu bi uname. grep : Tm mt chui trong ni dung tp tin. C php : #grep [expression] [filename] touch : To v thay i ni dung tp tin. C php : #touch <option> <filename> dd : Sao chp v chuyn i tp tin. C php : #dd if=<file> of=<device> if l input file , of l output file Cc tp tin chun trong Linux. C 3 loi : Nhp chun : D liu c nhp t bn phm. Xut chun : D liu xut ra mn hnh. Li chun : Lung d liu thng bo li.
TRANG 45
Chuyn hng nhp : #command < file Chuyn hng xut : #command > file ng ng (Pipe) : hng xut ca lnh ny l hng nhp ca lnh kia. C php : #command1 | command2 |
tar : Gom v bung nhng tp tin, th mc. C php : #tar [option] <destination> <source> cvf : Gom tp tin/th mc. -xvf : Bung tp tin/th mc. C th s dng danh sch cc tp tin v th mc.
TRANG 46