SlideShare uma empresa Scribd logo
1 de 32
Linux Server Admin



 Linux Admin's Tasks

     Chatchai J.
     2012-11-09
Bootup and Shutdown Linux
●   boot … เปิ ดเครือง แล้ว grub ควรจะทำำงำนตำมปกติในกำร
                    ่
    เลือก default kernel ทีจะใช้สำำหรับกำร boot
                           ่

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

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

    –   ใช้สำำหรับ boot จำก CD (เช่น แผ่น install linux)
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 เพรำะฉะนัน ไม่ต้องสนใจก่อน!
                                     ้
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 ต่อ
Bootup (cont)
●   ขันตอนกำร Boot ของ Linux PC
      ้




    ภำพจำก thegeekstuff.com
Bootup (cont)
●   Linux
    –   kernel (init hardware and other stuff)
    –   execute /sbin/init
    –   /sbin/init ใช้ /etc/inittab สำำหรับ config

    –   script ใน /etc/init.d/ สำำหรับกำร start/stop
        services
Bootup (cont)
●   /etc/inittab
    –   ระบ่กำรทำำงำน โดยใช้ runlevel
        ●   0 : Halt
        ●   1 : Single-User
        ●   2-5 : Multi-User
        ●   6 : Reboot
    –   debian ใช้ default runlevel = 2
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
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
Bootup (cont)
●   ถ้ำต้องกำรเพิม คำำสัง / script แบบ local
                 ่      ่
    สำมำรถเพิมใน /etc/rc.local ได้ จะ execute
             ่
    เป็ น คำำสังเกือบท้ำยส่ด ใน sequence
               ่
Shutdown
●   Shutdown เพือปิ ดเครือง
                ่        ่
    # /sbin/shutdown -h now
●   สัง reboot เครือง
      ่            ่
    # /sbin/shutdown -r now
●   สำมำรถระบ่เวลำอืนๆ แทนที ่ 'now' ได้
                    ่
    # /sbin/shutdown -h 12:00
Shutdown (cont)
●   shutdown คือกำร init runlevel 0,6 แล้วแต่กรณี
    # init 6
    # init 0
●   ไม่ควร power-off/unplug power เครืองโดยไม่
                                      ่
    shutdown (เป็ นเรืองสำำคัญ สมัยก่อน แต่ไม่
                      ่
    สำำคัญมำก ในสมัยนี ้)
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 ...
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 ทำงขวำ)
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
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)
                                                     ้
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
    ตัวทีสอง
         ่
สร้ำง partition ด้วย fdisk, cfdisk
●   Tools สำำหรับกำรจัดกำร partition (ในตอนนี ้) มี
    sfdisk, fdisk, cfdisk
●   cfdisk เป็ น text full screen ใช้งำนง่ำยทีสด
                                              ่ ่

●   sfdisk เหมำะสำำหรับกำรใช้งำนผ่ำน script

●   fdisk อย่่ระหว่ำงกลำง แต่ผมชอบใช้ตัวนี ้
    เพรำะฉะนัน เรำจะใช้ fdisk
             ้
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)
fdisk (cont)
●   ตรวจสอบ กำรเปลียนแปลงเป็ นระยะๆ ด้วย 'p' และ ก่อนทีจะ
                   ่                                   ่
    'w' ลงไป

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

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

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

●   ขนำดของ swap ทีควรใช้ควรจะเป็ น 1 หรือ 2 เท่ำของ
                   ่
    memory (แล้วแต่ application ของ server)
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 เดียว ก็จะใช้ทงหมด
                                             ั้
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 ร้่จัก
สร้ำงและใช้ swap
    # fdisk -l /dev/sdb
    # mkswap /dev/sdb2
    # free
    # swapon /dev/sdb2
    # free
●   เปรียบเทียบ บรรทัด Swap: ของคำำสัง Free
                                     ่
    # swapoff /dev/sdb2
    # free
สร้ำงและใช้ swap (cont)
●   ถ้ำต้องกำรใช้ท่กครัง หลังจำกกำร reboot
                       ้
    เครือง จะต้องไปแก้ไขไฟล์ /etc/fstab
        ่

●   เพิม บรรทัด
       ่
      /dev/sdb2 none   swap sw   0 0
สร้ำง ext2 partition
    # mke2fs /dev/sdb1
    # df
    # mount /dev/sdb1 /mnt
    # df
●   เปรียบเทียบผลระหว่ำงคำำสัง df ทังสอง
                             ่      ้

●   ลองใช้คำำสัง df -h และ df /mnt หรือ df /
               ่
ไฟดับ ระหว่ำงทีเครืองทำำงำนอย่่!
                   ่   ่
●   ทดลองใช้ คำำสัง
                  ่
    # cp -avx / /mnt




                 FAIL!
    ไม่สำมำรถจำำลองสถำนกำรณ์ ทีเป็ นปั ญหำได้
                               ่
fsck
●   File System ChecK
●   e2fsck – fsck for ext2,3,4
    # fsck -t ext2 /dev/sdb1

●   filesystem ทีต้องกำรจะ check และ fix จะต้อง unmount ก่อน
                 ่

●   ถ้ำ filesystem นัน mount อย่่ มันจะทำำให้พัง เพรำะกำร fix
                     ้
    นันๆ
      ้
Linux FileSystem (short intro)
    # ls /sbin/mkfs*
    # ls /sbin/fsck*
●   แสดง filesystem ทีสำมำรถ สร้ำง (make) และ ตรวจ
                      ่
    สอบ/ซ่อมแซมได้ check (and fix)

●   NFS – Network file system เป็ น services ทีให้บริกำรโดย
                                               ่
    server ส่วน filesystem ทีอย่่ใน layer ล่ำงๆ อำจจะเป็ น
                             ่
    filesysystem ชนิดอืนๆ
                       ่
Linux Filesystem (cont)
●   File system อืนๆ เช่น NTFS, VFAT (ของ
                  ่
    Windows) อย่่ใน package อืนๆ
                              ่
    - vfat (dosfstools)
    - ntfs (ntfs-3g)


●   จะพ่ดถึงเรืองนีอีกที วันหลัง (หรือวันหน้ำ?)
               ่   ้
Config sudo
●   วิธีกำรทีงำยทีสดคือเพิม user เข้ำไปในกล่่ม sudo
             ่ ่  ่ ่     ่
      # grep sudo /etc/group
      # usermod -a -G sudo cj
         เปลียน cj เป็ น user account ทีสร้ำงขึน
             ่                          ่      ้
      # grep sudo /etc/group
●   user จะต้อง logout และ login ใหม่ ถึงจะสำมำรถ
    ใช้งำนได้
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
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

Mais conteúdo relacionado

Destaque

In perfect harmony_ e-mail works in-sync with other channels - Print Article ...
In perfect harmony_ e-mail works in-sync with other channels - Print Article ...In perfect harmony_ e-mail works in-sync with other channels - Print Article ...
In perfect harmony_ e-mail works in-sync with other channels - Print Article ...
Siara Nazir
 

Destaque (18)

Ch06 bind9
Ch06 bind9Ch06 bind9
Ch06 bind9
 
Ch15 elastic hosts-svradmin
Ch15 elastic hosts-svradminCh15 elastic hosts-svradmin
Ch15 elastic hosts-svradmin
 
Ch05 name-services
Ch05 name-servicesCh05 name-services
Ch05 name-services
 
Ch03 domain-registration
Ch03 domain-registrationCh03 domain-registration
Ch03 domain-registration
 
Editors for-linux
Editors for-linuxEditors for-linux
Editors for-linux
 
Ch08 mail-systems
Ch08 mail-systemsCh08 mail-systems
Ch08 mail-systems
 
Ch11 web-app
Ch11 web-appCh11 web-app
Ch11 web-app
 
Ch10 web servers
Ch10 web serversCh10 web servers
Ch10 web servers
 
Ch01 administrators-tasks
Ch01 administrators-tasksCh01 administrators-tasks
Ch01 administrators-tasks
 
Ch09 mail-systems-part2
Ch09 mail-systems-part2Ch09 mail-systems-part2
Ch09 mail-systems-part2
 
Ch04 linux-hosting-vps
Ch04 linux-hosting-vpsCh04 linux-hosting-vps
Ch04 linux-hosting-vps
 
In perfect harmony_ e-mail works in-sync with other channels - Print Article ...
In perfect harmony_ e-mail works in-sync with other channels - Print Article ...In perfect harmony_ e-mail works in-sync with other channels - Print Article ...
In perfect harmony_ e-mail works in-sync with other channels - Print Article ...
 
Ch12 web-app-part2
Ch12 web-app-part2Ch12 web-app-part2
Ch12 web-app-part2
 
How Email Works
How Email WorksHow Email Works
How Email Works
 
Virtualbox networking
Virtualbox networkingVirtualbox networking
Virtualbox networking
 
Important tips on Router and SMTP mail routing
Important tips on Router and SMTP mail routingImportant tips on Router and SMTP mail routing
Important tips on Router and SMTP mail routing
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Deep C
Deep CDeep C
Deep C
 

Semelhante a Ch02 administrators-tasks

คู่มือการดูแลรักษาเครื่องคอมพิวเตอร์
คู่มือการดูแลรักษาเครื่องคอมพิวเตอร์คู่มือการดูแลรักษาเครื่องคอมพิวเตอร์
คู่มือการดูแลรักษาเครื่องคอมพิวเตอร์
Radompon.com
 
ความรู้เบื้องต้นคอมพิวเตอร์
ความรู้เบื้องต้นคอมพิวเตอร์ความรู้เบื้องต้นคอมพิวเตอร์
ความรู้เบื้องต้นคอมพิวเตอร์
jumphu9
 
คอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้นคอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้น
yenny3484
 

Semelhante a Ch02 administrators-tasks (20)

Linux diskless
Linux disklessLinux diskless
Linux diskless
 
Cent OS-book
Cent OS-bookCent OS-book
Cent OS-book
 
Basic linux
Basic linuxBasic linux
Basic linux
 
ว่าด้วยเรื่อง Linux Container
ว่าด้วยเรื่อง Linux Containerว่าด้วยเรื่อง Linux Container
ว่าด้วยเรื่อง Linux Container
 
Content cned model nakornsawan1
Content cned model nakornsawan1Content cned model nakornsawan1
Content cned model nakornsawan1
 
ติดตั้ง Windows Xp ด้วยตัวคุณเอง
ติดตั้ง Windows Xp ด้วยตัวคุณเองติดตั้ง Windows Xp ด้วยตัวคุณเอง
ติดตั้ง Windows Xp ด้วยตัวคุณเอง
 
Manual setup cned model
Manual setup cned modelManual setup cned model
Manual setup cned model
 
Server2Go เว็บพกพาตัวจริง
Server2Go เว็บพกพาตัวจริงServer2Go เว็บพกพาตัวจริง
Server2Go เว็บพกพาตัวจริง
 
Python Course #1
Python Course #1Python Course #1
Python Course #1
 
คู่มือการดูแลรักษาเครื่องคอมพิวเตอร์
คู่มือการดูแลรักษาเครื่องคอมพิวเตอร์คู่มือการดูแลรักษาเครื่องคอมพิวเตอร์
คู่มือการดูแลรักษาเครื่องคอมพิวเตอร์
 
ระบบปฎิบัติการ ปวช
ระบบปฎิบัติการ ปวชระบบปฎิบัติการ ปวช
ระบบปฎิบัติการ ปวช
 
Com
ComCom
Com
 
ความรู้เบื้องต้นคอมพิวเตอร์
ความรู้เบื้องต้นคอมพิวเตอร์ความรู้เบื้องต้นคอมพิวเตอร์
ความรู้เบื้องต้นคอมพิวเตอร์
 
Intro to Comp
Intro to CompIntro to Comp
Intro to Comp
 
คอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้นคอมพิวเตอร์เบื้องต้น
คอมพิวเตอร์เบื้องต้น
 
Com
ComCom
Com
 
Com
ComCom
Com
 
Com
ComCom
Com
 
Com
ComCom
Com
 
Com
ComCom
Com
 

Ch02 administrators-tasks

  • 1. Linux Server Admin Linux Admin's Tasks Chatchai J. 2012-11-09
  • 2. Bootup and Shutdown Linux ● boot … เปิ ดเครือง แล้ว grub ควรจะทำำงำนตำมปกติในกำร ่ เลือก default kernel ทีจะใช้สำำหรับกำร boot ่ ● มี boot loader ตัวอืน นอกจำก grub ให้ใช้งำนได้ แต่สำำหรับ ่ x86 system และใช้งำนบนเครืองทัวไป ควรใช้ grub ่ ่ ● อีกทำงเลือกหนึงคือ syslinux ่ – ใช้สำำหรับ boot จำก CD (เช่น แผ่น install linux)
  • 3. 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 เพรำะฉะนัน ไม่ต้องสนใจก่อน! ้
  • 4. 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 ต่อ
  • 5. Bootup (cont) ● ขันตอนกำร Boot ของ Linux PC ้ ภำพจำก thegeekstuff.com
  • 6. Bootup (cont) ● Linux – kernel (init hardware and other stuff) – execute /sbin/init – /sbin/init ใช้ /etc/inittab สำำหรับ config – script ใน /etc/init.d/ สำำหรับกำร start/stop services
  • 7. Bootup (cont) ● /etc/inittab – ระบ่กำรทำำงำน โดยใช้ runlevel ● 0 : Halt ● 1 : Single-User ● 2-5 : Multi-User ● 6 : Reboot – debian ใช้ default runlevel = 2
  • 8. 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
  • 9. 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
  • 10. Bootup (cont) ● ถ้ำต้องกำรเพิม คำำสัง / script แบบ local ่ ่ สำมำรถเพิมใน /etc/rc.local ได้ จะ execute ่ เป็ น คำำสังเกือบท้ำยส่ด ใน sequence ่
  • 11. Shutdown ● Shutdown เพือปิ ดเครือง ่ ่ # /sbin/shutdown -h now ● สัง reboot เครือง ่ ่ # /sbin/shutdown -r now ● สำมำรถระบ่เวลำอืนๆ แทนที ่ 'now' ได้ ่ # /sbin/shutdown -h 12:00
  • 12. Shutdown (cont) ● shutdown คือกำร init runlevel 0,6 แล้วแต่กรณี # init 6 # init 0 ● ไม่ควร power-off/unplug power เครืองโดยไม่ ่ shutdown (เป็ นเรืองสำำคัญ สมัยก่อน แต่ไม่ ่ สำำคัญมำก ในสมัยนี ้)
  • 13. 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 ...
  • 14. 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 ทำงขวำ)
  • 15. 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
  • 16. 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) ้
  • 17. 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 ตัวทีสอง ่
  • 18. สร้ำง partition ด้วย fdisk, cfdisk ● Tools สำำหรับกำรจัดกำร partition (ในตอนนี ้) มี sfdisk, fdisk, cfdisk ● cfdisk เป็ น text full screen ใช้งำนง่ำยทีสด ่ ่ ● sfdisk เหมำะสำำหรับกำรใช้งำนผ่ำน script ● fdisk อย่่ระหว่ำงกลำง แต่ผมชอบใช้ตัวนี ้ เพรำะฉะนัน เรำจะใช้ fdisk ้
  • 19. 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)
  • 20. fdisk (cont) ● ตรวจสอบ กำรเปลียนแปลงเป็ นระยะๆ ด้วย 'p' และ ก่อนทีจะ ่ ่ 'w' ลงไป ● เรำจะสร้ำง partition ใหม่ 2 partition – /dev/sdb1 ขนำด 80 MB สำำหรับเก็บข้อม่ล โดยใช้ ext2 – /dev/sdb2 ทีเหลือ สำำหรับเป็ น swap ่ ● ขนำดของ swap ทีควรใช้ควรจะเป็ น 1 หรือ 2 เท่ำของ ่ memory (แล้วแต่ application ของ server)
  • 21. 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 เดียว ก็จะใช้ทงหมด ั้
  • 22. 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 ร้่จัก
  • 23. สร้ำงและใช้ swap # fdisk -l /dev/sdb # mkswap /dev/sdb2 # free # swapon /dev/sdb2 # free ● เปรียบเทียบ บรรทัด Swap: ของคำำสัง Free ่ # swapoff /dev/sdb2 # free
  • 24. สร้ำงและใช้ swap (cont) ● ถ้ำต้องกำรใช้ท่กครัง หลังจำกกำร reboot ้ เครือง จะต้องไปแก้ไขไฟล์ /etc/fstab ่ ● เพิม บรรทัด ่ /dev/sdb2 none swap sw 0 0
  • 25. สร้ำง ext2 partition # mke2fs /dev/sdb1 # df # mount /dev/sdb1 /mnt # df ● เปรียบเทียบผลระหว่ำงคำำสัง df ทังสอง ่ ้ ● ลองใช้คำำสัง df -h และ df /mnt หรือ df / ่
  • 26. ไฟดับ ระหว่ำงทีเครืองทำำงำนอย่่! ่ ่ ● ทดลองใช้ คำำสัง ่ # cp -avx / /mnt FAIL! ไม่สำมำรถจำำลองสถำนกำรณ์ ทีเป็ นปั ญหำได้ ่
  • 27. fsck ● File System ChecK ● e2fsck – fsck for ext2,3,4 # fsck -t ext2 /dev/sdb1 ● filesystem ทีต้องกำรจะ check และ fix จะต้อง unmount ก่อน ่ ● ถ้ำ filesystem นัน mount อย่่ มันจะทำำให้พัง เพรำะกำร fix ้ นันๆ ้
  • 28. Linux FileSystem (short intro) # ls /sbin/mkfs* # ls /sbin/fsck* ● แสดง filesystem ทีสำมำรถ สร้ำง (make) และ ตรวจ ่ สอบ/ซ่อมแซมได้ check (and fix) ● NFS – Network file system เป็ น services ทีให้บริกำรโดย ่ server ส่วน filesystem ทีอย่่ใน layer ล่ำงๆ อำจจะเป็ น ่ filesysystem ชนิดอืนๆ ่
  • 29. Linux Filesystem (cont) ● File system อืนๆ เช่น NTFS, VFAT (ของ ่ Windows) อย่่ใน package อืนๆ ่ - vfat (dosfstools) - ntfs (ntfs-3g) ● จะพ่ดถึงเรืองนีอีกที วันหลัง (หรือวันหน้ำ?) ่ ้
  • 30. Config sudo ● วิธีกำรทีงำยทีสดคือเพิม user เข้ำไปในกล่่ม sudo ่ ่ ่ ่ ่ # grep sudo /etc/group # usermod -a -G sudo cj เปลียน cj เป็ น user account ทีสร้ำงขึน ่ ่ ้ # grep sudo /etc/group ● user จะต้อง logout และ login ใหม่ ถึงจะสำมำรถ ใช้งำนได้
  • 31. 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
  • 32. 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