Linux LPI Topic 101

15
Topic 101: Hardware & Architecture 1. Configure Fundamental BIOS Settings /proc/ioports chứa thông tin i/o address của thiết bị ngoại vi của hệ thống COM1 ttys0 03f8 COM2 ttys1 02f8 COM3 ttys2 03e8 COM4 ttys3 02e8 LPT1 Lp0 0378 LPT2 Lp1 0278 /proc/interrupts chứa thông tin về ngắt của thiết bị trên hệ thống 0 System timer 8 Realtime clock (in CMOS) 1 Keyboard 9 Varies 2 Cascade from IRQs 8-15 10 Varies 3 COM2 và COM4 11 Varies 4 COM1 và COM3 12 PS/2 Mouse 5 Sound Cards hay second LPT 13 Math Proccessor 6 Floppy disk controller 14 Primary ATAPI controller 7 First LPT 15 Secondary ATAPI controller /proc/dma chứa thông tin về phương thức truy xuất trực tiếp bộ nhớ mà không cần sự điều khiển của cpu. Hầu hết các PC có 8 kênh DMA, thường dùng cho đĩa mềm, băng từ, và sound card. /proc/pci thông tin về thiết bị dùng slot pci trên hệ thống. IDE Controller Position Designation

description

LPI 101

Transcript of Linux LPI Topic 101

Page 1: Linux LPI Topic 101

Topic 101: Hardware & Architecture1. Configure Fundamental BIOS Settings

/proc/ioports chứa thông tin i/o address của thiết bị ngoại vi của hệ thống

COM1 ttys0 03f8COM2 ttys1 02f8COM3 ttys2 03e8COM4 ttys3 02e8LPT1 Lp0 0378LPT2 Lp1 0278

/proc/interrupts chứa thông tin về ngắt của thiết bị trên hệ thống

0 System timer 8 Realtime clock (in CMOS)

1 Keyboard 9 Varies2 Cascade from IRQs 8-

1510 Varies

3 COM2 và COM4 11 Varies4 COM1 và COM3 12 PS/2 Mouse5 Sound Cards hay

second LPT13 Math Proccessor

6 Floppy disk controller 14 Primary ATAPI controller

7 First LPT 15 Secondary ATAPI controller

/proc/dma chứa thông tin về phương thức truy xuất trực tiếp bộ nhớ mà không cần sự điều khiển của cpu.Hầu hết các PC có 8 kênh DMA, thường dùng cho đĩa mềm, băng từ, và sound card.

/proc/pci thông tin về thiết bị dùng slot pci trên hệ thống.IDEController Position DesignationPrimary Master hdaPrimary Slave hdbSecondary Master hdcSecondary Slave hddchú ý:

Primary partition đánh số từ hdx1-hdx4.Extended partition đánh số từ 5-trở đi.

SCSI

Page 2: Linux LPI Topic 101

Đối với SCSI, dạng của SCSI bus xác định số thiết bị có thể gắn vào máy tính.

8-bit SCSI có thể có 8 device (trong đó có id 7 dùng cho host adapter và có priority cao nhất)

16-bit SCSI có thể có 16 device (trong đó id 15 dùng cho host adapter và có priority cao nhất)

Designation sẽ là sda,sdb,sdc ...Command setserial dùng để view và assign giá trị ng cho cổng COM.Syntax: setserial device [parameters]ví dụ:/bin/setserial /dev/ttyS0 auto_irq skip_test autoconfig Kernel sẽ gán cho COM1 giá trị i/o address và ngắt mặc định./bin/setserial /dev/ttyS0Đưa ra cấu hình của cổng COM1.

2. Setup SCSI Devices

Cấu hình CMOS hổ trở các dạng scsi, miror, raid 5 ...SCSI ID (dạng gồm tổ hợp 3 số:scsi chanel, device id, logical unit

number)./proc/scsi

syntax: scsi_info deviceví dụ:Show thông tin về scsi trên hệ thống:

cat /proc/scsi/scsihoặc dùng lệnh scsi_info

scsi_info /dev/sdx (thay x bằng a,b,c...)3. Setup different PC expansion cards

/proc/dma/proc/interrupts/proc/ioports/proc/pci

PNP stands for Plug and Pray (grin) actually Plug and PlaySyntax: pnpdump [option]Syntax: isapnp

Hai lệnh này có cùng chức năng, cấu hình thiết bị plug and play.4. Configure Communication Devices and Configure USB devices

usb-uhci.o chuẩn usb cho chip intel.usb-ohci.o chuẩn usb cho chip compaq.Syntax: usbmodules –device DEVICE/etc/hotplug thư mục chưa những script để khi một thiết bị plug vào thì script tương ứng sẽ thực thi.Thông thường cổng usb trong hệ thống sẽ có tên sda, sdb, sdc ...Ví dụ:

mount /dev/sda1 /mnt/floppy Sẽ mount usb flash vào hệ thống với mount point là /mnt/floppy.

Topic 102: Linux Installation & Package Management

Page 3: Linux LPI Topic 101

1. Design hard disk layout

- Lên kế hoạch chia partition cho hệ thống linux tuỳ theo ứng dụng chạy trên Server.

- Số partition tối thiểu cho hệ thống linux là 2(swap và root).- Swap = RAM x 2.

ví dụ:Hãy thực hiện chia partition cho hệ thống Server cung cấp làm

dịch vụ File Server cho user lưu trữ dữ liệu.Tuỳ theo số user ta se có chiến lược chia /home file system tương ứng. Thực hành chia đĩa cho một hệ thống cụ thể có các thông số sau:

Ram 256 MB, ổ cứng 40 GB, dùng làm file server cho 20 user lưu dữ liệu. Mỗi user cần 100 MB /home system cần 25 GB (dự phòng 5G).

swap 256x2=512 MB/boot 100MB/ Phần còn lại.

2. Install a boot manager

Trong quá trình cài đặt hệ thống ta sẽ chọn cài chương trình boot manager LILO hay GRUB (option). Fedora 10 bỏ đi LILO.

LILO: file cấu hình là /etc/lilo.conf sau khi sữa file cấu hình ta phai update boot sector hoặc master boot record bằng lệnh lilo –v.GRUB:file cấu hình /boot/grub/grub.conf và có 1 symbolic link là /etc/grub.conf khi sữa đổi file cấu hình grub sẽ tự động update.grub-install option cài đặt trình grub lên đĩa.

ví dụ: trên hai hệ thống khác nhau 1 hệ thống cài lilo và hệ thống khác cài grub./etc/lilo.conf

boot=/dev/cciss/c0d0map=/boot/mapinstall=/boot/boot.bprompttimeout=10message=/boot/messagelineardefault=linuximage=/boot/vmlinuz-2.4.2-2smp

label=linux initrd=/boot/initrd-2.4.2-2smp.img read-only root=/dev/cciss/c0d0p3

image=/boot/vmlinuz-2.4.2-2label=linux-upinitrd=/boot/initrd-2.4.2-2.img

read-only

Page 4: Linux LPI Topic 101

root=/dev/cciss/c0d0p3/etc/grub.conf

default=0timeout=1splashimage=(hd0,0)/grub/splash.xpm.gz

title Fedora Core (2.4.22-1.2115.nptlsmp) root (hd0,0)

kernel /vmlinuz-2.4.22-1.2115.nptlsmp ro root=LABEL=/ initrd /initrd-2.4.22-1.2115.nptlsmp.imgtitle Fedora Core-up (2.4.22-1.2115.nptl) root (hd0,0) kernel /vmlinuz-2.4.22-1.2115.nptl ro root=LABEL=/ initrd /initrd-2.4.22-1.2115.nptl.imgThực hành chuyển đổi image boot default và thời gian delay...

3. Make and install programs from source

Có khả năng cấu hình và compile một chương trình từ source.Thông thường các bước như sau:

unzip bộ source thường dùng lệnh tarconfigure makemake install

Ví dụ:Thực hành compile chương trình web server từ source.

-Download bộ source httpd-2.0.50.tar.gz từ Internet , dùng bộ source support cho version của redhat đang dùng.

-Các bước compile như sau:cp httpd-2.0.50.tar.gz /usr/local/src tar xfz httpd-2.0.50.tar.gz cd httpd-2.0.50 ./configuremake make install

Now, chúng ta có một web server. có thể truy cập qua http://ip_address

4. Manage shared libraries

Có thể xác định được thư viện cần thiết của một chương trình thực thi.Xác định được vị trí thư viện dùng chung của hệ thống.

ldd command show những thư viện mà command dùng.ldconfig update ld.so.cache, file nhị phân chứa thông tin về tất cả các thư viện dùng chung trên hệ thống./etc/ld.so.conf chứa đường dẫn của thư viện dùng chung.

ví dụ:Tìm xem lệnh ls dùng những thư viện nào:

ldd /bin/lslibrt.so.1 => /lib/tls/librt.so.1 (0x00437000)

Page 5: Linux LPI Topic 101

libtermcap.so.2 => /lib/libtermcap.so.2 (0x00412000) libacl.so.1 => /lib/libacl.so.1 (0x003ef000) libc.so.6 => /lib/tls/libc.so.6 (0x002ae000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00425000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00296000) libattr.so.1 => /lib/libattr.so.1 (0x003e9000)

5. Use Red Hat Package Manager (RPM)

Quản lý package dùng lệnh rpm, có thể cài, xoá, nâng cấp, hoặc tìm package chứa những file, và có khả năng lấy những thông tin về package.Những thuật ngữ file và lệnh quan trọng:

rpm [options] argumentoptions:-i cài package-U nâng cấp package-e xoá package

ví dụ:rpm –qa /*đưa ra danh sách các gói được cài trên hệ

thống*/rpm –qil packagename /*những file trong gói

packagename*/rpm –qpl packagename.rpm /*đưa ra những file và vị trí nó

sẽ cài vào*/rpm –qf /bin/ls /*đưa ra gói chứ file ls*/rpm –qc packagename /*file cấu hình của gói

packagename*/

Topic: 103 GNU & Unix Commands1. Work on the command line

. thư mục hiện hành.bash lệnh shell bash, chuyển sang bash shell.echo In ra một biến hay một thông báo.env Dùng để thiết lập hoặc in ra những biến môi trường trong file /etc/profileexec Dùng để thực thi một câu lệnhexport Làm cho biến môi trường có hiệu lực trong các shell con.man Dùng để xem thông số của lệnh.pwd Xem đường dẫn tuyệt đối của thư mục hiện hành.set Dùng để thiết lập hoặc liệt kê những biến môi trường trong file /etc/bashrcunset Xoá biến môi trường.~/.bash_history Lưu những câu lệnh đã được thực hiện.

ví dụ:

Page 6: Linux LPI Topic 101

echo $SHELL /*show ra shell đang dùng*/env /*show ra màn hình biến môi trường trong file /etc/profile*/man ls /*xem thong số của lệnh ls*/history /*in ra những lệnh đã được thực thi*/echo $HISTSIZE /*show ra kích thước của history*/echo $HISTFILE /*file chứa history*/

2. Process text streams using filters

Những thao tác trên text streams được thực hiện qua những lệnh sau:cat Xem những file ngắn.cut In ra một số cột của file.expand Chuyển tab thành space.head In n dòng đầu của 1 file.join Trộn một số field của file với một số field của file khác.nl Đánh số dòng của filesed Thay thế những ký tự trong file.sort Sắp xếp thứ tự nội dung của file.split Cắt file thành nhiều file.tac Giống như cat nhưng thứ tự của nội dung được đảo.tail In n dòng cuới của 1 file.tr Thay đổi chuỗi trong file.unexpand Ngược với expand.uniq Xoá những dòng giống nhau của một file.wc Dùng để đếm dòng, ký tự, word của file.

ví dụ:Dùng những lệnh trên thao tác trên file /var/log/messages /*file

chứa error log của hệ thống*/cat /var/log/messagescut -d : -f 1 /etc/passwd /* in ra các tên username trên

hệ thống*/expand –t 3 /var/log/messages /*in ra màn hình nội dung file

messages với thay thế tab thành 3 space*/head /var/log/messages /*in ra 10 dòng đầu của file

messages*/tail /var/log/messages /*in ra 10 dòng cuối của file

messages*/tac /var/log/messages /*in ra theo chiều ngược lại với cat*/nl /var/log/messages /*in ra nội dung của file messages

với số dòng được đánh số*/sort /var/log/messages /*in ra nội dung của file messages

được sort theo thứ tự alpha*/split -l 3 /var/log/messages /*chia file messages thành

những file với nội dung là 3 dòng*/split -b 3 /var/log/messages /*chia file messages thành

những file với dung lượng là 3 bytes*/

3. Perform basic file management

Page 7: Linux LPI Topic 101

Những thao tác trên hệ thống file dùng những lệnh trong chế độ command line:

cp Copy file và thư mục.find Tìm file và thư mục.mkdir Tao thư mục.mv Di chuyển file và thư mục.ls Xem nội dung của thư mục.rm Xoá file và thư mục.rmdir Xoá thư mục rỗng.touch Tạo một file rỗng.file Xem dạng của file.

ví dụ:cp /etc/passwd /usr/local/src /*copy file passwd vào thư mục

/usr/local/src */find / -name ls /*tìm những file có tên là ls từ thư

mục root / */mkdir –p /home/saigonlab/lpi01/lpi02 /*tạo các thư mục theo cấu

trúc trên */mv /home/saigonlab/lpi01 /usr/local/src /*di chuyển thư mục

lpi01 vào /usr/local/src */ls –la /*xem nội dung thư mục hiện hành

kể cả file bắt đầu bằng . */rm –i /usr/local/src/passwd /*xoá file có conform*/rpm –fr /usr/local/src/lpi01 /*xoá thư mục lpi01 và nội dung

chứa trong nó mà không cần hỏi */

4. Use streams, pipes, and redirects

tee Đọc từ standard input và xuất ra standard ouputxargs Đọc và xử lý lệnh từ standard input< Cung cấp input cho câu lệnh từ một strem editor.> Redirect ra một stream editor.>> Redirect và append vào một stream editor.| Cơ chế pipe của 2 hay nhiều câu lệnh output của câu lệnh một sẽ chuyển vào input của câu lệnh 2...

ví dụ:rpm –qa >tam /*chuyển output của lệnh rpm –qa vào file tam*/rpm –qa >>tam /* giống lệnh trên nhưng nếu file tam tồn tại sẽ

append vào cuối file*/ps –ef|grep sshd /*in ra output của lệnh ps –ef có string sshd

*/5. Create, monitor, and kill processes

Quản lý process trên hệ thống thực hiện qua những câu lệnh sau:& Run process như background.bg Chuyển process chạy như background.fg Chuyển process chạy foreground.jobs Liệt kê các jobs đang có trên hệ thống.kill Tương tác trên process.

Page 8: Linux LPI Topic 101

nohup Chạy một process với option là process sẽ ingnore HUP signal.ps Xem những process đang chay trên hệ thống.top Xem thông tin của CPU và bộ nhớ mà các process trên hệ thống tiêu thụ.

ví dụ:find / -group saigonlab & /*process find sẽ chạy dưới

background*/jobsfg %numberjob /*chuyển process find từ background sang

foreground*/nohub find / -group saigonlab /*cho process find chạy ignore hub

signal*/6. Modify process execution priorities

Quản lý process với độ ưu tiên.Độ ưu tiên của process sẽ có giá trị -20-19.user thường thì chỉ có thể dùng priority: 0-19 defualt là 0.user root có thể dùng priority: -20-19 defualt là 10.Các lệnh như sau:

nice Thực thi một process với một priority ví dụ nice –n commandps renice Gán lại priority cho một process đang thực thi.top

ví dụ:nice -n 10 find / -group saigonlab /*process find chạy

với độ ưu tiên là 10*/ps –ef |grep findrenice 2 -p pid /*chuyển độ ưu tiên từ 10 lên độ ưu

tiên 2*/7. Search text files using regular expressions

Thao tác trên text file bằng những lệnh như:grep In ra text match một patternsed Thay thế một text với một pattern bằng một text khác.

ví dụ:grep root /etc/passwd /*tìm những dòng chứa root trong file

/etc/passwd */sed ‘s/root/ROOT/g’ /etc/passwd /*thay root bằng ROOT trong

file /etc/passwd kết qua xuất ra màn hình*/

8. Perform basic file editing operations using vi

Thao tác cơ bản khi soạn thảo văn bảng bằng trình VI.vi filename soạn thảo một văn bản có tên là filename.ZZ hay :wq lưu và thoát ra khỏi trình soạn thảo vi.:w filename Luu với một tên file là filename:w! filename Lưu và overwrite với tên file là filename:q! Thoát ra khỏi vi mà không lưu

Page 9: Linux LPI Topic 101

:e! Trả về lần lưu cuối cùng.:e filename2 Mở thêm một file mới có tên là filename2gg Về đầu file.G Về cuối file.H Về đầu màn hình.L Về cuối màn hình.h,l,j,k Dịch trái,xuốn,lên,phải một ký tự.0 Về đầu dòng.$ Về cuối dòngA Thêm vào cuối dòng.a Thêm vào sau con trỏ.o Thêm vào dòng mới ở dưới con trỏ.O Thêm vào dòng mới ở trên con trỏ.yy Copy vào clipboard.p Dáng từ clipboard vào sau con trỏ.u Undo

ví dụ: Soạn thảo một văn bản sử dụng vi và dùng một số options để thao tác trên file vừa sọan thảo.

Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard

1. Create partitions and filesystems

Những lệnh liên quan đến cấu hình và tạo partitionfdisk Chia partition.mkfs Tạo file system trên partition.

ví dụ:fdisk /dev/hdb /*chia partition cho đĩa hdb*/fdisk –l /dev/hdb /*in ra partition table của hdb, ghi lại

block_size*/mkfs -t ext3 /dev/hdb1 block_size /*tạo một file system dạng

ext3 cho partition /dev/hdb1 với block_size*/

2. Maintain the integrity of filesystems

Những lệnh liên quan đến việc quản lý hê thống file:du Xem độ lớn của file và thư mục trong hệ thốngdf Xem thông tin về hệ thống file.fsck Kiểm tra và sữa lỗi trên hệ thống file.e2fsck Kiểm tra hệ thống file ext2mke2fs Tạo hệ thống file ext2 hay ext3.debugfs Debug hệ thống file ext2.dumpe2fs In ra thông tin trên hệ thống ext2 như super block ...tune2fs Thay đổi thông số trên hệ thống file ext2.

ví dụ:du / /*xem kích thước của file và thư mục trong root /

system*/df /*xem thông tin về hệ thống file*/

Page 10: Linux LPI Topic 101

3. Control mounting and unmounting filesystems

Thực hiện mount và unmount hệ thống file bằng lệnhmount mount hệ thống file.umount unmount hệ thống file.

/etc/fstab danh sách hệ thống tự động file được mount tự động.ví dụ:

mount /dev/cdrom /*mount cdrom vào mount point /mnt/cdrom */

mount –t msdos /dev/hdc1 /mnt/d /*mount msdos file system vào mount point /mnt/d */

umount /dev/hdc1 /*umount hdc1 ra khỏi hệ thống file*/4. Use file permissions to control access to files

Quản lý permission cho file và thư mục trên hệ thống file, permission trên file và thư mục được chia làm 3 nhóm owner,group,và other trong 3 nhóm đó lại phân 3 quyền như sau: read, write, execute.Ta có thể thay đổi quyền của hệ thống file và thư mục dùng các lệnh sau:chmod Thay đổi quyền của file hay thư mục.umask Xem mask của hệ thống.chattr Thay đổi thuộc tính file và thư mục.

ví dụ:chmod 755 /etc/init.d/squid /*chuyển file /etc/squid sang quyền

755*/chmod u+wrx,g+wx,o+wx /etc/init.d/squid /*giống như lệnh trên*/umask /*show umask của hệ thống file*/chattr +i /etc/init.d/squid /*set thuộc tính i cho file squid->file

không xóa được*/chattr -i /etc/init.d/squid /*unset thuộc tính i cho file squid*/lsattr /etc/init.d/squid /*show attribute cho file trên

hệ thống Linux second extended*/

5. Manage file ownership

Trong hệ thống file, mỗi file và thư mục sẽ thuộc quyền của một user và group đó, và quyền đó có thể được thay đổi khi bởi chính owner hay root bằng cách sử dụng những lệnh sau:chown Thay đổi owner của file hoặc thư mục.chgrp Thay đổi group của file hoặc thư mục.ví dụ:

chown –R test:test /home /*thay đổi quyền owner và group cho thư mục /home và nội dung của nó*/

chgrp test /etc/init.t/squid /*thay đổi group owner cho file /etc/init.d/squid*/

6. Create and change hard and symbolic links

Trong hệ thống có một dạng khác của file và thư mục, đó là link, ta cần nằm rõ 2 dạng link đó là symbolic link và hard link.

Page 11: Linux LPI Topic 101

Symbolic link thực chất là một file nhưng nội dung file là tên và đường dẫn đầy đủ của file hoặc thư mục mà nó link đến, còn hard link là một tên khác của file nó sử dụng chung một inode.Hard link thì không thể thực hiện được trên những hệ thống file khác

nhau. Còn symbolic link thì được.Để tao link ta dùng lệnh sau: ln.Ví dụ:

ln /etc/init.d/squid /etc/squid /*tao hard link cho /etc/init.d/squid*/

ln –s /etc/init.d/squid /home/squid /*tao symbolic link cho /etc/init.d/squid*/

7. Find system files and place files in the correct location

Trong hệ thống file ta dùng một số command để tìm file và thư mục như sau:find Tìm file và thư mục trong hệ thốngwhereis Tìm lệnh thực thi theo biến môi trường PATH và man page.which Tìm lệnh thực thi theo biến môi trường PATH.

ví dụ:find / -mtime -7 /*tìm những file và thư mục trong

root / được modified trong vòng 7 ngày*/whereis find /*tìm vị trí đầy đủ của lệnh find và man

pages*/which find /*tìm vị trí đầy đủ của lệnh fnd*/