Chapter 4 System Administration

?

บทนี้จะพูดโดยรวมถึงการดูแลระบบลีนุกซ์, รวมถึงความสามารถที่โดดเด่นซึ่งจำเป็นต้องรู้ไม่เฉพาะผู้ดูแลระบบ. เหมือนระบบที่ต้องมีผู้ดูแล, และการดูแลระบบให้ทำงานมีความสำคัญและบางครั้งเป็นงานที่ใช้เวลา, แม้ว่าคุณ จะเป็นผู้ใช้งานเพียงคนเดียวในระบบ.

เราจะรวบรวมสิ่งจำเป็นที่ผู้ดูแลระบบเช่นคุณต้องรู้เมื่อคุณใช้ลีนุกซ์, เพื่อให้คุณใช้งานได้อย่างราบรื่น. เพื่อให้เนื้อหาสั้นและกระชับ, เรานำเอาพื้นฐานที่จำเป็น และข้ามหลายตอนที่สำคัญ. คุณควรอ่านคู่มือผู้ดูแล ระบบ (Linux System Administrator's Guide) ถ้าคุณสนใจในการนำลีนุกซ์ไปใช้งานจริง. มันจะช่วยให้คุณ เข้าใจมากขึ้นเกี่ยวกับการทำงานของระบบ, และมันทำงานเกี่ยวข้องกับระบบอื่นอย่างไร.

?

4.1 เกี่ยวกับ Roots, Hats, และอำนาจหน้าที่

เป็นที่ทราบดี, ยูนิกซ์แบ่งผู้ใช้เป็นหลายระดับ, ดังนั้นผู้ใช้แต่ละคนจะถูกจำกัดสิทธิ์ที่จะเข้าถึงทรัพยากรระบบและ ของผู้อื่น(ตัวอย่าง, คงไม่มีใครอยากให้ คนอื่นมาอ่านจดหมายรักของตัวเอง). ผู้ใช้แต่ละคนจะมี account ซึ่งรวมถึงชื่อผู้ใช้, โฮมไดเร็กตอรี่, ตามลำดับ. นอกจาก accountที่ให้กับผู้ใช้ทั่วไปแล้ว, ยังมี account พิเศษที่ระบบตั้งให้ผู้ใช้ที่มีสิทธิพิเศษ. ที่มีความสำคัญต่อการดูแลระบบเรียกว่า root account, สำหรับผู้ใช้ที่มีชื่อว่า root.

?

4.1.1 The root account

ผู้ใช้ธรรมดาจะถูกจำกัดการใช้งานไม่ให้ไปทำข้อมูลผู้อื่นเสียหายในระบบ, นอกจากข้อมูลตัวเอง. ระบบอนุญาตใช้ไฟล์ถูกสร้างเพื่อให้ผู้ใช้ทั่วไปไม่สามารถลบหรือแก้ไขไฟล์ในไดเร็กตอรี่ที่ใช้งานร่วมกันของ ทุกคน(เช่น /bin และ /usr/bin). ผู้ใช้ส่วนใหญ่จะปกป้องข้อมูลตัวเองด้วยการตั้งค่าอนุญาตใช้ไฟล์ที่เหมาะสม เพื่อกันคนอื่นมาดูหรือแก้ไขไฟล์์เหล่านั้น.

สำหรับผู้ใช้ที่ชื่อ root จะไม่มีขีดจำกัด. ผู้ใช้ root สามารถ อ่าน, แก้ไข, หรือลบไฟล์ใดๆในระบบ, เปลี่ยนค่าอนุญาตใช้ไฟล์และเปลี่ยนความเป็นเจ้าของไฟล์ของไฟล์ใดๆในระบบ, และรันโปรแกรมพิเศษ, เช่นโปรแกรมสร้างพาร์ติชั่นไดรว์หรือ สร้างระบบไฟล์. หลักการของคนที่ใช้ชื่อ root คือการทำงานที่ไม่ สามารถทำโดยผู้ใช้ทั่วไปได้. เนื่องจาก root สามารถทำอะไรก็ได้, มันง่ายที่จะทำงานผิดพลาดเมื่อเข้าใช้งาน ระบบด้วย account นี้.

ยกตัวอย่าง, ในฐานะผู้ใช้ธรรมดา, ถ้าคุณพยายามลบไฟล์ทุกไฟล์ในไดเร็กตอรี่ /etc, ระบบจะไม่อนุญาตให้คุณ ทำ. แต่ถ้าล็อกอินด้วย root, ระบบจะไม่เตือนคุณเลย. มันง่ายมากที่จะทำให้ระบบคุณพังเมื่อใช้ root. วิธีป้องกันเหตุไม่คาดคิดคือ:

  • ก่อนจะกด RETURN เอามือลงจากแป้นคีย์บอร์ดถ้าคุณสั่งคำสั่งที่อาจทำให้ระบบพัง. หมายความให้คุณอ่าน คำสั่งทั้งหมด ให้แน่ใจว่าคำสั่งถูกต้องก่อนจะกด RETURN
  • อย่าใช้ root บ่อย. ยิ่งคุณใช้สิทธิ์ของ root ทำงานอย่างสะดวกสบาย, คุณยิ่งจะลืมสิทธิ์ของผู้ใช้ธรรมดา. ตัวอย่าง, คุณอาจคิดว่าตัวคุณคือ ลาร์รี่, ทั้งที่จริงคุณล็อกอินเข้าระบบด้วย root.
  • ใช้ promt ของ root ให้แตกต่างจาก promt ของผู้ใช้อื่น. คุณควรเปลี่ยนไฟล์ .bashrc หรือ .login เพื่อให้เชลล์ prompt แตกต่างจาก prompt ของผู้ใช้อื่น. ตัวอย่าง, ผู้ใช้ทั่วไปจะใช้ promt เป็นอักษร "$", และใช้ "#" สำหรับผู้ใช้ root.
  • ล็อกอินด้วย root เมื่อจำเป็นจริงๆ. และเมื่อคุณเสร็จงานที่ทำโดย root แล้วให้ล็อกเอ้าท์ทันที. ยิ่งคุณใช้ root น้อยเท่าไร, โอกาศที่คุณจะทำระบบพังก็น้อยตามไปด้วย.

แม้ว่ามีคนอยู่จำนวนหนึ่งที่เป็นนักเจาะระบบที่ใช้ root บ่อย. แต่พวกเขาก็ทำผิดพลาดในบางครั้ง. มีข้อกำหนด อยู่ว่า, เมื่อคุณคุ้นเคยกับข้อห้ามที่หละหลวมของ root, และพอใจในการทำงานกับระบบโดยไม่มีขีดจำกัด, จึงจะใช้งาน root แต่อย่าใช้อย่างฟุ่มเฟือยเกิน.

แน่นอน, ทุกคนทำผิดพลาดกันได้. Linux Torvalds เองยังเคยลบไดเร็กตอรี่ที่เก็บเคอร์เนลทั้งยวง จากระบบของเขา. การทำงานหลายชั่วโมงสูญเปล่า. โชคยังดี, ที่เขารู้โค้ดระบบไฟล์, เขาสามารถรีบูทระบบ และสร้างไดเร็กตอรี่ขึ้นมาใหม่ด้วยมือทั้งหมด.

มองอีกมุม, การที่คุณใช้ root เหมือนคุณไส่หมวกวิเศษที่ทำให้คุณมีพลังมาก, โดยการโบกมือ, คุณสามารถ ทำลายเมืองได้ทั้งเมือง, มันเป็นความคิดที่ดีที่จะต้องระมัดระวังการโบกมือของคุณ. เนื่องจากการโบกมือ สามารถทำให้เกิดความเสียหายได้โดยไม่คาดฝัน, และมันไม่ใช่ความคิดที่ถูกที่จะใส่หมวกวิเศษตลอดเวลา โดยไม่จำเป็น, แม้ว่ามันจะให้ความรู้สึกที่มหัศจรรย์ก็ตาม.

?

4.1.2 การใช้ root ในทางที่ผิด

จากการที่รู้ว่าตัวเองมีกำลังมากทำให้มีแนวโน้มที่จะทำให้เกิดความเสียหาย. นี่เป็นหนึ่งในด้านลบของผู้ดูแล ระบบยูนิกซ์, แต่คนส่วนใหญ่ก็ผ่านพ้นจุดนี้มาได้. ผู้ใช้ระบบยูนิกซ์ส่วนมากไม่มีโอกาสได้ใช้พลังพิเศษนี้ --ในมหาวิทยาลัยหรือวงการธุรกิจ, มีเพียงผู้ดูแลระบบที่มีค่าตัวแพง, และผ่านการอบรมอย่างโชกโชนมาจึงจะ มีสิทธิ์ใช้งาน root. ในทางปฏิบัติ, ในสถาบันการศึกษาหลายแห่ง, รหัสผ่านของ root จะเก็บไว้เป็นความลับ ขั้นสูง: เหมือนคัมภีร์ศักสิทธิ์ของสถาบัน. คนที่มีสิทธิ์ครอบครองมีไม่กี่คน.

จากทัศนคติที่มีต่อ root ที่เหมือนเป็นของอภิสิทธิ์ทำให้เกิดความรู้สึกด้านลบต่อผู้ใช้ account นี้ เนื่องจาก root มีความสามารถมาก, บางคนที่มีโอกาสเข้าใช้งานด้วย root (ไม่ว่าจะเป็นลีนุกซ์หรือระบบยูนิกซ์ อื่น), มีแนวโน้มจะใช้ root ในทางที่ผิด. ผู้เขียนรู้จักผู้ดูแลระบบบางคนที่แอบอ่านเมล์ของผู้ใช้, ลบไฟล์ของผู้ใช้ โดยไม่มีการเตือน, และทำตัวเหมือนเด็กที่ได้ของเล่นใหม่.

เนื่องจาก root ทำอะไรในระบบได้ไม่จำกัด, ผู้ใช้ต้องมีความเป็นผู้ใหญ่และควบคุมตัวเองให้ใช้ account ในทางที่ควรจะเป็นคือ--ทำให้ระบบทำงาน. มันยากที่จะพูดถึงถ้าผู้ดูแลระบบและผู้ใช้ไม่เชื่อถือกัน. คุณจะคิดยังไงถ้าผู้ดูแลระบบแอบอ่านอีเมล์ของคุณหรือแอบดูไฟล์ของคุณ? ยังไม่มีกฏหมายเกี่ยวกับความ เป็นส่วนตัวของระบบคอมพิวเตอร์ที่ใช้งานร่วมกัน. มันสำคัญที่ผู้ดูแลระบบจะต้องรักษาความซื่อสัตย์ และความสัมพันธ์ที่ดีกับผู้ใช้ในระบบ.

?

4.1.3 การปฏิบัติต่อผู้ใช้

ระบบรักษาความปลอดภัยของยูนิกซ์ออกแบบไม่ค่อยเข้มงวดเท่าไร. เหมือนวัวหายแล้วล้อมคอก. เบื้องต้นปัญหามาจากการที่ผู้ใช้ถูกล้วงข้อมูลจากผู้ใช้ที่ไม่ประสงค์ดี.

ผู้ดูแลระบบมีสองแนวทางในการปฏิบัติต่อผู้ใช้ที่ทำตัวมีปัญหา: เป็นได้ทั้งสงสัยหรือเชื่อใจ. ผู้ดูแลระบบที่ตั้ง แง่สงสัยผู้ใช้มักจะทำให้ระบบเสียหายมากกว่าที่จะแก้ปัญหา. ควรถือคติที่ว่า, "โกรธคือโง่ โมโหคือบ้า". ให้คิดเสียว่าผู้ใช้ส่วนใหญ่จะไม่มีความสามารถหรือความรู้ที่จะทำให้ระบบเสียหาย. กว่า 90 เปอร์เซ็นต์ เมื่อผู้ใช้เกิดปัญหาในระบบ (โดย, ยกตัวอย่าง, ใช้งานไฟล์เกินจากเนื้อที่ที่กำหนด, หรือเรียกใช้โปรแกรมขนาด ใหญ่ที่กินหน่วยความจำมากเกิน), ผู้ใช้ส่วนใหญ่จะไม่ระมัดระวังในเรื่องเหล่านี้.

เมื่อคุณต้องทำงานกับผู้ใช้ที่สร้างปัญหา, อย่ามีอคติ. คำพูดที่ว่า "ถ้ายังพิสูจน์ไม่ได้ให้ถือว่าบริสุทธิ์" ใช้ได้ดีเสมอ. ทางที่ดีที่สุด คือพูดกับผู้ใช้, สอบถามถึงปัญหา, แทนที่จะไปชวนทะเลาะ. และพยายามคิดว่า เราเป็นผู้ใช้. นี่จะทำให้คุณลดความระแวง--ทำให้รันระบบได้ถูกต้อง. ถ้าผู้ใช้รู้สึกว่าคุณไม่เชื่อถือหรือไม่ชอบ เขา, เขาจะโทษคุณว่าคุณเป็นคนทำให้ระบบเสียหาย. ซึ่งเป็นเรื่องที่คุณไม่อยากให้มัีนเกิดขึ้น.

ถ้าคุณไปเจอว่าผู้ใช้พยายามที่จะเจาะระบบ, หรือตั้งใจที่จะทำให้ระบบพัง, อย่าใช้อารมณ์ในการโต้ตอบ. แต่ใช้การเตือน--ที่นุ่มนวล. ในหลายกรณี, คุณอาจจับได้ว่าผู้ใช้กำลังพยายามเจาะระบบ--ให้ตักเตือน. และบอกว่าอย่าให้เกิดขึ้นอีก. อย่างไรก็ตาม, ถ้าคุณจับได้ว่าเขาพยายามเจาะระบบอีก, ลงความเห็นได้เลยว่า เขาตั้งใจ. มันเป็นเรื่องที่ทำใจลำบากถ้าคุณคิดว่าผู้ใช้จงใจสร้างปัญหา, แล้วภายหลังตรวจพบว่าเกิดจาก อุบัติเหตุหรือคุณทำผิดพลาดเสียเอง.

?

4.1.4 Setting the rules

วิธีที่ดีที่สุดในการรันระบบไม่ใช่การตั้งกฏเหล็ก. ซึ่งอาจใช้ได้สำหรับการฝึกทหาร, แต่ระบบยูนิกซ์ไม่ได้ ้ออกแบบมาเพื่อใช้ในลักษณะนั้น. ทางที่ดีคือสร้างเงื่อนไขที่ง่ายและไม่เคร่งครัดเกินไปสำหรับคำแนะนำ สำหรับผู้ใช้--ข้อควรจำ, ยิ่งข้อห้ามยิ่งน้อย, โอกาสที่ระบบจะถูกเจาะก็น้อยตาม. แม้ว่ากฏในการใช้ระบบของ คุณจะมีเหตุผลและชัดเจน, ผู้ใช้มักจะละเมิดกฏโดยไม่ได้ตั้งใจ. ซึ่งมักจะเป็นผู้ใช้ใหม่ในระบบยูนิกซ์, ที่เพิ่ง เรียนรู้การใช้ระบบ.

ถ้าคุณทำคู่มือการใช้ระบบให้ผู้ใช้ดูเป็นแนวทางการทำงาน, ตรวจสอบให้แน่ใจว่าคู่มือนั้นถูกต้องมี รายละเอียดครบ. ถ้ามีจุดบกพร่อง, ผู้ใช้จะหาช่องว่างในคู่มือมาสร้างปัญหากับระบบได้.

?

4.1.5 What it all means

เราไม่อาจแจงในรายละเอียดทั้งหมดให้คุณรันระบบได้อย่างสมบูรณ์. ส่วนใหญ่จะขึ้นอยู่กับว่าคุณใช้ระบบ อย่างไร. ถ้าคุณมีผู้ใช้มาก, เรื่องก็จะมากตาม. อย่างไรก็ดี, ถ้าคุณเข้าใจหน้าที่ของผู้ดูแลระบบ, จะช่วยให้คุณรันระบบได้ราบรื่น.

การเป็นผู้ดูแลระบบไม่ได้ทำให้คุณเป็นผู้วิเศษ. ผู้ดูแลระบบจำนวนมากรู้จักยูนิกซ์น้อยมาก. เหมือนกับที่ผู้ใช้ ทั่วไปจำนวนมากที่รู้เรื่องยูนิกซ์มากกว่าผู้ดูแลระบบบางคน. และการเป็นผู้ดูแลระบบไม่อนุญาตให้คุณไปหา เรื่องกับผู้ใช้. เพียงเพราะว่าระบบให้สิทธิ์ที่จะจัดการไฟล์ของผู้ใช้ได้ ไม่ได้หมายความว่าเป็นสิ่งที่ถูกต้อง ที่จะทำ.

สุดท้าย, การเป็นผู้ดูแลระบบไม่ใช่เรื่องใหญ่โต, มันไม่มีความแตกต่างระหว่างระบบ 386 เล็กๆหรือเครื่อง เครย์ซุปเปอร์คอมพิวเตอร์. การรันระบบเหมือนกัน, การรู้รหัสผ่าน root ไม่ได้สร้างความร่ำรวย หรือมีชื่อเสียง. มันแค่ให้คุณดูแลระบบ, ให้มันทำงานได้สม่ำเสมอ, ก็แค่นั้น.

?

4.2 Booting the System

มีวิธีการบูทระบบหลายวิธี, ทั้งจากฟล้อปปี้หรือจากฮาร์ดดิสก์.

?

4.2.1 ใช้ฟล้อปปี้

มีหลายคนที่บูทลีนุกซ์โดยใช้แผ่นฟล้อปปี้ "บูทฟล้อปปี้" ที่มีข้อมูลเคอร์เนลของลีนุกซ์. เคอร์เนลนี้มีโค้ดของ ลีนุกซ์รูทพาร์ติชั่นอยู่ข้างใน, ดังนั้นมันจะรู้ว่าจะไปหาระบบรูทไฟล์ได้ที่ไหนในฮาร์ดดิสก์. (คำสั่ง rdev สามารถใช้ตั้งค่า รูทพาร์ติชั่นในเคอร์เนลอิมเมจ; ดูด้านล่างนี้) แผ่นฟล้อปปี้นี้สร้างโดย Slackware ตอนติดตั้ง, ยกตัวอย่าง.

การสร้างบูทฟล้อปปี้ไว้ใช้เอง, ขั้นแรกหาตำแหน่งเคอร์เนลอิมเมจบนฮาร์ดดิสก์. มันควรอยู่ในไฟล์ /Image หรือ /etc/Image. การติดตั้งบางรุ่นใช้ไฟล์ /vmlinux สำหรับเคอร์เนล.

บางทีคุณอาจมีเคอร์เนลที่มีการบีบอัดข้อมูล. เคอร์เนลที่บีบอัดนี้จะขยายตัวลงในหน่วยความจำตอนที่บูท, และใช้เนื้อที่บนฮาร์ดดิสก์ไม่มาก. ถ้าคุณใช้ีเคอร์เนลที่มีการบีบอัดข้อมูล. มันอาจเก็บไว้ในไฟล์ /zImage หรือ etc/zImage.

เมื่อคุณรู้ว่าเคอร์เนลอยู่ที่ใหน, ตั้งค่า root device ในเคอร์เนลอิมเมจให้เป็นชื่อของลีนุกซ์รูทพาร์ติชั่น ของคุณด้วยคำสั่ง rdev. รูปแบบคำสั่งคือ

rdev {kernel-name} {root-device}

เมื่อ {kernel-name} เป็นชื่อเคอร์เนลอิมเมจ, และ {root-device} เป็นชื่อของลีนุกซ์รูทพาร์ติชั่น. ตัวอย่าง, การตั้งค่ารูทดีำไวซ์ในเคอร์เนล /etc/Image ให้เป็ฯ /dev/hda2, ใช้คำสั่ง

# rdev /etc/Image /dev/hda2

คำสั่ง rdev สามารถตั้งค่าตัวเลือกอื่นๆในเคอร์เนลได้ด้วยเหมือนกัน, เช่นตั้งค่าดีฟ้อลท์ SVGA mode ที่จะใช้ ตอนบูท. พิมพ์คำสั่ง "rdev -h" สำหรับคำแนะนำของคำสั่ง.

หลังจากตั้งค่ารูทดีไวซ์, คุณสามารถก้อปปี้เคอร์เนลอิมเมจไปยังฟล้อปปี้ดิสก์. เมื่อก้อปปี้ข้อมูลไปยังฟล้อปปี้. เป็นเรื่องที่ควรทำคือใช้แผ่นฟล้อปปี้ที่ฟอร์แมทเป็น MS-DOS. เพื่อให้ข้อมูลฟล้อปปี้ถูกตรวจได้ว่าเป็นแผ่น ความจุสูงหรือแผ่นความจุต่ำ.

ตัวอย่าง, การก้อปปี้เคอร์เนลในไฟล์ /etc/Image ไปฟล้อปปี้ใน /etc/fd0, ใช้คำสั่ง

# cp etc/Image /dev/fd0

แผ่นฟล้อปปี้นี้ควรจะบูทลีนุกซ์ได้.

?

4.2.2 Using LILO

อีกวิธีของการบูทลีนุกซ์คือใชั LILO, โปรแกรมซึ่งอยู่ในบูทเซ็กเตอร์ของฮาร์ดดิสก์. โปรแกรมนี้จะทำงานเมื่อ ระบบบูทจากฮาร์ดดิสก์, และสามารถบูทลีนุกซ์จากเคอร์เนลอิมเมจที่เก็บบนฮาร์ดดิสก์เอง.

LILO ยังสามารถใช้เป็นด่านแรกในการบูทระบบปฏิบัติการอื่น, ให้คุณเลือกระบบปฏิบัติการ (เช่นเลือกว่าจะ บูทลีนุกซ์หรือ MS-DOS)เมื่อมีการบูท. เมื่อคุณบูทด้วยการใช้ LILO, ระบบปฏิบัติการที่เป็นค่าดีฟ้อลท์จะถูก เรียกใช้ถ้าคุณไม่ได้กด CTRL, ALT, หรือ SHIFT ระหว่างที่มีการบูท. ถ้าคุณกดปุ่มทั้งสามปุ่มใดปุ่มหนึ่ง, คุณจะเห็น boot prompt , ให้คุณพิมพ์ระบบปฏิบัติการที่จะบูท (เช่น "linux" หรือ "msdos"). ถ้าคุณกด TAB ที่ boot prompt, รายการระบบปฏิบัติการที่สามารถบูทได้จะแสดง.

วิธีที่ง่ายที่จะติดตั้ง LILO คือการแก้ไขไฟล์โครงสร้าง, /etc/lilo.conf, และสั่งคำสั่ง

# /sbin/lilo

ไฟล์โีครงสร้างของ LILO มี "stanza" ของระบบปฏิบัติการแต่ละตัวที่คุณต้องการบูท. ดูตัวอย่างไฟล์ด้านล่าง. ซึ่งเป็นระบบที่มีลีนุกซ์รูทพาร์ติชั่นอยู่บน /dev/hda1, และ MS-DOS พาร์ิติชั่นอยู่บน /dev/hda2.

# tell LILO to modify the boot record on /dev/hda ( the first

# non-SCSI hard drive). If you boot from a drive other than /dev/hda,

# change the folowing line.

boot = /dev/hda

# Name of the boot loader. No reason to modify this unless you're doing

# some serious hacking on LILO.

install = /boot/boot.b

# Have LILO perform some optimization.

compact

?

# Stanza for Linux root partition on /dev/hda1.

image = /etc/Image # Location of kernel

label = linux # name of os Zfor the LILO boot menu)

root = /dev/hda1 # Location of root partition

vga = ask # Tell kernel to ask for SVGA modes at boot time

?

# Stanza for MSDOS partition on /dev/hda2.

other = /dev/hda2 # Location of partition

table = /dev/hda # Location of partition table for /dev/hda2

label = msdos # Name of OS ( for boot menu)

?

สแตนซ่าระบบปฏิบัติการแรกในไฟล์โครงสร้างนี้เป็นค่าดีฟ้อลท์ OS สำหรับ LILO ที่จะใช้บูท. คุณสามารถเลือกระบบปฏิบัติการอื่นที่จะบูทเมื่ออยู่ที่บูทพร้อมท์, ดังที่ได้อธิบายข้างบน.

ข้อควรปฏิบัติทุกครั้งเมื่อคุณเปลี่ยนแปลงเคอร์เนลอิมเมจบนดิสก์, คุณควรจะรัน /sbin/lilo ใหม่เพื่อให้ การเปลี่ยนแปลงอิมเมจมีผลถึงบูทเซ็กเตอร์ของดิสก์ด้วย.

และถ้าคุณใช้บรรทัดที่มี "root = " ดังข้างบน, ก็ไม่ต้องใช้คำสั่ง rdev ในการตั้งค่ารูทพาร์ติชั่น ในเคอร์เนลอิมเมจ. LILO จะตั้งค่าให้ตอนบูท.

คำถามที่พบบ่อย(ดูใน Appendix A) มีข้อมูลเกี่ยวกับ LILO, รวมทั้งการใช้ LILO ในการบูทด้วย OS/2's Boot manager.

?

4.3 Shutting down

การปิดเครื่องระบบลีนุกซ์มีเคล็ดลับนิดหน่อย. จำไว้อย่างคือไม่ควรปิดไฟหรือกดสวิทซ์รีเซ็ทขณะที่ระบบ กำลังทำงาน. เคอร์เนลทำการเก็บข้อมูลของดิสก์ I/O บนบัฟเฟอร์ในหน่วยความจำ. ถ้าคุณสั่งรีบูทระบบโดย ไม่ให้เคอร์เนลเขียนข้อมูลในบัฟเฟอร์ลงไนดิสก์ก่อน, คุณอาจทำให้ระบบเสียหาย.

ในการปิดระบบจะมีสัญญาณเตือน. ทุกโพรเซสจะได้รับสัญญาณ, ซึ่งเป็นสัญญาณบอกให้หยุดทำงาน (ให้โพรเซสเขียนข้อมูลและปิดไฟล์, ตามลำดับ). ระบบไฟล์จะถูก unmounted เพื่อความปลอดภัย. ถ้าคุณต้องการ, ระบบสามารถส่งข้อความบอกให้ผู้ใช้รู้ว่าระบบกำลังจะปิดและให้โอกาสผู้ใช้ ในการล็อกออกจากระบบ.

วิธีที่ง่ายที่สุดในการปิดระบบคือใชัคำสั่ง shutdown. รูปแบบคำสั่งคือ

shutdown {time} {warning-message}

ค่า {time} เป็นค่าเวลาที่จะปิดระบบ (มีรูปแบบ ชั่วโมง:นาที:วินาทีหรือ hh:mm:ss), และ{warning-message} คือข้อความที่จะส่งไปหาผู้ใช้ทุกคนที่อยู่ในระบบก่อนจะชัทดาวน์. หรือคุณจะระบุ {time} ด้วยคำว่า "now", เพื่อปิดระบบทันที. ส่วนค่าตัวเลือก "-r" ถ้าใส่ในคำสั่งหมายถึงให้ปิดระบบแล้วรีบูทขึ้นมาใหม่.

ตัวอย่าง, ถ้าต้องการปิดระบบและรีบูทตอน 8:00 pm, ใช้คำสั่ง

# shutdown -r 20:00

คำสั่ง halt อาจใช้เพื่อบังคับให้ปิดระบบทันที, โดยไม่มีข้อความเตือนหรือเสียเวลารอมาก. คำสั่ง halt มีประโยชน์ถ้าคุณเป็นคนเดียวที่ใช้ระบบ, และต้องการปิดระบบและปิดไฟ.

  • อย่าปิดไฟหรือรีบูทระบบจนกว่าคุณจะเห็นข้อความนี้

The system is halted

การปิดระบบมีความสำคัญที่คุณจะต้องปิดให้เรียบร้อยด้วยคำสั่ง shutdown หรือ halt. ในบางระบบ, การกดปุ่ม ALT-CTRL-DEL จะถูกดักและมีผลเหมือนกับสั่ง shutdown; แต่ในบางระบบการกดปุ่มดังกล่าวก็อาจทำให้ เกิดความเสียหายได้.

?

4.4 การจัดการผู้ใช้

ไม่ว่าคุณจะมีผู้ใช้ในระบบมากหรือน้อย, มันสำคัญที่จะต้องเข้าใจขบวนการจัดการผู้ใช้ในระบบลีนุกซ์. แม้ว่าคุณจะเป็นผู้ใช้เพียงคนเดียว, คุณควรมี account ของคุณ (คือ account ที่จะทำงานปกติที่ไม่ใช่ root).

แต่ละคนที่ใช้งานระบบควรมี account ของตนเอง. มีไม่บ่อยที่คนหลายๆคนใช้ account เดียวกัน. ไม่เพียงมีผล ในเรื่องความปลอดภัยระบบ, แต่ account ใช้ในการระบุตัวตนในระบบ. คุณต้องการที่จะติดตามการทำงานของ แต่ละคนว่าทำอะไรเพื่อเป็นข้อมูลในการแก้ปัญหาหากเกิดขึ้นภายหลัง.

?

4.4.1 แนวคิดการจัดการผู้ใช้

ระบบจะเก็บข้อมูลของผู้ใช้แต่ละคน. โดยมีข้อสรุปดังนี้.

username ชื่อผู้ใช้จะเป็นชื่อที่ไม่ซ้ำกันที่สร้างขึ้นให้ผู้ใช้ทุกคนในระบบ. ตัวอย่างชื่อผู้ใช้คือ larry, Karl และ mdw. ตัวอักษรและตัวเลขอาจใช้ผสมกัน, รวมทั้งอักษร "_" (underscore) และ " . " (period). ชื่อผู้ใช้ส่วนมาก จะมีความยาว 8 ตัวอักษร.

user ID หมายเลขผู้ใช้, หรือ UID, คือหมายเลขที่ไม่ซ้ำกันที่สร้างให้ผู้ใช้ทุกคนในระบบ. ระบบจะเก็บข้อมูล การทำงานจากหมายเลขผู้ใช้, แทนที่จะเป็นชื่อผู้ใช้.

group ID หมายเลขกลุ่ม, หรือ GID, คือหมายเลขของกลุ่มผู้ใช้. ในหัวข้อ 3.9 เราอธิบายเรื่องค่าอนุญาต ใช้ไฟล์ของกลุ่ม; ผู้ใช้แต่ละคนมีสังกัดกลุ่มหนึ่งกลุ่มหรือมากกว่ากำหนดโดยผู้ดูแลระบบ. รายละเอียดตามด้านล่าง.

password ระบบจะเก็บข้อมูลรหัสผ่านที่เข้ารหัสแล้ว. คำสั่ง passwd ใช้เพื่อตั้งรหัสผ่านและเปลี่ยนรหัส.

full name ชื่อจริงหรือ ชื่อเต็มของผู้ใช้จะจัดเก็บต่อจากชื่อผู้ใช้. ตัวอย่าง, ผู้ใช้ schmoj อาจมีชื่อ "Joe Schmo" เป็นชื่อจริงของเขา.

home directory โฮมไดเร็กตอรี่เป็นไดเร็กตอรี่ที่ผู้ใช้จะถูกตั้งให้เมื่อเวลาล็อกอินเข้าใช้ระบบ, ผู้ใช้ทุกคนควร มีโฮมไดเร็กตอรี่เป็นของตัวเอง, ซึ่งปกติจะอยู่ภายใต้ /home.

login shell ล็อกอินเชลล์สำหรับผู้ใช้ซึ่งจะเริ่มทำงานเมื่อผู้ใช้ล็อกเข้าระบบ. ตัวอย่างคือ /bin/bash และ /bin/tcsh.

ไฟล์ /etc/passwd ประกอบด้วยข้อมูลเหล่านี้ของผู้ใช้ทั้งหมด. แต่ละบรรทัดในไฟล์ประกอบด้วยข้อมูลของ ผู้ใช้แต่ละคน; ในรูปแบบแต่ละบรรทัดคือ

username:encrypted passwd:UID:GID:full name:home directory:login shell

ตัวอย่าง:

kiwi:Xv8Q981g81oKK:102:100:Laura Poole:/home/kiwi:bin/bash

ตามตัวอย่าง, ช่องแรก, "kiwi", คือชื่อผู้ใช้.

ถัดมา, "Xv8Q981g81oKK" , เป็นรหัสผ่านที่เข้ารหัสไว้, รหัสผ่านจะเก็บไว้ในรูปแบบที่ไม่สามารถอ่านได้ด้วย รูปแบบที่คนทั่วไปเข้าใจ. รหัสผ่านจะเข้ารหัสด้วยกุญแจเฉพาะตัว. พูดอีกอย่างก็คือคุณจะต้องรู้รหัสผ่านในการ ถอดรหัส. การเข้ารหัสในรูปแบบนี้มีความปลอดภัยระดับที่น่าพอใจ.

บางระบบใช้ "shadow password" ซึ่งข้อมูลรหัสผ่านจะเก็บไว้ที่ /etc/shadow. เนื่องจาก /etc/passwd เป็นไฟล์ที่ให้สิทธิ์ทุกคนสามารถอ่านได้, แต่ /etc/shadow จะมีระดับความปลอดภัยไม่ให้ทุกคนที่จะอ่านได้. และ shadow password ยังมีความสามารถอื่นอีกเช่น รหัสผ่านหมดอายุ เป็นต้น; เราจะไม่ลงในรายละเอียด.

ช่องที่สาม, "102", เป็น UID. มันเป็นค่าที่ต้องไม่ซ้ำกับผู้ใช้อื่น. ช่องที่สี่, "100" ,คือ GID" ผู้ใช้นี้ถูกจัดให้อยู่ใน กลุ่มหมายเลข 100. ข้อมูลกลุ่ม, คล้ายข้อมูลผู้ใช้, มันเก็บไว้ในไฟล์ /etc/group. ดูหัวข้อ 4.4.5 ในรายละเอียด

ช่องที่ห้าคือชื่อเต็มของผู้ใช้, "Laura Poole". ช่องสองช่องสุดท้ายคือ โฮมไดเร็กตอรี่ของผู้ใช้(/home/kiwi) และล็อกอินเชลล์(/bin/bash), ตามลำดับ. มันไม่จำเป็นที่ชื่อโฮมไดเร็กตอรี่จะต้องมีชื่อเดียวกับชื่อผู้ใช้. แต่ถ้ามีชื่อเดียวกันมันก็สะดวกในการแยกแยะไดเร็กตอรี่กับผู้ใช้เท่านั้น.

?

4.4.2 การเพิ่มผู้ใช้

เมื่อสร้างผู้ใช้, มันมีขั้นตอนหลายขั้นที่จะต้องทำ. ขั้นแรก, ผู้ใช้จะต้องถูกใส่เพิ่มใน /etc/passwd, ด้วยชื่อที่ไม่ ซ้ำและ UID. GID, ชื่อเต็ม, และข้อมูลอื่นจะต้องใส่ให้ครบ. โฮมไดเร็กตอรี่ของผู้ใช้จะต้องสร้างขึ้น, และค่า อนุญาตใช้ไฟล์บนไดเร็กตอรี่จะตั้งตั้งให้ผู้ใช้เป็นเจ้าของไดเร็กตอรี่. ไฟล์สำหรับเริ่มต้นเชลล์จะต้องสร้างใน โฮมไดเร็กตอรี่ใหม่นี้ และค่าที่เกี่ยวข้องกับระบบส่วนใหญ่จะต้องถูกสร้างขึ้น(ยกตัวอย่าง, การตั้งเนื้อที่ spool สำหรับรับอีเมล์สำหรับผู้ใช้ใหม่).

เรื่องนี้ไม่ยากที่จะทำการเพิ่มผู้ใช้ด้วยมือ(ผู้เขียนทำด้วยมือ), เมื่อคุณทำงานกับระบบที่มีผู้ใช้จำนวนมากคุณ อาจหลงลืม. วิธีที่ง่ายที่สุดในการเพิ่มผู้ใช้คือการใช้โปรแกรมที่โต้ตอบคุณได้ซึ่งจะถามคุณสำหรับข้อมูลที่ จำเป็นและปรับปรุงไฟล์ทั้งหมดของระบบโดยอัตโนมัติ. ชื่อของโปรแกรมนี้คือ useradd หรือ adduser, ขึ้นอยู่กับซอฟแวร์ที่คุณติดตั้ง. คำแนะนำการใช้สำหรับคำสั่งเหล่านี้จะเป็นประโยชน์ถ้าคุณอยากรู้รายละเอียด.

?

4.4.3 การลบผู้ใช้ออกจากระบบ

คล้ายกับการเพิ่มผู้ใช้, การลบผู้ใช้สามารถทำได้ด้วยคำสั่ง userdel หรือ deluser ขึ้นอยู่กับซอผแวร์ที่ คุณติดตั้งในระบบ.

ถ้าคุณอยากจะยกเลิกผู้ใช้ชั่วคราวไม่ให้ผู้ใช้ล็อกอินเข้าระบบ(โดยไม่ได้ลบ account ของผู้ใช้), คุณสามารถทำได้โดยใส่เครื่องหมายดอกจันท์(" * ")ไว้ในช่องรหัสผ่านในไฟล์ /etc/passwd. ตัวอย่าง, เปลี่ยน บรรทัดของ kiwi's /etc/passwd เป็น

kiwi:*Xv8Q981g81oKK:102:100:Laura Poole:/home/kiwi:bin/bash

จะทำให้ kiwi ล็อกอินไม่ได้.

?

4.4.4 Setting user attributes

หลังจากคุณสร้างผู้ใช้, คุณอาจต้องการเปลี่ยนค่าบางอย่างของผู้ใช้นั้น, เช่นโฮมไดเร็กตอรี่ หรือ รหัสผ่าน. วิธีที่ง่ายที่สุดคือการเปลี่ยนค่าในไฟล์ /etc/passwd โดยตรง. ในการตั้งรหัสผ่านของผู้ใช้, ใชัคำสั่ง passwd ตัวอย่าง,

# passwd larry

จะเปลี่ยนรหัสผ่านของลาร์รี่. มีเพียง root อาจเปลี่ยนรหัสผู้ใช้อื่นด้วยวิธีนี้. ผู้ใช้สามารถเปลี่ยนรหัสผ่านของ ตัวเองด้วยคำสั่งนี้ได้ด้วยเหมือนกัน.

ในบางระบบ, คำสั่ง chfn และ chsh จะมีให้ผู้ใช้ตั้งค่าชื่อเต็มและล็อกอินเชลล์ของตัวเองได้. ถ้าไม่มีคำสั่งนี้ เขาจะต้องเรียกผู้ดูแลระบบให้เปลี่ยนค่าเหล่านี้ให้.

?

4.4.5 Groups

ดังที่ได้กล่าวแล้ว, ผู้ใช้แต่ละคนจะสังกัดกลุ่มหนึ่งกลุ่มหรือมากกว่า. ความสำคัญของกลุ่มเกี่ยวข้องกับค่า อนุญาตใช้ไฟล์, ดังที่ได้อธิบายในหัวข้อ 3.9, แต่ละไฟล์จะมี "กลุ่มที่เป็นเจ้าของ" และค่าการอนุญาตให้กลุ่ม นั้นใช้งานไฟล์.

มีกลุ่มที่ระบบสร้างขึ้นหลายกลุ่มเช่น bin, mail และ sys. ผู้ใช้ทั่วไปไม่ควรอยู่ในกลุ่มเหล่านี้; มันเป็นกลุ่มที่ ไฟล์ของระบบใช้. แต่ควรใช้กลุ่มเฉพาะเช่น users.ถ้าคุณอยากให้ระบบดูดี, คุณสามารถจัดกลุ่มผู้ใช้ออกเป็น หลายกลุ่มเช่น student, staff, และ faculty.

ไฟล์ /etc/group ประกอบด้วยข้อมูลเกี่ยวกับกลุ่ม. รูปแบบของแต่ละบรรทัดคือ

group name:password:GID:other members

ตัวอย่างของข้อมูลกลุ่มอาจเป็นดังนี้:

root:*:0:

users:*:100:mdw, larry

guest:*:200:

other:*:250:kiwi

กลุ่มแรก, root, เป็นกลุ่มพิเศษกันไว้ให้ root account. กลุ่มต่อมา, users, เป็นกลุ่มผู้ใช้ทั่วไป. ซึ่งมี GID เท่ากับ 100. ผู้ใช้ชื่อ mdw และ larry ถูกตั้งให้อยู่ในกลุ่มนี้. จำไว้ว่าในไฟล์ /etc/passwd ผู้ใช้แต่ละคนจะถูกต้องค่า GID ให้ด้วยค่าดีฟ้อลท์. อย่างไรก็ตามผู้ใช้อาจสังกัดกลุ่มได้มากกว่าหนึ่งกลุ่ม, ด้วยการเพิ่มชื่อผู้ใช้ในแต่ละ บรรทัดใน /etc/group. คำสั่ง groups ใช้ดูว่ากลุ่มอะไรที่คุณสังกัดอยู่.

กลุ่มที่สาม guest, สำหรับผู้ใช้ที่เป็น guest, และ กลุ่มที่สี่ "other" . ผู้ใช้ชื่อ "kiwi" สังกัดอยู่ที่กลุ่มนี้.

ดังที่เห็น, ช่อง "password" ของ /etc/group นานๆจะใช้ที. มันถูกใช้ในการตั้งรหัสผ่านสำหรับการเข้ากลุ่ม. ซึ่งนานๆถึงจะใช้ในการป้องกันผู้ใช้เปลี่ยนเข้าไปยังกลุ่มบางกลุ่มที่สงวนไว้.(ด้วยคำสั่ง newgroup), ให้ตั้งค่า รหัสผ่านเป็น " * ".

คำสั่ง addgroup และ groupadd อาจใช้เพื่อเพิ่มกลุ่มในระบบของคุณ. ปกติ, มันจะง่ายถ้าเพิ่มใน /etc/group
เนื่องจากไม่มีการตั้งค่าอื่นในการเพิ่มกลุ่ม. การลบกลุ่มก็เหมือนกัน, คือแก้ไขลบในไฟล์ /etc/group.

?

4.5 Archiving and Compressing file

ก่อนที่เราจะพูดถึงการสำรองข้อมูล, เราอยากแนะนำเครื่องมือในการเก็บข้อมูลและซอฟแวร์บนยูนิกซ์

4.5.1 การใช้ tar

คำสั่ง tar เป็นคำสั่งที่ใช้บ่อยในการเก็บข้อมูลบนไฟล์.

รูปแบบคำสั่งคือ

tar {options} {file1} {file2} ...{fileN}

เมื่อ {options} คือรายการคำสั่งและตัวเลือกสำหรับ tar, และ {file1} ถึง ...{fileN} เป็นรายการไฟล์ที่จะเพิ่ม หรือลดออกจากเอกสาร.

ตัวอย่าง, คำสั่ง

# tar cvf backup.tar /etc

จะทำการผนึกไฟล์ใน /etc ลงในไฟล์ข้อมูล backup.tar. ค่าอาร์กิวเม้นแรกของคำสั่ง tar--"cvf"-- เป็น "คำสั่ง" ของ tar. "c" บอกให้ tar สร้างไฟล์ข้อมูลใหม่. "v" บังคับให้ tar แสดงรายละเอียดการทำงาน. "f" บอกชื่อไฟล์ ให้ tar --ชื่อไฟล์ที่จะสร้างขึ้น. ที่เหลือเป็นค่าที่บอก tar เกี่ยวกับไฟล์และไดเร็กตอรี่ที่จะเพิ่มเข้าไปใน แฟ้มข้อมูล.

คำสั่ง

# tar xvf backup.tar

จะดึงข้อมูลออกจากไฟล์ backup.tar ในไดเร็กตอรี่ปัจจุบัน. คำสั่งนี้บางทีก็อาจเป็นอันตราย--เมื่อ ดึงข้อมูลออกจากไฟล์ tar, ไฟล์เก่าอาจถูกเขียนทับได้.

ยิ่งไปกว่านั้น, ก่อนที่จะดึงข้อมูลจากไฟล์ tar, มันสำคัญที่จะต้องรู้ว่าไฟล์ที่ดึงมาจะเอาไปเก็๋บไว้ที่ใหน. ยกตัวอย่าง, สมมุติว่าคุณเก็บไฟล์เหล่านี้: /etc/hosts, /etc/group, และ /etc/passwd. ถ้าคุณใช้คำสั่ง

# tar cvf backup.tar /etc/hosts /etc/group /etc/passwd

ชื่อไดเร็กตอรี่ /etc/ ถูกเพิ่มเข้าไปในชื่อไฟล์แต่ละไฟล์. เพื่อที่จะดึงข้อมูลไฟล์กลับมายังที่เดิม, คุณจะต้องใช้ คำสั่ง:

# cd /

# tar xvf backup.tar

เพราะว่าไฟล์จะถูกดึงออกมาพร้อมด้วยชื่อพาธที่เก็บไว้ในไฟล์เอกสาร tar.

แต่ถ้าคุณใช้การเก็บข้อมูลโดยใช้คำสั่ง

# cd /etc

# tar cvf hosts group passwd

ชื่อไดเร็กตอรี่จะไม่ถูกเก็บในแฟ้มเอกสาร. ดังนั้น, คุณต้องเปลี่ยนไดเร็กตอรี่เข้าไปอยู่ใน "/etc" ก่อนที่จะ แตกไฟล์. อย่างที่เห็น, การเก็บไฟล์ด้วยคำสั่ง tar มีผลแตกต่างกันเมื่อคุณแตกไฟล์ทีหลัง. คำสั่ง

# tar tvf backup.tar

อาจใช้เพื่อแสดง "index" ของไฟล์ tar ก่อนที่จะแตกไฟล์. ด้วยวิธีนี้คุณจะเห็นว่ามีไดเร็กตอรี่อะไรที่ไฟล์เก็บ ในแฟ้มข้อมูล, และสามารถแตกไฟล์กลับไปที่เดิมได้อย่างถูกต้อง.

4.5.2 gzip และ compress

ไม่เหมือนกับการใช้โปรแกรมเก็บข้อมูลในระบบ MS-DOS, tar ไม่ได้บีบอัดข้อมูลโดยอัตโนมัติ. ดังนั้น, ถ้าคุณ มีแฟ้มข้อมูลขนาด 1 เมกกาไบท์จำนวนสองไฟล์, ผลลัพท์ของไฟล์ tar จะมีขนาดสองเมกกาไบท์. คำสั่ง gzip อาจใช้เพื่อบีบอัดไฟล์ (ไฟล์ที่ถูกบีบอัดไม่จำเป็นต้องเป็นไฟล์ tar เสมอไป). คำสั่ง

# gzip -9 backup.tar

จะบีบอัดไฟล์ backup.tar และได้ผลลัพท์เป็น backup.tar.gz, ซึ่งเป็นไฟล์ที่ถูกบีบอัดแล้ว. ตัวเลือก -9 บอกให้ gzip ใช้วิธีการบีบอัดแบบสูงสุด.

คำสั่ง gunzip เป็นคำสั่งที่ใช้ในการคลายการบีบอัด. เหมือนกับที่ใช้คำสั่ง "gzip -d".

gzip เป็นคำสั่งใหม่ในหมู่ผู้ใช้ยูนิกซ์. หลายปีก่อน, คำสั่ง compress ถูกใช้แทน, แต่เนื่องจากหลายปัจจัย(รวมถึงปัญหาลิขสิทธิ์ซอฟแวร์ที่ compress ใช้และการที่ gzip มีประสิทธิภาพสูงกว่า) ทำให้คำสั่ง compress ถูกเลิกใช้ไปในที่สุด.

ไฟล์ที่ถูกบีบอัดจะลงท้ายด้วย .z. ตัวอย่าง backup.tar.z เป็นไฟล์ที่ถูกบีบอัดของไฟล์ backup.tar, ในขณะที่ backup.tar.gz เป็นไฟล์ที่ถูกบีบอัดในรุ่นของ gzip (ไฟล์ที่บีบอัดลงท้ายด้วย .z อาจมาจากคำสั่ง compress ในขณะที่ไฟล์ที่ลงท้ายด้วย .gz เป็นไฟล์ที่ได้จากคำสั่ง gzip) คำสั่ง uncompress ใช้คลายการบีบอัดข้อมูลที่ ทำด้วยคำสั่ง compress ; คำสั่ง gunzip สามารถทำงานกับไฟล์ที่บีบอัดด้วย compress ได้เหมือนกัน.

?

4.5.3 สรุปการใช้งาน

ดังนั้น, เพื่อจัดเก็บข้อมูลจากไฟล์หลายไฟล์และบีบอัดเืพื่อเก็บ, คุณสามารถใช้คำสั่ง:

# tar cvf backup.tar /etc

# gzip -9 backup.tar

ผลที่ได้คือ backup.tar.gz. ถ้าต้องการแตกไฟล์นี้, ใช้คำสั่งในทางกลับกัน

# gunzip backup.tar.gz

# tar xvf backup.tar

อย่าลืมเรื่องไดเร็กตอรี่ที่เก็บในแฟ้มข้อมูลก่อนที่จะทำการแตกไฟล์.

คุณสามารถใช้คำสั่งลูกเล่นของยูนิกซ์ในการสั่งเก็บและบีบอัดไฟล์ในคำสั่งเดียว, เช่น:

# tar cvf - /etc | gzip -9c > backup.tar.gz

ตามตัวอย่าง, เราส่งไฟล์ tar ไปยัง "-", ซึ่งหมายถึง standard output ของ tar. ซึ่งจะทำการไปป์ไปยัง gzip, ที่จะทำการบีบอัดข้อมูล, และเก็บผลลัพท์ไว้ใน backup.tar.gz. ตัวเลือก -c บอกให้ gzip ส่งผลลัพท์ไปยัง stdout, ซึ่งจะถูกเปลี่ยนทิศข้อมูลไปยัง backup.tar.gz.

คำสั่งที่จะแตกไฟล์ได้ในบรรทัดเดียว จะเป็น:

# gunzip -c backup.tar.gz | tar xvf -

อีกครั้ง, คำสั่ง gunzip จะแตกไฟล์ข้อมูลของ backup.tar.gz และส่งผลลัพท์ไฟล์ tar ไปยัง stdout. ที่จะไปป์ ต่อไปยัง tar, ซึ่งจะอ่าน "-", ในครั้งนี้จะหมายถึง stdin.

ง่ายกว่าเดิม, คำสั่ง tar ได้รวมตัวเลือก "z" ที่สามารถบีบอัดและคลายไฟล์ได้ในทีเดียว, โดยใช้การบีบอัด ข้อมูลแบบ gzip.

ตัวอย่าง, คำสั่ง

# tar cvfz backup.tar.gz /etc

มีผลเหมือนกับการใช้คำสั่ง

# tar cvf backup.tar /etc

# gzip backup.tar

ทำนองเดียวกัน คำสั่ง

# tar xvfz backup.tar.Z

อาจใช้แทนคำสั่ง

# uncompress backup.tar.Z

# tar xvf backup.tar

ดูคู่มือการใช้คำสั่ง tar และ gzip ประกอบ.

?

4.6 การใช้ฟล้อปปี้ในการสำรองข้อมูล

วิธีที่ง่ายที่สุดที่จะสำรองข้อมูลโดยใช้ฟล้อปปี้คือใช้คำสั่ง tar. คำสั่ง

# tar cvfzM /dev/fd0 /

จะสำรองข้อมูลระบบของคุณด้วยฟล้อปปี้ไดรว์ /dev/fd0. ตัวเลือก "M" บอกให้ tar ใช้แผ่นฟล้อปปี้หลายแผ่น; นั่นคือถ้าแผ่นฟล้อปปี้เต็ม, tar จะถามหาแผ่นต่อไป. คำสั่ง

#tar xvfzM /dev/fd0

ใช้กู้ข้อมูลจากที่สำรองไว้. วิธีนี้สามารถใช้กับอุปกรณ์เทปได้ถ้าคุณมีเทปไดรว์ (/dev/rmt0) ต่ออยู่กับระบบ.

มีโปรแกรมสำรองข้อมูลอื่นที่สามารถสำรองข้อมูลแบบหลายแผ่น:โปรแกรม backflops หาได้ที่ tsx-11.mit.edu ก็ใช้ได้ดี.

การสำรองข้อมูลทั้งระบบทำให้ระบบทำงานหนักและกินเวลา. ผู้ดูแลระบบส่วนใหญ่จะใช้วิธีสำรองข้อมูลแบบ incremental backup policy, ซึ่งทุกเดือนจะทำการสำรองข้อมูลแบบเต็ม, และทุกสัปดาห์จะเก็บเฉพาะไฟล์ ที่มีการเปลี่ยนแปลงข้อมูลในสัปดาห์สุดท้ายจะถูกเก็บสำรองข้อมูล. ด้วยวิธีนี้, ถ้าระบบคุณเสียหายในช่วง กลางเดือน, คุณสามารถกู้ข้อมูลกลับจากข้อมูลต้นเดือน, และกู้ข้อมูลของสัปดาห์สุดท้ายที่ได้สำรองไว้.

คำสั่ง find เป็นคำสั่งที่มีประโยชน์ในการหาไฟล์ที่มีการเปลี่ยนแปลงตั้งแต่วันที่ที่ระบุ. หลายๆสคริปที่ใช้ในการ ทำ incremental backup สามารถหาได้ที่ sunsite.unc.edu.

?

4.6.2 การใช้ฟล้อปปี้เป็นระบบไฟล์

คุณสามารถสร้างระบบไฟล์บนฟล้อปปี้ เหมือนที่คุณทำบนฮาร์ดดิสก์. ตัวอย่าง

# mke2fs /dev/fd0 1440

เป็นการสร้างระบบไฟล์บนฟล้อปปี้ใน /dev/fd0. ขนาดของระบบไฟล์จะมีขนาดเท่ากับฟล้อปปี้. แผ่นฟล้อปปี้ดิสก์ 3.5 นิ้วความจุสูงจะมีความจุ 1.44 เมกกาไบท์, หรือ 1440 block. แผ่นฟล้อปปี้ดิสก์ 5.25 นิ้วความจุสูงจะมีความจุ 1200 block.

ในการใช้งานฟล้อปปี้, คุณจะต้อง mount ระบบไฟล์ที่อยู่บนฟล้อปปี้. คำสั่ง

# mount -t ext2 /dev/fd0 /mnt

จะยึดฟล้อปปี้ใน /dev/fd0 ไว้บนไดเร็กตอรี่ /mnt. ตอนนี้, ทุกไฟล์บนฟล้อปปี้จะปรากฏภายใต้ไดเร็กตอรี่ /mnt ในระบบของคุณ. ค่า "-t ext2" ระบุระบบไฟล์ว่าเป็นชนิด ext2. ถ้าคุณสร้างระบบไฟล์ชนิดอื่นบนฟล้อปปี้, คุณจะต้องระบุชนิดไฟล์ให้ถูกต้อง.

"mount point" (ไดเร็กตอรี่ที่คุณ mount ระบบไฟล์) จะต้องมีอยู่เมื่อคุณใช้คำสั่ง mount. ถ้ามันไม่มี, ให้สร้างขึ้นด้วยคำสั่ง mkdir.

ดูหัวข้อ 4.8 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับระบบไฟล์, การ mounting, และ mount point.

  • หมายเหตุ: การอ่านเขียนไปยังฟล้อปปี้จะถูกพักข้อมูลเหมือนกับการอ่านเขียนฮาร์ดดิสก์. ถ้าคุณแก้ไขไฟล์บนฟล้อปปี้, คุณอาจไม่เห็นว่ามันทำการเขียนแผ่นจนกระทั่งเคอร์เนลจะทำการล้างข้อมูล I/O บัฟเฟอร์. มันเป็นเรื่องสำคัญที่ห้าม เอาแผ่นฟล้อปปี้ออกก่อนที่คุณจะทำการ unmount; ซึ่งจะสั่งด้วยคำสั่ง
  • # umount /dev/fd0
  • อย่าเอาฟล้อปปี้เข้าออกเหมือนที่คุณทำกับระบบ MS-DOS; เมื่อไรที่คุณเปลี่ยนแผ่นของฟล้อปปี้, ให้ umount ก่อน และสั่ง mount แผ่นถัดมา

?

4.7 Upgrading and Installing New Software

อีกหน้าที่หนึ่งของผู้ดูแลระบบคือการติดตั้งซอฟแวร์และอัพเกรดระบบ.

ชุมชนลีนุกซ์มีการปรับเปลี่ยนรุ่นบ่อย. เคอร์เนลใหม่ๆจะออกในไม่กี่สัปดาห์, และซอฟแวร์อื่นก็จะอัพเกรด บ่อยตาม. ด้วยเหตุนี้, ผู้ใช้ลีนุกซ์มือใหม่จะรู้สึกต้องการอัพเกรดระบบให้ทันกับการเปลี่ยนแปลงที่รวดเร็วนั้น. นอกจากมันเป็นเรื่องที่ไม่จำเป็นแล้ว, มันยังสิ้นเปลืองเวลา: เพื่อติดตามการเปลี่ยนแปลงในโลกของลีนุกซ์, คุณอาจใช้เวลาทั้งหมดในการติดตั้งอัพเกรดโดยไม่มีเวลาใช้งานมันเลย.

แล้วเมื่อไรที่คุณต้องการปรับเปลี่ยน? บางคนคิดว่าควรอัพเกรดเมื่อรุ่นใหม่ออก--ตัวอย่าง, เมื่อ Slackware ออกรุ่นใหม่. ผู้ใช้ลีนุกซ์หลายคนลงทุนติดตั้งใหม่ทุกครั้งที่สแล็กแวร์ออกรุ่นใหม่ทุกครั้ง. นี่เป็นเรื่องเสียเวลา โดยใช่เหตุ. โดยทั่วไป, การเปลี่ยนแปลงของ slackware มีไม่มากในแต่ละรุ่น. การดาวน์โหลดและติดตั้งดิสก์ จำนวน 30 แผ่นมีเพียง 10 เปอร์เซนต์ของซอฟแวร์ที่มีการเปลี่ยนแปลง.

วิธีที่ดีที่สุดในการอัพเกรดระบบของคุณคือการทำการอัพเกรดด้วยตัวเอง: ทำการอัพเกรดเฉพาะชุดซอฟแวร์ที่ คุณรู้ว่าคุณควรอัพเกรด. นี่เป็นเรื่องกวนใจคนหลายคน: ที่อยากรู้ว่าอะไรที่ต้องอัพเกรด, และทำอย่างไร, และ อะไรจะเกิดขึ้นถ้าเขาไม่ได้อัพเกรด. ในการทำงานที่สมบูรณ์ของระบบ, มันสำคัญที่จะต้องข้ามกำแพงความ กลัวของ "การลงมือทำด้วยตัวเอง"--ซึ่งเป็นเรื่องที่ลีนุกซ์เน้น. ที่จริง, เมื่อคุณติดตั้งระบบให้ทำงานได้และ ปรับแต่งซอฟแวร์ได้ถูกต้อง, การติดตั้งอีกครั้งกับรุ่นล่าสุดจะไม่ทำให้ข้อมูลเดิมที่คุณตั้งไว้เสียหาย, มันจะเหมือนกับที่คุณติดตั้งครั้งแรก. แต่การติดตั้งใหม่ทั้งหมดเป็นเรื่องที่ไม่จำเป็น--สิ่งที่คุณควรจะรู้คือวิธีการ อัพเกรดระบบของคุณ, และวิธีการทำที่ถูกต้อง.

คุณจะพบว่าเมื่อคุณปรับเปลี่ียนรุ่นของซอฟแวร์บางตัวในระบบ, โปรแกรมส่วนอื่นจะไม่กระทบ. ตัวอย่าง, โปรแกรมส่วนใหญ่ในระบบของผู้เขียนเป็นโปรแกรมที่ใช้งานมาจากการติดตั้งด้วยโปรแกรม 0.96 MCC Interim. และเมื่อผู้เขียนได้ทำการอัพเกรดเคอร์เนลและไลบรารี่ มันสามารถใช้งานกับโปรแกรมเดิมได้โดย ไม่มีปัญหา. ในการทำงานกับระบบส่วนใหญ่, การอัพเกรดให้ทันสมัยเป็นเรื่องไม่มีความสำคัญโดยสิ้นเชิง. นี่มันไม่ใช่ระบบ MS-DOS ของไมโครซอฟท์. ที่จะต้องไปรันซอฟแวร์รุ่นล่าสุดทุกตัว. ถ้าคุณต้องการความ สามารถใหม่ๆของซอฟแวร์บางตัว, ก็ทำการอัพเกรดมัน. ถ้าไม่ต้องการ, ก็ไม่ต้องอัพเกรด. พูดอีกอย่างคือ, อัพเกรดอะไรที่คุณอยากทำ, และเมื่อคุณอยากทำ. อย่าอัพเกรดเพียงเพราะมันเป็นการปรับเปลี่ยนรุ่น. ซึ่งทำให้เสียเวลาและแรงที่จะทำให้มันทันสมัยอยู่ตลอด.

ซอฟแวร์ที่สำคัญที่สุดที่จะอัพเกรดบนระบบของคุณคือ เคอร์เนล, ไลบรารี่, และคอมไพเลอร์ gcc. นี้เป็นส่วนที่จำเป็นสำหรับระบบของคุณ, และในบางกรณีมันเกี่ยวข้องกันและกันในการทำงานในระบบ. ส่วนซอฟแวร์อื่นในระบบไม่ต้องการให้อัพเกรดบ่อยนัก.

?

4.7.1 Upgrading the kernel

การอัพเกรดเคอร์เนลทำได้ด้วยการหาซอร์สโค้ดและทำการคอมไพล์ด้วยตัวคุณเอง. คุณต้องคอมไพล์เอง เพราะคุณสามารถเปิดปิดค่าต่างๆตามที่คุณต้องการ, เพื่อให้ได้เคอร์เนลที่ดีที่สุดบนเครื่องของคุณ. วิธีการก็ไม่ยุ่งยากซับซ้อนเท่าไร.

ซอร์สโค้ดของเคอร์เนลอาจหาได้จากเวบลีนุกซ์ FTP ไซด์(ดู หัวข้อ C สำหรับรายชื่อ). ที่ sunsite.unc.edu, ซอร์สโค้ดของเคอรเนลจะอยู่ที่ /pub/Linux/kernel. รุ่นของเคอร์เนลจะใช้หมายเลขเวอร์ชั่นและระดับของ patch. ตัวอย่าง, เคอร์เนลเวอร์ชั่น 0.99 pathclevel 11 จะเรียกว่า 0.99.pl11, หรือ 0.99.11.

ตัวซอร์สโค้ดจะเป็นไฟล์ tar ที่บีบอัดด้วย gzip (ส่วนมากจะมี patch file สำหรับเคอร์เนลรุ่นที่ใช้ปัจจุบัน เพื่อให้คุณปรับเคอร์เนลที่คุณใช้จากการ patch ครั้งสุดท้ายให้เป็นรุ่นล่าสุด. แต่มันจะง่ายกว่าถ้าติดตั้ง เคอร์เนลรุ่นใหม่ทั้งหมดจากเคอร์เนลซอร์ส). ยกตัวอย่าง, ไฟล์ที่เป็นเคอร์เนลซอร์สรุ่น 0.99.pl11. คือไฟล์ linux-0.99.11.tar.gz.

ทำการแตกไฟล์จากไดเร็กตอรี่ /usr/src; มันจะสร้างไดเร็กตอรี่ /usr/src/linux ซึ่งมีเคอร์เนลซอร์ส. คุณควรจะลบหรือเปลี่ยนชื่อไดเร็กตอรี่เดิม /usr/src/linux ก่อนที่จะทำการแตกไฟล์รุ่นใหม่.

เมื่อซอร์สถูกแตกออก, คุณต้องตรวจสอบให้แน่ใจว่า symbolic link สองตัวที่อยู่ใน /usr/include ชี้ได้ถูกต้อง. ในการสร้างลิ้งค์, ใช้คำสั่ง

# ln -sf /usr/src/linux/include/linux /usr/include/linux

# ln -sf /usr/sfc/linux/include/asm /usr/include/asm

เมื่อคุณสร้างลิ้งค์เหล่านี้ขึ้นมา, มันก็ไม่จำเป็นต้องสร้างใหม่เมื่อคุณติดตั้งเคอร์เนลรุ่นอื่น.(ดูหัวข้อ 3.10 สำหรับเรื่อง symbolic link)

หมายเหตุ: ในการคอมไพล์เคอร์เนล, คุณจะต้องมีโปรแกรมคอมไพล์เลอร์ gcc และ g++ C และ C++ ติดตั้งในระบบของคุณ. คุณอาจต้องการคอมไพล์เลอร์รุ่นล่าสุด: ดูหัวข้อ 4.7.3 ด้านล่างนี้สำหรับข้อมูล เพิ่มเติม.

ในการคอมไพล์เคอร์เนล, ขั้นแรกเปลี่ยนไดเร็กตอรี่ไปที่ /usr/src/linux. สั่งคำสั่ง make config. คำสั่งนี้จะถาม คุณสำหรับจำนวนของ configuration options, เช่น ชนิดของระบบไฟล์ที่คุณอยากให้รวมเข้าในเคอร์เนล.

ต่อมา, แก้ไขไฟล์ /usr/src/linux/Makefile. ตรวจสอบให้แน่ใจว่าค่าของ ROOT_DEV ถูกต้อง--มันใช้สำหรับ บอกถึงอุปกรณ์ที่ใช้เป็น root filesystem ตอนบูทระบบ. ปกติจะมีค่าดังนี้

ROOT_DEV = CURRENT

ถ้าคุณไม่เปลี่ยนอุปกรณ์ระบบไฟล์รูท, ก็ไม่จำเป็นต้องแก้ไข.

ต่อมา, รันคำสั่ง make dep เพื่อแก้ปัญหาการเข้ากันได้ของซอร์ส. มันเป็นขั้นตอนที่สำคัญมาก.

สุดท้าย, คุณก็พร้อมที่จะคอมไพล์เคอร์เนล. คำสั่ง make Image จะคอมไพล์เคอร์เนลและให้ผลลัพท์ เป็นไฟล์เคอร์เนลอิมเมจคือ /usr/src/linux/Image. ถ้าคุณใช้คำสั่ง make zImage หมายถึงคอมไพล์และ บีบอัดเคอร์เนลอิมเมจด้วย, ซึ่งจะคลายการบีบอัดเองตอนบูททำให้ใช้พื้นที่ดิสก์น้อย.

เมื่อคุณได้เคอร์เนลที่คอมไพล์เสร็จ, คุณจำเป็นต้องก้อปปี้มันไปยังแผ่นบูทฟล้อปปี้(ด้วยคำสั่งเช่น "cp Image /dev/fd0") หรือติดตั้งมันด้วยการใช้ LILO เพื่อบูทจากฮาร์ดดิสก์. ดูหัวข้อ 4.4.2 ในรายละเีอียด.

?

4.7.2 Upgrading the libraries

ดังที่ได้เอ่ยถึงก่อนหน้านี้, ซอฟแวร์ในระบบจะคอมไพล์และใช้ไลบรารี่ร่วมกัน, ซึ่งประกอบด้วยโปรแกรมย่อย ที่ใช้ร่วมกันระหว่างหลายๆโปรแกรม.

ถ้าคุณเห็นข้อความ

incompatible library version

เมื่อพยายามรันโปรแกรม, แสดงว่าคุณต้องการอัพเกรดรุ่นของไลบรารี่ซึ่งโปรแกรมต้องใช้. ไลบรารี่เป็นโปรแกรมที่ใช้งานกับรุ่นก่อนหน้าได้; กล่าวคือ, โปรแกรมที่คอมไพล์เพื่อใช้กับรุ่นเก่าของไลบรารี่ ควรจะทำงานได้กับรุ่นใหม่ของไลบรารี่ที่ติดตั้ง. อย่างไรก็ตาม, โปรแกรมที่คอมไพล์กับไลบรารี่รุ่นใหม่ ไม่สามารถใช้กับไลบรารี่รุ่นเก่าได้.

ไลบรารี่รุ่นล่าสุดสามารถหาได้บนลีนุกซ์ FTP เวบไซด์. ที่ sunsite.unc.edu, จะเก็บไว้ที่ /pub/Linux/GCC. ข้อมูลในไฟล์ "release" จะบอกว่าคุณต้องดาวน์โหลดไฟล์อะไรบ้างและวิธีการติดตั้งไลบรารี่. พูดง่ายๆ, คุณควรจะได้ไฟล์ image-version.tar.gz และ inc-version.tar.gz เมื่อ version คือรุ่นของไลบรารี่, เช่น 4.4.1. ไฟล์ tar ที่บีบอัดด้วย gzip นี้: เป็นอิมเมจไฟล์ที่ประกอบด้วยไลบรารี่ที่จะติดตั้งใน /lib และ /usr/lib. ไฟล์ inc ประกอบด้วย include file ที่จะติดตั้งใน /usr/include

ข้อมูลใน release-version.tar.gz ควรจะอธิบายวิธีการติดตั้งโดยละเอียด(คำแนะนำการติดตั้งของแต่ละ เวอร์ชั่น). โดยทั่วไปคุณต้องติดตั้งไฟล์ไลบรารี่ .a และ .sa ใน /usr/lib. ไฟล์เหล่านี้เป็นไลบรารี่ที่ใช้ตอนเวลา คอมไพล์.

นอกจากนี้, อิมเมจไฟล์ของไลบรารี่ที่ใช้ร่วมก้ัน, libc.so.version จะถูกติดตั้งใน /lib. ไฟล์เหล่านี้เป็น share library image ที่โหลดเข้าหน่วยความจำตอนโปรแกรมทำงานโดยโปรแกรมที่ใช้ไลบรารี่. ตัวอย่าง, เมื่ออัพเกรดจาก libc.so.4.4 เป็น libc.so.4.4.1, คุณต้องเปลี่ยน symbolic link ให้ชี้ไปที่รุ่นใหม่.

  • มันสำคัญมากที่คุณต้องเปลี่ยน symbolic link ในขั้นตอนเดียว, ดังอธิบายด้านล่างนี้. ถ้าคุณเผลอไปลบ symbolic link libc.so.4 เมื่อโปรแกรมที่ขึ้นกับลิ้งค์(รวมถึงยูทิลิตี้พื้นฐานเช่น ls และ cat) จะหยุดการทำงาน. ให้ใช้คำสั่งต่อไปนี้ในการ อัพเดท symbolic link libc.so.4 ไปชี้ที่ไฟล์ libc.so.4.4.1

# ln -sf /lib/libc.so.4.4.1 /lib/libc.so.4

คุณต้องเปลี่ยน symbolic link libm.so.version แบบเดียวกัน. ถ้าคุณอัพเกรดไปเป็นรุ่นอื่นโดยเปลี่ยน การชี้เหมือนข้างบน. ข้อมูลในไฟล์ "release" จะมีรายละเอียด.(ดูหัวข้อ 3.10 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ symbolic link).

?

4.7.3 Upgrading gcc

คอมไพเลอร์ gcc C และ C++ ใช้สำหรับคอมไพล์ซอฟแวร์บนระบบของคุณ, สำคัญที่สุดคือเคอร์เนล. gcc รุ่น ล่าสุดหาได้ตามลีนุกซ์ FTP เวบไซด์. ที่ sunsite.unc.edu เก็บไว้ที่ /pub/Linux/GCC (ตามหลังไลบรารี่) และ ควรจะมีไฟล์ "release" บอกวิธีการติดตั้งและไฟล์ที่ต้องดาวน์โหลด.

?

4.7.4 การอัพเกรดซอฟแวร์อื่น

การอัพเกรดซอฟแวร์อื่นปกติจะทำโดยดาวน์โหลดไฟล์ที่จำเป็นและติดตั้งมัน. ซอฟแวร์สำหรับลีนุกซ์ส่วนมาก จะแจกจ่ายในรูปของไฟล์ gzip tar. รวมถึงซอร์สโค้าหรือไบนารี่หรือทั้งสองอย่าง. ถ้าไบนารี่ไม่ได้รวมอยู่ ในชุดซอฟแวร์, คุณต้องทำการคอมไพล์เอง; ซึ่งปกติ, ทำโดยพิมพ์คำสั่ง make ในไดเร็กตอรี่ที่ซอร์สโค้ดอยู่.

การอ่าน USENET newsgroup comp.os.linux.annouce สำหรับข่าวใหม่ๆของซอฟแวร์บนลีนุกซ์เป็นวิธี ที่ง่ายที่สุดในการหาข้อมูลของซอฟแวร์ใหม่. เมื่อคุณหาซอฟแวร์บน FTP เว็บ, ดาวน์โหลดไฟล์ ls-lR จากเวบ แล้วใช้คำสั่ง grep เพื่อหาไฟล์ที่ต้องการเป็นวิธีที่ง่ายในการหาซอฟแวร์. ถ้าคุณมี archie, มันจะช่วยได้เหมือน กัน ดู Appendix A สำหรับรายละเอียด.

ซอร์สโค้ดของลีนุกซ์ที่หาได้ง่ายอีกที่คือที่มีมากับแผ่นสแล็กแวร์ที่แจกจ่าย. ดิสก์แต่ละแผ่นจะประกอบ ด้วยไฟล์ .tgz ซึ่งเป็นไฟล์ tar ที่บีบอัดด้วย gzip. คุณสามารถรันคำสั่ง setup เพื่อใช้ในการโหลดและติดตั้ง ซอฟแวร์โดยอัตโนมัติจากแผ่นดิสก์หลายแผ่นต่อๆกัน.

ย้ำอีกครั้ง, ทำการอัพเกรดเมื่อจำเป็นเท่านั้น.

?

4.8 การจัดการระบบไฟล์

หน้าที่อีกอย่างของผู้ดูแลระบบคือการดูแลระบบไฟล์. งานส่วนมากต้องทำต่อเนื่องเป็นระยะใน การตรวจสอบระบบไฟล์ว่ามีความเสียหายหรือไม่; ระบบหลายตัวที่ตรวจสอบระบบไฟล์โดยอัตโนมัติตอนบูท.

?

4.8.1 Mounting filesystems

ขั้นแรก, ทำความเข้าใจเกี่ยวกับระบบไฟล์หรือ filesystems. ก่อนที่ระบบไฟล์จะใช้งานได้โดยระบบ, มันจะต้อง ถูก mounted บนไดเร็กตอรี่บางที่. ตัวอย่าง,ถ้าคุณมีระบบไฟล์บนฟล้อปปี้, คุณต้อง mount มันไปไว้ที่ ไดเร็กตอรี่หนึ่ง, สมมุติว่าเป็น /mnt, เพื่อให้สามารถเข้าใช้ไฟล์บนตัวมันได้(ดูหัวข้อ 4.6.2). หลังจาก mount ระบบไฟล์แล้ว, ไฟล์ทั้งหมดในระบบไฟล์จะปรากฏภายใต้ไดเร็กตอรี่นั้น. หลังจาก unmounting ระบบไฟล์, ไดเร็กตอรี่นั้นจะว่างเปล่า.

การทำงานนี้จะเหมือนกับที่ทำงานกับฮาร์ดดิสก์. ระบบจะ mount ระบบไฟล์ให้กับฮาร์ดดิสก์โดยอัตโนมัติตอน บูท. ระบบไฟล์ที่เรียกว่า "ระบบไฟล์รูท" จะ mount ที่ไดเร็กตอรี่ / . ถ้าคุณแยกระบบไฟล์สำหรับ /usr, มันจะ mount บน /usr. ถ้าคุณมีเพียงระบบไฟล์รูท, ทุกไฟล์(รวมทั้งไฟล์ที่อยู่ใน /usr) จะอยู่ในระบบไฟล์รูทนั้น.

คำสั่ง mount ใช้สำหรับ mount ระบบไฟล์. คำสั่ง

mount -av

จะเอ็กซีคิ้วท์จากไฟล์ /etc/rc (ซึ่งเป็นไฟล์เริ่มต้นทำงานของระบบที่ทำงานตอนบูท; ดูหัวข้อ 4.10.1). คำสั่ง mount -av จะแสดงข้อมูลบนระบบไฟล์และ จุดที่ mount จากไฟล์ /etc/fstab. ตัวอย่างของไฟล์ fstab คือ

# device directory type options

/dev/hda2 / ext2 defaults

/dev/hda3 /usr ext2 defaults

/dev/hda4 none swap sw

/proc /proc proc none

ช่องแรกเป็นชื่ออุปกรณ์--ชื่อของพาร์ติชั่นที่จะ mount. ช่องที่สองคือจุด mount point. ช่องที่สามคือชนิดของ ระบบไฟล์--เช่น ext2 (สำหรับ ext2fs) หรือ minix (สำหรับระบบไฟล์ Minix). ตาราง 4.1 แสดงรายการ ระบบไฟล์ต่างๆที่ใช้โดยลีนุกซ์ (ตารางนี้เป็นตารางที่ใช้กับลีนุกซ์เคอร์เนลเวอร์ชั่น 1.1.37). ระบบที่คุณใช้ อาจไม่ได้ใช้ระบบไฟล์ทั้งหมดของตารางนี้; เคอร์เนลของคุณ จะรองรับการใช้งานตอนที่ทำการคอมไพล์. ดูหัวข้อ 4.7 สำหรับข้อมูลการสร้างเคอร์เนล.


Filesystem Type name Comment


Second Extended Filesystem ext2 Most common Linux filessystem.

Extendded Filesystem ext Supersedded by ext2.

Minux Filesystem minix Orginal Minix filesystem; rarely used.

Xia Filesystem xia Like ext2, byt rarely used.

UMSDOS Filesystem umsdos Used to install Linux on an MS-DOS partition.

MS-DOS Filesystem msdos Used to access MS-DOS files.

/proc Filesystem proc Provides process information for ps,etc.

ISO 9660 Filesystem iso9660 Format used by most CD-ROMs.

Xenix Filesystem xenix Used to access files from Xenix.

System V Filesystem sysv Used to acces files from System V variants for the x86.

Coherent Filesystem coherent Used to access files from Coherent.

HPFS Filesystem hpfs Read-only access for HPFS paritions (DoubleSpace).

Table 4.1: Linux Filesystem Types

ช่องสุดท้ายของไฟล์ fstab ประกอบด้วย mount options--ปกติจะตั้งค่าเป็น "default".

ดังที่เห็น, พาร์ติชั่น swap จะรวมอยู่ใน /etc/fstab ด้วยเหมือนกัน. มันจะไม่มีไดเร็กตอรี่ให้ mount, และเป็น พาร์ติชั่นชนิด swap. คำสั่ง swapon -a, สั่งให้เอ็กซีคิ้วท์จาก /etc/rc ด้วยเหมือนกัน, มันจะใช้ enable การทำงานของ swap บนอุปกรณ์ swap ที่มีรายการอยู่ใน /etc/fstab.

ไฟล์ fstab ประกอบด้วยส่วนที่พิเศษ--คือระบบไฟล์ /proc. ดังที่ได้กล่าวถึงในหัวข้อ 3.11.1 ระบบไฟล์ /proc ใช้สำหรับเก็บข้อมูลเกี่ยวกับโพรเซสของระบบ, จำนวนหน่วยความจำที่มีให้, ตามลำดับ. ถ้า /proc ไม่ได้ถูก mounted, คำสั่งเช่น ps จะไม่ทำงาน.

  • คำสั่ง mount จะใช้งานได้เฉพาะผู้ดูแลระบบ. นี่เป็นการรักษาความปลอดภัยอย่างหนึ่งในระบบ; คุณคงไม่อยากให้ผู้ใช้ ทั่วไปสามารถ mounting และ unmounting ระบบไฟล์ของส่วนรวม. แต่ก็มีซอฟแวร์บางตัวที่อนุญาตให้ผู้ใช้สามารถ mount ระบบไฟล์ (ส่วนมากจะเป็นฟล้อปปี้) โดยไม่ผ่านการรักษาความปลอดภัยของระบบ.

คำสั่ง mount -av ปกติจะ mount ระบบไฟล์ทั้งหมดยกเว้นระบบไฟล์รูท (ในตารางด้านบนคือระบบไฟล์รูทคือ, /dev/hda2). ส่วน ระบบไฟล์รูทจะ mounted ตอนบูทระบบโดยเคอร์เนลจะเป็นตัว mount โดยอัตโนมัติ.

แทนที่จะใช้คำสั่ง mount -av, คุณสามารถ mount ระบบไฟล์ได้ทีละตัว. คำสั่ง

# mount -t ext2 /dev/hda3 /usr

ทำงานเท่ากับการ mount ระบบไฟล์ด้วยการใส่ /dev/hda3 ลงในไฟล์ fstab ดังตัวอย่างด้านบน.

โดยทั่วไป, คุณไม่ควร mount หรือ unmount ระบบด้วยการคีย์คำสั่งแต่ละตัว. ตอนที่บูทระบบ, คำสั่ง mount -av จะทำการ mount ระบบไฟล์โดยอัตโนมัติ. ระบบไฟล์จะถูก unmount โดยอัตโนมัติตอนทำคำสั่ง shutdown หรือ halt ก่อนที่จะปิดระบบ.

?

4.8.2 การตรวจสอบระบบไฟล์

มันเป็นความคิดที่ดีที่จะตรวจสอบความเสียหายของระบบไฟล์ของคุณบ่อยๆ. บางระบบจะตรวจสอบระบบไฟล์ อัตโนมัติตอนบูท (ด้วยคำสั่งที่เก็บใน /etc/rc).

คำสั่งที่ใช้ในการตรวจสอบระบบไฟล์ขึ้นอยู่กับชนิดของระบบไฟล์. สำหรับระบบไฟล์ ext2fs (ที่ใช้กันโดยทั่วไป), คำสั่งตรวจความเสียหายของไฟล์คือ e2fsck. ตัวอย่าง, คำสั่ง

# e2fsck -av /dev/hda2

จะตรวจสอบระบบไฟล์ /dev/hda2 และจะซ่อมไฟล์อัตโนมัติถ้ามันเกิดความเสียหาย.

มันเป็นเรื่องที่ควรทำก่อนที่จะตรวจสอบไฟล์, คือการ unmount ระบบไฟล์ก่อน. ตัวอย่าง, คำสั่ง

# umount /dev/hda2

จะทำการ unmount ระบบไฟล์ ext2fs บน /dev/hda2, หลังจากที่คุณตรวจสอบไฟล์เสร็จสิ้น. ระบบไฟล์รูทเป็น ระบบไฟล์ที่คุณไม่สามารถ unmount ได้. แต่ถ้าหากคุณอยากตรวจสอบระบบไฟล์รูทตอนที่มัน unmount ให้ใช้ บูทฟล้อปปี้(ดูหัวข้อ 4.11.1). คุณไม่สามารถ unmount ระบบไฟล์รูทได้ถ้ามีไฟล์ในระบบไฟล์ถูกใช้งานอยู่--คือ ถูกใช้โดยโพรเซสที่วิ่งอยู่. ตัวอย่าง, คุณไม่สามารถ unmount ระบบไฟล์ถ้ามีผู้ใช้ล็อกอินเข้าในไดเร็กตอรี่ใน ระบบไฟล์นั้น. คุณจะได้รับข้อความ "Device busy" ถ้าคุณพยายาม unmount ระบบไฟล์ที่มีการใช้งานอยู่.

ระบบไฟล์ชนิดอื่นมีการตรวจสอบด้วยคำสั่งที่แตกต่างออกไป. เช่น efsck และ xfsck. ในบางระบบสามารถใช้ คำสั่ง fsck คำสั่งเดียว, ซึ่งเป็นสคริปที่เปลี่ยนให้เป็นคำสั่งที่เหมาะกับระบบไฟล์แต่ละชนิดเองโดยอัตโนมัติ.

  • คุณควรสั่ง reboot ระบบทันทีหลังจากตรวจสอบระบบไฟล์แล้ว ถ้ามีการแก้ไขระบบไฟล์. (โดยทั่วไป, คุณไม่ควรตรวจ สอบระบบไฟล์ตอนที่มัน mount อยู่ในระบบ.) ตัวอย่าง, ถ้าคำสั่ง e2fsck รายงานว่ามันได้แก้ข้อผิดพลาดของ ระบบไฟล์, คุณควรใช้คำสั่ง shutdown -r ทันทีเพื่อให้ระบบทำงานใหม่. นี่จะทำให้ระบบทำการ re-sync ข้อมูลเกี่ยวกับ ระบบไฟล์ที่ e2fsck แก้ไข.

ระบบไฟล์ /proc ไม่จำเป็นต้องตรวจสอบ. /proc เป็นระบบไฟล์ใช้หน่วยความจำ, จัดการโดยตรงด้วยเคอร์เนล.

?

4.9 การใช้ swap file

แทนที่จะกันพื้นที่พาร์ติชั่นไว้ทำพื้นที่สว็อป, คุณสามารถใช้ไฟล์เพื่องานนี้. แต่การทำแบบนี้, คุณต้องติดตั้ง ลีนุกซ์ซอฟแวร์และทำทุกอย่างให้เรียบร้อยก่อนที่จะสร้างสว็อปไฟล์.

ถ้าคุณติดตั้งระบบลีนุกซ์แล้ว, คุณสามารถใช้คำสั่งด้านล่างนี้เพื่อสร้างสว็อปไฟล์. คำสั่งต่อไปนี้เป็นคำสั่ง สร้างสว็อปไฟล์ขนาด 8208 บล็อก(ประมาณ 8 เมกกาไบท์).

# dd if=/dev/zero of=/swap bs=1024 count=8208

คำสั่งต่อไปนี้สร้างสว็อปไฟล์ขึ้นเอง. โดยเปลี่ยน "count=" ด้วยจำนวนขนาดไฟล์ค่าเป็นจำนวนบล็อก.

# mkswap /swap 8208

ซึ่งคำสั่งจะเริ่มต้นสว็อปไฟล์ใหม่; โดยระบุจำนวนบล็อกด้วยค่าที่เหมาะสม.

# /etc/sync

#swapon /swap

ตอนนี้เราใช้พื้นที่สว็อปบนไฟล์ /swap ซึ่งเราได้สร้างขึ้น, หลังจาก syncing, ซึ่งจะแน่ใจได้ว่าไฟล์นั้นได้เขียน ลงในดิสก์.

ข้อด้อยเมื่อใช้สว็อปไฟล์วิธีนี้คือการเข้าถึงสว็อปไฟล์ต้องทำผ่านระบบไฟล์. หมายความว่าบล็อกที่สร้างเป็น สว็อปไฟล์อาจเป็นบล็อกที่ไม่ต่อเนื่องกัีน. ดังนั้นประสิทธิภาพอาจเทียบไม่ได้กับการใช้ สว็อปพาร์ติชั่น, ซึ่ง บล็อกจะเรียงกันไปตลอดและ I/O request จะติดต่อโดยตรงกับอุปกรณ์.

อีกอย่างที่เป็นข้อด้วยคือการใช้สว็อปไฟล์จะทำให้ระบบไฟล์รวนได้--เมื่อใช้สว็อปไฟล์ขนาดใหญ่, มีโอกาสที่ ระบบไฟล์อาจเสียหาย, คุณควรแยกระบบไฟล์และสว็อปพาร์ติชั่นเพื่อป้องกัีนปัญหานี้.

การใช้สว็อปไฟล์มีประโยชน์ถ้าคุณต้องการพื้นที่สว็อปมากกว่าเดิมในช่วงสั่นๆ. ยกตัวอย่าง, ถ้าคุณคอมไพล์ โปรแกรมที่มีขนาดใหญ่และอยากให้ระบบทำงานเร็ว, คุณสามารถสร้างสว็อปไฟล์และใช้มันเสริมจากพื้นที่ สว็อปปกติที่มีอยู่.

เพื่อแก้ปัญหาของสว็อปไฟล์, ขั้นแรกใช้คำสั่ง swapoff. ดังนี้

# swapoff /swap

แล้วจึงทำการลบไฟล์

# rm /swap

จำไว้ว่าสว็อปไฟลแต่ละไฟล์(หรือแต่ละพาร์ติชั่น)อาจมีขนาดมากถึง 16 เมกกาไบท์, แต่คุณอาจใช้ได้ถึง 8 ไฟล์หรือ 8 พาร์ติชั่นในระบบของคุณ.

?

4.10 งานอื่นๆ

นอกจากหัวข้อใหญ่ที่ผ่านมา, ยังมีงานเล็กๆน้อยๆสำหรับผู้ดูแลระบบที่ไม่ได้แยกหัวข้อให้เป็นหัวข้อใหญ่.

?

4.10.1 ไฟล์เริ่มต้นทำงานของระบบ

เมื่อระบบรีบูท, จะมีสคริปจำนวนหนึ่งถูกเอ็กซีคิ้วท์อัตโนมัติโดยระบบก่อนที่ผู้ใช้จะล็อกอิน. ดังรายละเอียดที่จะ อธิบายต่อไปนี้.

ตอนบูท, เคอร์เนลจะแตกโพรเซส /etc/init. ซึ่งเป็นโปรแกรมที่อ่านไฟล์โครงสร้างของมัน, /etc/inittab และแตกโพรเซสออกตามข้อมูลที่อยู่ในไฟล์นั้น. หนึ่งในโพรเซสที่สำคัญในไฟล์ inittab คือโพรเซส /etc/getty ซึ่งจะเริ่มโพรเซสของ virtual console. โพรเซส getty จะเตรียม VC ให้พร้อมใช้งาน, และเริ่มโพรเซสล็อกอิน บน VC . นี่จะทำให้คุณล็อกอินเข้าสู่ระบบได้โดยผ่านแต่ละ VC; ถ้า /etc/inittab ไม่มีโพรเซส getty สำหรับ VC ที่ตั้งไว้, คุณจะไม่สามารถล็อกอินเข้า VC นั้น.

โพรเซสอื่นที่จะเอ็กซีคิ้วท์จาก /etc/inittab คือ /etc/rc, ซึ่งเป็นไฟล์เริ่มต้นการทำงานหลักของระบบ. ไฟล์เหล่า นี้เป็นเชลล์สคริปง่ายๆที่จะทำงานคำสั่งเริ่มต้นที่จำเป็นตอนบูท, เช่นคำสั่ง mounting ระบบไฟล์(ดูหัวข้อ 4.8) และตั้งค่าเริ่มต้นพื้นที่สว็อป เป็นต้น.

ระบบจะทำสคริปเริ่มต้นการทำงานอื่นด้วยเหมือนกัน, เช่น /etc/rc.local, ไฟล์นี้จะเป็นไฟล์ที่มีคำสั่ง เริ่มต้นระบบที่เป็นค่าเฉพาะของระบบคุณ, เช่นการตั้งชื่อโฮสท์(ดูหัวข้อต่อไป). ไฟล์ rc.local อาจถูกเรียกใช้ จาก /etc/rc หรือจาก /etc/inittab โดยตรง.

?

4.10.2 การตั้งชื่อโฮสท์

ในระบบเครือข่าย, ชื่อโฮสท์จะเป็นชื่อที่ไม่ซ้ำกันใช้เพื่อแยกแยะเครื่องในระบบ, ในขณะที่เครื่องที่ใช้งานเดี่ยว เป็นเพียงชื่อที่ตั้งตามใจให้ดูดี. คล้ายชื่อของสัตว์เลี้ยง: คุณอาจเรียกหมาของคุณว่า "หมา", แต่มันจะดูน่า สนใจถ้าจะเรียกมันว่า "ไอ้ตูบ" หรือ "วูฟี่" เป็นต้น.

การตั้งชื่อโฮสท์ให้ระบบทำได้ง่ายๆด้วยคำสั่ง hostname. ถ้าคุณอยู่ในเครือข่าย, ชื่อโฮสท์ของคุณควรเป็น ชื่อเต็มของเครื่อง, เช่น goober.norelco.com. ถ้าคุณไม่ได้ต่อกับเครือข่าย, คุณสามารถตั้งชื่อเทียมและชื่อ โดเมนปลอม, เช่น loomer.vpizza.com, shoop.nowhere.edu, หรือ floof.org.

เมื่อตั้งชื่อโฮสท์ด้วยคำสั่ง hostname แล้ว, ชื่อโฮสท์ควรจะปรากฏในไฟล์ /etc/hosts, ซึ่งเป็นไฟล์ที่ระบุค่า หมายเลขไอพีให้แต่ละโฮสท์. แม้ว่าเครื่องของคุณไม่ได้ต่อกับเครือข่าย, คุณควรใส่ชื่อโฮสท์ของคุณไว้ใน ไฟล์ /etc/hosts.

ยกตัวอย่าง, ถ้าคุณไม่ได้ต่อกับเครือข่าย, และชื่อโฮสท์ของคุณคือ floof.org, ให้ใส่บรรทัดต่อไปนี้ไว้ในไฟล์ /etc/hosts:

127.0.0.1 floof.org localhost

นี่จะระบุชื่อโฮสท์ floof.org, ให้แก่ loopback address 127.0.0.1(ใช้ถ้าคุณไม่ได้ต่อกับเครือข่าย). ชื่อที่อ้างถึงเครื่องนี้( localhost )ถูกตั้งให้ใช้ไอพี 127.0.0.1 ด้วยเหมือนกัน.

แต่ถ้าคุณต่ออยู่กับเครือข่าย, หมายเลขไอพีจริงและชื่อโฮสท์ควรจะปรากฏในไฟล์ /etc/hosts. ตัวอย่าง, ถ้าชื่อโฮสท์ของคุณคือ goober.norelco.com, และหมายเลขไอพีคือ 128.253.154.32, ให้ใส่บรรทัดต่อไปนี้ ใน /etc/hosts:

128.256.154.32 goober.norelco.com

ถ้าชื่อโฮสท์ของคุณไม่มีใน /etc/hosts, คุณจะไม่สามารถตั้งชื่อมันได้.

การตั้งชื่อโฮสท์, ใช้คำสั่ง hostname. ตัวอย่าง, คำสั่ง

# hostname -S goober.norelco.com

จะตั้งชื่อโฮสท์เป็น goober.norelco.com. โดยทั่วไป, คำสั่ง hostname จะถูกเอ็กซีคิ้วท์จากไฟล์เริ่มต้นระบบ ไฟล์ใดไฟล์หนึ่ง, เช่น /etc/rc หรือ /etc/rc.local. แก้ไขไฟล์ทั้งสองนี้และเปลี่ยนคำสั่ง hostname เพื่อตั้งชื่อ โฮสท์ของระบบคุณ; ตามด้วยการรีบูทระบบ ชื่อโฮสท์ใหม่จะถูกตั้งให้ระบบคุณ.

?

4.11 รับมือสถานะการ์ณฉุกเฉิน

ในบางสภาวะ, ผู้ดูแลระบบจะเผชิญหน้ากับปัญหาของการกู้ระบบจากความเสียหาย, เช่น การลืมรหัสผ่านรูท, หรือระบบไฟล์เสียหาย. คำแนะนำที่ดีที่สุดคือ, อย่าตื่นตกใจเกินเหตุ, ทุกๆคนมีสิทธิ์ทำเรื่องผิดพลาดกันได้-- นั่นเป็นเรื่องที่ดีที่สุดที่จะได้เรียนรู้เกี่ยวกับการเป็นผู้ดูแลระบบ: ในแบบเถื่อนๆ.

ลีนุกซ์ไม่ใช่ระบบยูนิกซ์ที่เสถียรเท่าไร. ผู้เขียนเคยเจอปัญหาระบบลีนุกซ์ค้างบ้างเมื่อเทียบกับระบบยูนิกซ์ ์เชิงพาณิชย์หลายๆตัว. ลีนุกซ์มีข้อดีจากการที่มีผู้ใช้งานกันอย่างกว้างขวางที่สามารถแนะนำคุณได้.

ขั้นแรกให้คุณค้นหาปัญหาและพยายามแก้ไขด้วยตัวคุณเอง. ลองดู, ว่าระบบทำงานอย่างไร. ถ้าลองจนหมดหนทาง, ค่อยโพสขอความช่วยเหลือ. ส่วนมาก, คุณจะหาข้อบกพร่องและแก้ไขมันได้ดัวยตัว คุณเอง.

น้อยครั้ง, ที่จะต้องติดตั้งระบบใหม่หมด. ผู้ใช้หลายคนพอเผลอลบไฟล์ระบบบางไฟล์ที่จำเป็น, ก็รีบไปควานหา แผ่นติดตั้ง. ซึ่งไม่ใช่ความคิดที่ถูกต้อง. ก่อนที่จะลงมือติดตั้งใหม่, ลองทบทวนปัญหาและถามผู้รู้. ส่วนมาก, คุณสามารถกู้ระบบได้โดยใช้แผ่นดิสก์สำหรับบำรุงรักษาระบบ

?

4.11 การกู้ระบบโดยใช้ maintenance diskette

เครื่องมือคู่กายของผู้ดูแลระบบที่ต้องมีคือ "boot/root disk"--ฟล้อปปี้ที่สามารถบูทเข้าระบบได้อย่างสมบูรณ์, ไม่ขึ้นกับฮาร์ดดิสก์. แผ่นบูท/รูทนี้สร้างได้ไม่ยาก--คุณสามารถสร้างระบบรูทไฟล์บนแผ่นดิสก์, เก็บไฟล์ที่ จำเป็นต่อการใช้งานไว้บนฟล้อปปี้, และติดตั้ง LILO และเคอร์เนลที่บูทได้บนฟล้อปปี้. อีกวิธีหนึ่งคือการใช้ แผ่นฟล้อปปี้แผ่นหนึ่งเป็นเคอร์เนลและอีกแผ่นสำหรับรูท. ทั้งสองวิธีให้ผลลัพท์เดียวกัน: คือคุณรันลีนุกซ์ได้ โดยใช้แค่แผ่นฟล้อปปี้.

ตัวอย่างของแผ่นรูท/บูทดิสก์คือแผ่น Slackware boot disk(ดูหัวข้อ 2.1.1 สำหรับข้อมูลการดาวน์โหลด จากอินเตอร์เนท. ไม่จำเป็นต้องดาวน์โหลดทั้งหมด--เอาแค่บูทและรูทดิสก์ก็พอ). แผ่นดิสก์เหล่านี้ประกอบ ด้วยเคอร์เนลที่บูทได้และระบบไฟล์รูท, ทั้งหมดอยู่บนแผ่นฟล้อปปี้. มันถูกใช้เพื่อการติดตั้งลีนุกซ์ Slackware, แต่มีประโยชน์มากเวลาใช้ในการแก้ปัญหาระบบ.

แผ่นดิสก์บูท/รูท ของ H.J Lu, ซึ่งหาดาวน์โหลดได้ที่ /pub/Linux/GCC/rootdisk เวบ sunsite.unc.edu เป็นอีก ตัวของแผ่นดิสก์บำรุงรักษาระบ. หรือถ้าคุณจะลอง, คุณสามารถสร้างขึ้นมา. โดยมากแล้ว, การใช้แผ่นที่มีคน ทำมาแล้วจะง่ายและสมบูรณ์แบบกว่าทำเอง.

การใช้แผ่นบูท/รูททำได้ง่ายมาก. แค่บูทดิสก์บนระบบของคุณ, และล็อกอินด้วย root (ปกติจะไม่มีรหัสผ่าน). ในการเข้าใช้งานไฟล์บนฮาร์ดดิสก์, คุณต้องทำการ mount ระบบไฟล์ด้วยคำสั่ง. ตัวอย่าง, คำสั่ง

# mount -t ext2 /dev/hda2 /mnt

จะ mount ระบบไฟล์ ext2fs บน /dev/hda2 ภายใต้ /mnt. จำไว้ว่าไดเร็กตอรี่รูทหรือ / ตอนนี้เป็นไดเร็กตอรี่บน แผ่นบูท/รูทเอง; คุณต้องทำการ mount ระบบไฟล์ของฮาร์ดดิสก์ภายใต้ไดเร็กตอรี่บางตัวเพื่อที่จะเข้าใช้งาน ไฟล์ได้. ดังนั้ง /etc/passwd ของฮาร์ดดิสก์ของคุณจะอยู่ที่ /mnt/etc/passwd ถ้าคุณ mount ระบบไฟล์รูทของ ฮาร์ดดิสก์ไว้ที่ /mnt.

?

4.12.2 แก้ปัญหารหัสผ่านรูท

ถ้าคุณลืมรหัสผ่านรูท, ไม่มีปัญหา. แค่ใช้แผ่นบูท/รูทบูทระบบขึ้นมา, mount ระบบรูทไฟล์ไว้ที่ /mnt, และลบ ข้อมูลช่องรหัสผ่านสำหรับ root ในไฟล์ /mnt/etc/passwd, ดังตัวอย่าง

root::0:0:root:/:/bin/sh

ตอนนี้ root ไม่มีรหัสผ่าน: เมื่อคุณรีบูทระบบจากฮาร์ดดิสก์ คุณควรล็อกอินได้ด้วยรูทและตั้งรหัสผ่านใหม่ด้วย คำสั่ง passwd.

บางทีึึคุณอาจไม่ปลื้มที่ต้องเรียนรู้การใช้ vi ? บนแผ่นบูท/รูทดิสก์. อีดิเตอร์อื่นเช่น Emacs อาจไม่มีให้บนแผ่น ดิสก์, แต่ vi ควรจะมี.

?

4.11.3 การแก้ปัญหาระบบไฟล์เสียหาย

บางครั้งคุณอาจทำระบบไฟล์เสียหาย, คุณสามารถใช้คำสั่ง e2fsck (ถ้าคุณใช้ระบบไฟล์ชนิด ext2) เพื่อแก้ ความเสียหายของข้อมูลบนระบบไฟล์โดยรันจากฟล้อปปี้. ระบบไฟล์อื่นที่ไม่ใช้ ext2 สามารถใช้คำสั่ง fsck; ดูหัวข้อ 4.8 ในรายละเอียด.

เมื่อตรวจสอบระบบไฟล์จากฟล้อปปี้, ไม่ควรจะ mount ระบบไฟล์.

ส่วนมากสาเหตุของระบบไฟล์เสียหายจะมาจาก superblock เสีย. ตัวซูปเปอร์บล็อกนี้คือ "ส่วนหัว" ของระบบ ไฟล์ที่ประกอบด้วยข้อมูลของสถานะระบบไฟล์, ขนาด, บล็อกที่ว่าง, เป็นต้น. ถ้าคุณทำข้อมูลซุปเปอร์บล็อก เสียหาย (ตัวอย่าง, บังเอิญไปเขียนข้อมูลโดยตรงที่พาร์ติชั่นของระบบไฟล์), ระบบอาจไม่รู้จักระบบไฟล์ อีกเลย. การพยายาม mount ระบบไฟล์จะทำไม่ได้, และคำสั่ง e2fsck จะไม่สามาถแก้ปัญหาได้.

โชคยังดี, ระบบไฟล์ ext2fs มีการเก็บชุดก้อปปี้ของ superblock ไว้ที่พื้นที่ "block group" บนไดรว์--ปกติ, ทุกๆ 8K บล็อก. เพื่อบอกให้ e2fsck ใช้ชุดก้อปปี้ของซุปเปอร์บล็อกแทน, คุณสามารถใช้คำสั่งเช่น

# e2fsck -b 8193 {partition}

เมื่อ {partition} เป็นพาร์ติชั่นที่ระบบไฟล์อาศัยอยู่. ส่วน -b 8193 บอกให้ e2fsck ใช้ชุดก้อปปี้ของซุปเปอร์ บล็อกที่เก็บที่บล็อก 8193 ในระบบไฟล์.

?

4.11.4 การกู้ไฟล์ที่หาย

ถ้าบังเอิญคุณลบไฟล์สำคัญบนระบบคุณ, มันไม่มีทางที่จะ undelete มันได้. แต่คุณสามารถก้อปปี้ใหม่จาก แผ่นฟล้อปปี้ไปฮาร์ดดิสก์. ตัวอย่าง, ถ้าคุณเผลอลบ /bin/login ในระบบไฟล์ของคุณ(ซึ่งไฟล์นี้เป็นไฟล์สำหรับ การล็อกอินเข้าระบบ), วิธีแก้โดยใช้แผ่นบูท/รูททำการบูทขึ้นมาจากฟล้อปปี้, ทำการ mount ระบบไฟล์ของฮาร์ดดิสก์ไว้ที่ /mnt, และใช้คำสั่ง

# cp -a /bin/login /mnt/bin/login

ตัวเลือก -a บอกให้ cp ให้รักษาค่าอนุญาตใช้ไฟล์บนไฟล์ที่กำลังก้อปปี้.

บางที, ไฟล์ที่คุณลบอาจเป็นไฟล์ที่ไม่สำคัญต่อระบบมากจึงอาจไม่ได้เก็บไว้ในแผ่นรูท/บูท, ซวยไป. ถ้าคุณทำการสำรองข้อมูลไว้, คุณสามารถกู้จากไฟล์ที่สำรองข้อมูลนั้น.

?

4.11.5 การแก้ปัญหาไลบรารี่เสียหาย

ถ้าคุณเผลอทำไฟล์ไลบรารี่หรือ symbolic link ใน /lib เสียหาย, คำสั่งทั้งหลายที่ขึ้นอยู่กับไลบรารี่เหล่านั้น จะใช้รันไม่ได้(ดูหัวข้อ 4.7.2). วิธีแก้ปัญหาง่ายสุดคือการบูทแผ่นบูท/รูทฟล้อปปี้, mount ระบบรูทไฟล์, และแก้ ไลบรารี่ใน /mnt/lib.

?

?

?

?

?

?

Puma shoes are suitable for casual, walking or doing any sports, you can choose Puma Ducati Shoes and Puma Pace Cat Shoes from Puma Outlt which more cheap then other saler. For example, PUMA Future Cat Shoes and Puma Fluxion II Shoes prices are 50% off. Puma Clearacne provide newest and richer style, especial color but easy match jeans and sports clothing. Come on, take a pair perfect shoes.

Cheap Monster Beats is not only an earphone series but also a life-style brand because of its a foot-hold in different areas, Kobe is Monster Beats Studio fans, and there is Monster Lady Gaga. This two series has perfect appearance, all New Monster Beats 2012 are high definition, over-ear and in-ear, select a series to enjoy music, enjot life, or Monster Beats Pro, or Monster Beats Tour. I am promise that you will never regret to buy new and high quality Monster Beats in here.

Jordan online store for mens and womens Jordan Wholesale. Get the latest Air Jordan Shoes 3 and Air Jordan Shoes 11 from manufacturer directly. And you can get from us with cheap price directly. Specials products like Air Jordan Son of Mars and Air Jordan Yeezy are accepted by lots of young people. Fashion is never backward pursuit. New Jordan Shoes 2012 bring a lightweight, durable and supportive option for you to hit the court in.

Wholesale Nike Air Jordan Shoes 7 on sale. Nowadays, Jordan have become a popular trend for young people. Our online shop Wholesale Jordan, offers best quality and best service for you. Especially Nike Air Jordan Shoes 13 and Nike Air Jordan Shoes 1, more design, more popular in 2012. If you are a fashion lady, Nike Air Jordan Shoes 3 for sale will be a great choice for you. All Jordans on sale in reasonable price. Do not hesitate!

Cheap Puma Shoes is the global athletic brand that successfully fuses influences from sport, lifestyle, and fashion. The Special design of Puma Lazy Insect Shoes, PUMA Trionfo Shoes and Puma Jiyu V Shoes attracted a lot of attention. Buy cheap Puma Ferrari 2012 on sale become popular symbol, we do guarantee you reasonable price but high quality. Your satisfaction, Our eternal pursuit! Cheap PUMA Future Cat Shoes for sale.

We offer New air jordan 2012, and there are thousands of Cheap Air Jordan on sale on our website on discount sale. The most classic is Air Jordan Shoes 7, New Air Jordan Shoes 13 2012 for sale and Air Jordan Shoes 4. Welcome to make order, please contact us if you have a problem. Fast shipping to your door. Cheap Air Jordan Shoes 26 for sale.

Personally,wearing an Authentic NFL Jerseys increases the fun of 
supporting your preferred team when you are watching with friends 
in a sports bar, or simply put on it at your home.They may be very 
expensive, even if it makes this hard to warrant the purchase, even 
though you can afford this.Packers Jerseys has some changes , but 
factions within the adjustment doesn't interfere into other jerseys .It 
doesn't matter which your preferred team , you naturally wish to share
 your group pride .Now you possess a new choice because you'll find 
NFL Jerseys Cheap for purchase online.You can on online choice which 
you favourite jerseys.When you like running out or walking with you 
dag, you can wear them to be able to proudly wherever you go.
Because you find the low price and high quality Throwback NFL Jerseys,
They can make you pride.

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}

A pair of diesel viker 008w7 jeans should have everything from the perfect cuts, to the perfect wash and great style. Are we asking for too much? Not really, with the big brand labels like diesel larkee 008ne jeans and diesel safado 008u9 jeans have made this possible. If you wish for a low waist, skinny and ultra sensual pair of denims, diesel larkee 8b9 straight leg jeans are enough for that perfect look. These diesel thavar slim fit jeans did not get popular in a day; a lot of patience, diligence and time were responsible for these wonderful creations, which are part of its rich history. Cheap diesel jeans and discount diesel jeans are both one of the most sought after brands. diesel straight jeans and 2011 diesel jeans ranges have spoilt customers with choices. It has given them the freedom to try out new looks or finally find the right look. Say, if a girl was too thin and no jeans would fit her properly, she could try the True Religion women’s jeans with skinny fit that is specially made for such body type. The ultra cool Diesel jeans are simply classy. Wearing Diesel jeans will make you feel no less than any model.

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4

st1\:*{behavior:url(#ieooui) }

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}

Mulberry alexa leather bag which comes from England London,is more and more popular now . mulberry alexa leather bag is a classic model in mulberry bags shop. Mulberry bags have been loved by so many beautiful girls, according to its own beautiful style. In London,cheap mulberry bags are choosed first when yong ladies need a handbag. They have a words,buying mulberry bayswater bags ,which is your best choice. Mulberry bayswater bags are represented by alexa chung and kate cross who are the super stars in UK. After their represent ,mulberry bayswaterbags stands for a IT girls handbag,from that time, almost every IT girls use mulberry handbag. Mulberry sale is hot selling from now on. Cheap mulberry bags begins from that time. Every year ,in uk London, the quantity of mulberry sale is the biggest ,much more than Gucci bags. And the most hot selling one is Mulberry Alexa bag. Mulberry alexa bag is represented by Alexa chung. Now you can buy mulberry alexa bag,mulberry handbag in our mulberry bags shop. They are doing promotion, big discount now. Choose discount mulberry bags ,comeing to mulberry shop .

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4

st1\:*{behavior:url(#ieooui) }

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}

G-star jeans sale have been in the top position for many years comparing with other brand jeans. If you know your top fashion names that you know cheap g-star jeans.one of the slickest and most cutting edge names out there. If you dig a little deeper you’ll find out that far from just being fashion floozies, Cheap g-star raw jeans are a brand that takes its social responsibilities seriously.
As a brand, g-star raw jeans arc loose tapered has only been around for a little over 20 years but already it’s one of the big players with must-see shows at London and New York fashion week.In g-star jeans Uk Their catwalk presence is legendary, always providing a fresh new look for each season and the fashionistas of many a fashion magazine have fallen for their modern lines and vibrant imaginative tailoring, especially when it comes to jeans and denim. But as it became more successful G-Star’s big wigs paused for thought and formed a foundation aiming to make sure that every part of their business took a long hard look at how it was operating.
Cheap G-Star jeans for men and the GSRD Foundation
This is something they took very seriously, looking at the supply chain that supplies their cool looks to the High Street, making sure it was working at minimal impact to the environment and making sure their products were ethically manufactured, just like the fair trade coffee you might be swigging while you read this. With this in mind, it brought into being the GSRD Foundation which funds projects to reduce poverty, educate children and support entrepreneurs in developing countries. The foundation even linked up with the United Nations to expand their Millennium Campaign.Black g-star jeans are pitching in to reduce poverty in line with the UN’s Millennium Campaign goals, not just changing the way it runs its own business but in helping to publicise the project and get us all involved. So why not pitch in yourself, and with mens g-star raw jeans you can make your own contribution to bringing a little more hope to those that need it.
Looking for g-star raw jeans for men ? Speak to Foot Asylum
G-star straight leg jeans is one of the UK's leading suppliers of top class fashion labels ranging from Superdry to Lacoste. Foot Asylum also prides themselves on their excellent service and providing an enjoyable shopping experience. To find out more about the labels on offer from g-star brooklyn jeans, just call 0845 009 2632.

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4

st1\:*{behavior:url(#ieooui) }

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}

There is no doubt it, everyboady who loves music knows shure microphones.Shure company provide a lot of models of shure microphones.Shure sm58 microphone is one model.Shure microphones stand in the top sale for microphones most of the reason is shure wireless microphone.I have this corded version and have also used the cheap shure sm58 cordless and countless other mics for vocals. I sing in the higher ranged octaves and I prefer this mic over any others because of its excellent response and sensitivity throughout its range, shure beta 58a microphone also has no problems picking up lower frequencies. Shure SLX24/SM58 Wireless Microphone also has an extremely narrow arc of sound pickup. Which for a microphone is a very good quality because you wont get feedback very often regardless of the ambient noise around you. I was testing a few things at home on my equiment and was recording some vocal tracks while singing along to some background music. The recording picked up so little of the background music that once you combine it with the other tracks, its next to impossible to tell it was even recorded with anything else even on! Shure pgx24/SM58 wireless by far is the best one to use if you sing in any falsetto voice, its very sensitive and reproduces vocals of this type better than anything i've ever picked up. I know it also does well in some of the lower ranged octaves from hearing other people sing on it, but I think if that is your primary range you can go with the cheaper Beta 58 instead of the 58a. They are similar but the 58a seems to be a little more friendly to upper ranged vocals than the 58. Once you've used this mic, you will notice the difference in every other mic you ever use after. This one is just plain superior.Welcome to buy shure SM58 microphone here.

Freeduino board

ชุดลงปริ้นท์ freeduinomax232ssAtmega168 ราคา 450 บาท

แผ่นปริ้นท์ freeduinomax232ss เกรด A ราคา 70 บาท

ชุดคิท freeduinomax232ssAtmega168 ราคา 320 บาท

สาย RS232 ราคา 70 บาท DC อะแดปเตอร์ 9 volt ราคา 120 บาท

ค่าส่ง EMS 60 บาท

การใช้งานชุด freeduinomax232ss จะต้องประกอบด้วย ตัวบอร์ด, สาย RS232, อะแดปเตอร์ 9 โวลท์ชนิดที่มีขั้วบวกอยู่ตรงกลาง

ผู้สนใจสั่งซื้อสินค้าส่งเมล์มาที่ sales(at)ลอจิกไทยดอทเนท

สมาชิก ส่งรายการสั่งซื้อและที่อยู่โดยเข้าเมนู contact

รายละเอียดเบื้องต้น

- 7 segment LED 2.3 inch 4 digit พร้อมเครื่องหมาย +

- วงจรขับแบบ multiplex

- เป็น LED แบบ สองสี คือ เขียว และ แดง ในตัวเดียวกัน

- connector แบบ 34 pin

- ราคา 750 บาท

รายละเอียดเบื้องต้น

- ออกแบบโดยใช้วงจร Freeduinomax232ss มีความสามารถเทียบเท่า Freeduinomax232ss

- เพิ่มเติมวงจร PCF8583 real time clock พร้อมแบตเตอรี่แบคอัพ

- เพิ่มเติมวงจร 74HC595 shift register เพื่อขยายพอร์ท output

- เพิ่มเติมวงจร input switch 1 ตัว

- เพิ่มเติมวงจรเชื่อมต่อ connector 34 pin สำหรับใช้งานกับ 4 digit 7 Segment display Module

- จุดประสงค์เพื่อใช้ฝึกการเขียนโปรแกรม Freeduino ทำนาฬิกาสำหรับใช้งานจริง

ชุดสำเร็จราคา 750 บาท

ผู้สนใจดาวน์โหลดไปศึกษาได้ ที่นี่

แผ่นปริ้นท์ freeduino diecimila compatible ราคา 100 บาท