32
Linux Server Admin Linux Admin's Tasks Chatchai J. 2012-11-09

Ch02 administrators-tasks

Embed Size (px)

Citation preview

Page 1: Ch02 administrators-tasks

Linux Server Admin

Linux Admin's Tasks

Chatchai J.2012-11-09

Page 2: Ch02 administrators-tasks

Bootup and Shutdown Linux

● boot … เปิดเครือ่ง แลว้ grub ควรจะทำำงำนตำมปกติในกำรเลอืก default kernel ทีจ่ะใชส้ำำหรบักำร boot

● ม ีboot loader ตัวอืน่ นอกจำก grub ให้ใชง้ำนได้ แต่สำำหรบั x86 system และใชง้ำนบนเครือ่งทัว่ไป ควรใช ้grub

● อีกทำงเลอืกหนึง่คอื syslinux

– ใช้สำำหรับ boot จำก CD (เช่น แผน่ install linux)

Page 3: Ch02 administrators-tasks

Bootup (cont)

● Linux kernel-version (recovery mode) จะใช้สำำหรับกำร boot เขำ้ linux ในกรณีที ่service ในกำรทำำงำนปกติมีปัญหำ เช่น network

config มีปัญหำ หรือ ไม่สำมำรถเขำ้ที ่console ได้● กำรเลือกใช้ console ใช้ ALT+F1 .. ALT+F6

– ALT+F7 ใช้สำำหรับกำร switch graphics mode ถำ้ตดิตัง้ X-Windows

● ถ้ำอย่่ใน X-Windows ใช้ CTRL+ALT+F1 เพือ่เลือก tty1

● ตอนนี ้ไม่ม ีX-Windows เพรำะฉะนัน้ ไม่ต้องสนใจก่อน!

Page 4: Ch02 administrators-tasks

Bootup (cont)

● Bootup ใน recovery mode

● ตอน boot จะแสดง message ว่ำกำำลังทำำอะไรบ้ำง● start network แต่ไม่ start services

● จะต้องกำร root password เพือ่เข้ำไปทำำงำน● ถ้ำกดป่่ม CTRL+D ก็จะเหมือนเลือก boot ใน mode ปกติ จะทำำงำนต่อ

– recovery mode จะทำำ runlevel 1

– normal mode จะทำำ runlevel 2 ต่อ

Page 5: Ch02 administrators-tasks

Bootup (cont)

● ขัน้ตอนกำร Boot ของ Linux PC

ภำพจำก thegeekstuff.com

Page 6: Ch02 administrators-tasks

Bootup (cont)

● Linux– kernel (init hardware and other stuff)

– execute /sbin/init

– /sbin/init ใช้ /etc/inittab สำำหรับ config

– script ใน /etc/init.d/ สำำหรับกำร start/stop

services

Page 7: Ch02 administrators-tasks

Bootup (cont)

● /etc/inittab

– ระบ่กำรทำำงำน โดยใช้ runlevel

● 0 : Halt● 1 : Single-User● 2-5 : Multi-User● 6 : Reboot

– debian ใช้ default runlevel = 2

Page 8: Ch02 administrators-tasks

Bootup (cont)

● first boot run /etc/init.d/rcS● each runlevel run /etc/init.d/rc N

– for runlevel N

● run

/etc/rcN.d/KNN-script (kill/stop script)

/etc/rcN.d/SNN-script (start script)

● เมือ่กอ่น run ตำมลำำดับ, ตอนนี ้script บำงตัว run แบบ parallel กนัได้ โดยกำรกำำหนด dependency

Page 9: Ch02 administrators-tasks

Bootup (cont)

● สำมำรถ enable / disable service ทีม่ีอย่่ (สำำหรับ กำร bootup / shutdown ครัง้ต่อไป) ได้ โดยใช้คำำสัง่ update-

rc.d

# update-rc.d ssh disable

# ls -l /etc/rc2.d/ | grep ssh

# update-rc.d ssh enable

# ls -l /etc/rc2.d/ | grep ssh

Page 10: Ch02 administrators-tasks

Bootup (cont)

● ถ้ำต้องกำรเพิม่ คำำสัง่ / script แบบ local

สำมำรถเพิม่ใน /etc/rc.local ได้ จะ execute

เป็น คำำสัง่เกือบท้ำยส่ด ใน sequence

Page 11: Ch02 administrators-tasks

Shutdown

● Shutdown เพือ่ปิดเครือ่ง# /sbin/shutdown -h now

● สัง่ reboot เครือ่ง# /sbin/shutdown -r now

● สำมำรถระบเ่วลำอืน่ๆ แทนที ่'now' ได้# /sbin/shutdown -h 12:00

Page 12: Ch02 administrators-tasks

Shutdown (cont)

● shutdown คือกำร init runlevel 0,6 แล้วแต่กรณี# init 6

# init 0

● ไม่ควร power-off/unplug power เครือ่งโดยไม่ shutdown (เป็นเรือ่งสำำคัญ สมัยก่อน แต่ไม่สำำคัญมำก ในสมัยนี ้)

Page 13: Ch02 administrators-tasks

Manage Storages on Linux

● There are a lot of things Linux admin should know about this topic. E.g.– Add and remove disks

– Partitioning and Filesystem

– Software RAID

– Logical Volume Management– etc.

● There ain't no time for all of that! ● So ...

Page 14: Ch02 administrators-tasks

Add Disk to VM on VBox

● เปิด VirtualBox Manager แลว้ Shutdown VM

● เลอืก VM จำก panel ทำงซ้ำย (LSA Clone)

● เลอืก Settings icon => เปิด Settings Window

● เลอืก Storage จำก panel ซำ้ย● เลอืก SATA Controller จำก Storage Tree

● กดเลือก Add Harddisk (icon ทำงขวำ)

Page 15: Ch02 administrators-tasks

Add Disk to VM on Vbox (cont)

● จำก Question เลือก Create new disk

● File type: VDI (next)● Storage details: Dynamically allocated (next)

● Location: แล้วแต่จะระบ่ชือ่ ทีไ่ม่ซำำ้กับชือ่เดิม Size: 100 MB

(next)● Summary: (Create)

เสร็จ● กลับไป Start VM

Page 16: Ch02 administrators-tasks

Devices File

● สำำหรับ Unix /dev จะใช้สำำหรับกำรเก็บ special “device” file

● Harddisk ของ Linux จะปรำกฏเป็น/dev/sdX โดย 'X' จะเริม่จำก a,b,c,d, …

● ลองใช้คำำสัง่# ls -l /dev/sd?

# ls -l /dev/sd??

● /dev/sda คอื disk ตัวแรก ซึง่ใช้ SATA driver

(ไม่สำำคัญเท่ำไหร่ สำำหรับ Linux ร่่นล่ำส่ด แทบทัง้หมดจะใช ้sata driver)

Page 17: Ch02 administrators-tasks

Disk Devices

● /dev/sda คอื harddisk ตัวแรก● /dev/sdb คอื harddisk ตัวทีส่อง● /dev/sr0 คอื cdrom (ลอง ls -l /dev/cdrom และ ls -l /dev/dvd)

● /dev/sda1 จะเป็น partition ที ่1 บน harddisk ตัวแรก● /dev/sdb2 จะเป็น partition ที ่2 บน harddisk ตัวที ่2

# ls -l /dev/sd??

● ยังไม่เหน็ partition ของ /dev/sdb เพรำะ ยังไม่มีกำรสร้ำง partition บน disk

ตัวทีส่อง

Page 18: Ch02 administrators-tasks

สร้ำง partition ด้วย fdisk, cfdisk

● Tools สำำหรับกำรจัดกำร partition (ในตอนนี ้) มี sfdisk, fdisk, cfdisk

● cfdisk เป็น text full screen ใช้งำนง่ำยทีส่ด่● sfdisk เหมำะสำำหรับกำรใช้งำนผ่ำน script

● fdisk อย่่ระหว่ำงกลำง แต่ผมชอบใช้ตัวนี ้เพรำะฉะนัน้ เรำจะใช้ fdisk

Page 19: Ch02 administrators-tasks

fdisk

● list partition on disk

# fdisk -l /dev/sda

# fdisk -l● create / modify disk partitio on /dev/sdb

# fdisk /dev/sdb– m (help)

– x (extra/expert function) – ส่วนใหญ่แล้วไม่ต้องใช้● r (return to normal command)

– p (print partition table)

– q (quit without saving changes)

– w (write and quit)

Page 20: Ch02 administrators-tasks

fdisk (cont)

● ตรวจสอบ กำรเปลีย่นแปลงเป็นระยะๆ ด้วย 'p' และ กอ่นทีจ่ะ 'w' ลงไป

● เรำจะสรำ้ง partition ใหม ่2 partition

– /dev/sdb1 ขนำด 80 MB สำำหรับเก็บข้อม่ล โดยใช้ ext2

– /dev/sdb2 ทีเ่หลือ สำำหรับเป็น swap

● ขนำดของ swap ทีค่วรใชค้วรจะเป็น 1 หรือ 2 เทำ่ของ memory (แล้วแต่ application ของ server)

Page 21: Ch02 administrators-tasks

fdisk (cont)

● จำก Command (m for help):

– n (create new partition)

– p (primary partition (1-4))

– Partition number (1-4): 1

– First cylinder (1-xxx, default 1): 1

– Last cylinder, .. default xxx): +80M

80M คือ 80 Megabytes, G → Gigabytes

● สร้ำง partition ที ่2 สำำหรับ swap

– n, p, 12

ถำ้เหลือเพียง cylinder เดียว ก็จะใช้ทัง้หมด

Page 22: Ch02 administrators-tasks

fdisk (cont)

● ขนำดของ disk จะเป็นคำ่โดยประมำณ ขึน้อย่่กบัจำำนวนของ head/cylinder/sector ซึง่จริงๆแล้วกข็ึน้อย่ก่ับกำร mapping ของ disk controller

อีกที ไม่ได้เป็นไปตำมทีแ่สดงจริงๆ● เพรำะฉะนัน้ จะได้ค่ำ “ประมำณ”● partition ทีส่องยงัมีชนิดเป็น linux ต้องเปลีย่นให้เป็น swap

● t, 2, 82● Command: t, Partition No: 2, Hex code: 82

● ลองใช้ 'L' ตอน fdisk ถำม hex code เพือ่แสดง partition ทัง้หมดที ่fdisk ของ Linux ร้่จัก

Page 23: Ch02 administrators-tasks

สร้ำงและใช้ swap

# fdisk -l /dev/sdb

# mkswap /dev/sdb2

# free

# swapon /dev/sdb2

# free

● เปรียบเทียบ บรรทัด Swap: ของคำำสัง่ Free

# swapoff /dev/sdb2

# free

Page 24: Ch02 administrators-tasks

สร้ำงและใช้ swap (cont)

● ถ้ำต้องกำรใช้ท่กครัง้ หลังจำกกำร reboot

เครือ่ง จะต้องไปแก้ไขไฟล์ /etc/fstab

● เพิม่ บรรทัด/dev/sdb2 none swap sw 0 0

Page 25: Ch02 administrators-tasks

สร้ำง ext2 partition

# mke2fs /dev/sdb1

# df

# mount /dev/sdb1 /mnt

# df

● เปรียบเทียบผลระหว่ำงคำำสัง่ df ทัง้สอง● ลองใช้คำำสัง่ df -h และ df /mnt หรือ df /

Page 26: Ch02 administrators-tasks

ไฟดับ ระหว่ำงทีเ่ครือ่งทำำงำนอย่่!● ทดลองใช ้คำำสัง่

# cp -avx / /mnt

ไม่สำมำรถจำำลองสถำนกำรณ ์ทีเ่ป็นปัญหำได้

FAIL!

Page 27: Ch02 administrators-tasks

fsck

● File System ChecK● e2fsck – fsck for ext2,3,4

# fsck -t ext2 /dev/sdb1

● filesystem ทีต่้องกำรจะ check และ fix จะต้อง unmount ก่อน● ถำ้ filesystem นัน้ mount อย่่ มันจะทำำให้พัง เพรำะกำร fix

นัน้ๆ

Page 28: Ch02 administrators-tasks

Linux FileSystem (short intro)

# ls /sbin/mkfs*

# ls /sbin/fsck*

● แสดง filesystem ทีส่ำมำรถ สร้ำง (make) และ ตรวจสอบ/ซ่อมแซมได้ check (and fix)

● NFS – Network file system เป็น services ทีใ่ห้บริกำรโดย server ส่วน filesystem ทีอ่ย่่ใน layer ล่ำงๆ อำจจะเป็น filesysystem ชนิดอืน่ๆ

Page 29: Ch02 administrators-tasks

Linux Filesystem (cont)

● File system อืน่ๆ เช่น NTFS, VFAT (ของ Windows) อย่่ใน package อืน่ๆ- vfat (dosfstools)

- ntfs (ntfs-3g)

● จะพ่ดถึงเรือ่งนีอ้ีกที วนัหลัง (หรือวนัหนำ้?)

Page 30: Ch02 administrators-tasks

Config sudo

● วิธีกำรทีง่ำ่ยทีส่ด่คือเพิม่ user เขำ้ไปในกล่่ม sudo

# grep sudo /etc/group

# usermod -a -G sudo cj

เปลีย่น cj เป็น user account ทีส่ร้ำงขึน้# grep sudo /etc/group

● user จะต้อง logout และ login ใหม่ ถึงจะสำมำรถใช้งำนได้

Page 31: Ch02 administrators-tasks

Config sudo (cont)

● แก้ไขไฟล์ /etc/sudoers

● โดยใช้คำำสัง่ visudo

– มันใช้ nano โดย default ถึงแม้จะชือ่ขึน้ต้นด้วย vi

● ถ้ำต้องกำรเปลีย่นเป็น vi

# EDITOR=vi visudo

● หรือ# update-alternatives --config editor

# update-alternatives --set editor /usr/bin/vim.tiny

Page 32: Ch02 administrators-tasks

Config sudo (cont)

● เพิม่ บรรทัดcj ALL=(ALL) NOPASSWD: /usr/bin/apt­get, /usr/bin/aptitude

● ทำำให้สำมำรถใช้ sudo สำำหรับคำำสัง่ apt-get, aptitude ได้โดย ไม่ต้องถำม password

(แต่สำำหรับคำำสัง่อืน่ ยังถำมเหมือนเดิม)

● หลังจำกใช้ครัง้แรกแล้ว ครัง้ต่อไปไม่ถำม password จนกว่ำจะ logout หรือ timeout

● ต้องกำรให้ลืม password ใช้$ sudo -k